Hello,
A RM Young 86004-SDI 2-axis Ultrasonic Anemometer is intermittently reporting static -7999 wind speed values. This is an SDI-12 wind sensor. Once the problem starts, the sensor will report wind speed = -7999 until the sensor is rebooted (86004-SDI has an AC/DC adapter, it is not powered by the logger). When -7999 wind speed values are reported, wind direction will usually report the value of the last valid measurement, but values of "2842", "7999", and "1229" have also been observed. We have replaced the sensor, cable and power adapter at this site; the new sensor is having the same problem. The old sensor no longer reports -7999 when in operation at our testing station. The logger is a CR6, OS 10.02. The main scan interval is 5 seconds, data is saved every minute, 15 minutes and hour. CR6 program:
'Declare Variables and Units
Public BattV
Public PTemp_C
Public Temp_C
Public RH
Public sonic(2)
Public sonic_diago As String *100
Public start_up
Public SlrW
Public SLrMJ
Public Rm_tmp
Public Dew_pnt
Public BP
'M! + D0! response
Alias sonic(1) = Ws
Alias sonic(2) = Wd
Units BattV=Volts
Units PTemp_C=Deg C
Units Temp_C=Deg C
Units RH=%
Units Ws = m/s
Units Wd = deg
Units SlrW=W/m^2
Units SLrMJ =MJ/m^2
Units Rm_tmp = Deg C
Units Dew_pnt = Deg C
Units BP = mmHg
'Define Data Tables
'Define 1 minute table
'14400 = about 10 days
DataTable(Met,True,14400)
DataInterval(0,1,Min,10)
Sample(1,BattV,FP2)
Sample(1,PTemp_C,FP2)
Sample(1,Temp_C,FP2)
Sample(1,RH,FP2)
Sample(1,Ws,FP2)
Sample(1,Wd,FP2)
Sample(1,SlrW,FP2)
Sample(1,Rm_tmp,FP2)
Totalize(1,SLrMJ,IEEE4,False)
Sample(1,Dew_pnt,FP2)
Sample(1,BP,FP2)
WindVector(1,Ws,Wd,IEEE4,0,0,0,0)
FieldNames("VWS,VWD,EPASG")
EndTable
'Define 15 minute table
DataTable(Met15min,True,-1)
DataInterval(0,15,Min,0)
Average(1,BattV,FP2,False)
Average(1,PTemp_C,FP2,False)
Average(1,Temp_C,FP2,False)
Average(1,RH,FP2,False)
Average(1,Ws,FP2,False)
Average(1,Wd,FP2,False)
Average(1,SlrW,FP2,False)
Average(1,Rm_tmp,FP2,False)
Totalize(1,SLrMJ,IEEE4,False)
Average(1,Dew_pnt,FP2,False)
Average(1,BP,FP2,False)
WindVector(1,Ws,Wd,IEEE4,0,0,0,0)
FieldNames("VWS,VWD,EPASG")
EndTable
'Define Hourly table
'800 = ~ 33 days
DataTable(MetHourly,True,800)
DataInterval(0,60,Min,0)
Average(1,BattV,FP2,False)
Average(1,PTemp_C,FP2,False)
Average(1,Temp_C,FP2,False)
Average(1,RH,FP2,False)
Average(1,Ws,FP2,False)
Average(1,Wd,FP2,False)
Average(1,SlrW,FP2,False)
Average(1,Rm_tmp,FP2,False)
Totalize(1,SLrMJ,IEEE4,False)
Average(1,Dew_pnt,FP2,False)
Average(1,BP,FP2,False)
WindVector(1,Ws,Wd,IEEE4,0,0,0,0)
FieldNames("VWS,VWD,EPASG")
EndTable
'Diag for sonic
DataTable(sonic_diag,True,-1)
DataInterval(0,60,Min,10)
Sample(1,sonic_diago,String)
EndTable
'Main Program
BeginProg
'Main Scan
SDI12Recorder(start_up,C1,0,"M!",1.0,0)
Scan(5,Sec,1,0)
'Default CR6 Datalogger Battery Voltage measurement 'BattV'
Battery(BattV)
'Default CR6 Datalogger Wiring Panel Temperature measurement 'PTemp_C'
PanelTemp(PTemp_C,60)
'HMP50/HMP60 Temperature & Relative Humidity Sensor measurements 'HMP_Temp' and 'RH'
VoltSe(Temp_C,1,mV1000,U1,False,0,60,0.1,-40)
VoltSe(RH,1,mV1000,U2,False,0,60,0.1,0)
If (RH>100) AND (RH<108) Then RH=100
'Pyronometer
VoltSe(SlrW,1,mV1000,U3,True,0,60,1,0)
If SlrW<0 Then SlrW=0
'Calculate total flux
'The multiplier to calculate total flux was calculated by Short Cut
'and based on a program execution rate (scan rate) of 5 Seconds.
'If you change the program execution rate outside of Short Cut with the CRBasic Editor
'you will need to recalculate this multiplier. See the sensor manual for more details.
SlrMJ=SlrW*2.5E-05
'Calculate flux density
SlrW=SlrW*5
'Type T Thermocouple measurements 'Temp_C'
TCDiff(Rm_tmp,1,mv200C,U5,TypeT,PTemp_C,True,0,60,1,0)
'Pressure
PortSet(U9,1)
VoltSe(BP,1,mV5000,U7,True,0,60,0.2,600)
BP=BP*0.75006
'Dew point
DewPoint(Dew_pnt,Temp_C,RH)
If Dew_pnt > Temp_C or Dew_pnt = NAN Then Dew_pnt = Temp_C
'Sonic SDI12:
SDI12Recorder (sonic(),C1,0,"M!",1.0,0)
If WS > 65.0 Then WS = "NAN"
'Sonic Diag
SDI12Recorder (sonic_diago,C1,0,"XP!",1.0,0)
'Call Data Tables and Store Data
CallTable Met
CallTable sonic_diag
CallTable Met15min
CallTable MetHourly
NextScan
EndProg
Any guidance or advice would be appreciated.
Thank you
Are there any differences between the test station and the problem station? power supply, type of logger, logger programm?
smile
The test station and the problem station are in different locations, but use the same equipment and CR6 program. I have been in contact with a RM Young technician, he thinks we may be querying the sensor too often and retrieving the sonic_diago variables too often. I'm implementing a new program with a 10 second main scan for the "M!" command and a daily SlowSequence for the XP! command.