四、数据采集误差的软件对策
根据数据受干扰性质及干扰后果的不同,采取的软件对策各不相同,没有固定的模式。对于实时数据采集系统,为了消除传感器通道中的干扰信号,在硬件措施上常采取有源或无源RLC网络,构成模拟滤波器对信号实现频率滤波。同样,运用CPU的运算、控制功能也可以实现频率滤波,完成模拟滤波器类似的功能,这就是数字滤波。在许多数字信号处理专著中都有专门论述,可以参考。随着计算机运算速度的提高,数字滤波在实时数据采集系统中的应用将愈来愈广。在一般数据采集系统中,可以采用一些简单的数值、逻辑运算处理来达到滤波的效果。下面介绍几种常用的方法。
1.算术平均值法
对于一点数据连续采样多次,计算其算术平均值,以其平均值作为该点采样结果。这种方法可以减少系统的随机干扰对采集结果的影响。一般3~5次平均即可。
2.比较取舍法
当控制系统测量结果的个别数据存在偏差时,为了剔除个别错误数据,可采用比较取舍法,即对每个采样点连续采样几次,根据所采数据的变化规律,确定取舍,从而剔除偏差数据。例如,“采三取二”即对每个采样点连续采样三次,取两次相同的数据为采样结果。
3.中值法
根据干扰造成采样数据偏大或偏小的情况,对一个采样点连续采集多个信号,并对这些采样值进行比较,取中值作为该点的采样结果。
4.一阶递推数字滤波法
这种方法是利用软件完成RC低通滤波器的算法,实现用软件方法代替硬件RC滤波器。一阶递推数字滤波公式为Yn=QXn+(1-Q)Yn-1式中Q-数字滤波器时间常数;Xn-第n次采样时的滤波器输入;Yn-第n次采样时的滤波器输出。采用软件滤波器对消除数据采集中的误差可以获得满意的效果。但应注意,选取何种方法应根据信号的变化规律选择。
五、RAM数据出错的软件对策
在实时控制过程中,干扰造成比较严重的危害之一就是冲毁RAM中的数据,由于RAM中保存的是各种原始数据、标志、变量等,如果被破坏,会造成系统出错或无法运行,根据数据被冲毁的程度,一般可分为三类:
*整个RAM数据被冲毁;
*RAM中某片数据被冲毁;
*个别数据被冲毁。
在工业控制系统中,RAM的大部分内容是为了进行分析、比较而临时存放的,不允许丢失的数据只占极少部分。在这种情况下,除了这些不允许丢失的数据外,其余大部分内容允许短时间被破坏,最多只引起系统的一个很短时间的波动,很快能自动恢复正常。因此,在工控软件中,只要注意对少数不允许丢失的数据保护,一般常用的方法有“校验法”和“设标法”。这两种方法各有千秋,校验法比较繁锁,但查错的可信度高。设标法简单,但对数据表中个别数据冲毁的情况,查错则无难为力。在编程中一般应综合使用,其具体做法为: