萬學(xué)春,亓?xí)员?,龍廣錢(.廣州鐵路職業(yè)技術(shù)學(xué)院,廣東廣州 50430;.廣州市地下鐵道總公司,廣東廣州 50000)
?
RFID控制應(yīng)用系統(tǒng)中串行通訊的實(shí)現(xiàn)
萬學(xué)春1,亓?xí)员?,龍廣錢2
(1.廣州鐵路職業(yè)技術(shù)學(xué)院,廣東廣州510430;2.廣州市地下鐵道總公司,廣東廣州510000)
摘要:簡單介紹RFID控制系統(tǒng)及其應(yīng)用,分析了該系統(tǒng)中RF讀寫器與上位機(jī)之間的通訊命令格式與通訊方式,提出了采用RS232串行通訊技術(shù),建立以PLC、單片機(jī)為核心的RFID控制應(yīng)用系統(tǒng),并就該系統(tǒng)中RF讀寫器與單片機(jī)、PLC上位機(jī)之間的串行數(shù)據(jù)通信關(guān)鍵技術(shù)給出了具體的實(shí)現(xiàn)方法。
關(guān)鍵詞:串行通訊;RFID;PLC;單品機(jī);識(shí)別系統(tǒng)
RFID(Radio Frequency Identification),射頻識(shí)別,又稱無線射頻識(shí)別,是一種通信技術(shù),通過無線電訊號(hào)識(shí)別特定目標(biāo)并讀寫相關(guān)數(shù)據(jù),而無需識(shí)別系統(tǒng)與特定目標(biāo)之間建立機(jī)械或光學(xué)接觸。工業(yè)控制中,采用的射頻頻率,一般是微波,1~100 GHz,適用于短距離的識(shí)別通信[1]。
目前,RFID技術(shù)日趨成熟,在工業(yè)產(chǎn)品分揀、圖書管理、門禁系統(tǒng)、食品安全管理等自動(dòng)化控制領(lǐng)域,具有廣泛的應(yīng)用前景。
一套完整的RFID控制應(yīng)用系統(tǒng)要包含3部分:
(1)嵌入在被檢測物里面,寫入了數(shù)據(jù)信息的電子標(biāo)簽;
(2)RFID應(yīng)用系統(tǒng)的核心部件,用于檢測讀取和寫入標(biāo)簽信息的RF讀寫器;
(3)接收檢測信息并分析處理的上位機(jī)應(yīng)用控制系統(tǒng)。
工作時(shí),RF讀寫器發(fā)射一特定頻率的無線電波,形成一定區(qū)域的磁場,攜帶電子標(biāo)簽的被檢測物進(jìn)入該磁場后,依靠感應(yīng)耦合電流,驅(qū)動(dòng)電子標(biāo)簽電路,將存儲(chǔ)在標(biāo)簽芯片中的數(shù)據(jù)發(fā)送給讀寫器,讀寫器將數(shù)據(jù)傳送給上位機(jī)應(yīng)用控制系統(tǒng),進(jìn)行數(shù)據(jù)的分析與后續(xù)處理。本文就其中的RF讀寫器與上位機(jī)之間的數(shù)據(jù)通信部分進(jìn)行探討與研究。
在RFID控制應(yīng)用系統(tǒng)中,RF讀寫器與上位機(jī)之間要進(jìn)行頻繁的數(shù)據(jù)通訊,為了降低成本、增強(qiáng)可靠性,采用標(biāo)準(zhǔn)統(tǒng)一的全雙工串行通訊的方式。讀寫器提供RS232的標(biāo)準(zhǔn)接口電路,通過2條串行通信數(shù)據(jù)線,2條電源線,與單片機(jī)、PLC等上位機(jī)控制器進(jìn)行連接。
RF讀寫器與上位機(jī)通訊時(shí),采用固定的數(shù)據(jù)命令字格式,雙方嚴(yán)格的按照命令發(fā)送-響應(yīng)反饋的命令應(yīng)答模式串行通訊,同時(shí),RF讀寫器配合豐富的指示燈信息,極大的方便系統(tǒng)調(diào)試與運(yùn)行監(jiān)視。
RFID控制系統(tǒng)上電時(shí),RF讀寫器主動(dòng)循環(huán)發(fā)送HFF、HFC、H02三個(gè)8位的十六進(jìn)制數(shù)據(jù),每次發(fā)送1個(gè),間隔0.2秒左右,同時(shí)綠色指示燈以1 Hz的速度閃爍;上位機(jī)接受到上述三個(gè)數(shù)據(jù)后,反饋發(fā)送H10給讀寫器;讀寫器接收到該H10數(shù)據(jù)后,發(fā)送H02、H00、H0F、H10、H02、HLE六個(gè)數(shù)據(jù),同時(shí)綠色指示燈常亮,此時(shí),讀寫器與上位機(jī)握手完成。
當(dāng)上位機(jī)需要啟動(dòng)RF讀寫器開始讀標(biāo)簽值時(shí),上位機(jī)主動(dòng)發(fā)送H10、H02兩個(gè)數(shù)據(jù),讀寫器反饋H10表示已經(jīng)響應(yīng)上位機(jī)命令,等待上位機(jī)發(fā)送具體命令指令,而后,上位機(jī)連續(xù)發(fā)送H05、H02、H00、H00、H00、H10、H10、H10、H03、H14十個(gè)數(shù)據(jù)的啟動(dòng)讀標(biāo)簽指令,讀寫器接收完成后,進(jìn)入讀標(biāo)簽?zāi)J健?/p>
當(dāng)RF讀寫器檢測到有電子標(biāo)簽離開檢測區(qū)域時(shí),主動(dòng)發(fā)送H02數(shù)據(jù),上位機(jī)反饋H10,讀寫器連續(xù)發(fā)送H04、H0F、H00、H00、H00、H10、H03、H18八個(gè)數(shù)據(jù),上位機(jī)接收完成后,該任務(wù)執(zhí)行完成。
通過相應(yīng)的命令字,RF讀寫器與上位機(jī)頻繁通訊,完成除上述RF系統(tǒng)上電握手、啟動(dòng)RF讀寫器標(biāo)簽?zāi)J?、?biāo)簽離開3種任務(wù)外,還完成RFID系統(tǒng)啟動(dòng)、RFID系統(tǒng)停止、RF讀標(biāo)簽值、RF寫標(biāo)簽值4種任務(wù),具體通訊命令字與執(zhí)行順序如表1所示。
符號(hào)“-”連接的數(shù)據(jù)表示一次性連續(xù)傳送的。
標(biāo)簽值采用ASCII碼編碼。
指示燈:紅色常亮-出錯(cuò);橘紅色常亮-正在讀取標(biāo)簽值。
表1 RFID與上位機(jī)通訊格式
(1)RF讀寫器與單片機(jī)上位機(jī)的連接
RF讀寫器的輸出信號(hào)采用標(biāo)準(zhǔn)的RS232電平格式,與單片機(jī)連接時(shí),需通過RS232-TTL電平的轉(zhuǎn)換,使用常用的電平轉(zhuǎn)換芯片MAX232CPE即可[2]。連接時(shí),由單片機(jī)系統(tǒng)統(tǒng)一提供電源,RF讀寫器的2條數(shù)據(jù)線和2條電源線通過9針的串口接頭連接轉(zhuǎn)換芯片,與單片機(jī)的數(shù)據(jù)接收RXD、數(shù)據(jù)發(fā)送TXD引腳相連,如圖1所示。
通訊編程時(shí),采用全雙工的串行通訊方式,設(shè)置無協(xié)議的8位數(shù)據(jù)位、偶校驗(yàn)、1位停止位、19 200 bit/s的波特率。
當(dāng)單片機(jī)需要啟動(dòng)RF讀寫器開始讀標(biāo)簽值時(shí),C語言編寫的STC89S52單片機(jī)程序代碼如下:
#include
unsigned char start_RF1[ ]={0x10,0x02};//上位機(jī)第一次發(fā)送的啟動(dòng)讀標(biāo)簽命令字
unsigned char start_RF2[ ] ={0x05,0x02,0x00, 0x00,0x00,0x10,0x10,0x10,0x03,0x14};
//上位機(jī)第二次發(fā)送的啟動(dòng)讀標(biāo)簽命令字...main(){...//串行通信初始化,晶振采用11.0692MHz TMOD|=0x20;//設(shè)置T1為工作方式2 TH1=0xfd;TL1=0xfd;
PCON=0x80;//設(shè)置波特率為19200bps
SCON|=0xf0;//采用8位數(shù)據(jù),奇校驗(yàn),1位停止位的串行通訊模式
TR1=1;//啟動(dòng)定時(shí)器
EA=1;ES=1;//開串行口中斷
...do
{...
for(i=0;i<2;i++)//讀標(biāo)簽
{SBUF= start_RF1[ i];//發(fā)送讀標(biāo)簽命令第一次數(shù)據(jù)
while( !TI );
TI=0;//1個(gè)數(shù)發(fā)送完畢,清零
}
} while(SBUF!=0x02);//等待RF返回H02 REN=0;...for(i=0;i<8;i++)
{SBUF= start_RF2[ i];//發(fā)送讀標(biāo)簽命令第二次數(shù)據(jù)
while( !TI );
TI=0;//1個(gè)數(shù)發(fā)送完畢,清零
}...
}
其他的通訊任務(wù)根據(jù)命令字,同理完成,在此不一一贅述。
(2)RF讀寫器與三菱PLC上位機(jī)的連接
RF讀寫器輸出采用RS232信號(hào),傳送距離遠(yuǎn),抗干擾能力強(qiáng),最遠(yuǎn)距離可以達(dá)到100多米,非常適合工業(yè)環(huán)境的應(yīng)用。三菱PLC作為上位機(jī)構(gòu)造RFID系統(tǒng)時(shí),根據(jù)機(jī)型,選用相應(yīng)三菱串口通訊的特殊功能模塊,例如FX2n232-BD、FX3U-232-BD等,如果使用485BD模塊,則在連接前,需先進(jìn)行232BD-485BD的信號(hào)轉(zhuǎn)接,市面上普通的232-485轉(zhuǎn)換接頭都能完成。
圖1 RF讀寫器與單片機(jī)連接原理圖
線路連接時(shí),將RF讀寫器的SD、RD兩條數(shù)據(jù)線分別與232-BD或者485BD模塊的RD、SD相連即可,讀寫器電源依靠其他外部電源模塊提供,2條電源線連接在電源上。如圖2所示。
圖2 RF讀寫器與三菱PLC連接示意圖
通訊編程時(shí),三菱PLC上位機(jī)采用RS串行數(shù)據(jù)傳送指令與RF讀寫器進(jìn)行通訊聯(lián)系。RS指令格式如下[3]:
1)RF讀寫器上電時(shí),與PLC建立通訊的握手程序代碼如下:
STL S20
RS D100K1 D0 K1 //RF讀寫器循環(huán)發(fā)送HFF、HFC、H02
LD M8123//PLC接收單個(gè)數(shù)據(jù)
MOVD0 D200V1
AND= D0H0FF//從第一個(gè)數(shù)據(jù)開始建立聯(lián)系
RST V1
INCP V1
RST M8123
LD= D203H02//接收到的第3個(gè)數(shù)據(jù)為H02
SET S21
STL S21
MOVH10D100
RS D100K1 D0 K3 //握手正常,RF讀寫器返回6個(gè)數(shù)據(jù)
ANDP S21
SET M8122
LD M8123 //PLC接收完6個(gè)數(shù)據(jù)(為了簡便,可以不對(duì)數(shù)據(jù)內(nèi)容檢測),握手完成
RST M8123//復(fù)位接收允許,為下個(gè)數(shù)據(jù)通訊做準(zhǔn)備
2)使RF讀寫器啟動(dòng)讀標(biāo)簽?zāi)J?,PLC程序代碼如下:
STL S40
MOVH210D100
RS D100K2 D0 K1//PLC發(fā)送H02、H10
ANDP S40
SET M8122
LD M8123
RST M8123
LD= D0 H02//RF讀寫器響應(yīng)后反饋數(shù)據(jù)H02
SET S41
STL S41
MOVH205D100//10個(gè)數(shù)據(jù)的RF啟動(dòng)讀標(biāo)簽命令字
MOVH0D101
MOVH100D102
MOVH010D103
MOVH403D104
RS D100K10 D0 K1 //PLC發(fā)送10個(gè)數(shù)據(jù)的啟動(dòng)RF讀標(biāo)簽命令
ANDP S41
SET M8122
LD M8123//接收了RF讀寫器反饋的數(shù)據(jù)
RST M8123
...
3)RFID與西門子PLC上位機(jī)的連接:
西門子PLC做上位機(jī)時(shí),與RFID的連接和三菱PLC一樣,需要用到西門子的RS232串口通訊模塊,通訊格式和線路連接方法與三菱的一致。
通訊時(shí),西門子PLC可以使用專用的軟件庫,通過RS232模塊與RF讀寫器進(jìn)行通訊,使用3964R協(xié)議,通過簡單的參數(shù)設(shè)置,直接調(diào)用各命令程序塊,非常方便。
使用時(shí),先安裝RFID軟件庫,在新建的項(xiàng)目中,打開OB1組織塊,將庫文件“rfid_serial”中的庫文件夾“rfid_serial_com”中的文件拷貝到程序塊中,將庫文件夾“rfid_serial_char”中的文件拷貝到監(jiān)控表中,拖拽“com_serial”功能塊到OB1中,選擇背景數(shù)據(jù)塊的名字和數(shù)據(jù)塊號(hào)。
設(shè)置完成后,就可以直接組態(tài)調(diào)用相應(yīng)功能塊進(jìn)行控制了,例如復(fù)位功能塊_cmd_reset_,讀標(biāo)簽值功能塊_cmd_read_,寫標(biāo)簽值功能塊_cmd_write_等。
射頻識(shí)別技術(shù)因其無接觸、可阻擋的檢測特性,除在傳統(tǒng)的工業(yè)控制中廣泛使用外,目前在二代身份證識(shí)別、安全保衛(wèi)等系統(tǒng)中,也越來越被青睞,例如北京亞運(yùn)會(huì)、上海世博會(huì)的人員身份識(shí)別中,在參會(huì)者的證件中植入微小的電子標(biāo)簽,通過RF讀寫器,可以快速、方便、免打擾的自動(dòng)識(shí)別與會(huì)者的身份信息。
本文從底層分析了RFID系統(tǒng)的應(yīng)用方法,提出了在單片機(jī)、PLC常用工業(yè)控制中的使用方法,引出了該系統(tǒng)的智能控制系統(tǒng)軟件開發(fā)的接口技術(shù)。
參考文獻(xiàn):
[1]黃玉蘭.通信技術(shù)術(shù)語[M].北京:人民郵電出版社,2010.
[2]劉星.計(jì)算機(jī)接口技術(shù)[M].北京:機(jī)械工業(yè)出版社,2003.
[3]三菱電機(jī).三菱微型可編程控制器編程手冊(cè)[Z]. 2000.
(編輯:向飛)
Realization of Serial Communication in RFID Control System Application
WAN Xue-chun1,QI Xiao-bin1,LONG Guang-qian2
(1.Guangzhou Institute of Railway Technology,Guangzhou510430,China;2. Guangzhou City Underground Railway Corporation,Guangzhou510000,China)
Abstract:This paper introduces the RFID control system and its application, analyzes the communication command format and communication mode of the system of RF reader with the host computer, this paper proposes the use of RS232 serial communication technology, the establishment of RFID control system applied to PLC, single chip computer as the core, and the system RF to read and write serial data communication gives the key technology between reader and the SCM, PLC specific ways.
Key words:serial communication;RFID;PLC;single product machine;recognition system
作者簡介:第一萬學(xué)春,男,1975年生,湖南岳陽人,碩士,講師。研究領(lǐng)域:機(jī)電一體化技術(shù)應(yīng)用。已發(fā)表論文10篇。
收稿日期:2015-05-16
DOI:10. 3969 / j. issn. 1009-9492. 2015. 11. 023
中圖分類號(hào):TN919
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-9492 ( 2015 ) 11-0085-04