您现在的位置是:首页 > PLC技术 > PLC技术

S7-200系列PLC高速脉冲输出的PWM输出形式

来源:艾特贸易2017-06-04

简介PWM 输出形式是指从 Q0.0 或 Q0.1 输出周期固定,脉冲宽度变化的脉冲信号。周期为 16 位无符号数,周期的增量单位为 s (微秒)或 ms (毫秒),周期范围为 50 ~ 65 535 s 或 2 ~ 65 535ms 。

    PWM输出形式是指从Q0.0Q0.1输出周期固定,脉冲宽度变化的脉冲信号。周期为16位无符号数,周期的增量单位为μs(微秒)或ms(毫秒),周期范围为5065 535μs265 535ms。如果周期范围小于2个时间单位,则CPU默认为2个时间单位。在设置周期值时,一般应设定为偶数,否则会引起输出波形占空比的失真。脉冲宽度为16位无符号数,脉冲宽度的增量单位为μs(微秒)或ms(毫秒),范围为065 535μs065 535ms,占空比为0%100%。当脉冲宽度大于或等于周期时,输出将连续接通,当脉冲宽度为0时,输出一直被关断。    PWM的输出形式下的典型操作是当周期为常数时改变脉冲宽度,根据在改变脉冲宽度时是否需要改变时间基准,可以分为同步更新和异步更新两种情况。    · 同步更新适用于不需要改变时间基准的情况,利用同步更新,使波形特性的    变化发生在周期边沿,形成波形的平滑转换。一般的做法是将PWM输出反馈    到一个中断输入点,如I0.0,当需要改变脉宽时产生中断,在下一个I0.0的上    升沿,脉宽的改变将与PWM的新周期同步发生。    ·异步更新操作一般是在需要改变时间基准时使用,但是异步更新可能会导致    PWM功能暂时失效,造成被控制装置的振动。    使用PWM输出时的编程要点。    ①确定高速PWM的输出端(Q0.0Q0.1)。    ②进行PWM的初始化,利用特殊继电器SMO.I调用初始化子程序。    ③编写初始化子程序。    ·设置控制字节,将控制字写入SMB67(或SMB77)。如16#C1,其意义是,    选择并允许PWM方式的工作,以μs(微秒)作为时间基准,允许更新PWM    的周期时间。    ·将字型数据的PWM周期值写入SMW68(或SMW78)。    ·将字型数据的PWM的脉冲宽度值写入SMW70(或SMW80)。    ·如果希望随时改变脉冲宽度,可以重新向SMB67装入控制字(16#C2    16#C3)。    ·执行PLS指令,PLC自动对PTO/PWM的硬件初始化编程。    ·退出子程序。    ④如果希望在子程序中改变PWM的脉冲宽度,则:    ·将希望的脉冲宽度值写入SMW70    ·执行PLS指令,PLC自动对PTO/PWM的硬件初始化编程。    ·退出子程序。    ⑤如果希望采用同步更新的方式,则:    ·执行开中断指令。    ·将PWM输出反馈到一个具有中断输入能力的输入点,建立与上升沿中断事件    相关联的中断连接(此事件仅在一个扫描周期内有效)。    ·编写中断服务子程序,在中断程序中改变脉冲宽度,然后禁止上升沿中断。    ·执行PLS指令。    ·退出子程序。    例:编写实现脉冲宽度调制的程序。主程序见表5-42,子程序见表5-43。根据要求设定控制字节(SMB77) =16#DB,设定周期为10000ms,脉冲宽度为1000ms,通过Q0.1输出。    一般地,使用子程序为脉冲输出初始化PWM,从主程序调用初始化子程序。在主程序中,PLCSTOP转为RUN状态时,SM0.1接通一个周期,此时将输出Q0.1清零,然后调用初始化子程序SBR_0。在子程序中,当PLC处于RUN模式时,将控制字16#DB存储到SMB77,周期值存储到SMW78,脉冲宽度存储到SMW80,然后执行PLS指令。    5-42    PWM主程序
PWM主程序
    5-43    PWM子程序
PWM子程序