空调客车实时集中监测系统数据IC卡转存方法研究 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

空调客车实时集中监测系统数据IC卡转存方法研究

来源:中国一卡通网  作者:李海龙 张宝霞 郑惠之  发布时间:2010-06-28 17:33:31  字体:[ ]

关键字:监测系统  IC卡  系统数据  监测  

摘   要:介绍了在空调客车微机实时集中监测系统中,利用接触式IC卡读写器及IC卡对系统上位机数据进行存储,实现客车运行数据在下位机中的查询、打印及存档等相应功能。该读写系统编程简单、使用方便、可靠性好,适合在复杂的工业现场使用。

    引 言 

    空调客车微机实时集中监测系统是为了确保空调列车安全运行、预防各种事故的发生而研发的系统,该系统能实时监测空调列车各车厢空调机和发电机组相关参数,并根据系统内部设定的参数变化范围进行判别,当发电机组或某一车厢空调机参数出现异常时,可用蜂鸣声和显示两种方式报警,同时自动存储故障数据,退勤后通过Ic卡转储到地面系统,以备查询和打印。为确保系统的可管理性及安全性,系统为管理人员提供如下权限:各参数上下限设置、记录查询、密码设置等,系统总体框架如图1所示 。

    在对实时监测数据进行处理后,系统要进行数据的存储、报表的打印,作为历史记录以备以后查询。由于系统工作环境的限制,在车载系统中,直接去实现这样的功能显然不符合现场的要求,因此,系统分为两大块:车载系统和地面微机系统,这就涉及到数据从车载系统到地面微机系统的转存问题。本统所采用的编程语言为VB6.0,经过对各类数据存储方法的比较,结合本系统的实际应用环境,确定利用RD600系列接触式Ic卡读写器和AT45D041卡进行数据的转存,相对其它存储设备,比如软盘、USB盘等,它可插拔的次数多、易于携带、不易损坏、不易篡改数据,很好地解决了这一问题。 

    RD600系列接触式Ic卡读写器分为外置式和内置式两种,车载系统采用了内置式的渎写器RD600S,该读写器利用电脑内部+5V供电,采用RS-232串口通信,波特率9600—115200Bps,通信稳定可靠,可支持多种函数接口,例如:在Windows 9X/2K/NT/XP的32位开发平台中,支持Visual Basic、Delphi、Power Builder、Visual FoxPro、Visual C++、C++ Builder等以及这些开发平台的高版本 。

    1 IC卡的选择

    经过对存储数据量的大体估算,系统中与读写器相配套的IC卡选用了ATMEL公司的AT4519041卡。该卡为非加密存储卡,容量较大,为4Mbit,整卡分为2048页,每页有264 byte,可擦写1000 000次以上。在系统软件中,需要转存的数据表共分为7个,分别是:数据记录表、巡检记录表、故障记录表、故障记录附表、操作记录表、开机记录表、登录记录表。考虑到一趟列车是一个往返的过程,对软件的操作过程是重复性的两次,其每个记录表为内容不同、形式一样的两份,因此,系统将Ic卡的存储区域从软件上分为两部分,每部分各有1024页,并确定了各记录表分配到的地址范围。这样做为以后的读操作提供了极大的方便。

    2 对IC卡的读写

    系统的软件是在Windows操作系统下利用Visual Basic进行开发的,对Visual Basic本身而言,它并没有提供与读写器通信进而达到对Ic卡进行操作的函数或方法,为了解决在VB环境下实现对Ic卡读写器访问这一问题,读写器提供了自定义的动态链接库MWIC_32.DLL,在软件设计中借助DLL,实现了在Visual Basic环境下对读写器的访问,完成了对Ic卡的读写,增强了VB的功能,扩大了它的应用范围。

    3 函数的使用原则

    在系统软件中,要想顺利实现IC卡数据的读写,实现系统预先设想的目的,必须对函数的使用遵从几个原则 :

    (1)首先要调用通信口初始化函数,其形式为IntlCdev=IC— InitComm(Port),其中Port是指要打开的串口,0代表打开串口1,1代表打开串口2,依次类推到19代表串口20,如果Port等于100,则表示读写器所在的USB接口。该函数的返回值为设备标识符,该返回值将作为其它函数的首要调用参数。

    (2)在初始化函数成功后应调用能够获取设备当前状态的函数,其形式为IntStatus=IC—Status(IntlCdev),其中参数In—tlCdev是IC—InitComm函数的返回值,即一个串口的设备标识符。

    (3)在串口通信方式下,调用WINDOWS 16/32位动态链接库时,程序退出之前要执行IC—ExitComm函数,关闭串口,释放串1:3设备句柄,以免再次初始化串口时出错。

    (4)动态库的位置应该在声明的相应目录中或缺省的目录当中

    4 系统软件对IC卡存取数据的具体实现过程

    现以存储结构较为简单的“巡检记录表”为例,说明系统软件读取微机处理数据并实现转存Ic卡的过程,其余表如数据记录表、故障记录表、故障记录附表、操作记录表、开机记录表、登录记录表等表的读取转存方法与此类似。

    4.1 表结构

    “巡检记录表”表结构如表l所示。

    4.2 车载系统写数据实现过程 

    车载系统写数据的软件流程图如图2所示。 

    软件的具体实现程序如下:
    IntlCdev = IC— InitComm(0) 初始化串口,0、1、2、3、表示串口1、2、3、4;等于100表示连接的是USB口
    If IntlCdev>=0 Then 如测试通信正常
    IntStatus = IC— Status(IntICdev) 返回设备当前状态
    IfIntStatus:0 Then 测试卡的状态正确与否,等于0,正确
    IntType = IC— InitType(IntlCdev,65)
    65为45DB04I卡类型代码
    IfIntTvpe = 0 Then
    IntBeep : IC— Beep(IntlCdev,0,100)
    读写器蜂呜一秒,转存开始
    打开名为“Ic卡数据”数据库里的“巡检记录表”
    Set dbase=OpenDatabase(StrFilepath+“Ic卡数据.mdb”)
    Set mytable=dbase.OpenRecordset(“巡检记录表”,dbOpen- Dynaset)
    向数据库添加新记录
    If mytable.EOF = False Or mytable.BOF = False Then
    mytable.MoveFi~t
    IntPage = 350:IntOffset=0:IntLength = 0:RetumValue =0
    C = 0:D = 0
    Do Until mytable.EOF = True
    For b = 0 To 2
    对每一条记录指定每一字段存储的起始位置
    Select Case b
    Case 0
    IntOffset= IntOfset+ D 10:IntLength : 10
    Case 1
    IntOffset= IntOfset+ 10:IntLength = 5
    Case 2
    IntOfset= IntOffset+ 5:IntLength : 10
    End Select
    ReturnValue = IC— DirectWrite(IntICdev,一 

    4.1 表结构。

    “巡检记录表”表结构如表l所示。 

    4.2 车载系统写数据实现过程
    车载系统写数据的软件流程图如图2所示。
    IntPage,IntOffset,IntLength,mytable(b)) 往卡中写数据
    If ReturnValue = 0 Then
    Else
    MsgBox“存储错误,请重新操作!”,vbOKOnly+vblnforma-
    “提示”
    IC— ExitComm(IntICdev) 关闭通信口
    Exit Sub
    End If
    Next b
    mytable.MoveNext
    e c + 1:D = 1
    If C=10 Then 如本页数据已满,换页
    IntPage = IntPage + l:c = 0:D =0
    IntOffset= 0:IntLength = 0
    End If 


    在图4的第300帧时,跟踪的窗口仍然能较好地和目标相匹配,较之kerne1.based算法,跟踪效果有很好的改善。在图5显示的目标尺寸逐渐增大的实例中,由于中心定位较准确,因此保证了空间定位的准确性,继而根据本文提出的改变窗口尺寸方法,使得跟踪效果较好。表2为采用本文算法的采样示例中心点的坐标和Bhattacharyya系数。 

     4 结束语 

    本文针对当前多数使用基于Mean shih算法的目标跟踪不能很好地实时改变核窗宽的特点,提出了一种基于目标中心定位和NMI特征的跟踪算法。在目标跟踪过程中,通过建立二值模型,利用NMI特征识别要跟踪的目标,跟踪过程始终定位目标的中心。结合Mean shift算法的寻优相似度函数,选择最优的核窗宽。目标在移动过程中,其中心点也是在做不规则的移动,本算法正是抓住了这点,以中心点为基点来扩展跟踪窗口。本算法的目标定位和NMI特征有很大关系,而中心定位还和目标边缘的分布有关。实验表明,即使背景中出现和目标区域的NMI值相近的物体时,本算法也能较好地跟踪目标。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