湛蓝小尔
工控交流 Q703935819
级别: 家园常客

精华主题: 0
发帖数量: 349 个
工控威望: 642 点
下载积分: 2096 分
在线时间: 80(小时)
注册时间: 2014-03-03
最后登录: 2024-04-12
查看湛蓝小尔的 主题 / 回贴
楼主  发表于: 2023-06-14 14:37
如图,想要达到这种效果。
但我没想明白如何实现的。
假定当前发生了一个报警A,蜂鸣器闪烁5秒后停止。
此时,红灯亮着,又产生了新的报警B,我想要蜂鸣器再次响起。
专心搞钱
Q群943838323   博图
Q群703935819   昆仑通态
yyande
级别: 探索解密
精华主题: 0
发帖数量: 60 个
工控威望: 131 点
下载积分: 2685 分
在线时间: 25(小时)
注册时间: 2020-05-23
最后登录: 2024-04-05
查看yyande的 主题 / 回贴
1楼  发表于: 2023-06-15 14:27
解决思路如下:
if wrong_trigger and not wrong_trigger_lastsignal  then
  Wrong_Flag:= true;
  wrong_warnning:=true;
else
   wrong_warnning:=false;
end_if;

wrong_trigger_lastsignal:=wrong_trigger;

然后用wrong_warnning触发报警蜂鸣器信号。只要wrong_trigger信号不是一直持续,那么接通一次就会报警一次,其余逻辑随便增减。编程就是搭积木,我只是代码的搬运工,我不产生代码。出BUG我不承认,毕竟不是我写的