1 PWM功能的概要
PWM (脉冲宽度可变)是周期固定,脉冲宽度可调节的脉冲输出。 如图1所示,PWM功能使用的是数字量输出,类似于能够控制电机转速和阀门位置等的模拟量。 S7-1200 CPU备有高速脉冲输出用的2个输出通道,可分别设定为PTO或PWM。 PTO的功能只能通过运动控制指令实现,而PWM功能是通过CTRL_PWM指令块实现的。 1通道设定为PWM时,不能使用PTO功能。 反之亦然。
图1显示了PWM的原理
脉冲宽度可以用脉冲周期的百分之几(0-1000 )、千分之几(0-1000 )、万分之几(0-10000 )或S7 analog ) )模拟量)的形式表示,脉冲宽度范围为0 )、无脉冲、无失真
2 PWM功能构成
CPU的双脉冲生成器可以使用特定的输出点,用户可以使用CPU集成输出点或信号板上的输出点,如图2所示。 表中列出了默认的地址分配,但用户也可以自己更改输出地址。 无论点的地址如何变化,PTO1/PWM1总是使用第一组输出,PTO2/PWM2使用后续输出,CPU集成点和信号板上的PTO使用脉冲输出时,通常会占用两个输出点,但PWM
脉冲功能输出点占有图2
图2脉冲功能输出点占有
配置步骤
1 .进入设备配置界面,选择CPU,单击属性,然后选择脉冲生成器(PTO/PWM )。 如图3所示
图3迁移到设备配置
2 .如图4所示设定脉冲发生器的参数。
图4脉冲发生器结构
1脉冲生成器使用的as (脉冲输出型) :用于选择PTO或PWM输出。
2选择输出源CPU积分输出还是信号板输出。
3基于时间的毫秒)微秒) )。
4脉冲宽度格式(脉冲宽度格式) :Hundredths )、Thousandths )、ten thousandths )、S7模拟量)。
5 Cycle time (周期) :脉冲的周期值只能在这里修改。
6 Intial pulse width (初始脉冲宽度)。
图5显示了系统中指定的硬件输出点
图5 PWM硬件输出点
图6是用PWM划分地址
图6 PWM脉宽调制地址
1 Start address (起始地址) :该地址为WORD类型,用于存储脉冲宽度值,用户可以在系统运行时实时修改该值以修改脉冲宽度。 缺省情况下,PWM1使用QW1000,而PWM2使用QW1002。
2 Process Image (工艺图像区域) )脉冲宽度值的保存位置为工艺图像区域,因此在此选择更新方式,默认定期更新。
3硬件标识号(硬件标识号)。
3 PWM指令块
S7-1200 CPU使用CTRL_PWM命令块实现PWM输出。 图7 .使用此命令块时,需要添加背景数据块以存储参数信息。
图7 PWM命令
块PWM指令块参数如表1
当EN端变为1时,指令块通过Enable端使能或禁止脉冲输出,脉冲宽度通过组态好的QW来调节,当CTRL_PWM指令块正在运行时,BUSY位将一直为0。
有错误发生时ENO端输出为0,同时STATUS显示错误状态,
4 应用举例
使用模拟量控制数字量输出,当模拟量值发生变换时,CPU输出的脉冲宽度随之改变,但周期不变,可用于控制脉冲方式的加热设备。此应用通过PWM功能实现,脉冲周期为1S,模拟量值在0-27648之间变化。
1硬件组态
在硬件组态中定义相关输出点,并进行参数组态,双击硬件组态选中CPU
定义IW64为模拟量输入,输入信号为0-10V DC。
PWM 参数组态如下
图8所示为硬件参数组态
图9所示为硬件输出点与脉宽地址定义
2建立变量
在变量表中建好变量,如图10
3程序编制
在定义完变量后,打开OB1,从指令列表中将CTRL_PWM指令块拖入编辑器中,并定义背景数据块,最后添加模拟量赋值程序。如图11
4监控
在状态表中监控变量如图12,使能PWM_Enable,通过外部模拟电位计,改变输入电压“Analog_input”值,脉冲以1S的固定周期,脉宽随“Pulse Width”变化。