徐凱,曹錦江,王瑞琪,劉嘉良,徐艷林
(南京工程學(xué)院 自動(dòng)化學(xué)院,南京 211167)
隨著中國(guó)提出“中國(guó)制造2025”以及德國(guó)提出“工業(yè)4.0”等制造業(yè)發(fā)展戰(zhàn)略,智能制造成為制造業(yè)轉(zhuǎn)型升級(jí)的主要發(fā)展方向,“智能制造工程”成為“中國(guó)制造2025”五大工程之一。數(shù)字化設(shè)計(jì)與仿真及虛實(shí)結(jié)合的虛擬調(diào)試技術(shù)得到進(jìn)一步研究與應(yīng)用。國(guó)內(nèi)學(xué)者對(duì)虛擬調(diào)試技術(shù)做了大量研究并取得了諸多成效。禹鑫燚等[1]提出通過(guò)數(shù)據(jù)庫(kù)完成控制設(shè)備和虛擬模型之間的信號(hào)交互,實(shí)現(xiàn)加工系統(tǒng)對(duì)3D模型的虛擬調(diào)試。劉歡連[2]提出結(jié)合數(shù)字孿生技術(shù),選用OPC、SDK及API技術(shù)實(shí)現(xiàn)數(shù)據(jù)采集來(lái)驅(qū)動(dòng)仿真模型。林裕程等[3]提出基于西門子SIMIT UNIT單元驅(qū)動(dòng)3D機(jī)床模型的數(shù)字孿生數(shù)控機(jī)床虛擬調(diào)試技術(shù)。
王俊杰等[4]提出一種基于西門子MCD的并行概念設(shè)計(jì)理念,運(yùn)用OPC(OLE for Process Control)通信技術(shù)作為實(shí)時(shí)虛擬驗(yàn)證的實(shí)現(xiàn)手段。高建超等[5]提出借助西門子Tecnomatix平臺(tái)對(duì)機(jī)器人滾邊制造過(guò)程進(jìn)行虛擬調(diào)試以提高調(diào)試效率。王剛等[6]提出采用基于Tecnomatix平臺(tái)、OPC技術(shù)、Siemens的PLCsim建立完全虛擬化的仿真平臺(tái),實(shí)現(xiàn)完全虛擬化的白車身生產(chǎn)環(huán)境仿真,縮短了調(diào)試周期,降低了調(diào)試成本投入。
白瑞峰等[7]利用Visual Components(VC)搭建的虛擬對(duì)象代替了機(jī)械對(duì)象,通過(guò)MES專用模塊可與真實(shí)的PLC進(jìn)行數(shù)據(jù)交互而實(shí)現(xiàn)虛擬調(diào)試。王寶平等[8]利用FANUC NC GUIDE仿真軟件實(shí)現(xiàn)數(shù)控機(jī)床電氣虛擬調(diào)試。通過(guò)上述文獻(xiàn)可以看出,有的基于品牌虛擬仿真軟件平臺(tái)完成虛擬調(diào)試,成本較高;有的自行開發(fā)虛實(shí)結(jié)合通信軟件,通信模塊具有專用性;有的是純虛擬仿真,沒(méi)有使用數(shù)據(jù)驅(qū)動(dòng)三維建模,在工程項(xiàng)目和實(shí)驗(yàn)中都起到了很好的使用效果。
本文介紹一種通用性更好、虛實(shí)相結(jié)合的虛擬調(diào)試可視化方法,以機(jī)械加工行業(yè)智能制造設(shè)備中常用的數(shù)控機(jī)床上下料單元為研究對(duì)象,開發(fā)機(jī)器人上下料PLC控制程序,通過(guò)構(gòu)建和開發(fā)通用數(shù)控機(jī)床機(jī)器人虛擬調(diào)試可視化平臺(tái),解決了數(shù)控機(jī)床上下料單元控制程序直接電氣調(diào)試風(fēng)險(xiǎn)大、成本高、周期長(zhǎng)、不如實(shí)物調(diào)試直觀等問(wèn)題。
在制造業(yè)中虛擬調(diào)試就是利用數(shù)字化技術(shù)手段創(chuàng)建出物理制造環(huán)境的數(shù)字復(fù)制品,在整個(gè)設(shè)備制造完成之前完成部分或全部設(shè)備離線調(diào)試,可以機(jī)械裝配虛擬調(diào)試,也可以自動(dòng)化設(shè)備控制邏輯虛擬調(diào)試。虛擬調(diào)試技術(shù)可以大幅縮短后續(xù)現(xiàn)場(chǎng)調(diào)試時(shí)間,提高項(xiàng)目實(shí)施的效率,降低設(shè)計(jì)錯(cuò)誤帶來(lái)的風(fēng)險(xiǎn)[9]。設(shè)備制造常規(guī)設(shè)計(jì)流程與虛擬調(diào)試流程對(duì)比如圖1所示。從圖1可以看出,虛擬調(diào)試能夠大大節(jié)省調(diào)試和制造時(shí)間,提高了生產(chǎn)效率。
圖1 傳統(tǒng)設(shè)計(jì)流程與虛擬仿真調(diào)試流程對(duì)比關(guān)系圖
本課題研究在通用數(shù)控機(jī)床基礎(chǔ)上,追加機(jī)器人上下料電氣控制功能,在開發(fā)控制邏輯過(guò)程中,涉及到與外部設(shè)備I/O連接,為此把數(shù)控機(jī)床與外部設(shè)備相連的I/O信號(hào)連接至以太網(wǎng)I/O模塊,然后模塊再通過(guò)以太網(wǎng)接口與PC電腦相連,再利用3D Max建模軟件設(shè)計(jì)上下料單元實(shí)物數(shù)字孿生模型,在PC電腦上開發(fā)數(shù)控機(jī)床數(shù)據(jù)采集交互I/O信號(hào)通信程序,利用Untiy 3D引擎軟件開發(fā)設(shè)計(jì)虛擬調(diào)試動(dòng)畫軟件,再通過(guò)采集的數(shù)據(jù)驅(qū)動(dòng)虛擬調(diào)試三維建模動(dòng)畫,三維模型執(zhí)行結(jié)果再通過(guò)遠(yuǎn)程物聯(lián)網(wǎng)I/O模塊輸出給數(shù)控機(jī)床輸入,虛擬調(diào)試硬件方案如圖2所示。
圖2 上下料單元虛擬調(diào)試方案
在數(shù)控機(jī)床電氣控制基礎(chǔ)上設(shè)計(jì)機(jī)器人上下料I/O信號(hào),把數(shù)控機(jī)床需要與機(jī)器人連接I/O信號(hào)分別連接到以太網(wǎng)I/O輸入模塊和輸出模塊,再通過(guò)交換機(jī)把輸入和輸出以太網(wǎng)I/O模塊及PC電腦互聯(lián)。然后在PC電腦上對(duì)機(jī)器人、數(shù)控機(jī)床、機(jī)器人運(yùn)動(dòng)導(dǎo)軌、毛坯庫(kù)、成品庫(kù)等實(shí)物三維建模和集成裝配,最后開發(fā)數(shù)據(jù)采集程序和數(shù)據(jù)驅(qū)動(dòng)模型軟件功能。
項(xiàng)目實(shí)施輸入輸出I/O模塊可以總線組網(wǎng),使I/O數(shù)字量點(diǎn)數(shù)得到靈活擴(kuò)展;I/O模塊能同時(shí)支持以太網(wǎng)和RS485信號(hào)通信方式,支持標(biāo)準(zhǔn)的Modbus協(xié)議;I/O信號(hào)類型可根據(jù)現(xiàn)場(chǎng)需要進(jìn)行靈活配置。
項(xiàng)目研究選用FANUC 0i數(shù)控系統(tǒng),數(shù)控系統(tǒng)I/O模塊為96點(diǎn)入/64點(diǎn)出,該模塊輸入輸出I/O接口除大部分用于數(shù)控機(jī)床本體功能使用外,還有多余信號(hào)接口,因此把多余的I/O接口用于追加機(jī)器人上下料互聯(lián)信號(hào)。加工中心與機(jī)器人上下料信號(hào)如表1所示,分別是門開和門關(guān)到位信號(hào),輸出門開和門關(guān)電磁閥信號(hào),工作臺(tái)臺(tái)鉗工件夾緊和松開到位信號(hào),輸出臺(tái)鉗工件夾緊和松開電磁閥信號(hào),還有與機(jī)器人交互輸入輸出信號(hào)。
表1 上下料功能開發(fā)用輸入輸出地址一覽表
數(shù)控機(jī)床PLC接口與以太網(wǎng)I/O模塊連接如圖3所示。從圖3看出,數(shù)控機(jī)床輸出控制信號(hào)給機(jī)器人和機(jī)床外圍設(shè)備,機(jī)床外圍設(shè)備和機(jī)器人信號(hào)運(yùn)行狀態(tài)提供給數(shù)控機(jī)床。理解信號(hào)關(guān)系對(duì)上下料控制程序的開發(fā)至關(guān)重要。
圖3 數(shù)控機(jī)床PLC接口與以太網(wǎng)I/O模塊連接圖
根據(jù)虛擬仿真數(shù)控機(jī)床、機(jī)器人、傳送帶等對(duì)象功能和現(xiàn)場(chǎng)實(shí)物,擬定了軟件開發(fā)方案,如圖4所示。軟件開發(fā)主要是數(shù)據(jù)交互畫面模塊、數(shù)據(jù)采集通信模塊,采集的數(shù)據(jù)驅(qū)動(dòng)相關(guān)的動(dòng)畫模塊,動(dòng)畫畫面主要有開門、關(guān)門、工作臺(tái)夾緊和松開、機(jī)器人上料和下料動(dòng)畫等。
圖4 虛擬仿真軟件開發(fā)方案軟件模塊組成
課題開發(fā)軟件平臺(tái)主要利用3D Max建模軟件和Unity 3D 引擎仿真軟件。
3.2.1 三維建模方案
在虛擬調(diào)試項(xiàng)目開發(fā)當(dāng)中,利用3D Max三維建模軟件分別對(duì)機(jī)器人、數(shù)控機(jī)床、機(jī)器人運(yùn)動(dòng)導(dǎo)軌、毛坯庫(kù)、成品庫(kù)等實(shí)物部件進(jìn)行1∶1比例三維建模。三維建模方案如圖5所示。
圖5 三維建模方案實(shí)物組成
3.2.2 組件建模
3D Max是基于PC系統(tǒng)的三維建模、動(dòng)畫、渲染的制作軟件,擁有許多理想的命令供制作者使用。常用于建筑模型、工業(yè)模型、室內(nèi)設(shè)計(jì)等行業(yè),基本上能滿足一般的3D建模的需求[10]。
根據(jù)三維建模方案和建模軟件特點(diǎn),利用建模軟件工具分別對(duì)加工中心、機(jī)器人、地軌、毛坯和成品庫(kù)實(shí)物進(jìn)行數(shù)字化建模。在三維建模時(shí)使用相對(duì)實(shí)物較為精確的數(shù)據(jù)與比例,保證建模的效果滿足實(shí)物要求,通過(guò)選擇基本的幾何體、二維線條、復(fù)合幾何體、布爾運(yùn)算、三維造型等多種方法綜合在一起進(jìn)行建模[11]。
3.2.3 可視化場(chǎng)景
Unity 3D仿真引擎軟件支持多平臺(tái)發(fā)布,可獨(dú)立運(yùn)行,能夠進(jìn)行工業(yè)數(shù)據(jù)通信,通過(guò)國(guó)際通信標(biāo)準(zhǔn)OPC協(xié)議或函數(shù)、數(shù)據(jù)庫(kù)等方法可將工業(yè)信號(hào)或數(shù)據(jù)實(shí)時(shí)傳輸給Unity 3D,即可根據(jù)現(xiàn)實(shí)的工業(yè)狀態(tài)進(jìn)行虛擬仿真,這大大增強(qiáng)了仿真的現(xiàn)實(shí)性與準(zhǔn)確性,即能實(shí)現(xiàn)物理實(shí)體與虛擬模型之間的映射[12]。
根據(jù)3D Max建模結(jié)果,導(dǎo)出Unity 3D仿真軟件支持的fbx 格式模型,導(dǎo)出時(shí)一定要注意選擇“EmbedMedia”(嵌入媒體)、“Auto Generate”(自動(dòng)烘焙)、“use external materails(legacy)”(外部材質(zhì)),“from model‘s materails”(取自模型材質(zhì))等參數(shù)設(shè)置。導(dǎo)入模型完成,再利用Unity 3D軟件提供的烘焙功能進(jìn)行場(chǎng)景渲染。還要注意兩種軟件的左手/右手坐標(biāo)系轉(zhuǎn)換、比例尺寸關(guān)系等[13]。
3.2.4 三維模型動(dòng)畫設(shè)計(jì)
通過(guò)Unity 3D 引擎開發(fā),使用引擎自帶的Animate動(dòng)畫插件設(shè)計(jì)模型動(dòng)畫。開發(fā)設(shè)計(jì)的動(dòng)畫內(nèi)容如表2所示。
表2 開發(fā)的動(dòng)畫清單一覽表
3.3.1 模塊參數(shù)設(shè)置
以太網(wǎng)I/O模塊是把現(xiàn)場(chǎng)設(shè)備I/O開關(guān)量信號(hào)轉(zhuǎn)換成以太網(wǎng)等通信協(xié)議的設(shè)備模塊,供后續(xù)軟件進(jìn)行數(shù)據(jù)采集和監(jiān)控,因涉及I/O信號(hào)的高低電平、輸入輸出定義、觸發(fā)方式、以太網(wǎng)IP地址、模塊通信方式(RS232/RS485/MODBUS RUT/ MODBUS TCP)、端口號(hào)等參數(shù),因此需要根據(jù)產(chǎn)品配套軟件進(jìn)行參數(shù)設(shè)置。其中設(shè)置參數(shù)部分畫面如圖6所示。模塊還提供了調(diào)試工具,可以用于測(cè)試I/O與機(jī)床連接關(guān)系。
圖6 以太網(wǎng)I/O模塊參數(shù)設(shè)置畫面
3.3.2 數(shù)據(jù)采集原理框圖
項(xiàng)目選用C#作為開發(fā)語(yǔ)言,因電腦與以太網(wǎng)I/O模塊基于以太網(wǎng)物理連接,根據(jù)參數(shù)設(shè)置,選擇MODBUS TCP協(xié)議作為項(xiàng)目軟件開發(fā)通信協(xié)議,以太網(wǎng)I/O模塊Modbus TCP通信系統(tǒng)由服務(wù)器和客戶端兩部分組成。首先,經(jīng)過(guò)3次握手,TCP連接成功建立。通信軟件開發(fā)原理如圖7所示。客戶端向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求,服務(wù)器接收到請(qǐng)求報(bào)文后,對(duì)報(bào)文進(jìn)行解析,得到客戶端所需求的寄存器數(shù)據(jù)起始地址和數(shù)量。然后,啟動(dòng)響應(yīng)發(fā)送包含所需數(shù)據(jù)對(duì)應(yīng)的應(yīng)答報(bào)文。最后由客戶端解析相應(yīng)報(bào)文,得到所請(qǐng)求的數(shù)據(jù)[14]。當(dāng)客戶端發(fā)送的報(bào)文格式有誤時(shí),服務(wù)器返回包含錯(cuò)誤碼的響應(yīng)報(bào)文,告知客戶端請(qǐng)求報(bào)文有誤。
圖7 MODBUS TCP服務(wù)器端與客戶端通信關(guān)系
3.3.3 輸入輸出數(shù)據(jù)處理
1)輸入信號(hào)采集過(guò)程。軟件開發(fā)通過(guò)Modbus TCP協(xié)議與以太網(wǎng)I/O模塊進(jìn)行通信,軟件實(shí)時(shí)讀取以太網(wǎng)I/O模塊信息,當(dāng)輸入模塊接收到來(lái)自機(jī)床的輸出信號(hào)時(shí),以太網(wǎng)I/O模塊的輸入模塊將機(jī)床的DI輸入信號(hào)轉(zhuǎn)換為十六進(jìn)制的報(bào)文指令通過(guò)Modbus TCP協(xié)議傳輸PC電腦。PC電腦再經(jīng)過(guò)轉(zhuǎn)換協(xié)議進(jìn)行解析,通過(guò)將十六進(jìn)制報(bào)文轉(zhuǎn)換為二進(jìn)制后獲取每一位數(shù)字當(dāng)前值,1為有DI輸入,0為沒(méi)有DI輸入(例:0000000000000111,此時(shí)為DI1、DI2、DI3有信號(hào))。再根據(jù)交互畫面參數(shù)設(shè)置DI定義功能,為虛擬仿真調(diào)試做好準(zhǔn)備。
2)輸出信號(hào)處理過(guò)程。仿真軟件根據(jù)輸入信號(hào)定義的功能播放設(shè)計(jì)指定動(dòng)畫,系統(tǒng)根據(jù)交互畫面參數(shù)設(shè)置DO定義功能,自動(dòng)驅(qū)動(dòng)模型運(yùn)行,當(dāng)模型動(dòng)畫完成到達(dá)延時(shí)時(shí)間后,仿真軟件發(fā)送報(bào)文指令給以太網(wǎng)I/O輸出模塊,控制以太網(wǎng)I/O輸出模塊繼電器線圈打開,輸出信號(hào)送給相應(yīng)的機(jī)床輸入信號(hào),實(shí)現(xiàn)“虛實(shí)結(jié)合”調(diào)試功能。
數(shù)控銑床或加工中心追加機(jī)器人上下料流程都是大同小異[15-16],項(xiàng)目主要研究從數(shù)控機(jī)床角度的上下料工藝流程。
根據(jù)表1和圖3數(shù)控機(jī)床與上下料機(jī)器人信號(hào)關(guān)系,上料流程如圖8所示,開發(fā)PMC程序,編制上下料子程序。使用M指令或M98指令調(diào)用上下料子程序[16]。
圖8 數(shù)控機(jī)床與機(jī)器人上料動(dòng)作工藝流程
4.2.1 硬件連接信號(hào)測(cè)試
根據(jù)圖3硬件接線情況下,可以利用以太網(wǎng)I/O模塊配置軟件及FANUC PMC診斷畫面測(cè)試輸入輸出信號(hào)連接情況。FANUC數(shù)控系統(tǒng)PMC與以太網(wǎng)I/O模塊信號(hào)關(guān)系如圖9所示。
圖9 數(shù)控機(jī)床與遠(yuǎn)程以太網(wǎng)I/O模塊輸入輸出信號(hào)關(guān)系圖
4.2.2 設(shè)置輸入輸出功能參數(shù)
交互畫面主要是考慮開發(fā)軟件功能的通用性,當(dāng)用戶按圖3施工,但功能定義不同時(shí),交互畫面開發(fā)了參數(shù)設(shè)置畫面,可以自定義輸入輸出模塊功能。參數(shù)設(shè)置畫面如圖10所示。使用時(shí)只要鼠標(biāo)選擇輸入輸出功能即可,且選擇功能具有唯一性,即第一個(gè)輸入輸出功能選擇完,不會(huì)出現(xiàn)在第二項(xiàng)功能選項(xiàng)中。
圖10 交互畫面功能參數(shù)設(shè)置畫面
4.2.3 數(shù)據(jù)驅(qū)動(dòng)與動(dòng)畫實(shí)現(xiàn)虛擬調(diào)試
1)上料過(guò)程數(shù)據(jù)驅(qū)動(dòng)與動(dòng)畫虛擬調(diào)試實(shí)現(xiàn)關(guān)系。以圖3硬件連接為例,上料過(guò)程數(shù)據(jù)驅(qū)動(dòng)與三維模型動(dòng)畫實(shí)現(xiàn)虛擬調(diào)試(如表3)。
表3 上料過(guò)程數(shù)據(jù)驅(qū)動(dòng)虛實(shí)調(diào)試信號(hào)與動(dòng)畫關(guān)系一覽表
2)下料過(guò)程數(shù)據(jù)驅(qū)動(dòng)與動(dòng)畫虛擬調(diào)試實(shí)現(xiàn)關(guān)系。下料過(guò)程數(shù)據(jù)驅(qū)動(dòng)與動(dòng)畫實(shí)現(xiàn)關(guān)系與表3類似,主要差別如下:當(dāng)以太網(wǎng)輸入模塊收到DI7信號(hào)時(shí),啟動(dòng)“機(jī)器人從毛坯抓取位置移動(dòng)到機(jī)床工作臺(tái)下料位置,機(jī)器人伸入到機(jī)床內(nèi)臺(tái)鉗工件位置上方,抓取工件”動(dòng)畫;當(dāng)以太網(wǎng)輸入模塊收到DI8信號(hào)時(shí),啟動(dòng)“機(jī)器人從機(jī)床內(nèi)帶著工件退回到機(jī)床外,移動(dòng)到毛坯位置”動(dòng)畫。相應(yīng)的動(dòng)畫調(diào)試后通過(guò)以太網(wǎng)輸出模塊相應(yīng)DO信號(hào)輸出,其它虛擬調(diào)試動(dòng)畫與上料步驟復(fù)用。虛擬調(diào)試可視化平臺(tái)場(chǎng)景如圖11所示。
圖11 虛擬調(diào)試可視化平臺(tái)場(chǎng)景
該項(xiàng)目開發(fā)成果應(yīng)用在江蘇省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目的虛擬調(diào)試環(huán)節(jié),解決了學(xué)習(xí)數(shù)控機(jī)床電氣調(diào)試開發(fā)上下料程序直接使用機(jī)器人調(diào)試帶來(lái)的安全風(fēng)險(xiǎn)問(wèn)題,同時(shí)也解決了智能制造工程專業(yè)“智能制造系統(tǒng)集成綜合訓(xùn)練”實(shí)習(xí)的機(jī)器人數(shù)量不夠而影響綜合訓(xùn)練實(shí)習(xí)進(jìn)程的問(wèn)題。
虛擬調(diào)試可視化技術(shù)降低了實(shí)物調(diào)試成本,特別降低了調(diào)試可能引起的實(shí)物干涉損壞風(fēng)險(xiǎn)和人身安全風(fēng)險(xiǎn),增強(qiáng)了調(diào)試直觀性效果,提高了項(xiàng)目開發(fā)效率。數(shù)字孿生、虛擬調(diào)試及可視化等技術(shù)是智能制造工程領(lǐng)域的重要技術(shù)發(fā)展趨勢(shì),且會(huì)得到更多的應(yīng)用,通過(guò)以太網(wǎng)I/O模塊為硬件平臺(tái)實(shí)現(xiàn)虛擬仿真調(diào)試,不依賴特定設(shè)備和軟件平臺(tái),通用性強(qiáng),該研究成果可以為類似智能制造設(shè)備調(diào)試及開發(fā)高危實(shí)驗(yàn)環(huán)境的教學(xué)實(shí)驗(yàn)設(shè)備平臺(tái)提供參考。