
Section 7. Installation
224
'///////////////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
Commentaires sur ces manuels