Setting Up Modbus

I am having trouble setting up a modbus connection to Ignition 7.

I have managed to get connection to it but when I look for a tag they all fail.

Anyone know what I am doing wrong.

I added the tag which is at 10.16.16.56 and the address is 400018.

I setup the modbus the gateway as TCP and it connected fine. Looking at the tutorial on Ignition’s website it says for 400000 style its HRNum so I created an OPC tag with address as [Modbus]HR18

But it just comes out as an error. What am I doing wrong?

Looks pretty normal. What shows up in your gateway logs or the diagnostics status page for the driver?

(Note that the modbus driver has a number of advanced settings that might be relevant.)

You might need a slave Id, like [Modbus]2.HR18.

1 Like

I keep getting this error in the logs.

And I tried 1.HR18 and still got an error. I know there is a channel 1 and 3 for the modbus but neither of them give me any value on the tag

What pace are you trying to read? I understand some devices have timeouts that close the connection if you don’t read something every few seconds.

You might want to use wireshark to collect some packets that might show the last request that precedes connection closure. There might be an error that causes the device to hiccup/die.

It is running and communicating fine with a kepware server which is being read by factorytalk ME.

Then wireshark can compare what is working through Kepware versus what you are trying with Ignition.

Unless you misspoke and are using Modbus RTU over TCP, which cannot support two masters.

So the Ignition server along with everything else is on a vpn server and it wont let me connect to it. However, once I do get it connected what am I looking for and what should I be changing in the settings of ignition?

Well, I’d get the manual for the specific device and examine every setting in the Ignition manual against the device’s documentation.

And/or look at the settings Kepware is using, since that is known to have working settings.

Well the device is a MC206X

That doesn’t have an ethernet port built in, unless you populate the option slot. It is otherwise modbus RTU. You mentioned a gateway device. What kind of gateway?

So after some time they randomly started bringing in numbers but then the tag would fail and then come back and keep doing that. However the values that it’s showing are completely off. I get a -258 on one but it should read 65278. It’s still through TCP not RTU.

Hmm. -278 IS 65278 when reading as a signed 16-bit integer. If you need unsigned, use “HRUI” instead of “HR”. See all of the addressing options in the manual.

As to the flaky connection, you’ll have to provide the details of what is between Ignition and the MC206X, since the latter, as a base model, doesn’t do Modbus TCP. Only RTU.

Or call into support if you cannot share it here.

Nevermind. Thank you for help. It all works now turns out I can only have one session at a time on the modbus so when factorytalk was open then the tags would just fail in ignition. But they are reading everything correct now. My last question is that the tags will read and then fail and then read again every couple of seconds which is fine as it gets me the values. But when they fail it causes my screen to go red as some of the tags are binded there to visibility and stuff. Is there any way I can prevent the tags from failing?

That is normal for RTU, as I've noted in various ways above.

Are you sure you aren't simply overloading the connection? You haven't provided enough information to tell. Viewing the diagnostic page in Ignition would be helpful. Please share a (cropped) screenshot showing the overall load table and the response time histogram.

Sorry for the delay.

I am using the TCP method as that seems to be working. One session is fine though.

As for screenshots here is the settings I am using to setup the modbus.

TagError

One of the pictures shows whats happening to the tags every 5-8 seconds.

Also here is a screenshot of the logs and execution area

Do you have a part number for the Modbus device you are trying to talk to?

Put this program on your gateway computer: https://www.modbusdriver.com/modpoll.html

It does not need to be installed.

run it with this command:

modpoll -r 18 10.16.16.56

what happens?

What is the program suppose to do? Nvm just saw the link