羅錦澤,孟祥印,郭學理,謝鑫鑫,彭志成
(西南交通大學 機械工程學院,成都 610031)
制造業是實體經濟的主體,是國家經濟命脈所系。制造業的發達程度表現了一個國家的先進程度。近年來,物聯網[1]、云計算[2]、大數據[3]等技術的發展推動了制造業的變革,制造模式由自動化生產逐漸向智能制造發展。為支持智能制造的發展,美國于2012年提出先進制造伙伴計劃AMP(advanced manufacturing partnership),德國于2013年提出工業4.0概念,中國國務院于2015年正式提出《中國制造2025》,旨在推動國家制造業轉型,提升國家硬實力。
數字孿生[4]是以數字化的方式在數字世界中創造物理實體的虛擬模型,并由數據驅動模擬仿真物理實體在現實環境中的行為、狀態,并通過數據分析、虛實交互等方式為物理實體拓展新的功能。數字孿生概念最早由美國密歇根大學的Grieves教授在2003年提出,其最早使用可追溯到美國國家航空局的阿波羅項目[5]。數字孿生在生產制造全生命周期中發揮著重要作用,許多學者進行了數字孿生技術的探索,陶飛等[6]等提出了L0~L5六個等級的數字孿生成熟度模型,莊存波等人提出產品數字孿生體的構建體系[7],韓文婷等[8]對數字孿生在火箭控制系統的運維中的應用作出總數,并有學者將數字孿生技術應用于車間生產調度[9]、車間裝備智能控制[10]、故障預測與健康管理[11]、車間系統仿真加速[12]等方面。事實證明,數字孿生技術提供了更高效、智能的服務[13]。
在監控應用中,目前生產系統的可視化管控主要是以數據統計和狀態參數監控為主的二維可視化管控[14-15],融合數字孿生技術可以使其管控能力進一步提升,實現三維可視化管控,提高監控的真實度和透明度。吳鵬興等[16]通過AutomationML與OPC UA進行數據建模與傳輸,建立車間邏輯模型實現了事件驅動的離散制造車間實時監控,但事件驅動相較于運行數據驅動更側重于產線整體的把控,而對設備單元本身的運動有所忽視;杜瑩瑩[17]等提出一種基于數字孿生模型的工業機器人三維可視化監控系統;張南[18]等通過研究數字孿生關鍵技術建立了自主的實時數據驅動的數字孿生監控系統;張入元等[19]通過構建復雜產品數據模型和虛實映射方法實現了總裝對接的數字孿生監控。
綜上所述,在監控應用中實現數字孿生技術的關鍵在于模型構建,包括與實體對應的三維模型、數據模型和行為規則模型,構建模型的方法多種多樣,有AutomationML、Petri網、OWL等。目前產線設備監控與數字孿生技術在其中的應用仍存在以下問題:1)設備監控仍以二維監控為主,設備實時監控困難、透明化程度和管控效率較低。2)設備繁多,標準設備和非標設備混雜,數字孿生模型庫需要不斷更新完善。3)涉及到機械、電氣、計算機等多學科交叉融合,不同專業背景人員交流過程效率低。4)數字孿生技術在監控中的應用處于初步階段,具體實施案例較少。因此,本文融合MBSE思想,提出一種基于數字孿生的產線設備監控方法,設計其體系架構并進行相關技術研究并進行實驗驗證,驗證了方法的可行性。
數字孿生模型通過與物理實體設備的數據連接和集成實現虛實數據交互,從而達到實時映射的目的。本文依據結合生產情況和數字孿生理論建立體系架構,常規產線都布置有相應產線控制系統,比如包括產線業務系統MES(manufacturing execution system 制造執行系統)、WMS(warehouse management system 倉儲管理系統)、WCS(warehouse control system)等進行產線設備相關控制和生產任務下發,因此將基于數字孿生的產線設備監控方法架構分為物理層、控制層、數據層、虛擬層、服務層。
1)物理層:物理層為底層硬件設施,包括生產設備、物流設備、計算設備、檢測設備等,是整個體系架構中的基礎和主要數據來源。
2)控制層:控制層為產線的直接生產控制系統,包括MES系統控制任務下發、WCS系統控制倉儲相關設備等,用于接收上層反饋指令,并轉化為控制指令直接控制設備。控制層也具備自己的數據庫,并直接通過總線、工業以太網等方式與物理層相連。
3)數據層:數據層為各層級間的連接通道,上連數據服務層,下連物理層,通過OPC UA實現統一的信息模型進行數據傳輸,在數據層搭建之前通過對整個產線系統的SysML建模統一描述完成產線與設備數據需求、數據源的確立,建立產線與設備數據模型和數學模型作為其后臺數據存儲、數據驅動的基礎,并以SysML模型導出的中間文件XML生成相應的OPC UA信息節點。其數據值通過API從控制層或物理層抽取。
4)虛擬層:虛擬層為實體設備在虛擬世界中的呈現,包括幾何模型、數據屬性、行為屬性等,虛擬層中的數據屬性與行為屬性與通過SysML構建的數據模型和行為模型一一對應,并通過相應邏輯模型建立動作腳本或數據點綁定進行任務驅動和數據直接驅動。
5)服務層:服務層為最上層的應用服務,進行數據統計分析、WEB前端呈現等服務。
監控方法架構如圖1所示。
MBSE于2007年由國際系統工程協會提出其定義,其是以模型驅動系統開發流程,利用模型表達系統全生命周期中需求、設計、分析、驗證和確認等過程。MBSE方法是目前航天、軍工領域對于復雜大系統開發最常用的方法[20]。MBSE具備完整的模型體系,其建模核心要素在于三點:方法、語言和工具。其中方法為MBSE模型構建的理論指導,語言為MBSE模型構建的規范,工具則是進行模型構建所使用的軟件。相較于傳統基于文檔的設計方法,MBSE的需求設計一致性、需求可追溯性和設計信息可重復用性都有明顯的優勢[21]。
SysML語言是MBSE(Model-Based systems engineering 基于模型的系統工程)中的建模語言,是基于UML語言衍變而成的更適用于系統工程的語言,使用標準化的方式進行圖形化模型的構建,不僅適用于復雜系統的建模設計,并且適合解決跨學科系統開發問題,提高不同學科的專業人員之間的溝通效率。SysML定義了九種基本圖集,包括需求圖、內部模塊圖、參數圖、模塊定義圖、活動圖、用例圖、序列圖、狀態機圖、包圖,這九種基本圖集可分為三大類:結構圖、需求圖和行為圖,SysML圖集關系如圖2所示。

