s7-1200通电延时指令(功能篇S7-1200PWM)

S7-1200 PWM功能

S7-1200 PLC与其他西门子的PLC类似,也具有PWM功能。可以为用户提供占空比可调的脉冲输出串。

注意:用户在使用PWM功能时,务必确认采用DC/DC/DC类型的CPU,继电器输出类型的S7-1200 CPU本体DO不能使用PWM功能(可以通过扩展SB信号板来实现PWM功能)。由于继电器的机械特性,在输出频率较快的脉冲时会影响继电器的寿命。

S7-1200 PWM资源

到目前为止,S7-1200 PLC最新的Firmware版本为V4.1,每个S7-1200 PLC最多有4个PWM的资源。不同Firmware版本的S7-1200 PLC可以支持的PWM个数不同,除此之外,每个PWM的DO点分配的情况也不同。如下表所示:

s7-1200通电延时指令(功能篇S7-1200PWM)(1)

从上表中可以看出,添加SB信号板并不会超过CPU的总资源限制数。对于DC/DC/DC类型的CPU来说,添加信号板可以把PWM的功能移到信号板上,CPU本体上的DO点可以空闲出来作为其他功能。而对于Rly 类型的CPU来说如果需要使用PWM功能,则必须添加相应型号的SB信号板。

下表列出了S7-1200 PLC可以用来组态PWM功能的SB信号板的具体信息。

s7-1200通电延时指令(功能篇S7-1200PWM)(2)

注意:上表中的5V信号都是集电极开路信号,不是5V差分信号。

DC/DC/DC类型的S7-1200 CPU的本体上的DO点可组态成PWM的资源情况如下表所示。

s7-1200通电延时指令(功能篇S7-1200PWM)(3)

注意:Firmware V3.0的CPU1211C最多可以有4个PWM资源,上表只是说明了DC/DC/DC CPU本体上的PWM资源和DO点分配情况。从上表可以看到由于Firmware V3.0的CPU1211C本体只集成了4个DO点,根据PWM功能对DO点分配要求,Firmware V3.0的CPU1211C本体最多只能组态2个PWM,如果需要更多的PWM,用户需要扩展SB信号板。

s7-1200通电延时指令(功能篇S7-1200PWM)(4)

注意:跟Firmware V3.0的CPU1211C一样,Firmware V3.0的CPU1212C最多也可以有4个PWM资源。同样地,由于CPU1212C DC/DC/DC本体只集成了6个DO点,根据PWM功能对DO点分配要求,CPU1212C本体上没有Q0.6,因此不能组态第4个PWM。同样地道理,用户如果需要4个PWM,则扩展SB信号板来实现 。

s7-1200通电延时指令(功能篇S7-1200PWM)(5)

s7-1200通电延时指令(功能篇S7-1200PWM)(6)

注意:从上面这些表格可以看到,不同的DO点其脉冲输出频率也不尽相同,请客户务必确认其输出频率能否满足工艺要求。

S7-1200 PWM功能组态方法硬件组态

本文档以DC/DC/DC类型的S7-1200 CPU为例进行说明。在Portal 软件中插入S7-1200 CPU(DC输出类型),在“设备视图”中配置PWM。

1. 进入CPU“常规”属性,设置“脉冲发生器”。如下图所示:

s7-1200通电延时指令(功能篇S7-1200PWM)(7)

2. 启用脉冲发生器,可以给该脉冲发生器起一个名字,也可以不做修改使用软件默认设置值;可还以对该PWM脉冲发生器添加注释说明。如下图所示:

s7-1200通电延时指令(功能篇S7-1200PWM)(8)

3. 参数分配:组态脉冲参数,如下图所示,“参数分配”部分对PWM脉冲的周期单位、脉冲宽度做了定义。

s7-1200通电延时指令(功能篇S7-1200PWM)(9)

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

s7-1200通电延时指令(功能篇S7-1200PWM)(10)

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

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

s7-1200通电延时指令(功能篇S7-1200PWM)(11)

以其中的“百分之一”举例,表示把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没有脉冲发出。

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

s7-1200通电延时指令(功能篇S7-1200PWM)(12)

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

