07.01.2015 Views

CR200/CR200X Series Dataloggers - Campbell Scientific

CR200/CR200X Series Dataloggers - Campbell Scientific

CR200/CR200X Series Dataloggers - Campbell Scientific

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Section 11. Programming Resource Library<br />

CRBASIC EXAMPLE 17.<br />

Examples<br />

‘Pin Enabled Radio Program Example Program for CR1000<br />

'Pakbus Address = 2<br />

CRBASIC EXAMPLE. Radio Power Minimization Program<br />

Public Rx(6), Tx, Result<br />

Alias Rx(1)=VWC_1: Alias Rx(2)=VWC_2 ‘Alias used to give meaningful names to<br />

Alias Rx(3)=VWC_3: Alias Rx(4)=VWC_4 ‘data received from remote datalogger<br />

Alias Rx(5)=Tsoil_C: Alias Rx(6)=Batt_206_V<br />

Alias Tx=Batt_CR1K_V<br />

DataTable (Test,1,-1)<br />

DataInterval (0,60,Min,10)<br />

Average (6,Rx(),FP2,False)<br />

Minimum (1,Batt_CR1K_V,FP2,False,False)<br />

EndTable<br />

BeginProg<br />

Scan (15,Sec,0,0)<br />

Battery (Batt_CR1K_V)<br />

CallTable Test<br />

NextScan<br />

'Send Network command every 5 minutes<br />

SlowSequence<br />

Scan (5,Min,0,0)<br />

Network (Result,1,3,15,60,0,6,Rx(),1,Tx)<br />

NextScan<br />

EndProg<br />

------------------------------------------------------------------------------------------<br />

'Pin Enabled Radio Example for CR206X<br />

'Pakbus address 3<br />

Public Time, TxData(6)<br />

Public Period_uS(4), Response, Rx<br />

Alias TxData(1)=VWC_1: Alias TxData(2)=VWC_2: Alias TxData(3)=VWC_3<br />

Alias TxData(4)=VWC_4: Alias TxData(5)=T109_C: Alias TxData(6)=Batt_Volt<br />

Alias Rx = CR1K_Batt_Volt<br />

Dim LoopCnt<br />

Units Batt_Volt=Volts<br />

Units Period_uS()=uSec<br />

Units T109_C=Deg C<br />

DataTable(VWC_pin,True,-1)<br />

DataInterval(0,60,Min)<br />

Average(5,TxData(),False)<br />

Minimum (1,Batt_Volt,False,0)<br />

EndTable<br />

BeginProg<br />

SetStatus (RfPwrMode,RFpinEn) 'Configure <strong>CR200</strong>(X) power mode to pin enabled<br />

Scan(1,sec)<br />

If IfTime (0,15,Min) Then 'Take readings every 15 minutes<br />

Battery(Batt_Volt)<br />

Therm109(T109_C,1,5,1,1.0,0.0)<br />

SWBatt (1 ) 'Power CS625 sensors up<br />

PeriodAvg(Period_uS(1),1,0,100,10,1,1,0)<br />

PeriodAvg(Period_uS(2),2,0,100,10,1,1,0)<br />

PeriodAvg(Period_uS(3),3,0,100,10,2,1,0)<br />

PeriodAvg(Period_uS(4),4,0,100,10,2,1,0)<br />

SWBatt (0) 'Power CS625 sensors down<br />

For LoopCnt = 1 To 4 'convert raw values to volumetric water content<br />

TxData(LoopCnt)=-0.0663-0.0063*Period_uS(LoopCnt)+0.0007*Period_uS(<br />

Next LoopCnt<br />

EndIf<br />

Time = TimeUntilTransmit(1) 'copy countdown time to public variable<br />

If Time = 0 Then 'when countdown reaches zero power radio and transmit<br />

SendGetData (Response,Rx,TxData(),1,2,2,00000)<br />

EndIf<br />

CallTable(VWC_Pin)<br />

NextScan<br />

EndProg<br />

111

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!