鄧有緯
(1.國電南京自動化股份有限公司,南京210032;2.南京國電南自維美德自動化有限公司,南京210032)
在燃煤發電廠的輸煤系統中,使用著多種軌道設備,如葉輪給煤機、斗輪堆取料機等,這些設備在鋼軌上往復行走,進行卸料或堆取料。目前,這些設備都利用可編程控制器 (programmable logic controller,PLC)實現了自動控制,由于這些設備需要在鋼軌上往復行走,為了保證設備與控制系統無相對位移以方便接線,一般可將編程控制器安裝于設備上隨設備一起移動,否則位置變化的設備與位置固定的控制系統之間無法接線或接線成本過高。
然而根據熱值、硫分、灰分等參數[1]分區分堆存放的燃料往往需要驅動軌道設備至指定位置或區間運行,這就需要建立設備的自我位置感知,即設備的實時定位。最簡單的設備位置感知是在需要位置指示的地方安裝位置開關,并將其信號接入控制系統中,然而由于位置開關安裝在固定的位置,而控制系統隨設備移動,這又造成了位置變化的控制系統與位置固定的設備之間無法接線或接線成本過高。
針對上述問題,本文設計了一種基于RFID 的實時定位系統,將RFID 讀卡器安裝在運動的設備上并接入控制系統,將無源RFID 標簽固定在各標識位置,利用非接觸式自動識別技術[2],使各固定位置的標簽可被運動中的控制系統識別,建立設備與環境的感知和互聯,即設備的實時定位。
為了實現設備的實時定位,以往大致采用以下幾種方法:
(1)動作開關間接定位。動作開關安裝于運動的設備上,并接線至控制系統,將使開關動作的觸頭布置于需要位置指示的地方,設備每經過一個觸頭使開關動作一次,通過校準位置、運動方向和開關動作的次數可以定位設備的位置。該方法在控制系統失電后需重新校準位置,定位效率低、可靠性較差。
(2)旋轉編碼器定位。編碼器與運動的軸嚙合,編碼器安裝在運動設備上接入控制系統,控制系統接收編碼器的脈沖,計算設備與校準位置之間的距離。該方法在控制系統失電后需重新校準位置,定位效率低且存在累積誤差[3]。
(3)位置開關+輸煤系統定位。將需要位置指示的地方布置位置開關接入輸煤程控系統,由輸煤程控系統通過無線通信裝置或滑線載波將位置信號發送給控制系統。該方法實施不方便、時延較大,對設備控制的實時性差。
(4)位置開關+無線IO 定位。在需要位置指示的地方布置位置開關接入固定位置的無線IO 發射端,在控制系統上加裝無線IO 接收端,將位置開關信號通過無線IO 方式接入控制系統。該方法實施不方便,且費用高。
(5)GPS 實時定位[4]。在軌道設備上安裝GPS 接收機隨設備移動,通過GPS 衛星實現定位,該方法存在位置漂移,且在地溝、建筑物等密閉空間無法使用[5]。
(6)基于UWB 技術的定位[3]。將移動標簽安裝于軌道設備上隨設備運動并發射UWB 脈沖信號,接收器安裝于固定位置接收信號,通過計算移動標簽與固定位置接收器的距離計算軌道設備的位置,該方法費用較高。
通過上述的實時定位方法可以看出,對于空間的物理定位來說,從定位方法上可分為計算定位和信標定位兩種。計算定位即通過被定位物體與固定位置的距離,計算出被定位物體的位置,該定位方法的典型應用即GPS 定位;信標定位則是在需要位置指示的地方設置標識,說明當前的位置,通過讀取該標識得知被定位物體的位置,猶如高速公路樁號定位。一般來說信標定位相比計算定位位置指示更加直觀,定位更加準確。但信標定位也有3 個方面的問題需要解決,否則將會影響其應用。
(1)信標作為位置指示,必須能區分個體,否則信標產生相同的信號,將降低定位效率。如動作開關間接定位中,信標觸頭使動作開關產生相同的信號,無法區分不同的個體,直接導致定位效率低。
(2)為提高定位精度,需在定位現場大量布置信標,因此信標必須布置方便且價格便宜,否則大量的信標布置會增加施工難度及成本。
(3)對于信標的讀取,應可以在運動中直接讀取,否則將會導致時延或讀取成本過高。如位置開關+輸煤系統定位,不能直接讀取,導致時延;而位置開關+無線IO 定位,為了直接讀取,增加無線IO裝置,增加了定位成本。
本文基于射頻識別技術(radio frequency Indentification,RFID),設計了軌道設備的信標實時定位系統,射頻識別是一種通過無線電波進行不接觸快速信息交換的技術,它將計算機、電、磁、通信、網絡技術融為一體,實現物體的跟蹤與信息共享,給物體賦予智能。該實時定位系統能克服信標定位的3 個方面的問題,首先,每張無源RFID 標簽都有唯一的ID 號[6],方便個體識別;其次,無源RFID 標簽無功耗、抗污染及耐用性好[7]且價格足夠便宜,適宜大量布置;再者,利用RFID 的非接觸式自動識別技術[2],運動中的RFID 讀卡器可以非接觸的直接讀取無源RFID 標簽。
基于RFID 的實時定位系統原理是將無源RFID標簽布置于軌道沿線,標識物理位置,如同高速公路上的樁號;安裝在軌道設備上的讀卡器通過發射天線發射特定頻率的射頻信號,當軌道設備經過信標所在位置時,RFID 標簽進入有效工作區域產生感應電流,從而獲得能量被激活,使得信標將自身編碼信息通過內置天線發出去[5];讀卡器接收天線接收信標發送的載波信號傳送至讀卡器,讀卡器將其解碼發送至設備控制系統,控制系統通過位置服務模塊獲取設備位置完成設備的實時定位。RFID 實時定位系統主要由3 部分組成:
(1)RFID 標簽:安裝于軌道沿線具有唯一ID 的無源RFID 標簽,反映安裝位置。
(2)RFID 讀卡器:包括發射、接收天線,安裝于運動設備上。
(3)位置服務模塊:存儲RFID 標簽的ID 與其對應的物理位置的地址表,接收來自讀卡器的標簽ID 數據,根據標簽ID 查找地址表,獲取設備的位置。
RFID 信標實時定位技術,基本上能克服前述的幾種實時定位技術的缺點,其主要表現如下:
(1)每個無源RFID 標簽作為信標都有唯一的ID,個體可區分且均能反應一個獨立的位置點。
(2)位置反饋為物理位置指示,與軌道設備的行進方向無關。
(3)非接觸式直接數據讀取,無接觸部件,可在運動中讀取。
(4)可在建筑物內、地溝使用,對密閉空間無特殊要求,無使用環境限制。
(5)無源RFID 標簽,毋需供電,不需接線,抗污染,耐久性好,價格便宜。
為了更詳細的體現設計與實現,本文以實現葉輪給煤機在50 m 長的卸煤溝實時定位為例進行說明。葉輪給煤機采用Schneider M218 控制器進行控制。
根據定位需求首先在葉輪給煤機運行的軌道上,從近端至遠端每隔1 m 布置1 張RFID 標簽,并在M218 控制器的全局數據中新建1 張表,依次存儲每張RFID 標簽的ID 及其對應位置,作為位置服務模塊的數據庫。本例中該表可用數組來存儲,數組共51 個元素,分別代表軌道上從近端到遠端的51個位置;每個元素又是1 個數組,存儲每個位置RFID標簽的ID 和位置,ID 用8 字節ASCII 碼表示。全局的位置數據表定義如下:

