I have a CR295 logger that I just updated to OSv10G from OS7,I was having problems with getting data to go to the buffer so I tried updating the OS. However, I now cannot load the program onto the CR295 as I get error:
"Program file send failed:
the datalogger failed to compile the program"
"C:\Campbellsci\DevConfig\sys\cora\logger\GoesSat_6.CR2 -- Compile Failed!
Table Sonde must use DataInterval to auto-allocate."
The complier for OS 10 is showing up in my Campbell directory on my c drive. I only have a CR2 file, no bin file. Is there a way to generate a bin file?
It is likely a simple issue, but I am not overly familiar with the programming. I have attached my program that I am trying to load just in case it is an issue with that.
'-------------------------------------------- ' Modem Parameters '-------------------------------------------- 'Public bModemOn, bInternalOn '===================================== 'Define Data Tables DataTable(SysInternals,True,120) 'Internal Parameters table DataInterval(0,1,hr) 'Every B_Sample_Intv Minutes, no Offset Minimum(1,P_Batt,False,False) EndTable 'DataTable(SysInternalsAll,True,-1) 'Internal Parameters table ' DataInterval(0,1,hr) 'Every B_Sample_Intv Minutes, no Offset ' Minimum(1,P_Batt,False,False) ' 'Average(1, P_RH,False) 'EndTable DataTable(Sonde,True,-1) ' DataInterval(0,15,Min) Sample(1,rt_month) Sample(1,rt_DOM) Sample(1,rt_year) Sample(1,rt_hour) Sample(1,rt_minute) 'Sample(1,rt_second) second always zero.. no need Sample((paramNum-2),sndParms(3)) EndTable DataTable(SondeRaw,True,1000) Sample(paramNum,sndParms) 'FieldNames ("Date,Time,Cond_uS,Depth_Ft,pH,Turb+,ODO_mgL,Bat_V") EndTable DataTable(GoesErr,true,100) Sample(1,GoesResult) Sample(10,SatError) EndTable 'DataTable(GoesTimeStamp,true,45) ' Sample(4,SatTime) ' 'Sample() 'EndTable '======================================================================= ' PROGRAM BEGIN - Main Program '======================================================================= BeginProg 'bInternalOn = 0 _Debug = 1 ' SWBatt (1) ' bModemOn = True Scan(5,Sec) '======================================================================= 'MODEM POWER - begin '======================================================================= If Flag(2) Then If Flag(3) Then GOESSetup (GOESResult,&H270005B4,10 ,38,300,0,100,"0_1_0_0" ,"0_30_30" ,"1_0_0" ) EndIf 'Flag(3) ' Modem (toggle) ----------- ' Toggle power off 3 mins before midnight , turn on 1 min before midnight ' If (NOT(bModemOn)) Then ' ' If IfTime(modemOnOffSetMin,modemOnIntvlMin,min) OR Flag(modemFlag) Then ' flag(modemFlag) = false ' SWBatt (1) ' bModemOn = True ' EndIf ' Else ' 'Modem On ' If IfTime(modemOffSetMin,modemOnIntvlMin,min) Then ' SWBatt (0) ' bModemOn = False ' EndIf ' EndIf 'Not modem o ' '======================================================================= 'MODEM POWER - end '======================================================================= Else 'flag(2) low ' 2) YSI Sonde ----------------- If bGetYSI = false Then If (IfTime(SondeOffsetMin, SondeIntvlMin, Min) OR Flag(1) ) Then bGetYSI = True sndParms(1) = -7999 'set as invalid value Flag(1) = False EndIf EndIf 'CR200 can does NOT understand string type variables, can not change SDI12 OutputSting dynamically, therefore can NOT ' modify the C! or C command as per CR1000 based loggers If (bGetYSI) Then SDI12Recorder(sndParms,"0C!",1,0) 'SDI12 Address & Command If (sndParms(1) >= -10) Then RealTime( rTime ,0) 'Get Logger's time ' fix time to NOT overange CallTable(SondeRaw) 'save to trasmitter CallTable(Sonde) GOESData (GOESResult,Sonde,0,0,1) ' 1 -send most recent record If _Debug OR Flag(7) Then GOESStatus(SatError,GCmnd_ReadError) CallTable (GoesErr) 'Flag(7) = false EndIf 'Does not need fix. Latest OS fixed sdi12 bug. 'SDI12Recorder (sndParms, "0I!",1,0) 'interrupt next Cuncurrent command (CampbellSci Sdi12 bug/feature?) bGetYSI = False EndIf EndIf '3) Goes Sat ------------------- ' If IfTime (0,1,Day) OR Flag(8) ' GOESStatus (SatTime,GCmnd_ReadTime) ' CallTable(GoesTimeStamp) ' Flag(8) = false ' EndIf ' 4) Internal Sensors ----------------- Battery(P_Batt) 'Default Datalogger Battery Voltage measurement P_Batt: ' If bHasRH Then ' VoltSe (P_RH,1,RhChannel,0.1,0) ' CallTable SysInternalsAll() ' Else CallTable SysInternals() ' EndIf EndIf 'Flag(2) NextScan EndProg
You commented out the interval instruction on your table named Sonde, yet have the table size set to autoallocate. Either put back in the DataInterval for that table or set the size to a fixed positive number. Then the error should go away.