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

Advertising
background image

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

Advertising