RFID 讀卡器安裝在葉輪給煤機上,隨葉輪給煤機在軌道運動,讀取沿軌道布置的RFID 標簽,為了安裝方便,選擇讀卡距離為5~20 cm 的讀卡設備。過小的讀卡距離,要求較高的安裝精度;過大的讀卡距離則會導致沿軌道布置的多個RFID 標簽進入讀卡范圍,從而無法有效的分辨標簽影響定位。
RFID 讀卡器在軌道上往復行走,隨意性強,因此在標簽進入讀卡范圍后,讀卡器應能主動將ID發送給位置服務模塊進行定位。因為標簽的布置是間斷的,讀卡事件的發生是一個隨機事件,控制系統無法確定何時發送指令給讀卡器獲取數據。所以RFID 讀卡器的數據上傳模式應可設置為主動上傳,讀到卡后主動發送數據。同時由于RFID 讀卡器需將數據發送給位置服務模塊,因此讀卡器需具備與控制器通信的能力。
根據上述要求,選擇RFID 讀卡設備如下:設備采用RS485 自定義協議通信,讀卡距離8~20 cm,數據上傳模式為主動上傳。其通訊參數、電纜連接、數據格式如表1~表3 所示。

表1 通訊參數Tab.1 Communication parameters

表2 電纜連接Tab.2 Cable connection

表3 數據格式Tab.3 Data format
M218 控制器內置2 個串行通訊口SL1 和SL2,物理介質接口為RS485,SL1 為RJ45,SL2 為端子連接方式。此處采用SL2 端子連接方式與RFID 讀卡器連接進行通信,SL2 的針腳說明如表4 所示。

