恭喜,你发布的帖子
发布于 2025-04-16 10:46:34
1楼
OB30的循环时间设置太短,
1、如果小于OB30中程序的执行时间,每次调用OB30时中断未完成,又有新的OB30中断被触发,CPU会检测到时间错误(如OB80时间错误中断),导致系统进入停机状态(STOP模式);
2、另外,如果OB30频繁执行而且耗时较长,又会频繁打断OB1的运行,导致主程序整体扫描周期延长,影响系统实时性,极端情况下,主程序可能因为资源被抢占而无法完成正常逻辑处理;
3、如果循环中断间隔过短而且未设置合理的相移,多个循环中断OB之间可能会因为优先级冲突导致任务大量堆积,进一步加剧时间错误;
4、即使没有下载OB80错误处理块,CPU也会在诊断缓冲区中记录时间错误事件,导致维护人员误判故障原因;
对策:
1、优化OB30程序,尽量简短,确保OB30内的程序执行时间远小于循环间隔时间;
2、合理设置循环时间,避免一味追求OB30的高频调用;
3、启用相移时间;
4、添加错误处理OB,如OB80和OB121;
请填写推广理由:
分享
只看
楼主