西门子plc sfc如何调用
2020-11-30
CALL_SFC(用指令框调用SFC)指令,是用来调用SFC(系统功能),如果允许输入端EN的逻辑状态为“1”,则执行指令,在执行CALL_SFC指令时:
1)保存调用方块时的返回地址;
2)先前的本地数据区被当前的本地数据区替换;
3) MA位(激活MCR的状态位),被转移到B堆栈;
4)建立被调用功能的新的本地数据区。
在完成以上处理后,程序继续处理被调用的SFC程序。如果SFC被调用(EN=“1”)以及没有错误出现,则ENO=“1”。
表4-148为用指令框调用SFC指令对状态位的影响。
表4-148;;;;用指令框调用SFC指令对状态位的影响
2)先前的本地数据区被当前的本地数据区替换;
3) MA位(激活MCR的状态位),被转移到B堆栈;
4)建立被调用功能的新的本地数据区。
在完成以上处理后,程序继续处理被调用的SFC程序。如果SFC被调用(EN=“1”)以及没有错误出现,则ENO=“1”。
表4-148为用指令框调用SFC指令对状态位的影响。
表4-148;;;;用指令框调用SFC指令对状态位的影响
;;;;; - | ;;; BR | ;;; CC1 | ;;; CC0 | ;;; OV | ;;; OS | ;;; OR | ;;; STA | ;;; RLO | ;;; /FC | |
;无条件 | ;写状态位 | ;;; x | ;; - | ;;; - | ;;; - | ;;; 0 | ;;; 0 | ;;; x | ;;; x | ;;; x |
;有条件 | ;写状态位 | ;- | ;; - | ;; - | ;;; - | ;;; 0 | ;;; 0 | ;;; x | ;;; x | ;;; x |