Forum Replies Created
-
AuthorPosts
-
SGG
ParticipantHello Mikhail,
i use modbus protocol to communication over GPRS to my remote devices which include a master and a slave device.
i want to retain values (of the slave devices) after a temporary loss of communication on the rapid scada interface. This retained values should only change after communication is established and the actual value is polled.
you suggested the use of a formula ” Cnl > 0 ? Cnl : Val() ” in post #5482 BUT i already have formulas in most of the channels.
How do i combine my formula with your suggested formula to resolve my issue or is there any other solution?
SGG
ParticipantPlease the image of my setting
Event type:
https://drive.google.com/file/d/1I2TVYQWIYExsYXoi3cRriYh7lFyJWoNn/view?usp=sharingUnit type:
https://drive.google.com/file/d/1bBsNu1bxYPbepdL8Hu106t9sUmerpSTi/view?usp=sharingInput type:
https://drive.google.com/file/d/1KiFcUYPWOraU08ovVcj8IubA9pEApfti/view?usp=sharing-
This reply was modified 5 years, 8 months ago by
Mikhail.
SGG
ParticipantHello Mikhail,
I have been trying to invert the status color for input channel following your instruction but I have no success yet.
ACTUAL BEHAVIOR:
I created my own record in the unit table of administrator, “ NORMAL; FAULT “.when the input channel state is NORMAL, the color of the text is RED and when the input channel state is FAULT, the color of the text is GREEN.
I tried using the formula (Cnl; Cnl > 0 ? 114 : 101) to revert the color so that “NORMAL” text will be GREEN and “FAULT” text will be RED.
Screenshot of my settings are shown below:
Event type:
Unit type:
Input type:
NEEDED BEHAVIOR:
I want the “NORMAL” text to be GREEN and “FAULT” text to be RED.
Help me correct any possible error.
Thanks for your advice.SGG
ParticipantHello Mikhail,
I have been trying to invert the status color for input channel following your instruction but no success yet.
i want:
“OFF” to be “NORMAL” with color GREEN.
“ON” to be “FAULT” with color RED.
So i created my own record in the unit table, “NORMAL; FAULT.
Then used a formula at input channel. The formula used is (Cnl; Cnl > 0 ? 114 : 101)
Thanks for your advice.
SGG
ParticipantHello,
I checked it again, i realised the formula i used before was Cmd*1000 and not CmdVal*1000, i thought they were the same thing.
Its working fine now. Thanks
SGG
ParticipantHello Mikhail,
i have a challenge and i believe the solution is related to “BitConverter.GetBytes(cmd.CmdVal) method”.
My challenge:
I have a modbus device that connect through an RTU with GPRS to Rapid scada. i have been able to connect it successfully.For receiving data:
On the modbus device, the register i poll is of 4-bytes. the HMI of the modbus device indicates 15.000 but rapid scada shows 15000 (which is equivalent to 00-00-3A-98 in HEX), so i use a formula of CnlVal/1000 to get 15.000.
The device template, data type i selected for this input is int(4-byte).For sending data:
if i input 15, the modbus device receives no dataif i input 15000, the modbus device receives the data as 15.000 which is actually what i want to send, but what i want to input is 15 and not 15000.
i tried using the formula of CmdVal*1000 but its not successfull.
The device template, data type i selected for this command is int(4-byte)What i need is this: i need a formula that will convert 15 to 15000 in an output channel. if the solution is related to “BitConverter.GetBytes(cmd.CmdVal) method”, please, how do i implement this method to achieve my desired result? i don’t really understand C#.
Thanks for your clear advice…
-
This reply was modified 5 years, 8 months ago by
-
AuthorPosts