S7-200 支持6路30KHz的高速计数器(224XP支持200KHz),支持13种模式;S7-200 SMART支持4路200KHz(CR40/60仅支持100KHz)高速计数器,支持8种模式,详细对比参看下表:
表1. S7-200 高速计数功能
HSC0 | I0.0 | I0.1 | I0.2 | |
HSC1 | I0.6 | I0.7 | I1.0 | I1.1 |
HSC2 | I1.2 | I1.3 | I1.4 | I1.5 |
HSC3 | I0.1 | |||
HSC4 | I0.3 | I0.4 | I0.5 | |
HSC5 | I0.4 | |||
带有内部方向控制的单相计数器 | 时钟 | |||
时钟 | 复位 | |||
时钟 | 复位 | 启动 | ||
带有外部方向控制的单相计数器 | 时钟 | 方向 | ||
时钟 | 方向 | 复位 | ||
时钟 | 方向 | 复位 | 启动 | |
带有增减计数时钟的双相计数器 | 增时钟 | 减时钟 | ||
增时钟 | 减时钟 | 复位 | ||
增时钟 | 减时钟 | 复位 | 启动 | |
A/B相正交计数器 | 时钟A | 时钟B | ||
时钟A | 时钟B | 复位 | ||
时钟A | 时钟B | 复位 | 启动 |
红色:S7-200 SMART 不支持的功能。
表2. S7-200高速计数器寻址
SMD38 | SMD48 | SMD58 | SMD138 | SMD148 | SMD158 |
SMD42 | SMD52 | SMD62 | SMD142 | SMD152 | SMD162 |
HC0 | HC1 | HC2 | HSC3 | HSC4 | HSC5 |
表3. S7-200 SMART 高速计数功能
HSC0 | I0.0 | I0.1 | I0.4 |
HSC1 | I0.1 | ||
HSC2 | I0.2 | I0.3 | I0.5 |
HSC3 | I0.3 | ||
带有内部方向控制的单相计数器 | 时钟 | ||
时钟 | 复位 | ||
带有外部方向控制的单相计数器 | 时钟 | 方向 | |
时钟 | 方向 | 复位 | |
带有增减计数时钟的双相计数器 | 增时钟 | 减时钟 | |
增时钟 | 减时钟 | 复位 | |
A/B相正交计数器 | 时钟A | 时钟B | |
时钟A | 时钟B | 复位 |
表4. S7-200 SMART 高速计数器寻址
SMD38 | SMD48 | SMD58 | SMD138 |
SMD42 | SMD52 | SMD62 | SMD142 |
HC0 | HC1 | HC2 | HSC3 |
注意:
1,S7-200 SMART 不支持模式2、模式5、模式8、模式11、模式12(在运动控制向导时勾选);
2,S7-200 SMART 做高速计数需要硬件滤波,如下图所示:
图1. S7-200 SMART 滤波时间与频率关系
注:CR40/60 两款CPU高支持 100kHz 频率
高速计数功能移植案例以S7-200 224XP举例,使用高速计数HSC0,模式9,分别利用指令与向导分别编程,然后移植到S7-200 SMART
向导移植首先,将S7-200 高速计数向导与S7-200 SMART高速计数向导横向对比,如下图所示:
图2. 高速计数器及模式选择
图3. HSC 初始化选项
图4.配置中断及步骤
图5. HSC 第 1 步
图6. 完成向导
如上图所示:S7-200 高速计数向导组态与S7-200 SMART高速计数向导组态一致。
具有相同功能由向导生成的 S7-200 项目可直接用S7-200 SMART 打开,按照以下步骤移植:
步骤1:用STEP 7 Micro/Win SMART 打开S7-200 的原程序
步骤2:按照《表3. S7-200 SMART 高速计数功能》,进行高速计数通道的接线
步骤3:按照《图1. S7-200 SMART 滤波时间与频率关系》,进行高速计数通道滤波时间的设置
步骤4:编译下载,下载即可。如下图示:
图7. 程序对比
指令移植首先,将 S7-200 高速计数的特殊存储器 ( SM ) 与 S7-200 SMART 高速计数的特殊存储器 ( SM ) 横向对比,以 HSC0 如下表所示:
表5. S7-200 与 S7-200 SMART 特殊存储器(SM)对比
保留 | |
HSC0 当前计数方向状态位:1=增计数 | |
HSC0 当前值等于预设值状态位:1=相等 | |
HSC0 当前值大于预置值状态位:1=大于 | |
复位的有效电平控制位: | |
保留 | |
HSC0 AB正交计数器的计数速率选择: | |
HSC0 方向控制位:1=加计数 | |
HSC0 更新方向:1=更新方向 | |
HSC0 更新预设值:1=将新的预设值写入HSC0 预设值 | |
HSC0 更新当前值:1=将新的预设值写入HSC0 当前值 | |
HSC0 使能位:1=使能 | |
HSC0 当前值 | |
HSC0 预设值 |
由上表可见,S7-200 与 S7-200 SMART 特殊存储器(SM)完全一致。
将 S7-200与 S7-200 SMART 高速计数中断事件功能横向对比,如下表所示:
表6. S7-200 与 S7-200 SMART 中断事件功能对比
中断号 | 中断事件 | 中断号 | 中断事件 |
12 | HSC0 CV=PV | 12 | HSC0 CV=PV |
HSC1 CV=PV | 13HSC1 CV=PV | ||
HSC1 输入方向改变 | 14- | ||
HSC1 外部复位 | 15- | ||
HSC2 CV=PV | 16HSC2 CV=PV | ||
HSC2 输入方向改变 | 17HSC2 输入方向改变 | ||
HSC2 外部复位 | 18HSC2 外部复位 | ||
HSC0 输入方向改变 | 27HSC0 输入方向改变 | ||
HSC0 外部复位 | 28HSC0 外部复位 | ||
HSC4 CV=PV | 29- | ||
HSC4 输入方向改变 | 30- | ||
HSC4 外部复位 | 31- | ||
HSC3 CV=PV | 32HSC3 CV=PV | ||
HSC5 CV=PV | 33- |
由上表可见,S7-200 SMART 与 S7-200 相比,S7-200 SMART 高速计数功能所支持的中断与 S7-200 相同。
具有相同功能由指令生成的 S7-200 项目可直接用S7-200 SMART 打开,按照以下步骤移植:
步骤1:用STEP 7 Micro/Win SMART 打开S7-200 的原程序
步骤2:按照《表3. S7-200 SMART 高速计数功能》,进行高速计数通道的接线
步骤4:编译下载,下载即可。如下图示:
图8. 程序对比
图9. 功能测试
常问问题S7-200 所支持的HSC4、HSC5,及模式2、模式5、模式8、模式11、模式12(在运动控制向导时勾选)能否移植到S7-200 SMART?
答:不能,无论是向导生成,还是指令生成,都不能移植到S7-200 SMART。
S7-200 与 S7-200 SMART相同功能,移植成功后,高速检测不到脉冲?
答:S7-200 SMART必须修改硬件地址的滤波时间。