回复数:1 | 点击数:418    
标题:原创干货|学员分享|PLC的扫描周期与脉冲输入信号处理简介

BFHPLC

帖子  15

积分  1640

我的商铺

私信加好友

发表于:2018/5/18 14:40:00楼主



大家在做项目中,可能会遇到下面的情形:

This is Title


一个输入信号,例如X0光电传感器,信号导通的时间非常短,只有一瞬间,这个时候如果我们程序中写X0上升沿去做一件事情,这个上升沿往往采集不到。

这是什么原因呢?


这要从扫描周期开始说起。PLC 的工作方式采用不断循环的顺序扫描工作方式。 扫描顺序为从上到下, 从左到右,每一次扫描所用的时间称为扫描周期或工作周期。 CPU 从第一条指令执行开始,按顺序逐条地执行用户程序直到用户程序结束,然后返回第一条指令开始新的一轮扫描。根据程序量的大小所用的扫描周期的时间也不同,一般为几微秒。






扫描过程分为 “ 输入采样 ” 、 “ 程序执行 ” 和 “ 输出刷新 ” 三个阶段。

This is Title


 (1)  输入采样阶段 PLC 在输入采样阶段,首先扫描所有输人端点,并将各输入状态存入相对应的输入映像寄存器中。此时,输入映像寄存器被刷新。接 着,进入程序执行阶段和输出刷新阶段,在此阶段输入映像寄存器与外界隔离,无论输入情况如何变化,其内容保持不变,直到下一个 扫描周期的输人采样阶段,才重新写入输入端的新内容。所以一般来说,输入信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。由此可见,输入映像寄存器的数据完全取决于输入端子上各输入点在上一刷新期间的接通和断开状态。


 (2)  程序执行阶段 根据 PLC 梯形图程序扫描原则,一般来说, PLC 按从左到右、从上到下的步骤顺序执行程序。当指令中涉及输入、输出状态时, PLC 就从输入映像寄存器中 “ 读入 ” 采集到的对应输入端子状态, 从元件映像寄存器 “ 读入 ” 对应元件 (“ 软继电器 ”) 的当前状态。 然后,进行相应的 运算,运算结果再存入元件映像寄存器中。对元件映像寄存器来说,每一个元件 (“ 软继电器 ”) 的状态会随着程序执行过程而变化。  


(3)  输出刷新阶段 在所有指令执行完毕后, 元件映像寄存器中所有输出继电器的状态 (接通/断开 ) 在输出刷新阶段转存到输出锁存器中, 通过输出端子和外部电源,驱动外部负载。 由此可见,输出映像寄存器的数据取决于输出指令的执行结果,输出锁存器中的数据由上一次输出刷新期间输出映像寄存器中的数据决 定,而输出端子的接通和断开状态,完全由输出锁存器决定。







 

我们再来回头看刚才的问题,有了上面的解释,就不难理解,一个输入信号导通的时间必须保证在【一个扫描周期以上】,才能百分之百被捕捉到。 如果一个信号导通的时间小于一个扫描周期,那会出现下面两种情况:


 信号导通的时候扫描周期在【采集输入状态】这一步,OK,信号被采集到。 如果信号导通的时候扫描周期在执行程序或者刷新输出点,那很不幸,信号就不会被采集到。 如何来解决这个问题呢?







 对于这种时间非常短的【脉冲信号】,不能按照常规的上升沿输入来处理了。必须用独立于扫描周期的输入采样机制来处理。具体方法如下:


 第一种:

  接入高速计数器通道 我们知道,高速计数器之所以高速,是因为它采集信号的机制完全独立于PLC的扫描周期。我们可以利用它,来完成时间极短的脉冲信号捕捉。然后读取C235的当前计数值(如果大于等于1,说明采集到信号,执行对应结果。) 


第二种:

  利用PLC输入点的脉冲捕捉功能与高速中断程序 每个品牌的PLC,基本都支持输入X点的脉冲捕捉功能,这个可以在PLC参数当中找到。通过对该参数设置,把某个点当做高速点来用。然后高速中断程序当中去置位一个M点,就可以成功保存下X点的状态。

想学PLC编程的可以加我微信:15207503021  电话:18603068534  

深圳八方汇PLC实战编程培训

这家伙很懒,暂时啥也没留!
[引用] [回复] [修改] [删除] IP:183.17.63.248

15613659208

帖子  1689

积分  159

我的商铺

私信加好友

发表于:2019/3/27 10:48:00沙发

天津鑫奥门业有限公司主营:快速卷帘门,快速堆积门,硬质快速门,金属门,工业门,不锈钢铝容器制品,岩棉生产设备,不锈钢酿酒设备,保温材料,橡胶制品生产,加工,安装,维修批发兼零售.

联系人:韩经理

联系电话:18622539807

公司网址:www.tjxamy.com

这家伙很懒,暂时啥也没留!
[引用] [回复] [修改] [删除] IP:101.30.24.85
快速回复 返回顶部 返回列表