劉 挺, 徐哲壯, 何偉東, 樂 喜, 熊 甜
(福州大學 電氣工程與自動化學院 自動化系,福建 福州 350108)
基于Android的移動化工業(yè)人機交互系統(tǒng)設計*
劉 挺, 徐哲壯, 何偉東, 樂 喜, 熊 甜
(福州大學電氣工程與自動化學院自動化系,福建福州350108)
針對現(xiàn)有工業(yè)人機交互(HMI)界面存在無法移動,靈活性差等問題,設計了基于Android的移動化工業(yè)人機交互系統(tǒng)。系統(tǒng)通過設計藍牙/RS—485網(wǎng)關模塊,在Android智能設備與可編程邏輯控制器(PLC)之間建立可靠的數(shù)據(jù)通道,使二者能進行雙向通信?;贏ndroid的工業(yè)人機交互軟件可以進行可視化的監(jiān)測與圖形化的控制輸入,實現(xiàn)人機交互系統(tǒng)的移動化、智能化。在某熱熔膠機的HMI系統(tǒng)上進行實驗,結果證明:系統(tǒng)能夠在設備周圍的任意位置實時可靠地顯示傳感器數(shù)據(jù)并修改參數(shù),提高了工業(yè)現(xiàn)場HMI的效率。
工業(yè)人機交互; 藍牙; Android; 可編程邏輯控制器
在工業(yè)控制中,由人機交互(human-machine interaction,HMI)界面提供工業(yè)現(xiàn)場的實時信息反饋并為工業(yè)控制提供該過程的輸入界面。隨著電子信息技術的進步,人機界面已經(jīng)從最初的“按鈕+LED”的組合,逐步發(fā)展為更加直觀的觸摸屏設備,并具備數(shù)據(jù)通信的功能[1,2]。
然而,目前在工業(yè)現(xiàn)場所使用的HMI 設備仍然采用以機器為中心的設計思路,即HMI 與機器單獨綁定[3]。對于長型、大型設備,該固定模式在調試時難以兼顧觀察設備實際運行狀態(tài)與使用HMI調整設備參數(shù)。調試人員不得不頻繁往返于HMI與工業(yè)設備狀態(tài)輸出位置,效率低下。同時該模式也存在著 HMI 功能升級困難、用戶體驗不統(tǒng)一、多設備聯(lián)調困難等問題,存在操作失誤的隱患,同時又增加了硬件及維護的成本。
Android智能設備具有移動化、智能化特性[4]。藍牙4.0技術可實現(xiàn)信息采集處理和傳遞[5~7]。本文將二者結合設計了基于Android的移動化工業(yè)HMI系統(tǒng),實現(xiàn)了Andorid智能設備對工業(yè)設備狀態(tài)的監(jiān)控。并從整體方案設計、系統(tǒng)架構組成、硬件設計和軟件架構方面詳細闡述。最后,將該系統(tǒng)應用于熱熔膠機溫度的監(jiān)控,證明了移動化HMI系統(tǒng)的可行性。
基于Android的移動化工業(yè)人機交互系統(tǒng)框架如圖1所示,主要由3部分組成:Android智能設備、藍牙/RS—485網(wǎng)關模塊、可編程邏輯控制器(programmable logic controller,PLC)。其中,Android智能設備指使用Android操作系統(tǒng)的平板電腦、手機等常見的手持無線智能終端。藍牙/RS—485網(wǎng)關模塊集成了藍牙芯片和RS—485通信芯片,能夠同時支持藍牙無線通信和RS—485通信。PLC為工業(yè)用可編程工業(yè)控制器。Android智能設備與藍牙/RS—485網(wǎng)關模塊之間通過藍牙無線通信來實現(xiàn)信息交互。同時藍牙/RS—485網(wǎng)關模塊通過屏蔽雙絞線連接到PLC的RS—485通信接口,二者通過Modbus RTU協(xié)議進行雙向數(shù)據(jù)通信。藍牙/RS—485網(wǎng)關模塊實現(xiàn)藍牙信號與RS—485信號的雙向轉換,建立Android設備與PLC的數(shù)據(jù)鏈路,從而實現(xiàn)Android智能設備和PLC之間信息交互的目的。該方案通過Android設備對工業(yè)設備進行操控、調試,實現(xiàn)HMI的移動化、智能化,提升工業(yè)現(xiàn)場工業(yè)設備的調試效率。
圖1 系統(tǒng)框架
系統(tǒng)中,Android設備需具有兩大功能:1)將收集的數(shù)據(jù)以不同的方式顯示在屏幕上,供查看。2)操作Android設備將控制命令、數(shù)據(jù)發(fā)送至PLC。
Android設備直接與藍牙/RS—485網(wǎng)關模塊進行通信,通過工作在2.4GHz無線通信頻段的藍牙4.0進行數(shù)據(jù)傳輸。首先,Android設備打開藍牙,通過選擇目標網(wǎng)關模塊的藍牙地址來建立連接。當Android設備接收到網(wǎng)關模塊發(fā)送的數(shù)據(jù)包時,Android設備采用圖片、文字、波形圖、列表等方式將數(shù)據(jù)信息直觀表現(xiàn)在界面上,以便查看相關數(shù)據(jù),根據(jù)數(shù)據(jù)信息進行處理判斷,操作Android設備將控制命令、數(shù)據(jù)發(fā)送至PLC,使工業(yè)設備按照期望目標運行。
模塊負責實現(xiàn)藍牙4.0信號與RS—485信號的雙向轉換,從而實現(xiàn)Android設備與PLC的相互通信。在物理連接方面,網(wǎng)關模塊通過工作在2.4GHz無線頻段的藍牙4.0與Android設備連接,運行藍牙4.0協(xié)議;通過有線連接的RS—485接口與PLC連接,運行Modbus RTU協(xié)議。
網(wǎng)關模塊同時與Android設備和PLC通信。網(wǎng)關模塊接收到Android設備的數(shù)據(jù)包,根據(jù)藍牙4.0協(xié)議標準解析數(shù)據(jù)包,獲取有效數(shù)據(jù),將Android設備想要發(fā)送的控制指令或數(shù)據(jù)轉換成Modbus協(xié)議,再傳遞給PLC,使PLC能夠識別來自Android設備的控制指令。同時,網(wǎng)關模塊接收PLC發(fā)送的數(shù)據(jù),根據(jù)Modbus RTU協(xié)議解析數(shù)據(jù)包,分析協(xié)議數(shù)據(jù)中PLC所采集到的數(shù)據(jù)狀態(tài),再將重要數(shù)據(jù)轉換為藍牙4.0協(xié)議標準的數(shù)據(jù)包,發(fā)送至Android設備,從而將PLC采集的數(shù)據(jù)信息實時傳輸至Android設備。
PLC負責采集工業(yè)設備的狀態(tài)數(shù)據(jù),并發(fā)送至網(wǎng)關模塊,并響應網(wǎng)關模塊的控制指令,執(zhí)行相應操作。PLC與網(wǎng)關模塊通過RS—485接口實現(xiàn)通信,用屏蔽雙絞線進行連接,軟件中均采用Modbus RTU協(xié)議通信。
PLC通過RS—485接口與網(wǎng)關模塊連接,該連接的網(wǎng)絡拓撲有3種:PLC與網(wǎng)關模塊點對點連接、一臺PLC連接多個網(wǎng)關模塊、一個網(wǎng)關模塊連接多個PLC。PLC實時采集工業(yè)設備狀態(tài)數(shù)據(jù),存儲于內部寄存器中,在周期性的查詢應答循環(huán)中將數(shù)據(jù)發(fā)送至網(wǎng)關模塊。當PLC接收到網(wǎng)關模塊的控制指令,根據(jù)內嵌的控制邏輯響應控制指令,實現(xiàn)對工業(yè)設備的控制。
采用的Android智能設備為Google公司的Nexus9平板電腦,具有Android5.1操作系統(tǒng), BCM4354無線通信芯片以支持藍牙無線通信。
網(wǎng)關模塊需要同時連接Android設備與PLC,能夠同時支持藍牙無線通信和RS—485通信,此外模塊還需要擁有獨立數(shù)據(jù)處理能力,以便進行藍牙與RS—485兩種異構協(xié)議標準的格式轉換。
網(wǎng)關模塊的硬件結構如圖2所示,該模塊應能與其他藍牙設備進行連接與通信,支持所有帶有RS—485接口的PLC,硬件部分包括主控制器、RS—485接口、調試電路等電路模塊,具體功能為:1)主控制器:進行信號處理、數(shù)據(jù)計算,以便在主控制器上實現(xiàn)藍牙功能;該模塊選取TI公司的CC2540作為主控芯片與藍牙通信芯片;2)天線模塊:包括天線部分和匹配電路,要求能接收與發(fā)送2.4GHz頻段的信號,能通過匹配電路將無線信號轉換為控制器能識別的電平信號;3)RS—485接口:用于連接PLC,實現(xiàn)與PLC之間的數(shù)據(jù)交換;4)調試電路:用于在硬件模塊上燒錄、運行、調試程序;5)電源:為網(wǎng)關模塊提供3.3V電源;6)晶振:為處理器提供工作時鐘;7)復位電路:為系統(tǒng)復位提供所需的高、低電平;8)LED電路:用于顯示系統(tǒng)電源、運行的狀態(tài)。以下主要介紹RS—485接口電路。
圖2 藍牙/RS—485網(wǎng)關模塊結構
RS—485接口電路的主要用于將來自藍牙芯片的通信發(fā)送信號TX轉換為RS—485通信網(wǎng)絡中的差分信號,或將來自RS—485通信網(wǎng)絡中的差分數(shù)據(jù)信號轉換為藍牙芯片能夠識別的串口RX電平信號。為了使模塊能夠輸出RS—485標準的差分電壓狀態(tài),采用MAX3485芯片,接口電路如圖3所示。
圖3 RS—485接口電路
采用臺達公司的DVP12SE11R PLC,具有8路輸入,4路輸出,支持RS—485通信和以太網(wǎng)通信。PLC與網(wǎng)關模塊采用點對點連接的拓撲結構,即每臺PLC均連接有一個網(wǎng)關模塊,在進行RS—485通信時,PLC為主站,網(wǎng)關模塊為從站,實現(xiàn)PLC與網(wǎng)關模塊之間的通信。
程序開發(fā)基于Android5.1系統(tǒng),使用開發(fā)工具Eclipse。軟件程序主要包含藍牙地址數(shù)據(jù)庫建立、藍牙連接、藍牙數(shù)據(jù)傳輸、數(shù)據(jù)顯示和修改功能。
1)藍牙地址數(shù)據(jù)庫建立:為了防止非網(wǎng)關模塊的藍牙帶來的干擾,需要在Android程序中使用SQLite建立網(wǎng)關模塊藍牙地址數(shù)據(jù)庫,將工業(yè)現(xiàn)場可被連接網(wǎng)關模塊的藍牙地址保存在該數(shù)據(jù)庫中。
2)藍牙連接:藍牙無線通信具有2種角色:中心設備和外圍設備。網(wǎng)關模塊被設定為外圍設備處于廣播模式,Android設備被設定為中心設備開啟掃描模式。當掃描發(fā)現(xiàn)藍牙設備時,可獲得該藍牙對應的物理地址、名稱、接收信號強度指示(received signal strength Indication,RSSI)。首先,對藍牙的物理地址進行判斷,若該地址不屬于藍牙地址數(shù)據(jù)庫,則屏蔽;反之,將該地址加入到可連接清單,待掃描結束將可連接清單以列表的方式顯示。選擇目標網(wǎng)關模塊對應的藍牙地址,發(fā)送連接請求,并建立連接。
3)藍牙數(shù)據(jù)傳輸:建立連接后,作為中心設備的Android設備將搜索外圍設備支持的服務(service)和屬性值(characteristic),通過通用唯一識別碼(universally unique identifier,UUID)對相應的Characteristic進行讀取和寫入操作,完成數(shù)據(jù)交互。為了保證Android設備與網(wǎng)關模塊藍牙信息傳輸?shù)膶崟r性,Android程序專門建立一個數(shù)據(jù)處理線程用于對藍牙數(shù)據(jù)的接收和發(fā)送。
4)數(shù)據(jù)顯示和修改:建立處理Android界面更新的異步線程,將數(shù)據(jù)收發(fā)和界面更新分為2個線程,兩者之間互不影響。數(shù)據(jù)處理線程接收到網(wǎng)關模塊數(shù)據(jù)后,將數(shù)據(jù)通過Android的基本組件BroadcastReceiver將數(shù)據(jù)通過廣播的方式傳送給界面更新線程,進而將數(shù)據(jù)顯示在界面上。當通過Android界面對數(shù)據(jù)進行修改時,界面更新線程將該數(shù)據(jù)廣播從而傳送給數(shù)據(jù)傳輸線程,再通過寫值操作,改變網(wǎng)關模塊相應屬性的數(shù)據(jù)。
圖4 Android設備的軟件結構
網(wǎng)關模塊的軟件程序負責分析藍牙4.0通信協(xié)議和Modbus協(xié)議數(shù)據(jù),進而在兩種協(xié)議之間嵌入轉換程序,完成藍牙協(xié)議與Modbus協(xié)議的自由雙向轉換,實現(xiàn)網(wǎng)關模塊與Android智能設備、PLC同時進行連接與通信。軟件結構如圖5所示,網(wǎng)關模塊預留64kB的內存區(qū)域,作為數(shù)據(jù)寄存器,藍牙4.0協(xié)議與Modbus協(xié)議的請求、操作等均通過直接對數(shù)據(jù)寄存器進行讀/寫操作完成。
圖5 網(wǎng)關模塊軟件結構
當Android設備發(fā)送數(shù)據(jù)時,調制成為2.4GHz頻段的無線信號,網(wǎng)關模塊接收到信號,進行信號解調與處理,獲取Android設備發(fā)送的數(shù)據(jù)信息;經(jīng)過數(shù)據(jù)校驗確認數(shù)據(jù)的正確性后,網(wǎng)關模塊根據(jù)藍牙4.0協(xié)議解析數(shù)據(jù)包,解包獲得有效數(shù)據(jù);根據(jù)Android設備發(fā)送的數(shù)據(jù)往數(shù)據(jù)寄存器中寫值。
從PLC采集的數(shù)據(jù)發(fā)生變化,即PLC對數(shù)據(jù)寄存器進行寫值操作時,OSAL操作系統(tǒng)讀取數(shù)據(jù)寄存器的數(shù)值,存放到緩沖寄存器,由協(xié)議層逐層封裝,將數(shù)據(jù)轉換為符合藍牙4.0協(xié)議的數(shù)據(jù)格式;數(shù)據(jù)包經(jīng)過調制轉換為無線信號,通過天線模塊發(fā)送到2.4GHz無線頻段,等待Android設備接收該數(shù)據(jù)包。
PLC與網(wǎng)關模塊采用Modbus RTU協(xié)議,PLC設定為主站,網(wǎng)關模塊為從站。當PLC需要對數(shù)據(jù)寄存器寫值,或從數(shù)據(jù)寄存器讀值,PLC主動發(fā)送查詢消息,該消息可以包含讀值或寫值命令碼;網(wǎng)關模塊接收到查詢消息,校驗數(shù)據(jù)的正確性后,解析Modbus協(xié)議數(shù)據(jù)包,分析其命令碼與數(shù)據(jù)域;根據(jù)查詢消息,OSAL按照地址映射,相應地對數(shù)據(jù)寄存器進行讀/寫操作;響應查詢消息的操作后,網(wǎng)關模塊根據(jù)查詢消息的命令碼,將所需的數(shù)據(jù)封裝為Modbus協(xié)議數(shù)據(jù)格式,生成應答消息,發(fā)送至PLC。
將所述基于Android的移動化工業(yè)人機交互系統(tǒng)應用于熱熔膠機溫度的監(jiān)控。開發(fā)了“膠機管理系統(tǒng)”APP,在藍牙通信范圍內可實時監(jiān)測顯示熱熔膠機熔缸、槍體、膠管的溫度以及變頻參數(shù)等,同時通過對APP界面的操作,可修改熱熔膠機的溫度以及其他參數(shù)。本次測試中“膠機管理系統(tǒng)”共監(jiān)測2個熔缸、6個膠管、8把槍體的溫度,槍體溫度的監(jiān)控頁面如圖6所示。
圖6 槍體溫度監(jiān)測界面
如圖6所示的測試的結果,“膠機管理系統(tǒng)”APP能夠準確地顯示熱熔膠機的溫度,反映熱熔膠機的實際運行情況,在藍牙通信范圍內可修改控制熱熔膠機溫度,所以,該移動化人機交互系統(tǒng)能夠可靠、穩(wěn)定的運行。
為了測試移動化工業(yè)人機交互系統(tǒng)在工業(yè)現(xiàn)場的可靠操作范圍,在測試的過程中不斷改變Android設備與網(wǎng)關模塊之間的距離,并在每個距離下均發(fā)送100個數(shù)據(jù)包,觀察通信質量,具體測試情況如表1所示。
通過測試發(fā)現(xiàn)在10m之內,Android設備與網(wǎng)關模塊之間的數(shù)據(jù)傳輸沒有發(fā)生丟包,通信質量較佳,10m的通信距離滿足現(xiàn)場級別的對工業(yè)設備移動化操控要求。
表1 通信質量測試結果
設計并實現(xiàn)了基于Android的移動化工業(yè)人機交互系統(tǒng),將現(xiàn)有固定模式的HMI設備向移動化人機交互發(fā)展,提升人機交互效率。同時,該系統(tǒng)的應用實例熱熔膠機溫度監(jiān)測系統(tǒng),能夠實時地顯示熱熔膠機溫度參數(shù),可利用Android設備實現(xiàn)移動化的參數(shù)修改,達到了移動化人機交互的目的。
[1] 劉佰鑫,劉成良,貢 亮.基于觸屏設備的人機交互界面設計[J].機電一體化,2015,21(4):5-9.
[2] 杭久成,何衛(wèi)平.淺析數(shù)控機床觸摸屏人機交互界面設計[J].機械制造,2008(3):23-26.
[3] 寇 恒.西門子PLC與HMI的以太網(wǎng)通訊的應用[J].天津職業(yè)院校聯(lián)合學報,2014(5):23-26.
[4] 羅 彪,李 彬,張岱峰,等.基于Android系統(tǒng)的無線多點測溫系統(tǒng)設計[J].傳感器與微系統(tǒng),2016,35(3):56-59.
[5] Johanna N,Carles G,Markus I,et al.Networking solutions for connecting Bluetooth low energy enabled machines to the Internet of things[J].IEEE Network,2014,28(6):83-90.
[6] 徐小輝,李磊民,文貴印,等.一種藍牙傳感器網(wǎng)絡的設計與實現(xiàn)[J].傳感器與微系統(tǒng),2007,26(9):23-26.
[7] Lin J,Timothy T,Ozan K.On the potential of Bluetooth low energy technology for vehicular applications[J].IEEE Communications Magazine,2015,53(1):267-275.
Designofmobileindustrialhuman-machineinteractionsystembasedonAndroid*
LIU Ting, XU Zhe-zhuang, HE Wei-dong, YUE Xi, XIONG Tian
(SchoolofElectricalEngineeringandAutomation,F(xiàn)uzhouUniversity,F(xiàn)uzhou350108,China)
Aiming at problems that existing industrial human-machine interface(HMI) is immobile and has poor flexibility,mobile industrial human-machine interaction system based on Android is designed.The Bluetooth-RS485gateway module is designed to establish reliable data channel between Android smart devices and programmable logic controller(PLC).The Android-based software is developed to provide visual data monitoring and graphical control input that implements mobile and intelligent human-machine interaction system.It is implemented in a hot melt glue machine.Experimental results show that the system can display sensor data and modify parameters at any place around the machine,improve efficiency of industrial human-machine interaction.
industrial human-machine interaction(HMI); Bluetooth; Android; programmable logic controller
10.13873/J.1000—9787(2017)10—0111—04
2016—10—18
國家自然科學基金資助項目(61304260,61673116);福建省自然科學基金資助項目(2014J05072)
TP 393
A
1000—9787(2017)10—0111—04
劉 挺(1991-),男,碩士研究生,主要研究方向為工業(yè)物聯(lián)網(wǎng)。