3.2 数据处理实现
由于动态称重过程中存在大量的动态干扰因素,易造成传输模块所传数据存在较大误差,所以首先选择算法对接收数据滤波进行预处理,然后进行标度转换。数值计算求出轴重,而滤波是这部分的核心,下面给出加权滑动平均滤波的主要实现代码:
3.3 数据显示
显示模块主要完成三方面内容:采集所得实时数据的动态曲线显示,经过处理后数据的静态曲线显示及整个软件的界面显示。动态曲线和静态曲线分别继承类CDisplay,该类以虚函数的形式只提供接口,并未具体实现;子类在继承后根据自己的实际情况分别实现。显示类的设计如下:
通过对CDrawItem类的封装使软件界面的显示以Windows系统为标准,坚持置用户与控制之下,减少用户记忆负担,保持界面一致的原则。
3.4 数据库类的设计
完成数据传输、处理以后,要对所得数据进行存储,以便查询、统计。通过对数据库访问技术的比较发现,ADO数据库访问技术具有易于使用,速度快,内存支出少等优点。本系统选择以MFC为基础,对其三个主要对象Connection,Command,Recordset的属性和方法进行封装,并命名为CWimDataBase类。在任何要用到数据库操作之处只需加入其头文件“CWimData-Base.h”并声明对象,则调用其公共属性和方法即可进行数据库操作。
如:利用m_WimDb对象调用函数ConnectDb连接数据库。
4 结 语
针对目前主流动态称重系统硬件结构以及数据处理过程的特征,本应用软件采用面向对象的程序设计方法进行设计并予以实现,充分利用了面向对象中的继承、封装及多态等特点,实现了软件的模块化,达到了模块之间高内聚、低耦合。应用测试表明,该软件具有实用性、可复用性、易扩充、易维护且界面友好,符合实际的应用需要。