S7-200 SMART CPU 提供脉冲宽度调制功能(PWM),使用向导或特殊寄存器(SM)控制CPU集成的高速输出点,最多可实现三路PWM输出,三个输出点分别为Q0.0、Q0.1和Q0.3。PWM是指占空比可变、周期固定的脉冲。
PWM输出以指定频率(循环时间)启动之后将连续运行。脉宽则根据所需要的控制要求而变化。占空比可表示为周期的百分比或对应于脉冲宽度的时间值。
一、如何使用向导组态设置PWM
除了直接使用设置特殊寄存器发送PWM,还可以使用软件中提供的向导。下面使用个具体的例子来说明如何使用向导设置PWM。假设发送的脉冲周期为100ms,脉冲宽度为50ms,使用Q0.0发送PWM。具体组态步骤如下所述。
1、首先,在“工具”菜单功能区选择PWM,弹出向导组态界面,然后激活PWM0。S7-200 SMART总共支持3个PWM输出。
2、选择脉冲的时基为毫秒或者微秒。
3、时基组态完毕,单击“生成”按钮(Generate),会生成一个名为PWM0_RUN 子程序,在项目树的调用子程序文件夹中可以找到此子程序。
4、调用生成的程序块
调用PWM0_RUN,设置Cycle(周期)=100,Pulse(脉冲宽度,注:Pulse中文直译为脉冲的意思,但此处需翻译为脉宽,Pulse Width)=50,触发M0.0后,Q0.0就会输出周期为100ms、占空比为50%的连续方波。
二、使用SM特殊寄存器设置PWM
PWM功能除了使用PWM向导配置以外,还可以使用特殊寄存器进行配置,特殊寄存器每个位的定义都不同,用户可以对照特殊寄存器的定义表,分别设置每个位,最后组成控制字节,由程序写入。
下面用一个具体的例子来说明,如何通过设置特殊寄存器来发送PWM。假如需要发送的脉冲周期为100ms,脉宽为30ms,发送脉冲的输出点为Q0.0。
①使用M0.0上升沿触发,将控制字16#8B送入SMB67,16#8B对应的功能为:使能Q0.0的PWM功能,使能更新脉冲周期、脉冲宽度,使用1ms时基。
②脉冲周期为100ms
③脉冲宽度为30ms
④执行PLS指令,触发PWM输出。
用户可以在当前脉冲发送过程中,通过向导生成的“PWMx_RUN”指令实时修改Cycle和Pulse的参数值,以实现修改PWM脉冲周期和占空比的功能。