ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

Lookout

cancel
Showing results for 
Search instead for 
Did you mean: 

Modbus exception response 2 (illegal data address) function code 6. Automationdirect P3000 system

Hello,

I have an AutomationDirect  P3000 set up for a test stand.

It is stuffed with a voltage and a current analog input module and one analog output P3-16DA-2.

I am using NI Lookout to interface and collect data with the Modbus serial object. There is no problem reading 32 float’s, that works fine.

I am having a problem with a Modbus error in Lookout when I connect a pot to write to a “32 Bit Float”. (ie Modbus1.F40092)

The error in Lookout is; “Modbus exception response 2 (illegal data address) function code 6”.

The system actually works fine except for the flashing red “x’es” and incessant comm alarm. I am able to span my pot from +/-20 and that writes fine to the analog output. (There is a “scale linear” block in the processor to scale +/-20 to 32767/-32768).

I have done about four P3000 systems in the past couple years and had given up on this problem in the past. Fortunately I have not needed negative output before now and I would just stick with “integer, 16 bit” format for the tagname in the P3-550. The NI Modbus can write without errors but this won’t give me negative output.

Here are some things I have tried;

If I use a 16 bit integer for the tagname type in the P3-550 I can’t get negative values and I do not get Modbus errors.

If I use 32 bit integer for the tagname type in the P3, I can write to a double word (ie Modbus1.D400087) and it works fine but I get the Modbus error. (Error occurs several seconds after I move the pot and the process still updates between “x’es”).

If I use 32 bit integer for the tagname type in the P3, I can write to a signed decimal (ie Modbus1.SD400087) and it works fine but I get the Modbus error. (Error occurs several seconds after I move the pot and the process still updates between “x’es”).

If I use 32 float for the tagname type in the P3, I can write to a signed decimal (ie Modbus1.F400087) and it works fine but I get the Modbus error. (Error occurs immediately but process still updates between “x’es”).

Checking the “Daniel option” kills communication; “Garbled communication response from Modbus secondary”

The other advanced Modbus options check boxes do not help.

Changing the “Receive Timeout” to a higher value allows the process to run for several more seconds before the error occurs.  

0 Kudos
Message 1 of 2
(10,234 Views)

what is the octal address in the plc your writing to or reading? ie Modbus1.400096 > v memeory?

did you try an expression pot1+ Modbus1.400096 to increament or add to ?

is this ethernet or serial comm?

0 Kudos
Message 2 of 2
(9,939 Views)