S7-1200 CPU V4.0 - V4.1 本体提供了最多 6 个高速计数器,其独立于 CPU 的扫描周期进行计数。其中 CPU1217C 可测量的脉冲频率最高为 1 MHz(差分信号),其它型号的 S7-1200 CPU 可测量到的单相脉冲频率最高为 100 kHz,A/B 相最高为 80 kHz。如果使用信号板还可以测量单相脉冲频率高达 200kHz 的信号,A/B 相最高为 160 kHz。
S7-1200 CPU 和信号板具有可组态的硬件输入地址与工作模式,因此可测量到的高速计数器频率与高速计数器号无关,而与所使用的 CPU 和信号板的硬件输入地址有关。
表 1 和表 2 显示了 CPU 集成输入点与信号板可用于高速计数器的信息。
表 1. CPU 集成点输入的最大频率
CPU |
CPU 输入通道 |
单相或两相模式 | A/B 相正交模式 |
CPU1211C |
Ia.0—Ia.5 |
100 kHz | 80 kHz |
CPU1212C |
Ia.0—Ia.5 |
100 kHz | 80 kHz |
Ia.6—Ia.7 |
30 kHz | 20 kHz |
|
CPU1214(F)C、CPU1215(F)C |
Ia.0—Ia.5 |
100 kHz | 80 kHz |
Ia.6—Ib.5 |
30 kHz | 20 kHz |
|
CPU1217C |
Ia.0—Ia.5 |
100 kHz | 80 kHz |
Ia.6—Ib.1 |
30 kHz | 20 kHz |
|
Ib.2—Ib.5 (Ib.2+,Ib.2- 到 Ib.5+,Ib.5-) |
1 MHz | 1 MHz |
表 2. 信号板信息
信号板类型 | 订货号 | 信号板输入通道 | 单相或两相模式 | A/B 相正交模式 |
|
---|---|---|---|---|---|
DI | 4×24VDC | 6ES7221-3BD30-0XB0 | Ie.0—Ie.3 | 200 kHz | 160 kHz |
4×5VDC | 6ES7221-3AD30-0XB0 | Ie.0—Ie.3 | 200 kHz | 160 kHz | |
DI/DQ | 2DI/2×24VDC | 6ES7223-0BD30-0XB0 | Ie.0—Ie.1 | 30 kHz | 20 kHz |
2DI/2×24VDC | 6ES7223-3BD30-0XB0 | Ie.0—Ie.1 | 200 kHz | 160 kHz | |
2DI/2×5VDC | 6ES7223-3AD30-0XB0 | Ie.0—Ie.1 | 200 kHz | 160 kHz |
S7-1200 V4.0 版本高速计数器只支持指令 CTRL_HSC,支持计数和频率测量,需要通过读取 ID 地址获得计数与频率值。
S7-1200 V4.1 版本高速计数器还支持指令 CTRL_HSC_EXT,但仅支持连接 HSC_Period 数据类型变量,因此仅能用于周期测量,以及修改频率更新周期。
此外 S7-1200 V4.0 - V4.1 版本支持功能:复位为初始值(即最新版本的同步功能)、通过 CTRL_HSC 修改参数、事件组态功能。
请参考以下章节:
S7-1200 V3.0 及以前版本高速计数器提供了最多 6 个(CPU1214C 及 CPU1215C V3.0)高速计数器,其独立于 CPU 的扫描周期进行计数。可测量的单相脉冲频率最高为 100 kHz,双相或 A/B 相最高为 80 kHz,高速计数器可用于连接增量型旋转编码器。如果使用信号板还可以测量单相脉冲频率高达 200 kHz 的信号,A/B 相最高为 160 kHz。具体参见表 3 - 表 6。
表 3. 只使用 CPU 集成点所能使用的高速计数器个数
CPU |
HSC |
1211C |
3 (HSC_1, HSC_2, HSC_3) |
1212C |
4 (HSC_1, HSC_2, HSC_3, HSC_4) |
1214C |
6 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5, HSC_6) |
1215C V3.0 |
6 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5, HSC_6) |
表 4. 使用 CPU 集成点与信号板所能使用的高速计数器个数
CPU | SB 1223 2DI/2DO | SB 1223 2DI/2DO 200kHz | SB 1221 4DI 200kHz |
CPU1211C | 4 (HSC_1, HSC_2, HSC_3, HSC_5) | 4 (HSC_1, HSC_2, HSC_3, HSC_5) | 5 (HSC_1, HSC_2, HSC_3, HSC_5, HSC_6) |
CPU1212C | 5 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5) | 5 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5) | 6 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5, HSC_6) |
CPU1214C | 6 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5, HSC_6) | 6 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5, HSC_6) | 6 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5, HSC_6) |
CPU1215C V3.0 |
6 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5, HSC_6) | 6 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5, HSC_6) | 6 (HSC_1, HSC_2, HSC_3, HSC_4, HSC_5, HSC_6) |
表 5. CPU 集成点与信号板的最大频率
最大频率[kHz] |
CPU |
信号板 |
|||
高速计数器 |
单/多相 |
DI/DO |
2DI/2DO |
200 kHz |
|
2DI/2DO |
4DI |
||||
HSC_1 |
单相 |
100 |
30 |
200 |
200 |
多相 |
80 |
20 |
160 |
160 |
|
HSC_2 |
单相 |
100 |
|
|
200 |
多相 |
80 |
|
|
160 |
|
HSC_3 |
单相 |
100 |
|
|
|
多相 |
80 |
|
|
|
|
HSC_4 |
单相 |
30 |
|
|
|
多相 |
20 |
|
|
|
|
HSC_5 |
单相 |
30 |
30 |
200 |
200 |
多相 |
20 |
20 |
160 |
160 |
|
HSC_6 |
单相 |
30 |
|
|
200 |
多相 |
20 |
|
|
160 |
表 6. 信号板信息
信号板类型 | 订货号 | |
---|---|---|
DI | 4×24VDC 200 kHz | 6ES7221-3BD30-0XB0 |
4×5VDC 200 kHz | 6ES7221-3AD30-0XB0 | |
DI/DQ | 2DI/2×24VDC | 6ES7223-0BD30-0XB0 |
2DI/2×24VDC 200 kHz | 6ES7223-3BD30-0XB0 | |
2DI/2×5VDC 200 kHz | 6ES7223-3AD30-0XB0 |
S7-1200 V3.0 及以前版本高速计数器的硬件输入定义和工作模式是固定的,无法修改,具体参见表 7。
表 7. 高速计数器硬件输入定义与工作模式
描述 | 输入点定义 | 功能 | ||||
HSC | HSC1 | 使用 CPU 集成 I/O 或信号板或监控 PTO0 | I0.0 |
I0.1 |
I0.3 |
|
HSC2 | 使用 CPU 集成 I/O 或信号板或监控 PTO1 | I0.2
|
I0.3 |
I0.1 |
||
HSC3 | 使用 CPU 集成 I/O | I0.4 | I0.5 | I0.7 | ||
HSC4 | 使用 CPU 集成 I/O | I0.6 | I0.7 | I0.5 | ||
HSC5 | 使用 CPU 集成 I/O 或信号板 | I1.0 |
I1.1 |
I1.2 |
||
HSC6 | 使用 CPU 集成 I/O 或信号板 | I1.3 |
I1.4 |
I1.5 |
||
模式 | 单相计数,内部方向控制 | 时钟 | 计数或频率 | |||
复位 | 计数 | |||||
单相计数,外部方向控制 | 时钟 | 方向 | 计数或频率 | |||
复位 | 计数 | |||||
双相计数,两路时钟输入 | 增时钟 | 减时钟 | 计数或频率 | |||
复位 | 计数 | |||||
A/B 相正交计数 | A相 | B相 | 计数或频率 | |||
Z相 | 计数 | |||||
监控 PTO 输出 | 时钟 | 方向 | 计数 |
注意:
S7-1200 V3.0 及以前版本高速计数器只支持指令 CTRL_HSC,支持计数和频率测量,需要通过读取 ID 地址获得计数与频率值。
S7-1200 V2.2 版本及以前支持监控 PTO 输出,此时只需在计数类型处选择“轴”,无需接线与其他配置,其余读取 ID 地址获得计数与计数类型相同,此处不再赘述。
此外该版本支持功能:复位为初始值(即最新版本的同步功能)、通过 CTRL_HSC 修改参数、事件组态功能。
请参考以下章节: