3.3.2 使能输入与使能输出
在梯形图中,用方框表示某些指令、函数(FC)和函数块(FB),输入信号和输入/输出(InOut)信号均在方框的左边,输出信号均在方框的右边。“转换值”指令CONVERT在指令方框中的标示符为CONV。梯形图中有一条提供“能流”的左侧垂直母线,图3-35中I0.0的常开触点接通时,能流流到方框指令CONV的使能输入端EN(Enable input),方框指令才能执行。“使能”有允许的意思。
如果方框指令的EN端有能流流入,而且执行时无错误,则使能输出ENO(Enable Output)端将能流传递给下一个元件(见图3-35的左图)。如果执行过程中有错误,能流在出现错误的方框指令处终止(见图3-35的右图)。
图3-35 EN与ENO
将指令列表中的CONVERT指令拖放到梯形图中时,CONV下面的“to”两边分别有3个红色的问号,用来设置转换前后的数据的数据类型。单击“to”前面或后面的3个问号,再单击问号右边出现的按钮,用下拉式列表设置转换前的数据的数据类型为16位BCD码(Bcd16),用同样的方法设置转换后的数据的数据类型为Int(有符号整数)。
在程序中用十六进制格式显示BCD码。在RUN模式用程序状态功能监视程序的运行情况。如果用监控表设置转换前MW24的值为16#F234(见图3-35的左图),最高位的“F”对应于2#1111,表示负数。转换以后的十进制数为-234,因为程序执行成功,有能流从ENO输出端流出。指令框和ENO输出线均为绿色的连续线。
也可以右击图3-35中的MW24,执行出现的快捷菜单中的“修改”→“修改值”命令,在出现的“修改”对话框中设置变量的值。单击“确定”按钮确认。
设置转换前的数值为16#23F(见图3-35的右图),BCD码每一位的有效数字应为0~9,16#F是非法的数字,因此指令执行出错,没有能流从ENO流出,指令框和ENO输出线均为蓝色的虚线。可以在指令的在线帮助中找到使ENO为0状态的原因。
ENO可以作为下一个方框的EN输入,即几个方框可以串联,只有前一个方框被正确执行,与它连接的后面的程序才能被执行。EN和ENO的操作数均为能流,数据类型为Bool。
下列指令使用EN/ENO:数学运算指令、传送与转换指令、移位与循环指令、字逻辑运算指令等。
下列指令不使用EN/ENO:绝大多数位逻辑指令、比较指令、计数器指令、定时器指令和部分程序控制指令。这些指令不会在执行时出现需要程序中止的错误,因此不需要使用EN/ENO。
退出程序状态监控,右击带ENO的指令框,执行快捷菜单中相应的命令,可以生成ENO或不生成ENO。执行“不生成ENO”命令后,ENO变为灰色(见图3-36),表示它不起作用,不论指令执行是否成功,ENO端均有能流输出。ENO默认的状态是“不生成”。
视频“数据处理指令应用(A)”可通过扫描二维码3-6播放。
二维码3-6