![西门子S7-200 SMART PLC编程与应用案例精选](https://wfqqreader-1252317822.image.myqcloud.com/cover/712/43023712/b_43023712.jpg)
上QQ阅读APP看书,第一时间看更新
项目4 输入信号的边缘检测
项目要求
使用S7-200 SMART PLC的边沿指令来检测输入信号的变化。使用上升沿和下降沿来区分信号的变化,上升沿指信号由“0”变为“1”,下降沿指信号由“1”变为“0”。
项目分析
本项目主要考虑信号的边沿指令的使用。程序中通过2个存储字分别累计输入I0.0上升沿数目以及输入I0.1下降沿数目。
编程示例
程序清单及注释如图4-1所示。
![](https://epubservercos.yuewen.com/7523AC/22450722209463906/epubprivate/OEBPS/Images/15_01.jpg?sign=1739122279-Ocw5J8flPKZdwWJWczfcFtMVC5mVUOug-0-2cbc847c399391f34938a6aa0804dc45)
图4-1 输入信号的边缘检测程序
![](https://epubservercos.yuewen.com/7523AC/22450722209463906/epubprivate/OEBPS/Images/16_01.jpg?sign=1739122279-xAxtVKzSj96MdthcyGZgGCnGLzejAwKf-0-67476ba08566e7cced0105166ae4b568)
图4-1 输入信号的边缘检测程序(续)
经验技巧
边沿指令主要用于执行一次的情况。如果要求按下I0.0,VW2加1,则需采用图4-2所示程序;而图4-3所示程序则不行,结合PLC的循环扫描工作方式分析可知:按下I0.0,由于扫描周期时间很短,I0.0=1时每个扫描周期VW2都会加1。
![](https://epubservercos.yuewen.com/7523AC/22450722209463906/epubprivate/OEBPS/Images/16_02.jpg?sign=1739122279-w4oUb9MoHkT5sFq4CSWqtUbrK7u7Qcrd-0-bf8e9c68ffaa242410109c8507f344d0)
图4-2 实现按下I0.0,VW2加1的程序
![](https://epubservercos.yuewen.com/7523AC/22450722209463906/epubprivate/OEBPS/Images/16_03.jpg?sign=1739122279-jXOZl1Aovz5W6f3bmabhqeJmAK0dgsCS-0-ac248e077b3a2269c6d153a2939caae7)
图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是等价的。)