![西门子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=1739025207-Zf8Rh7shRsFy2ux1OdAjVCBl3mByMRMk-0-fd01ba848a8bbb824de5c46224d390d3)
图4-1 输入信号的边缘检测程序
![](https://epubservercos.yuewen.com/7523AC/22450722209463906/epubprivate/OEBPS/Images/16_01.jpg?sign=1739025207-GNE5Q6scsynXSHuw5qqEQNMrdMcTJG9U-0-45e9f97a3750d63b6cc9bd932edab58f)
图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=1739025207-UULt0SVNnnjN9qD3zd0NLDbLMrLfWNHE-0-8e3b2f816f87123fea591a52b4f2c199)
图4-2 实现按下I0.0,VW2加1的程序
![](https://epubservercos.yuewen.com/7523AC/22450722209463906/epubprivate/OEBPS/Images/16_03.jpg?sign=1739025207-feb439IC6lmhgaqRdQj9HEXmkyc8qGjx-0-0bdbd15b097cc7f33274fad3354c0ae5)
图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是等价的。)