平时报警指示灯可以用到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点输出后立马复位。
以上知识是个人在书本学习或在实践中学习到的,为了后续查找,故此在公众号分享。
喜欢此类知识分享的朋友可以关注,谢谢。 |