Please i am new to GEO SCADA. i am using DNP3 Analog Input to read status from my GP10 and RT10 field units,i want to view their device status but i do not want the actual status value to show, i want it to show "online or offline". So want is , if device status value is "1" it should show online on my HMI and not the actual value "1". Please how do i do this??
Solved! Go to Solution.
Put a text field in your Mimic, then animate the value text field with an if statement. Something like iif("devicestatus.currentvalue" = 1, 'Online', 'Offline'). The problem is a value greater than 1 like the 2049 device status you posted in the other thread also means 1 + 2048, which is online, and the device configuration was changed through the buttons on the device. You will need to come up with some exception handling in your if statement, like if the device status is a 2 or a 3 then the battery is low and the device is offline (2) or battery is low and still online (3), and anything greater than 3 (like 2049) is the (devicestatus.currentvalue - 2048) to get the lower more meaningful bit values.
I'm not sure about DNP3, but in Modbus, you could use a digital input and point it to only a single bit of an integer containing register (with a bit offset for anything higher than the least significant bit up to +7 bits) and get only the device status (online or offline). But this has the added side effect of not telling your users if the battery is low without using another point.
Also don't forget that there are other ClearSCADA status's that are meaningful, like Out of Communications (outstation), point configuration errors, etc, that would be good to include as possible messages for your users. A typical display of a value for me is a small mimic point display mimic that has all of these things setup as animations, point value / state, alarm state including disabled alarms, alarm severity color, blink, and point name or objectdisplayname, etc.
Thanks! this is working just fine also, i assumed that if battery is low and still online (2) , i will have 2 + 2048, so i wrote an expression for this following your suggestion.