劉文波 劉慶陽
(沈陽理工大學(xué)機(jī)械工程學(xué)院,遼寧 沈陽110159)
非接觸式IC 技術(shù)的迅速發(fā)展及其自身的優(yōu)點(diǎn)為各應(yīng)用領(lǐng)域內(nèi)信息化處理自動(dòng)化的建設(shè)提供了全新的發(fā)展空間。而該項(xiàng)技術(shù)在潤滑油加注管理系統(tǒng)中的應(yīng)用會(huì)使企業(yè)的信息化處理模式在現(xiàn)代化管理體制下得到更全面的發(fā)展。 目前,大部分的潤滑油加注仍處于手工作業(yè)或計(jì)算機(jī)半自動(dòng)化管理方式,因此該技術(shù)在潤滑油加注管理系統(tǒng)中具有較大的應(yīng)用前景。
目前,IC 卡根據(jù)集成電路的功能不同可以分為: 接觸式IC 卡和非接觸式IC 卡,其中前者具有標(biāo)準(zhǔn)形狀的銅皮觸電,后者采用封閉式包裝,通過射頻技術(shù)與外部設(shè)備交換信息,從而解決了無源和免接觸兩大難題。
非接觸式IC 卡的整個(gè)系統(tǒng)由控制器、讀寫器、IC 卡三部分構(gòu)成,系統(tǒng)在固定的工作頻率下以半雙工方式在讀寫器和IC 卡之間雙向傳輸數(shù)據(jù)。 當(dāng)系統(tǒng)要求修改卡內(nèi)信息時(shí),有關(guān)控制電路啟動(dòng)內(nèi)部電荷泵將工作電壓提升到15V 以便對(duì)EEPROM 中的內(nèi)容進(jìn)行改寫, 其系統(tǒng)框圖如圖1 所示:
圖1 非接觸式IC 卡系統(tǒng)框圖
圖2 系統(tǒng)總體結(jié)構(gòu)圖
在本文中,自動(dòng)加注控制系統(tǒng)的主要任務(wù)是接收上位機(jī)指令并對(duì)現(xiàn)場的電動(dòng)三通閥及儀表進(jìn)行自動(dòng)控制, 是整個(gè)控制系統(tǒng)的核心部分。文中選用應(yīng)用廣泛、操作編程簡單、抗干擾能力的可編程控制器作為下位機(jī)。 可編程控制器又稱PLC(Programmable Logic Controller)是專門為適應(yīng)實(shí)際的工程上的應(yīng)用而設(shè)計(jì)的。PLC 自從問世以來便迅速的被工控界認(rèn)可,并不斷改善自身功能。近年來,PLC 已經(jīng)得到了長足的發(fā)展,并在工控界得到了廣泛的應(yīng)用。
該系統(tǒng)采用的是PLC+PC 機(jī)的控制形式。具有管理層、操作層、控制層及現(xiàn)場層的四層網(wǎng)絡(luò)模式構(gòu)成了本章節(jié)所設(shè)計(jì)的潤滑油自動(dòng)加注系統(tǒng)?,F(xiàn)場層由流量計(jì)、油泵、電動(dòng)三通閥、溫度/壓力變送器等構(gòu)成,控制層以PLC 為核心, 控制層與操作層通過RS-485 總線進(jìn)行連接;系統(tǒng)總體結(jié)構(gòu)如圖2 所示:
在潤滑油加注過程中, 考慮到有時(shí)會(huì)由于加油數(shù)據(jù)輸入的錯(cuò)誤,對(duì)油品的加注工作帶來諸多不便,甚至還會(huì)有盜油事件的發(fā)生。 本課題為了減少人為因素對(duì)加油過程的影響,在加油過程中運(yùn)用了目前應(yīng)用廣泛技術(shù)比較成熟的IC 卡來解決此類問題并對(duì)采油設(shè)備使用潤滑油的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)記錄。 將IC 卡作為油田采油設(shè)備更換潤滑油的唯一憑證,IC 卡上的諸多信息可以由操作員在管理PC 機(jī)上調(diào)用數(shù)據(jù)庫的數(shù)據(jù)直接寫入,操作員只填寫采油設(shè)備的信息。 其目的是提高了發(fā)油數(shù)據(jù)的正確率,減少了操作人員的勞動(dòng)強(qiáng)度,最大程度提高工作效率,以延長采油設(shè)備的有效工作的時(shí)間。 考慮到油田加油現(xiàn)場的環(huán)境等方面的要求, 本文選用了北京完美公司的WM-121 型非接觸式IC卡配套讀寫系統(tǒng)。
IC 卡讀寫系統(tǒng)由PC 機(jī)和IC 卡讀寫器組成。 對(duì)于發(fā)卡系統(tǒng)來說,由管理PC 機(jī)與管理室內(nèi)的IC 卡讀寫器組成,其主要任務(wù)是將潤滑油的原始數(shù)據(jù)寫入IC 卡中, 將IC 與采油設(shè)備之間建立一一對(duì)應(yīng)的關(guān)系; 對(duì)于讀卡系統(tǒng)來說, 主要由監(jiān)控PC 機(jī)和現(xiàn)場的IC 卡讀寫器組成,主要完成現(xiàn)場IC 卡數(shù)據(jù)的讀取,將該數(shù)據(jù)傳到監(jiān)控PC 機(jī)上進(jìn)行驗(yàn)證核對(duì)。 IC 卡讀寫器通過RS232 串口與PC 進(jìn)行通訊,完成數(shù)據(jù)的傳輸。 其讀寫結(jié)構(gòu)圖如圖3 所示:
圖3 IC 卡讀寫系統(tǒng)結(jié)構(gòu)圖
3.2.1 軟件開發(fā)語言設(shè)計(jì)選擇
在Windows 環(huán)境下,操作系統(tǒng)完全接管了各種硬件資源,不允許用戶直接控制串行口的中斷管理,因此如何在Windows 環(huán)境下開發(fā)計(jì)算機(jī)的底層資源,已經(jīng)成為當(dāng)今工控軟件的一大技術(shù)難點(diǎn)。 VB6.0 是微軟公司推出一款功能強(qiáng)大的Windows 開發(fā)軟件, 它提供了一個(gè)ActiveX 控件Microsoft Communication Control 6.0, 簡稱MSComun 控件。 用戶可以在自己的應(yīng)用程序中嵌入該控件,利用它可以方便地進(jìn)行計(jì)算機(jī)串口的通信管理。
3.2.2 系統(tǒng)通訊軟件設(shè)計(jì)
本系統(tǒng)利用VB6.0 的控件可以實(shí)現(xiàn)Windows 環(huán)境下與多臺(tái)讀卡器串行通信接口,實(shí)現(xiàn)單臺(tái)PC 機(jī)對(duì)多臺(tái)讀卡器的靈活控制。
1)讀卡器地址設(shè)置程序
讀卡器在使用前,必須由上位機(jī)軟件一對(duì)一的設(shè)置地址,才能聯(lián)網(wǎng)使用。在程序設(shè)計(jì)中,將數(shù)據(jù)按照AA FF FF(廣播地址)02 A4 ##(設(shè)置地址)04(校驗(yàn))的格式發(fā)送到串口,就可以將讀卡器地址設(shè)置為##了。 這個(gè)實(shí)在按鈕Click 事件下完成的。
2)讀數(shù)據(jù)命令程序和串口事件響應(yīng)程序
由于是多臺(tái)聯(lián)機(jī), 而且讀卡形式是一臺(tái)一臺(tái)的由上位機(jī)詢讀卡器,在該系統(tǒng)中我們利用VB6.0 中提供的Timer 控件,實(shí)現(xiàn)上位機(jī)讀卡程序順序查詢讀卡器,系統(tǒng)中卡號(hào)最終送到WebAccess 中,當(dāng)某一管路正在加油時(shí),則不允許對(duì)該路對(duì)應(yīng)的讀卡器進(jìn)行讀卡操作。 圖4是時(shí)間控件觸發(fā)的詢卡程序執(zhí)行過程。
圖4 詢卡程序原理圖
讀取第N 路油槍狀態(tài)和發(fā)送數(shù)據(jù)指令是定義的兩個(gè)過程,通過調(diào)用過程完成相應(yīng)的工作,當(dāng)讀卡器返回?cái)?shù)據(jù)時(shí),串口事件會(huì)執(zhí)行相應(yīng)的程序,完成返回?cái)?shù)據(jù)的判斷,分割,將值傳至WebAccess 相應(yīng)變量。其執(zhí)行過程是:
接收字符串→判斷字符串長度→若字符串長度等于6,則事件結(jié)束,若字符串長度等于9,則將字符串中的第二個(gè)字符提取出來,這個(gè)即為讀卡器的地址;將第4、5、6、7 四個(gè)位置的字符提取出來組成一個(gè)字符串即為所需卡號(hào)→根據(jù)提取出來的讀卡器地址, 調(diào)用VB 和WebAccess 中對(duì)應(yīng)讀卡器編號(hào)的管路變量, 然后自動(dòng)進(jìn)行數(shù)據(jù)查詢,完成加油權(quán)限及加油登記工作。
以下是串口事件的一部分主程序設(shè)計(jì):
Private Sub MSComml_OnComm()
On Error Resume Next
Select Case MSComml CommEvent’選擇事件
Case comEvReceive’接到字符串
Bufferin=MSComml.Input’數(shù)據(jù)轉(zhuǎn)移指針
Select Case LenB(Bufferin)
Case 9
txtStationNum.Text=CDec(Receivedata(2))’讀卡器編號(hào)
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)’讀 卡 器 編 號(hào)傳遞至WebAccess
CallSetTagVal (“cardid01”,txtCardPhNum.Text)’ 讀 卡 器 卡 號(hào) 傳 遞 至
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’接收緩沖區(qū)滿的處理
MsgBox “接收緩沖區(qū)滿了! ”‘發(fā)出警告
End Select
End Sub
RS-485 干擾問題會(huì)影響整個(gè)網(wǎng)絡(luò)的穩(wěn)定性, 尤其是在工作環(huán)境比較惡劣和傳輸距離較遠(yuǎn)的情況下, 對(duì)于解決抗干擾的要求更為嚴(yán)格。否則接口損壞率較高。結(jié)合本文設(shè)計(jì)系統(tǒng)的特點(diǎn)和要求,本系統(tǒng)的RS485 采用差分平衡傳輸方式,并對(duì)整個(gè)RS485 網(wǎng)絡(luò),設(shè)計(jì)一條低阻的信號(hào)地,它可以將兩個(gè)接口的工作地連接起來,使共模干擾電壓被短路。
基于非接觸式IC 卡的潤滑油加注管理系統(tǒng)的開發(fā), 是一個(gè)具有良好經(jīng)濟(jì)效益及實(shí)用價(jià)值的系統(tǒng)工程,該系統(tǒng)可以改變以前手工加注潤滑油的現(xiàn)狀,整個(gè)加油過程能夠?qū)崿F(xiàn)持卡身份自動(dòng)錄入、識(shí)別,加注數(shù)據(jù)自動(dòng)計(jì)量,計(jì)量的數(shù)據(jù)自動(dòng)存儲(chǔ),存儲(chǔ)的加油數(shù)據(jù)直接進(jìn)入企業(yè)的綜合管理系統(tǒng)公共數(shù)據(jù)庫,實(shí)現(xiàn)了加注過程的自動(dòng)化處理。 另一方面由于非接觸式IC 卡具有突出的優(yōu)點(diǎn),應(yīng)加強(qiáng)對(duì)非接觸式IC 卡技術(shù)及應(yīng)用的研究,從多方面提升其性能,使其應(yīng)用更深入、更廣泛。
[1]李松,吳先良.基于非接觸式IC 卡的物流信息管理系統(tǒng)[J].安徽大學(xué)學(xué)報(bào):自然科學(xué)版,2005,1:13.
[2]李民權(quán),高順利,吳先良.遠(yuǎn)距離非接觸IC 卡考勤系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)[J].安徽大學(xué)學(xué)報(bào)自然科學(xué)版,2003,27(3):63-67.
[3]汪國海.非接觸式IC 卡讀卡器的設(shè)計(jì)[D].電子科技大學(xué),2005.