羅錦澤,孟祥印,郭學(xué)理,謝鑫鑫,彭志成
(西南交通大學(xué) 機(jī)械工程學(xué)院,成都 610031)
制造業(yè)是實(shí)體經(jīng)濟(jì)的主體,是國家經(jīng)濟(jì)命脈所系。制造業(yè)的發(fā)達(dá)程度表現(xiàn)了一個(gè)國家的先進(jìn)程度。近年來,物聯(lián)網(wǎng)[1]、云計(jì)算[2]、大數(shù)據(jù)[3]等技術(shù)的發(fā)展推動(dòng)了制造業(yè)的變革,制造模式由自動(dòng)化生產(chǎn)逐漸向智能制造發(fā)展。為支持智能制造的發(fā)展,美國于2012年提出先進(jìn)制造伙伴計(jì)劃AMP(advanced manufacturing partnership),德國于2013年提出工業(yè)4.0概念,中國國務(wù)院于2015年正式提出《中國制造2025》,旨在推動(dòng)國家制造業(yè)轉(zhuǎn)型,提升國家硬實(shí)力。
數(shù)字孿生[4]是以數(shù)字化的方式在數(shù)字世界中創(chuàng)造物理實(shí)體的虛擬模型,并由數(shù)據(jù)驅(qū)動(dòng)模擬仿真物理實(shí)體在現(xiàn)實(shí)環(huán)境中的行為、狀態(tài),并通過數(shù)據(jù)分析、虛實(shí)交互等方式為物理實(shí)體拓展新的功能。數(shù)字孿生概念最早由美國密歇根大學(xué)的Grieves教授在2003年提出,其最早使用可追溯到美國國家航空局的阿波羅項(xiàng)目[5]。數(shù)字孿生在生產(chǎn)制造全生命周期中發(fā)揮著重要作用,許多學(xué)者進(jìn)行了數(shù)字孿生技術(shù)的探索,陶飛等[6]等提出了L0~L5六個(gè)等級(jí)的數(shù)字孿生成熟度模型,莊存波等人提出產(chǎn)品數(shù)字孿生體的構(gòu)建體系[7],韓文婷等[8]對(duì)數(shù)字孿生在火箭控制系統(tǒng)的運(yùn)維中的應(yīng)用作出總數(shù),并有學(xué)者將數(shù)字孿生技術(shù)應(yīng)用于車間生產(chǎn)調(diào)度[9]、車間裝備智能控制[10]、故障預(yù)測與健康管理[11]、車間系統(tǒng)仿真加速[12]等方面。事實(shí)證明,數(shù)字孿生技術(shù)提供了更高效、智能的服務(wù)[13]。
在監(jiān)控應(yīng)用中,目前生產(chǎn)系統(tǒng)的可視化管控主要是以數(shù)據(jù)統(tǒng)計(jì)和狀態(tài)參數(shù)監(jiān)控為主的二維可視化管控[14-15],融合數(shù)字孿生技術(shù)可以使其管控能力進(jìn)一步提升,實(shí)現(xiàn)三維可視化管控,提高監(jiān)控的真實(shí)度和透明度。吳鵬興等[16]通過AutomationML與OPC UA進(jìn)行數(shù)據(jù)建模與傳輸,建立車間邏輯模型實(shí)現(xiàn)了事件驅(qū)動(dòng)的離散制造車間實(shí)時(shí)監(jiān)控,但事件驅(qū)動(dòng)相較于運(yùn)行數(shù)據(jù)驅(qū)動(dòng)更側(cè)重于產(chǎn)線整體的把控,而對(duì)設(shè)備單元本身的運(yùn)動(dòng)有所忽視;杜瑩瑩[17]等提出一種基于數(shù)字孿生模型的工業(yè)機(jī)器人三維可視化監(jiān)控系統(tǒng);張南[18]等通過研究數(shù)字孿生關(guān)鍵技術(shù)建立了自主的實(shí)時(shí)數(shù)據(jù)驅(qū)動(dòng)的數(shù)字孿生監(jiān)控系統(tǒng);張入元等[19]通過構(gòu)建復(fù)雜產(chǎn)品數(shù)據(jù)模型和虛實(shí)映射方法實(shí)現(xiàn)了總裝對(duì)接的數(shù)字孿生監(jiān)控。
綜上所述,在監(jiān)控應(yīng)用中實(shí)現(xiàn)數(shù)字孿生技術(shù)的關(guān)鍵在于模型構(gòu)建,包括與實(shí)體對(duì)應(yīng)的三維模型、數(shù)據(jù)模型和行為規(guī)則模型,構(gòu)建模型的方法多種多樣,有AutomationML、Petri網(wǎng)、OWL等。目前產(chǎn)線設(shè)備監(jiān)控與數(shù)字孿生技術(shù)在其中的應(yīng)用仍存在以下問題:1)設(shè)備監(jiān)控仍以二維監(jiān)控為主,設(shè)備實(shí)時(shí)監(jiān)控困難、透明化程度和管控效率較低。2)設(shè)備繁多,標(biāo)準(zhǔn)設(shè)備和非標(biāo)設(shè)備混雜,數(shù)字孿生模型庫需要不斷更新完善。3)涉及到機(jī)械、電氣、計(jì)算機(jī)等多學(xué)科交叉融合,不同專業(yè)背景人員交流過程效率低。4)數(shù)字孿生技術(shù)在監(jiān)控中的應(yīng)用處于初步階段,具體實(shí)施案例較少。因此,本文融合MBSE思想,提出一種基于數(shù)字孿生的產(chǎn)線設(shè)備監(jiān)控方法,設(shè)計(jì)其體系架構(gòu)并進(jìn)行相關(guān)技術(shù)研究并進(jìn)行實(shí)驗(yàn)驗(yàn)證,驗(yàn)證了方法的可行性。
數(shù)字孿生模型通過與物理實(shí)體設(shè)備的數(shù)據(jù)連接和集成實(shí)現(xiàn)虛實(shí)數(shù)據(jù)交互,從而達(dá)到實(shí)時(shí)映射的目的。本文依據(jù)結(jié)合生產(chǎn)情況和數(shù)字孿生理論建立體系架構(gòu),常規(guī)產(chǎn)線都布置有相應(yīng)產(chǎn)線控制系統(tǒng),比如包括產(chǎn)線業(yè)務(wù)系統(tǒng)MES(manufacturing execution system 制造執(zhí)行系統(tǒng))、WMS(warehouse management system 倉儲(chǔ)管理系統(tǒng))、WCS(warehouse control system)等進(jìn)行產(chǎn)線設(shè)備相關(guān)控制和生產(chǎn)任務(wù)下發(fā),因此將基于數(shù)字孿生的產(chǎn)線設(shè)備監(jiān)控方法架構(gòu)分為物理層、控制層、數(shù)據(jù)層、虛擬層、服務(wù)層。
1)物理層:物理層為底層硬件設(shè)施,包括生產(chǎn)設(shè)備、物流設(shè)備、計(jì)算設(shè)備、檢測設(shè)備等,是整個(gè)體系架構(gòu)中的基礎(chǔ)和主要數(shù)據(jù)來源。
2)控制層:控制層為產(chǎn)線的直接生產(chǎn)控制系統(tǒng),包括MES系統(tǒng)控制任務(wù)下發(fā)、WCS系統(tǒng)控制倉儲(chǔ)相關(guān)設(shè)備等,用于接收上層反饋指令,并轉(zhuǎn)化為控制指令直接控制設(shè)備??刂茖右簿邆渥约旱臄?shù)據(jù)庫,并直接通過總線、工業(yè)以太網(wǎng)等方式與物理層相連。
3)數(shù)據(jù)層:數(shù)據(jù)層為各層級(jí)間的連接通道,上連數(shù)據(jù)服務(wù)層,下連物理層,通過OPC UA實(shí)現(xiàn)統(tǒng)一的信息模型進(jìn)行數(shù)據(jù)傳輸,在數(shù)據(jù)層搭建之前通過對(duì)整個(gè)產(chǎn)線系統(tǒng)的SysML建模統(tǒng)一描述完成產(chǎn)線與設(shè)備數(shù)據(jù)需求、數(shù)據(jù)源的確立,建立產(chǎn)線與設(shè)備數(shù)據(jù)模型和數(shù)學(xué)模型作為其后臺(tái)數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)驅(qū)動(dòng)的基礎(chǔ),并以SysML模型導(dǎo)出的中間文件XML生成相應(yīng)的OPC UA信息節(jié)點(diǎn)。其數(shù)據(jù)值通過API從控制層或物理層抽取。
4)虛擬層:虛擬層為實(shí)體設(shè)備在虛擬世界中的呈現(xiàn),包括幾何模型、數(shù)據(jù)屬性、行為屬性等,虛擬層中的數(shù)據(jù)屬性與行為屬性與通過SysML構(gòu)建的數(shù)據(jù)模型和行為模型一一對(duì)應(yīng),并通過相應(yīng)邏輯模型建立動(dòng)作腳本或數(shù)據(jù)點(diǎn)綁定進(jìn)行任務(wù)驅(qū)動(dòng)和數(shù)據(jù)直接驅(qū)動(dòng)。
5)服務(wù)層:服務(wù)層為最上層的應(yīng)用服務(wù),進(jìn)行數(shù)據(jù)統(tǒng)計(jì)分析、WEB前端呈現(xiàn)等服務(wù)。
監(jiān)控方法架構(gòu)如圖1所示。
MBSE于2007年由國際系統(tǒng)工程協(xié)會(huì)提出其定義,其是以模型驅(qū)動(dòng)系統(tǒng)開發(fā)流程,利用模型表達(dá)系統(tǒng)全生命周期中需求、設(shè)計(jì)、分析、驗(yàn)證和確認(rèn)等過程。MBSE方法是目前航天、軍工領(lǐng)域?qū)τ趶?fù)雜大系統(tǒng)開發(fā)最常用的方法[20]。MBSE具備完整的模型體系,其建模核心要素在于三點(diǎn):方法、語言和工具。其中方法為MBSE模型構(gòu)建的理論指導(dǎo),語言為MBSE模型構(gòu)建的規(guī)范,工具則是進(jìn)行模型構(gòu)建所使用的軟件。相較于傳統(tǒng)基于文檔的設(shè)計(jì)方法,MBSE的需求設(shè)計(jì)一致性、需求可追溯性和設(shè)計(jì)信息可重復(fù)用性都有明顯的優(yōu)勢[21]。
SysML語言是MBSE(Model-Based systems engineering 基于模型的系統(tǒng)工程)中的建模語言,是基于UML語言衍變而成的更適用于系統(tǒng)工程的語言,使用標(biāo)準(zhǔn)化的方式進(jìn)行圖形化模型的構(gòu)建,不僅適用于復(fù)雜系統(tǒng)的建模設(shè)計(jì),并且適合解決跨學(xué)科系統(tǒng)開發(fā)問題,提高不同學(xué)科的專業(yè)人員之間的溝通效率。SysML定義了九種基本圖集,包括需求圖、內(nèi)部模塊圖、參數(shù)圖、模塊定義圖、活動(dòng)圖、用例圖、序列圖、狀態(tài)機(jī)圖、包圖,這九種基本圖集可分為三大類:結(jié)構(gòu)圖、需求圖和行為圖,SysML圖集關(guān)系如圖2所示。
圖2 SysML圖集關(guān)系
通過SysML語言構(gòu)建產(chǎn)線設(shè)備數(shù)據(jù)模型和行為模型,描述產(chǎn)線與設(shè)備結(jié)構(gòu)關(guān)系、數(shù)據(jù)屬性和行為特征,形成產(chǎn)線結(jié)構(gòu)圖、設(shè)備結(jié)構(gòu)圖、產(chǎn)線活動(dòng)圖、設(shè)備活動(dòng)圖和參數(shù)圖。模型中的值屬性定義可分為靜態(tài)屬性和動(dòng)態(tài)屬性兩大類。
1)結(jié)構(gòu)圖與參數(shù)圖:
其中產(chǎn)線結(jié)構(gòu)圖為設(shè)備結(jié)構(gòu)圖的主體集合,參數(shù)圖為設(shè)備結(jié)構(gòu)圖的內(nèi)部模塊圖,用于定義其內(nèi)值屬性和對(duì)應(yīng)物理量、單位。設(shè)備結(jié)構(gòu)圖為設(shè)備數(shù)據(jù)模型的主體,通過將設(shè)備結(jié)構(gòu)圖視作五部分進(jìn)行描述:外部相關(guān)系統(tǒng)與設(shè)備、子系統(tǒng)、主體屬性、行為屬性和任務(wù)屬性。設(shè)備可形式化表征為如下:
Eq::=EB+EX+ETi+ESi+EPi
(1)
EB={Eo,EAuto,EFal,ERt,ERst}
(2)
ETi={ETid,ETn,ETT,ETp}
(3)
EX={Mini,Mouti}
(4)
ESi={V1,V2,…,Vn},n∈R
(5)
其中:Eq代表設(shè)備,以設(shè)備編號(hào)作為唯一標(biāo)識(shí),EB指設(shè)備主體屬性的集合,包括設(shè)備靜態(tài)屬性EO,設(shè)備運(yùn)行模式EAuto,設(shè)備故障代碼EFal,設(shè)備運(yùn)行時(shí)間ERt和設(shè)備運(yùn)行狀態(tài)ERst。其中設(shè)備靜態(tài)屬性Eo為一系列屬性的集合,包括設(shè)備型號(hào)、生產(chǎn)廠商、大小、設(shè)備類型等。
其中ETi為代表其任務(wù)屬性,為其加工任務(wù)的集合,包括任務(wù)編號(hào)ETid,任務(wù)數(shù)據(jù)ETn,任務(wù)時(shí)間約束ETT和任務(wù)優(yōu)先級(jí)ETp。其中任務(wù)數(shù)據(jù)為具體加工任務(wù)中設(shè)備所需要的關(guān)鍵信息,例如倉儲(chǔ)中堆垛機(jī)所需執(zhí)行的任務(wù)名稱、搬運(yùn)物料時(shí)的起始位置和目的位置等。
其中代表與設(shè)備相關(guān)的外部系統(tǒng),由物料輸入Mini,物料輸出Mouti組成,此二者可為人或設(shè)備或系統(tǒng)的集合,以其ID作為標(biāo)識(shí)。
其中:ESi代表設(shè)備子機(jī)構(gòu)/系統(tǒng)的集合,其中每個(gè)機(jī)構(gòu)/系統(tǒng)都有對(duì)應(yīng)的值屬性V體現(xiàn)其具體運(yùn)動(dòng)特征或?qū)傩蕴卣鳌?/p>
2)行為圖:
行為圖代表產(chǎn)線和設(shè)備的行為特征,表達(dá)了產(chǎn)線接收到生產(chǎn)任務(wù)時(shí)其內(nèi)部各設(shè)備的運(yùn)行流程關(guān)系,以及設(shè)備接收到其對(duì)應(yīng)任務(wù)時(shí),其內(nèi)部各子系統(tǒng)的運(yùn)行邏輯關(guān)系。將生產(chǎn)過程視作一個(gè)任務(wù),每個(gè)任務(wù)由若干工藝組成,交由若干設(shè)備并行或串行進(jìn)行;每個(gè)工藝由若干工序組成,每道工序由若干設(shè)備行為組成,監(jiān)控的最小顆粒度為設(shè)備的行為,每個(gè)設(shè)備行為對(duì)應(yīng)了若干的值屬性數(shù)據(jù),這些數(shù)據(jù)表征并驅(qū)動(dòng)了設(shè)備的行為,其行為可形式化描述如下:
(6)
由此,可得整個(gè)設(shè)備的數(shù)據(jù)模型如圖3所示。
虛擬世界中的三維模型通過以坐標(biāo)系為基準(zhǔn)進(jìn)行平移或旋轉(zhuǎn)運(yùn)動(dòng),復(fù)雜動(dòng)作由平移或旋轉(zhuǎn)運(yùn)動(dòng)組合而成。坐標(biāo)系包括世界坐標(biāo)系和基坐標(biāo)系,虛擬世界中的每個(gè)運(yùn)動(dòng)特征都具備其基坐標(biāo)系,其運(yùn)動(dòng)參照基坐標(biāo)系進(jìn)行,基坐標(biāo)系有固定和隨動(dòng)兩種設(shè)定方式。
三維模型的運(yùn)動(dòng)過程中,其坐標(biāo)向量的齊次坐標(biāo)可表示為A=[x,y,z,1],位移矩陣M為一個(gè)四階矩陣,以xi,yi,zi作為虛擬世界中三維模型運(yùn)動(dòng)后的坐標(biāo),xi-1,yi-1,zi-1作為虛擬世界中三維模型運(yùn)動(dòng)前的坐標(biāo),坐標(biāo)變化可表達(dá)為如下:
1)平移變換T:
(7)
其中:△x,△y,△z代表坐標(biāo)相對(duì)位移值。
2)繞x軸旋轉(zhuǎn)Rx:
(8)
其中:θ代表相對(duì)旋轉(zhuǎn)角度。
在全民“減脂”時(shí)代,體重和體脂被精準(zhǔn)計(jì)算,精致生活成為向都市主流進(jìn)階的方式。人們急迫地在周圍或者健身軟件上找到身型參考,堅(jiān)持健身,又輔以配套飲食方案。健康的名號(hào)之下,輕食、生酮飲食、補(bǔ)劑市場、左旋肉堿……這一切開始流行。在“減脂”市場瘋狂增速的背后,暗色地帶開始出現(xiàn):小作坊生產(chǎn)的輕食外賣、“三無”減肥藥橫行市場、各種減脂飲食模式的非科學(xué)引導(dǎo)……當(dāng)每一個(gè)減脂品類都被開發(fā)成了一門生意,在海量的信息和食品選擇里,卻是說不清的標(biāo)準(zhǔn)。
3)繞y軸旋轉(zhuǎn)Ry:
(9)
其中:θ代表相對(duì)旋轉(zhuǎn)角度。
4)繞z軸旋轉(zhuǎn)Rz:
(10)
其中:θ代表相對(duì)旋轉(zhuǎn)角度。
圖4 報(bào)警異常追溯
根據(jù)虛擬世界中的三維模型變換公式可得知,其中的模型底層由平移量和旋轉(zhuǎn)角度驅(qū)動(dòng),位移量和旋轉(zhuǎn)角度的值可間接由速度、角速度與時(shí)間的轉(zhuǎn)換來實(shí)現(xiàn)。坐標(biāo)向量的變換過程是一個(gè)相對(duì)變換過程,在虛擬世界中對(duì)每個(gè)運(yùn)動(dòng)特征都得確立對(duì)應(yīng)的基坐標(biāo)系,同時(shí)定義行為層級(jí)關(guān)系可建立模型特征坐標(biāo)點(diǎn)間關(guān)系,產(chǎn)生隨動(dòng)效果。
本文以O(shè)PC UA作為虛擬層中的數(shù)字孿生體和物理實(shí)體中的交互通道,由設(shè)備結(jié)構(gòu)圖形成的XML文檔在OPC UA服務(wù)器中形成相應(yīng)信息模型和變量節(jié)點(diǎn),并以設(shè)備結(jié)構(gòu)圖和行為圖作為指導(dǎo)進(jìn)行虛擬層三維模型的構(gòu)建、確定數(shù)據(jù)源、數(shù)據(jù)屬性和行為屬性。虛擬層作為OPC UA客戶端,連接服務(wù)器并將其中數(shù)據(jù)屬性與服務(wù)器中變量節(jié)點(diǎn)綁定,通過循環(huán)讀取服務(wù)器數(shù)據(jù)的方式進(jìn)行。
對(duì)于車間而言,存在部分設(shè)備不支持聯(lián)網(wǎng)和數(shù)據(jù)采集,對(duì)于此類設(shè)備的運(yùn)行數(shù)據(jù)僅有設(shè)備啟停以及車間控制系統(tǒng)內(nèi)對(duì)其的任務(wù)安排,其任務(wù)狀態(tài)完成與否由人工上報(bào)的方式進(jìn)行數(shù)據(jù)反饋。因此,除數(shù)據(jù)直接驅(qū)動(dòng)虛擬模型運(yùn)行外,還將以外部任務(wù)的下發(fā)為信號(hào)作為虛擬模型的輸入觸發(fā)虛擬模型行為腳本的方式進(jìn)行驅(qū)動(dòng)。設(shè)備所接受的任務(wù)序列如式(3),以“優(yōu)先級(jí)-任務(wù)編號(hào)”的邏輯進(jìn)行任務(wù)序列的排序,任務(wù)可分解為設(shè)備的工序組,以任務(wù)數(shù)據(jù)和任務(wù)時(shí)間約束作為行為腳本中的關(guān)鍵信息。
任務(wù)驅(qū)動(dòng)與數(shù)據(jù)直接驅(qū)動(dòng)的雙通道虛實(shí)映射方式可相互結(jié)合構(gòu)成設(shè)備行為模式,通過邏輯組合的方式進(jìn)行異常報(bào)警和追溯。每個(gè)任務(wù)對(duì)應(yīng)一種設(shè)備行為模式,可形式化描述為一個(gè)m×n的狀態(tài)矩陣BM如下:
(11)
其中,行代表該任務(wù)下設(shè)備的工序EP執(zhí)行與順序,列代表設(shè)備的所有行為Beh,rij代表工序EPi中的行為Behj,其值反應(yīng)了行為順利發(fā)生的次數(shù),初始值為0,由此定義設(shè)備任務(wù)標(biāo)準(zhǔn)行為模式。根據(jù)設(shè)備虛實(shí)映射運(yùn)行時(shí)的BM矩陣中rij的值根據(jù)實(shí)時(shí)數(shù)據(jù)而定,工序由有序發(fā)生的動(dòng)作事件經(jīng)由并行或串行的方式組合,有序的特性決定了當(dāng)任務(wù)執(zhí)行到工序EPi行為Behj時(shí)其狀態(tài)矩陣BMi,j的值唯一。當(dāng)發(fā)生運(yùn)動(dòng)超限、運(yùn)動(dòng)未到位等報(bào)警情況時(shí),將實(shí)時(shí)BMi,j運(yùn)行矩陣與定義中的標(biāo)準(zhǔn)任務(wù)模式矩陣BM對(duì)比可迅速定位設(shè)備執(zhí)行過程中哪道工序的哪個(gè)行為的執(zhí)行過程發(fā)生異常。以一個(gè)分解為三工序的任務(wù),交由存在4種行為,也可理解為四自由度的設(shè)備進(jìn)行加工為例,報(bào)警異常追溯過程如圖4所示。
本文以倉儲(chǔ)系統(tǒng)核心設(shè)備堆垛機(jī)為例,以倉儲(chǔ)系統(tǒng)作為產(chǎn)線系統(tǒng),進(jìn)行產(chǎn)線和設(shè)備建模,并在Solidworks中建立三維模型,導(dǎo)入MIOT.VC中建立相應(yīng)虛擬模型,定義行為特征和數(shù)據(jù)驅(qū)動(dòng)方式,通過OPC UA傳輸數(shù)據(jù)實(shí)現(xiàn)堆垛機(jī)的數(shù)字孿生監(jiān)控。堆垛機(jī)主要可分為橋式堆垛機(jī)和巷道式堆垛機(jī),本文所采用的堆垛機(jī)對(duì)象為單立柱巷道式堆垛機(jī),實(shí)驗(yàn)室所用堆垛機(jī)如圖5所示。
圖5 單立柱式堆垛機(jī)
圖6 倉儲(chǔ)產(chǎn)線結(jié)構(gòu)圖
1)結(jié)構(gòu)圖:
根據(jù)監(jiān)控應(yīng)用需求和智能倉儲(chǔ)產(chǎn)線實(shí)際情況,建立了倉儲(chǔ)系統(tǒng)軟硬件結(jié)構(gòu)圖以及其中關(guān)鍵設(shè)備堆垛機(jī)結(jié)構(gòu)圖。智能倉儲(chǔ)產(chǎn)線相關(guān)軟件設(shè)施有MES、WMS/WCS、數(shù)據(jù)庫MySQL、實(shí)時(shí)數(shù)據(jù)緩存redis、PLC軟件、前端web應(yīng)用和三維仿真軟件MIOT.VC,由此確立了監(jiān)控應(yīng)用的數(shù)據(jù)來源于實(shí)時(shí)數(shù)據(jù)緩存redis。智能倉儲(chǔ)系統(tǒng)相關(guān)硬件設(shè)施有AGV、入庫臺(tái)、堆垛機(jī)、貨架、出庫臺(tái)和服務(wù)器。倉儲(chǔ)系統(tǒng)結(jié)構(gòu)圖如圖6所示。
對(duì)堆垛機(jī)進(jìn)行結(jié)構(gòu)特征分析,堆垛機(jī)的任務(wù)屬性來自倉儲(chǔ)管理和控制系統(tǒng)WMS/WCS,堆垛機(jī)前后連接的其他設(shè)備為入庫臺(tái)、出庫臺(tái)和庫位,其中與入庫臺(tái)和出庫臺(tái)都為單向的物料輸入、輸出關(guān)系,與庫位為物料輸入輸出的雙向關(guān)系。其主要包括一個(gè)電氣控制系統(tǒng)和三大運(yùn)動(dòng)機(jī)構(gòu):水平行走機(jī)構(gòu)、載貨臺(tái)抬升機(jī)構(gòu)和貨叉伸縮機(jī)構(gòu),分別對(duì)應(yīng)于X、Y、Z軸的移動(dòng),每個(gè)運(yùn)動(dòng)機(jī)構(gòu)所能完成的行為動(dòng)作為平移,對(duì)每個(gè)運(yùn)動(dòng)過程的實(shí)時(shí)監(jiān)測數(shù)據(jù)包括坐標(biāo)、速度和加速度。同時(shí),對(duì)堆垛機(jī)設(shè)備整體的監(jiān)測包括運(yùn)行時(shí)間、運(yùn)行模式、運(yùn)行狀態(tài)、故障代碼和任務(wù)完成狀態(tài)。設(shè)備結(jié)構(gòu)圖如圖7所示。
其中,將對(duì)應(yīng)值屬性分為int,float,string,Boolean四種數(shù)據(jù)類型,位移、運(yùn)行時(shí)間、速度和加速度屬性都為float類型,并定義速度單位mm/s,位移單位mm,加速度單位mm/s2,時(shí)間單位s。值類型定義如圖8所示。
2)行為圖:
根據(jù)智能倉儲(chǔ)產(chǎn)線運(yùn)行流程構(gòu)建系統(tǒng)活動(dòng)圖,倉儲(chǔ)系統(tǒng)由MES開始下發(fā)任務(wù),至WMS/WCS系統(tǒng)解析任務(wù),任務(wù)可分為入庫、出庫和轉(zhuǎn)運(yùn),任務(wù)為串行模式,僅當(dāng)前任務(wù)執(zhí)行完才能執(zhí)行下一任務(wù)。產(chǎn)線任務(wù)活動(dòng)圖如圖9所示。
圖8 值類型定義圖
堆垛機(jī)所能完成的工序?yàn)榉譃椋阂苿?dòng)至目的地、貨叉定位、存/取貨、貨叉復(fù)位4種,其所能完成接受的任務(wù)都可以由這4種工序組合而成。堆垛機(jī)的行為可分為三軸運(yùn)動(dòng):X水平軸移動(dòng)、Y軸升降移動(dòng)和Z軸伸縮移動(dòng)。堆垛機(jī)運(yùn)行活動(dòng)圖可以反應(yīng)其工序和行為之間的串行、并行和依賴關(guān)系,移動(dòng)至目的地的工序由X軸移動(dòng)和Y軸移動(dòng)的并行運(yùn)動(dòng)完成,貨叉定位工序由Z軸移動(dòng)完成,存/取貨工序由Y軸移動(dòng)完成,貨叉復(fù)位由Z軸移動(dòng)完成,由此建立的堆垛機(jī)活動(dòng)圖如圖10所示。
受益于數(shù)字孿生技術(shù)的發(fā)展,各大企業(yè)都在進(jìn)行數(shù)字孿生軟件的研究開發(fā),目前能用于數(shù)字孿生仿真運(yùn)行的軟件主要有PD/PS、Unity 3D、VC、DPE/DPM等,本文基于VC(visual components)軟件進(jìn)行倉儲(chǔ)系統(tǒng)的數(shù)字孿生模型構(gòu)建:在Solidworks軟件中建立等比例模型,將裝配體格式文件SLDASM導(dǎo)入VC軟件中,由于設(shè)備中零部件眾多,而其中運(yùn)動(dòng)部件較少,模型導(dǎo)入時(shí)若將全部特征導(dǎo)入會(huì)極大增加孿生體模型構(gòu)建時(shí)的電腦資源占用和工作量,因此導(dǎo)入時(shí)優(yōu)化特征將整個(gè)裝備體視作整體;導(dǎo)入后切割出運(yùn)動(dòng)特征為獨(dú)立特征;根據(jù)各特征運(yùn)動(dòng)特性,對(duì)其特征坐標(biāo)系進(jìn)行標(biāo)定,選擇其運(yùn)動(dòng)基準(zhǔn);抽取各特征,為其賦予運(yùn)動(dòng)并建立層級(jí)關(guān)系,對(duì)于堆垛機(jī)而言,抽取其主體、載貨臺(tái)和貨叉三部分,其水平行走運(yùn)動(dòng)為主體運(yùn)動(dòng),載貨臺(tái)抬升運(yùn)動(dòng)依附于水平行走運(yùn)動(dòng),貨叉伸縮運(yùn)動(dòng)依附于載貨臺(tái)抬升運(yùn)動(dòng),并為這3個(gè)自由度的運(yùn)動(dòng)賦予平移特征J1,J2,J3;為堆垛機(jī)的三自由度運(yùn)動(dòng)建立3個(gè)伺服控制器用于控制;連接OPC UA服務(wù)器,分別將X軸位移、Y軸位移、Z軸位移3個(gè)數(shù)據(jù)點(diǎn)與J1、J2、J3綁定,以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的驅(qū)動(dòng)。模型構(gòu)建流程如圖11所示。
倉儲(chǔ)貨架大小為550 mm*600 mm*400 mm,倉儲(chǔ)分為兩排,編號(hào)順序?yàn)閆-X-Y(Z排X列Y行),合計(jì)94個(gè)庫位。
圖9 產(chǎn)線任務(wù)活動(dòng)圖
圖10 堆垛機(jī)運(yùn)行活動(dòng)圖
圖11 模型構(gòu)建流程
通過基于TCP/IP協(xié)議的通信連接從redis實(shí)時(shí)緩存庫中獲取堆垛機(jī)運(yùn)行數(shù)據(jù)作為數(shù)字孿生監(jiān)控的驅(qū)動(dòng)。OPC UA服務(wù)器通過open62541開源庫構(gòu)建,基于C++語言開發(fā)。首先創(chuàng)建一個(gè)UA_Server(服務(wù)器類)對(duì)象并進(jìn)行初始化設(shè)置,解析XML文件并形成相應(yīng)頭文件和源文件,形成對(duì)象類,通過調(diào)用相應(yīng)函數(shù)生成堆垛機(jī)對(duì)象節(jié)點(diǎn),每個(gè)對(duì)象節(jié)點(diǎn)中包含變量節(jié)點(diǎn)POSX(X軸位移)、POSY(Y軸位移)、POSZ(Z軸位移)、VX(X軸速度)、VY(Y軸速度)、VZ(Z軸速度)等,對(duì)變量節(jié)點(diǎn)創(chuàng)建相應(yīng)全局變量以進(jìn)行數(shù)據(jù)更新,為防止后續(xù)兩個(gè)線程對(duì)全局變量的讀寫沖突問題,將變量進(jìn)行原子化,即當(dāng)某一線程讀或?qū)懽兞繒r(shí),對(duì)變量上鎖使得其他線程無法訪問變量,完成操作后解鎖變量。創(chuàng)建兩個(gè)線程,其一為數(shù)據(jù)讀取線程datathread,通過redisConnect函數(shù)連接redis進(jìn)行一定頻率的數(shù)據(jù)讀取,其中為了保證不缺失數(shù)據(jù),數(shù)據(jù)讀取頻率必須高于redis數(shù)據(jù)更新頻率,因此必定會(huì)采集到時(shí)間戳一致的數(shù)據(jù),對(duì)此類數(shù)據(jù)進(jìn)行剔除,并將獲得的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換為UA數(shù)據(jù)類型寫入全局變量;另一線程為堆垛機(jī)變量節(jié)點(diǎn)更新線程ddjupdata,通過監(jiān)聽全局變量并調(diào)用open62541相應(yīng)函數(shù)將全局變量中的值寫入變量節(jié)點(diǎn),實(shí)現(xiàn)OPC UA中的變量節(jié)點(diǎn)的數(shù)據(jù)更新。OPC UA客戶端為VC軟件,通過同網(wǎng)絡(luò)下OPC UA服務(wù)器搜尋功能連接服務(wù)器,并綁定數(shù)據(jù)點(diǎn),數(shù)據(jù)讀取時(shí)間間隔為50 ms,循環(huán)讀取。程序流程如圖12所示。
圖12 程序流程
本文實(shí)驗(yàn)對(duì)堆垛機(jī)下達(dá)轉(zhuǎn)運(yùn)任務(wù),從庫位1-5-3中取貨并存儲(chǔ)至庫位1-2-1。Redis中更新數(shù)據(jù)頻率為0.2 s,為保證數(shù)據(jù)采集完整,設(shè)置從redis中數(shù)據(jù)獲取頻率為0.1 s,并在獲取后剔除時(shí)間戳一致的重復(fù)數(shù)據(jù)。所獲取部分?jǐn)?shù)據(jù)如表1所示,其中工作狀態(tài)3代表放貨中,報(bào)警狀態(tài)0代表正常運(yùn)行無錯(cuò)誤。
表1 堆垛機(jī)運(yùn)行數(shù)據(jù)
表1中數(shù)據(jù)為整個(gè)任務(wù)流程中的部分運(yùn)行數(shù)據(jù),為堆垛機(jī)自庫位1-5-3取貨完成后進(jìn)行向庫位1-2-1移動(dòng)存貨的過程。在此過程中堆垛機(jī)進(jìn)行X、Y軸的并行運(yùn)動(dòng),Z軸在原點(diǎn)不動(dòng),其中X、Y均負(fù)方向位移,其中坐標(biāo)數(shù)據(jù)和速度數(shù)據(jù)均為伺服電機(jī)編碼器反饋而來的數(shù)據(jù)計(jì)算而得,而非傳感器直接獲取。由表中數(shù)據(jù)可以發(fā)現(xiàn)速度數(shù)據(jù)在運(yùn)行過程中并未出現(xiàn)重復(fù)數(shù)據(jù),而位移數(shù)據(jù)在存在速度的情況下依舊出現(xiàn)重復(fù)數(shù)據(jù),并且存在X軸位移數(shù)據(jù)重復(fù)時(shí)Y軸位移未重復(fù),Y軸位移數(shù)據(jù)重復(fù)時(shí)X軸位移數(shù)據(jù)未重復(fù)的情況,因此應(yīng)為控制程序運(yùn)行時(shí)位移轉(zhuǎn)換存在一定問題,導(dǎo)致redis自PLC中采集而得的數(shù)據(jù)不準(zhǔn)確,對(duì)此情況可考慮以下兩種方式進(jìn)行校正:1)加裝位移傳感器進(jìn)行一定頻率的位移數(shù)據(jù)測量,并于計(jì)算而得的位移值進(jìn)行融合得到精確的位移值;2)面對(duì)自redis中取得的重復(fù)的位移數(shù)據(jù),考慮redis數(shù)據(jù)更新時(shí)間0.2 s并且速度數(shù)據(jù)并不重復(fù),通過位移對(duì)應(yīng)的速度數(shù)據(jù)進(jìn)行計(jì)算來替換重復(fù)值。由于在三維孿生軟件中已進(jìn)行坐標(biāo)標(biāo)定,且數(shù)據(jù)間單位一致,因此無需對(duì)數(shù)據(jù)進(jìn)行額外的算式轉(zhuǎn)換,直接可用于孿生體模型驅(qū)動(dòng)。
數(shù)字孿生監(jiān)控情況如圖13所示。
圖13 實(shí)時(shí)孿生運(yùn)行
面對(duì)生產(chǎn)過程中設(shè)備實(shí)時(shí)監(jiān)控困難、透明性差、管控效率低,數(shù)字孿生模型庫構(gòu)建復(fù)雜,數(shù)字孿生應(yīng)用于機(jī)械設(shè)備監(jiān)控時(shí)跨學(xué)科、跨背景交互等問題,提出有一種基于數(shù)字孿生的產(chǎn)線設(shè)備監(jiān)控方法。融合MBSE思想,基于SysML語言對(duì)產(chǎn)線和設(shè)備進(jìn)行統(tǒng)一的描述建模并形成數(shù)據(jù)模型,助力數(shù)字孿生模型庫的構(gòu)建,確定監(jiān)控?cái)?shù)據(jù)需求和數(shù)據(jù)來源并進(jìn)行設(shè)備OPC UA模型的構(gòu)建;以位移數(shù)據(jù)和任務(wù)數(shù)據(jù)雙通道驅(qū)動(dòng)的方式進(jìn)行數(shù)字孿生體與物理實(shí)體的虛實(shí)映射,并建立異常報(bào)警追溯模式,最終以倉儲(chǔ)系統(tǒng)和其核心設(shè)備堆垛機(jī)為例進(jìn)行方法驗(yàn)證并實(shí)現(xiàn)其三維可視化監(jiān)控,有效提高監(jiān)控的透明度和管控效率,為數(shù)字孿生技術(shù)在監(jiān)控中的使用做出探索,SysML語言描述設(shè)備資源并進(jìn)行OPC UA信息模型的轉(zhuǎn)換面對(duì)大量設(shè)備或復(fù)雜系統(tǒng)時(shí)具備優(yōu)勢,并且圖形化的表述方式提高了跨專業(yè)人員的交流效率。但本文尚未將設(shè)備狀態(tài)預(yù)測、壽命估計(jì)等運(yùn)維技術(shù)融入實(shí)現(xiàn),且數(shù)字孿生技術(shù)在監(jiān)控方面的進(jìn)一步應(yīng)用還需跨學(xué)科、跨領(lǐng)域的融合,包括機(jī)械、計(jì)算機(jī)、通信等學(xué)科,需要廣大學(xué)者的共同研究探索,后續(xù)研究將融合設(shè)備故障診斷與預(yù)測,通過云邊協(xié)同的模式,利用云端資源近乎無限的優(yōu)勢存儲(chǔ)海量設(shè)備運(yùn)行數(shù)據(jù),進(jìn)行數(shù)據(jù)挖掘訓(xùn)練故障診斷模型,并將模型下發(fā)至邊緣進(jìn)行實(shí)時(shí)運(yùn)行數(shù)據(jù)的計(jì)算診斷,進(jìn)行邊緣側(cè)數(shù)字孿生監(jiān)控的預(yù)警。