西门子S7-300/400PLC的上升沿与下降沿检测指令
来源:电工天下时间:2015-12-24 19:40:47 作者:老电工手机版>>
西门子S7-300/400PLC的上升沿与下降沿检测指令
plc的上升沿、下降沿检测指令的功能需要至少两个扫描循环周期才能完成,即通过比较前后两个扫描周期同一个BOOL变量或RLO(逻辑运算结果)的状态来判断是否是上升沿、下降沿。
同一级的逻辑块的临时(TEMP)局部数据区是公用的,结束对FB、FC的调用后,它们的临时变量的值可能被别的逻辑块的临时变量覆盖掉。网友youhm的测试验证了这一结论。他说:“如果仅仅调用一个FC,代码放在FC里测试实现了存储的功能,当调用多个FC,并且FC里都使用了临时变量,我在另外一个FC变量里把所有的临时变量都复位为0,这时在第一个FC里调用的这段代码就不能实现这个功能了,另外也测试了,在OB35里同时使用临时变量也是一样的效果”。
因此,用块的临时变量作上升沿、下降沿检测指令的边沿存储位来保存变量的状态是极其危险的,稍有不慎,可能会出现灾难性的后果。
建议:“最好还是不要用(临时变量作边沿存储器位),我以前使用过,造成的后果很严重。后来就学乖啦!”
边沿存储位虽然允许使用L区(局部数据区),但是请注意,FB的L区包括静态变量和临时变量等,允许用L区并不说明用临时变量作边沿存储位是合理的。
编程的最高境界是在FB、FC中全部使用局部变量,不使用像M这样的全局变量。这样的块不需作任何修改,就可以移植到其他项目。为此可以使用功能块的静态变量来作上升沿、下降沿检测指令的边沿存储位。这样不会出现使用临时变量带来的问题,也解决了块的可移植性问题。
有个德国人作的符合IEC 61131-3标准的编程软件干脆就把边沿检测指令做成功能块(也可能是IEC 61131-3规定的指令),把使用临时变量作边沿存储位的路彻底堵死了。
相关文章
西门子plc上升沿与下降沿的作用及编程方法
西门子plc上升沿与下降沿的作用及编程方法,西门子plc上升沿与下降沿的作用及编程方法,以及上升沿和下降沿的主要作用说明。
时间:2022-09-20 19:49:42
plc地址上升沿检测指令功能与应用实例
有关plc地址上升沿检测指令的用法,介绍了plc地址上升沿检测指令的符号与功能,并举了一个plc地址上升沿检测指令的应用实例,供大家学习参考。
时间:2020-03-13 07:35:45
西门子plc产品数量检测控制程序的例子
本文介绍了西门子plc实现的数量检测控制程序,在传输带上传输工件,用传感器检测通过的产品数量,来看下整个产品数量检测控制程序的功能与实现过程。
时间:2020-03-12 13:55:13
plc的(P)RLO正跳沿检测指令用法实例
plc的(P)RLO正跳沿检测指令用法,有关(P)RLO正跳沿检测指令的符号与状态字,(P)RLO正跳沿检测指令的使用实例。
时间:2017-04-04 07:17:50
plc(N)RLO负跳沿检测指令实例用法
plc(N)RLO负跳沿检测指令实例用法,包括RLO负跳沿检测指令的符号与状态字,RLO负跳沿检测指令的使用实例。
时间:2017-04-04 07:12:43
plc程序实现正反转检测的问题
有关plc程序实现正反转检测的方法,I0.0为A接近开关的输入口,I0.1为B接近开关的输入口,轮子转动时会有二种情况,一起来学习下。
时间:2015-12-18 14:52:01
【图】西门子s7-200 plc上升沿中断事件的初始化程序
西门子s7-200 plc上升沿中断事件的初始化程序,I0.1上升沿产生的中断事件号为2,在主程序中用ATCH指令将事件号2和中断程序0连接起来,并全局开中断,附有程序代码与语句表。
时间:2015-11-03 16:10:12
【图】西门子s7-200 plc检测输入信号的边沿程序图解
西门子s7-200 plc检测输入信号的边沿程序实例,用上升和下降来区分信号边沿,上升沿指信号山“0”变为“1",下降沿指信号山“1"变为“0",包括程序代码与注释部分。
时间:2015-11-03 12:56:16