圖2 SysML圖集關系
通過SysML語言構建產線設備數據模型和行為模型,描述產線與設備結構關系、數據屬性和行為特征,形成產線結構圖、設備結構圖、產線活動圖、設備活動圖和參數圖。模型中的值屬性定義可分為靜態屬性和動態屬性兩大類。
1)結構圖與參數圖:
其中產線結構圖為設備結構圖的主體集合,參數圖為設備結構圖的內部模塊圖,用于定義其內值屬性和對應物理量、單位。設備結構圖為設備數據模型的主體,通過將設備結構圖視作五部分進行描述:外部相關系統與設備、子系統、主體屬性、行為屬性和任務屬性。設備可形式化表征為如下:
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代表設備,以設備編號作為唯一標識,EB指設備主體屬性的集合,包括設備靜態屬性EO,設備運行模式EAuto,設備故障代碼EFal,設備運行時間ERt和設備運行狀態ERst。其中設備靜態屬性Eo為一系列屬性的集合,包括設備型號、生產廠商、大小、設備類型等。
其中ETi為代表其任務屬性,為其加工任務的集合,包括任務編號ETid,任務數據ETn,任務時間約束ETT和任務優先級ETp。其中任務數據為具體加工任務中設備所需要的關鍵信息,例如倉儲中堆垛機所需執行的任務名稱、搬運物料時的起始位置和目的位置等。
其中代表與設備相關的外部系統,由物料輸入Mini,物料輸出Mouti組成,此二者可為人或設備或系統的集合,以其ID作為標識。
其中:ESi代表設備子機構/系統的集合,其中每個機構/系統都有對應的值屬性V體現其具體運動特征或屬性特征。
2)行為圖:
行為圖代表產線和設備的行為特征,表達了產線接收到生產任務時其內部各設備的運行流程關系,以及設備接收到其對應任務時,其內部各子系統的運行邏輯關系。將生產過程視作一個任務,每個任務由若干工藝組成,交由若干設備并行或串行進行;每個工藝由若干工序組成,每道工序由若干設備行為組成,監控的最小顆粒度為設備的行為,每個設備行為對應了若干的值屬性數據,這些數據表征并驅動了設備的行為,其行為可形式化描述如下:
(6)

