打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
电工想学会PLC?先搞懂上升沿、下降沿!这篇文章带你搞清楚它!



无论哪种品牌的PLC肯定都会有上升沿、下降沿这两个指令,有不少电工朋友在初学PLC的过程中,碰到这两个指令时总是看不懂这两个指令的作用,今天我们来详细讲解一下这两条指令的原理、使用注意事项和实际应用,全文大约2300字,文章较长请耐心看完这篇文章,保证你能看得懂、学的会这两条指令。

西门子1200PLC

首先我们来分析一下为什么电工朋友会看不懂这两个指令,原因就是在学习PLC的时候,无论是常开、常闭还是输出指令,总归能和时间继电器回路中的常开点、常闭点和线圈一一对应,有一定的电工基础的朋友理解起来就非常容易,但是上升沿和下降沿这两个指令在实际的继电器回路中找不到特别好的类比对象,因此电工朋友刚学习时理解不了这两个指令也就不足为奇了。

那怎么办呢?没有好的办法,虽然PLC编程和继电器控制在进行逻辑控制的时候有很多相似的地方,但毕竟是两样不同的东西,继电器是电磁感应控制,一个则是芯片程序控制,差别还是挺大的,因此电工学习PLC的过程中可以借鉴继电器回路设计思想,但一定不能全部按照继电器回路设计思想,应该开放自己的思想,学习新的思考方法,否则肯定是学不好PLC的,那我们先来看一下其定义:

上升沿下降沿图示

上升沿指令:每次断开到接通转换后触点导通一个扫描周期。

下升沿指令:每次接通到断开转换后触点导通一个扫描周期。

这里面就牵涉到扫描周期的概念,我们知道PLC在运行状态下工作流程主要分成内部处理、通信服务、输入处理、程序处理、输出处理5个部分,执行完一次这些流程所用的时间就是一个扫描周期,这个扫描周期取决于PLC的硬件配置和用户编写的程序代码大小及质量,一般在几毫秒到几十个毫秒不等,如果想详细了解PLC工作过程,可以参考我往期的这两篇文章:

PLC到底是咋工作的,大白话跟您唠明白!

PLC的IO映像区是啥?有什么用?一文给你讲清楚!

PLC扫描周期

搞清楚了扫描周期的概念,我们再来看下实际程序,假设目前的PLC下载完程序运行起来之后的扫描周期是10ms,以下图上升沿程序为例,描述成大白话就是当M0.0由0变为1个一瞬间,上升沿这里会导通10ms,相应的后面的输出M0.1会保持1为10ms,过了10ms之后就算M0.0一直保持导通,M0.1还是恢复为0,而不是1,要想M0.1再次导通,只能先把M0.0由1先变会0,然后再次将其由0变为1,此时M0.1才会保持1为10ms,过了10ms继续恢复为0。

200SMART和1200中上升沿对比

最后再来回头分析概念,上升沿就是在触点由0变1这个瞬间,导通一个扫描周期的时间,而下降沿就是触点由1变0的这个瞬间,导通一个扫描周期的时间,请注意这两个指令捕捉的都是前面触点变换的瞬间,而不是前面触点的最终状态。

那么上升沿和下降沿如何做到这种效果的呢?很简单啊,那就是找一个地方先把上次的位状态存起来,然后再跟现在的位状态对比就可以了,那么为什么在200SMART程序中没有见到这个存储位呢?那是因为系统自己给隐藏起来了,并且每个上升沿都有自己的编号,平时也是隐藏的,想要看到这个编号可以点击“视图”菜单中的“在运行中编辑”按钮即可看到此编号,如下图所示,而在1200或1500PLC中这个存储位就需要自己填写了,具体请参照上图。

上升沿上的编号

了解完其原理,我们使用中应该注意什么呢?由于1200或1500PLC存储位是自己填写的,相对来说比200SMART好用一些,只需要注意下面的第一点即可,但是200SMART这个存储位是系统自己分配且隐藏的,使用上升沿和下降沿时限制较多,请注意下面三点:

1. 因为上升沿和下降沿指令需要断开到接通或接通到断开转换,所以无法在首次扫描时检测上升沿或下降沿跳变。 首次扫描期间,CPU 会将初始输入状态保存在存储器位中。 在后续扫描中,这些指令会将当前状态与存储器位的状态进行比较以检测是否发生转换。大白话就是PLC上电第一次扫描时沿指令不起作用,原因没有前一个扫描周期该位的状态无法比较,至少要从第二个扫描周期才能起作用,这也很好理解。

2. 子程序中有沿指令使用时,如果当子程序在同一个周期内被多次调用时,沿指令这里肯定会出问题,注意是多次调用的时候会出问题,如果只调用一次就不会有任何问题,出现这种情况的原因是因为你无法分配给每一个子程序的沿指令分配各自的存储位,所以运行就会出错,官方文档中也不允许这么使用。

3. 沿指令并不是无限使用的,是有数量限制的,对于200smart来说总共可以使用沿指令为1024个,1200和1500暂未发现有文档描述其数量限制。

那么上述问题如何解决呢?第一个问题解决方法是使用SM0.1这个特殊继电器,其作用为:首次扫描为1,以后为0,是只在第一次扫描导通且只导通一个扫描周期;剩下的两个问题解决方法最好就是自己写一个沿指令程序,然后就可以随便使用了,后面有机会会给大家演示下如何用梯形图和SCL语言分别写出自己的上升沿和下降沿子程序。

沿指令时序图

讲了这么多,那上升沿和下降沿有什么用呢?有时候不用这两条指令还真不好处理一些情况,比如我只是想捕捉到一个输入点的变化的时候去做一些事情,那这时候就是沿信号出场的时候了,实际应用中假如我有个转换开关接到了PLC输入点,当其信号为1时为手动模式,信号为0时为自动模式,现在要求模式切换时必须把输出信号复位一次,也就是说假如现在正处于手动模式输出点有信号,电机都运行着,我想当我切到自动模式时,让所有电机都停下,等待自动模式下触发条件满足再运行,这时候你总不能一直把输出点复位着吧,最好就是切换的时候只需复位一次即可,那这时候无论是手动切自动还是自动切手动,使用沿信号就非常适合处理复位一次输出信号,沿信号在实际编程中应用还是挺多的,大家在编程过程中自己慢慢体会。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PLC的扫描周期与脉冲输入信号处理简介
缩短PLC程序扫描周期的方法
PLC案例详解子程序调用
如何缩短PLC扫描周期,提高程序运行效率
第8章 程序控制类指令设计
入门学PLC编程无压力,编写控制程序必掌握选型指令,收好不谢
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服