Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

Modbus TCP/IP Error 02 Illegal Data Address


christatkr Oct 8, 2024 10:24 PM

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

 


JDavis Oct 9, 2024 07:05 PM

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.

Log in or register to post/reply in the forum.