由此,可得整個設備的數據模型如圖3所示。
虛擬世界中的三維模型通過以坐標系為基準進行平移或旋轉運動,復雜動作由平移或旋轉運動組合而成。坐標系包括世界坐標系和基坐標系,虛擬世界中的每個運動特征都具備其基坐標系,其運動參照基坐標系進行,基坐標系有固定和隨動兩種設定方式。
三維模型的運動過程中,其坐標向量的齊次坐標可表示為A=[x,y,z,1],位移矩陣M為一個四階矩陣,以xi,yi,zi作為虛擬世界中三維模型運動后的坐標,xi-1,yi-1,zi-1作為虛擬世界中三維模型運動前的坐標,坐標變化可表達為如下:
1)平移變換T:
(7)
其中:△x,△y,△z代表坐標相對位移值。
2)繞x軸旋轉Rx:
(8)
其中:θ代表相對旋轉角度。
在全民“減脂”時代,體重和體脂被精準計算,精致生活成為向都市主流進階的方式。人們急迫地在周圍或者健身軟件上找到身型參考,堅持健身,又輔以配套飲食方案。健康的名號之下,輕食、生酮飲食、補劑市場、左旋肉堿……這一切開始流行。在“減脂”市場瘋狂增速的背后,暗色地帶開始出現:小作坊生產的輕食外賣、“三無”減肥藥橫行市場、各種減脂飲食模式的非科學引導……當每一個減脂品類都被開發成了一門生意,在海量的信息和食品選擇里,卻是說不清的標準。
3)繞y軸旋轉Ry:
(9)
其中:θ代表相對旋轉角度。
4)繞z軸旋轉Rz:
(10)
其中:θ代表相對旋轉角度。

圖4 報警異常追溯
根據虛擬世界中的三維模型變換公式可得知,其中的模型底層由平移量和旋轉角度驅動,位移量和旋轉角度的值可間接由速度、角速度與時間的轉換來實現。坐標向量的變換過程是一個相對變換過程,在虛擬世界中對每個運動特征都得確立對應的基坐標系,同時定義行為層級關系可建立模型特征坐標點間關系,產生隨動效果。
本文以OPC UA作為虛擬層中的數字孿生體和物理實體中的交互通道,由設備結構圖形成的XML文檔在OPC UA服務器中形成相應信息模型和變量節點,并以設備結構圖和行為圖作為指導進行虛擬層三維模型的構建、確定數據源、數據屬性和行為屬性。虛擬層作為OPC UA客戶端,連接服務器并將其中數據屬性與服務器中變量節點綁定,通過循環讀取服務器數據的方式進行。
對于車間而言,存在部分設備不支持聯網和數據采集,對于此類設備的運行數據僅有設備啟停以及車間控制系統內對其的任務安排,其任務狀態完成與否由人工上報的方式進行數據反饋。因此,除數據直接驅動虛擬模型運行外,還將以外部任務的下發為信號作為虛擬模型的輸入觸發虛擬模型行為腳本的方式進行驅動。設備所接受的任務序列如式(3),以“優先級-任務編號”的邏輯進行任務序列的排序,任務可分解為設備的工序組,以任務數據和任務時間約束作為行為腳本中的關鍵信息。
任務驅動與數據直接驅動的雙通道虛實映射方式可相互結合構成設備行為模式,通過邏輯組合的方式進行異常報警和追溯。每個任務對應一種設備行為模式,可形式化描述為一個m×n的狀態矩陣BM如下:
(11)
其中,行代表該任務下設備的工序EP執行與順序,列代表設備的所有行為Beh,rij代表工序EPi中的行為Behj,其值反應了行為順利發生的次數,初始值為0,由此定義設備任務標準行為模式。根據設備虛實映射運行時的BM矩陣中rij的值根據實時數據而定,工序由有序發生的動作事件經由并行或串行的方式組合,有序的特性決定了當任務執行到工序EPi行為Behj時其狀態矩陣BMi,j的值唯一。當發生運動超限、運動未到位等報警情況時,將實時BMi,j運行矩陣與定義中的標準任務模式矩陣BM對比可迅速定位設備執行過程中哪道工序的哪個行為的執行過程發生異常。以一個分解為三工序的任務,交由存在4種行為,也可理解為四自由度的設備進行加工為例,報警異常追溯過程如圖4所示。
本文以倉儲系統核心設備堆垛機為例,以倉儲系統作為產線系統,進行產線和設備建模,并在Solidworks中建立三維模型,導入MIOT.VC中建立相應虛擬模型,定義行為特征和數據驅動方式,通過OPC UA傳輸數據實現堆垛機的數字孿生監控。堆垛機主要可分為橋式堆垛機和巷道式堆垛機,本文所采用的堆垛機對象為單立柱巷道式堆垛機,實驗室所用堆垛機如圖5所示。

圖5 單立柱式堆垛機

