Improve Ignition Device Throughput

I am currently connecting to an Echo instance which has Throughput around 200 ish / sec as shown on screenshot. I just want to know if there is a way to dramatically increase Throughput e.g. increase from 200 /sec to 400 /sec. Where is the limitation of Throughput comes from, PLC side or Ignition side? Thanks for the help!

It's the PLC side.

For starters, in the Ignition device configuration, increase the CIP Connection Size to 4000, and the Concurrent Requests from 2 to 4, and see where you're at.

2 Likes

I've never had luck increasing the connection count, but the CIP connection size definitely helps. A real PLC will also possibly make a difference. Once you use a real PLC, you can connect to the web interface of the PLC to see the Class 3 Comms status and see if it's overloaded or not. If it's overloaded you're going to have to try to optimize your comms more (search the forums as there's lots of topics on this). But basically if you're using AOIs, try to move your data into optimized UDTs and set all AOI tags (parameters and local tags) to at least ReadOnly for external access. If you're using PlantPax......do you have to because it's notoriously bad at comms performance.

1 Like

Hi Kevin, thanks for your prompt reply! Is there anything I can do on the PLC side to improve performance — for example, upgrading the PLC model, optimizing task scheduling, or changing program structure? Currently, I’m running three periodic tasks (125ms, 250ms, and 500ms) on a 1756-L84E. Do you have a rough idea of what kind of maximum throughput I might expect with this setup?

On the L8x series of processors, the communications is handled by a dedicated processor and is unaffected by your task scheduling on the PLC unlike previous generations of processors.

It's all going to come down to your UDTs and AOIs, External Access settings, and the more you put data into structures or arrays, the better.

In an optimized environment you can read a lot of data quickly. For example at the plant I'm currently commissioning, here's a screenshot of the stats from one processor with a CIP connection size of 4000 and 2 concurrent connections:

1 Like

The rabbit hole is deep: Ignition & Logix Best Practice Tips for better communications

On an L8x the periodic tasks don't matter because communications has its own core.

What matters the most is that you're accessing tags co-located in the same UDTs, at the same rates, and avoiding the use of AOIs and other system types that can't be read efficiently.

4 Likes

Hey Michael, thanks for sharing your insights! I’ll definitely take a look at how it performs on an actual PLC. Unfortunately, we are using PlantPAx :sweat_smile:.

Doomed, in terms of performance.

Use FactoryTalk and make an OPC UA connection to it.

4 Likes

Ewww! See this discussion after you finish with the rabbit hole linked above:

4 Likes

Out of curiosity, I downloaded PlantPAx v4.10.06 and used Notepad++ to do a bulk search and replace for ExternalAccess="None" to replace it with ExternalAccess="Read Only" and it found 2,757 occurrences in just the Process Objects L5X files. I didn't do the additional ones for date/time instructions, as I'm guessing they're less frequently used.

1 Like

Sounds about right. Look for encoded objects--there might be more in those.

I found a few encoded ones and ran them through the "decoder" tool before running the bulk search/replace, but I didn't open up every one, just spot checked and the encoded ones seemed to be just a few here and there.

Now if only someone could figure out the encoding on newer versions.

1 Like

It certainly PAx a PUnch! (to PErformance). I'd be going with the Factory Linx OPC-UA option as Kev mentioned