,,
(1.山東大學(xué)機(jī)械工程學(xué)院,濟(jì)南 250061;2.山東日發(fā)紡織機(jī)械有限公司,山東聊城 252000)
當(dāng)前,國產(chǎn)噴氣織機(jī)產(chǎn)業(yè)發(fā)展迅速,各種新型噴氣織機(jī)被先后推出,對織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)的研究已經(jīng)成為各高校、企業(yè)、研究機(jī)構(gòu)關(guān)注的熱點之一,相應(yīng)也取得了一定研究成果。董卿霞[1]借助局域網(wǎng)開發(fā)了一套C/S架構(gòu)的織機(jī)監(jiān)測系統(tǒng),能夠在局域網(wǎng)內(nèi)部完成對車間織機(jī)的監(jiān)測。鄧玉文[2]研發(fā)了一套基于Web技術(shù)的噴氣織機(jī)網(wǎng)絡(luò)管控系統(tǒng),借助CAN網(wǎng)關(guān)監(jiān)控程序與服務(wù)器進(jìn)行信息交互,對噴氣織機(jī)生產(chǎn)車間進(jìn)行網(wǎng)絡(luò)管控。羅東升[3]開發(fā)了一套織機(jī)實時織造信息管理系統(tǒng),采用硬件采集卡采集織機(jī)數(shù)據(jù),選用TCP/IP協(xié)議組建信息管理系統(tǒng),實現(xiàn)遠(yuǎn)程監(jiān)測。北京經(jīng)緯紡機(jī)針對棉紡設(shè)備開發(fā)了經(jīng)緯E系統(tǒng)[4-6],能夠監(jiān)視紡織設(shè)備的運(yùn)行信息,并統(tǒng)計監(jiān)視的信息。無錫絲普蘭公司為噴氣織機(jī)配備有SPR1000噴氣織機(jī)網(wǎng)絡(luò)監(jiān)控系統(tǒng)[7],系統(tǒng)不僅能夠采集、監(jiān)視噴氣織機(jī)的實時狀態(tài),還具有部分生產(chǎn)管理功能。以上織機(jī)遠(yuǎn)程監(jiān)測系統(tǒng)雖然在一定程度上實現(xiàn)了對噴氣織機(jī)的遠(yuǎn)程監(jiān)控,但各系統(tǒng)之間缺乏統(tǒng)一的數(shù)據(jù)接口,限制了不同設(shè)備、系統(tǒng)的互聯(lián)互通。針對這一現(xiàn)狀,本文研究了MTConnect協(xié)議,為噴氣織機(jī)控制系統(tǒng)添加了標(biāo)準(zhǔn)數(shù)據(jù)輸出接口,并完成了基于B/S架構(gòu)的噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計。
圖1 MTConnect應(yīng)用示例
MTConnect[8-10]是美國機(jī)械制造技術(shù)協(xié)會提出的一種基于開放式協(xié)議的數(shù)控設(shè)備互聯(lián)通信協(xié)議,其目的是提高設(shè)備的數(shù)據(jù)采集功能,增強(qiáng)設(shè)備的互操作性,創(chuàng)造一種“即插即用”的應(yīng)用環(huán)境。雖然MTConnect協(xié)議最初是針對數(shù)控機(jī)床提出的,但是其具有超強(qiáng)的設(shè)備描述能力[11],且用戶可根據(jù)需要添加描述元素,因此其適用于噴氣織機(jī)監(jiān)測信息的描述。圖1所示為MTConnect在實際應(yīng)用中主要包括4種模型概念:設(shè)備、適配器、代理和客戶端。其中,設(shè)備是所要監(jiān)測的目標(biāo)單位,也是監(jiān)測數(shù)據(jù)源;適配器是一種數(shù)據(jù)格式轉(zhuǎn)化器,用于將設(shè)備原始數(shù)據(jù)轉(zhuǎn)化為代理能夠識別的數(shù)據(jù)格式;代理是MTConnect的核心,負(fù)責(zé)采集、存儲設(shè)備數(shù)據(jù),并響應(yīng)客戶端HTTP請求,與客戶端進(jìn)行數(shù)據(jù)交互;客戶端是監(jiān)測數(shù)據(jù)的最終使用者,可以是應(yīng)用分析軟件或是其他處理系統(tǒng)。本文借助MTConnect 協(xié)議,為噴氣織機(jī)控制系統(tǒng)設(shè)計標(biāo)準(zhǔn)數(shù)據(jù)輸出接口,遠(yuǎn)程監(jiān)控服務(wù)器作為MTConnect客戶端與各噴氣織機(jī)控制系統(tǒng)MTConnect接口通信,完成分散織機(jī)數(shù)據(jù)的采集。
在MTConnect協(xié)議中,XML語言被用于描述設(shè)備的各項監(jiān)測信息。MTConnect協(xié)議采用4種類型的XML文件對設(shè)備進(jìn)行描述,即MTConnectDevices、MTConnectStreams、MTConnectErrors和MTConnect-
Assets。MTConnectDevices是設(shè)備描述文件,在完整的設(shè)備描述文件中,包含設(shè)備集(Devices)、組件集(Components)等。其中設(shè)備集可以包含多個設(shè)備,在本文中,設(shè)備即噴氣織機(jī);組件集是組件的集合,組件指的是軸(Axes)、傳感器(Sensors)、控制器(Controller)等。每個組件可以包含多個數(shù)據(jù)項(DataItems),用于描述組件的各個屬性。MTConnectStreams是數(shù)據(jù)流文件,設(shè)備和組件的具體數(shù)據(jù)通過此文件描述。MTConnectErrors是錯誤文件,當(dāng)客戶端請求出現(xiàn)錯誤時,則通過此文件將錯誤報告返回給客戶端。MTConnectAssets是資產(chǎn)描述文件,主要和機(jī)床加工刀具相關(guān),在噴氣織機(jī)設(shè)備描述中忽略此文件。
對噴氣織機(jī)監(jiān)測信息進(jìn)行基于MTConnect的建模需要明確噴氣織機(jī)的機(jī)械結(jié)構(gòu)和所需監(jiān)測的信息。噴氣織機(jī)主要包括3個平行傳動軸和布面張力傳感器,3個平行傳動軸分別是織機(jī)主軸、送經(jīng)軸和卷取軸,其中送經(jīng)軸和卷取軸同步運(yùn)行,將其簡化為一個進(jìn)給運(yùn)動軸。噴氣織機(jī)所需監(jiān)測內(nèi)容主要包括:織機(jī)主軸轉(zhuǎn)速、工作效率、布面張力及報警信息等織機(jī)狀態(tài)信息;織機(jī)系統(tǒng)參數(shù)、工藝參數(shù)、張力參數(shù)等配置信息;報表統(tǒng)計等歷史信息。本文主要針對織機(jī)狀態(tài)信息完成基于MTConnect的噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計與驗證。
圖2所示為基于MTConnect的噴氣織機(jī)狀態(tài)信息結(jié)構(gòu)圖,圖2描述了噴氣織機(jī)的供電系統(tǒng)、張力傳感器、織機(jī)主軸和進(jìn)給運(yùn)動軸。根據(jù)噴氣織機(jī)狀態(tài)信息結(jié)構(gòu)圖,可使用XML文件對噴氣織機(jī)運(yùn)行狀態(tài)信息進(jìn)行描述。圖3所示為噴氣織機(jī)的狀態(tài)信息描述文件,文件中,除了圖2中的基本信息,還增加了運(yùn)行效率、當(dāng)前狀態(tài)、擋車工等數(shù)據(jù)項,并根據(jù)MTConnect協(xié)議規(guī)定為各數(shù)據(jù)項的id,type,category等屬性進(jìn)行了賦值。
圖2 基于MTConnect的噴氣織機(jī)狀態(tài)信息結(jié)構(gòu)
圖3 噴氣織機(jī)狀態(tài)信息描述文件
噴氣織機(jī)控制系統(tǒng)MTConnect接口負(fù)責(zé)讀取噴氣織機(jī)控制系統(tǒng)內(nèi)部數(shù)據(jù),將數(shù)據(jù)統(tǒng)一整合為符合MTConnect標(biāo)準(zhǔn)協(xié)議的數(shù)據(jù)格式,并將其存儲于臨時存儲區(qū)。當(dāng)接收到客戶端發(fā)送的HTTP請求,MTConnect接口做出響應(yīng),返回符合標(biāo)準(zhǔn)協(xié)議的織機(jī)數(shù)據(jù)。在MTConnect協(xié)議中,客戶端主要有4種HTTP請求,即Probe、Sample、Current和Asset。其中,Probe請求用于查詢設(shè)備的組件和數(shù)據(jù)項,代理返回MTConnectDevices文檔;Sample請求用于查詢某一段數(shù)據(jù),代理返回MTConnectStreams文檔;Current請求用于查詢設(shè)備組件的當(dāng)前狀態(tài),代理返回MTConnectStreams文檔;Asset請求用于獲取設(shè)備資產(chǎn)信息,本文不涉及此類請求。
MTConnect接口的設(shè)計重點是代理的設(shè)計,美國制造技術(shù)協(xié)議為方便用戶開發(fā)代理端程序,提供了代理軟件開發(fā)工具。該開發(fā)工具提供了一系列函數(shù)接口,用戶可直接以DLL類庫的形式調(diào)用。如圖4所示,為噴氣織機(jī)控制系統(tǒng)MTConnect接口工作原理圖。MTConnect接口主要包括4個模塊,即數(shù)據(jù)讀取模塊、XML解析器、數(shù)據(jù)存儲模塊和HTTP Server。
a) 數(shù)據(jù)讀取模塊從噴氣織機(jī)控制系統(tǒng)的配置文件、Sqlite數(shù)據(jù)庫以及共享內(nèi)存中獲取監(jiān)測數(shù)據(jù),并借助開發(fā)工具提供的IData函數(shù)接口將數(shù)據(jù)存儲入數(shù)據(jù)存儲模塊。
b) XML解析器負(fù)責(zé)解析設(shè)備描述文件和代理配置文件,并根據(jù)XSD定義文件校驗設(shè)備描述文件。在XSD文件中對設(shè)備描述文件中的組件、屬性等均有定義,用戶可根據(jù)需要添加定義。
c) 數(shù)據(jù)存儲模塊按照MTConnect協(xié)議整合Probe、Current、Error請求的響應(yīng)數(shù)據(jù)包,并將數(shù)據(jù)包存儲在臨時存儲區(qū)。當(dāng)客戶端有HTTP請求進(jìn)入時,利用.NET LINQ技術(shù)[12]從存儲區(qū)內(nèi)獲得相應(yīng)數(shù)據(jù)包。
d) HTTP Server偵聽HTTP請求,進(jìn)而從數(shù)據(jù)存儲模塊中得到響應(yīng)數(shù)據(jù)包,并做出響應(yīng)。
圖4 噴氣織機(jī)控制系統(tǒng)MTConnect接口原理
噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)的數(shù)據(jù)傳輸模型包含兩層含義:噴氣織機(jī)監(jiān)測信息的上傳和遠(yuǎn)程控制指令的下發(fā)。噴氣織機(jī)監(jiān)測信息通過MTConnect接口即可獲得,然而由于MTConnect協(xié)議尚不支持控制指令下發(fā),因此自定義數(shù)據(jù)協(xié)議傳輸加密/解密控制指令。圖5所示為自定義數(shù)據(jù)包結(jié)構(gòu),數(shù)據(jù)包由前導(dǎo)符、數(shù)據(jù)屬性、數(shù)據(jù)長度、組包數(shù)據(jù)、加密碼以及CRC校驗碼組成。其中,前導(dǎo)符占據(jù)6個字節(jié)位,
用于對數(shù)據(jù)包做第一道校驗,檢測其是不是本系統(tǒng)內(nèi)部定義;數(shù)據(jù)屬性占據(jù)1個字節(jié)位,用于標(biāo)識數(shù)據(jù)包的類型;數(shù)據(jù)長度占據(jù)2個字節(jié)位,用于記錄組包數(shù)據(jù)的字節(jié)數(shù),組包數(shù)據(jù)可以包含多個數(shù)據(jù)節(jié)點,分別存儲不同數(shù)據(jù);加密碼占據(jù)6個字節(jié)位,基于MD5加密算法[13]獲得,是保證加密/解密控制指令安全性的又一道保障;CRC校驗碼占據(jù)4個字節(jié),用于校驗數(shù)據(jù)包傳輸過程中是否出現(xiàn)錯誤。噴氣織機(jī)監(jiān)測信息符合MTConnect協(xié)議標(biāo)準(zhǔn),為提高監(jiān)測信息的安全性,防止信息泄露,MTConnect數(shù)據(jù)包同樣按照圖5的數(shù)據(jù)包結(jié)構(gòu)再次組包。
圖5 自定義數(shù)據(jù)包結(jié)構(gòu)
如圖6所示,在噴氣織機(jī)控制系統(tǒng)軟件上層設(shè)計有MTConnect接口和協(xié)議解析模塊,協(xié)議解析模塊負(fù)責(zé)解析控制指令數(shù)據(jù)包,為統(tǒng)一管理,在MTConnect接口和協(xié)議解析模塊上層設(shè)計有請求過濾模塊,該模塊對接收到的數(shù)據(jù)包按照自定義的數(shù)據(jù)結(jié)構(gòu)進(jìn)行過濾,將HTTP請求數(shù)據(jù)包傳遞給MTConnect接口處理,而控制指令數(shù)據(jù)包交由協(xié)議解析模塊處理。
圖6 噴氣織機(jī)控制系統(tǒng)軟件上層模塊示意
如圖7所示,噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)在硬件上主要需要以下設(shè)備:帶有通用串口的工業(yè)控制計算機(jī)、串口轉(zhuǎn)Wi-Fi模塊、工業(yè)路由器、云服務(wù)器、遠(yuǎn)程客戶端。
工業(yè)控制計算機(jī)作為噴氣織機(jī)控制系統(tǒng)的上位機(jī)主控制器,其上運(yùn)行有噴氣織機(jī)控制系統(tǒng)上位機(jī)軟件和與噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)相關(guān)的各功能模塊。噴氣織機(jī)工業(yè)控制計算機(jī)通過串口通信線與串口轉(zhuǎn)Wi-Fi模塊相連接。
串口轉(zhuǎn)Wi-Fi模塊負(fù)責(zé)透明轉(zhuǎn)發(fā)串口與服務(wù)器之間的數(shù)據(jù)。本系統(tǒng)中的串口轉(zhuǎn)Wi-Fi模塊選擇的是濟(jì)南有人物聯(lián)網(wǎng)公司開發(fā)的工業(yè)級產(chǎn)品,該模塊能夠?qū)崿F(xiàn)串口與Wi-Fi之間數(shù)據(jù)的雙向透明傳輸。串口轉(zhuǎn)Wi-Fi模塊既可以作為TCP Server存在,也可以作為TCP Client工作,在本系統(tǒng),該模塊作為TCP Client存在。串口轉(zhuǎn)Wi-Fi模塊與遠(yuǎn)程服務(wù)器的通信是采用Socket通信的方式完成的,該模塊相當(dāng)于Socket通信的TCP Client,而布置在云服務(wù)器上的數(shù)據(jù)處理模塊相當(dāng)于Socket通信的TCP Server。
圖7 噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)整體方案
工業(yè)路由器負(fù)責(zé)提供網(wǎng)絡(luò)接入服務(wù),通過工業(yè)路由器,車間織機(jī)與云服務(wù)器完成信息交互。
云服務(wù)器是噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)的核心,其上運(yùn)行有數(shù)據(jù)處理模塊和遠(yuǎn)程監(jiān)控服務(wù)器,遠(yuǎn)程監(jiān)控服務(wù)器包括數(shù)據(jù)庫服務(wù)模塊和Web服務(wù)模塊。數(shù)據(jù)處理模塊作為車間織機(jī)與服務(wù)器Socket通信的TCP Server,與車間各織機(jī)的串口轉(zhuǎn)Wi-Fi模塊建立連接。系統(tǒng)正常運(yùn)行時,數(shù)據(jù)處理模塊主動向噴氣織機(jī)控制系統(tǒng)MTConnect接口發(fā)送HTTP請求獲取各織機(jī)信息,并將織機(jī)監(jiān)測信息分類存儲到數(shù)據(jù)庫服務(wù)模塊。另外,數(shù)據(jù)處理模塊定時檢測數(shù)據(jù)庫服務(wù)模塊中的織機(jī)加密/解密控制信息,并將該控制指令按照前文的自定義數(shù)據(jù)協(xié)議打包下發(fā)給車間織機(jī)上位機(jī)主控制器,實現(xiàn)遠(yuǎn)程控制。數(shù)據(jù)庫服務(wù)模塊是車間織機(jī)與遠(yuǎn)程用戶進(jìn)行數(shù)據(jù)交互的媒介,車間噴氣織機(jī)需要遠(yuǎn)程監(jiān)視的數(shù)據(jù)被上傳到數(shù)據(jù)庫服務(wù)模塊以備查看,遠(yuǎn)程用戶借助于Web服務(wù)模塊將加密/解密等控制指令寫入數(shù)據(jù)庫服務(wù)模塊,以備數(shù)據(jù)處理模塊檢測。Web服務(wù)模塊用于提供監(jiān)控信息瀏覽服務(wù),其響應(yīng)用戶的HTTP請求,與數(shù)據(jù)庫服務(wù)模塊完成數(shù)據(jù)交互。
噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)開發(fā)完成后,需要對系統(tǒng)進(jìn)行系統(tǒng)功能測試和現(xiàn)場車間試驗,以檢測系統(tǒng)的可行性。
圖8所示為噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)功能測試環(huán)境。系統(tǒng)功能測試是在實驗室內(nèi)部搭建起噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)進(jìn)行的測試,服務(wù)器、客戶端均接入內(nèi)部局域網(wǎng),噴氣織機(jī)通過串口轉(zhuǎn)Wi-Fi模塊接入同一局域網(wǎng)。由于內(nèi)部測試過程中,噴氣織機(jī)控制系統(tǒng)未實際控制噴氣織機(jī)機(jī)械結(jié)構(gòu)運(yùn)動,因此編寫測試文件,按照測試文件手動操作噴氣織機(jī)控制系統(tǒng)軟件模擬噴氣織機(jī)正常工作。
圖8 系統(tǒng)功能測試環(huán)境
系統(tǒng)功能測試主要測試噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)的邏輯功能、Web服務(wù)器的兼容性等內(nèi)容,如圖9所示。
圖9 噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)織機(jī)列表頁面
為噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)功能測試過程截圖,圖9顯示了配備有噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)的織機(jī)列表,通過該列表可選擇查看某一特定噴氣織機(jī)的具體監(jiān)測信息(圖10)。經(jīng)測試,基于MTConnect的噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)方案可行。
圖10 噴氣織機(jī)運(yùn)行狀態(tài)頁面
在本系統(tǒng)中,噴氣織機(jī)采用無線連接的方式與服務(wù)器通信,由于無線連接的抗干擾能力相對較弱,因此系統(tǒng)功能測試完成后,還需進(jìn)行現(xiàn)場車間試驗,進(jìn)一步驗證噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)在車間復(fù)雜環(huán)境下的穩(wěn)定性和遠(yuǎn)程控制對車間噴氣織機(jī)的影響。圖11所示為該系統(tǒng)被配備在新疆某紡織企業(yè)現(xiàn)場圖,服務(wù)器布置在云服務(wù)器中,客戶端通過公共網(wǎng)絡(luò)訪問服務(wù)器。圖12所示為車間噴氣織機(jī)控制系統(tǒng)上位機(jī)軟件顯示的噴氣織機(jī)運(yùn)行信息,圖13所示為噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)監(jiān)測到的該噴氣織機(jī)的運(yùn)行信息,對比后發(fā)現(xiàn),遠(yuǎn)程監(jiān)測的信息與噴氣織機(jī)控制系統(tǒng)上位機(jī)軟件顯示的一致。通過噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)對車間織機(jī)進(jìn)行遠(yuǎn)程加密/解密操作,車間織機(jī)運(yùn)行正常,遠(yuǎn)程加密/解密操作不會影響車間噴氣織機(jī)的安全性。
圖11 車間試驗現(xiàn)場
圖12 噴氣織機(jī)控制系統(tǒng)上位機(jī)軟件顯示界面
圖13 噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)顯示頁面
本文針對現(xiàn)存織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)缺乏統(tǒng)一數(shù)據(jù)接口這一問題,研究了MTConnect協(xié)議,為噴氣織機(jī)控制系統(tǒng)設(shè)計了MTConnect接口,實現(xiàn)了監(jiān)測信息的標(biāo)準(zhǔn)輸出。對于遠(yuǎn)程加密/解密等控制指令的下發(fā),則通過自定義數(shù)據(jù)協(xié)議完成。系統(tǒng)基于B/S架構(gòu)設(shè)計完成,服務(wù)器布置在云服務(wù)器上,遠(yuǎn)程用戶不受地理位置限制,可實時對車間噴氣織機(jī)進(jìn)行遠(yuǎn)程監(jiān)控。最后分別對噴氣織機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)進(jìn)行了系統(tǒng)功能測試和現(xiàn)場車間試驗,經(jīng)測試,系統(tǒng)方案可行。