登录
首页 自控设计
回帖 发帖
正文

主题:求教:10s内检测到3次故障脉冲信号后进行报警搭建方法

点击:657 回复:26

求教:如何使用任意一个的PLC的基础功能块搭建一段程序实现:10s内检测到3次故障脉冲信号后进行报警。
23-09-21 09:19
10秒内大于3次就可以了!没有大于重新来!
23-09-21 09:33
这样会遗漏了情况。第1、2、3次出现的累计时间超过10s,然后从第4次重新开始计时判断,但有可能是第2,3,4次脉冲出现在10s之内呢。
23-09-21 09:51
1.这个故障是同一个故障,还是不同的故障?
2.故障脉冲宽度是多少?会不会对10秒的这个时间产生影响?
23-09-21 09:58
1、是同一故障。
2、脉冲宽度是一个扫描周期,几十毫秒吧。
23-09-21 10:06
假设有个一个传感器的故障信号,故障来了会发一个扫描周期的信号,10s内检测到3次脉冲信号,就会报警或者执行其他动作。
最后修改:2023/9/21 10:08:35
23-09-21 10:07
附件 )G0YY6】IU{9【`【8KL6E4K`D.jpg
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
理论上,需要60个字来保存次数
10S这个,
秒S看到用到系统时钟,或者用定时中断之类的做,反正范围就是0~59S
D0 0-9S
D1 1-10S
D2 2-11S
以此类推
注意的是,后面几个寄存器,例如:55S的时候是D55 那么范围就是55 56 57 58 59 0 1 2 3 4 范围内;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
注:
例1:当前秒是5秒,那么只要范围在这个内的寄存器都有效,故障bit=1的时候,都用+1,
不在范围内的,都清零;
~~
这样做程序会是一大坨,建议用变址来做,感觉不难。
对了 有积分码表情
23-09-21 10:19
反过来想想,应该10个寄存器就能搞定
S的个位就行。
D0~0-9S
D1 1-*0S
D2 2-*1S
D3 3-*2S
D4 4-*3S
D5 5-*4S
D6 6-*5S
D7 7-*6S
D8 8-*7S
D9 9-*8S
好像就能覆盖完所有时间了
表情
23-09-21 10:39
每次监测到故障脉冲,记录当前系统时钟。
判断本次故障脉冲系统时钟与上上次故障脉冲系统时钟的差值,小于10s就报警
最后修改:2023/9/21 11:40:15
23-09-21 11:39
方法很多
使用FIFO做的
附件 image.jpg
附件 image.jpg
23-09-21 13:48

上一页下一页

工控新闻

更多新闻资讯