wincc7.0 诊断文件夹内报错:超过10000个动作在执行,动作结束超时

在项目运行后,最短1天,最长好几天,在wincc诊断文件夹内,报错:
错误1:1007000,4,,XXX,SCRIPT,ActionOverflow:more than 10000 Actions to work

错误2:1007008,4,,XXX,SCRIPT,EndAct Timeout(这个出现的更频繁,几分钟一次)

报了这两个错误后,HMI基本上处于瘫痪状态,只有重启计算机才管用(根据现场人员反映)。

查看了论坛帮助,http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&objid=2357302&caller=view,说的主要是如下几点解决方法:
1. 使用变量触发器(我基本可以保证使用的全是变量触发器,除了全局脚本内有一个全局动作,2秒执行一次,大概读写20个变量左右)
2.给定的时间内不能完成动作(很难入手检查,在画面按钮内,我使用了一些sleep的函数来仿真脉冲发给PLC,但休眠时间很短,都是100MS左右,而且按钮动作只在操作时被执行一次,应该问题不大吧?)

3.脚本中的连续循环和死锁(这里是指全局脚本?脚本中没有使用循环,其他的地方应该没有使用循环)

4. 变量记录中周期性选择或非周期性归档大量数据(归档数据并不多,周期也都是2秒,经过检查,归档文件夹的尺寸也没问题)。

请教各位专家,这种情况应该如何处理呢?另外,错误1和错误2中的action 和 act 是特指全局脚本吗?还是指画面中所有的C动作和全局脚本呢?

另外,这种现象能判断出具体是哪个画面出的问题或哪个脚本,哪个动作出现的问题吗?尝试着用了一下utool 里的apdiag,但是这个诊断工具太耗内存,短时间也诊断不出什么东西,长时间在现场(已投产)运行也不现实。。。

希望大家不吝赐教,多谢!

图片说明:

wincc7.0 诊断文件夹内报错:超过10000个动作在执行,动作结束超时   

最佳答案

1、你的问题就是使用sleep的问题,使用它会造成假死。即脚本暂停执行,直到sleep结束后才执行。
2、读写多个变量一个个读写浪费了大量的时间,应该是用组的概念来做。
http://www.52plc.net/read.php?tid=6397
http://www.52plc.net/read.php?tid=6494

提问者对于答案的评价:
回答虽然和我的问题联系不大,但是也谢谢您

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc217266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月26日 下午4:05
下一篇 2017年11月26日

相关推荐