manjey73

Forum Replies Created

Viewing 15 posts - 436 through 450 (of 534 total)
  • Author
    Posts
  • in reply to: Slow communication speed #4326
    manjey73
    Participant

    Yes, the register should be read once and then on the basis of the input channel of this register to apply the formula GetBit in settlement channels. You really spend a lot of time on the same type of reading.

    in reply to: Slow communication speed #4319
    manjey73
    Participant

    Then it turns out that you have everything right. 480 parameters this is clearly more than Modbus can allow with a single request. Try to separate the query groups so that the parameters you change are often in separate groups. That is to make a logical separation.

    in reply to: Slow communication speed #4317
    manjey73
    Participant

    To set the settings property is an extraordinary interview after sending the command.

    Also change the poll method to group, where possible

    in reply to: Hysteresis on input channel… #4294
    manjey73
    Participant

    In this case, you do not need a hysteresis and just a timer with a delay off. TOF with time of 20 seconds.

    int[] TofNum = new int[1];
    long[] TofST = new long[1];
    bool[] TofFlag = new bool[1];
    public double Tof(double TofIn, double TofPT)
    {
    long ET = 0L;
    long tof_pt = Convert.ToInt64(TofPT);
    bool q = Val(CnlNum) > 0;
    bool tof_in = TofIn > 0;
    
    int res = Array.IndexOf(TofNum, CnlNum);
    if (res == -1)
    {
    res = TofNum.Length;
    Array.Resize(ref TofNum,  res+1);
    Array.Resize(ref TofST,   res+1);
    Array.Resize(ref TofFlag, res+1);
    TofNum[res] = CnlNum;
    }
    
    if (tof_in)
    {
    q = true;
    TofFlag[res] = true;
    TofST[res] = 0L;
    ET = 0L;
    }
    else
    {
    if (TofFlag[res])
    {
    TofFlag[res] = false;
    TofST[res] = Ticks();
    ET = 0L;
    }
     else
     {
       if (q) ET = Ticks() - TofST[res];
     }
     if (ET >= tof_pt) q = false;
    }
    return Convert.ToDouble(q);
    }

    Add in the Formula of the Administrator

    Configure the calculated channel formula – Tof(controlled channel, 20000)

    in reply to: AB driver integration for micrologix and micro800 series #4180
    manjey73
    Participant

    C# can call functions of libraries written in C++ like. Not sure, but if I’m not mistaken, it is achieved using DllImport

    in reply to: Display and Set the String Value for tag #4113
    manjey73
    Participant

    You use a standard command, and it takes numeric values. Probably it is necessary to use a binary command and convert the string representation to hex with a formula ?Maybe that’s the reason.

    in reply to: Scada development #4100
    manjey73
    Participant

    You can, that’s how I wrote the driver to work with GPIO on Raspberry

    in reply to: ScadaSchemeEditor – Button use #4086
    manjey73
    Participant

    in WEB Main menu-Configuration-Require password when sending command

    in reply to: ScadaSchemeEditor – Button use #4081
    manjey73
    Participant

    I do not know what you have for the relay fee, I bought Chinese with Modbus in the documentation which was specified as on and off.
    256 – off, 512 – on, 768 – toggle
    I always gave the command 1 and multiplied by 768 and the relay changed its state. In other boards can be on different. Therefore, I try not to buy boards, which do not have a description, and then here on the forum there was an example when the Chinese mixed up the sequence of bytes of the checksum in Modbus

    in reply to: ScadaSchemeEditor – Button use #4074
    manjey73
    Participant

    Command values

    Or you can use the standard command buttons from this database

    Sometimes the device should be fed not 0 or 1 but for example 256 or 512, then using the values for commands 1 and 2 additionally in the output channel multiply by 256 using the formula Cmd*256

    • This reply was modified 5 years, 9 months ago by manjey73.
    in reply to: ScadaSchemeEditor – Button use #4073
    manjey73
    Participant

    example in the formula base: NOT

    public double NOT(double val)
    {
        bool boolVal = val > 0;
        return Convert.ToDouble(!boolVal);
    }

    In the output channel, write NOT (Cmd) and your command on the button will be changed to the opposite. Works only with 0 or 1 that actually follows from the name of the formula.

    It is not quite clear what you want to do with the separation of the buttons ?

    in reply to: Siemens Logo! Modbus #3965
    manjey73
    Participant

    In response, the device says that it has included the network variable NI1, so most likely at the program level it is not included.

    in reply to: Siemens Logo! Modbus #3963
    manjey73
    Participant

    c Q2 you have no problem because it is not yet tied to the program. Q1 may not be enabled due to overwriting in the program. Now there is no Logo at hand! Soft Comfort to understand.

    As for the lack of response to the NI1 input, a possible problem is that the Communicator sends to the double device,and the input user variables you have are word. The formula for rearranging the bytes before sending the command.

    • This reply was modified 5 years, 9 months ago by manjey73.
    in reply to: Siemens Logo! Modbus #3961
    manjey73
    Participant

    You have a table of registers from the manufacturer Logo! ?
    Status of inputs and outputs.
    Plus, the other registers you create yourself in the program Logo! and there should be a register card after its programming.

    in reply to: log storage location #3948
    manjey73
    Participant

    install_with_xsp.txt or 13 file install_with_apache.txt

    10. In case of using SD card, protect it by moving frequently used folders to RAM.
    Skip this step if you use a regular HDD.
    Add the lines below to /etc/fstab

    tmpfs /tmp tmpfs defaults,noatime,size=50m 0 0
    tmpfs /var/log tmpfs defaults,noatime,size=50m 0 0
    tmpfs /opt/scada/ScadaComm/Log tmpfs defaults,noatime,size=100m 0 0
    tmpfs /opt/scada/ScadaServer/Log tmpfs defaults,noatime,size=10m 0 0
    tmpfs /opt/scada/ScadaWeb/log tmpfs defaults,noatime,size=10m 0 0
    tmpfs /opt/scada/ArchiveDAT/Cur tmpfs defaults,noatime,size=10m 0 0

Viewing 15 posts - 436 through 450 (of 534 total)