第3章 PLC编程中的计数器全面解析
计数器是常用和通用的功能之一。
3.1 计数器指令
如图3.1所示,a为加计数器指令,b为减计数器指令,c为加减计数器指令。
图3.1 计数器指令
3.1.1 加计数器
如图3.2所示,程序段1为加计数器的简单应用。
a为计数器的背景DB空间;用于存放计数器使用的一些变量信息等。
b为计数器开始计数的条件引脚CU;
c为计数器的复位引脚R;用于将计数器清零
d为计数器的目标值引脚PV;加计数器要达到的数值
f为计数器的当前值引脚CV;
e为计数器的输出引脚Q,当计数器的当前值大于等于设定值时,该引脚输出信号。
g为计数器输出时接通的信号,本段程序中使用的是DB201.DBX0.2。
图3.2 加计数
大致工作原理
当DB201.DBX0.0接通时,计数器C[21]开始计数,CU引脚每接通一次,计数器数值加一。一直加到CV值等于PV值时,DB201.DBX0.2接通。
当DB201.DBX0.0还继续重复接通时,计数器C[21]不超过限值的话就会一直计数,CV值会增加。
当改变PV值时,依然满足CV值大于等于PV值时,计数器的Q引脚才会输出。
当DB201.DBX0.1接通时,计数器C[21]清零。
计数器背景空间
a处可以是调用指令后,自动生成的DB块,也可以是自己在某一DB块建立的数据类型为IEC_COUNTER的数据类型。如图3.3所示我们建立了一个C数组,数量为1000个,编号从0-999,数据类型都是计数器的数据类型IEC_COUNTER,这样以后再使用计数器的时候都可以选择使用,没有用过的计数器变量,用于当做某一计数器的背景块。
图3.3 计数器数组
计数器清零
如图3.2所示,当计数器的R引脚接通时,计数器就会被复位,计数器的当前值就会为0,本案例中使用的地址为DB201.DBX0.1。
计数器清零还有另外一种方法就是直接令计数器的当前值CV=0,如图3.4所示,当M220.0接通时,将0赋值给DB11.DBW130,这样该计数器的CV值就变成了0,该计数器是咱们上边用到的计数器。需要给哪个计数器清零,就把它的计数器的CV值给0就可以了。这种方法与引脚R接通复位效果是一样的。
图3.4 计数器数组
3.1.2 减计数器
如图3.5所示,程序段3为减计数器的简单应用。
a为计数器的背景DB空间;用于存放计数器使用的一些变量信息等。
b为计数器开始计数的条件引脚CD;
c为计数器的装载引脚LD;接通时将PV值重新装载到计数器
d为计数器的目标值引脚PV;减计数器用于装载的数值
f为计数器的当前值引脚CV;
e为计数器的输出引脚Q,当计数器的当前值小于等于0时,该引脚输出信号。
g为计数器输出时接通的信号,本段程序中使用的是DB201.DBX6.2。
图3.5 减计数
大致工作原理
当DB201.DBX6.0接通时,计数器C[22]开始计数,CD引脚每接通一次,计数器数值减一。一直加到CV值等于0时,DB201.DBX0.2接通。
当DB201.DBX6.0还继续重复接通时,计数器C[22]不超过限值的话就会一直计数,CV值会减少。
当CV小于等于0时,计数器的Q引脚才会输出。
当DB201.DBX6.1接通时,计数器C[22]装载PV值。
3.1.3 加减计数器
如图3.6所示为加减计数器的简单应用。加减计数器是将加计数器和减计数器集合在了一起,对应的功能引脚功能如下,具体用法参照加计数和减计数的单独使用的方法即可。
a为计数器的背景DB空间;用于存放计数器使用的一些变量信息等。
b为计数器开始加计数的条件引脚CU;接通时开始加
c为计数器开始减计数的条件引脚CD;接通时开始减
d为计数器的复位引脚R;用于将计数器清零
e为计数器的装载引脚LD;接通时将PV值重新装载到计数器
f为计数器的目标值引脚PV;减计数器用于装载的数值
g为计数器的输出引脚QU,当计数器的当前值大于等于设定值时,该引脚输出信号。
h为计数器的输出引脚QD,当计数器的当前值小于等于0时,该引脚输出信号。
i为计数器的当前值引脚CV;
k为计数器QU引脚输出时接通的信号,本段程序中使用的是DB201.DBX12.4。
同一计数器具备了加和减的两种功能,加减相对独立,各自实现各自的功能,总体数值体现在一个计数器上。
图3.6 加减计数
3.2 计数器做定时器使用
有时候需要用到通过计数器做定时器的程序。如图3.7所示,做的是一个定时器。当(开始计时条件M220.1)接通时,通过1秒的脉冲时钟,每过1秒,计数器C[24]就会加1,这样C[24]就变成了秒级别的定时器,定时器的时间存放在DB201.DBW4中。
当(开始计时条件M220.1)断开时,计数器停止计数。M220.1的常闭触点接通,通过R引脚复位计数器,达到给定时器清零的目的。
图3.7 加减计数
3.3 问题思考
如果计数条件是一个信号,一个信号的通断能正常反应通断问题。如果计数条件如图3.8所示,我们应该做成置复位的形式。当满足计数条件时,置位计数条件信号,不需要计数时,复位该信号就行了。如果不采用置复位的话,当M30.0,M30.1,M30.2和M30.3中,有任何一个信号出现晃动,或者短时间内多次接通的情况,就会导致虚假计数的发生。因此在实际编程过程中,计数原来很简单,但是做好计数就不简单了!需要甄别选用哪些信号作为实用,如何过滤晃动信号,又该何时复位计数条件等。
图3.8计数条件案例
1、加计数最大能加到多少?为什么?如果想加到更大,如何操作?
2、减计数时,能产生负数吗?如果不想让减计数产生负数,怎么操作呢?
3、减计数能直接装载一个负数吗?如果在计数向负数的方向越变越小,那么减计数的线圈输出使用该怎么办呢?
4、加减计数同时用的时候,如果加计数和减计数同时发生了,怎么办?编程时是否需要把加减计数接通的条件完善一下,不让加减计数条件同时接通。
还在犹豫什么,抓紧时间实操一下吧,或者仿真操作也可以的!
喜欢的请收藏和转发!希望能帮到更多的朋友!
PLC新手常见误区,递增指令与加减计数器的区别你知道吗?
大家好,欢迎关注电气技术微课堂!
今天我们来浅析一下西门子S7-1200PLC的一组常用运算指令——递增指令和递减指令。
一、递增、递减指令的功能
递增、递减指令,是对无符号或有符号整数(注意一定是整数) 分别进行自动增加或减小1个单位的操作,数据长度可以是字节、字或双字。指令的符号如下图所示
单击指令功能框上的<???>可选择数据类型,该指令支持的数据类型为各种整型变量,在输入IN/OUT变量的参数时应注意选用匹配的地址长度。
二、指令各端口功能
EN: 使能输入端,使能输入 EN 的信号状态由“0”变为“1”时,执行1次递增或递减指令。
ENO: 使能输出端,当使能输入EN为1,ENO输出为1;EN为0,则ENO为0。如果在执行期间未发生溢出错误,则使能输出 ENO 的信号状态也为“1”。
IN/OUT: 此端口填写一个地址可以是I、Q、M、D、L,输出数据为递增(递减)后的数值。每执行一次递增(递减)指令,地址中的数值自动加1(减1)。
三、递增、递减指令应用实例
用一个点动按键作为PLC的输入信号,记录按键点动的次数并存储在MB20地址中。梯形图程序如下
解:INC指令可以用来检测I0.0按键动作的次数,应在INC的使能输入端接检测能流上升沿的P_TRIG指令,否则在I0.0状态为1的每一个循环扫描周期,MB20都要被累加1。
四、知识拓展:递增指令INC与加计数器CTU的区别
累加器INC与加计数器CTU都具有数据累加的功能,但是二者在使用中有几点不同,需注意加以区分。
(1)加计数CTU在使用时自带数据块DB,而递增指令INC无数据块。
(2)加计数CTU只有复位端口状态为1时复位,使用复位指令RESET无法对CV的输出值复位,可以在R端口设定逻辑条件执行复位。而递增指令需用复位指令对存储累加值的存储器进行区域复位,累加值发生溢出时会自动复位。
(3)加计数CTU在执行时具有逻辑判断条件,即计数值CV等于设定值PV时有能流输出,而累计值不具有该功能。
(4)加计数CTU的输出端Q在CV值小于PV值时始终为0,CV值大于等于PV值时始终为1。递增指令INC的ENO只有在指令正确执行期间为1。
(5)加计数CTU前端(CU)可以连接常开触点和上升沿检测指令,而递增指令INC前端(EN)只能连接信号上升沿指令。
相关问答
plc加减计数器怎么用?
使用西门子PLC加减计数器需要按照以下步骤进行:1.明确可以使用西门子PLC加减计数器进行计数操作。2.西门子PLC加减计数器是一种可编程逻辑控制器,能够实现对...
plc增计数器和减计数器的区别?
在程序里面,高速计数器C是受对应的程序M继电器控制的。例如:高速计数器C235的加减计数状态是受M8235的通断控制的。如果M8235接通,则C235是正计数,也就是加,...
plc怎样用按钮加减时间?
在PLC程序中,可以通过读取按钮输入状态来实现对时间值的加减操作。首先,需要定义一个计时器或计数器来存储当前的时间值。然后,分别为加和减按钮分配不同的IO...
三菱plc加减计数器?
三菱FX系列可做增减计数器的是C200到C234。对应的辅助继电器为M8200到M8234.如使用C200作增计数时,只要复位M8200就可以;反之则驱动M8200.自己试试就可以了。...
plc增减计数器原理讲解?
描述1)当plc为RUN方式时,K20被送入预置值寄存器SV100中,如果此时复位行为OFF,则SV100中的K20又被送到经过值寄存器EV100中。2)每检测到一个计...描述.....
plc增减计数器怎么用?
PLC(可编程逻辑控制器)的增减计数器是用来实现对某个事件或过程的计数功能的。下面是具体的使用方法:1.PLC增减计数器可以用来对特定事件或过程进行计数。2...
1200plc计数器指令?
在PLC编程中,常用的计数器指令是"CTU"(计数器递增)和"CTD"(计数器递减)。CTU指令用于将一个变量的值递增,可以设置递增步长和上限值。CTD指令...
plc的计数器是什么?
plc计数器由基本的计数单元和控制门所组成,是在数字系统中对脉冲的个数进行计数,以实现测量、计数和控制功能,且兼有分频功能的仪器。计数器按进位制不同,分...
车辆出入管理PLC设计中计数器是怎么回事?为什么PV中要+2还有(+)加号是什么意思?
这是西门子的一个计数器指令在梯形图编程时可以在指令表里出来用,根据需要设置一些参数就可以。CTU是一个加计数器,CU为信号输入,R为复位端,PV为预置端,当C...
三菱PLC定时器数值加减的指令?
将y0和c0在输出端并联。y0触发输出一次,c0就会计数一次。计数器必须要有一个复位指令。技术完毕触发rstc1复位如果要在触摸屏上面显示计数次数,要用mov指令,...
扫一扫微信交流