manjey73

Forum Replies Created

Viewing 15 posts - 346 through 360 (of 923 total)
  • Author
    Posts
  • in reply to: Channel Read Bits #15040
    manjey73
    Participant

    public double GetAnyBits(double val, int n, int mask = 1)
    {
    ulong ulVal = (ulong)val;
    return (ulVal >> n) & (ulong)mask;
    }

    I haven’t checked, but the mask should work by default. The mask is 1. Which fully corresponds to the getBit formula
    You can set 3, 7, and so on.
    n is the offset

    in reply to: Channel Read Bits #15039
    manjey73
    Participant

    public double GetThreeBit(double val, int n)
    {
    ulong ulVal = (ulong)val;
    return (ulVal >> n) & 7ul;
    }

    Here the number 7 (00000111) is used as a mask

    in reply to: Channel Read Bits #15037
    manjey73
    Participant

    If you always need to pull out 2 bits each, then you can make one formula, just like getBit. If your pairs may differ, then you will need to make a formula and install it with your hands. Modify getBit into a different formula

    public double GetTwoBit(double val, int n)
    {
    ulong ulVal = (ulong)val;
    return (ulVal >> n) & 3ul;
    }

    Here 3ul is the number 3 (00000011) and by shifting the bits by the right amount you make a logical one with two bits at once, and not one as in getBit. You can look at how much you need to shift in a calculator or even on a piece of paper.

    • This reply was modified 1 year, 8 months ago by manjey73.
    in reply to: The problem of InfluxDB on Scada V6 #15026
    manjey73
    Participant

    Perhaps the username and password should still appear in the request, even if they are empty

    in reply to: Send command #15017
    manjey73
    Participant

    Another option is to use the Auto-control Module and calculation channels for the values. But it seems to be superfluous here if Modbus is used

    in reply to: Send command #15016
    manjey73
    Participant

    Hmm, sending different values from different buttons but to the same channel is a rare task. I remember there was such a problem, just related to the fact that it is impossible to specify a value when selecting “Send command immediately”

    You need to make several calculation channels that will have their own formulas with different values to specify these channels in the buttons.

    The Modbus device to which you are sending commands?
    Add additional commands to the template that will lead to the same register and link them to the created channels.

    in reply to: Send command #15009
    manjey73
    Participant

    Once you have indicated that the channel type is hex, write in the output formula of channel 111e and specify “Send command immediately” on the mnemonic and check.

    If you need to send different values using different buttons, then you probably need to write a formula and use an enumeration.

    in reply to: Send command #15006
    manjey73
    Participant

    What do you enter when the command window opens and it works as it should?

    in reply to: Send command #15004
    manjey73
    Participant

    Yes, it seems enough to specify the values in the output formula, but you have a value in hex format – 111e. You need to try, the output variable will also be double, you will probably need to convert it, for example, into a byte array, that is, use CmdData instead of Cmd

    in reply to: Send command #15002
    manjey73
    Participant

    @redass
    When using the mnemonic circuit, there is a “Send command immediately” mode, by default the command sends a value of 0, which can be changed by the output formula of the channel at your discretion.

    in reply to: Rest API integration #14993
    manjey73
    Participant

    I wrote examples when the scada script takes data from a file, for example. without creating a driver

    in reply to: Rest API integration #14992
    manjey73
    Participant

    or if the code is very simple, try using it in scada scripts

    in reply to: Rest API integration #14991
    manjey73
    Participant

    write a simple driver where your code, when going somewhere for the weather, will give you data as channel values.

    in reply to: Above value result zero #14974
    manjey73
    Participant

    Cnl != 255 ? (Cnl%256)/100 : doubleNaN

    2.55 isn’t that after dividing by 100?

    If the value from the device is 255, then you will receive --- well, or you still need to add status processing or perform it through status processing

    in reply to: Modbus to Rapid Scada to PLC #14968
    manjey73
    Participant

    PLCs are to only Read and not Write data back to the Modbus devices.

    Please translate, or draw a diagram of the interaction?

    Do you have 3 PLCs but you can’t transfer data from others into them, but they can take data from Scada? – then use Modbus Slave
    Do you have 3 PLCs and can you write Scada data in them? – then you need an Auto-Control Module

Viewing 15 posts - 346 through 360 (of 923 total)