I have a Siemens S7-1500 and facing some overload issues.
Within the plc I have several DBs with similar structure (including several strings) I want to read.
But even if I enable only one DB I already se 160 requests:
When I enable more than one DB the request number increases and the overload shows more than 100%.
When I disable the strings within the DB the reqesut count is decreasing extremely.
So I guess the strings are the reason for the high number of requests.
For the background:
I created several UDTs (similar to the plc structure), which contains other UDT's. Within this UDTs I'm reading the strings like in this example:
Are all of the other things in those DBs that you are trying to read consecutive? Ignition optimizes by reading consecutive bytes in the DB up to the max packet size (PDU? 240bytes, I think). However many total bytes per DB, divided by 240 (and rounded up) will the the theoretical best number of requests for that DB. With a couple caveats: single multi-byte items won't be broken into two requests--the earlier request will be shortened and the entire item read in the next requests, shuffling all later items. Unneeded bytes from unread items will be caught up in the request anyways, wasting space in requests.
If you still can't read everything you want, then you will have to start making hard decisions about how to split the workload up into slow and fast tag groups. And/or using leased tags.
Hi,
the other data I'm reading are not completely consecutive. I have some empty bytes in between:
But when I disable all strings, that are in between, unevenly distributed,
the number of request will decrease dramatically to a single digit.
So I guess, the problem is not caused by the other data.
Even the try to read the single characters instead of reading the complete string doesn't help.
For the usecase I can't get rid of strings, so I have a problem, when I won'T find a solution.