working with this redundant project under WinCC OA 3.14 Patch 2, Windows64.
Only ONE S7 manager configured, managing 4 S7 PLCs (2xS7_1500 + 2xS7_300). Getting log errors with one of them (an S7 1500).
I get a log SEVERE error, "56/s7, Discarding NUM write requests du e to overload of device YYY plc 1".
This happens after dpSetting 220 local dpes all at once (within a single dpSet).
Each DPE has a different output address to this S7 1500 PLC.
Half of the dpes have int16 datacomponent addresses assigned, whilst the other half, are bool Datacomponent.
These writes are being done periodically, -currently, each minute-, with different values each time.
The amount 'NUM' of discarded writes grew over time, and kep gotting much higher than the amount of single-time written dpes. For example, after several write-cycles, the value reached 1201.
To overcome the situation, I have added this three settings to the s7 section of the config:
Code: Select all
[s7]
MaxWriteBlockLen = 230 # group writes
MaxRequestQueueSize = 300 # default value is 200
maxOutputQueueSize = 4000 # default value, 2739, seems to be too small after changing the two previous parameters
After incrementing MaxRequestQueueSize to 400, the error appears no more.
I would like to know why this happened and why did it stop happening.
As the documentation reads, the maximum value for MaxRequestQueueSize would be 1000. In the future, I may need to synchronously write more than 220 addresses, and I am afraid the one thousand limit could become insufficient.
Could it help to add another S7 manager and migrate those addresses (distrib) to that second driver?
Side note: I have looked atthe _S7_Conn-type plc-DP LastError-value (with PARA, and for every configuration I have tried). Everytime I saw 0, despite the error logs.
If an error is being reflected here, the value is getting overwritten too fast to be seen.