s7-1200通电延时指令(功能篇S7-1200PWM)(13)

a. 起始地址:用来设定该PWM通道地址,设置范围从0~1022。

b. 结束地址:由“起始地址”决定,每个PWM通道地址占用一个WORD的长度。

c. 组织块:用来设置PWM I/O地址的更新方式是基于哪个OB块的。用户可以根据需要通过“新增”按钮来添加相应的OB块,如下图所示,本例中用户可以选择默认选项“自动更新”。

s7-1200通电延时指令(功能篇S7-1200PWM)(14)

d. 过程映像:设置PWM的I/O地址的过程映像的更新情况,这里的“PWM的I/O地址”指的是PWM周期脉冲宽度数值存放的地址。该选项用来设置脉冲宽度地址的更新情况。如下图所示:

s7-1200通电延时指令(功能篇S7-1200PWM)(15)

S7-1200提供了6个过程映像分区。第一个过程映像分区“自动更新”指定用于每个扫描周期都自动更新的I/O,此为默认分配;接下来的4个分区PIP1、PIP2、PIP3和PIP4可用于将I/O过程映像更新分配给不同的中断事件。“PIP OB伺服”是给S7-1200运动控制的等时同步模式使用的。 默认情况下,Portal 软件会将其I/O过程映像更新为“自动更新” (Automatic update)。对于组态为“自动更新”(Automatic update)的I/O,CPU将在每个扫描周期自动处理模块和过程映像之间的数据交换。 如果将I/O分配给过程映像分区PIP1~PIP4中的其中一个,但未将OB分配给该分区,那么CPU决不会将I/O更新至过程映像,也不会通过过程映像更新I/O。将I/O分配给未分配相应OB的PIP,相当于将过程映像指定为“无”(None)。在设备组态中将 I/O 分配给过程映像分区,并在创建中断 OB 或是编辑 OB 属性时将过程映像分区分配给中断事件。 用户可以在指令执行时立即读取物理输入值和立即写入物理输出值。无论 I/O点是否被组态为存储到过程映像中,立即读取功能都将访问物理输入的当前状态而不更新过程映像输入区。 立即写入物理输出功能将同时更新过程映像输出区(如果相应 I/O点组态为存储到过程映像中)和物理输出点。如果想要程序不使用过程映像,直接从物理点立即访问 I/O 数据,则在 I/O地址后加后缀":P"。

根据上面的说明,本例中用户可以直接选择“自动更新”。由于PWM的I/O地址是Q(输出区),因此用户可以使用QWx,也可以直接更新外设地址QWx:P。

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

s7-1200通电延时指令(功能篇S7-1200PWM)(16)

软件编程

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

s7-1200通电延时指令(功能篇S7-1200PWM)(17)

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

s7-1200通电延时指令(功能篇S7-1200PWM)(18)

3. 配置CTRL_PWM指令参数。

s7-1200通电延时指令(功能篇S7-1200PWM)(19)

4. 监控程序,并在线修改PWM的占空比。

如下图所示,用M0.0使能CTRL_PWM指令。

s7-1200通电延时指令(功能篇S7-1200PWM)(20)

如果想实时修改PWM的占空比也就是脉冲宽度,需要通过修改QWx的数值。“x”就是用户配置PWM硬件组态时的“I/O地址--输出地址”,上面的例子为1000,则QW1000的数值就是脉冲宽度的地址。

如下图所示,① 在Portal软件左侧项目树中的“监控与强制表”中插入一个新的监控表,②在打开的空白监控表中的“地址”列手动输入QW1000,如然后在“显示格式”一列选择“带符号十进制”,如下图步骤③所示。点击监控按钮,如图中④ 所示,可以看到QW1000的监控值为50,该值是组态PWM时设置的初始脉冲宽度值。

s7-1200通电延时指令(功能篇S7-1200PWM)(21)

用户可以在监控表中直接修改QW1000的数值来实时更改PWM的脉冲宽度(占空比),如下图所示。

s7-1200通电延时指令(功能篇S7-1200PWM)(22)

摘自:西门子S7-1200 Easy Plus手册

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页