S7-200 与 S7-200 SMART 使用PLS指令控制脉冲串输出(PTO)的SM 定义不同,不能将 S7-200 CPU 编写的 PLS指令程序直接用于S7-200 SMART。
如表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),则必须使用多段管道化。
相对于 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 CPU 没有类似 S7-200 CPU 的高速计数器模式 12 功能。
S7-200 SMART CPU 硬件脉冲输出接到输入,配置高速计数器向导并调用 HSC 子程序可监视 PTO 脉冲数量 。如下图4所示:
图4. S7-200 SMART PTO 脉冲数测量