JW

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 101 total)
  • Author
    Posts
  • JW
    Participant

    As temporary measure, is there any recommended way to monitor and auto restart the service on crash?

    For systemd daemon file, it’s easy to add

    [Service]
    Restart=always
    RestartSec=30

    But the Scada 5.8.4 is using init.d, and the daemon file is a complicated script. Is there any similar to do it?

    in reply to: Using URL on inteface table #11736
    JW
    Participant

    sorry the /// in this post was a typo. couldn’t edit it now.
    but in the actual project, the setting was correct.

    In most case the current version works fine.

    But I am looking for solutions for the 2 cases I mentioned.

    in reply to: Rapid SCADA 6 Beta #10953
    JW
    Participant

    the picture link above seems not working.
    it’s figure 5 in this link
    https://instrumentationtools.com/basics-of-alarms-and-trips/

    in reply to: Rapid SCADA 6 Beta #10952
    JW
    Participant

    Test on channel deadband
    Limits are 10,20,30,40 and deadband is 2
    Init value as 25.5, increase value by +1 until 50.5; then decrese value by -1 until 0.5; then increase value by +1 until 25.5.

    Event detected as follow:

    High, 30.5 °C
    Extremely high, 40.5 °C
    High, 39.5 °C
    Normal, 27.5 °C
    Low, 19.5 °C
    Extremely low, 9.5 °C
    Low, 10.5 °C
    Normal, 22.5 °C

    the deadband seems only work on the bounds of normal/high and low/normal, but not high/extremely high nor low/extremely low.

    then testing value flicking round 30, only 1 event of high as expected. but when testing value value flicking round 40, many high/extremely high events.

    for multiple status, I think it would be better if the deadband works for all bounds, as the following picture.

    https://instrumentationtools.com/wp-content/uploads/2015/08/Multiple-Alarm-Trips-768×728.jpg?ezimgfmt=ng:webp/ngcb2

    in reply to: How to show current date and time on scheme or dashboard #10879
    JW
    Participant

    check the use formula box.
    set channel type to calculated real.
    set formate to date and time

    in reply to: Event Attributes #10878
    JW
    Participant

    the alarms limit settings is only best for value alarms by threholds.

    for multiples states, e.g.
    00 is fine and safe. value =0
    01 is alarm and not safe. value =1
    10 is another alarm (break) and not safe to use. value = 2
    11 is critical alarm (leak and break). Value = 3

    create a “unit” in the “Units” table, e.g.
    name: mystates; sign: Safe;Not Safe;Break;Leak and Break

    for the input channel of state, set foramt to Enum text, check write event and event on change. leave the alarm settings empty.

    in reply to: Input channel (small bug) #10877
    JW
    Participant

    Hi, I think it’s a feature related to modbus protocol.
    Each element group equals 1 modbus request command, which can only get upto 100 consecutive address.

    to add 30001, 30004, 30006, it can be done by adding 1 element group of read holding register (0x03) with starting elelment address 1 and elelment count of 6.
    when creating input channels, singals 1,4,6 can be used while singals 2,3,5 can be ignored.
    this is the fastest way because there will be only 1 modbus request.

    another way is to add 3 element gourps of read holding register (0x03) with starting address 1,4,6 respectively.
    this way is slower beacause there will be 3 requests.
    you will slao need to config the dalay between each requst in communication line settings.

    in reply to: Web API, REST API, version 6 #10326
    JW
    Participant

    This will be very helpful API!

    Would you also consider an API that allow posting device data to scada?

    in reply to: Entering number from browser #10257
    JW
    Participant

    You will need to create an extra output channel to do that.
    https://rapidscada.net/doc/content/latest/en/software-configuration/using-formulas.html

    Create an output channel, maybe also use same channel number 112 as follow
    Command Type: Standard
    Formula Used: True
    Fomula: SetVal(112,Cmd)

    Button settings
    Action: Send command
    Input Channel: empty
    Output Channel: 112

    in reply to: Rapid SCADA 6 Beta #10248
    JW
    Participant

    Any plan for PlgNotification?

    in reply to: Rapid SCADA 6 Beta #10044
    JW
    Participant

    Installation and Basic Test:
    1. Installation on both Windows 10 and Ubuntu 20.04 Tested OK.
    2. A bug of WebApp not refreshing after switching between views on Firefox seems no longer there.

    A few suggestion For ScadaAdmin App:
    1. Make the search and replace function applicable for the enable (checkbox) fields.
    2. Is it possible to copy an array / list from excel and paste it to the ScadAdmin table? at least for the number and text field, such as channel name, formula.
    3. The linux pack no longer has ScadaAdmin. In v5 I can use mono to run ScadaAdmin GUI to modify settings and upload projects. Is there any features that allow user to at least upload a project from Linux desktop or command line?

    some know bug /limitation on v5 I am going to test.
    1. On V5 if the formula used channel exceed ~1.5k, the server will crash.
    2. On V5 if the reading of 1 device exceed ~4k, communicator will not be able send to to server.

    in reply to: Basic Scada Functions #9802
    JW
    Participant

    I’m not sure if I understand you correctly. Do you mean create a template for 1 machine (with pictures, texts, buttons), then apply the template to multiple machine?

    Now there is no such function. I use a workaround for similar requirements.

    The scheme .sch file is actually XML file. I create 1 set of the machine manually, then write a script to edit the .sch file, copy and multiple the manually created one, and change x-y coordinates, input channels and etc…

    in reply to: Modbus Comm Bug #9720
    JW
    Participant

    What does the following log mean? No reply within “Timeout” period or “Delay” period? Or socket throws an exception or receive an empty message?
    8. Receive (0 / 7):
    9. Communication error!

    I still get this error from time to time, even the communication line is connecting to a virtual device on localhost. Sometimes it never happened in months, sometimes it happened a few times in an hour.

    in reply to: How to make Led blinking #9712
    JW
    Participant

    the trick is set two “ON” states for your led, and toggle between them.
    set a led with condition
    0; 1; 2 for silver; light green; green.

    assume you have multiple led, they should blink at the same time.

    step 1, defind a function in formula, which is the value of second of current time.
    ———
    double Second(DateTime dt){
    double en_dt = EncodeDate(dt);
    double s = Math.Truncate(en_dt * 24 * 60 * 60) % 60;
    return s;
    }
    ——–

    you can have 1 input channel for device status, e.g. Cnl 1001
    0; 1 for off; on

    then you setup an other channel for led, e.g. 1002,
    set formula
    Val(1001)==0?0:Val(1001)+Second(DateTime.Now)%2

    then the value will toggle between 1 and 2 every second when the device is on, and remain 0 when the device is off.

    in reply to: Modbus Comm Bug #9709
    JW
    Participant

    For error handling, in case any request and reply sequence get messed up, I am thinking the following approach.

    after the error of line 7 and 8, I would run and wait an additional loop of sock.recv() for a period (maybe same time of timeout), and then discard of all the data of this recv. in the above case, it would get line 12 and line 16 and so on.

    then send a new request of line 11, then the reply should be correct from now on.

Viewing 15 posts - 1 through 15 (of 101 total)