# Modbus TCP Scnheider M580

**URL:** <https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815>\
**Category:** Ignition\
**Created:** [July 17, 2020, 9:27am UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815 "2020-07-17T09:27:20Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![bruno.nunes](https://avatars.discourse-cdn.com/v4/letter/b/a5b964/32.png) [@bruno.nunes](https://forum.inductiveautomation.com/u/bruno.nunes)\
**Post date:** [July 17, 2020, 9:27am UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/1 "2020-07-17T09:27:20Z")

</div>

Hello,

I’ve been playing with Ignition using multiple PLCs, and I’m having problems ONLY with one specific model - M580 from Schneider.

What happens with it, is that writing is quite slow. If I invoke a system.tag.writeBlocking I’ll have to wait quite a bit, and we had planned some operations where making sure the values are written is very important, as is response time.

Now, I have experienced this problem with other tools, like our current (and old) SCADA system, but there it can be mitigated by increasing the maximum sockets used by the modbus driver, and that has a big impact on write performance with minimum impact on the network traffic.

I did see on [Ignition 8 Manual](https://docs.inductiveautomation.com/display/DOC80/Connecting+to+Modbus+Device) that there should be an option for “Concurrent Request” that might eventually do the same thing, but that option does not come up for me in either **8.0.14** and **8.0.12**.

Anyone experienced something similar? Is there any way to improve this kind of performance?

---

<div class="post-metadata">

**Author:** ![jonathan.taylor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jonathan.taylor/32/4048_2.png) [@jonathan.taylor](https://forum.inductiveautomation.com/u/jonathan.taylor)\
**Post date:** [July 17, 2020, 9:55am UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/2 "2020-07-17T09:55:47Z")

</div>

With M580s and M340s we’ve pretty much exclusively used a third party OPC like Kepware and haven’t really experienced slow response unless there were external factors, like network issues, affecting it. We’ve not had to increase the max sockets per device to more than 1.

Are you connecting directly into the PLC or via a separate network card on the backplane?

---

<div class="post-metadata">

**Author:** ![bruno.nunes](https://avatars.discourse-cdn.com/v4/letter/b/a5b964/32.png) [@bruno.nunes](https://forum.inductiveautomation.com/u/bruno.nunes)\
**Post date:** [July 17, 2020, 10:28am UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/3 "2020-07-17T10:28:24Z")

</div>

Hello,

Thank you for the reply.

We’re connecting directly to a network card and apparently, with no issues on the network.

As a side note, we did manage to have good performance with kepware too. For this particular PLC, we did have to increase max sockets though, in kepware.  
M340 are having no issues in either Ignition or Kepware. This particular M580 PLC is controlling complex processes, and it does have a large number of tags, but we’re only capturing a small number.

We’re still in the process of choosing a tool (or combination of tools), and Ignition seems to offer the set of tools we need, and most of all, a combination of ease of use while also allowing to do complex things, so I’m really curious about this particular aspect to decide what gateway we should choose for our initial approach.

Thanks again.

---

<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:** [July 17, 2020, 12:31pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/4 "2020-07-17T12:31:49Z")

</div>

“Concurrent Requests” is an AB driver feature. A similar effect can be achieved with other drivers by using a second device connection to the same PLC. Use one connection for all the stuff that you just read (subscribed), watching the diagnostics for device load. Use the other connection for the (few) items that will be bidirectional.

---

<div class="post-metadata">

**Author:** ![bruno.nunes](https://avatars.discourse-cdn.com/v4/letter/b/a5b964/32.png) [@bruno.nunes](https://forum.inductiveautomation.com/u/bruno.nunes)\
**Post date:** [July 17, 2020, 1:23pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/5 "2020-07-17T13:23:40Z")

</div>

Thanks again for the reply.

We’re experiencing this problem even capturing only a couple of tags… It’s not that there is a HUGE difference, but after a while delays might sum up to a significant downtime between operations (24/7 operation). As it stands, we can “remove” this small delay with Kepware, but not with Ignition modbus driver so far.

I’ll link a small video (quick app install with watermark, but just to give an idea), and see if we’re not simply hoping for something utopic, or simply doing something wrong.

[Here is the video](https://grupolusiaves-my.sharepoint.com/:v:/g/personal/bruno_nunes_grupolusiaves_pt/EX-LJdmCG1lAmnOS4sSGhFEBK6mb7h2HX0J-rZqjfu5bzQ?e=Z27QUE)

The tags you see are ALL the tags we have configured right now, and from that M580 we’re only using 6 tags (Bal21\_e\_Peso\_Actual, Bal21\_e\_SP\_Peso\_vazia, SP\_max\_Vel\_Bal21\_P176, Teste\_escrita\_1\_f2, Teste\_escrita\_2\_f2 and Teste\_escrita\_3\_f2). As you can see, reading is very nice, only write is having that small delay, and only on that PLC (we have Schneiders TSX Premium/M340/M580, and a couple of Siemens PLCs).

Thanks again for all the help.

---

<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:** [July 17, 2020, 1:29pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/6 "2020-07-17T13:29:02Z")

</div>

> [@bruno.nunes](#):
>
> quick app install with watermark

~~Nope. Not gonna do that. Even if it would install on Linux. And that definitely does not qualify as "linking a video".~~

Probably shouldn't suggest an app install will be necessary to watch the video.

---

<div class="post-metadata">

**Author:** ![jonathan.taylor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jonathan.taylor/32/4048_2.png) [@jonathan.taylor](https://forum.inductiveautomation.com/u/jonathan.taylor)\
**Post date:** [July 17, 2020, 1:30pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/7 "2020-07-17T13:30:53Z")

</div>

It’s just a sharepoint video link Phil, no installs

---

<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:** [July 17, 2020, 1:31pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/8 "2020-07-17T13:31:55Z")

</div>

I think a couple wireshark captures highlighting the difference in traffic from Kepware vs. Ignition for a few writes would be helpful.

---

<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:** [July 17, 2020, 1:41pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/9 "2020-07-17T13:41:14Z")

</div>

FWIW, enabling concurrent requests in the Modbus TCP driver is something we can do (and I think we have a feature ticket for it).

It’s not the same as AB where each concurrent request is also a logical CIP connection to the processor, but it’s the same basic idea, which as that more than 1 request is allowed to be issued at a time. This is possible on Modbus TCP (and only Modbus TCP) because every request has a sequence number associated with it in the Modbus TCP header.

I think many years ago before the driver was released we had this setting exposed but found that some of our test devices tended to respond poorly or close the connection all together when it was used.

---

<div class="post-metadata">

**Author:** ![bruno.nunes](https://avatars.discourse-cdn.com/v4/letter/b/a5b964/32.png) [@bruno.nunes](https://forum.inductiveautomation.com/u/bruno.nunes)\
**Post date:** [July 17, 2020, 1:50pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/10 "2020-07-17T13:50:07Z")

</div>

> [@pturmel](#):
>
> Probably shouldn’t suggest an app install will be necessary to watch the video.

Sorry, probably bad sentence building. But yea, I was just referring to the quality of the video, basically.

> [@Kevin.Herron](#):
>
> enabling concurrent requests in the Modbus TCP driver is something we can do

Oh, that would be interesting to try out. By the way, we're enjoying Ignition so far, nice set of features and the community seems to very very friendly too.

---

<div class="post-metadata">

**Author:** ![Koussaila\_Fekroune](https://avatars.discourse-cdn.com/v4/letter/k/96bed5/32.png) [@Koussaila\_Fekroune](https://forum.inductiveautomation.com/u/Koussaila_Fekroune)\
**Post date:** [October 7, 2022, 2:42pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/11 "2022-10-07T14:42:54Z")

</div>

Bon jours j’ai essayé de lire les data de puis PLC shnider M340 sur ignition mais j’arrive pas ???

---

<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:** [October 7, 2022, 2:50pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/12 "2022-10-07T14:50:22Z")

</div>

> [@Koussaila\_Fekroune](#):
>
> j’arrive pas

That doesn't even give us a hint at your problem. Please share the following:

- Which driver did you select?
- What addresses are you trying to read?
- What errors are showing up in the wrapper log?

When you paste text from any errors, please use the "pre-formatted text" button after highlighting the pasted text. That will preserve line breaks and indentation for easy reading.

---

<div class="post-metadata">

**Author:** ![Koussaila\_Fekroune](https://avatars.discourse-cdn.com/v4/letter/k/96bed5/32.png) [@Koussaila\_Fekroune](https://forum.inductiveautomation.com/u/Koussaila_Fekroune)\
**Post date:** [October 7, 2022, 3:31pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/13 "2022-10-07T15:31:41Z")

</div>

Le problème j’arrive pas à lire par exemple %iw0.6.3 sur ignition sachant que jai utilise modbus tcp

---

<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:** [October 7, 2022, 3:35pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/14 "2022-10-07T15:35:55Z")

</div>

Ignition only supports classic Modbus function codes. You must supply addresses in this format:

[https://docs.inductiveautomation.com/display/DOC81/Modbus+Addressing](https://docs.inductiveautomation.com/display/DOC81/Modbus+Addressing)

If there is no HR, IR, C, or DI addresses associated with `%iw0.6.3`, then Ignition will not be able to read it.

Ignition supports the standard memory areas documented at [https://modbus.org/](https://modbus.org/).

---

<div class="post-metadata">

**Author:** ![Arnaud\_Declerck](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/arnaud_declerck/32/44872_2.png) [@Arnaud\_Declerck](https://forum.inductiveautomation.com/u/Arnaud_Declerck)\
**Post date:** [October 7, 2022, 4:28pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/15 "2022-10-07T16:28:22Z")

</div>

![Capture d’écran 2022-10-07 à 18.26.12](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/8/c87228a7c7b05eddaa0527b1076b8d0224afb1ea.png)

ceci devrait t'aider

---

<div class="post-metadata">

**Author:** ![jay](https://avatars.discourse-cdn.com/v4/letter/j/ed8c4c/32.png) [@jay](https://forum.inductiveautomation.com/u/jay)\
**Post date:** [October 7, 2022, 8:34pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-scnheider-m580/36815/16 "2022-10-07T20:34:50Z")

</div>

You can only read input registers (3xxxx) if you choose Mixed Topological and State RAM. Otherwise (and better), you must move the %IWs to %MWs are read them as holding registers. This is for an M340. I don't have an M580 so I am guessing it will be the same setup.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/1/71fce1c83f99e04c61f7f2ceaccddbb8aa2d70f9.png)
