高速计数功能移植

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      
0 带有内部方向控制的单相计数器 时钟      
1 时钟   复位  
2 时钟 复位 启动
3 带有外部方向控制的单相计数器 时钟 方向    
4 时钟 方向 复位  
5 时钟 方向 复位 启动
6 带有增减计数时钟的双相计数器 增时钟 减时钟    
7 增时钟 减时钟 复位  
8 增时钟 减时钟 复位 启动
9 A/B相正交计数器 时钟A 时钟B    
10 时钟A 时钟B 复位  
11 时钟A 时钟B 复位 启动

红色:S7-200 SMART 不支持的功能。

表2. S7-200高速计数器寻址

高速计数器号 HSC0 HSC1 HSC2 HSC3 HSC4 HSC5
新当前值(仅装入) 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    
0 带有内部方向控制的单相计数器 时钟    
1   时钟   复位
3 带有外部方向控制的单相计数器 时钟 方向  
4   时钟 方向 复位
6 带有增减计数时钟的双相计数器 增时钟 减时钟  
7   增时钟 减时钟 复位
9 A/B相正交计数器 时钟A 时钟B  
10   时钟A 时钟B 复位

表4. S7-200 SMART 高速计数器寻址

高速计数器号 HSC0 HSC1 HSC2 HSC3
新当前值(仅装入) 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)对比

  S7-200 S7-200 SMART
HSC0 计数器状态字

SM36.0~SM36.4

保留
SM36.5
HSC0 当前计数方向状态位:1=增计数
SM36.6
HSC0 当前值等于预设值状态位:1=相等
SM36.7
HSC0 当前值大于预置值状态位:1=大于
HSC0 计数器控制字
SM37.0
复位的有效电平控制位:
0=高电平有效
1=低电平有效
SM37.1 保留
SM37.2
HSC0 AB正交计数器的计数速率选择:
0=4x
1=1x
SM37.3
HSC0 方向控制位:1=加计数
SM37.4
HSC0 更新方向:1=更新方向
SM37.5
HSC0 更新预设值:1=将新的预设值写入HSC0 预设值
SM37.6
HSC0 更新当前值:1=将新的预设值写入HSC0 当前值
SM37.7
HSC0 使能位:1=使能
SMD38
HSC0 当前值
SMD42
HSC0 预设值

由上表可见,S7-200 与 S7-200 SMART 特殊存储器(SM)完全一致。

将 S7-200与 S7-200 SMART 高速计数中断事件功能横向对比,如下表所示:

表6. S7-200 与 S7-200 SMART 中断事件功能对比

S7-200 S7-200 SMART
中断号
中断事件
中断号 中断事件
12
HSC0 CV=PV
12
HSC0 CV=PV
13
HSC1 CV=PV
13
HSC1 CV=PV
14
HSC1 输入方向改变
14
-
15
HSC1 外部复位
15
-
16
HSC2 CV=PV
16
HSC2 CV=PV
17
HSC2 输入方向改变
17
HSC2 输入方向改变
18
HSC2 外部复位
18
HSC2 外部复位
27
HSC0 输入方向改变
27
HSC0 输入方向改变
28
HSC0 外部复位
28
HSC0 外部复位
29
HSC4 CV=PV
29
-
30
HSC4 输入方向改变
30
-
31
HSC4 外部复位
31
-
32
HSC3 CV=PV
32
HSC3 CV=PV
33
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 高速计数功能》,进行高速计数通道的接线

步骤3:按照《图1. 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必须修改硬件地址的滤波时间。