
上QQ阅读APP看书,第一时间看更新
项目4 输入信号的边缘检测
项目要求
使用S7-200 SMART PLC的边沿指令来检测输入信号的变化。使用上升沿和下降沿来区分信号的变化,上升沿指信号由“0”变为“1”,下降沿指信号由“1”变为“0”。
项目分析
本项目主要考虑信号的边沿指令的使用。程序中通过2个存储字分别累计输入I0.0上升沿数目以及输入I0.1下降沿数目。
编程示例
程序清单及注释如图4-1所示。

图4-1 输入信号的边缘检测程序

图4-1 输入信号的边缘检测程序(续)
经验技巧
边沿指令主要用于执行一次的情况。如果要求按下I0.0,VW2加1,则需采用图4-2所示程序;而图4-3所示程序则不行,结合PLC的循环扫描工作方式分析可知:按下I0.0,由于扫描周期时间很短,I0.0=1时每个扫描周期VW2都会加1。

图4-2 实现按下I0.0,VW2加1的程序

图4-3 无法实现按下I0.0,VW2加1的程序
分析思考
图4-1所示“程序段1”中的初始化MD1=0与初始化MW1=0、MW3=0有何关系?
(提示:MD1由M存储区的第一个字节开始的4个字节即MB1~MB4组成,也就是由MW1和MW3组成,所以MD1=0与MW1=0、MW3=0是等价的。)