Modbus TCP Connected Device Works with Modpoll but NOT on Ignition!

Hi,

I’m having issue pulling modbus data into Ignition. Using Modpoll I am able to pull the correct data from the Modbus gateway using the following command.

modpoll -t4:float -f -0 -r 16 -c 62 -l 10 192.168.1.100

-t 4:float 32-bit float data type in output (holding) register table
-f Slave operates on big-endian 32-bit floats
-0 First reference is 0 (PDU addressing) instead 1
-r # Start reference (1-65536, 1 is default)
-c # Number of values to read (1-125, 1 is default), optional for writ
-l Poll rate in ms, (1000 is default)


NOTE The addresses are half the Byte value given to me in the Modbus Address Table

MODBUS Address Table snippet shown here

The Modbus address offset is 4 Bytes (32 Bits) and Big Endian and in the holding register.

Below is the system config info the modbus gateway was given to us.

REMOVED LINK AS NEW POSTER ONLY ALLOWED 3 IMG - Will upload in replies

Using Ignition 8.1 I thought it would be straight forward to get the same data pulled over and followed the guides provided by Ignition https://docs.inductiveautomation.com/display/DOC80/Connecting+to+Modbus+Device

Below is the settings used on my Ignition Gateway in the OPC UA Device Connections.
REMOVED LINK AS NEW POSTER - Will upload in replies

Following these ignition guides I got erronious data getting pulled through Ignition, as shown below.

The tags were written like below.
REMOVED LINK AS NEW POSTER ONLY ALLOWED 3 IMG - Will upload in replies
[Radial_Forge]HR56 & HRF56

Even tried this forum post https://forum.inductiveautomation.com/t/modbus-read-two-register-into-one-opc-tag/41858

REMOVED LINK AS NEW POSTER ONLY ALLOWED 3 IMG - Will upload in replies

I believe I must be doing something stupid or missing one vital step. If anyone is able to help me it would be greatly appreciated!

Thank you,
John

Below is the system config info the modbus gateway was given to us.

Below is the settings used on my Ignition Gateway in the OPC UA Device Connections.

[Radial_Forge]HR56 & HRF56

The tags were written like below.

Even tried this forum post Modbus read two register into one opc tag

The address table appears to suggest they are zero-based. Ignition’s driver defaults to one-based. Change that setting on your device. Your OPC item path would be [Radial_Forge]HRF56. You might also want to play with the swap words setting.

You may also need the node number. Like [Radial_Forge]1.HRF56.

I believe in the image shared I had ticked the zero based addressing. Is this what you mean?

1 Like

I’m pretty sure you need “Swap Words” off.

Hi Pturmel,

I’ve tried Swap Word off and went through settings togging on/off and still go same erronious values.

I see you spoke about Node number. How would I find out what node number? Is this on Modbus gateway or Ignition platform. I tried using [Radial_Forge]1.HRF56 . and got error_config as value.

Any help would really be greatly appreciated, thanks!

I recommend you use wireshark to capture the traffic first with modpoll, then with Ignition, and share those files here. That will help narrow down the problem.

I have got it working with the Reverse Word Order in Iginition gateway set to FALSE and halfing the modbus values given to me in the pdf as it using 2 bytes. It was a sort of infinite monkeys and typewritters for finding the solution :rofl: hopefully this helps someone else.

See below images for details of the changes, the example tag is the same as origional question but showing it works.