//获得设备特征参数
DRV_AllocateDMABuffer(DriverHandle,(LPT_AllocateDMA-Buffer)&ptAllocateDMABuffer))
//为ADDMA转换分配缓冲区
DRV_FAIDmaStart(DriverHandle,(LPT_FAIDmaStart)&ptFA-IDmaStart)) //开始采集
数据存储[2]:用VC++ MFC在Windows上开发程序时,数据库可用ODBC(开放数据互连)或DAO(数据访问对象)等数据库引擎来访问。CE既不支持ODBC,也不支持DAO。CE中的数据库不是功能完全的数据库系统,而只是一些结构化存储数据的集合。表与表之间不存在关系数据库中那样的关联。对数据库进行封装的操作封装于CCeDBDatabase、CCeDBRecord、CCeDBProp、CCeDBEnum四个类中,它们是CE所特有的。在CE中实现数据库很简单,它只有一个层次并且最多可以有四种排序和索引,但它却可以作为一个强有力的工具来组织不太复杂的数据。因此用CE中的数据库来存储采集的数据十分方便。
2.3.4 图形显示模块
图形显示模块包括三个部分:时实曲线、平均值曲线和FFT曲线。绘制曲线中遇到的主要问题就是显示线程与采集和存储线程之间的同步问题(前面已经说明,此处不再赘述)。
2.3.5 巡检地图
在TPC-650中存储全厂所有设备的位置、名称信息,形成一张设备地图。根据每天的任务表和这张设备地图,自动生成每次要巡检的设备地图。该地图上表明设备的名称、方位,并给出最优的巡检顺序。这样既节省巡检人员的时间又可以做到不漏检。
巡检地图示意图如图3所示。
用星形表示正在巡检的设备,粗线箭头指向下一个要巡检的设备,未巡检的设备用方形表示,路径用细线表示,巡检完成的设备用圆形表示。当地图上所有点都变为圆形时说明采集任务已完成。
3 软件开发环境的设置
系统软件在另一台普通PC上开发,其配置如图4所示。除了要安装CE软件开发包,还要安装SDK for TPCx86 VC/VB及Advantech Device Driver2.0。执行数据采集的硬件PCM-3718H需要用软件驱动,即具有“量身定做”的函数。因此程序要下载到硬件平台上进行调试,而不能在开发用的PC上的仿真环境下调试。
4 结束语
使用embedded Visual C++开发基于CE的数据采集和处理系统是该领域里的新尝试。利用CE支持多线程、数据库、通信及实时性等特点开发出的数据采集和处理系统具有界面友好、性能可靠、采集速度快、软件可扩展等优点。目前该系统已投入使用并取得良好的效果。