[西门子] PLC中,用ST语言制作PWM脉冲程序

[复制链接]
查看88384 | 回复0 | 2024-3-11 07:25:05 | 显示全部楼层 |阅读模式
平时报警指示灯可以用到PWM脉冲输出,小灯的闪灭速度表示报警是否严重,具体程序如下:

设置变量



主程序

//周期设定,限定在一定的范围内

vd_周期设定                         :=LIMIT(10,vd_周期设定,2000);               

//设定延时计时器,使其在固定周期内循环触发

FB_PWM定时器(IN:=NOT FB_PWM定时器.Q , PT:=DINT_TO_TIME(vd_周期设定) , Q=> , ET=> );

//注意数据类型的变换,常用数据转换格式DINT_TO_REAL

vr_输出时间                                 :=vd_周期设定*vr_占空比设定;       

vb_输出                         :=        (TIME_TO_REAL(FB_PWM定时器.ET)>0)AND (TIME_TO_REAL(FB_PWM定时器.ET)<vr_输出时间);



参数设置如下:vd_周期设定=1000;

vr_占空比设定=0.5;



监控波形图如下:

梯形波形为vb_输出,两波形之间的时间如右下角所示,总时间为1s5ms,

FB_PWM定时器.Q输出波形如绿色波形图所示,Q点输出后立马复位。

以上知识是个人在书本学习或在实践中学习到的,为了后续查找,故此在公众号分享。

喜欢此类知识分享的朋友可以关注,谢谢。

本帖子中包含更多资源

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

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

本版积分规则