研发埠
标题:
S7-300F S7-400F在标准程序中,如果一个或者多个故障安全输入信号跳变,该如何处理?
[打印本页]
作者:
魏冲
时间:
2013-6-6 15:56
标题:
S7-300F S7-400F在标准程序中,如果一个或者多个故障安全输入信号跳变,该如何处理?
作者:
姬晓军
时间:
2013-6-6 16:01
如果输入是在标准程序和安全程序中都进行了扫描,那么你可能看到故障安全输入信号在标准程序中跳变的情况。发生跳变是因为不仅仅在OB1的开始更新输入的过程映象表,而且当F-CALL (安全程序)被调用时也会更新过程映象表。因而输入值是在安全程序被调用之前被采集还是调用之后进行采集,将得到不同的结果。举例:· 自动防故障装置的输入是在标准程序的OB1中进行查询的。安全程序是在OB35中调用的。故障安全输入模块已被钝化。· 步骤: 1. 当调用OB1时,读到的输入值为“1”。2. 这时OB35中断OB1。F-CALL (安全程序)被调用。F I/O的过程映象表得以更新。由于输入模块被钝化,输入值为“0”被读入安全程序中。3. 当OB35完全处理完成后,OB1才完成——读入的输入值仍旧是“0”。输入的过程映象表已经在F-CALL的调用时进行了更新,并且继续在OB1中被使用。4. 下一次通过OB1调用标准程序时,该位再次以“1”值被读入。· 根据OB35中断OB1的不同时刻,输入可能有不同的状态。补救措施:为了避免该情况的发生,可以将标准程序中用到的输入传送到一个标志位,举个例子, 在F程序中或者随后直接在标准程序中访问这个标志位。
欢迎光临 研发埠 (http://bbs.yanfabu.com/)
Powered by Discuz! X3.2