劉文波 劉慶陽
(沈陽理工大學機械工程學院,遼寧 沈陽110159)
非接觸式IC 技術的迅速發展及其自身的優點為各應用領域內信息化處理自動化的建設提供了全新的發展空間。而該項技術在潤滑油加注管理系統中的應用會使企業的信息化處理模式在現代化管理體制下得到更全面的發展。 目前,大部分的潤滑油加注仍處于手工作業或計算機半自動化管理方式,因此該技術在潤滑油加注管理系統中具有較大的應用前景。
目前,IC 卡根據集成電路的功能不同可以分為: 接觸式IC 卡和非接觸式IC 卡,其中前者具有標準形狀的銅皮觸電,后者采用封閉式包裝,通過射頻技術與外部設備交換信息,從而解決了無源和免接觸兩大難題。
非接觸式IC 卡的整個系統由控制器、讀寫器、IC 卡三部分構成,系統在固定的工作頻率下以半雙工方式在讀寫器和IC 卡之間雙向傳輸數據。 當系統要求修改卡內信息時,有關控制電路啟動內部電荷泵將工作電壓提升到15V 以便對EEPROM 中的內容進行改寫, 其系統框圖如圖1 所示:

圖1 非接觸式IC 卡系統框圖

圖2 系統總體結構圖
在本文中,自動加注控制系統的主要任務是接收上位機指令并對現場的電動三通閥及儀表進行自動控制, 是整個控制系統的核心部分。文中選用應用廣泛、操作編程簡單、抗干擾能力的可編程控制器作為下位機。 可編程控制器又稱PLC(Programmable Logic Controller)是專門為適應實際的工程上的應用而設計的。PLC 自從問世以來便迅速的被工控界認可,并不斷改善自身功能。近年來,PLC 已經得到了長足的發展,并在工控界得到了廣泛的應用。
該系統采用的是PLC+PC 機的控制形式。具有管理層、操作層、控制層及現場層的四層網絡模式構成了本章節所設計的潤滑油自動加注系統。現場層由流量計、油泵、電動三通閥、溫度/壓力變送器等構成,控制層以PLC 為核心, 控制層與操作層通過RS-485 總線進行連接;系統總體結構如圖2 所示:
在潤滑油加注過程中, 考慮到有時會由于加油數據輸入的錯誤,對油品的加注工作帶來諸多不便,甚至還會有盜油事件的發生。 本課題為了減少人為因素對加油過程的影響,在加油過程中運用了目前應用廣泛技術比較成熟的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.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
RS-485 干擾問題會影響整個網絡的穩定性, 尤其是在工作環境比較惡劣和傳輸距離較遠的情況下, 對于解決抗干擾的要求更為嚴格。否則接口損壞率較高。結合本文設計系統的特點和要求,本系統的RS485 采用差分平衡傳輸方式,并對整個RS485 網絡,設計一條低阻的信號地,它可以將兩個接口的工作地連接起來,使共模干擾電壓被短路。
基于非接觸式IC 卡的潤滑油加注管理系統的開發, 是一個具有良好經濟效益及實用價值的系統工程,該系統可以改變以前手工加注潤滑油的現狀,整個加油過程能夠實現持卡身份自動錄入、識別,加注數據自動計量,計量的數據自動存儲,存儲的加油數據直接進入企業的綜合管理系統公共數據庫,實現了加注過程的自動化處理。 另一方面由于非接觸式IC 卡具有突出的優點,應加強對非接觸式IC 卡技術及應用的研究,從多方面提升其性能,使其應用更深入、更廣泛。
[1]李松,吳先良.基于非接觸式IC 卡的物流信息管理系統[J].安徽大學學報:自然科學版,2005,1:13.
[2]李民權,高順利,吳先良.遠距離非接觸IC 卡考勤系統的軟件設計與實現[J].安徽大學學報自然科學版,2003,27(3):63-67.
[3]汪國海.非接觸式IC 卡讀卡器的設計[D].電子科技大學,2005.