
CRBasic Example 1: CR1000X program using Modbus over RS-485 to measure the SMP10
Average
(1,SMP10_NetRadTempCor,IEEE4,False)
StdDev
(1,SMP10_NetRadTempCor,IEEE4,False)
Average
(1,SMP10_BodyTemp,IEEE4,False)
StdDev
(1,SMP10_BodyTemp,IEEE4,False)
Maximum
(1,SMP10_ResultCode,FP2,False,False)
EndTable
BeginProg
SerialOpen
(ComC7,19200,18,0,300,4)
Scan
(5,Sec,0,0)
PanelTemp
(PTemp,60)
Battery
(Batt_volt)
'Modbus RS485
ModbusMaster
(SMP10_ResultCode,ComC7,19200,51,3,Input_Reg(),1,10,1,100,3)
If
SMP10_ResultCode = 0
Then
SMP10_NetRadiation=Raw_SRad
SMP10_NetRadTempCor=TC_SRad
SMP10_BodyTemp=Body_Temp*0.1
Else
SMP10_NetRadiation=NAN
SMP10_NetRadTempCor=NAN
SMP10_BodyTemp=NAN
EndIf
CallTable
Hourly
NextScan
EndProg
CRBasic
Example
2:
CR1000X
program
using
analog
ue
voltage
to
measure
the
SMP10
'CR1000X Series Datalogger
Public
PTemp :
Units
PTemp = DegC
Public
Batt_volt :
Units
Batt_volt = VDC
Public
SMP10_NetRadAnalog :
Units
SMP10_NetRadAnalog = W/m^2
DataTable
(Hourly,1,-1)
DataInterval
(0,60,Min,10)
Minimum
(1,Batt_volt,FP2,False,False)
Sample
(1,PTemp,FP2)
Average
(1,SMP10_NetRadAnalog,IEEE4,False)
StdDev
(1,SMP10_NetRadAnalog,IEEE4,False)
EndTable
SMP10 Pyranometer
9