黃良沛 張逸夫 譚 姚 趙延明
(1.湖南科技大學(xué)機(jī)電工程學(xué)院,湖南 湘潭 411201;2.湖南科技大學(xué)信息與電氣工程學(xué)院,湖南 湘潭 411201)
帶式輸送機(jī)自動(dòng)控制系統(tǒng)是煤礦井下開(kāi)采中極其重要的一種系統(tǒng),該系統(tǒng)的應(yīng)用可提升煤礦生產(chǎn)的高效性和安全性[1]。對(duì)于控制系統(tǒng)中的工況數(shù)據(jù),只存于作業(yè)現(xiàn)場(chǎng)與上位機(jī)中。監(jiān)控終端[2]便攜性差。工作人員不在數(shù)據(jù)所在地便無(wú)法觀測(cè)實(shí)時(shí)工況數(shù)據(jù),不能對(duì)系統(tǒng)運(yùn)行狀況及時(shí)了解,需到達(dá)數(shù)據(jù)所在地才能觀測(cè)數(shù)據(jù),存在耗時(shí)耗力以及疏忽系統(tǒng)安全隱患的問(wèn)題。
近些年,移動(dòng)互聯(lián)網(wǎng)技術(shù)迅速發(fā)展。工業(yè)互聯(lián)網(wǎng)技術(shù)為實(shí)現(xiàn)煤礦安全、高效、綠色生產(chǎn)和科學(xué)化管理提供了支撐和保障[3],也追求實(shí)現(xiàn)數(shù)字化礦山[4]與智能礦山建設(shè)[5-6]。Yasin KABALCI等[7]針對(duì)太陽(yáng)能植物和灌溉系統(tǒng)通過(guò)互聯(lián)網(wǎng)技術(shù)設(shè)計(jì)具有遠(yuǎn)程監(jiān)測(cè)和遠(yuǎn)程控制基礎(chǔ)設(shè)施。高連月等[8]通過(guò)通信網(wǎng)絡(luò)設(shè)計(jì)礦山井下主扇風(fēng)機(jī)遠(yuǎn)程實(shí)時(shí)監(jiān)控系統(tǒng)。馬寧等[9]實(shí)現(xiàn)了多協(xié)議礦山自動(dòng)化通信平臺(tái)的設(shè)計(jì),通過(guò)計(jì)算機(jī)在Web端實(shí)現(xiàn)了對(duì)整個(gè)礦山采集數(shù)據(jù)的無(wú)縫整合,但這些監(jiān)控系統(tǒng)仍需基于工控機(jī)或計(jì)算機(jī)得以顯示監(jiān)控。APP技術(shù)在工業(yè)、教育、娛樂(lè)等方面得到了廣泛的應(yīng)用[10]。陳庚等[11]開(kāi)發(fā)基于工業(yè)APP的遠(yuǎn)程協(xié)同運(yùn)維系統(tǒng)應(yīng)用在鋁合金輪轂生產(chǎn)線上,解決了找問(wèn)題難,排除故障慢的問(wèn)題。將移動(dòng)APP運(yùn)用到帶式輸送機(jī)自動(dòng)控制系統(tǒng)中,通過(guò)工業(yè)互聯(lián)網(wǎng)WiFi技術(shù)[12],工作人員可以通過(guò)APP遠(yuǎn)程觀測(cè)控制系統(tǒng)實(shí)時(shí)數(shù)據(jù),實(shí)時(shí)了解系統(tǒng)運(yùn)行狀態(tài)。張洪亮[13]設(shè)計(jì)了基于煤礦安全監(jiān)控系統(tǒng)的移動(dòng)監(jiān)控平臺(tái),通過(guò)Spring、SpringMVC、Mybatis技術(shù)及框架實(shí)現(xiàn)數(shù)據(jù)的傳輸。本項(xiàng)目以某煤礦廠的帶式輸送機(jī)自動(dòng)控制系統(tǒng)為研究對(duì)象,基于工業(yè)互聯(lián)網(wǎng)APP技術(shù),研究控制系統(tǒng)中PLC與APP的通訊,實(shí)現(xiàn)數(shù)據(jù)直接從PLC中獲取至移動(dòng)端,構(gòu)建工業(yè)APP的遠(yuǎn)程監(jiān)控系統(tǒng),對(duì)帶式輸送機(jī)自動(dòng)控制系統(tǒng)中的各種工況信息進(jìn)行遠(yuǎn)程實(shí)時(shí)監(jiān)控。
某煤礦廠的輸送機(jī)系統(tǒng)設(shè)有三段輸送機(jī),分別為主暗斜井皮帶、主斜井皮帶和地面皮帶。輸送帶控制系統(tǒng)分為上位機(jī)和下位機(jī)兩大部分,通過(guò)以太網(wǎng)實(shí)現(xiàn)通訊。上位機(jī)采用IFIX開(kāi)發(fā)輸送機(jī)控制的監(jiān)控軟件。下位機(jī)使用PLC控制變頻器驅(qū)動(dòng)電機(jī)對(duì)輸送機(jī)進(jìn)行控制。
在控制系統(tǒng)中,工作人員可通過(guò)上位機(jī)的人機(jī)交互界面對(duì)輸送機(jī)進(jìn)行控制和操作,實(shí)現(xiàn)故障顯示、復(fù)位故障、控制模式切換等操作。控制模式分為手動(dòng)控制、自動(dòng)控制、全自動(dòng)控制。輸送機(jī)運(yùn)行參數(shù)包括滾筒溫度、電機(jī)溫度、電壓、電流、輸送機(jī)運(yùn)行速度等通過(guò)設(shè)計(jì)數(shù)字式儀表顯示出來(lái),便于工作人員集中管理。
帶式輸送機(jī)工作環(huán)境極為復(fù)雜,現(xiàn)場(chǎng)工況數(shù)據(jù)除了輸送機(jī)運(yùn)行參數(shù)外,還有各種故障參數(shù),主要如下:
(1)堆煤量。皮帶堆煤現(xiàn)象是由于輸送機(jī)長(zhǎng)期撒料引起的。
(2)跑偏量。本質(zhì)為皮帶中軸線與支架中心不在同一直線上,可能是由于誤安裝引起,也可能是在皮帶運(yùn)行過(guò)程中引起。礦料分布不均勻以及運(yùn)行時(shí)的震動(dòng)都會(huì)引起皮帶跑偏。長(zhǎng)時(shí)間的皮帶跑偏會(huì)引起皮帶撕裂,影響使用壽命,更甚者可能會(huì)使皮帶支架坍塌。
(3)皮帶打滑。輸送帶正常運(yùn)轉(zhuǎn)時(shí),帶速不低于輥筒轉(zhuǎn)速的95%。如果輥筒與輸送帶的摩擦力不夠,輸送帶就容易出現(xiàn)打滑的現(xiàn)象。引起輥筒與輸送帶摩擦力不夠的原因很多,常見(jiàn)的有:張力不夠、載荷啟動(dòng)、輥筒表面摩擦系數(shù)不夠等。
(4)皮帶撕裂。皮帶撕裂是由于皮帶運(yùn)輸機(jī)長(zhǎng)期處于高強(qiáng)度工作狀態(tài),致使皮帶表面保護(hù)膠皮磨損引起的。這樣會(huì)導(dǎo)致皮帶強(qiáng)度下降,皮帶拉伸強(qiáng)度得不到保障,最終導(dǎo)致斷帶或縱向撕裂事故的發(fā)生[14]。
系統(tǒng)主要由數(shù)據(jù)端、服務(wù)器端及客戶(hù)APP端3個(gè)部分構(gòu)成。如圖1所示。數(shù)據(jù)端即為輸送帶控制系統(tǒng),運(yùn)行參數(shù)信息如溫度、速度、堆煤量、跑偏量、撕裂量等由相應(yīng)的傳感器進(jìn)行現(xiàn)場(chǎng)采集。傳感器將采集檢測(cè)到的信號(hào)通過(guò)變送器轉(zhuǎn)換為標(biāo)準(zhǔn)的模擬信號(hào),如:±500 mV,±10 V,4~20 mA,將這些標(biāo)準(zhǔn)模擬信號(hào)接到PLC的模擬輸入模塊上,存于PLC的寄存器中[15]。服務(wù)器端通過(guò)ModbusTCP協(xié)議與PLC進(jìn)行通訊,接收工況參數(shù)信息。APP端通過(guò)Socket通信方式,讀取服務(wù)器端的數(shù)據(jù)實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè)。此外,APP具有用戶(hù)登陸驗(yàn)證功能,輸送機(jī)運(yùn)行狀態(tài)顯示,顯示報(bào)警等功能。
圖1 系統(tǒng)總體結(jié)構(gòu)Fig.1 Overall system structure
由于傳感器將檢測(cè)數(shù)據(jù)傳于PLC的內(nèi)部寄存器,需要服務(wù)器計(jì)算機(jī)訪問(wèn)寄存器里的數(shù)據(jù)內(nèi)容。PLC控制器通過(guò)ModbusTCP協(xié)議與服務(wù)器端通信,這是最流行、成本低廉、適應(yīng)于各種工業(yè)應(yīng)用的協(xié)議[15]。本控制系統(tǒng)采用施耐德公司的 M340系列PLC,CPU模塊采用BMX P34 2020,其 CPU支持Modbus以太網(wǎng)協(xié)議通信;通信模塊采用BMX NOC 0401,其模塊搭載以太網(wǎng)4端口,RJ45通信接口。設(shè)置PLC通訊里的以太網(wǎng)IP地址,在PLC通訊模塊的以太網(wǎng)端口配置設(shè)好的以太網(wǎng)。通過(guò)雙絞網(wǎng)線與服務(wù)器計(jì)算機(jī)的RJ45接口連接,建立ModbusTCP通信。PLC的內(nèi)部寄存器的地址會(huì)被映射為Modbus地址4000X形式。通信時(shí),服務(wù)器通過(guò)查找40001地址里的內(nèi)容就能獲得PLC寄存器%MW0內(nèi)的數(shù)據(jù)。PLC作為Modbus設(shè)備從站,等待服務(wù)器端發(fā)送請(qǐng)求幀后,PLC給予響應(yīng)。此通信方式無(wú)需對(duì)PLC進(jìn)行程序編寫(xiě),方法簡(jiǎn)單高效。
采用JAVA語(yǔ)言在Eclipse上編寫(xiě)服務(wù)端程序。柳江[16]采用JMatic包通過(guò)3964R協(xié)議實(shí)現(xiàn)與PLC通訊。本系統(tǒng)服務(wù)器端通過(guò)ModbusTCP協(xié)議與PLC進(jìn)行通訊,作為Modbus主站,服務(wù)器需要找到對(duì)應(yīng)PLC并發(fā)送請(qǐng)求幀。使用依賴(lài)于 modbus4j.jar與commons-lang3-3.0.jar 2個(gè)庫(kù)的Modbus4jUtils類(lèi)可實(shí)現(xiàn)與PLC的Modbus通信。
主要連接程序:
參數(shù):localhost為通訊對(duì)象PLC的IP地址;502為端口號(hào);
ModbusMaster master=modbusFactory.createTcp-Master(params,false)采用 ModbusTCP協(xié)議進(jìn)行通信。
對(duì)于現(xiàn)場(chǎng)工況環(huán)境參數(shù)信息由傳感器存于PLC的保持寄存器中。對(duì)于輸送帶的啟停以及速度反饋信息會(huì)存于PLC的輸入輸出寄存器中。通過(guò)以下方法的代碼可實(shí)現(xiàn)對(duì)PLC進(jìn)行讀線圈、讀離散輸入、讀保持寄存器、讀輸入寄存器。
public static Boolean readCoilStatus(int slaveId,int offset)讀線圈方法,slaveId為PLC從站編號(hào),offset為對(duì)應(yīng)PLC從站的數(shù)據(jù)地址。
public static Boolean readInputStatus(int slaveId,int offset)讀離散量輸入方法,slaveId為PLC從站編號(hào),offset為對(duì)應(yīng)PLC從站的數(shù)據(jù)地址。
public static Number readHoldingRegister(int slaveId,int offset,int dataType)讀保持寄存器方法,slaveId為PLC從站編號(hào),offset為對(duì)應(yīng)PLC從站的數(shù)據(jù)地址,dataType為數(shù)據(jù)類(lèi)型。
public static Number read InputRegisters(int slaveId,int offset,int dataType)讀輸入寄存器方法,slaveId為PLC從站編號(hào),offset為對(duì)應(yīng)PLC從站的數(shù)據(jù)地址,dataType為數(shù)據(jù)類(lèi)型。
服務(wù)器端程序設(shè)計(jì)流程如圖2所示。
圖2 服務(wù)器程序設(shè)計(jì)流程Fig.2 Server programming flow chart
服務(wù)器端與客戶(hù)APP端通過(guò)Socket通信。服務(wù)器端對(duì)不同的工況參數(shù)數(shù)據(jù)配置不同的端口,開(kāi)啟多個(gè)線程對(duì)不同的工況數(shù)據(jù)請(qǐng)求進(jìn)行系統(tǒng)阻塞??蛻?hù)APP以不同的端口號(hào)請(qǐng)求對(duì)應(yīng)的工況信息,服務(wù)器對(duì)應(yīng)的線程接收到客戶(hù)的請(qǐng)求,對(duì)PLC存有相應(yīng)的工況信息的寄存器進(jìn)行讀取,并將數(shù)據(jù)通過(guò)Socket的IO流傳至客戶(hù)APP端。Socket通信模式如圖3所示。
圖3 Socket通信模式Fig.3 Socket communication mode
采用Eclipse搭建安卓應(yīng)用開(kāi)發(fā)環(huán)境,添加ImageView、TextView、Button、相對(duì)布局等的控件在安卓項(xiàng)目的xml文件中,并設(shè)置控件屬性。利用JAVA語(yǔ)言的循環(huán)、條件以及邏輯結(jié)構(gòu)編寫(xiě)APP的控件功能屬性。
安卓手機(jī)APP通過(guò)服務(wù)器計(jì)算機(jī)的IP地址向其發(fā)送請(qǐng)求,獲取各種數(shù)據(jù)信息,以數(shù)字、背景顏色、文字等方式表達(dá)。APP顯示三段輸送機(jī)的運(yùn)行狀態(tài),運(yùn)行時(shí)呈現(xiàn)綠色背景的“運(yùn)行中”字樣,未運(yùn)行時(shí)呈現(xiàn)紅色背景的“未運(yùn)行”字樣。運(yùn)行參數(shù)顯示三段輸送機(jī)的作業(yè)環(huán)境溫度、輸送機(jī)運(yùn)行速度、堆煤量、跑偏量、電流與電壓。除運(yùn)行狀態(tài),工況信息顯示功能外,APP還具有用戶(hù)驗(yàn)證、設(shè)備信息顯示、文字報(bào)警等功能。從服務(wù)器獲取的信息與其各自設(shè)定閾值進(jìn)行比較,判斷是否報(bào)警。對(duì)于某個(gè)參數(shù)超過(guò)安全值,對(duì)應(yīng)的參數(shù)控件會(huì)呈現(xiàn)紅顏色報(bào)警,并會(huì)彈出警告提示,直至參數(shù)恢復(fù)安全值。多個(gè)APP終端均可同時(shí)通過(guò)服務(wù)器計(jì)算機(jī)的IP地址與端口號(hào),獲取數(shù)據(jù)參數(shù),實(shí)現(xiàn)多個(gè)設(shè)備數(shù)據(jù)共享。安卓手機(jī)遠(yuǎn)程監(jiān)控APP運(yùn)行結(jié)果部分界面如圖4所示。手機(jī)端獲取數(shù)據(jù)操作簡(jiǎn)單、響應(yīng)快,滿(mǎn)足對(duì)工況遠(yuǎn)程監(jiān)控的需求。
圖4 APP運(yùn)行界面Fig.4 APP operation interface
(1)開(kāi)發(fā)安卓監(jiān)控APP,通過(guò)服務(wù)器將PLC中的實(shí)時(shí)工況數(shù)據(jù)顯示手機(jī)終端。與其他移動(dòng)監(jiān)控平臺(tái)相比,此系統(tǒng)中無(wú)需使用額外的數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ),也無(wú)需對(duì)PLC編寫(xiě)通信程序,架構(gòu)設(shè)計(jì)簡(jiǎn)單、方便、高效、易實(shí)現(xiàn)。
(2)將手機(jī)作為終端,實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控輸送機(jī)控制系統(tǒng)的工況數(shù)據(jù)參數(shù)。該系統(tǒng)實(shí)現(xiàn)輸送機(jī)控制系統(tǒng)終端便攜性好,隨時(shí)隨地地監(jiān)控控制系統(tǒng),實(shí)時(shí)了解系統(tǒng)運(yùn)行狀態(tài),即時(shí)發(fā)現(xiàn)安全隱患。此外,該系統(tǒng)還可廣泛應(yīng)用于其他相關(guān)的工業(yè)生產(chǎn)監(jiān)測(cè)中,具有一定的推廣前景。
(3)針對(duì)APP的歷史數(shù)據(jù)曲線、歷史報(bào)警日志及遠(yuǎn)程啟停輸送機(jī)等功能研發(fā)有待深入。