What can be the cause of the WinCC error message "More than 10000 actions in work" (up to V6.2: "More than 5000 actions in work")?
This error message is generated in the "WinCC_Sys_xx.log" file in the "<DRIVE>:\Siemens\WinCC\Diagnostics" directory. When the error message appears, the Script task can no longer process the actions (in pictures / global script / function with start-stop event of a curve in the Tag Logging). This error message can have different causes.
- Standard triggers are used in these actions.
With a standard trigger of one second, the action is run through every second, no matter whether it has to be run through or not. If these actions cannot be run in time, because other actions have to be processed beforehand, the actions are written to a buffer. Once 10000 entries (5000 up to WinCC V6.2) are reached, you get the entry in the Log File.
You should use tag triggers for actions that depend on an event. For the tag you can specify a trigger for how often the tag is to be monitored. In this case the action can only run if the trigger tag has actually changed. This results not only in faster updating in the picture, but also faster picture selection.
- The actions in the Global Script cannot be processed in the time given.
There should be 5 global actions every second. Since more time than planned is needed for processing the 2nd action, the remaining 3 actions are entered in a queue. If this process repeats itself, then all the actions that cannot be processed are entered in the buffer until it is full. When the queue overflows, the error message concerned is generated in the diagnostics file.
- Through continuous loops and deadlocks in scripts.
- The error message often occurs when you archive a large number of tags cyclically selective or acyclically in the Tag Logging. The Start / Stop functions (begin / end archiving) are executed every 500ms. Since this happens for each tag, the "script.exe" application is heavily loaded.
Use the ODK functions to lock and release process archives:
TLGLockArchiv(NULL,"Archivename",TRUE,NULL); //TRUE = lock FALSE = release
If you are using WinCC version V6.2 (or higher), you can also use tags for starting and stopping archiving.
A detailed description is available in the WinCC Information System in the path below.
WinCC Information System > Contents > Working with WinCC > Archiving process values > Template for function calls
Performance, Diagnostics message