Large Scale multiple OPC UA IOlink blocks as external OPC connections

We have a project where we have to integrate 400 iolink devices across 4 lines.

Our plan is to do this using IFM AL1590 iolink blocks as they can each have 8 devices and have their own integrated OPC UA server. The idea is to get ignition to connect to 50 of these blocks by connecting them as an external OPC UA connection.

That being said, connecting to 50 servers over ethernet sounds like a networking nightmare and I have no idea what to expect.

However, I will only be connecting to 2 tags for each device (pdin, pdout) meaning there will only be 50 blocks x 8 devices/block x 2 tags/device polled total which doesn't seem like a lot.

(pdin 16 char + pdout 38 char) x 2 bytes/char = 108 bytes total. 108 bytes x 400 devices = 43000 bytes or 42.19 kilobytes. So Max 42kb per update if every devices updates at the same time. This assumes that pd in is input data and pdout is response from ignition.

Since OPC UA from external devices are set up on a subscription basis, am I right to assume that I would only get an update when a button is pressed?

The connected devices are user input devices, each with 3 buttons on them that are actuated by operators approximately max 2 times per second. So if we have 25 operators, and assuming they are updating twice per second, that is 50 updates/sec * 108 bytes = 5400 Bps or 5.27 Kbps

This seems like it can be easily handled by a gigabit connection.

My questions are:

  • Has anyone ever connected this many OPC devices to ignition before? I know there is no limit on opc connections, but perhaps there is a practical limit?
  • Are there other performance implications that I am missing from my calculations above that I need to consider?
  • Would this be better to do through a PLC? My assumption is no because you are just adding processing time on top of each transaction.

I've tested something like 5000 OPC UA connections. You'll be fine.

Holy Smokes, that seems crazy :stuck_out_tongue: .

I would be interested to know what your setup was for this?

Was it simulated data or did you have 5000 actual devices connected over a switch?

It was 5000 connections to simulation server(s)... not over ethernet, so that part wasn't quite stressed. It was mostly to test the OPC UA stack.

100 nodes subscribed on each connection, all at 1s, all changing, 500,000 updates/s.


and this was back in 2021.

The limiting factor then was the gateway web UI wasn't designed to handle this quantity of anything. It should be better in 8.3... or at least paginated... and possibly broken in other new and exciting ways :upside_down_face:

Ok kool, well regardless, I have more confidence in this now at least from the opc side.

When you get it all running, can you come back and comment on how you went? There are a bunch of people who consider jobs like this but seem to be discouraged because nobody posts on the completed job.