In the project, I need to connect the new Siemens 1500plc to read and write data. In this process, I encountered some problems. I only added 372 points, but overload reached 161% and the writing delay reached 3129ms, which was the result after I increased the polling rate to 1200ms. Normally 372 points wouldn't be such a high overload, would it?
What are the factors that affect overload? What should I do next?
Your 372 points are generating 65 separate requests, which indicates that the various points are scattered all over in your PLC. Combine as many points as possible in the PLC in just a few DB, with the points as close to consecutive as possible. This will dramatically improve how many points can be read per request, thereby reducing the number of requests needed.
(Your mean response time looks terrible, by the way. Are you trying to make this connection from outside the plant?)
Yeah, or they're reading a bunch of Strings? All the other S7 datatypes are fairly standard/small, though you are also limited by a pretty small PDU size.
The S7-1500 built in OPC UA server might actually perform in this case.
I have similar problems. MY DBs I'm reading are not really small, but the issue is mainly caused by the strings. If I disable all of my strings, the number of requests will dicrease dramatically. @Kevin.Herron Is there any better way reading strings without such overload issues ?
You probably have to make some changes in your PLC. However, if any of the tags you are currently pointing at are aliases into arrays or structures, change the Ignition OPC Item Path to point directly into the element of the array or structure. That's a big, easy win.
I was able to reduce overload by increasing rate on tag group editor, and deleting a large amount of tags not needed, which included UDTs and arrays within the UDTs.
I also increased the concurrent requests from default 2 on my Control Logix to 4 on the gateway device settings.
Thanks everyone for the help!