长沙奈欧自动化设备有限公司(西门子系统集成商)长期销售西门子S7-200/300/400/1200PLC、数控系统、变频器、人机界面、触摸屏、伺服、电机、西门子电缆等,并可提供西门子维修服务,欢迎来电垂询
联系人:刘文秀 (销售经理)
手机 :13762110473
QQ : 1533714462
地址:长沙市岳麓区天顶街道尖山安置公寓楼702
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 脉冲数测量