2,开关量输入滤波:开关量输入滤波的目的在于消除开关量变化时所产生的抖动或正常状态下的干扰突变。开关量抖动消除的算法从本质上讲就是以延时多次判断来实现,根本就没有什么必要为此而添加一个所谓的“滤波函数”。此外,Trio没有对开关量信号进行滤波处理的主要原因是为了实现高速脉冲的捕捉功能,如果对其做滤波处理,那么也就没有什么“高速脉冲”了,对于运动控制要求的精准、快速是有影响的。对于输入通道进行的滤波算法可以用如下代码实现(以输入0通道为例): if in(0)=1 then wa(100) if in(0)=1 then 'Add your application program at here endif endif
3.模拟量输入信号滤波:模拟量输入的信号滤波实际上就是定时采集数据然后取平均值算法,同样我们认为这个用Basic程序很好实现,而且可以根据客户需要更加灵活,也没有什么必要去专门开发一个“滤波函数”,简单的例子可以用如下代码实现: times=10 'set loop times interval=100 'set interval time between two input tbase=100 'set table area base index ticks=100 'set first time timer while times>0 if ticks<=0 then ticks=100 table(tbase+i,ain(0)) i=i+1 times=times-1 endif wend all_value=0 for j=0 to i-1 all_value=all_value+table(tbase+j) next j