电工学习网

 找回密码
 立即注册
查看: 4311|回复: 0
打印 上一主题 下一主题

西门子PLC中上升沿和下降沿的工作原理

[复制链接]
跳转到指定楼层
楼主
发表于 2019-12-19 18:19:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
plc编程中经常用到上升沿和下降沿,大家知道它们的工作原理吗,今天工野就给大家介绍一下上升沿和下降沿是如何产生的,让大家知其然更知其所以然,这样大家在使用上升沿和下降沿时会更得心应手。
我们以西门子S7-300/400PLC为例,在使用上升沿时会有这样的配置。
西门子PLC中上升沿和下降沿的工作原理
S7-300/400PLC中上升沿辅助变量
为什么在使用I0.0的上升沿时需要加一个辅助变量M0.0呢,这就需要从上升沿产生的原理说起。
大家都知道,PLC程序是一个扫描周期接着一个扫描周期循环执行的,要判断一个BOOL量的上升沿/下降沿PLC必须知道上一个扫描周期这个BOOL量的值,这时就需要一个专用的存储地址来存放上个扫描周期的变量值,这就是西门子S7-300/400PLC中检测上升沿/下降沿需要配置辅助变量的原因。
现在我们知道要使用I0.0的上升沿/下降沿需要同时判断I0.0、M0.0两个BOOL量的值,下面我们列出它们的真值表。
西门子PLC中上升沿和下降沿的工作原理
真值表
M0.0代表的是上个扫描周期的变量值,I0.0代表的是本扫描周期的变量值,由上表可以看出,当M0.0为0、I0.0为1时,说明I0.0由0变为了1,产生了上升沿。当M0.0为1、I0.0为0时,说明I0.0由1变为了0,产生了下降沿。
知道了这个原理,在程序中只需判断上个扫描周期的变量值(M0.0)和本扫描周期的变量值(I0.0)即可产生上升沿/下降沿了。
我们再扩展下思路,当上升沿产生时M0.0的值是0、I0.0的值是1,PLC程序进入下一个扫描周期前,会将当前I0.0的值写入到M0.0。当PLC进入下一个扫描周期时,我们假设I0.0保持为1,这时M0.0的值也为1,从真值表可知,当前既不是上升沿也不是下降沿。所以我们可以得出结论,上升沿/下降沿的脉冲保持时间为PLC的一个扫描周期。
掌握上升沿/下降沿工作原理后,我们可以在PLC中自己编程实现上升沿/下降沿功能,同样在单片机开发中也可以以同样的原理产生上升沿/下降沿,大家动手试试吧!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-26 12:43

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表