首页 理论教育S7-200计数器指令及应用详解

S7-200计数器指令及应用详解

【摘要】:S7-200的普通计数器有3种类型:递增计数器CTU、递减计数器CTD和增减计数器CTUD,共计256个,编号为C0~C255。依据设定值及计数器类型决定动作时刻,以便完成计数控制任务。计数器指令的LAD和STL格式见表1-5。当复位输入端为ON或对计数器执行复位指令,计数器自动复位,即计数器位为OFF,当前值为设定值。

S7-200的普通计数器有3种类型:递增计数器CTU、递减计数器CTD和增减计数器CTUD,共计256个,编号为C0~C255。可根据实际编程需要,对某个计数器的类型进行定义。不能重复使用同一个计数器的线圈编号,即每个计数器的线圈编号只能使用1次。每个计数器有一个16位的当前值寄存器和一个状态位,最大计数值为32767。计数器设定值PV的数据类型为整数型INT,寻址范围为VW、IW、QW、MW、SW、SMW、LW、AIW、T、C、AC、VD、AC、LD及常数。

计数器用来累计输入脉冲的次数,在实际应用中用来对产品进行计数或完成复杂的逻辑控制任务。计数器的使用和定时器基本相似,编程时各输入端都应有位控制信号,计数器累计它的脉冲输入端信号上升沿的个数。依据设定值及计数器类型决定动作时刻,以便完成计数控制任务。

计数器指令的LAD和STL格式见表1-5。

1-5 计数器的指令格式

978-7-111-59315-7-Chapter01-12.jpg

1.增计数器CTU(Count Up)

梯形图中,增计数器以功能框的形式编程,指令名称为CTU,它有3个输入端:CU、R和PV。当复位输入端(R)电路断开(见图1-8),加计数脉冲输入端(CU)电路由断开变为接通(即CU信号的上升沿),计数器计数1次,当前值增加1个单位,PV为设定值输入端,当前值达到设定值时,计数器动作,计数器位ON,当前值可继续计数到32767后停止计数。当复位输入端(R)为ON或对计数器执行复位指令,计数器自动复位,即计数器位为OFF,当前值为0。

978-7-111-59315-7-Chapter01-13.jpg

图1-8 增计数器的梯形图及语句表

2.增减计数器CTUD(Count Up/Down)

在梯形图中,增减计数器以功能框的形式编程,指令名称为CTUD,它有4个输入端:CU输入端用于递增计数,CD输入端用于递减计数,R输入端用于复位,PV为设定值输入端。CU输入的每个上升沿,计数器当前值加1;CD输入的每个上升沿,都使计数器当前值减1,当前值达到设定值时,计数器动作,其状态位为ON。若复位输入端R为ON,或使用复位指令R,都可使计数器复位,状态位变为OFF,并使当前值清0。

增减计数器当前值计数到32767(最大值)后,下一个CU输入的上升沿将使当前值跳变为最小值(-32767);当前值达到最小值-32767后,下一个CD输入的上升沿将使当前值跳变为最大值32767。图1-9所示为递减计数器的用法。

3.减计数器CTD(Count Down)

在梯形图中,减计数器以功能框的形式编程,指令名称为CTD,它有3个输入端:CD、LD和PV。当复位输入端(LD)电路断开(见图1-10),减计数脉冲输入端(CD)电路由断开变为接通(即CD信号的上升沿),计数器计数1次,当前值减去1个单位,PV为设定值输入端,当前值减到0时,计数器动作,计数器位ON,计数器的当前值保持为0。当复位输入端(LD)为ON或对计数器执行复位指令,计数器自动复位,即计数器位为OFF,当前值为设定值。

978-7-111-59315-7-Chapter01-14.jpg

图1-9 增减计数器的梯形图、语句表及时序图

4.计数器计数次数的串级组合

PLC的单个计数器的计数次数是一定的,或者说是有限的。在S7-200中,单个计数器的最大计数范围是32767,当所需计数的次数超过这个最大值时,可通过计数器串级组合的方法来扩大计数器的计数范围。

例如,某产品的生产个数达到50万个时,将有一个输出动作,用I0.0作为计数开关,

I0.1为清0开关,Q0.0为50万个时的输出位,梯形图程序如图1-11所示,50万个数用一个计数器是实现不了的,这里使用了两个,C1的设定值是25000,C2的设定值是20,当达到C2的设定值时,对I0.0的计数次数已达到25000×20=500000次。

978-7-111-59315-7-Chapter01-15.jpg

图1-10 减计数器的梯形图、语句表及时序图

978-7-111-59315-7-Chapter01-16.jpg

图1-11 2个计数器串级组合的梯形图