Campbell Scientific CSAT3B CSAT3B Three-Dimensional Sonic Anemometer - Page 81

Appendix C. Example CRBasic, Datalogger Programs

Page 81 highlights

Appendix C. Example CRBasic Datalogger Programs The following CRBasic examples cover the most common use cases of the CSAT3B. C.1 Simple SDM Program In this example, SDM communications are used to collect data from a single CSAT3B. ' Define Constants, Variables, and Aliases Const SDM_ADDR = 3 'SDM Address of Device Public CSATVals(5) Public CSATMonitorVals(4) Alias CSATVals(1) = Ux Alias CSATVals(2) = Uy Alias CSATVals(3) = Uz Alias CSATVals(4) = SonTemp Alias CSATVals(5) = Diag Alias CSATMonitorVals(1) = BoardTemp Alias CSATMonitorVals(2) = BoardHumidity Alias CSATMonitorVals(3) = InclinePitch Alias CSATMonitorVals(4) = InclineRoll Define Data Tables DataTable (SonicData,1,-1) Sample (5,CSATVals(1),IEEE4) EndTable DataTable (MonitorData,1,-1) DataInterval (0,5,Sec,10) Sample (4,CSATMonitorVals(1),IEEE4) EndTable Main Program BeginProg Scan(50,msec,500,0) '20 Hz Scan 'CSAT3B(Destination, Bus, Address, OperatingMode) CSAT3B(CSATVals(),0,SDM_ADDR,0) CallTable(SonicData) NextScan SlowSequence Scan(5,sec,0,0) '5 second scan 'CSAT3BMonitor (Destination, Bus, Address) CSAT3BMonitor(CSATMonitorVals(),0,SDM_ADDR) CallTable(MonitorData) NextScan EndProg C-1

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88

Appendix C. Example CRBasic
Datalogger Programs
The following CRBasic examples cover the most common use cases of the
CSAT3B.
C.1 Simple SDM Program
In this example, SDM communications are used to collect data from a single
CSAT3B.
'---------------------------------------------
' Define Constants, Variables, and Aliases
'---------------------------------------------
Const SDM_ADDR = 3
'SDM Address of Device
Public CSATVals(5)
Public CSATMonitorVals(4)
Alias CSATVals(1) = Ux
Alias CSATVals(2) = Uy
Alias CSATVals(3) = Uz
Alias CSATVals(4) = SonTemp
Alias CSATVals(5) = Diag
Alias CSATMonitorVals(1) = BoardTemp
Alias CSATMonitorVals(2) = BoardHumidity
Alias CSATMonitorVals(3) = InclinePitch
Alias CSATMonitorVals(4) = InclineRoll
'---------------------------------------------
' Define Data Tables
'---------------------------------------------
DataTable (SonicData,1,-1)
Sample (5,CSATVals(1),IEEE4)
EndTable
DataTable (MonitorData,1,-1)
DataInterval (0,5,Sec,10)
Sample (4,CSATMonitorVals(1),IEEE4)
EndTable
'---------------------------------------------
' Main Program
'---------------------------------------------
BeginProg
Scan(50,msec,500,0)
'20 Hz Scan
'CSAT3B(Destination, Bus, Address, OperatingMode)
CSAT3B(CSATVals(),0,SDM_ADDR,0)
CallTable(SonicData)
NextScan
SlowSequence
Scan(5,sec,0,0)
'5 second scan
'CSAT3BMonitor (Destination, Bus, Address)
CSAT3BMonitor(CSATMonitorVals(),0,SDM_ADDR)
CallTable(MonitorData)
NextScan
EndProg
C-1