信息化 频道

RFID系统的组态管理软件设计

    (2)数据库模块

    数据库是整个组态软件的核心部分。数据库模块提供对RFID读写器的数据的采集、存储和处理。为了提高数据库的读写速度,将数据库分为实时数据库和历史数据库两部分。实时数据库保存从RFID读写器读出的实时值,并定时将实时数据写入历史数据库中。历史数据库则完成历史报表的生成和历史信息的查询。

    在RFID组态管理软件中采用ADO标准数据库访问方式。ADO (ActiveX  Data  Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API),用以实现访问关系或非关系数据库中的数据。ADO是一种面向对象的编程接口,是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,是一种功能强大的数据访问编程模式。通过ADO接口,RFID组态管理软件能够很好地同企业的数据库相连,实现与企业原有信息系统的无缝连接。在VC++6.0中ADO接口的实现:

    pConn.CreateInstance(__uuidof(ADODB::Connection));//创建Connection对象

    pCommand.CreateInstance( __uuidof( ADODB::Command ) );

    pRecordset.CreateInstance(__uuidof(ADODB::Recordset));//创建记录集对象

    pConn->ConnectionTimeout = 90;

    pConn->Mode = adModeReadWrite;//|adModeShareDenyNone;

    _bstr_t conn = "DSN=product;UID=sa;PWD=123456";//设置连接字符串,DSN值为企业数据库名称

    pConn->Open(conn, "", "", -1);

    (3)通信与数据处理模块

    由于人机界面要与多个RFID读写器及其它的I/O接口进行数据交换,提供实时监控的环境,所以对系统的并发能力有特别的要求。如果只采用单线程来进行处理,速度慢,会有明显的时间等待等问题,因此应采用多线程技术来满足实时监控的要求。

    在RFID组态管理软件中主要运用了三个线程:主线程、串行通信数据采集线程pRcvDataThread、数据存储线程pRcvBufThread。主线程为用户接口线程,由系统自动生成,负责系统的运行和信息的处理,使程序能迅速响应命令和其它事件。串行通信数据采集线程pRcvDataThread,为辅助线程,负责接收或发送数据,并按照通信协议对数据进行解析处理。数据存储线程RcvBufThread,为辅助线程,负责实时数据的存储,并定时将采样数据保存入库。

    int RFIDThread_ReceiveDevBuf(int nType); //当与RFID读写器通讯连接时,启动pRcvDataThread

    {

    if(nType == 0)//启动

    {

    if(pRcvDataThread==NULL)

     {

     pRcvDataThread = AfxBeginThread(RFID_RcvThread, NULL);

    pRcvDataThread->m_bAutoDelete = true;

     }

    Sleep(500);

    }

    else if(nType == 1)//停止

    {

    for(int i=0; i < m_nTotalDeviceNum; i++)

    TerminateThread(pRcvDataThread[i],0);

     }

    ……

    return 0;

    }

    UINT RFID_RcvThread(LPVOID lParam); //如果启动了pRcvDataThread,终端机上传数据,解析收到的数据

    UINT RFID_DealRcvBufThread(LPVOID pParam); //如果启动了pRcvBufThread,存储收到的数据

    (4)其它模块

    报表生成模块、报警模块和权限设置模块,这些模块的设计与普通软件设计大同小异,在此不再赘述。

    5 结束语

    本文作者创新点在于采用组态技术开发RFID系统管理软件,它将RFID读写器的配置软件和生产流通过程的监控软件合二为一,不仅能够方便地构建RFID系统现场,而且还能够将RFID技术与公司原有的信息系统进行无缝连接。另外采用ActiveX技术开发RFID读写器控件,能够方便的配置RFID读写器,使得公司的信息系统能够和新的RFID读写器连接起来,保证了软件的灵活性。RFID组态管理软件在存储RFID标签数据库、RFID读写器种类改变等情况发生时,只需少许修改便可完成设计软件的更新,实现新的需求,具有较强的实用性。

0
相关文章