PWM 输出功能

S7-200 CPU 本体上有两个 PWM 脉冲发生器,它们每个都可以产生一个脉宽调制波形(PWM)。其最高频率可达20K

S7-200 的新一代产品CPU 224 XP能够输出更高频率的脉冲。

PWM 与数字量输出过程映象寄存器共用输出点 Q0.0和 Q0.1。当在 Q0.0 或 Q0.1 上激活 PWM 功能时,PWM 发生器对 Q0.0 或 Q0.1 拥有控制权,同时普通输出点功能被禁止。这时 Q0.0/Q0.1 的输出波形不受过程映象区状态、输出点强制值或者立即输出指令执行的影响。

脉宽调制输出(PWM)

PWM 功能产生一个占空比变化周期固定的脉冲输出。你可以为其设定周期和脉宽(以微秒或毫秒为单位):

 

PWM 发生器的详细参数和例程请参见《S7-200系统手册》

PWM向导组态

要为 PWM 组态其中一个内置输出,请使用 PTO/PWM 向导。
说明: C:\Users\z003vu4c\Desktop\新建文件夹\1.png
图1. PWM 向导
● 在项目树中打开“向导”(Wizards) 文件夹,然后双击“PTO/PWM”,或选择“PTO/PWM”并按回车键。
说明: C:\Users\z003vu4c\Desktop\4.png
组态PWM向导的步骤:

说明: C:\Users\z003vu4c\Desktop\5.png
图2. 选择脉冲发生器

说明: C:\Users\z003vu4c\Desktop\新建文件夹\2.png
图4. 组态 PWM 通道输出时基

说明: C:\Users\z003vu4c\Desktop\新建文件夹\3.png
图3. 更改 PWM 通道的名称

说明: https://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/images/4.gif注意
PWM 通道已硬编码:

PWMx_RUN子程序编程
PWMx_RUN子程序允许您通过使用改变脉冲宽度(从0到周期时间的脉冲宽度)来控制输出占空比。
说明: https://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/function/PWM/image/p9.jpg
其中:
a. PWMx_RUN执行控制:控制脉冲发生的产生
b.Cycle:写入脉冲周期
c.Pulse:写入脉冲宽度

PWM_PLS指令.mwp

PWM 向导.mwp

常见问题

使用 PWM 发生器的功能应使用什么类型的 CPU

应使用 24VDC 晶体管输出的 CPU,继电器输出的绝对不行。

PWM 输出的幅值是多少?

PWM 输出幅值为 24V(高电平有效,共负端连接),若想实现输出其他电压的幅值,需自己加转换器来实现。CPU 224 XP 的高速输出点所在的数字量输出点可以支持 5 - 24V 电压幅值。

如何强制停止 PWM 输出?

可以通过编程将控制字节中的使能位 SM67.7 或 SM77.7 清零,然后执行 PLS 指令,便可立即停止 PWM 输出。如下图 1 所示:

图 1. 停止 PWM 输出

为何输出信号的指示灯已亮,却没有良好的电压波形输出,或者有时丢脉冲?

PWM 输出负载最小不能低于额定负载的 10%;即在输出为高电平的状态下,负载电流不低于 140mA。

如何改变 PWM 输出的周期/脉冲宽度?

PWM 功能可以在初始化时设置脉冲的周期和宽度,也可以在连续输出脉冲时很快地改变上述参数。其操作步骤为:

  1. 设置控制字节,以允许写入(或者更新)相应的参数
  2. 将相应的特殊存储器写入新的周期/脉宽值
  3. 执行 PLS 指令,对 PTO/PWM 发生器进行硬件设置变更

用户的具体项目也可能要求先中止前一个 PTO 脉冲管道,然后再定义新的管道。

当周期小于 50μs 时为何不能获得满意的波形输出?

因为限制 PWM 输出的因素有两个:

所以如果脉宽低于 50 μs 的波形无法保证。

不论是连续脉冲,还是相对较长周期内的单个脉冲,其脉冲宽度限制都是相同的

新产品 CPU224 XP支持 10μs 的脉冲周期。