Modbus TCP Driver Connection Problem

I am having problem with Modbus TCP driver.
I have configured 2 x IDEC PLC (Acid_Scrubber and Cyanide_Scrubber) connected to Ignition Server.
Both PLC are having TWO different addresses. 192.168.0.6 and 192.168.0.7
From the Gateway OPC Devices, it can be seen that PLCs are connected to Ignition Server.

However, I cannot access the Modbus address/value from the designer by using direct Modbus address.

  • For example: Not able to read/write [Acid_Scrubber]HR10 or [Cyanide_Scrubber]HR16

I can only access the Modbus address/values when I use the Modbus unit ID.

  • For example: Able to read/write [Acid_Scrubber] 1 .HR10 and/or [Cyanide_Scrubber] 2 .HR16

I understand that if Modbus TCP devices are using different IP Address then unit ID shouldn’t matter in the addressing format.

To me, it doesn’t really matter that I have to use the unit ID addressing.
However, the problem is unit ID always changes after a period of time.

For example: [Acid_Scrubber] 1 .HR10 is working fine at one moment and after sometimes, the address is unable to read/write unless I change the Modbus address to [Acid_Scrubber] 2 .HR10

Further Observation;
• From Modbus TCP address mapping, I can poll data for both PLCs using unit ID 1.
• However, Tags are usually bad, unspecific.
• When I click on the subscribe from gateway quick client, some tags go to Good,specific.
• For some other tags, even after clicking on subscribe, it is still bad, unspecific.
• If I click on “Read” on gateway quick client, the value returned is Good, specific.
• But, after about 3 second, tag goes back to bad, unspecific.

Log file can be downloaded here >>> https://we.tl/t-VOAevEkpjN

Anyone has faced this problem before and any solution?

Hello,

We are testing Ignition 8.0.2 and we are facing some similiar problems with the Modbus TCP driver. For some strange reason now we have to indicate the unit ID in some (not all) modbus connection.

Can you get a Wireshark capture of this behavior as well?

Your logs are full of messages like this:

2019-06-16 09:51:03 - drivers.ModbusDriver2.ReadCoilsRequest
Received response with ExceptionCode: 0x03 (IllegalDataValue).

If the PLC suddenly starts responding with an error code to the exact same requests from Ignition I’m afraid there’s not much else to troubleshoot on the Ignition side - you may need to contact the vendor.

Are you using leased scan classes? Have you tried disabling the “Span Gaps” setting?

Hi,

We have used the wireshark:

Hi Kevin,

Yes, I have used ModScan, it seems ok and I can see the values.
I tried disabling the span Gaps but it doesn’t help.

Hello

I’m also on ignition 8.0.2 and i am also facing modbus problems. I’m getting following error:
com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Driver ‘ModbusTcp’ doesn’t exist. I’m also unable to create tags with ModbusTcp. But i can use ModbusRTUoverTCP.

Is it illegal to use a colon in the devicename? When I do this, any driver type will stop working. I tried several ways to name my devices. Once i put the colon in, my devices disappear after gateway restart and i can’t see the driver anymore when i try to create new devices…


ns=1;s=[p1amoh01]1.IR9 worked for me

I have an Industrial Arduino running ArduinoModbus.h on port 502. I did not have to create any addressing, I just hard coded the devicename, number (1) and the IR address for the tag. The trick was the "1".