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,009 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,714 Views)