閆俊濤, 吳自然, 吳桂初, 舒 亮
(1.溫州大學(xué) 計算機與人工智能學(xué)院, 浙江 溫州 325000;2.溫州大學(xué) 電氣與電子工程學(xué)院, 浙江 溫州 325000)
小型斷路器是一種具有對線路進(jìn)行過載和短路保護(hù)的開關(guān)設(shè)備,因其具有體積小、易操作、價格低廉等特點而普遍應(yīng)用于工業(yè)、商業(yè)、民用住宅等各種場所[1-2]。隨著小型斷路器需求的不斷增長以及制造行業(yè)的不斷發(fā)展,眾多從事小型斷路器生產(chǎn)制造的企業(yè)都在利用技術(shù)的革新進(jìn)行數(shù)字化轉(zhuǎn)型升級。在當(dāng)今制造業(yè)中,“智能制造”已經(jīng)成為眾多從事制造型企業(yè)追求的方向[3]。同時,在國家層面,智能制造也已經(jīng)成為眾多國家新一代信息技術(shù)革命背景下制造業(yè)發(fā)展的主攻方向,成為國家發(fā)展戰(zhàn)略重要的組成部分[4]。其中比較有代表性的包括德國的“工業(yè)4.0”[5],美國的“工業(yè)互聯(lián)網(wǎng)”,以及我國的“工業(yè)互聯(lián)網(wǎng)”[6-7]。這些國家性戰(zhàn)略也為小型斷路器等制造行業(yè)的轉(zhuǎn)型升級提供了發(fā)展機遇。
對于普通的生產(chǎn)車間向數(shù)字化車間轉(zhuǎn)型的過程大概可以劃分為4個階段。第一階段:生產(chǎn)設(shè)備及硬件設(shè)施的升級改造,先實現(xiàn)機器換人的自動化階段[8]。第二階段:設(shè)備間的互聯(lián)互通,包括設(shè)備的通信接口,通信線路,以及工業(yè)交換機、路由等通信所需要的基本設(shè)施[9]。第三階段:信息化,需要數(shù)據(jù)采集及控制系統(tǒng)和硬件設(shè)備供應(yīng)商協(xié)同工作,使得車間生產(chǎn)設(shè)備的信息能夠按照協(xié)議格式實時發(fā)出,該采集系統(tǒng)會通過網(wǎng)絡(luò)鏈路按照協(xié)議格式接收、解析并進(jìn)行后續(xù)的一系列操作[10]。第四階段:數(shù)據(jù)采集及控制系統(tǒng)與公司上層的ERP系統(tǒng)、MES系統(tǒng)以及展示系統(tǒng)信息互通,進(jìn)行智能化任務(wù)調(diào)度。
目前很多企業(yè)都處于第二到第三的過渡階段,在眾多企業(yè)轉(zhuǎn)向數(shù)字化的過程中遇到非常大的障礙,就是現(xiàn)有設(shè)備品牌不同、通信協(xié)議多樣化,很難將各個設(shè)備生產(chǎn)數(shù)據(jù)統(tǒng)一進(jìn)行采集和處理,阻礙數(shù)字化車間發(fā)展進(jìn)程。羅國富等[11]提出了基于RFID的實時數(shù)據(jù)采集方案,采用RFID、多線程和數(shù)據(jù)庫技術(shù)對車間的生產(chǎn)數(shù)據(jù)進(jìn)行了數(shù)據(jù)采集和分析,在一定程度上解決信息孤島問題。王勇[12]提出了一種基于GPRS的無線數(shù)據(jù)采集方案,借助其網(wǎng)絡(luò)高覆蓋率和優(yōu)良傳輸特性實現(xiàn)了具有GPRS通信模塊的設(shè)備小數(shù)據(jù)量實時傳輸,但是車間的設(shè)備不一定配有GPRS通信模塊。齊亞萍等[13]提出了基于ARM的遠(yuǎn)程數(shù)據(jù)采集方案,設(shè)計了基于ARM的多路電量采集與處理模塊,同時通過信號調(diào)理電路保證信號的無失真采樣,實現(xiàn)了數(shù)據(jù)的采集、存儲和發(fā)送。然而上述的這些方案都沒有解決不同設(shè)備通信協(xié)議多樣化的問題,也不具有系統(tǒng)性和穩(wěn)定的可擴展性。
本文針對數(shù)據(jù)采集方面遇到的瓶頸問題,結(jié)合EasyStudio中間件技術(shù)來助力數(shù)據(jù)采集及控制系統(tǒng),解決了上述由不同設(shè)備通信協(xié)議多樣化帶來的數(shù)據(jù)采集困難的問題。該技術(shù)的突出優(yōu)勢是能夠兼容并轉(zhuǎn)換多種通信協(xié)議,還能夠應(yīng)對高并發(fā)、高復(fù)雜度、高度多樣化的數(shù)據(jù)處理業(yè)務(wù),同時具有可移植強、穩(wěn)定性高、便于擴展和維護(hù)等特點。在繼承了上述中間件自身優(yōu)勢的基礎(chǔ)上,結(jié)合小型斷路器生產(chǎn)車間數(shù)據(jù)采集的特點及實際需求,提出了基于中間件的小型斷路器數(shù)字化車間數(shù)據(jù)采集及控制系統(tǒng)。在中間件技術(shù)的推動下,該系統(tǒng)可以兼容并轉(zhuǎn)換TCP、UDP等多種通信協(xié)議,采用模塊化開發(fā)周期短、易擴展、穩(wěn)定性好,程序可直接移植在Windows、Linux等主流操作系統(tǒng)上運行等。
某小型斷路器生產(chǎn)車間中一共有5條生產(chǎn)線,車間單條生產(chǎn)線布局如圖1所示。一條完整生產(chǎn)線中包括裝配線和檢測線,裝配線中根據(jù)裝配工藝流程分為6個裝配單元,裝配A線和裝配B線兩條相同的裝配線配一條檢測線,裝配單元的總數(shù)量為12臺,檢測線中根據(jù)檢測的流程分為12個檢測單元,因此一條完整的生產(chǎn)線中需要實時采集24個單元的實時數(shù)據(jù)。其中有些單元設(shè)備的品牌不同,通信協(xié)議也是多樣化的,需要數(shù)據(jù)采集系統(tǒng)根據(jù)具體的通信協(xié)議來獲取現(xiàn)場數(shù)據(jù),同時還需要將采集到的數(shù)據(jù)進(jìn)行解析和處理,再以不同通信協(xié)議分別發(fā)送給數(shù)據(jù)庫和虛擬現(xiàn)實(VR)展示系統(tǒng)。
數(shù)據(jù)采集及控制系統(tǒng)整體布局如圖2所示。其中數(shù)據(jù)采集中核心的模塊是“中間件數(shù)據(jù)采集流程組件”,控制流程中核心模塊是“中間件控制流程組件”。這兩個核心模塊是連接上層應(yīng)用和下層硬件的重要紐帶。
中間件數(shù)據(jù)采集流程組件細(xì)化圖如圖3所示。對整體布局中的核心模塊“中間件數(shù)據(jù)采集流程組件”進(jìn)一步細(xì)化分解,包括通信、報文接收及解析、數(shù)據(jù)存儲及轉(zhuǎn)發(fā)等功能模塊,用于數(shù)據(jù)的上行傳輸。
中間件控制流程組件細(xì)化圖如圖4所示。是對上面整體布局中的核心模塊“中間件控制流程組件”進(jìn)一步細(xì)化分解,包含命令接收及解析、拼包及轉(zhuǎn)發(fā)模塊,用于命令下行發(fā)送。
基本硬件資源配置需求:中間件服務(wù)器,配置CPU 4核或以上,內(nèi)存16 GB或以上,硬盤300 GB或以上、配SSD,系統(tǒng)Linux或Windows Server,中間件開發(fā)EasyStudio;核心數(shù)據(jù)庫,支持MySQL、Oracle、SQL Server等。
軟件資源配置:
(1) 中間件平臺選用某公司的EasyStudio業(yè)務(wù)處理平臺(3.0)。該業(yè)務(wù)平臺擁有業(yè)務(wù)系統(tǒng)作業(yè)處理的高效自動運行的一套完整作業(yè)管理機制。從而,在充分有效地利用計算機資源的基礎(chǔ)上,為應(yīng)用用戶提供一個安全穩(wěn)定的業(yè)務(wù)應(yīng)用環(huán)境。其功能特點:支持多種方式的作業(yè)的調(diào)度方式;支持時間表定制功能和作業(yè)按計劃自動執(zhí)行的機制;支持系統(tǒng)容錯和故障恢復(fù)機制;支持集中、圖形化的作業(yè)流定義、調(diào)度、監(jiān)控和管理模式;支持HTTP、TCP、UDP、MQ、聯(lián)通短信等多種協(xié)議;支持跨平臺調(diào)度批處理作業(yè)等[14]。
(2) 中間件EasyStudio業(yè)務(wù)處理在Linux、Windows主流系統(tǒng)上都能實現(xiàn)兼容性運行,只需要給中間件服務(wù)器配置Java環(huán)境即可。
為了實現(xiàn)基于中間件的小型斷路器數(shù)字化車間數(shù)據(jù)采集及控制系統(tǒng)的操作簡單性、易擴展性和易移植性,經(jīng)過多次論證和優(yōu)化之后,最終決定在通信模式上采用C/S (Client/Server,客戶端/服務(wù)器)的方式,即中間件數(shù)據(jù)采集系統(tǒng)作為客戶端,現(xiàn)場硬件設(shè)備作為服務(wù)器端,客戶端向服務(wù)器端發(fā)出數(shù)據(jù)請求后服務(wù)器端給客戶端返回相應(yīng)的數(shù)據(jù)包,從而實現(xiàn)數(shù)據(jù)采集的過程;在程序設(shè)計上采用模塊化的設(shè)計模式,即將程序分為數(shù)據(jù)處理模板定義和模板調(diào)用兩大塊,具體是舍棄原來1臺設(shè)備對應(yīng)1個數(shù)據(jù)處理流程的冗余模式,采用對于相同處理流程的項目只建立1個公共數(shù)據(jù)處理模板,如果多個工程都需要用到這個數(shù)據(jù)處理模板時,只需要多次調(diào)用處理模板;在實際項目中1個處理模板不能滿足所有設(shè)備數(shù)據(jù)處理需求,系統(tǒng)會建立多個數(shù)據(jù)處理模板,在調(diào)用時引入數(shù)據(jù)映射組件,根據(jù)產(chǎn)線編號和設(shè)備編號兩個條件來自動選擇數(shù)據(jù)處理模板。經(jīng)過改進(jìn)優(yōu)化后,在后面大規(guī)模擴展應(yīng)用時只需要擴展調(diào)用部分即可,這樣既提高效率又極大地降低程序錯誤率。
2.1.1 基本數(shù)據(jù)處理
在基本數(shù)據(jù)處理階段,首先要與不同生產(chǎn)設(shè)備建立通信連接來獲取生產(chǎn)數(shù)據(jù),通信協(xié)議轉(zhuǎn)換這一部分的核心內(nèi)容。由于中間件可以靈活選擇通信協(xié)議,所以借助這一特點針對不同通信協(xié)議的設(shè)備選擇不同協(xié)議和報文格式進(jìn)行通信的建立和數(shù)據(jù)的獲取,獲取數(shù)據(jù)后中間件能以任意的通信協(xié)議、任意的報文格式來重新進(jìn)行報文拼裝和發(fā)送,從而實現(xiàn)通信協(xié)議靈活轉(zhuǎn)換。在這個項目中是以工業(yè)應(yīng)用較普遍的Modbus[15]協(xié)議來獲取設(shè)備的生產(chǎn)數(shù)據(jù),經(jīng)過轉(zhuǎn)化再以TCP協(xié)議發(fā)送至虛擬現(xiàn)實(VR)展示系統(tǒng)進(jìn)行展示。
基本數(shù)據(jù)處理流程如圖5所示。數(shù)據(jù)獲取過程一般包括3個階段,即報文拼裝、通信和報文解析,其中讀取寄存器信息的報文拼裝定義報文的數(shù)據(jù)頭格式以及需要讀取的寄存器的起始地址和長度,通信是根據(jù)不同的硬件設(shè)備所支持的通信協(xié)議(如Modbus-TCP、UDP)選擇對應(yīng)的通信協(xié)議將上述申請讀取寄存器數(shù)據(jù)的報文包發(fā)送出去并接收反饋回來的數(shù)據(jù),報文解析是按照寄存器中字段順序和字段長度來定義特定的數(shù)據(jù)段將獲取到的原始數(shù)據(jù)包進(jìn)行解析。在這個過程中,有些數(shù)據(jù)還需要判斷存儲標(biāo)志位是否是0-1跳變來確定當(dāng)前數(shù)據(jù)是否是有效數(shù)據(jù)。在這種情況下就需要將該標(biāo)志位的上1個狀態(tài)存到數(shù)據(jù)庫中,由于這個標(biāo)志位需要頻繁的寫入和讀取,如果將該標(biāo)志位存儲在遠(yuǎn)程的MySQL或Oracle,存儲大量其他數(shù)據(jù)的數(shù)據(jù)庫效率就會比較低,因此該系統(tǒng)為存儲標(biāo)志位添加1個本地專用小型數(shù)據(jù)庫,避免遠(yuǎn)程數(shù)據(jù)庫通信和大量數(shù)據(jù)篩選,可以進(jìn)行高效的寫入和讀取。
2.1.2 數(shù)據(jù)存儲
數(shù)據(jù)庫操作流程如圖6所示。實現(xiàn)產(chǎn)品信息的可追溯,將數(shù)據(jù)傳輸?shù)竭h(yuǎn)端Oracle數(shù)據(jù)庫中,并且按照不同字段格式分別存儲在不同數(shù)據(jù)表中,以滿足后續(xù)進(jìn)行不同需求的查閱。其中基本信息表寫入的是產(chǎn)線編號、設(shè)備編號、產(chǎn)量、不合格數(shù)、運行時間等基本信息;測試信息表寫入的是產(chǎn)品的測試值、測試結(jié)果、產(chǎn)品型號、條碼等測試信息;單極條碼信息表寫入的是單極產(chǎn)品的條碼信息;多極組合條碼信息表寫入的是多極產(chǎn)品的組合條碼信息。
2.1.3 數(shù)據(jù)重組發(fā)送至虛擬現(xiàn)實(VR)展示端
數(shù)據(jù)發(fā)送至虛擬現(xiàn)實(VR)流程如圖7所示。將解析的數(shù)據(jù)按照虛擬現(xiàn)實(VR)展示系統(tǒng)所需的通信協(xié)議以及報文格式進(jìn)行報文拼裝和TCP通信,將數(shù)據(jù)發(fā)送到虛擬現(xiàn)實(VR)展示系統(tǒng)進(jìn)行前端可視化展示。
2.1.4 硬件控制指令處理
硬件控制流程如圖8所示。中間件控制流程組件是通過向硬件的寄存器寫入指令碼來控制PLC等硬件進(jìn)行相應(yīng)動作的。以控制PLC為例,控制流程組件通過Fins-TCP協(xié)議向PLC發(fā)送握手請求,PLC反饋建立通信連接后,就可以對特定寄存器進(jìn)行讀寫操作,通過向相應(yīng)寄存器寫入命令來控制硬件執(zhí)行機構(gòu)進(jìn)行相應(yīng)的動作。
在上述數(shù)據(jù)處理模板定義完成之后即可進(jìn)行調(diào)用,模板調(diào)用流程如圖9所示。定時器調(diào)度組件定義系統(tǒng)獲取數(shù)據(jù)的頻率;變量設(shè)置組件定義產(chǎn)線編號和設(shè)備編號;數(shù)據(jù)映射組件通過調(diào)用數(shù)據(jù)映射表結(jié)合上面定義的產(chǎn)線編號和設(shè)備編號來確定采用哪一個數(shù)據(jù)采集模板,以及調(diào)用哪一個IP適配器,IP適配器決定要獲取哪一臺設(shè)備生產(chǎn)數(shù)據(jù);最后的子工作流程組件扮演分流的角色,通過前面結(jié)果從這里進(jìn)入到不同流程分支,進(jìn)行不同處理過程。
EasyStudio中間件開發(fā)界面如圖10所示。中間件平臺包含了報文類組件、通信類組件、流程控制類組件、數(shù)據(jù)庫類組件等一系列可靈活調(diào)用的組件,這些基本組件按照一定的邏輯就可以實現(xiàn)上述流程圖的功能,實現(xiàn)程序的圖形化操作,極大地提高開發(fā)效率和系統(tǒng)的穩(wěn)定性。
設(shè)計并實現(xiàn)的數(shù)據(jù)采集及控制系統(tǒng)已經(jīng)與某斷路器生產(chǎn)企業(yè)的虛擬現(xiàn)實(VR)系統(tǒng)完成了數(shù)據(jù)對接,當(dāng)前設(shè)備接入數(shù)量是24個單元。其中每一個單元分配一個線程,每個線程獨立運行,采集或控制的延時時間主要由該線程的定時調(diào)度決定,數(shù)據(jù)延時時間平均為1 s;就中間件本身而言4核CPU、8G內(nèi)存的主機每秒可以處理2 000筆業(yè)務(wù),因此可以保證數(shù)據(jù)采集及控制系統(tǒng)在當(dāng)前并發(fā)數(shù)量下可以穩(wěn)定地運行。以某企業(yè)中某一條檢測線為例,單個檢測單元數(shù)據(jù)采集信息如表1所示。
表1 單個檢測單元數(shù)據(jù)采集信息
VR展示系統(tǒng)的單個檢測單元數(shù)據(jù)如表2所示。該數(shù)據(jù)是由前面單個單元采集解析的數(shù)據(jù)得到的。
表2 VR展示系統(tǒng)的單個檢測單元數(shù)據(jù)
VR展示系統(tǒng)整條產(chǎn)線的數(shù)據(jù)如表3所示。產(chǎn)線數(shù)據(jù)是基于該產(chǎn)線所有單個單元數(shù)據(jù)的統(tǒng)計計算得到的。其中整線運行狀態(tài)只有在所有單元都正常時才正常,否則為故障,計劃檢測數(shù)量是設(shè)定值,計劃達(dá)成率是通過最后一個檢測單元的產(chǎn)出除以總計劃檢測數(shù),一次直通率是各個單元合格率的乘積,整線設(shè)備能耗是通過產(chǎn)線的能耗監(jiān)測設(shè)備提供數(shù)據(jù)。
表3 VR展示系統(tǒng)整條產(chǎn)線的數(shù)據(jù)
另外,在硬件的反向控制方面,根據(jù)采集到的信息來進(jìn)行分析判斷,當(dāng)發(fā)現(xiàn)數(shù)據(jù)異常(如合格率非常低),需要及時對遠(yuǎn)程設(shè)備進(jìn)行暫停檢修時,就可以在控制命令腳本程序中進(jìn)行設(shè)備暫停命令寫入,通過中間件控制流程組件進(jìn)行控制命令解析和下發(fā),將寫操作指令和寫的內(nèi)容通過路由器和交換機發(fā)送給現(xiàn)場設(shè)備,同時將控制命令內(nèi)容寫入PLC控制器的寄存器中,從而將設(shè)備暫停,實現(xiàn)對現(xiàn)場設(shè)備的反向控制。根據(jù)PLC的FINS通信協(xié)議的需求,對PLC進(jìn)行寫操作前需要先進(jìn)行握手連接。與PLC握手連接數(shù)據(jù)報文如表4所示。向PLC寫入命令數(shù)據(jù)報文如表5所示。
表4 與PLC握手連接數(shù)據(jù)報文
表5 向PLC寫入命令數(shù)據(jù)報文
虛擬現(xiàn)實(VR)數(shù)據(jù)展示效果如圖11所示。從獲取到的生產(chǎn)數(shù)據(jù)中按照提前商定的報文格式通過TCP協(xié)議發(fā)送需要展示的數(shù)據(jù)信息給虛擬現(xiàn)實(VR)展示系統(tǒng)展示的效果,既包含整條檢測線的全局?jǐn)?shù)據(jù)信息(整線的運行狀態(tài)、設(shè)備能耗、檢測計劃達(dá)成率、一次直通率等),也包含單個檢測單元的數(shù)據(jù)信息(單元的運行狀態(tài)、檢測數(shù)量、不合格數(shù)、不合格率、OEE等)。該虛擬現(xiàn)實(VR)系統(tǒng)的展示效果表明本文實現(xiàn)的數(shù)據(jù)采集模塊達(dá)到預(yù)期的效果。
研發(fā)的基于中間件的小型斷路器數(shù)字化車間數(shù)據(jù)采集及控制系統(tǒng)已經(jīng)在某生產(chǎn)斷路器企業(yè)正式上線運行,根據(jù)數(shù)據(jù)采集及控制系統(tǒng)在工業(yè)現(xiàn)場獲取到的生產(chǎn)數(shù)據(jù)情況、數(shù)據(jù)存儲情況、虛擬現(xiàn)實(VR)展示情況以及硬件控制情況等,表明該系統(tǒng)能夠?qū)崟r、準(zhǔn)確、全面地采集車間的生產(chǎn)數(shù)據(jù),并實時地將采集到的數(shù)據(jù)發(fā)送到虛擬現(xiàn)實(VR)數(shù)據(jù)展示系統(tǒng)以及將所有數(shù)據(jù)存入Oracle數(shù)據(jù)庫,在數(shù)據(jù)庫中通過產(chǎn)品條碼可以追溯到該產(chǎn)品在所有檢測環(huán)節(jié)的測試結(jié)果,實現(xiàn)產(chǎn)品質(zhì)量可追溯。同時,在發(fā)現(xiàn)數(shù)據(jù)異常的情況下向相應(yīng)的硬件控制器發(fā)送暫停指令碼,實現(xiàn)對特定執(zhí)行器件的反向控制。該數(shù)據(jù)采集及控制系統(tǒng)能為企業(yè)提升小型斷路器產(chǎn)品質(zhì)量和經(jīng)濟效益,同時也為企業(yè)優(yōu)化生產(chǎn)環(huán)節(jié)、合理規(guī)劃生產(chǎn)任務(wù)提供參考依據(jù),為斷路器企業(yè)生產(chǎn)車間走向數(shù)字化、智能化提供強有力的數(shù)據(jù)支持。