如何删选去除偶尔的干扰信号,编程方面实现?

我厂采用了一套 行车定位系统 ,类似于限位开关记录几个固定的位置信号。和PLC进行的DP协议通讯,在接收端采用的是无线发送,所以偶尔信号丢失或者不稳定,不能采用隔离栅等进行干扰去除。

我在用这信号做位置判断时会遇到偶尔信号丢失,所以我做的时间延迟判断位置经常重新计时,很不准确。
请问如何用编程实现对于偶尔的信号波动进行删除,比如某一个信号一直是1为稳定的,偶尔变成0,(只坚持数个扫描周期的)是干扰信号,我想把这些偶尔的0去除不用,长时间的0才认为是有效信号用于判断。

请问编程程序怎么写?提供思路也行。我试过了在OB32里面减小采集周期还是不明显。谢谢大家!如果我没表达清楚,我再补充回答。

最佳答案

对于开关量信号,可以采用接通延时或关断延时实现去除干扰信号。比如某一个信号由0变为1时,触发接通延时定时器,定时器时间可设定为2秒,2秒内信号始终为1,才认定信号为1;2秒内发生干扰信号,接通延时定时器会重新计时。信号由1变为0同理,使用关断延时定时器。

对于模拟量信号,可以采用软件滤波的方式,算法就非常多了:加权平均、滑动滤波等等。

提问者对于答案的评价:
也只能这样近似处理,判断静止和运动用的。也谢谢其他几位的帮助

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc238982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午6:20
下一篇 2018年12月1日 下午6:20

相关推荐