Example cr1000 datalogger program for measuring a, Windsonic1 using an sdm-sio1, 7. wiring for cr1000/sdm-sio1 program example – Campbell Scientific WINDSONIC 2-D Sonic Wind Sensors User Manual
Page 22

WindSonic Two-Dimensional Sonic Anemometer
FieldNames ("diag_10_TOT")
Totalize (1,n,IEEE4,nmbr_bytes_rtrnd<>0)
FieldNames ("nnd_TOT")
Totalize (1,n,IEEE4,nmbr_bytes_rtrnd<>0 IMP checksum_flg)
FieldNames ("checksum_err_TOT")
EndTable
BeginProg
n = 1
SerialOpen (Com1,9600,3,0,108)
Scan (1,Sec,3,0)
'Get data from WindSonic.
SerialInRecord (Com1,in_bytes_str,&h02,0,&h0D0A,nmbr_bytes_rtrnd,01)
SplitStr (windsonic(),in_bytes_str,",",4,4) 'Split the string and convert to floats.
wind_direction = windsonic(1)
wind_speed = windsonic(2)
diag = windsonic(4)
checksum_flg = ( (HexToDec (Right (in_bytes_str,2))) EQV (CheckSum (in_bytes_str,9,Len (in_bytes_str)-3)) )
disable_flg = ( NOT (checksum_flg) OR (nmbr_bytes_rtrnd=0) OR (diag<>0) )
CallTable stats
NextScan
EndProg
7.3.2 Example CR1000 Datalogger Program for Measuring a WindSonic1
using an SDM-SIO1
TABLE 7-7. Wiring for CR1000/SDM-SIO1
Program Example
Description Color
CR1000
WindSonic RxD
Green TX-Z
WindSonic TxD
White RX-A
Power Red
+12
Vdc
RS-232/Power reference
Black
G
Shield Clear
G
'CR1000 Series Datalogger
Dim in_bytes_str As String * 21
Dim windsonic(4) As String
Public nmbr_bytes_rtrnd
Public wind_direction
Public wind_speed
Public diag
Units wind_direction = degrees
Units wind_speed = m/s
Units diag = unitless
Dim checksum_flg As Boolean
Dim disable_flg As Boolean
Dim n
Units n = arb
DataTable (stats,TRUE,-1)
DataInterval (0,30,Min,10)
WindVector (1,wind_speed,wind_direction,IEEE4,disable_flg,0,0,0)
FieldNames ("mean_wind_speed,mean_wind_direction,std_wind_dir")
Totalize (1,n,IEEE4,disable_flg)
FieldNames ("samples_TOT")
Totalize (1,n,IEEE4,diag<>1)
FieldNames ("diag_1_TOT")
14