基于非接触式IC卡的润滑油加注管理系统研究
2014-12-25刘文波刘庆阳
刘文波 刘庆阳
(沈阳理工大学机械工程学院,辽宁 沈阳110159)
0 引言
非接触式IC 技术的迅速发展及其自身的优点为各应用领域内信息化处理自动化的建设提供了全新的发展空间。而该项技术在润滑油加注管理系统中的应用会使企业的信息化处理模式在现代化管理体制下得到更全面的发展。 目前,大部分的润滑油加注仍处于手工作业或计算机半自动化管理方式,因此该技术在润滑油加注管理系统中具有较大的应用前景。
1 非接触式IC 卡简介及其系统框图
目前,IC 卡根据集成电路的功能不同可以分为: 接触式IC 卡和非接触式IC 卡,其中前者具有标准形状的铜皮触电,后者采用封闭式包装,通过射频技术与外部设备交换信息,从而解决了无源和免接触两大难题。
非接触式IC 卡的整个系统由控制器、读写器、IC 卡三部分构成,系统在固定的工作频率下以半双工方式在读写器和IC 卡之间双向传输数据。 当系统要求修改卡内信息时,有关控制电路启动内部电荷泵将工作电压提升到15V 以便对EEPROM 中的内容进行改写, 其系统框图如图1 所示:
图1 非接触式IC 卡系统框图
图2 系统总体结构图
2 润滑油加注管理系统设计
在本文中,自动加注控制系统的主要任务是接收上位机指令并对现场的电动三通阀及仪表进行自动控制, 是整个控制系统的核心部分。文中选用应用广泛、操作编程简单、抗干扰能力的可编程控制器作为下位机。 可编程控制器又称PLC(Programmable Logic Controller)是专门为适应实际的工程上的应用而设计的。PLC 自从问世以来便迅速的被工控界认可,并不断改善自身功能。近年来,PLC 已经得到了长足的发展,并在工控界得到了广泛的应用。
该系统采用的是PLC+PC 机的控制形式。具有管理层、操作层、控制层及现场层的四层网络模式构成了本章节所设计的润滑油自动加注系统。现场层由流量计、油泵、电动三通阀、温度/压力变送器等构成,控制层以PLC 为核心, 控制层与操作层通过RS-485 总线进行连接;系统总体结构如图2 所示:
3 读卡器程序设计
3.1 自动加油非接触式IC 卡的应用
在润滑油加注过程中, 考虑到有时会由于加油数据输入的错误,对油品的加注工作带来诸多不便,甚至还会有盗油事件的发生。 本课题为了减少人为因素对加油过程的影响,在加油过程中运用了目前应用广泛技术比较成熟的IC 卡来解决此类问题并对采油设备使用润滑油的数据进行统计记录。 将IC 卡作为油田采油设备更换润滑油的唯一凭证,IC 卡上的诸多信息可以由操作员在管理PC 机上调用数据库的数据直接写入,操作员只填写采油设备的信息。 其目的是提高了发油数据的正确率,减少了操作人员的劳动强度,最大程度提高工作效率,以延长采油设备的有效工作的时间。 考虑到油田加油现场的环境等方面的要求, 本文选用了北京完美公司的WM-121 型非接触式IC卡配套读写系统。
IC 卡读写系统由PC 机和IC 卡读写器组成。 对于发卡系统来说,由管理PC 机与管理室内的IC 卡读写器组成,其主要任务是将润滑油的原始数据写入IC 卡中, 将IC 与采油设备之间建立一一对应的关系; 对于读卡系统来说, 主要由监控PC 机和现场的IC 卡读写器组成,主要完成现场IC 卡数据的读取,将该数据传到监控PC 机上进行验证核对。 IC 卡读写器通过RS232 串口与PC 进行通讯,完成数据的传输。 其读写结构图如图3 所示:
图3 IC 卡读写系统结构图
3.2 读卡器软件设计
3.2.1 软件开发语言设计选择
在Windows 环境下,操作系统完全接管了各种硬件资源,不允许用户直接控制串行口的中断管理,因此如何在Windows 环境下开发计算机的底层资源,已经成为当今工控软件的一大技术难点。 VB6.0 是微软公司推出一款功能强大的Windows 开发软件, 它提供了一个ActiveX 控件Microsoft Communication Control 6.0, 简称MSComun 控件。 用户可以在自己的应用程序中嵌入该控件,利用它可以方便地进行计算机串口的通信管理。
3.2.2 系统通讯软件设计
本系统利用VB6.0 的控件可以实现Windows 环境下与多台读卡器串行通信接口,实现单台PC 机对多台读卡器的灵活控制。
1)读卡器地址设置程序
读卡器在使用前,必须由上位机软件一对一的设置地址,才能联网使用。在程序设计中,将数据按照AA FF FF(广播地址)02 A4 ##(设置地址)04(校验)的格式发送到串口,就可以将读卡器地址设置为##了。 这个实在按钮Click 事件下完成的。
2)读数据命令程序和串口事件响应程序
由于是多台联机, 而且读卡形式是一台一台的由上位机询读卡器,在该系统中我们利用VB6.0 中提供的Timer 控件,实现上位机读卡程序顺序查询读卡器,系统中卡号最终送到WebAccess 中,当某一管路正在加油时,则不允许对该路对应的读卡器进行读卡操作。 图4是时间控件触发的询卡程序执行过程。
图4 询卡程序原理图
读取第N 路油枪状态和发送数据指令是定义的两个过程,通过调用过程完成相应的工作,当读卡器返回数据时,串口事件会执行相应的程序,完成返回数据的判断,分割,将值传至WebAccess 相应变量。其执行过程是:
接收字符串→判断字符串长度→若字符串长度等于6,则事件结束,若字符串长度等于9,则将字符串中的第二个字符提取出来,这个即为读卡器的地址;将第4、5、6、7 四个位置的字符提取出来组成一个字符串即为所需卡号→根据提取出来的读卡器地址, 调用VB 和WebAccess 中对应读卡器编号的管路变量, 然后自动进行数据查询,完成加油权限及加油登记工作。
以下是串口事件的一部分主程序设计:
Private Sub MSComml_OnComm()
On Error Resume Next
Select Case MSComml CommEvent’选择事件
Case comEvReceive’接到字符串
Bufferin=MSComml.Input’数据转移指针
Select Case LenB(Bufferin)
Case 9
txtStationNum.Text=CDec(Receivedata(2))’读卡器编号
txtCardPhNum.Text=CDec(Receivedata(4))&
CDec(Receivedata(5))&CDec(Receivedata(6))&CDec(Receivedata(7))
Select Case
Val(txtStation.Text)
Case 1
Call SetTagVal(“readermum”,txtStationNum.Text)’读 卡 器 编 号传递至WebAccess
CallSetTagVal (“cardid01”,txtCardPhNum.Text)’ 读 卡 器 卡 号 传 递 至
WebAccess
Case 2
Call SetTagVal(“readernum”,txtStationNum.Text)
Call SeTagVal(“cardid02”,txtCardPhNum.Text)
…… ……
Case 12
Call SetTagVal(“readernum”,txtStationNum.Text)
Call SetTagVal(“cardid12”,txtCardPhNum.Text)
End Select
End Select
Case comEventRxover’接收缓冲区满的处理
MsgBox “接收缓冲区满了! ”‘发出警告
End Select
End Sub
3.3 RS-485 防干扰设计
RS-485 干扰问题会影响整个网络的稳定性, 尤其是在工作环境比较恶劣和传输距离较远的情况下, 对于解决抗干扰的要求更为严格。否则接口损坏率较高。结合本文设计系统的特点和要求,本系统的RS485 采用差分平衡传输方式,并对整个RS485 网络,设计一条低阻的信号地,它可以将两个接口的工作地连接起来,使共模干扰电压被短路。
4 结束语
基于非接触式IC 卡的润滑油加注管理系统的开发, 是一个具有良好经济效益及实用价值的系统工程,该系统可以改变以前手工加注润滑油的现状,整个加油过程能够实现持卡身份自动录入、识别,加注数据自动计量,计量的数据自动存储,存储的加油数据直接进入企业的综合管理系统公共数据库,实现了加注过程的自动化处理。 另一方面由于非接触式IC 卡具有突出的优点,应加强对非接触式IC 卡技术及应用的研究,从多方面提升其性能,使其应用更深入、更广泛。
[1]李松,吴先良.基于非接触式IC 卡的物流信息管理系统[J].安徽大学学报:自然科学版,2005,1:13.
[2]李民权,高顺利,吴先良.远距离非接触IC 卡考勤系统的软件设计与实现[J].安徽大学学报自然科学版,2003,27(3):63-67.
[3]汪国海.非接触式IC 卡读卡器的设计[D].电子科技大学,2005.