结构化文本组成部分:指令

结构化文本语句也可以是指令。结构化文本指令在每次被扫描的时候执行。每次结构的条件为真的时,执行结构中的结构化文本指令。如果结构的条件为假,不会对该结构内的语句进行扫描。没有触发执行的梯级条件或者状态转换。
这与使用 EnableIn 触发执行的功能块指令不同。结构化文本指令的执行就像 EnableIn 总是置位一样。
这也不同于使用梯级输入条件触发执行的梯形图指令。一些梯形图指令只在梯级输入条件由假切换为真时执行。这些是梯形图跳变指令。在结构化文本中,指令将在每次被扫描到的时候执行,除非用户预先设定该结构化文本指令的执行条件。
例如,ABL 指令是梯形图中的一个跳变指令。在本示例中,只在扫描到 tag_xic 从清零状态转变为置位状态时执行 ABL 指令。当 tag_xic 保持置位状态或清零时,不执行 ABL 指令。
RSL5K_Structured Text Instructions_v31
在结构化文本中,如果将本示例编写为:
IF tag_xic THEN ABL(0,serial_control);
END_IF;
则将在每次扫描到 tag_xic 置位时执行 ABL 指令,而不只在 tag_xic 从清空状态转变为置位时执行。
如果要让 ABL 指令只在 tag_xic 从清零转变为置位状态时执行,则必须限制结构化文本指令的执行条件。使用单脉冲触发来触发执行。
osri_1.InputBit := tag_xic;
OSRI(osri_1);
IF (osri_1.OutputBit) THEN
ABL(0,serial_control);
END_IF;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal