All,
I am using a datalogger to gather multiple data from a single SDI12 device. I ran into an issue where the SDI12 device froze and continued sending the same data repeadedly. As can be seen from the data below, the timestamps and record numbers kept indexing for the data table while the data received from the SDI12 sensor remained constant.
2018-10-10 03:40:00 76690 "NAN" 8.55 -85.1 1.3 75.11 5.93
2018-10-10 03:45:00 76691 "NAN" 8.55 -85.1 1.3 75.11 5.93
2018-10-10 03:50:00 76692 "NAN" 8.55 -85.1 1.3 75.11 5.93
2018-10-10 03:55:00 76693 "NAN" 8.55 -85.1 1.3 75.11 5.93
2018-10-10 04:00:00 76694 "NAN" 8.55 -85.1 1.3 75.11 5.93
2018-10-10 04:05:00 76695 "NAN" 8.55 -85.1 1.3 75.11 5.93
2018-10-10 04:10:00 76696 "NAN" 8.55 -85.1 1.3 75.11 5.93
I would like to generate an RTMC alarm if this were to happen again. I attempted to build such an alarm incorporating all of the variables using the "Last" and "And" functions within the RTMCPro alarm expression builder similar to the following:
"WW7_Sonde_Data:Sonde_Data.pH_1" = Last("WW7_Sonde_Data:Sonde_Data.pH_1") And "WW7_Sonde_Data:Sonde_Data.pH_2" = Last("WW7_Sonde_Data:Sonde_Data.pH_2") And....
This ended up triggering the alarm if any single one of the variables had a data value repeat, which happens often. It seems that it treated the expression as an "OR" rather than "AND" for reasons I don't understand.
Are there any suggestions to build such an alarm?
You could handle the repeated values by adjusting your datalogger program. In reality, all those values should be NAN. When a SDI12 sensor does not respond, the datalogger marks the value as NAN. By default, the SDI12Recorder instruction will only mark the first value in the array as NAN. The other values in the array would still have the previous value.
There was an optional parameter added to the SDI12Recorder instruction that allows marking all bad values as NAN. It requires a recent OS version on the datalogger.
Your RTMC alarm condition should be looking for the NAN in the first value.
I've also been trying to set a text alarm condition to NAN, but when I do it resets the NAN to 0. This leads to me getting alarms for 0 values, but not NAN values. Is there a certain alarm I need to use for NAN values?