plc编程中如何使用计数器

plc计数器使用


计数器用来累计脉冲数的个数 , 也是PLC指令中比较常用到的指令 , 1200的计数器与定时器一样 , 在调用时都需要一个背景数据块 , 关于如何减少背景数据块的使用在前面文章中有所提及 , 与定时器的用法是相同的 。
指令位置:

plc编程中如何使用计数器


在博途1200中有三种计数器如上图所示:分别为加计数器CTU、减计数器CTD和加减计数器CTUD 。下面将以加减计数器来进行介绍 。
1、加减计数器
plc编程中如何使用计数器


【plc编程中如何使用计数器】时序图:
plc编程中如何使用计数器


当加计数端CU由0跳变到1时 , 计数器的当前计数值CV加1,当减计数端CD冲0跳变到1时 , 则计数器的当前计数值CV减1,当当前计数值大于或等于PV值时 , 计数器的输出端QU等于1 , 当当前值CV的值小于或等于0 , 则输出端QD等于1 。当装载输出端LOAD的值从0变为1,将计数器的PV置入当前值 , 当计数器的R为1时 , 则将计数器的当前值复位为0 。
下面我们做一个指令练习:
当按下I1.1加计数 , 按下I1.2减计数 , 设定PV=4 , 即当计数器值大于等于4时 , 输出Q0.4接通 。
(1)首先建立变量
plc编程中如何使用计数器


(2)将指令拖拽到程序段中 , 提示你生成背景数据块如下图所示
plc编程中如何使用计数器


生成的背景数据块位于系统块中
plc编程中如何使用计数器


(2)编写程序如下:
plc编程中如何使用计数器


(3)将程序下载到仿真器中,并开始仿真 。当I1.1有一个上升沿 , 则计数器当前值加1.
plc编程中如何使用计数器


当计数器当前值大于等于4时 , 则Q0.4=1
plc编程中如何使用计数器


当减计数I1.2为1时 , 则当前计数器当前值减1
plc编程中如何使用计数器


当计数器当前值小于等于0时 , 则M20.0=1
plc编程中如何使用计数器


二、下面对如何减少背景数据块的使用来做一个介绍
(一)通过全局数据块的方法来做
1、新建一个全局数据块
plc编程中如何使用计数器


2、在DB块中新建3个计数器变量 , 变量类型选择IEC_COUNTER
plc编程中如何使用计数器


3、将计数器指令拖拽到程序中时 , 提示建立背景数据块时 , 选择取消 。
plc编程中如何使用计数器


4、选择刚才我们建立的数据块
plc编程中如何使用计数器


5、之前的例子程序变换成如下图所示
plc编程中如何使用计数器


(二)指令直接拖拽到FB块中 , 生成多重背景的方法
plc编程中如何使用计数器


(三)指令拖拽到FB、FC块中 , 生成参数实例
plc编程中如何使用计数器


(四)针对上面三种方法的SCL调用方法
plc编程中如何使用计数器


S7-1200 计数器常见问题
1. 为什么计数器不计数?
答:可能原因如下:
(1)计数器的输入位(CU、CD)需要有电平信号的跳变 , 计数器才会计数 。如果保持不变的信号作为输入位是不会开始计数的 。
(2)计数器的背景数据块重复使用 。

    推荐阅读