Owner's manual
SR50A Sonic Ranging Sensor
10.1.2 CR1000 Example (RS-232 Mode)
'CR1000 Series Datalogger
'In this example, the SR50A is mounted 2.5 meters above the ground.
'The SR50A is used in RS-232 mode (internal jumpers are set).
'The CR1000 sends a serial string to the SR50A, which is in "Measure on Poll Mode",
'and then receives a serial string in return which is parsed into different values.
'Wiring: Black: Power Ground
' clear: Power Ground
' Red: +12V,
' White: C1
' Green: C2
'Declare Variables
'Declare SR50AData as a dimensioned string of maximum 50 chrs
Dim SR50AData as STRING * 50
Public ParseVals(5) as FLOAT
Alias ParseVals(1)=SerialAddress
Alias ParseVals(2)=Raw_Distance
Alias ParseVals(3)=SignalQuality
Alias ParseVals(4)=Diagnostics
Alias ParseVals(5)=Chcksum
Public Temp_Corr_Distance
Public Air_Temp
Public Snow_Depth
'Declare the initial distance of the SR50A from the ground in meters:
Const Initial_Distance=2.5
'Define Data Tables
DataTable (Table1,True,-1)
DataInterval (0,60,Min,10)
Sample (1,Snow_Depth,FP2)
EndTable
'Main Program
BeginProg
'Open RS232 port for communications 9600 BAUD is the default:
SerialOpen (Com1,9600,0,0,2000)
Scan (60,Sec,0,0)
'Measure the SR50A:
'Transmit serial command "p33<CR>"
SerialOut (Com1,"p33"+chr(13),"",0,0)
'Flush the serial buffer
SerialFlush (Com1)
'Recieve serial string from SR50A
SerialIn (SR50AData,Com1,200,13,50)
SplitStr (ParseVals,SR50AData,"",5,0)
27