I have a question about connection and communication between Ignition and Modbus devices and PLCs using Moxa's MB3180.
Currently, we are testing data acquisition between Ignition and PLC via MB3180 by connecting a PC with Ignition and MB3180 via TCP/IP to communicate via Modbus TCP and connecting MB3180 and PLC via Modbus ASCII with RS232C cable. The data acquisition between Ignition and the PLC via MB3180 was tested.
However, although the Ignition sends a request to the PLC to acquire data, as shown in the image below, the value is returned as “Null” and the quality is returned as “Bad”.
Mode:ASCII Slave
Initial Delay:0
Modbus Listen Port:502
Modbus Routing:
Channel No. :01
Type:Modbus Serial
Slave ID:001-005
Slave ID Offset:0
Destination:Port1(Serial)
I am stuck and would like to know if anyone knows how to solve this problem or has any clues.
If I am missing any information, please let me know.
Thank you in advance.
When connecting to Modbus devices, it's generally recommended to avoid using the Modbus mapping in the driver configuration. Instead, use the manual addressing approach in Ignition documented here:
The mapping method is confusing to be and the addressing method is more straightforward. Also you might test using software like OpenModScan to make sure you can communicate with the PLC with the Moxa.
Thank you for your reply.
I will try two things: manually setting the Modbus address and checking the communication between the Moxa device and the PLC.
Regarding the manual setting of the Modbus address, what value is used to determine the address of the trailing digit in the “[Modbus]HR1” format?
The <RegisterAddress> can be either 1-65536 by default, where you simply clip off the leading 0, 1, 3, or 4 of a classic address, or it can be 0-65535 to match the actual register offsets that are used "on the wire".
There is a device advanced setting in Ignition to choose which range applies.