2024年4月18日发(作者:)
S7-1200计数器
S7-1200的计数器为IEC计数器,用户程序中可以使用的计数器数量仅受CPU的存储器容量限制。
这里所说的是软件计数器,最大计数速率受所在OB的执行速率限制。指令所在OB的执行频率必须足够高,以检测输入脉冲的所有变化,
如果需要更快的计数操作,请参考高速计数器(HSC)。
注:S7-1200的IEC计数没有计数器号(即没有C0、C1这种带计数器号的计数器)。
S7-1200的计数器包含3种计数器,指令位置参见图1:
1.计数器(CTU)
2.减计数器(CTD)
3.加减计数器(CTUD)
图1指令位置
对于每种计数器,计数值可以是任何整数数据类型,并且需要使用每种整数对应的数据类型的DB结构(见表1)或背景数据块来存储计数
器数据。计数器引脚参考表2,计数器使用及时序图参考表3(本文均以INT计数器为例)。
表1 计数器类型及范围
整数类型
SINT
INT
DINT
USINT
UINT
UDINT
计数器类型
IEC_SCOUNTER
IEC_COUNTER
IEC_DCOUNTER
IEC_USCOUNTER
IEC_UCOUNTER
IEC_UDCOUNTER
计数器类型(TIA博途V14开始)
CTU_SINT
CTU_INT
CTU_DINT
CTU_USINT
CTU_UINT
CTU_UDINT
CTD_SINT
CTD_INT
CTD_DINT
CTD_USINT
CTD_UINT
CTD_UDINT
CTUD_SINT
CTUD_INT
CTUD_DINT
CTUD_USINT
CTUD_UINT
CTUD_UDINT
计数范围
-128~127
-32768~32767
-2147483648~2147483647
0~255
0~65535
0~4294967295
表2 计数器引脚汇总
输入的变量
名称
CU
CD
R
LD
PV
说明
加计数输入脉冲
减计数输入脉冲
CV清0
CV设置为PV
预设值
数据类型
BOOL
BOOL
BOOL
BOOL
整数
输出的变量
名称
Q
说明
输出位
数据类型
BOOL
备注
仅出现在CTU、CTD
备注
仅出现在CTU、CTUD
仅出现在CTD、CTUD
仅出现在CTU、CTUD
仅出现在CTD、CTUD
仅出现在CTU、CTUD
QD
QU
CV
输出位
输出位
计数值
BOOL
BOOL
整数
仅出现在CTUD
仅出现在CTUD
表3计数器使用及时序图
指令
加计数
LAD:
l
l
说明 时序图
l
当CU从“0”变为“1”,CV增加1;
当CV=PV时,Q输出“1”,此后当CU从“0”变
为“1”,Q保持输出“1”,CV继续增加1直到达
到计数器指定的整数类型的最大值。;
在任意时刻,只要R为“1”时,Q输出“0”,CV
立即停止计数并回到0;
SCL:CTU
减计数
LAD:
l
l
l
当CD从“0”变为“1”,CV减少1;
当CV=0时,Q输出“1”,此后当CU从“0”变为
“1”,Q保持输出“1”,CV继续减少1直到达到
计数器指定的整数类型的最小值;
只要LD为“1”时,Q输出“0”,CV立即停止计
数并回到PV值;
SCL:CTD
加减计数
LAD:
l
l
l
l
l
l
l
SCL:CTUD
当CU从“0”变为“1”,CV增加1;
当CD从“0”变为“1”,CV减少1;
当CV>=PV时,QU输出“1”;当CV QU输出“0”; 当CV<=0时,QD输出“1”;当CV>0时,QD输 出“0”; CV的上下限取决于计数器指定的整数类型的最 大值与最小值; 只要R为“1”时,QD输出“1”,CV立即停止计 数并回到0; 只要LD为“1”时,QU输出“1”,CV立即停止 计数并回到PV值。 S7-1200计数器创建 S7-1200计数器创建有以下几种方法: 1.指令直接拖入块中,自动生成计数器的背景数据块,该块位于“系统块>程序资源”中,参见图2。需要在指令中修改计数值类型。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1713421850a2245733.html
评论列表(0条)