[西门子] S7-200 SMART 组态PWM输出详细步骤

[复制链接]
查看99036 | 回复0 | 2024-8-30 15:53:22 | 显示全部楼层 |阅读模式
要为 PWM 组态其中一个内置输出,请使用 PWM 向导。



图1. PWM 向导

使用以下方法之一打开 PWM 向导:
● 在“工具”(Tools) 菜单的“向导”(Wizards) 区域单击“PWM”按钮。



● 在项目树中打开“向导”(Wizards) 文件夹,然后双击“PWM”,或选择“PWM”并按回车键。



组态PWM向导的步骤:

1. 选择脉冲发生器



图2. 选择脉冲发生器

2. 必要时,更改 PWM 通道的名称



图3. 更改 PWM 通道的名称

3. 组态 PWM 通道输出时基



图4. 组态 PWM 通道输出时基

4. 生成项目组件



图5. 生成项目组件

5. 使用 PWMx_RUN 子例程控制 PWM 输出的占空比

<img  width="15" height="15" class=""  />
注意:

PWM 通道已硬编码:


    PWM0 已分配到 Q0.0。

    PWM1 已分配到 Q0.1。



    PWM3 已分配到 Q0.3


PWMx_RUN子程序编程

PWMx_RUN子程序允许您通过使用改变脉冲宽度(从0到周期时间的脉冲宽度)来控制输出占空比。



其中:

a. PWMx_RUN执行控制:控制脉冲发生的产生

b.Cycle:写入脉冲周期

c.Pulse:写入脉冲宽度

常问问题

<img  width="15" height="15" class=""  />
使用PWM输出功能应使用什么类型的CPU?

应使用24VDC晶体管输出的CPU。如果使用继电器类型CPU,PWM输出频率不能高于继电器响应频率,即使PWM输出频率不过高,继电器频繁通断会影响CPU使用寿命。

<img  width="15" height="15" class=""  />
PWM输出的幅值是多少?

PWM 输出的幅值为 24V(高电平有效,共负端连接),若想实现输出其他电压的幅值,需自己加转换器来实现。S7-200 SMART CPU的高速输出点所在的数字量输出点可以支持 20.4 - 28.8V 电压幅值。

<img  width="15" height="15" class=""  />
如何强制停止PWM 输出?

可以通过编程将控制字节中的使能位 SM67.7 、SM77.7和SM567.7 清零,然后执行 PLS 指令,便可立即停止 PWM0、PWM1和PWM2输出。

<img  width="15" height="15" class=""  />
PWM输出周期和脉宽有哪些限制?

因为限制PWM输出的因素有两个:


    硬件输出电路响应速度的限制,对于Q0.0、Q0.1和Q0.3 从断开到接通为1.0 μs,从接通到断开3.0μs ,因此最小脉宽不可能小于4.0 μs。

    最大的频率为100K,因此最小周期为10 μs。


<img  width="15" height="15" class=""  />
不论是连续脉冲,还是相对较长周期内的单个脉冲,其脉冲宽度限制都是相同的。


<img  width="15" height="15" class=""  />
如何改变PWM输出的周期/脉冲宽度?

PWM功能可以在初始化时设置脉冲的周期和宽度,也可以在连续输出脉冲时很快地改变上述参数。可以通过使用写入SM特殊寄存器和使用PWM向导两种方法更改PWM输出的周期和脉宽。

使用写入SM寄存器方式的操作步骤为:


    设置控制字节,以允许写入(或者更新)相应的参数

    将相应的特殊存储器写入新的周期/脉宽值

    执行PLS指令,对PWM发生器进行硬件设置变更


使用PWM向导方法为:调用PWMx_RUN子程序,将周期值写入Cycle管脚,将脉宽值写入Pulse管脚。

<img  width="15" height="15" class=""  />
ST20 CPU支持几路PWM?

ST20 CPU 有两路高速脉冲输出,虽然向导可以组态3路PWM,实际使用只支持2路PWM功能。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则