beautypg.com

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

Page 13

background image

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