# Max no. of Modbus TCP Connections

**URL:** <https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587>\
**Category:** Ignition\
**Created:** [August 30, 2022, 1:16am UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587 "2022-08-30T01:16:55Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [August 30, 2022, 1:16am UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/1 "2022-08-30T01:16:55Z")

</div>

Hi

We have a client that has about 800 plcs that send data via modbus TCP to Ignition.  
I need to confirm how many OPC ua connection one Ignition gateway can handle with proper hardware reaource?  
Is there any hard coded limitations?

---

<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:** [August 30, 2022, 1:28am UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/2 "2022-08-30T01:28:11Z")

</div>

Inbound connections to the server or outbound connections as an OPC UA client? What version of Ignition? What do the Modbus TCP devices have anything to do with this?

---

<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:** [August 30, 2022, 3:22am UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/4 "2022-08-30T03:22:33Z")

</div>

Okay, so not OPC UA connections, but 800 Modbus TCP devices / connections. (updated the post title)

Yes it’s possible with good hardware. There is no artificial or license limitation, except maybe on Edge.

You will find it’s a bit awkward to have that many devices, though. The only method of bulk configuration is via `system.device.addDevice` and practically none of the gateway’s table/record UIs gracefully handle large quantities, so the device page will just be a big list of 800 devices.

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [August 30, 2022, 4:02am UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/5 "2022-08-30T04:02:34Z")

</div>

Thanks Kevin  
What about the limitation of number OPC UA out bound connection as client?

---

<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:** [August 30, 2022, 12:22pm UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/6 "2022-08-30T12:22:34Z")

</div>

No limit there either.

---

<div class="post-metadata">

**Author:** ![JWolnisty](https://avatars.discourse-cdn.com/v4/letter/j/e0b2c6/32.png) [@JWolnisty](https://forum.inductiveautomation.com/u/JWolnisty)\
**Post date:** [September 12, 2022, 3:31pm UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/7 "2022-09-12T15:31:12Z")

</div>

I know in theory we can connect up hundreds of devices, but… any “Best Practices” for **practical** device limits? I have a project with about 600 separate Modbus devices (~45,000 tags. 95% read-only). The system Ignition is replacing used multiple front-end servers running Kepware. The backend SCADA system (let’s call it “Brand W”) talked to the Frond End servers to get the data. Client would rather have a 100% Ignition system and get rid of the Front End servers. I’m sceptical about having everything just come into a single gateway. Am I setting myself up for failure here? Or just paranoid?

---

<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:** [September 12, 2022, 3:33pm UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/8 "2022-09-12T15:33:33Z")

</div>

There are other customers successfully using more than 600 Modbus connections. The worst part is creating the connections to begin with, or managing them after the fact. Just need to have decent hardware.

As long as these aren’t connected over radio or serial that requires slow or scheduled polling periods you should be okay. If they are, then I’d recommend using Kepware instead.

---

<div class="post-metadata">

**Author:** ![JWolnisty](https://avatars.discourse-cdn.com/v4/letter/j/e0b2c6/32.png) [@JWolnisty](https://forum.inductiveautomation.com/u/JWolnisty)\
**Post date:** [September 12, 2022, 3:51pm UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/9 "2022-09-12T15:51:20Z")

</div>

Thanks for the quick reply. Just paranoid, I guess!  
I created a script to create all the devices initially - much easier than doing by hand. Fortunately I could turn an Excel list of devices into a python script with some editting.

---

<div class="post-metadata">

**Author:** ![ajdewhirst1](https://avatars.discourse-cdn.com/v4/letter/a/bbe5ce/32.png) [@ajdewhirst1](https://forum.inductiveautomation.com/u/ajdewhirst1)\
**Post date:** [September 12, 2022, 3:53pm UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/10 "2022-09-12T15:53:09Z")

</div>

Hey Kevin, can you help me understand the reasoning behind recommending using Kepware when connecting to multiple devices over radio? Does Kepware create a benefit rather than connecting directly to Ignition? Thanks.

---

<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:** [September 12, 2022, 3:55pm UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/11 "2022-09-12T15:55:38Z")

</div>

It’s for a couple reasons.

1. Kepware allows precise control over the polling, by using channels, devices within channels, and with their scheduling plugin. Our driver offers nothing like this.
2. Our Modbus driver is very old, and like the other handful of old drivers, it’s based around the flawed idea that it should basically be a state machine that is always trying to be connected. This works fine for most drivers in most scenarios, but it’s pretty flawed for Modbus, where it’s common to have slow polling times (longer than say, 10-15 seconds), and it’s also common for Modbus slave implementations to close an inactive TCP connection after 10-15 seconds. You end up with all your devices constantly cycling between disconnected/reconnecting/connected and all your tag qualities blipping back and forth as this happens.

---

<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:** [September 12, 2022, 3:58pm UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/12 "2022-09-12T15:58:07Z")

</div>

Hmmm. I probably ought to make my alternate driver more robust for this case.

---

<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:** [September 12, 2022, 3:59pm UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/13 "2022-09-12T15:59:59Z")

</div>

Might be a nice alternative. Some day I’m gonna get a chance to rewrite ours and at least fix the flawed assumption that losing your connection is an error state that must be recovered from immediately, but I don’t know if we’ll ever do anything to match the channel/device model or scheduling plugin flexibilities.

---

<div class="post-metadata">

**Author:** ![chaoliang](https://avatars.discourse-cdn.com/v4/letter/c/ba8739/32.png) [@chaoliang](https://forum.inductiveautomation.com/u/chaoliang)\
**Post date:** [March 27, 2023, 8:41am UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/14 "2023-03-27T08:41:46Z")

</div>

what about 15 modbus TCP clients to read from Edge unit and send the signals to the gateway via MQTT?

Will it be reliable to use the ignition edge with license up to 15 devices?

---

<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:** [March 27, 2023, 12:15pm UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/15 "2023-03-27T12:15:25Z")

</div>

Presuming you get the license adjusted (pay) for more than two device connections, sure.

---

<div class="post-metadata">

**Author:** ![nader.chinichian](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nader.chinichian/32/9261_2.png) [@nader.chinichian](https://forum.inductiveautomation.com/u/nader.chinichian)\
**Post date:** [April 2, 2023, 6:30am UTC](https://forum.inductiveautomation.com/t/max-no-of-modbus-tcp-connections/63587/16 "2023-04-02T06:30:41Z")

</div>

If you are on low budget try these:  
You can write simple timer script in gateway and change the IP address of the modbus TCP driver and and try to read register of modbus by calling system.opc and manually write result to memory tags.  
Or just use node red to read modbus devices and pass the data to ignition or send it via node red itself with mqqt sparkplug node.  
When it comes to small HMI system or edge system, Ignition is very costly. Most companies which I see, use node red or write your own code for edge node devices.
