Campbell Scientific CR1000 Measurement and Control System User Manual

Page 219

Advertising
background image

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

 

Advertising