圖6 倉儲產線結構圖
1)結構圖:
根據監控應用需求和智能倉儲產線實際情況,建立了倉儲系統軟硬件結構圖以及其中關鍵設備堆垛機結構圖。智能倉儲產線相關軟件設施有MES、WMS/WCS、數據庫MySQL、實時數據緩存redis、PLC軟件、前端web應用和三維仿真軟件MIOT.VC,由此確立了監控應用的數據來源于實時數據緩存redis。智能倉儲系統相關硬件設施有AGV、入庫臺、堆垛機、貨架、出庫臺和服務器。倉儲系統結構圖如圖6所示。
對堆垛機進行結構特征分析,堆垛機的任務屬性來自倉儲管理和控制系統WMS/WCS,堆垛機前后連接的其他設備為入庫臺、出庫臺和庫位,其中與入庫臺和出庫臺都為單向的物料輸入、輸出關系,與庫位為物料輸入輸出的雙向關系。其主要包括一個電氣控制系統和三大運動機構:水平行走機構、載貨臺抬升機構和貨叉伸縮機構,分別對應于X、Y、Z軸的移動,每個運動機構所能完成的行為動作為平移,對每個運動過程的實時監測數據包括坐標、速度和加速度。同時,對堆垛機設備整體的監測包括運行時間、運行模式、運行狀態、故障代碼和任務完成狀態。設備結構圖如圖7所示。
其中,將對應值屬性分為int,float,string,Boolean四種數據類型,位移、運行時間、速度和加速度屬性都為float類型,并定義速度單位mm/s,位移單位mm,加速度單位mm/s2,時間單位s。值類型定義如圖8所示。
2)行為圖:
根據智能倉儲產線運行流程構建系統活動圖,倉儲系統由MES開始下發任務,至WMS/WCS系統解析任務,任務可分為入庫、出庫和轉運,任務為串行模式,僅當前任務執行完才能執行下一任務。產線任務活動圖如圖9所示。

圖8 值類型定義圖
堆垛機所能完成的工序為分為:移動至目的地、貨叉定位、存/取貨、貨叉復位4種,其所能完成接受的任務都可以由這4種工序組合而成。堆垛機的行為可分為三軸運動:X水平軸移動、Y軸升降移動和Z軸伸縮移動。堆垛機運行活動圖可以反應其工序和行為之間的串行、并行和依賴關系,移動至目的地的工序由X軸移動和Y軸移動的并行運動完成,貨叉定位工序由Z軸移動完成,存/取貨工序由Y軸移動完成,貨叉復位由Z軸移動完成,由此建立的堆垛機活動圖如圖10所示。
受益于數字孿生技術的發展,各大企業都在進行數字孿生軟件的研究開發,目前能用于數字孿生仿真運行的軟件主要有PD/PS、Unity 3D、VC、DPE/DPM等,本文基于VC(visual components)軟件進行倉儲系統的數字孿生模型構建:在Solidworks軟件中建立等比例模型,將裝配體格式文件SLDASM導入VC軟件中,由于設備中零部件眾多,而其中運動部件較少,模型導入時若將全部特征導入會極大增加孿生體模型構建時的電腦資源占用和工作量,因此導入時優化特征將整個裝備體視作整體;導入后切割出運動特征為獨立特征;根據各特征運動特性,對其特征坐標系進行標定,選擇其運動基準;抽取各特征,為其賦予運動并建立層級關系,對于堆垛機而言,抽取其主體、載貨臺和貨叉三部分,其水平行走運動為主體運動,載貨臺抬升運動依附于水平行走運動,貨叉伸縮運動依附于載貨臺抬升運動,并為這3個自由度的運動賦予平移特征J1,J2,J3;為堆垛機的三自由度運動建立3個伺服控制器用于控制;連接OPC UA服務器,分別將X軸位移、Y軸位移、Z軸位移3個數據點與J1、J2、J3綁定,以實現實時數據的驅動。模型構建流程如圖11所示。
倉儲貨架大小為550 mm*600 mm*400 mm,倉儲分為兩排,編號順序為Z-X-Y(Z排X列Y行),合計94個庫位。

圖9 產線任務活動圖

圖10 堆垛機運行活動圖

