plc计数器使用
计数器用来累计脉冲数的个数 , 也是PLC指令中比较常用到的指令 , 1200的计数器与定时器一样 , 在调用时都需要一个背景数据块 , 关于如何减少背景数据块的使用在前面文章中有所提及 , 与定时器的用法是相同的 。
指令位置:
在博途1200中有三种计数器如上图所示:分别为加计数器CTU、减计数器CTD和加减计数器CTUD 。下面将以加减计数器来进行介绍 。
1、加减计数器
【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)首先建立变量
(2)将指令拖拽到程序段中 , 提示你生成背景数据块如下图所示
生成的背景数据块位于系统块中
(2)编写程序如下:
(3)将程序下载到仿真器中,并开始仿真 。当I1.1有一个上升沿 , 则计数器当前值加1.
当计数器当前值大于等于4时 , 则Q0.4=1
当减计数I1.2为1时 , 则当前计数器当前值减1
当计数器当前值小于等于0时 , 则M20.0=1
二、下面对如何减少背景数据块的使用来做一个介绍
(一)通过全局数据块的方法来做
1、新建一个全局数据块
2、在DB块中新建3个计数器变量 , 变量类型选择IEC_COUNTER
3、将计数器指令拖拽到程序中时 , 提示建立背景数据块时 , 选择取消 。
4、选择刚才我们建立的数据块
5、之前的例子程序变换成如下图所示
(二)指令直接拖拽到FB块中 , 生成多重背景的方法
(三)指令拖拽到FB、FC块中 , 生成参数实例
(四)针对上面三种方法的SCL调用方法
S7-1200 计数器常见问题
1. 为什么计数器不计数?
答:可能原因如下:
(1)计数器的输入位(CU、CD)需要有电平信号的跳变 , 计数器才会计数 。如果保持不变的信号作为输入位是不会开始计数的 。
(2)计数器的背景数据块重复使用 。
推荐阅读
- 中元节祝福语
- 计算机中的数据形式是怎么表现的呢
- 田中实怎么死的
- 田径项目中的田和径有什么区别
- 北纬3度在中国的地方,中国北纬38度和35度是什么地方
- 西安城中村有哪些
- 中秋节前一封写给客户的催款信 向客户催款的好句子
- 田径中什么是极点现象及调整方法
- 田螺生活在水中吃什么食物
- 中国演员票房排行榜前十 演员票房排行榜