'CR1000X Series Datalogger 'Example datalogger program for Apogee Instruments S2-442 series PAR - Far red sensors (RS485 mode) 'Date: December 11 2020 'Program author: John Huber 'Wiring: 'White -> C6 Comm port (RS485 +) 'Blue -> C5 Comm port (RS485-) 'Black -> G port (Ground) 'Green -> G port (Communication mode selector wire. Powered = RS232, Grounded = RS485) 'Red -> 12V port (Input power) 'Clear -> Shield ground 'Explanation of constants and variables used in datalogger program: 'BattV = Datalogger battery voltage (Volts DC). 'PanelT = Datalogger panel temperature (Degrees C). 'ModbusRead(2) = Output from the modbusmaster command 'Errorcode = Modbus error code value (Check CRBasic help menu for a list of error codes) 'PAR = The alias for the calibrated PAR reading in umol/m^2/sec for the PAR detector 'FarRed = The alias for the calibrated Far red reading in umol/m^2/sec for the Far red detector 'PARFarRed = Ratio of PAR and Far red light 'Declare Public Variables Public BattV, PanelT Public ModbusRead(2), Errorcode, PARFarRed 'Declare Aliases Alias ModbusRead(1) = PAR Alias ModbusRead(2) = FarRed 'Define Data Tables. DataTable (PARFar,1,-1) DataInterval (0,1,Min,10) Minimum (1,BattV,FP2,False,False) Sample (1,PanelT,FP2) Average(1,PAR,IEEE4,False) Average(1,FarRed,IEEE4,False) Average(1,PARFarRed,IEEE4,False) EndTable 'Main Program BeginProg Scan (1,Sec,0,0) PanelTemp (PanelT,60) Battery (BattV) 'Open Modbus serial port in RS485 mode SemaphoreGet(3) SerialOpen(ComC5,19200,2,0,256,3) SerialFlush(ComC5) SemaphoreRelease(3) 'Read sensor holding registers SemaphoreGet(3) ModbusMaster(Errorcode,ComC5,19200,1,3,ModbusRead(),1,2,2,100,2) SemaphoreRelease(3) 'Calculate the PAR-Far red ratio PARFarRed = PAR / FarRed CallTable PARFar NextScan EndProg