博途S7_1200如何修改PWM脉冲宽度?

1 PWM功能简介

PWM(脉冲宽度可调)是一种周期固定,脉宽可调节的脉冲输出,如图1示,PWM功能虽然使用的是数字量输出,但其在很多方面类似于模拟量,比如它可以控制电机的转速,阀门的位置等。S7-1200 CPU提供了两个输出通道用于高速脉冲输出,分别可组态为PTO或PWM,PTO的功能只能由运动控制指令来实现,PWM功能使用CTRL_PWM指令块实现,当一个通道被组态为PWM时,将不能使用PTO功能,反之亦然。

1 脉冲周期 2 脉冲宽度

脉冲宽度可表示为脉冲周期的百分之几(0-100%),千分之几(0-1000),万分之几(0-10000)或S7 analog(模拟量)形式,脉宽的范围可从0(无脉冲,数字量输出为0)到全脉冲周期(无脉冲,数字量输出为1 )

2 PWM功能组态

CPU的两路脉冲发生器,使用特定的输出点,如图所示,用户可使用CPU集成输出点或信号板的输出点,表中所示为默认情况下的地址分配,用户也可自己更改输出地址,无论点的地址如何变化,PTO1/PWM1总是使用第一组输出,PTO2/PWM2使用紧接着的一组输出,对于CPU集成点和信号板上的点都是如此。PTO在使用脉冲输出时一般占用2个输出点,而PWM只使用一个点,另个没有使用的点可用作其它功能。

3、举例说明如何组态和指令的使用

(1)进入Device Configuration(设备组态)界面,选中CPU,点击属性,选中Pulse Generator(PTO/PWM)。如图

(2) 组态脉冲发生器参数

a. 信号类型:选择脉冲类型。如下图所示,有PWM和PTO两种,其中PTO又分成4种,每种类型的具体含义在运动控制部分进行介绍。这在里选择PWM。

b. 时基:用来设定PWM脉冲周期的时间单位。在PWM模式下,时基单位分成:毫秒和微 秒。

c. 脉宽格式:用来定义PWM脉冲的占空比档次,如下图所示,分成4种:

  • 以其中的“百分之一”举例,表示把PWM脉冲周期分成100等分,以1/100为单位来表示一个脉冲周期中脉冲的高电平,也可以理解成1/100是PWM脉冲周期中高电平的分辨率。“千分之一”和“万分之一”相应地把PWM的周期分成更小的等分,分辨率更高。
  • “S7模拟量格式”表示的是把PWM的周期划分成27648等分,以1/27648为单位来表示一个脉冲周期中脉冲的高电平。 因为S7-1200 PLC的模拟量量程范围为0~27648或-27648~27648。

d. 循环时间:表示PWM脉冲的周期时间,Portal 软件中对“循环时间”限定的范围值:1~16777215。

e. 初始脉冲宽度:表示PWM脉冲周期中的高电平的脉冲宽度,可以设定的范围值由“脉宽格式”确定,例如,如果“脉宽格式”选择了“万分之一”,则“初始脉冲宽度”值可以设定的范围值从0~10000,同理,如果“脉宽格式”选择了“S7模拟量格式”,则“初始脉冲宽度”值可以设定的范围值从0-27648。如果设定值为0,则PLC没有脉冲发出。

硬件输出:根据需要选择S7-1200 PLC上的某个DO点作为PWM输出。如下图所示:

I/O地址:用来设置PWM的地址和周期更新方式,如下图所示:

硬件标识符:该PWM通道的硬件标识符是软件自动生成的,不能修改。

(3)指令的使用

在Portal软件中打开程序块,进行PWM的编程。在指令选件中的“扩展指令”中的“脉冲”文件夹中可以找到CTRL_PWM指令。可以通过双击指令或是拖拽的方式把CTRL_PWM指令放到程序编辑区。如下图所示:

在插入CTRL_PWM指令时会提示关联背景数据块,如下图所示,该数据块的名称和编号可以由用户手动设置,也可以选择系统默认值

配置CTRL_PWM指令参数。

在本例中的程序如下:

本例设想用一个电位计来控制脉冲宽度,则需要将脉宽格式修改为模拟量格式

将模拟量的赋值输入到QW1000中去。这样就可以实现脉冲宽度随着外部信号的变化而变化。

举报
评论 0