黃良沛 張逸夫 譚 姚 趙延明
(1.湖南科技大學機電工程學院,湖南 湘潭 411201;2.湖南科技大學信息與電氣工程學院,湖南 湘潭 411201)
帶式輸送機自動控制系統(tǒng)是煤礦井下開采中極其重要的一種系統(tǒng),該系統(tǒng)的應用可提升煤礦生產的高效性和安全性[1]。對于控制系統(tǒng)中的工況數據,只存于作業(yè)現(xiàn)場與上位機中。監(jiān)控終端[2]便攜性差。工作人員不在數據所在地便無法觀測實時工況數據,不能對系統(tǒng)運行狀況及時了解,需到達數據所在地才能觀測數據,存在耗時耗力以及疏忽系統(tǒng)安全隱患的問題。
近些年,移動互聯(lián)網技術迅速發(fā)展。工業(yè)互聯(lián)網技術為實現(xiàn)煤礦安全、高效、綠色生產和科學化管理提供了支撐和保障[3],也追求實現(xiàn)數字化礦山[4]與智能礦山建設[5-6]。Yasin KABALCI等[7]針對太陽能植物和灌溉系統(tǒng)通過互聯(lián)網技術設計具有遠程監(jiān)測和遠程控制基礎設施。高連月等[8]通過通信網絡設計礦山井下主扇風機遠程實時監(jiān)控系統(tǒng)。馬寧等[9]實現(xiàn)了多協(xié)議礦山自動化通信平臺的設計,通過計算機在Web端實現(xiàn)了對整個礦山采集數據的無縫整合,但這些監(jiān)控系統(tǒng)仍需基于工控機或計算機得以顯示監(jiān)控。APP技術在工業(yè)、教育、娛樂等方面得到了廣泛的應用[10]。陳庚等[11]開發(fā)基于工業(yè)APP的遠程協(xié)同運維系統(tǒng)應用在鋁合金輪轂生產線上,解決了找問題難,排除故障慢的問題。將移動APP運用到帶式輸送機自動控制系統(tǒng)中,通過工業(yè)互聯(lián)網WiFi技術[12],工作人員可以通過APP遠程觀測控制系統(tǒng)實時數據,實時了解系統(tǒng)運行狀態(tài)。張洪亮[13]設計了基于煤礦安全監(jiān)控系統(tǒng)的移動監(jiān)控平臺,通過Spring、SpringMVC、Mybatis技術及框架實現(xiàn)數據的傳輸。本項目以某煤礦廠的帶式輸送機自動控制系統(tǒng)為研究對象,基于工業(yè)互聯(lián)網APP技術,研究控制系統(tǒng)中PLC與APP的通訊,實現(xiàn)數據直接從PLC中獲取至移動端,構建工業(yè)APP的遠程監(jiān)控系統(tǒng),對帶式輸送機自動控制系統(tǒng)中的各種工況信息進行遠程實時監(jiān)控。
某煤礦廠的輸送機系統(tǒng)設有三段輸送機,分別為主暗斜井皮帶、主斜井皮帶和地面皮帶。輸送帶控制系統(tǒng)分為上位機和下位機兩大部分,通過以太網實現(xiàn)通訊。上位機采用IFIX開發(fā)輸送機控制的監(jiān)控軟件。下位機使用PLC控制變頻器驅動電機對輸送機進行控制。
在控制系統(tǒng)中,工作人員可通過上位機的人機交互界面對輸送機進行控制和操作,實現(xiàn)故障顯示、復位故障、控制模式切換等操作。控制模式分為手動控制、自動控制、全自動控制。輸送機運行參數包括滾筒溫度、電機溫度、電壓、電流、輸送機運行速度等通過設計數字式儀表顯示出來,便于工作人員集中管理。
帶式輸送機工作環(huán)境極為復雜,現(xiàn)場工況數據除了輸送機運行參數外,還有各種故障參數,主要如下:
(1)堆煤量。皮帶堆煤現(xiàn)象是由于輸送機長期撒料引起的。
(2)跑偏量。本質為皮帶中軸線與支架中心不在同一直線上,可能是由于誤安裝引起,也可能是在皮帶運行過程中引起。礦料分布不均勻以及運行時的震動都會引起皮帶跑偏。長時間的皮帶跑偏會引起皮帶撕裂,影響使用壽命,更甚者可能會使皮帶支架坍塌。
(3)皮帶打滑。輸送帶正常運轉時,帶速不低于輥筒轉速的95%。如果輥筒與輸送帶的摩擦力不夠,輸送帶就容易出現(xiàn)打滑的現(xiàn)象。引起輥筒與輸送帶摩擦力不夠的原因很多,常見的有:張力不夠、載荷啟動、輥筒表面摩擦系數不夠等。
(4)皮帶撕裂。皮帶撕裂是由于皮帶運輸機長期處于高強度工作狀態(tài),致使皮帶表面保護膠皮磨損引起的。這樣會導致皮帶強度下降,皮帶拉伸強度得不到保障,最終導致斷帶或縱向撕裂事故的發(fā)生[14]。
系統(tǒng)主要由數據端、服務器端及客戶APP端3個部分構成。如圖1所示。數據端即為輸送帶控制系統(tǒng),運行參數信息如溫度、速度、堆煤量、跑偏量、撕裂量等由相應的傳感器進行現(xiàn)場采集。傳感器將采集檢測到的信號通過變送器轉換為標準的模擬信號,如:±500 mV,±10 V,4~20 mA,將這些標準模擬信號接到PLC的模擬輸入模塊上,存于PLC的寄存器中[15]。服務器端通過ModbusTCP協(xié)議與PLC進行通訊,接收工況參數信息。APP端通過Socket通信方式,讀取服務器端的數據實現(xiàn)遠程監(jiān)測。此外,APP具有用戶登陸驗證功能,輸送機運行狀態(tài)顯示,顯示報警等功能。

