Hi everyone
I have a CR6 Datalogger and I tried to stablished a Modbus TCP/IP communication, configurating the CR6 as Server and using ModbusPoll in my PC as Client. But, a problem appered in the ModbusPoll, it was "02 Illegal Data Address". I look in the forum for solutions but i couldn't get anything.
So I hope someone could help me.
This is my Code:
Public PTemp, batt_volt, analog_meas
Public ModbusRegisters(3)
Public ModbusCoil As Boolean
'Data Table Definition
DataTable (Table1,1,-1) 
	DataInterval (0,10,Min,10)
	Minimum (1,batt_volt,FP2,0,False)
	Average (1,PTemp,FP2,False)    
	Average (1,analog_meas,FP2,False)
EndTable
'Main Program
BeginProg
  
	'Configure the datalogger as a Modbus Server
	ModbusServer (502,0,1,ModbusRegisters(),ModbusCoil,0)
    
		Scan (1,Sec,0,0)
			'Measure the datalogger panel temperature
			PanelTemp (PTemp,250)
                                
    			'Measure the battery voltage
			Battery (batt_volt)
                                
    			'Measure an analog voltage
    			VoltSe (analog_meas,1,mV5000,1,1,0,_60Hz,1.0,0)
                                
			'Populate Modbus Registers
 			ModbusRegisters(1) = PTemp
 			ModbusRegisters(2) = batt_volt
			ModbusRegisters(3) = analog_meas
			'Call final storage table
			CallTable Table1
		NextScan
EndProg
Illegal data address means the software requested a register number that is not mapped.
I think by default, ModbusPoll requests 10 or more registers. Don't request more than the first 6 registers.