UEI Monitor property tree
Each monitor can be represented by the following property tree:
- UEIMONITOR * CONFIG:Endpoint=[NAME=UeiMonitor.CONFIG, PROTOCOL=tcp, HOST=192.168.2.101, PORT=10111, TWOWAY=true, ICEIF=" UeiMonitor.CONFIG -t:tcp -h 192.168.2.101 -p 10111:udp -h 192.168.2.101 -p 54311"]
- SVC
- CFG
- INTERVAL:Int=2000 +UNIT:String=millisecond
- RECONNECTION_INTERVAL:Int=500 +UNIT:String=millisecond
- DEV![1..n9]
- NAME:String="UEI Temperature Monitor"
- DEVICES:SeqString=[MONITOR1]
- LOAD:MapStringString=[LIB = BasdaTempoMonitorService, NAME = UeiMonitor]
- NAME:String=UeiMonitor
- STATE:BasdaServiceStateMachine=[ONLINE,ONLINE,WORKING,0]
- DEV![1..9]:String="Drag and drop this node to get a GUI" +UI:String=$INSROOT/share/ui/argosUeiMonitor36Channels.ui
- CHANNEL![1..N]
- MAX_CURRENT:Double=0.02 +UNIT:String=Ampere
- MIN_CURRENT:Double=0.004 +UNIT:String=Ampere
- OFFSET:Double=0 * SENSOR_DESCRIPTION:String="Temperature Sensor in Cabinet 1"
- SENSOR_TYPE:String="Temperature Sensor TE-INT"
- UNIT:String=C
- VALUE:Double=-9999.99 +ALARM:Double=35.0 +MAX:Double=70.0 +MIN_ALARM:Double=-10.0 +MIN:Double=-30.0 +MIN_OPERATIONAL=-20.0 +MAX_OPERATIONAL:Double=50.0
The lines in bold fonts are created and dynamically updated by the monitor service. Their attributes, like alarm thresholds, or Min-Max values can be overwritten in the configuration file.
Note that the property VALUE has an attribute called IS_VALID. This attribute tells the final user if the sensor value is valid or not. The idea here is to keep the last valid sensor value after a network/system outage.
Example: temperature sensor that can read from -30 to 70 C. The system will send: * A warning if temperature reaches the minimum or maximum alarm level * An error if temperature reaches the minimum or maximum operative level. * An error if the temperature is out of range [-30,70]C and attribute IS_VALID is set to false.
Simulator
This device is used in the basda service to simulate the behavior of the UEI monitor devices. It can be used to simulate communication and / or initialization situations. The simulator has the same properties described above, and adds the following ones: * DEV![1-9] * INITIAL_CONNECTION_FAILS:bool * COMMUNICATION_FAILS_AFTER_CONNECTION:int * RECONNECTION_FAILS_AFTER_COMMUNICATION_FAILS:int
where
* INITIAL_CONNECTION_FAILS set to true causes a connection exception. The service tries to reconnect after (RECONNECTION_INTERVAL) seconds. * COMMUNICATION_FAILS_AFTER_CONNECTION causes a communication error while working after N loops. * RECONNECTION_FAILS_AFTER_COMMUNICATION_FAILS simulates a reconnection error during N times.