1 cr5000 program example – Campbell Scientific SDM-AO4 4-Channel Continuous Analog Output Module User Manual
Page 13

SDM-AO4 Four Channel Analog Output
6.3.1 CR5000 Program Example
Although this program is for a CR5000 datalogger, programming for other
CRBasic dataloggers is similar.
'CR5000 SDM-AO4 Program Example
Public WS_ms
Public WD_0_360
Public Temp_C
Public RH
Public WD_0_540
Public Flag
Public AO4Output(4)
Alias AO4Output(1) = WSOut
Alias AO4Output(2) = WDOut
Alias AO4Output(3) = TempOut
Alias AO4Output(4) = RHOut
'Code for DataTable OneMin
DataTable(OneMin,1,-1)
DataInterval(0,1,Min,0)
WindVector (1, WS_ms,WD_0_360, IEEE4, 0, 0, 0, 0)
Average(1,Temp_C,IEEE4,0)
Sample(1,RH,
IEEE4
EndTable
BeginProg
Scan(1,Sec,1,0)
'
Code for 03001 wind measurements, WS_ms & WD_0_360:
PulseCount(WS_ms, 1, 1, 1, 1, 0.75, 0.2)
BrHalf(WD_0_360, 1, mV1000, 1, 1, 1, 1000, True, 1000, 250, 355, 0)
'
Code for CS500 measurement, AirTC and RH:
VoltSE(Temp_C,1,mV5000,3,0,
0,
_60Hz,0.1,-40.0)
VoltSE(RH,1,mV5000,2,0, 0, _60Hz,0.1, 0)
'
Call Data Table
CallTable(OneMin)
'
Convert 0-360 WD to 0-540:
If WD_0_540 >= 270 and WD_0_360 <180 Then
WD_0_540 = WD_0_360 + 360
Else
WD_0_540
=
WD_0_360
EndIf
'
Scale the measurements for the SDM-AO4 to output 0-1000 mV
WSOut
=
WS_ms*20
'WS: 0-50 m/s = 0-1000 mV
WDOut = WD_0_540 *1.859 'WD: 0-540 deg = 0-1000mV
TempOut=
10*(Temp_C+40)
'Temp: -40-60 deg C = 0-1000 mV
RHOut
=
RH
*10
'RH: 0-100 % RH = 0-1000 mV
'
Send mV outputs to SDM-SIO4
SDMAO4
(AO4Output(),4,12)
NextScan
EndProg
9