产品详情
湖南 长沙 西门子 6ES7231-7PB22-0XA0 现货特价销售
PID 移植
S7-200 SMART 与 S7-200一样,支持8路PID控制,支持模拟量输出及PWM输出
PID 向导移植
将 S7-200 带有PID向导生成的程序用 S7-200 SMART打开,提示错误,如下图所示:
图1. S7-200 PID程序在S7-200 SMART 打开报错
解决方法:
1,新建 S7-200 SMART项目,并进行正确的设备组态
2,将 S7-200程序用STEP 7-Micro/win SMART 软件打开,将除PID子程序之外的程序段复制到新项目
3,修改新项目的 I/O 地址及模拟量转换量程与S7-200 SMART 匹配
PID 指令移植
比较 S7-200 与 S7-200 SMART PID回路表,两者完全相同,如下表所示:
表1. S7-200 与 S7-200 SMART PID 回路对比表
偏移 |
类型 |
S7-200 | S7-200 SMART |
---|---|---|---|
0 |
过程变量(PVn) |
包含过程变量,其值必须标定在 0.0 到 1.0 之间 |
|
4 |
设定值(SPn) |
包含设定值,其值必须标定在 0.0 到 1.0 之间 |
|
8 |
输出(Mn) |
包含计算出的输出,其值必须标定在 0.0 到 1.0 之间 |
|
12 |
增益(Kc) |
包含增益,为比例常数。 可以是正数或负数 |
|
16 |
采样时间 |
包含采样时间,单位为秒。 必须是正数 |
|
20 |
积分时间 |
包含积分时间或复位,单位为分 |
|
24 |
微分时间 |
包含微分时间或速率,单位为分 |
|
28 |
偏置 |
包含偏置或积分和值,介于 0.0 到 1.0 之间 |
|
32 |
前一过程变量 |
包含上次执行 PID 指令时存储的过程变量值 |
|
36 |
PID扩展表 |
‘PIDA’(PID 扩展表,版本 A): ASCII 常数 |
|
40 |
AT 控制 |
||
41 |
AT 状态 |
||
42 |
AT 结果 |
||
43 |
AT 配置 |
||
44 |
偏差 |
最大 PV 振荡幅度的标准化值(范围: 0.025 到 0.25) |
|
48 |
滞后 |
用于确定过零的 PV 滞后标准化值(范围: 0.005 到 0.1) |
|
52 |
初始输出阶跃 |
输出值中阶跃变化的标准化大小,用于使 PV 产生振荡(范围:0.05 到 0.4) |
|
56 |
看门狗时间 |
两次过零之间允许的最大秒数值(范围:60 到 7200) |
|
60 |
建议增益 |
自整定过程确定的建议回路增益 |
|
64 |
建议积分时间 |
自整定过程确定的建议积分时间 |
|
68 |
建议微分时间 |
自整定过程确定的建议微分时间 |
|
72 |
实际阶跃大小 |
自整定过程确定的标准化输出阶跃大小值 |
|
76 |
实际滞后 |
自整定过程确定的标准化 PV 滞后值 |
如上表所示,两者PID回路表完全一致,所以,当将S7-200 PID 指令编程进行移植时,需将反馈与输出的模拟量地址按照 S7-200 SMART 的地址分配进行修改,同时修改模数转换数值即可。如下图所示:
高速计数功能移植
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必须修改硬件地址的滤波时间。
PLS指令移植
S7-200 与 S7-200 SMART 使用PLS指令控制脉冲串输出(PTO)的SM 定义不同,不能将 S7-200 CPU 编写的 PLS指令程序直接用于S7-200 SMART。
PLS指令的单段管道化
如表1所示,使用 STEP 7-Micro/Win SMART 打开S7-200 CPU 的 PLS 指令程序需修改控制字节(SM67.6)和更改周期为频率(SMW68)。
表1. S7-200 与 S7-200 SMART 的SM 对比
Q0.0 | S7-200 | S7-200 SMART |
SM67.0 | PTO更新周期 | PTO更新频率 |
SM67.1 | 未使用 | 未使用 |
SM67.2 | PTO更新脉冲计数值 | PTO更新脉冲计数值 |
SM67.3 | PTO时间基准:0=1μs,1=1ms | 未使用 |
SM67.4 | 未使用 | 未使用 |
SM67.5 | PTO操作:0=单段,1=多段 | PTO操作:0=单段,1=多段 |
SM67.6 | PTO/PWM模式选择:0=PTO,1=PWM | PTO/PWM模式选择:0=PWM,1=PTO |
SM67.7 | PTO启用:0=禁止,1=启用 | PTO启用:0=禁止,1=启用 |
SMW68 | PTO周期 | PTO频率 |
使用 STEP 7-Micro/Win SMART 打开S7-200 CPU 的 PLS 指令程序需修改控制字节(SM67.6)和更改周期为频率(SMW68)。
例如:在 S7-200 程序里,编写 500ms/周期(SMB67=16#8D,SMW68=500ms),装载周期和脉冲的PTO 输出程序,移植至S7-200 SMART需要修改SMB67=16#C5,SMW68=2Hz。
图1. PLS指令单段PTO移植
在单段管道化期间,频率的上限为65,535Hz,如果需要更高的频率(最高为100,000Hz),则必须使用多段管道化。
PLS指令的多段管道化
相对于 S7-200 多段 PTO 计算周期增量的方式,S7-200 SMART 多段 PTO 设置更简单,只需要定义起始、结束频率和脉冲计数即可,如图2所示。因此移植时需要重新编写PTO多段管道化程序。
图2. 多段PTO操作的包络表格式对比
对于依照周期时间(而非频率)的S7-200项目移植至S7-200smart时,可以使用以下公式来进行频率转换:
CTFinal = CTInitial + (ΔCT * PC)
FInitial = 1 / CTInitial
FFinal = 1 / CTFinal
CTInitial | 段启动周期时间 (s) |
ΔCT | 段增量周期时间 (s) |
PC | 段内脉冲数量 |
CTFinal | 段结束周期时间 (s) |
FFInitial | 段起始频率 (Hz) |
FFinal | 段结束频率 (Hz) |
如图3所示,PLS指令多段PTO移植时无论 S7-200 中定义的SMB67为16#A0(1μs/周期)还是16#A8(1ms/周期),S7-200 SMART中都需要改为16#E0。起始、结束频率根据公式计算,脉冲数不需要改变。
图3. PLS指令多段PTO移植
计算包络段的加速度(或减速度)和持续时间有助于确定正确的包络表值,可按如下公式计算 Ts 段持续时间:
ΔF = FFinal - FInitial
Ts = PC / (Fmin + (|ΔF| / 2 ) )
As = ΔF / Ts
Ts | 段持续时间 (s) |
As | 段频率加速度 (Hz/s) |
PC | 段内脉冲数量 |
Fmin | 段最小频率 (Hz) |
ΔF | 段增量(总变化)频率 (Hz) |
注意:如果 Ts 段持续时间少于 500 微秒,将导致 CPU 没有足够的时间来计算 PTO 段值。 PTO 管道下溢位(SM66.6、SM76.6 和 SM566.6)将置为 1,PTO 操作终止。
S7-200 SMART PTO 脉冲数测量
S7-200 SMART CPU 没有类似 S7-200 CPU 的高速计数器模式 12 功能。
S7-200 SMART CPU 硬件脉冲输出接到输入,配置高速计数器向导并调用 HSC 子程序可监视 PTO 脉冲数量 。如下图4所示:
图4. S7-200 SMART PTO 脉冲数测量
湖南 长沙 西门子 6ES7231-7PB22-0XA0