您现在的位置是:首页 > PLC技术 > PLC技术

S7-200 PLC的计数器操作指令

来源:艾特贸易2017-06-04

简介定时器对时间的计量是通过对 PLC 内部时钟脉冲的计数实现的。计数器的运行原理和定时器基本相同,只是计数器是对外部或内部由程序产生的计数脉冲进行计数。在运行时,首先为计

    定时器对时间的计量是通过对PLC内部时钟脉冲的计数实现的。计数器的运行原理和定时器基本相同,只是计数器是对外部或内部由程序产生的计数脉冲进行计数。在运行时,首先为计数器设置预置值PV,计数器检测输入端信号的正跳变个数,当计数器当前值与预置值相等时,计数器动作,完成相应的控制任务。    S7-200系列PLC提供增计数器(Counter UpCTU)、减计数器(Counter DownCTD)、增/减计数器(Counter Up/DownCTUD)三种类型的计数器,总共256个。计数器编号由计数器名称和常数(0255)组成,表示方法为Cn,如C99。三种计数器使用同样的编号,所以在使用中要注意,在同一个程序中,每个计数器编号只能出现一次。计数器编号包括当前值和计数器位两个变量信息。计数器的当前值用于存储当前累计的脉冲数,用一个16位的存储器存储16位带符号的整数,最大计数值为32767    对于CTUCTUD,当计数器的当前值等于或大于预置值时,该计数器位置l,所对应的计数器触点闭合;对于CTD,当计数器当前值减为0时,计数器位置1    增计数器的梯形图由标识符CTU、计数脉冲输入端CU、增计数器的复位信号输入端R、增计数器的设定值PV和计数器编号Cn构成;减计数器的梯形图由标识符CTD、计数脉冲输入端CD、减计数器的装载输入端LD、减计数器的设定值PV和计数器编号Cn构成;增/减计数器的梯形图由标识符CTUD、增计数脉冲输入端CU、减计数脉冲输入端CD、增/减计数器的复位信号输入端R、增减计数器的设定值PV和计数器编号Cn构成。    计数器操作指令的语句表由操作码(增计数器为CTU/减计数器为CTD/增减计数器为CTUD)、计数器编号Cn和设定值PV构成,即CTU CnPVCTD CnPVCTUD CnPV    3-7所列为计数器指令的梯形图、指令表,表3-8所列为计数器指令的操作数。    3-7    计数器指令的梯形图、指令表
计数器指令的梯形图、指令表
    3-8    计数器指令的操作数
计数器指令的操作数
    下面对三种类型计数器的工作原理进行分析。    (1)增计数器是通过获取计数输入信号的上升沿来进行加法计数的。增计数器在复位端信号为1时,其计数器的当前值SV=0,计数器的状态也为0;当复位端的信号为0时,其计数器可以工作,每当一个输入脉冲到来时,计数器的当前值做加1操作,即SV=SV+1;当当前值大于等于设定值(SVPV)时,计数器的状态变为1,这时再来计数脉冲时,计数器的当前值仍不断地累加,直到SV=32767时,停止计数;直到复位信号到来,计数器的SV值等于零,计数器的状态变为0    增计数器(CTU)指令的LADSTLFBD应用编程如图3-20所示。
增计数(CTU)指令的LAD、STL程FBD应用编程
    3-20    增计数(CTU)指令的LADSTLFBD应用编程    (2)减计数器是通过获取计数输入信号的上升沿来进行减法计数的。减计数器在装载输入信号为1时,其计数器的设定值PV被装入计数器的当前值寄存器,此时SV=PV,计数器的状态也为0;当装载输入端的信号为0时,其计数器可以工作,每当一个输入脉冲到来时,计数器的当前值做减1操作,即SV=SV-1;当当前值等于0时,计数器的状态变为1,并停止计数;直到装载输入端变为1,再一次装入PV值之后,计数器的状态变为0,才能再次重新计数;减计数器的状态只有在当前值SV等于0时才为1    减计数器(CTD)指令的LADSTLFBD应用编程如图3-21所示。
减计数器(CTD)指令的LAD、FBD和STL应用编程
    3-21    减计数器(CTD)指令的LADFBDSTL应用编程    (3)增/减计数器具有加计数与减计数两个输入端,通过获取对应计数输入信号的上升沿,进行加法、减法计数。增/减计数器在复位端信号为l时,其计数器的当前值SV=0,计数器的状态也为0;当复位端的信号为0时,其计数器可以工作;每当一个增计数输入脉冲到来时,计数器的当前值做加1操作,即SV=SV+1;当当前值大于等于设定值(SVPV)时,计数器的状态变为1,这时再来计数脉冲时,计数器的当前值仍不断地增加,直到SV=32767时,停止计数;每当一个减计数输入脉冲到来时,计数器的当前值做减1操作,即SV=SV -1;当当前值小于设定值(SV<PV)时,计数器的状态为0,再来减计数脉冲时,计数器的当前值仍不断地递减。总之,每来一个增计数脉冲,SV值就加1,每来一个减计数脉冲,SV值就减1,当SV值大于等于PV值时,计数器C3的状态就为1SV值小于PV值时,计数器的状态就为0    增/减计数器(CTUD)指令的LADFBDSTL应用编程如图3-22所示。
增/减计数器(CTUD)指令的LAD、FBD和STL应用编程
    3-22    增/减计数器(CTUD)指令的LADFBDSTL应用编程    应用计数器操作指令时务必注意:    1)在使用指令表编程时,一定要弄清楚各输入端的作用,次序一定不能颠倒。例如增计数第一个LD是计数输入,第二个LD是复位信号输入,再CTU;减计数第一个LD是计数输入,第二个LD是装载信号输入,再CTD;增/减计数器第一个LD是增计数输入,第二个LD是减计数输入,第三个LD是复位信号输入,再CTUD    2)在用户程序中,既可以访问计数器位,又可以访问计数器的当前值,都通过计数器编号Cn实现。使用位控制指令则访问计数器位,使用数据处理功能指令则访问当前值。    【例3-4 3-23所示是定时器与计数器综合应用实例,试进行分析并画出时序图。    分析:在网络1中,当输入控制端I0.0OFF变成ON时,“能流”通过它并流经M0.0动断触点(M0.0未启动)到达TON的使能端IN,接通延时定时器开始计时,当定时器当前值等于设定值为300 (300×100ms = 30s)时,T50被置1;在网络2中,T50动合触点闭合,启动中间继电器M0.0M0.0在网络1中的动断触点断开,定时器TON复位,T50(位)旋即由1变成0,使网络2M0.0旋即由1变成0M0.0在网络1中的动断触点又启动TON重新计时。可见,只要I0.0存在,M0.0就每隔30s产生一个正脉冲。在网络3中,C20M0.0产生的正脉冲计数,I0.0OFF变成ON后第300s时,C20当前值等于设定值10C20(位)由0变成1;若I0.0ONOFF,则其在网络1中的动合触点断开使T50复位,其在网络3中的动断触点接通使C20复位为0。根据这一分析画出的定时器与计数器综合应用的时序图如图3-24所示。
定时器与计数器综合应用实例
    3-23    定时器与计数器综合应用实例
定时器与计数器综合应用的时序图
    3-24    定时器与计数器综合应用的时序图