标准型CPU支持六路高速计数器通道(HSC0~HSC5)。
HSC0、HSC2、HSC4和HSC5支持四种频率测量模式(模式0、3、6、9)。
HSC1和HSC3仅支持一种频率测量模式(模式0)。
向导方式实现频率测量
V2.8版本S7-200 SMART CPU和STEP 7-MicroWINSMART在高速计数器向导中新增频率类型,通过配置向导并调用初始化程序,频率值可通过读取高速计数器当前值寄存器HC获取。
第一步
勾选需要配置的计数器通道。
图1 选择要组态的计数器
第二步
为计数器分配名称或使用默认名称。
图2 计数器命名
第三步
将类型选择为频率,选择频率测试时间并根据信号类型选择合适的模式。
可在下拉列表中选择频率测量周期(1s、100ms、10ms)。默认值为1s。
图3 配置计数器模式
第四步
为子程序命名或默认。选择计数器初始计数方向,默认为增计数。
图4 高速计数器向导初始化
第五步
后续向导内容不可修改,默认即可。点击生成。需要注意,默认情况下,计数器通道滤波时间为6.4ms,理论采样频率78Hz。
图5 高速计数器向导I/O映射表
第六步
若实际采样频率大于78Hz,则需要调整数字量输入滤波时间。
图6 调整滤波时间
下表显示可检测到的每种输入滤波组态的Zui大输入频率。
表1 输入滤波时间和可检测到的Zui大输入频率对照表
第七步
调用子程序
图7 调用子程序
通过状态图表监视读取到的计数频率,或使用传送指令传送至其他双精度整数类型的寄存器。
指令方式实现频率测量
高速计数器HSC指令新增频率模式,根据所需的控制操作加载特殊寄存器并调用HSC指令,实现对频率的测量。
表2高速计数器指令编程示例
通过状态图表监视读取到的计数频率,或使用传送指令传送至其他双精度整数类型的寄存器。
图9 状态图表
SMB195到SMB206为V2.8版本新增特殊寄存器,用于定义HSC类型和频率测量采样周期。具体含义如下:
表2 特殊寄存器SMB195到SMB206
注意事项
选择合适的频率采样周期
对于10ms周期采样,理论频率应大于100Hz,即脉冲输入至少每秒100个。
对于100ms周期采样,理论频率应大于10Hz,即脉冲输入至少每秒10个。
与赫兹(Hz)对应关系
当选择的频率测量时间为10ms时
PLC间隔10ms记录下脉冲数变化量,PLC内部将其转换为单位为秒的频率值,转换关系如下:
HCx=脉冲数变化量*100
当选择的频率测量时间为100ms时
PLC间隔100ms记录下脉冲数变化量,PLC内部将其转换为单位为秒的频率值,转换关系如下:
HCx=脉冲数变化量*10
当选择的频率测量时间为1s时
PLC间隔1s记录下脉冲数变化量:
HCx=脉冲数变化量
需要注意,当编码器类型为A/B相正交计数器,计数速率选择为4倍,则实际频率是检测值的1/4。
例如,频率测量周期为10ms,AB正交相计数器的计数速率选择为4倍,读取到的频率测量值为1800,则实际频率值=1800/4=450Hz。
中断事件
高速计数器使用向导或者指令方式选择“计数”类型,根据配置的编码器类型,可以激活并使用三种中断事件,分别是“外部复位”“方向改变”“当前值=预设值”。
图10 计数模式提供的中断事件
高速计数器使用向导或者指令方式选择“频率”类型,当编码器类型为3、6、9时,可以激活并使用“方向改变”中断事件。
图11 频率模式提供的中断事件