'CR1000 Series Datalogger 'Petermann Mooring/AWS ' Testing GPS StationName (HomeTest) Public PTemp, batt_volt,IntBatt, Version, NBytesReturned Public SensorIn(3) As String *50 Public GPSinput As String *100 Public TOcean(3),SOcean(3),POcean(3) Public SplitStrings(4) As String *20 Public SplitGPS(13) As String *20, utctime As String *20 Public latitude_a, latitude_b, longitude_a, longitude_b Public ngps,lat,lon SequentialMode '/////////////////////////////////// Data Tables.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ DataTable (G2AWS_Hourly,True,-1) DataInterval(0,60,min,-1) Sample(1,utctime,String) Sample(1,latitude_a,fp2) Sample(1,latitude_b,IEEE4) Sample(1,longitude_a,fp2) Sample(1,longitude_b,IEEE4) Minimum(1,IntBatt,FP2,0,False) Minimum (1,batt_volt,FP2,0,False) ' Sample(1,TOcean(1),IEEE4) Sample(1,SOcean(1),IEEE4) Sample(1,POcean(1),IEEE4) Sample(1,TOcean(2),IEEE4) Sample(1,SOcean(2),IEEE4) Sample(1,POcean(2),IEEE4) Sample(1,TOcean(3),IEEE4) Sample(1,SOcean(3),IEEE4) Sample(1,POcean(3),IEEE4) ' CardOut (0 ,-1) EndTable '///////////////////////////////////////Main Program BeginProg Scan (3,min,0,0) If TimeIntoInterval (57,60,Min) then SerialOpen (Com2,4800,0,0,50) SerialOpen (Com3,4800,0,0,50) SerialOpen (Com4,4800,0,0,50) SerialOutBlock (Com2,CHR(13),1) SerialOutBlock (Com3,CHR(13),1) SerialOutBlock (Com4,CHR(13),1) Delay (0,2000,mSec) SerialOutBlock (Com2,"ts"+CHR(13),3) SerialOutBlock (Com3,"ts"+CHR(13),3) SerialOutBlock (Com4,"ts"+CHR(13),3) ' SerialFlush(Com2) SerialFlush(Com3) SerialFlush(Com4) ' ' This line breaks the code if wiring is incorrect: ' SerialIn(SensorIn(1),Com2,100,"S>",50) SerialIn(SensorIn(2),Com3,100,"S>",50) SerialIn(SensorIn(3),Com4,100,"S>",50) ' ' Delay (0,1500,mSec) ' SerialOutBlock (Com2,"qs"+CHR(13),3) SerialOutBlock (Com3,"qs"+CHR(13),3) SerialOutBlock (Com4,"qs"+CHR(13),3) ' SplitStr (SplitStrings(),SensorIn(1),",",4,0) TOcean(1) = SplitStrings(1) SOcean(1) = SplitStrings(2) POcean(1) = SplitStrings(3) SplitStr (SplitStrings(),SensorIn(2),",",4,0) TOcean(2) = SplitStrings(1) SOcean(2) = SplitStrings(2) POcean(2) = SplitStrings(3) SplitStr (SplitStrings(),SensorIn(3),",",4,0) TOcean(3) = SplitStrings(1) SOcean(3) = SplitStrings(2) POcean(3) = SplitStrings(3) ' SerialOpen(Com1,38400,0,0,500) SW12(1) Delay(0,1,Min) SerialInRecord(Com1,GPSinput,&h4741,0,&h2a,NBytesReturned,0) SplitStr(SplitGPS(),GPSinput,",",13,4) latitude_a = Left(SplitGPS(2),2) latitude_b = Right(SplitGPS(2),7) longitude_a = Left(SplitGPS(4),3) longitude_b = Right(SplitGPS(4),7) utctime = SplitGPS(1) lat = latitude_a+latitude_b/60. lon = longitude_a+longitude_b/60. SW12(0) EndIf ' Temperature and Voltage of datalogger PanelTemp (PTemp,250) Battery (batt_volt) IntBatt = Status.LithiumBattery CallTable(G2AWS_Hourly) NextScan EndProg