圖1 系統(tǒng)總體結構Fig.1 Overall system structure
由于傳感器將檢測數據傳于PLC的內部寄存器,需要服務器計算機訪問寄存器里的數據內容。PLC控制器通過ModbusTCP協(xié)議與服務器端通信,這是最流行、成本低廉、適應于各種工業(yè)應用的協(xié)議[15]。本控制系統(tǒng)采用施耐德公司的 M340系列PLC,CPU模塊采用BMX P34 2020,其 CPU支持Modbus以太網協(xié)議通信;通信模塊采用BMX NOC 0401,其模塊搭載以太網4端口,RJ45通信接口。設置PLC通訊里的以太網IP地址,在PLC通訊模塊的以太網端口配置設好的以太網。通過雙絞網線與服務器計算機的RJ45接口連接,建立ModbusTCP通信。PLC的內部寄存器的地址會被映射為Modbus地址4000X形式。通信時,服務器通過查找40001地址里的內容就能獲得PLC寄存器%MW0內的數據。PLC作為Modbus設備從站,等待服務器端發(fā)送請求幀后,PLC給予響應。此通信方式無需對PLC進行程序編寫,方法簡單高效。
采用JAVA語言在Eclipse上編寫服務端程序。柳江[16]采用JMatic包通過3964R協(xié)議實現(xiàn)與PLC通訊。本系統(tǒng)服務器端通過ModbusTCP協(xié)議與PLC進行通訊,作為Modbus主站,服務器需要找到對應PLC并發(fā)送請求幀。使用依賴于 modbus4j.jar與commons-lang3-3.0.jar 2個庫的Modbus4jUtils類可實現(xiàn)與PLC的Modbus通信。
主要連接程序:

