Have anyone of you experience the slow response of vision client and in the designer when you open a tag it took 6-8 sec to open. We already restarted our gateway and sql server but still the response is too slow like the other app we have.
Thanks in advance who will reply to this post.
Sure, this happens when the server and the designer/client has problems to communicate due to slow net connection.
Maybe a low internet connection or a bad vpn.
Are you sure you aren’t overloading the PLC supplying the tags? Look in the gateway web interface for Status => Devices.
Also what’s reported in the gateway webpage for cpu and memory usage?
I already checked the Logs and Gateway Status Overview but they’re all Normal and running well. CPU (25%) and Memory Usage(40% or 3-4GB) are also good. So I’m not sure why it suddenly got slow response. Vision client is like 4-7sec to response or opening a simple graphics took time to open.
On the gateway, go to Status => Devices and select the device that is the source of the tags. That page shows load graphics and response time graphics. Take a screenshot and post it here.
So it’s not just tag changes that are slow, the entire Vision client is slow?
Do you have any periodic calls run in the gui thread to any slow functions like
These will lock up your gui
Hi nminchin, pturmen, and jespinmartin1,
Thank you all for you inputs.
We disabled our realtime provider then the vision client runs normal and after that we disabled all the tag and get it back one by one. Then found out that there’s a specific tag that causes our vision, perspective and designer to be sluggish.
This tag has a script inside but I’m not sure why it affects all our vision, perspective and designer.
Tag events have a limited pool of threads to execute on. Any given event code must run in a few milliseconds (on average) to not bog down other tags. Don’t use any form of sleep or busy-looping. Show your tag’s code and we can offer suggestions.
Can we change the number of threads to execute tag event scripts?
If there is a 'process heavy' script to execute, is there a way to call a script to run on another threads?
Yes, there's a parameter that can be added to ignition.conf. I don't have it handy. (I consider it a crutch, not a solution.)
system.util.invokeAsynchronous(). Note that if you have a busy tag spawning many threads, you can get into other trouble, especially if overlapping threads are manipulating the same resources.