Campbell Scientific CR1000 Measurement and Control System User Manual
Page 219

Section 7. Installation
219
'///////////////Serial Time Set Input Section///////////////
'Accept old C command -- [2008:028:10:36:22]C -- parse, process, set
'clock (Note: Chr(91) = "[", Chr(67) = "C")
SerialInRecord
(ComRS232,InString,91,0,67,InStringSize,01)
If
InStringSize <> 0
Then
SplitStr
(InStringSplit,InString,"",5,0)
Call
DOY2MODAY
'Call subroutine to convert day-of-year
'to month & day
ClkSet(1) = Year
ClkSet(2) = Month
ClkSet(3) = Date
ClkSet(4) = Hour
ClkSet(5) = Minute
ClkSet(6) = Second
ClkSet(7) = uSecond
'Note: ClkSet array requires year, month, date, hour, min, sec, msec
ClockSet
(ClkSet())
CallTable
(ClockSetRecord)
EndIf
'/////////////////Serial Output Section/////////////////////
'Construct old Campbell Scientific Printable ASCII data format and output to COM1
'Read datalogger clock
RealTime
(rTime)
If
TimeIntoInterval
(0,5,Sec)
Then
'Load OneMinData table data for processing into printable ASCII
GetRecord
(OneMinData(),OneMinTable,1)
'Assign +/- Sign
For
i=1
To
6
If
OneMinData(i) < 0
Then
'Note: chr45 is - sign
OutFrag(i)=CHR(45) &
FormatFloat
(
ABS
(OneMinData(i)),"%05g")
Else
'Note: chr43 is + sign
OutFrag(i)=CHR(43) &
FormatFloat
(
ABS
(OneMinData(i)),"%05g")
EndIf
Next
i
'Concatenate Printable ASCII string, then push string out RS-232
'(first 2 fields are ID, hhmm):
OutString = "01+0115." & " 02+" &
FormatFloat
(rTime(4),"%02.0f") & _
FormatFloat
(rTime(5),"%02.0f")
OutString = OutString & " 03" & OutFrag(1) & " 04" & OutFrag(2) & _
" 05" & OutFrag(3)
OutString = OutString & " 06" & OutFrag(4) & " 07" & OutFrag(5) & _
CHR(13) & CHR(10) & ""
'add CR LF null
'Send printable ASCII string out RS-232 port
SerialOut
(ComRS232,OutString,"",0,220)
EndIf
NextScan
EndProg