恭喜,你发布的帖子
发布于 2021-01-08 18:18:08
30楼
PLC上的位滤波?我一般都用循环位移指令来实现。
比如每个滤波周期把位状态放到字的0位,然后左移一位。然后输出结果直接判断字是16#FFFF就是1,16#0000就是0,其它值就是保留上次的得出的位状态。毕竟移位很节省时间,不想用其它方法,就是毕竟浪费内存罢了。
而且,这种滤波直观简单方便。滤波长度可以字节、字、双字,然后滤波周期可以直接用定时中断、定时器、再不就主程序周期都可以。
少量布尔量点位的过滤PLC这样做也是很方便的。MCU/FPGA的矩阵键盘最优滤波方案就是移位判断;MCU/FPGA的普通GPIO口去模拟以下硬件接口的通讯(串口/UART/USB/SPI/网口(网口仅限高速FPGA可模拟))时序也是移位接收方案;但有多个滤波点,每个滤波点时间不一致的话无论那种控制器,那种数据组织都要占用很多内存的。
请填写推广理由:
分享
只看
楼主