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 功能产生一个占空比变化周期固定的脉冲输出。你可以为其设定周期和脉宽(以微秒或毫秒为单位):
周期:50μs 到 65535μs 或者 2ms 到 65535ms(cpu224 xp 可以支持短 10μs 脉冲周期。)
脉宽:0μs 到 65535μs 或者 0ms 到 65535ms(低 50μs,设置为 0μs 等于禁止输出;cpu224 xp 可以支持短 10μs 脉冲周期。)
脉宽调制输出(pwm)
pwm 发生器的详细参数和例程请参见《s7-200系统手册》
常问问题
使用 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 功能可以在初始化时设置脉冲的周期和宽度,也可以在连续输出脉冲时很快地改变上述参数。其操作步骤为:
设置控制字节,以允许写入(或者更新)相应的参数
将相应的特殊存储器写入新的周期/脉宽值
执行 pls 指令,对 pto/pwm 发生器进行硬件设置变更
用户的具体项目也可能要求先中止前一个 pto 脉冲管道,然后再定义新的管道。
当周期小于 50μs 时为何不能获得满意的波形输出?
因为限制 pwm 输出的因素有两个:
硬件输出电路响应速度的限制,对于 q0.0 和 q0.1 从断开到接通为 2 μs,从接通到断开 10 μs ,因此小脉宽不可能小于10 μs。
大的频率为 20k,因此小周期为 50 μs。
所以如果脉宽低于 50 μs 的波形无法保证。
不论是连续脉冲,还是相对较长周期内的单个脉冲,其脉冲宽度限制都是相同的。
新产品 cpu224 xp支持 10μs 的脉冲周期。