02-08-2013 08:22 AM
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.
05-13-2013 01:51 PM
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?