胡飛,鄒修敏,高朝祥,任小鴻,郝紅梅
(1.四川化工職業(yè)技術(shù)學(xué)院機械工程學(xué)院,四川瀘州 646300;2.機械結(jié)構(gòu)優(yōu)化及材料應(yīng)用瀘州市重點實驗室,四川瀘州 646300;3.四川輕化工大學(xué)機械工程學(xué)院,四川宜賓 644000)
“中國制造 2025”、“十四五規(guī)劃和2035年遠景目標”等戰(zhàn)略提出,推動了機械制造加工企業(yè)的信息化、智能化轉(zhuǎn)型升級,促進了工業(yè)軟件的發(fā)展[1-3]。工業(yè)機器人作為機械制造加工領(lǐng)域不可或缺的設(shè)備,加快工業(yè)機器人技術(shù)的信息化發(fā)展對智能化車間建設(shè)具有十分重要的意義[4-5]。
隨著機械制造加工車間智能化程度日益增強,車間裝備更加多元化,設(shè)備與設(shè)備、系統(tǒng)與系統(tǒng)間的交互更加頻繁,連接更加緊密[6-7]。工業(yè)機器人需與數(shù)控機床、AGV小車等多樣化設(shè)備協(xié)同作業(yè),彼此生產(chǎn)協(xié)調(diào)和信息交互成為制造過程的關(guān)鍵一環(huán)。作為輔助生產(chǎn)的關(guān)鍵設(shè)備,工業(yè)機器人實現(xiàn)數(shù)據(jù)集成共享和設(shè)備互聯(lián)互通,以及對狀態(tài)進行監(jiān)測顯得尤為重要[8-9]。徐建明等[10]設(shè)計了一種基于云平臺的SCARA機器人監(jiān)控系統(tǒng),通過采用OPC UA協(xié)議、前后端分離等技術(shù)實現(xiàn)本地客戶端與SCARA機器人的監(jiān)控與交互。廖能解等[11]采用PLC+HMI的控制架構(gòu),以HMI為上位機實現(xiàn)上下料桁架機器人運行狀態(tài)的可視化監(jiān)控。宋庭新、李軻[12]提出了一種基于OPC Unified Architecture的車間物理系統(tǒng)通信架構(gòu),通過將OPC UA通信協(xié)議、工業(yè)機器人ROS系統(tǒng)與PLC控制系統(tǒng)進行整合,實現(xiàn)了車間設(shè)備的數(shù)據(jù)采集和通信。HU 等[13]構(gòu)建了基于B/S架構(gòu)的機器人數(shù)據(jù)采集系統(tǒng),通過移動智能設(shè)備獲取制造車間數(shù)據(jù),實現(xiàn)車間設(shè)備、移動采集設(shè)備和服務(wù)器之間的交互。已有研究主要集中在對機器人的數(shù)據(jù)通信和監(jiān)控層面,為機器人智能制造應(yīng)用提供了借鑒。然而,只有對多源異構(gòu)數(shù)據(jù)進行統(tǒng)一語義、信息進行統(tǒng)一傳輸,使底層數(shù)據(jù)規(guī)范化、通信標準化,才是數(shù)據(jù)互聯(lián)互操作、信息集成和數(shù)據(jù)融合處理問題的有效解決途徑。
本文作者主要針對機械制造加工車間存在的多元異構(gòu)設(shè)備接口協(xié)議不一、多源異構(gòu)數(shù)據(jù)語義格式不一致的問題,以O(shè)PC UA信息建模為核心,以柔性加工單元典型上下料機器人為研究對象,創(chuàng)新性地提出一種集OPC UA信息模型和OPC UA數(shù)據(jù)通信于一體的工業(yè)機器人監(jiān)測系統(tǒng);利用面向?qū)ο缶幊痰乃枷?,針對性地設(shè)計構(gòu)建機器人共有和私有信息模型,模塊化構(gòu)建OPC UA服務(wù)器與客戶端,實現(xiàn)信息模型和數(shù)據(jù)交互;最后選擇剎車盤柔性加工單元對機器人OPC UA信息模型進行應(yīng)用,綜合C++、UA Modeler、Open62541等語言和工具開發(fā)上下料機器人監(jiān)測系統(tǒng)。通過較完整的信息模型描述過程數(shù)據(jù)和統(tǒng)一的信息交互,為監(jiān)測系統(tǒng)提供數(shù)據(jù)語義與格式一致和數(shù)據(jù)訪問與操作一致的標準,有效增強了系統(tǒng)信息集成性能和機器人與單元系統(tǒng)間的互聯(lián)互通和互操作性能。
以O(shè)PC UA兩大組件為基礎(chǔ),以機器人OPC UA信息模型為中心,提出基于OPC UA信息模型的工業(yè)機器人監(jiān)測系統(tǒng)實現(xiàn)架構(gòu),含物理、數(shù)據(jù)處理和應(yīng)用三層結(jié)構(gòu),分為信息建模和通信兩部分,如圖1所示。將機器人信息模型和采用以太網(wǎng)方式、C++采集程序獲取的數(shù)據(jù)源加載封裝到服務(wù)器,模塊化構(gòu)建開發(fā)OPC UA服務(wù)器過程連接、數(shù)據(jù)訪問等功能,服務(wù)器地址空間綁定實時數(shù)據(jù)源,格式化轉(zhuǎn)換數(shù)據(jù)源后將信息暴露給UA客戶端,客戶端對信息模型瀏覽、讀取和訂閱,進一步開發(fā)人機交互與監(jiān)測系統(tǒng),實現(xiàn)從源頭到終端的工業(yè)機器人數(shù)據(jù)規(guī)范化訪問和數(shù)據(jù)統(tǒng)一化傳輸。
圖1 系統(tǒng)架構(gòu)Fig.1 The system architecture
作為機械制造加工車間最具代表性的輔助加工設(shè)備,工業(yè)機器人可實現(xiàn)對圓盤類、長軸類、不規(guī)則形狀、金屬板類等工件的自動上料/下料、工件翻轉(zhuǎn)、工件轉(zhuǎn)序等工作[14-15]。本文作者以典型6關(guān)節(jié)型上下料機器人為研究對象,其組成部分及各運動關(guān)節(jié)定義如圖2所示。
圖2 上下料機器人Fig.2 Loading and unloading robot
OPC UA作為基于COM規(guī)范的替代而被引入,OPC UA涵蓋了獨立于平臺的系統(tǒng)接口的所有要求,有支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu)、統(tǒng)一的數(shù)據(jù)獲取方式、多平臺支持、增強的安全機制等優(yōu)點,并且新標準可從嵌入式系統(tǒng)擴展到SCADA和DCS,直至MES和ERP[16-18]。
在OPC UA規(guī)范中,將用于代表系統(tǒng)、系統(tǒng)組件、現(xiàn)實世界的事物稱為對象,將對客戶端可用的對象集合及其相關(guān)信息稱為地址空間[19]。地址空間是OPC UA服務(wù)器用來表示具體事物對象的一個標準方式,它的模型元素被稱為節(jié)點,不同類別的節(jié)點用屬性描述。實際在對設(shè)備對象進行建模和映射時,底層設(shè)備的各實例數(shù)據(jù)分別對應(yīng)映射為OPC UA的對象、變量和方法,用引用建立組件與組件的聯(lián)系,這些變量、方法、引用等抽象信息則是地址空間中的一個個節(jié)點描述[19-22]。所以,信息建模的過程就是在定義地址空間模型。
根據(jù)OPC UA建模規(guī)范,提出上下料機器人信息建模流程,主要分4個階段,如圖3所示。首先,根據(jù)應(yīng)用需求,對機器人系統(tǒng)進行模塊化分解,提取機器人屬性,基于實際功能要求對機器人整個系統(tǒng)進行分解,劃分子模型,建立類型模型,實例化信息模型,最后轉(zhuǎn)換信息模型為XML模型描述文件,以作為OPC UA服務(wù)器地址空間實現(xiàn)實例化信息的數(shù)據(jù)來源。
圖3 建模流程Fig.3 Modeling flow
上下料機器人在機械制造加工車間的運動控制、設(shè)備故障和抓取精度退化問題十分突出[23]。如何實時獲取機器人位置運行數(shù)據(jù)、設(shè)備報警/故障原因等成為監(jiān)測重點。
根據(jù)監(jiān)測需求和設(shè)備主要功能要求,對上下料機器人作業(yè)過程中涉及到的關(guān)鍵數(shù)據(jù)進行建模。通過對上下料機器人系統(tǒng)組織結(jié)構(gòu)與生產(chǎn)過程進行抽象分析,建立上下料機器人數(shù)據(jù)類型到OPC UA對象類型節(jié)點的映射。對象類型分共有和私有類型,設(shè)備共有類型模型定義了機器人與機械制造加工車間其他主要加工設(shè)備(如加工中心、數(shù)控車床)共有的屬性,如圖4所示。例如,過程運行類型屬于過程屬性集,過程屬性集定義在生產(chǎn)過程中采集的、隨生產(chǎn)過程變化而變化的數(shù)據(jù),是動態(tài)屬性數(shù)據(jù)的集合。如過程運行類型的設(shè)備狀態(tài)數(shù)據(jù)變量、啟動和急??刂品椒ǖ?,其定義如表1所示。
圖4 設(shè)備共有類型模型Fig.4 Common model types of devices
表1 過程運行類型Tab.1 Process operation types
由于機械制造加工車間多元異構(gòu)設(shè)備的控制系統(tǒng)和機械組織結(jié)構(gòu)存在差異,設(shè)備功能和應(yīng)用場景不同,但可根據(jù)上下料機器人的結(jié)構(gòu)特點和應(yīng)用需求將機器人設(shè)備私有類型總結(jié)為5類,將這些類型映射為OPC UA中的對象類型節(jié)點,如表2所示。
表2 私有組件類型Tab.2 Private component types
圖5為上下料機器人的OPC UA信息模型結(jié)構(gòu)。機器人類型(RobotType)有4個特有屬性作為靜態(tài)字符串變量表示機器人的靜態(tài)特性,5個子對象類型描述機器人組件屬性??刂破黝愋?ControllerType)用于處理實時數(shù)據(jù)的變量,如控制狀態(tài)、作業(yè)模式;關(guān)節(jié)類型(JointType)用于處理6個關(guān)節(jié)對象的節(jié)點,提供機器人J1-J6關(guān)節(jié)的速度、角度、角速度、旋轉(zhuǎn)速度;伺服類型(ServoType)用于提供機器人各軸伺服驅(qū)動相關(guān)的信息,如伺服狀態(tài)、速度、負載;機械卡爪類型(ClawType)用于描述卡爪工作狀態(tài)是鎖緊還是放松;行走軸類型(WalkingAxisType)為附加軸類型,該對象類型包括有效行程、坐標、行走速度等信息,行走軸伺服信息繼承于伺服系統(tǒng)類型。
圖5 OPC UA信息模型結(jié)構(gòu)Fig.5 OPC UA information model structure
以機器人關(guān)節(jié)類型為例,上下料機器人六關(guān)節(jié)機械手的操作有6個獨立驅(qū)動的關(guān)節(jié)結(jié)構(gòu),機械手臂是利用X、Y、Z軸的旋轉(zhuǎn)和移動到達規(guī)定位置,主要有位置和速度相關(guān)數(shù)據(jù)。上下料機器人關(guān)節(jié)類型具體定義如表3所示。
表3 關(guān)節(jié)類型定義Tab.3 Definitions of joint types
通過共有和私有類型模型結(jié)合,可較完整地覆蓋上下料機器人加工作業(yè)產(chǎn)生的關(guān)鍵動靜態(tài)數(shù)據(jù)。
這些節(jié)點是從泛型信息模型中類型定義實例化的變量,如Joint_Speed表示機器人關(guān)節(jié)的運動速度,是一個雙精度浮點只讀變量,最小間隔采樣為100 ms,父節(jié)點數(shù)據(jù)關(guān)聯(lián)對象指示JointType。關(guān)節(jié)對象的子節(jié)點屬性如表4所示。
表4 關(guān)節(jié)對象節(jié)點和屬性Tab.4 Nodes and attributes of joint objects
定義模型僅為抽象信息模型框架,按照類型定義所屬類別和語義填充模型框架中的各類信息元素,把抽象類型轉(zhuǎn)化為具體設(shè)備存在的對象實例信息,形成具有實際功能意義的上下料機器人OPC UA信息模型對象[19,22]。以上下料機器人關(guān)節(jié)為例,關(guān)節(jié)對象實例化信息模型如圖6所示。其中,讀數(shù)變量的實例化初始值設(shè)置成0.0,當實現(xiàn)實時數(shù)據(jù)源與OPC UA服務(wù)器對應(yīng)節(jié)點相互綁定之后,讀數(shù)變量值將會刷新成實際值。
圖6 關(guān)節(jié)對象實例化Fig.6 Sample of joint objects
以圖形方式直觀展示機器人信息模型,轉(zhuǎn)換可視化信息模型為OPC UA服務(wù)器可理解和解析的形式。利用建模生成器UA Modeler創(chuàng)建生成機器人OPC UA信息模型和模型描述文件,圖7為可視化的機器人部分OPC UA信息模型。
圖7 可視化模型Fig.7 Visual model:(a)sample 1;(b)sample 2
利用UA Modeler建模工具生成能被OPC UA服務(wù)器解析識別的XML描述文件,通過XML源模型文件實現(xiàn)機器人OPC UA信息模型的映射。上下料機器人信息模型的XML描述文件如圖8所示。
圖8 XML文件Fig.8 XML file
以機器人XML文件為輸入,綜合采用Python、Open62541、Cmake等工具解析XML文檔為OPC UA服務(wù)器可識別代碼。模型編譯結(jié)果如圖9所示。
圖9 模型編譯Fig.9 Model compiling
開發(fā)OPC UA服務(wù)器,模塊化構(gòu)建OPC UA服務(wù)器數(shù)據(jù)訪問、過程連接、地址空間管理等功能模塊,實例化信息模型,Modbus協(xié)議、以太網(wǎng)方式獲取機器人數(shù)據(jù)源,數(shù)據(jù)映射關(guān)聯(lián)到地址空間對應(yīng)節(jié)點實現(xiàn)數(shù)據(jù)訪問模塊。過程連接負責向上和向下傳輸實時數(shù)據(jù)和數(shù)據(jù)綁定。過程信息將被過程連接作為實時數(shù)據(jù)收集,將其指定給相應(yīng)變量節(jié)點,客戶端調(diào)用UA服務(wù)集處理過程數(shù)據(jù)。UA客戶端通過UA服務(wù)器提供的服務(wù)集和節(jié)點管理顯示機器人信息模型并讀取或修改相應(yīng)數(shù)據(jù)。OPC UA服務(wù)器開發(fā)結(jié)構(gòu)如圖10所示。
圖10 OPC UA服務(wù)器開發(fā)結(jié)構(gòu)Fig.10 OPC UA server structure
綜合利用Open62541 v1.1開源庫開發(fā)一個基于QT的OPC UA客戶端。UA客戶端右側(cè)建立與UA服務(wù)器通信連接,包括配置網(wǎng)絡(luò)地址和端口號、加載安全證書等,測試情況如圖11所示。結(jié)果表明:OPC UA客戶端能與OPV UA服務(wù)器建立正常通信,上下料機器人OPC UA信息模型能實現(xiàn)瀏覽、讀取和訂閱,上下料機器人信息模型可以很好地進行訪問,相應(yīng)節(jié)點信息可以成功實現(xiàn)監(jiān)控管理,證明了在OPC UA框架下構(gòu)建的上下料機器人實例化信息模型的正確性。
圖11 OPC UA客戶端測試Fig.11 OPC UA client test
選擇典型剎車盤柔性加工單元對機器人OPC UA信息模型進行綜合協(xié)同建模,開發(fā)基于OPC UA信息模型的上下料機器人監(jiān)測系統(tǒng)進行應(yīng)用試驗。剎車盤柔性加工單元現(xiàn)場應(yīng)用環(huán)境如圖12所示。
圖12 應(yīng)用環(huán)境Fig.12 Application environment:(a)model;(b)real field
上下料機器人的各類生產(chǎn)加工關(guān)鍵數(shù)據(jù)在OPC UA地址空間統(tǒng)一轉(zhuǎn)換成語義格式一致的數(shù)據(jù)并存儲于MySQL數(shù)據(jù)庫。數(shù)據(jù)庫向UA服務(wù)器映射,向上和向下傳遞數(shù)據(jù)。監(jiān)測系統(tǒng)讀取數(shù)據(jù),可視化顯示相關(guān)內(nèi)容實現(xiàn)數(shù)據(jù)應(yīng)用。上下料機器人的監(jiān)測界面和機器人示教器操作界面分別如圖13和圖14所示。監(jiān)測系統(tǒng)獲取結(jié)果與真實機器人示教器中讀取的數(shù)據(jù)進行對比,結(jié)果表明基于OPC UA信息模型的監(jiān)測系統(tǒng)能實現(xiàn)上下料機器人運行狀態(tài)監(jiān)測。
圖13 監(jiān)控界面Fig.13 Monitor interface
圖14 機器人示教器界面Fig.14 Interface of robot demonstrator
與常見監(jiān)控系統(tǒng)不同的是,該上下料機器人監(jiān)測系統(tǒng)后臺的數(shù)據(jù)應(yīng)用均來源于OPC UA服務(wù)器地址空間,OPC UA服務(wù)器各功能模塊與OPC UA客戶端綜合實現(xiàn)了上下料機器人數(shù)據(jù)源格式和語義標準化和數(shù)據(jù)的統(tǒng)一通信,同時數(shù)據(jù)操作也得到統(tǒng)一。應(yīng)用結(jié)果表明:設(shè)計的上下料機器人OPC UA信息模型能較好覆蓋監(jiān)測系統(tǒng)的數(shù)據(jù)應(yīng)用需求,驗證了信息模型的完整性、實用性和所提框架的可行性。
針對性設(shè)計了上下料機器人OPC UA信息模型,將其應(yīng)用于監(jiān)測系統(tǒng)中,有效解決了底層數(shù)據(jù)源格式語義和數(shù)據(jù)通信不一致的問題,進一步促進了系統(tǒng)信息集成和設(shè)備間的互聯(lián)互通和互操作。這為機械制造加工車間信息化、智能化建設(shè)提供了參考。