西门子 S7-1200 CPU 1211C AC/DC/继电器 6ES7211-1BE40-0XB0
订货号: 6ES7211-1BE40-0XB0
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 计数器类型及范围
整数类型 | 计数器类型 | 计数器类型(TIA博途V14开始) | 计数范围 | ||
SINT | IEC_SCOUNTER | CTU_SINT | CTD_SINT | CTUD_SINT | -128~127 |
INT | IEC_COUNTER | CTU_INT | CTD_INT | CTUD_INT | -32768~32767 |
DINT | IEC_DCOUNTER | CTU_DINT | CTD_DINT | CTUD_DINT | -2147483648~2147483647 |
USINT | IEC_USCOUNTER | CTU_USINT | CTD_USINT | CTUD_USINT | 0~255 |
UINT | IEC_UCOUNTER | CTU_UINT | CTD_UINT | CTUD_UINT | 0~65535 |
UDINT | IEC_UDCOUNTER | CTU_UDINT | CTD_UDINT | CTUD_UDINT | 0~4294967295 |
表2 计数器引脚汇总
输入的变量 | |||
名称 | 说明 | 数据类型 | 备注 |
CU | 加计数输入脉冲 | BOOL | 仅出现在CTU、CTUD |
CD | 减计数输入脉冲 | BOOL | 仅出现在CTD、CTUD |
R | CV清0 | BOOL | 仅出现在CTU、CTUD |
LD | CV设置为PV | BOOL | 仅出现在CTD、CTUD |
PV | 预设值 | 整数 | 仅出现在CTU、CTUD |
输出的变量 | |||
名称 | 说明 | 数据类型 | 备注 |
Q | 输出位 | BOOL | 仅出现在CTU、CTD |
QD | 输出位 | BOOL | 仅出现在CTUD |
QU | 输出位 | BOOL | 仅出现在CTUD |
CV | 计数值 | 整数 |
表3计数器使用及时序图
指令 | 说明 | 时序图 |
加计数 |
| |
减计数 |
| |
加减计数 |
| |