參數:localhost為通訊對象PLC的IP地址;502為端口號;
ModbusMaster master=modbusFactory.createTcp-Master(params,false)采用 ModbusTCP協(xié)議進行通信。
對于現(xiàn)場工況環(huán)境參數信息由傳感器存于PLC的保持寄存器中。對于輸送帶的啟停以及速度反饋信息會存于PLC的輸入輸出寄存器中。通過以下方法的代碼可實現(xiàn)對PLC進行讀線圈、讀離散輸入、讀保持寄存器、讀輸入寄存器。
public static Boolean readCoilStatus(int slaveId,int offset)讀線圈方法,slaveId為PLC從站編號,offset為對應PLC從站的數據地址。
public static Boolean readInputStatus(int slaveId,int offset)讀離散量輸入方法,slaveId為PLC從站編號,offset為對應PLC從站的數據地址。
public static Number readHoldingRegister(int slaveId,int offset,int dataType)讀保持寄存器方法,slaveId為PLC從站編號,offset為對應PLC從站的數據地址,dataType為數據類型。
public static Number read InputRegisters(int slaveId,int offset,int dataType)讀輸入寄存器方法,slaveId為PLC從站編號,offset為對應PLC從站的數據地址,dataType為數據類型。
服務器端程序設計流程如圖2所示。

圖2 服務器程序設計流程Fig.2 Server programming flow chart
服務器端與客戶APP端通過Socket通信。服務器端對不同的工況參數數據配置不同的端口,開啟多個線程對不同的工況數據請求進行系統(tǒng)阻塞。客戶APP以不同的端口號請求對應的工況信息,服務器對應的線程接收到客戶的請求,對PLC存有相應的工況信息的寄存器進行讀取,并將數據通過Socket的IO流傳至客戶APP端。Socket通信模式如圖3所示。

圖3 Socket通信模式Fig.3 Socket communication mode
采用Eclipse搭建安卓應用開發(fā)環(huán)境,添加ImageView、TextView、Button、相對布局等的控件在安卓項目的xml文件中,并設置控件屬性。利用JAVA語言的循環(huán)、條件以及邏輯結構編寫APP的控件功能屬性。
安卓手機APP通過服務器計算機的IP地址向其發(fā)送請求,獲取各種數據信息,以數字、背景顏色、文字等方式表達。APP顯示三段輸送機的運行狀態(tài),運行時呈現(xiàn)綠色背景的“運行中”字樣,未運行時呈現(xiàn)紅色背景的“未運行”字樣。運行參數顯示三段輸送機的作業(yè)環(huán)境溫度、輸送機運行速度、堆煤量、跑偏量、電流與電壓。除運行狀態(tài),工況信息顯示功能外,APP還具有用戶驗證、設備信息顯示、文字報警等功能。從服務器獲取的信息與其各自設定閾值進行比較,判斷是否報警。對于某個參數超過安全值,對應的參數控件會呈現(xiàn)紅顏色報警,并會彈出警告提示,直至參數恢復安全值。多個APP終端均可同時通過服務器計算機的IP地址與端口號,獲取數據參數,實現(xiàn)多個設備數據共享。安卓手機遠程監(jiān)控APP運行結果部分界面如圖4所示。手機端獲取數據操作簡單、響應快,滿足對工況遠程監(jiān)控的需求。

圖4 APP運行界面Fig.4 APP operation interface
(1)開發(fā)安卓監(jiān)控APP,通過服務器將PLC中的實時工況數據顯示手機終端。與其他移動監(jiān)控平臺相比,此系統(tǒng)中無需使用額外的數據庫進行存儲,也無需對PLC編寫通信程序,架構設計簡單、方便、高效、易實現(xiàn)。
(2)將手機作為終端,實現(xiàn)了遠程監(jiān)控輸送機控制系統(tǒng)的工況數據參數。該系統(tǒng)實現(xiàn)輸送機控制系統(tǒng)終端便攜性好,隨時隨地地監(jiān)控控制系統(tǒng),實時了解系統(tǒng)運行狀態(tài),即時發(fā)現(xiàn)安全隱患。此外,該系統(tǒng)還可廣泛應用于其他相關的工業(yè)生產監(jiān)測中,具有一定的推廣前景。
(3)針對APP的歷史數據曲線、歷史報警日志及遠程啟停輸送機等功能研發(fā)有待深入。