OPC-UA communication codesys <-> ignition very slow

Hi everyone,
I use OPC-UA to communicate variables from Codesys to Ignition.
Codesys is configurate with server and I have observed that the communication from the codesys development environment is really slow when Ignition service is active. Furthermore, also the communication of the variables in OPC-UA becomes very slow, as if Ignition overloaded the communication.

I spoke to the developers of Codesys who, seeing that with the Ignition service deactivated the communication returned fast, they told me to write to you.

The variables that the server publishes are not few but I don't think this is the problem and I can't find a solution. Transferring the program in Codesys has become very slow like the communication of the variables in OPC-UA.

What checks can I make?
Did I make a mistake in the communication gateway setting?

How fast are your Ignition OPC tags set to monitor (subscription rate in their tag group)? The default in Ignition is one per second. Paces up to ten per second, for a small set of important values, is not unusual.

{ What you describe sounds like a normal misunderstanding of the kinds of data rates possible/practical in OPC, yielding an overload condition. }

This was one of the doubts I had but I thought that keeping a rate of 1 second was not a problem since both codesys and ignition in the same machine. They are in localhost.

Is 1 second not a fixed time since the read type is subscribed, correct?
What do you advise me to do?
To enter different reading times for variables with different tag groups?

Push back on Codesys. You are running into some implicit limit on the server software or hardware. You may have more tags subscribed than it can reasonably support without seeing a performance degradation.

Your only options on the Ignition side are less tags, slower subscriptions, or yes, maybe try splitting into multiple tag groups. Each tag group corresponds to an OPC UA subscription.

1 Like

I suggest testing in separate machines.

Good idea. I will try this option and in the same way I will ask to codesys the limit about how many tag subscribed is possible processed.

I will let you know

I'm continuing with the tests but in the meantime Codesys has provided me with this link.

In this document they check for each test how CPU performance behaves, but my problem is not that; PC CPU is always around 10%, never overloaded.
I'll continue testing and keep you posted.

If you're using Linux, and you're looking at the load average usually shown at the top in HTOP or TOP like in the examples of the link you sent, this is not in % of CPU load, but instead depends heavily on the CPU on what numbers are acceptable. If you have a 4-core processor for instance a value of 4 means it's 100% loaded, and 8 would mean it's 200% loaded (overloaded), but if it's a single core CPU, then 1 is 100% loaded, 0.10 is 10% loaded.

Screenshots would definitely help troubleshoot things as well, so we can see what you're seeing.

This is what I mean

Average CPU usage is 15%.
There are 3 cores because 1 core is dedicated to Codesys.