引言
?? 射頻識別技術(shù)(Radio Frequency IdentificatiON,縮寫RFID),射頻識別技術(shù)是20世紀(jì)90年代開始興起的一種自動識別技術(shù),射頻識別技術(shù)是一項利用射頻信號通過空間耦合(交變磁場或電磁場)實現(xiàn)無接觸信息傳遞并通過所傳遞的信息達(dá)到識別目的的技術(shù)。 這個問題的本質(zhì)就是企業(yè)的應(yīng)用系統(tǒng)與硬件接口的問題.因此,通透性就是整個應(yīng)用的關(guān)鍵,正確抓取數(shù)據(jù),確保數(shù)據(jù)讀取的可靠性以及有效地將數(shù)據(jù)傳送到后端系統(tǒng)都是必須考慮的問題。
傳統(tǒng)應(yīng)用程序與應(yīng)用程序之間的數(shù)據(jù)通透是通過中間件架構(gòu)解決,并發(fā)展出各種服務(wù)器應(yīng)用軟件,因此,中間件的架構(gòu)解決方案就成為了RFID應(yīng)用的一項極為重要的核心技術(shù),作者討論的就是RFID中間件的一個解決方案。
1 RFID中間件技術(shù)
RFID技術(shù)的基本工作原理是:標(biāo)簽進(jìn)入磁場后,接收讀寫器發(fā)出的射頻信號,憑借感應(yīng)電流所獲得的能量發(fā)送出存儲在芯片中的產(chǎn)品信息(Passive Tag,無源標(biāo)簽或被動標(biāo)簽),或者主動發(fā)送某一頻率的信號(Active Tag,有源標(biāo)簽或主動標(biāo)簽):讀寫器讀取信息并解碼后,送至中央信息系統(tǒng)進(jìn)行有關(guān)數(shù)據(jù)處理 .中間件是介于應(yīng)用系統(tǒng)和系統(tǒng)軟件之間的一類軟件,它使用系統(tǒng)軟件所提供的基礎(chǔ)服務(wù),銜接網(wǎng)絡(luò)上應(yīng)用系統(tǒng)的各個部分或不同的應(yīng)用,以達(dá)到資源共享、功能共享的目的.在具體實現(xiàn)上,中間件是一個用API定義的軟件層,具有強(qiáng)大的通信能力和良好的可擴(kuò)展性。
RFID中間件是一種面向消息的中間件(Message.Oriented Middleware,MOM),其中信息(Information)是以消息(Message)的形式,采用異步(A—synchronous)的方式從一個程序傳送到另一個或多個程序,傳送者不必等待回應(yīng).它的作用主要體現(xiàn)在三個方面,一是控制RFID讀寫設(shè)備按照預(yù)定的方式工作,保證不同讀寫設(shè)備之間配合協(xié)調(diào);二是按照一定規(guī)則過濾數(shù)據(jù),篩除絕大部分冗余數(shù)據(jù),將真正有效的數(shù)據(jù)傳送給后臺信息系統(tǒng);三是保證讀寫器和企業(yè)級分布式應(yīng)用系統(tǒng)平臺之間的可靠通信。
2 RFID通訊組件的結(jié)構(gòu)框架
針對讀寫器在各種應(yīng)用軟件中的應(yīng)用,作者對RFID讀寫器的通訊指令,采用組件封裝和SDK方式,進(jìn)行了標(biāo)準(zhǔn)化,形成RFID標(biāo)準(zhǔn)組件,RFID標(biāo)準(zhǔn)組件是連接標(biāo)簽讀寫器、控制器和企業(yè)應(yīng)用程序之間的標(biāo)準(zhǔn)化軟件接口程序集合,具有分布式結(jié)構(gòu),以層次化進(jìn)行組織、管理數(shù)據(jù)流,有效增加了軟件的可重用性,簡化了上位機(jī)應(yīng)用軟件的開發(fā),提高了應(yīng)用軟件的可靠性和穩(wěn)定性.本系統(tǒng)中的RFID通訊組件要求實現(xiàn)如下功能:提供RS232/485串口通訊接口組件、TCP/IP、UDP網(wǎng)絡(luò)通訊接口組件,搜索讀寫器、配置讀寫器參數(shù)接口,讀取、設(shè)置標(biāo)簽數(shù)據(jù)接口以及統(tǒng)一配置軟件,其架構(gòu)圖如圖1所示。
圖1 RFID 通訊組件的框架
其中SDK(Software Development Kit)是指可以供軟件開發(fā)人員開發(fā)自己可以在特定的平臺上運行或者通過API(Application Program Interface)運行的軟件產(chǎn)品的一組程序(文檔)集合;組件(Component):是對數(shù)據(jù)和方法的二進(jìn)制封裝,具備跨語言調(diào)用,良好的可重用性,進(jìn)程獨立性等優(yōu)點。
3 RFID通訊協(xié)議格式
RFID通訊組件最重要的是對數(shù)據(jù)的處理.作者重點介紹讀寫器對數(shù)據(jù)的處理,即通訊協(xié)議格式.文中所使用的讀寫器是某公司的高頻工業(yè)讀寫器系列,包含PRR8160讀寫器、PRR8152讀寫器、PRR8032讀寫器.下面將簡單介紹本軟件中所涉及的這幾種RFID 讀寫器,重點介紹PRR8160讀寫器。
3.1 PRR8160讀寫器
PRR8160是一款應(yīng)用于工業(yè)流水線上,進(jìn)行數(shù)據(jù)采集、流水線控制、跟蹤管理的可編程智能數(shù)據(jù)終端機(jī).具有TCP、UDP、RS232多種通訊方式,有極強(qiáng)的現(xiàn)場編程功能,適應(yīng)性極強(qiáng).其系統(tǒng)采用兩級聯(lián)網(wǎng)結(jié)構(gòu),采用UDP協(xié)議進(jìn)行通訊,即管理主機(jī)通過訪問生產(chǎn)數(shù)據(jù)輸入終端機(jī)所在的IP地址對終端機(jī)進(jìn)行數(shù)據(jù)訪問和參數(shù)設(shè)置.設(shè)備工作狀態(tài)采用聯(lián)機(jī)工作方式:即設(shè)備將得到的用戶的完整操作記錄保存在RAM 內(nèi),并主動上傳到管理主機(jī),如果設(shè)備沒有接收到上位機(jī)的正確返回響應(yīng)(超時時間N可以由用戶定義),設(shè)備將再次上傳,直至成功為止,但是當(dāng)設(shè)備再次得到用戶新的完整操作記錄,原有的RAM記錄將被轉(zhuǎn)移到FLASH內(nèi)存儲.工作時若網(wǎng)絡(luò)斷開,終端機(jī)可以自動存儲工作的記錄,當(dāng)網(wǎng)絡(luò)連接正常后,自動上傳數(shù)據(jù)。
設(shè)備支持ARP,ICPM(ping),IP,UDP網(wǎng)絡(luò)通訊協(xié)議,數(shù)據(jù)傳輸方式默認(rèn)采用UDP協(xié)議,不支持?jǐn)?shù)據(jù)包分組操作.?dāng)?shù)據(jù)編碼方式采用HEX的數(shù)據(jù)格式操作,所有通訊數(shù)據(jù)采用“以太網(wǎng)CRC校驗”方式,其中UDP層加UDP校驗,應(yīng)用數(shù)據(jù)層再加“和校驗”方式,具體校驗方式采用從報頭至報尾所有的協(xié)議數(shù)據(jù)按16進(jìn)制做累加,對256取模后的十六進(jìn)制數(shù).應(yīng)用數(shù)據(jù)層的通訊協(xié)議格式如表1~3所示,其中數(shù)據(jù)單位為bit。
?
?
其中:數(shù)據(jù)長度為有效數(shù)據(jù)報文的長度;和校驗為整個數(shù)據(jù)報文的校驗位.有效數(shù)據(jù)部分的報文格式為:類型編號|數(shù)據(jù)|.......|類型編號|數(shù)據(jù):
終端機(jī)檢測到的打包數(shù)據(jù)格式為:打包數(shù)據(jù)格式= ‘#’+步驟1檢測結(jié)果+# + 功能號+型操作類型號+‘#’+ 步驟2檢測結(jié)果+ #+功能號+操作類型號+ ..... + ‘#’+步驟N檢測結(jié)果+功能號+ 操作類型號‘#’.每個檢測步驟中的檢測結(jié)果之間用‘#’號間隔。
3.2 PRR8032讀寫器及PRR8152讀寫器
PRR8032是具有專利外觀設(shè)計的表面嵌入式多功能中距離讀寫器.其讀寫距離最大23 cm,具有防沖撞電子標(biāo)簽讀寫功能,可同時對1O張電子標(biāo)簽的多個數(shù)據(jù)塊進(jìn)行操作。
PRR8152符合IS015693標(biāo)準(zhǔn)的高頻工業(yè)讀寫設(shè)備,可選RS232、RS485以及TCP/IP通訊格式,適用于需要防水、防塵、防油污、防腐蝕等各種惡劣工作環(huán)境,是工業(yè)自動化控制領(lǐng)域的首選讀寫機(jī)器。
4 RFID中間件通訊組件的軟件設(shè)計
RFID中間件通訊組件包括以下幾部分:底層數(shù)據(jù)通訊接口組件、設(shè)備網(wǎng)絡(luò)接口組件、設(shè)備參數(shù)接口組件、對標(biāo)簽讀寫操作接口組件、數(shù)據(jù)庫接口組件等.各接口組件既相對獨立,又有密切聯(lián)系.其中,筆者的通訊組件的操作標(biāo)簽是符合ISO/IEC 15693協(xié)議的電子標(biāo)簽。
本軟件的設(shè)計是在Windows環(huán)境下,選用SQL Server 2000作為后臺數(shù)據(jù)庫,利用Visual C++6.0開發(fā)環(huán)境,將接口組函數(shù)封裝成dll文件,使其可以直接被其它應(yīng)用系統(tǒng)調(diào)用,實現(xiàn)讀寫器與計算機(jī)之間的企業(yè)局域網(wǎng)的通信 .整個系統(tǒng)的設(shè)計結(jié)構(gòu)如下所述。
(1)底層數(shù)據(jù)通訊接口組件:負(fù)責(zé)數(shù)據(jù)通訊的鏈路層和物理層,是讀寫器與應(yīng)用軟件通訊的物理基礎(chǔ),在應(yīng)用邏輯上,與應(yīng)用通訊協(xié)議無關(guān).所以,底層數(shù)據(jù)通訊應(yīng)獨立設(shè)計相對固定的接口,與高層應(yīng)用分離。
?
(2)數(shù)據(jù)庫接口組件:實現(xiàn)對后臺數(shù)據(jù)庫的操作,為RFID 中間件的開發(fā)軟件提供標(biāo)準(zhǔn)的函數(shù)接口.
(3)設(shè)備網(wǎng)絡(luò)接口組件:為客戶提供連接通訊鏈路上的RFID讀寫器信息,設(shè)備參數(shù)設(shè)置接口提供更改讀寫器工作參數(shù)的接口,實現(xiàn)設(shè)備管理功能.
?
(4)標(biāo)簽讀寫操作接口組件:為讀寫器實時工作時提供與計算機(jī)通訊的接口,兩者在用戶和使用功能上相對對立,也可單獨設(shè)計.
&nTagNum);//讀取多個標(biāo)簽的UID。.......
....
5 RFID中間件通訊組件的一個應(yīng)用
深圳普諾瑪公司生產(chǎn)制成管理系統(tǒng)項目中的實時監(jiān)控模塊充分利用了本RFID通訊組件。簡化了開發(fā)流程.其中涉及到的功能有:讀取設(shè)備內(nèi)部數(shù)據(jù)、打開并關(guān)閉與數(shù)據(jù)庫的連接,控制讀寫器對標(biāo)簽進(jìn)行操作等等.
?
?
筆者完成了以下五個接口組件的標(biāo)準(zhǔn)化:底層數(shù)據(jù)通訊接口組件、設(shè)備網(wǎng)絡(luò)接口組件、設(shè)備參數(shù)接口組件、對標(biāo)簽讀寫操作接口組件、數(shù)據(jù)庫接口組件等接口組件,為第三方的企業(yè)級軟件應(yīng)用提供了基礎(chǔ).該RFID 中間件在上海生豬收購管理系統(tǒng)和深圳普諾瑪公司生產(chǎn)制成管理系統(tǒng)中已經(jīng)得到了應(yīng)用,并取得了良好的市場效果。
評論
查看更多