恭喜,你发布的帖子
发布于 2021-03-20 11:40:55
11楼
对于例子程序的补充说明:
上述验证程序的原理是,当启动plc后,plc因硬件定义的I0.0上升沿外部输入中断生效,当此时有I0.0的外部输入信号上升沿输入时,触发外部输入上升沿中断(OB40)。由于,我在OB40中编辑了一个比较ADD(INT)加指令后面挂了M0.0的线圈,所以,外部输入中断执行后M0.0 =1的结果,注意,这个M0.0始终为1的,因为,纵然我分离中断后再次调用OB40后,这个M0.0的状态因为没有其它程序段复位它,使它一直“保持”了始终为1 的状态,这个现象类似于200SMART程序中的SM0.0无法产生沿一样。所以,当再次触发OB40时,中断分离程序将由于触发DETACH指令使能端,无法再次产生沿而无法触发中断分离。因此,如果我没有复位M0.0,外部输入中断分离指令是无法再次触发。使能M0.3 = 1一个沿后,外部输入中断将继续出发生效。
OB40:
另外,对应于I0.0的外部硬件输入,我也尝试着利用西门子支持线圈写入I地址区的惯例,试着利用M地址使能I0.0,触发外部输入中断的结果是无效的。
如果将这个I0.0触发其它普通指令仍然有效,图示:
由此,说明I0.0上升沿输入中断,必须是外部端子输入为1时才有效,程序内部给定的值将不执行外部输入中断指令,实际上这个中断全称也已经说明的“外部硬件输入”中断的含义。
请填写推广理由:
分享
只看
楼主