表4 SL2 針腳說明Tab.4 SL2 pin description
將RFID 讀卡器與M218 控制器進行硬件連接,按照RFID 讀卡器通訊參數設定M218 控制器的波特率、數據位、停止位、校驗方式等,然后通過軟件編程完成RFID 標簽ID 讀取。
對于M218 控制器的自定義協議通信,軟件提供了SEND_RECV_MSG 功能塊,它可在選定介質上發送消息,等待響應;或僅發送消息,不等待響應;或僅接收消息。本例中M218 控制器僅接收RFID 讀卡器數據,因此“QuantityToSend”和“BufferToSend”管腳均設置為0,其數據交換編程如圖1 所示。

圖1 數據交換Fig.1 Data exchange
Execute 引腳需上升沿觸發,對于冷、熱復位后的第一個任務周期就為Ture 的條件,系統無法檢測上升沿,則無法使功能塊工作,因此使用該功能塊進行數據交換一般都發生在第一個任務周期結束后。
SEND_RECV_MSG 要正確的完成數據交換,還需和ASCII 碼管理器配合使用。根據選擇的讀卡器的數據格式對M218 的串行通訊口SL2 上的ASCII_Manager 進行配置,如圖2 所示。

圖2 ASCII_Manager 參數設置Fig.2 ASCII_Manger parameter settings
對于“僅接收”操作,當達到結束條件時,交換完成(Busy 復位為0)。結束條件在如圖2 的ASCII_Manger 中進行配置,可以是標志位,也可以是幀的長度,還可以是時間。上述參數項若設置為0,則表示不使用該項參數,因此0 也不可以設置為起始字符或結束字符。如果配置了多個結束條件,則第一個為True 的條件會終止數據接收,本例中使用標志位的結束條件。
在SEND_RECV_MSG 中“SizeRecvBuffer”管 腳的設置與ASCII_Manger 參數中的“收到的幀長度”不是同一參數,不可理解為用幀長度來表示結束條件,它僅僅表示復制到接收緩沖區的數據量的大小,設置的數值小于實際接收的字符數,將導致部分接收的數據不被復制到數據接收緩沖區。但無論設置為何值,起始字符、結束字符均不會被復制至數據接收緩沖區中。
對于“僅接收”操作,ASCII_Manager 中的“幀收到超時(ms)”與“TimeOut”均應設置為0。因為對于“僅接收”操作來說,SEND_RECV_MSG 功能塊一直在進行數據交換(Busy 為1),直至等到結束條件使本次交換完成開始下次交換,由于讀卡是隨機事件,無法通過時間判斷數據交換完成,所以ASCII_Manager 中的“幀收到超時(ms)”設置為0,表示不用此作為結束條件;而“TimeOut”設置為0 則表示對數據交換的時間不限制,即無限時間。雖然對于這兩項參數設置非0 的數值均會導致交換結束,但代表的意義不一樣,“幀收到超時(ms)”表示以交換時間長短為條件的結束條件,而“TimeOut”則表示交換在超時時間到期時停止,超時將導致“CommError”置1。
根據需求分析在控制器中建立了一張全局的數據表,該表存儲軌道上各位置的RFID 標簽的ID 和位置。反過來,讀取RFID 標簽的ID,通過查表則能知道該標簽在軌道上的位置。位置服務模塊程序如下:

讀卡完成后,在M218 控制器的主任務中調用位置服務模塊,如圖3 所示,Position_Index 即設備在軌道上的位置,本例中即第Position_Index 米處。

圖3 定位調用Fig.3 Positioning call
本例對葉輪給煤機的實時定位精度為1 m,為提高定位精度,只需沿運行軌跡更加密集的布置標簽。如本例在50 m 的卸煤溝中布置51 張標簽,定位精度為1 m;若布置101 張標簽,則定位精度可達到0.5 m;布置251 張標簽則能達到0.2 m 的定位精度。且標簽成本低,無源毋需接線,布置方便,不受環境限制。定位系統修改方便,只需更新RFID 標簽ID 與位置對應表。因此,該實時定位設計即使是對已投入運營的設備進行改造亦是非常方便。
本文設計的基于RFID 的信標智能定位系統,對于具有固定軌跡的運動設備實現定位,具有較多優點,為輸煤系統中的軌道設備如斗輪機、葉輪給煤機等實時定位,提供了切實可行、成本低、安裝簡單的定位方案,該定位系統的實現為軌道設備與環境的全面感知、普遍互聯提供了一種更為智能的途徑。