圖11 模型構建流程
通過基于TCP/IP協議的通信連接從redis實時緩存庫中獲取堆垛機運行數據作為數字孿生監控的驅動。OPC UA服務器通過open62541開源庫構建,基于C++語言開發。首先創建一個UA_Server(服務器類)對象并進行初始化設置,解析XML文件并形成相應頭文件和源文件,形成對象類,通過調用相應函數生成堆垛機對象節點,每個對象節點中包含變量節點POSX(X軸位移)、POSY(Y軸位移)、POSZ(Z軸位移)、VX(X軸速度)、VY(Y軸速度)、VZ(Z軸速度)等,對變量節點創建相應全局變量以進行數據更新,為防止后續兩個線程對全局變量的讀寫沖突問題,將變量進行原子化,即當某一線程讀或寫變量時,對變量上鎖使得其他線程無法訪問變量,完成操作后解鎖變量。創建兩個線程,其一為數據讀取線程datathread,通過redisConnect函數連接redis進行一定頻率的數據讀取,其中為了保證不缺失數據,數據讀取頻率必須高于redis數據更新頻率,因此必定會采集到時間戳一致的數據,對此類數據進行剔除,并將獲得的數據進行格式轉換,轉換為UA數據類型寫入全局變量;另一線程為堆垛機變量節點更新線程ddjupdata,通過監聽全局變量并調用open62541相應函數將全局變量中的值寫入變量節點,實現OPC UA中的變量節點的數據更新。OPC UA客戶端為VC軟件,通過同網絡下OPC UA服務器搜尋功能連接服務器,并綁定數據點,數據讀取時間間隔為50 ms,循環讀取。程序流程如圖12所示。

圖12 程序流程
本文實驗對堆垛機下達轉運任務,從庫位1-5-3中取貨并存儲至庫位1-2-1。Redis中更新數據頻率為0.2 s,為保證數據采集完整,設置從redis中數據獲取頻率為0.1 s,并在獲取后剔除時間戳一致的重復數據。所獲取部分數據如表1所示,其中工作狀態3代表放貨中,報警狀態0代表正常運行無錯誤。

表1 堆垛機運行數據
表1中數據為整個任務流程中的部分運行數據,為堆垛機自庫位1-5-3取貨完成后進行向庫位1-2-1移動存貨的過程。在此過程中堆垛機進行X、Y軸的并行運動,Z軸在原點不動,其中X、Y均負方向位移,其中坐標數據和速度數據均為伺服電機編碼器反饋而來的數據計算而得,而非傳感器直接獲取。由表中數據可以發現速度數據在運行過程中并未出現重復數據,而位移數據在存在速度的情況下依舊出現重復數據,并且存在X軸位移數據重復時Y軸位移未重復,Y軸位移數據重復時X軸位移數據未重復的情況,因此應為控制程序運行時位移轉換存在一定問題,導致redis自PLC中采集而得的數據不準確,對此情況可考慮以下兩種方式進行校正:1)加裝位移傳感器進行一定頻率的位移數據測量,并于計算而得的位移值進行融合得到精確的位移值;2)面對自redis中取得的重復的位移數據,考慮redis數據更新時間0.2 s并且速度數據并不重復,通過位移對應的速度數據進行計算來替換重復值。由于在三維孿生軟件中已進行坐標標定,且數據間單位一致,因此無需對數據進行額外的算式轉換,直接可用于孿生體模型驅動。
數字孿生監控情況如圖13所示。

圖13 實時孿生運行
面對生產過程中設備實時監控困難、透明性差、管控效率低,數字孿生模型庫構建復雜,數字孿生應用于機械設備監控時跨學科、跨背景交互等問題,提出有一種基于數字孿生的產線設備監控方法。融合MBSE思想,基于SysML語言對產線和設備進行統一的描述建模并形成數據模型,助力數字孿生模型庫的構建,確定監控數據需求和數據來源并進行設備OPC UA模型的構建;以位移數據和任務數據雙通道驅動的方式進行數字孿生體與物理實體的虛實映射,并建立異常報警追溯模式,最終以倉儲系統和其核心設備堆垛機為例進行方法驗證并實現其三維可視化監控,有效提高監控的透明度和管控效率,為數字孿生技術在監控中的使用做出探索,SysML語言描述設備資源并進行OPC UA信息模型的轉換面對大量設備或復雜系統時具備優勢,并且圖形化的表述方式提高了跨專業人員的交流效率。但本文尚未將設備狀態預測、壽命估計等運維技術融入實現,且數字孿生技術在監控方面的進一步應用還需跨學科、跨領域的融合,包括機械、計算機、通信等學科,需要廣大學者的共同研究探索,后續研究將融合設備故障診斷與預測,通過云邊協同的模式,利用云端資源近乎無限的優勢存儲海量設備運行數據,進行數據挖掘訓練故障診斷模型,并將模型下發至邊緣進行實時運行數據的計算診斷,進行邊緣側數字孿生監控的預警。