SB1223 6ES7223-7BF50-0XB0 数字量 I/O,4DI/4DO100kHz; 输入:4 x DI 24V 直流灌电流/拉电流,100 kHz; 输出:4 x DQ 24V DC 0.1A下沉/源晶体管,100 kHz
7-1200 G2 V1.0 及 V4.1 版本 CPU本体集成的高速计数器支持三种计数类型,下边将分别介绍这三种类型相关设置及编程
1.计数
1.1计数组态
在 S7-1200 G2 CPU的硬件组态中,可以配置高速计数器的参数,其中组态成计数模式、频率模式、周期模式需要在计数类型中配置,如图 1 所示。

图1基础组态
①激活高速计数器。
②设置计数类型:计数模式、频率模式、周期模式。
③设置运行模式:单相、两相位、A/B 计数器、A/B 计数器四倍频,值得注意的是组态 A/B 计数器四倍频会使得计数值变为组态A/B 计数器的 4 倍,但频率相比组态 A/B 计数器不会发生变化。
④计数方向:取决于用户程序(通过指令修改),还是外部输入,该功能只与单相计数有关。
⑤初始计数方向:正向、反向。
⑥频率测量周期:与频率模式、周期模式有关,只能选择1s、0.1s、0.01s,一般情况下当脉冲频率比较高时选择更小的测量周期可以更新的更加及时,当脉冲频率比较低时选择更大的测量周期可以测量的更准确。
设置硬件输入点,如图 2 所示。
图2 硬件输入
在 I/O 地址处查看高速计数器起始地址,默认情况下,HSC1 为 992,HSC2 为996,HSC3 为 1000,HSC4为 10004,HSC5 为 1008,HSC6 为 1012,HSC7 为 1016,HSC8 为 1020 如图3 所示。
注意:对于高速计数器的相关硬件输入点,一般情况下需要设置其滤波时间,具体参见高速计数器概述章节中的滤波设置。
如果组态计数模式、频率模式,可以在不使用指令情况下直接读取计数值与频率值。

图3 高速计数器 I/O 地址
在程序中读取基于起始地址的有符号双整数变量即为计数值或者频率值(单位:Hz),一般使用立即读取方式,这样数值更准确,如图4所示。

图4 编程
如果组态为计数模式,则计数启动后,计数值使用组态中的初始计数值开始计数,如图5 所示。
图5 初始计数值
1.2 指令编程
在 TIA Portal 软件集成的工艺指令文件夹中可以找到 CTRL_HSC_EXT 指令,如图6 所示

图6 指令文件夹
CTRL_HSC_EXT 指令支持所有功能,例如门功能、同步功能、捕捉功能、计数、频率测量、周期测量、修改参数等。
如果只需要计数或者测量频率,以及硬件门、复位计数值为零、比较输出等基本功能,而其他功能都不使用,可以只组态,然后去读取相应计数器地址即可,无需调用指令。
直接读取地址与调用 CTRL_HSC_EXT 指令区别如表1所示。
表1 指令调用比较
CTRL_HSC_EXT 各参数含义见表2。
表2 CTRL_HSC_EXT 各参数含义
其中 HSC 参数高速计数器硬件标识符,需要在 PLC 变量表 > 系统常量找到对应标识符,如图 7所示。
图7 硬件标识符
2.周期
2.1周期组态
1. CPU 硬件组态,启用高速计数器,计数类型选择周期,设定频率测量周期,如图 8 所示。
图8 周期测量组态
2. 建立数据块,并建立系统数据类型为 HSC_Period 的变量,如图9 所示。

图9 HSC_Period
数据类型 HSC_Period 用于“周期”类型的高速计数器,其数据结构与功能参考表3。
表3 HSC_Period 数据结构
注意:
对于周期测量,高速计数器指令“CTRL_HSC_EXT”没有直接输出脉冲周期,脉冲周期可按照如下公式编程计算:
Period = ElapsedTime/EdgeCount。
2.2 指令编程
在 OB1 里调用指令块 CTRL_HSC_EXT,如图 10 所示。

图10 调用 CTRL_HSC_EXT
S7-1200 G2 CPU 高速计数器通道接入脉冲信号,如图 11 所示,通过程序对高速计数器软件门信号 EnHSC信号置位,可以在线监控数据块的数据变化。

图11 监控数值
根据周期计算公式,
脉冲周期 = ElapsedTime/EdgeCount = 1000291000/1004 = 996305 ns ≈0.001 s
由此可以得出所测量的脉冲信号周期为 0.001 秒。
3.频率
3.1频率组态
1. CPU 硬件组态,启用高速计数器,计数类型选择频率,设定频率测量周期,如图12 所示。
图12 频率组态
2. 建立数据块,并建立数据类型为 uency 的变量,如图 13 所示。

图13 uency
数据类型 uency 用于“频率”类型的高速计数器,其数据结构与功能参考表4。
表4 uency 数据结构
3.2指令编程
在 OB1 里调用指令块 CTRL_HSC_EXT,如图 14 所示。

图14 调用 CTRL_HSC_EXT
CPU 高速计数器通道接入脉冲信号,如图 15 所示,通过程序对高速计数器软件门信号 EnHSC 信号置位,即可在Frequency 处监控到频率值。

图15 监控频率值
注意:将 HSC 配置成频率模式时调用 CTRL_HSC_EXT指令不是必须的。只要在硬件配置里使能并组态高速计数器即可正常计数,默认情况下 ID992 的值即为 HSC1 的频率值。
西门子PLC HMI 工业软件 电线电缆 变频器 伺服数控系统
经营范围包括一般项目:技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;通用设备修理;专用设备修理;电气设备修理;家用电器安装服务;普通机械设备安装服务;机械电气设备销售;电子专用设备销售;数控机床销售;机械设备销售;电线、电缆经营;电子元器件与机电组件设备销售;电工仪器仪表销售;电力电子元器件销售。
上海工智达电气技术有限公司成立于2024年,公司下设技术部、销售部、维修部、物流部、等专职部门。公司为自动化控制以及电气传动领域产品销售、技术服务、技术培训以及项目咨询为一体的企业。致力成为行业内优秀的自动化技术服务商。 公司定位------做客户贴心的自动化专家,提供全系列,全方位,全周期的自动化产品和技术服务!——定位于自动化领域,突显于专业化水准 技术支持------公司拥有完整的技术队伍 (各类专业人员),经过10多年的西门子公...