# Ignition8 with Modbus TCP problems

**URL:** <https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823>\
**Category:** Ignition\
**Created:** [May 9, 2019, 8:52am UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823 "2019-05-09T08:52:44Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![cardosocea](https://avatars.discourse-cdn.com/v4/letter/c/858c86/32.png) [@cardosocea](https://forum.inductiveautomation.com/u/cardosocea)\
**Post date:** [May 9, 2019, 8:52am UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/1 "2019-05-09T08:52:44Z")

</div>

Hello,

I’m starting a demo/proof of concept with Ignition 8 for the plant where I’m currently working and as a starting point I’d like to get a modbus TCP device (SOCOMEC Diris A40 electricity meter) connected via Modbus.

I tried reaching the device with Ananas64 and I can read correctly with the read holding register function. However, I can’t seem to get Ignition to communicate with the device at all. The device addresses are in the 50000 region (still Holding registers), so the Ignition addresses should be in the 10000 range, I also configured the device ID which for this one is set at 255 and played with the zero based addressing bit without any luck.

All of a sudden, the ignition designer is telling me that the tag quality is uncertain whilst before it was always set to either Bad\_Stale or Configuration Error (until I sorted the unit ID). I tried the Quick OPC Server from the gateway, but it doesn’t give me any indication as to what may be happening.

Any ideas on what may be the issue? This is a fresh installation of Ignition8. I have used Ignition 7.9 with Modbus without any problems so am struggling to understand what’s wrong here.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 9, 2019, 11:38am UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/2 "2019-05-09T11:38:15Z")

</div>

Can you get values from this device with another piece of software like Modscan?

If so, it would be useful to compare settings and to get a Wireshark capture of the successful traffic.

---

<div class="post-metadata">

**Author:** ![cardosocea](https://avatars.discourse-cdn.com/v4/letter/c/858c86/32.png) [@cardosocea](https://forum.inductiveautomation.com/u/cardosocea)\
**Post date:** [May 9, 2019, 12:11pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/3 "2019-05-09T12:11:43Z")

</div>

Hello,

I can get data using ananas64 (which seems similar to Modscan) from the device.  
I just downloaded Wireshark and will have a look at what may be going on.

I’ll post some more details here.

---

<div class="post-metadata">

**Author:** ![cardosocea](https://avatars.discourse-cdn.com/v4/letter/c/858c86/32.png) [@cardosocea](https://forum.inductiveautomation.com/u/cardosocea)\
**Post date:** [May 9, 2019, 1:55pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/4 "2019-05-09T13:55:04Z")

</div>

I didn’t manage to get Wireshark going, but I had another try at getting the comms to work and happened to notice this on the driver information:

"The address in the device that mapping will begin at. Note that since the table has already been selected by the Modbus Type property, this number should range between 1-9999. "

Since the addresses I’m trying to reach are Holding registers in the 50000 range, the address is above 9999 which could be why the driver isn’t cooperating.

I did try to read HR0 and I get values, but when trying to read 40000 (or 40001) from the device I don’t get a reply, so perhaps there is some way that the driver behaves that I’m not really sure how to get around.

Any ideas?

Edit:

Ok, the meter I have apparently implements a non-standard (that’s the last I’ll ever use from them) Modbus protocol where their 50000 ranged addresses are in fact 90000 (40000 from the Holding Register + 50000 for the range).  
However, I was trying to read HR50512 and kept getting Bad\_Stale quality from the tag. Would this be from the driver?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 9, 2019, 2:32pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/5 "2019-05-09T14:32:36Z")

</div>

It’s still unclear to me what addresses you’re supposed to be reading, which is why I was hoping for a Wireshark to clear it up.

Many devices erroneously refer to HR’s as starting in the 40000 range when they really mean HR0 or HR1. The problem is it’s ambiguous because 40000 is also a valid holding register address. If they didn’t have their heads up their assess they would at least use 6 digits when specifying to unambiguate - 400000 clearly means HR0 because 400000 isn’t a valid address, so you can assume they are using the ‘4’ to mean HR.

---

<div class="post-metadata">

**Author:** ![mark3](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mark3/32/9843_2.png) [@mark3](https://forum.inductiveautomation.com/u/mark3)\
**Post date:** [May 17, 2019, 8:05pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/6 "2019-05-17T20:05:00Z")

</div>

You may have a hard time using the Ignition Modbus driver for a Modbus device with non-standard addressing.

The Ignition Modbus driver uses register designations (HR, IR, C, etc) to prepend the _standard_ starting address number (3XXXXX, 4XXXXX) onto the beginning of the register number. For example HR1 will become the address 400001.

I am able to read a non-standard address device. For example, I am reading an inverter input register 775 using the Ignition address: **IRI30775** which is converted to reading Modbus address 330775. I only found out this quirk by testing the communication using Kepware and the wireshark feature built into Kepware. Luckily my non-standard address still uses the standard Modbus starting address.

I don’t know how you would be able to read an address in the 9XXXXX range using the Ignition Modbus driver.

---

<div class="post-metadata">

**Author:** ![catardif](https://avatars.discourse-cdn.com/v4/letter/c/5fc32e/32.png) [@catardif](https://forum.inductiveautomation.com/u/catardif)\
**Post date:** [March 2, 2020, 2:32pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/7 "2020-03-02T14:32:40Z")

</div>

I am trying to communicate with a Modbus Device (DIRIS 30A).  
Modbus addresses are in the 50000 range.  
Addresses I want to read in the device:  
|VAB\_THD|51536|  
|VBC\_THD|51537|  
|VCA\_THD|51538|  
|IA\_THD|51542|  
|IB\_THD|51543|  
|IC\_THD|51544|  
|P\_AVG+|51078|  
|P\_AVG-|51080|  
|Q\_AVG+|51082|  
|Q\_AVG-|51084|  
|S\_AVG|51086|

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/e/e81dd0f5ca0d51481062891a15e1fd71d758813a.png)  
I am able to read all addresses in the device using CAS Modbus Scanner and Kepware. I am not able to do the same using Ignition.  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/f/fc04b7ceb981cb85eaf6950fe3370c0d5253853c.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/c/c0aa2f81f5e53fcb239d3b835f8b52c0c03b65f3.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/b/beb9dff1b70fcdc69c852a3ce46fe2dbe86b95e3.png)

Using Ignition, I was never able to communicate with the device using HRXXX (OPC Item path in the designer).  
Using Modbus Addressing in the gateway, I am able to read UINT (16bit) but I am not able to read Float/UDINT (32bit).

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/b/bd1027917bf526908209138078a1dccb676fb97b.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/2/24f9684db46fb35a23a09b20f51729c960caa620.png)

Any ideas why I cant read Float/UDINT?  
I am using Ignition 8.05

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 2, 2020, 3:00pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/8 "2020-03-02T15:00:11Z")

</div>

Try turning the “Span Gaps” setting off.

If that doesn’t work it might be worth getting Wireshark captures of the various softwares reading these registers so we can compare.

---

<div class="post-metadata">

**Author:** ![catardif](https://avatars.discourse-cdn.com/v4/letter/c/5fc32e/32.png) [@catardif](https://forum.inductiveautomation.com/u/catardif)\
**Post date:** [March 3, 2020, 3:13pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/9 "2020-03-03T15:13:03Z")

</div>

* * *

I just read my post and I realise that I am using Modbus Type : Input Register (Float) (Function 4)  
I should be using Holding Register (Float) (Function 3)…  
Here is my post anyway…

* * *

Turning the “Span Gaps” setting off didn’t work.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/7/7f0f6963665af76634f032eb2b0ccedfae1d76fc.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/5/575a9c8f1703678595304eed1e393f65cf90faff.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/5/52a271ffee74a9c56d78dd2676d66942fb16f317.png)

Wireshark captures monitoring tag P\_AVG (address 51078 (+1 offset = 51079)):  
Kepware Wireshark (communication is working):

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/e/e74dc135816e66d2f860ded396822d37e390d8eb.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/e/ec6a888c32c55937a51b5bcc304e53b80950dd1d.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/8/896dc6c9ca3bfa0c529e7f5da97a5bba0054dea6.png)

Ignition Wireshark (communication is not working):

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/a/acd6afb67df37da7199f0b81e08c9ec73eb069b5.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/f/fdf1ad9cd18707fbf4c827985075a8322bbe7838.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/7/7bc1e0585c34649feccc9c2949387e7fe0e8dd9d.png)

I don’t have my Modbus device anymore (Diris A30).  
I will be able to test this device again in 1-2months (on site)…

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 3, 2020, 3:14pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/10 "2020-03-03T15:14:29Z")

</div>

Can you zip those captures and upload them or DM them to me? Screenshots aren’t really that useful.

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [November 29, 2020, 2:59pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/11 "2020-11-29T14:59:03Z")

</div>

I came across this thread when trying to get values from Diris, however mine had the RTU module not TCP installed, so I used a Moxa MB3170 as a middle man.

For anyone that may come across this, use this manual: [https://www.socomec.com/files/live/sites/systemsite/files/SCP/6\_gestion\_energie/diris/diris\_a40/536103b\_GB.pdf](https://www.socomec.com/files/live/sites/systemsite/files/SCP/6_gestion_energie/diris/diris_a40/536103b_GB.pdf)

e.g. Refer to page 22, register 790, Total active power, Ignition address nodeID.HRI790, Moxa settings reverse word order false, one based addressing false, tag scaling linear 100:1

There are meters with TCP module on same system that weren’t configured by me, they are using e.g. nodeID.HRF345 for KW live 1, so far I haven’t stumbled across a manual that contains this register list.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 13, 2021, 2:57pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/12 "2021-05-13T14:57:22Z")

</div>

Split this topic on May 13, 2021, 2:57pm UTC

2 posts were split to a new topic: [Siemens Sentron PAC3220 over Modbus TCP](https://forum.inductiveautomation.com/t/siemens-sentron-pac3220-over-modbus-tcp/46680)

---

<div class="post-metadata">

**Author:** ![Yogesh\_Garud](https://avatars.discourse-cdn.com/v4/letter/y/db5fbb/32.png) [@Yogesh\_Garud](https://forum.inductiveautomation.com/u/Yogesh_Garud)\
**Post date:** [August 29, 2024, 9:51am UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/13 "2024-08-29T09:51:43Z")

</div>

May I know, is this resolved or not?  
Right now I am facing same issue, Not able to read Modbus addresses which is grater than 50000 series.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [August 29, 2024, 11:45am UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/14 "2024-08-29T11:45:47Z")

</div>

If you aren't using the same device, start a new topic with complete details. Ignition is perfectly capable of handling `HR1` through `HR65536`. Also note that the screenshot from the addresses of the DIRIS 30A suggest that it uses zero-based addressing, not 1-based.

---

<div class="post-metadata">

**Author:** ![Yogesh\_Garud](https://avatars.discourse-cdn.com/v4/letter/y/db5fbb/32.png) [@Yogesh\_Garud](https://forum.inductiveautomation.com/u/Yogesh_Garud)\
**Post date:** [January 16, 2025, 3:27pm UTC](https://forum.inductiveautomation.com/t/ignition8-with-modbus-tcp-problems/24823/15 "2025-01-16T15:27:09Z")

</div>

Thanks for reply. I got the solution.
