楊艷芳 賀 煥 舒 亮 楊 秒 陳 萍 吳自然
1. 武漢理工大學(xué)物流工程學(xué)院,武漢,4300632.溫州大學(xué)浙江省低壓電器工程技術(shù)研究中心,溫州,3250273.中鐵第四勘察設(shè)計(jì)院集團(tuán)有限公司,武漢,430063
供電調(diào)度是保證電氣化鐵路正常運(yùn)行的重要內(nèi)容,在牽引供電設(shè)備的安全運(yùn)行、維修和故障處理等工作中起著非常重要的作用。鐵路牽引供電系統(tǒng)中斷路器的保護(hù)作用非常重要,斷路器的穩(wěn)定與可靠性對(duì)保障高速鐵路穩(wěn)定安全運(yùn)行關(guān)系重大[1-2]。小型斷路器日產(chǎn)量巨大,其裝配工藝和制造流程十分復(fù)雜,以手工生產(chǎn)為主的傳統(tǒng)制造方式效率低下,嚴(yán)重制約了產(chǎn)品性能和可靠性的提升,研究和開(kāi)發(fā)以自動(dòng)化、數(shù)字化為主要特征的新型斷路器集成化制造系統(tǒng),對(duì)提升產(chǎn)品性能及其整體生產(chǎn)效率具有重要意義。這一問(wèn)題的解決面臨兩方面的難題:一方面是制造系統(tǒng)的工藝布局與方案設(shè)計(jì)問(wèn)題,方案的制定直接決定了系統(tǒng)未來(lái)的效率與性能,如何確立最佳的規(guī)劃布局,是系統(tǒng)研究過(guò)程中需要解決的首要問(wèn)題;另一方面,斷路器數(shù)字化制造系統(tǒng)以流水線作為其生產(chǎn)組織形式,由于零部件眾多,制造工藝復(fù)雜,裝配過(guò)程涉及硬件設(shè)備、裝配對(duì)象、零部件約束、裝配序列等復(fù)雜因素,故流程復(fù)雜,邏輯關(guān)系繁多,所導(dǎo)致的生產(chǎn)節(jié)拍調(diào)整和時(shí)間控制問(wèn)題是需要解決的第二個(gè)難題。
時(shí)間Petri網(wǎng)模型[3-4]以及基于該模型的虛擬現(xiàn)實(shí)技術(shù)為解決上述問(wèn)題提供了有效手段。通過(guò)虛擬仿真技術(shù),人的知識(shí)和經(jīng)驗(yàn)可以有效移植到虛擬制造系統(tǒng)中,形成以沉浸式交互技術(shù)和三維立體模型為基礎(chǔ)的虛擬系統(tǒng),也可以更加直觀地展示制造系統(tǒng)整體性能,能更方便地掌握流水線的三維布局以及工藝的優(yōu)化和改進(jìn)。此外,通過(guò)Petri網(wǎng)對(duì)流水線行為特征和變遷規(guī)律建模,借助抽象的邏輯建模方法,可以在理論層面準(zhǔn)確描述系統(tǒng)行為特征,進(jìn)而進(jìn)行制造過(guò)程行為分析和精煉,所得結(jié)論可以為流水線的設(shè)計(jì)與控制提供重要參考。
斷路器的裝配制造過(guò)程可以等效為動(dòng)態(tài)異步并發(fā)型的離散事件系統(tǒng),涉及時(shí)間序列和多節(jié)拍匹配問(wèn)題,在時(shí)間和空間上均是離散的。Petri網(wǎng)建模是一種描述該系統(tǒng)的有效方法,它在車間調(diào)度[5-6]、交通控制[7-8]、故障診斷[9]和供應(yīng)鏈仿真[10]等離散事件系統(tǒng)中得到了廣泛應(yīng)用。通過(guò)Petri網(wǎng)建模,可以清晰描述系統(tǒng)內(nèi)部的并發(fā)沖突及相互作用。曹政才等[11]提出了一種基于有色賦時(shí)Petri網(wǎng)的半導(dǎo)體生產(chǎn)線建模方法,將半導(dǎo)體生產(chǎn)線分為不同的調(diào)度和控制模塊,來(lái)分析生產(chǎn)線調(diào)度與控制性能;徐彪等[12]在Petri網(wǎng)庫(kù)所及變遷中引入時(shí)間屬性來(lái)表征電力系統(tǒng)警告信息的時(shí)序約束關(guān)系,提出了一種基于模糊時(shí)間Petri網(wǎng)的電網(wǎng)故障診斷方法,優(yōu)化了在線調(diào)控運(yùn)行;張偉軍等[13]采用時(shí)延Petri網(wǎng)對(duì)裝配機(jī)器人等柔性裝配單元進(jìn)行建模,分析不同作業(yè)任務(wù)的時(shí)間消耗,對(duì)任務(wù)規(guī)劃的時(shí)間進(jìn)行了優(yōu)化;ULLAH等[14]提出了一種基于裝配序列優(yōu)化裝配方案的通用Petri網(wǎng)模型,建立了靈活的裝配系統(tǒng)結(jié)構(gòu)模型。這些文獻(xiàn)主要研究在Petri網(wǎng)中加入時(shí)間等元素,建立基于時(shí)間Petri網(wǎng)模型,對(duì)特定的制造系統(tǒng)/生產(chǎn)線進(jìn)行優(yōu)化或調(diào)度控制。這些方法僅局限于對(duì)模型和工藝的研究與討論,缺乏后續(xù)的仿真驗(yàn)證,沒(méi)有將模型計(jì)算結(jié)果進(jìn)行形象化的對(duì)比和展示,同時(shí)缺乏交互性。
采用商業(yè)化軟件對(duì)Petri網(wǎng)模型進(jìn)行仿真也是另一項(xiàng)重要研究?jī)?nèi)容。潘春榮等[15]采用Petri網(wǎng)建立了印刷包裝生產(chǎn)系統(tǒng)的賦時(shí)Petri網(wǎng)模型,依據(jù)Petri網(wǎng)模型邏輯關(guān)系,運(yùn)用eM-Plant仿真軟件進(jìn)行了模擬生產(chǎn);梅江平等[16]提出一種以高速搬運(yùn)機(jī)器人為核心的新型果奶包裝生產(chǎn)線設(shè)計(jì)方法,建立了系統(tǒng)的Petri網(wǎng)模型,基于不變量方法分析生產(chǎn)線系統(tǒng)的可達(dá)性、安全性,同時(shí)通過(guò)eM-Plant軟件進(jìn)行仿真;WANG等[17]提出基于Petri網(wǎng)的生產(chǎn)線模型,建立了Petri網(wǎng)模型與eM-Plant離散系統(tǒng)模型之間的映射關(guān)系,在不同的輸入條件下進(jìn)行合理的仿真實(shí)驗(yàn)。這些研究通過(guò)商業(yè)軟件對(duì)Petri網(wǎng)模型進(jìn)行了仿真,給出了不同工藝設(shè)計(jì)對(duì)制造過(guò)程的影響,然而商業(yè)化的仿真軟件僅可以為特定對(duì)象提供數(shù)值化的反饋結(jié)果,研究者只能通過(guò)在固定化的開(kāi)發(fā)接口上獲取需要的信息,缺乏交互性。同時(shí),數(shù)值化的仿真結(jié)果對(duì)于用戶而言,缺乏直觀性和生動(dòng)性。
本文針對(duì)斷路器數(shù)字化制造的布局和設(shè)計(jì)問(wèn)題,提出一種基于時(shí)間Petri網(wǎng)建模的虛擬仿真技術(shù),以Unity 3D作為虛擬現(xiàn)實(shí)開(kāi)發(fā)平臺(tái),建立了基于時(shí)間節(jié)拍約束的嵌套式Petri網(wǎng)模型組,并建立了基于C#函數(shù)庫(kù)的虛擬裝配系統(tǒng)數(shù)據(jù)交換引擎,可以通過(guò)Wi-Fi、工業(yè)串口實(shí)現(xiàn)與實(shí)體系統(tǒng)的數(shù)據(jù)交換。為降低系統(tǒng)邏輯復(fù)雜性,提高Petri網(wǎng)模型結(jié)構(gòu)的可重用性,根據(jù)生產(chǎn)線單元層級(jí)相互關(guān)系,對(duì)斷路器數(shù)字化制造單元進(jìn)行了模塊層次化設(shè)計(jì),將斷路器裝配線分為系統(tǒng)整體線路裝配模塊、零部件互相配合模塊和單個(gè)零件上料模塊,結(jié)合案例研究其在系統(tǒng)中的調(diào)度和控制問(wèn)題,并給出了具體的仿真和分析結(jié)果。
斷路器裝配生產(chǎn)線包括外殼上料、手柄裝配、磁系統(tǒng)、熱系統(tǒng)等13項(xiàng)基本流程,見(jiàn)圖1。整個(gè)生產(chǎn)線中,裝配主體置于承座,并通過(guò)傳送帶完成裝配動(dòng)作和回流循環(huán)使用。整個(gè)裝配生產(chǎn)系統(tǒng)包括被加工對(duì)象和生產(chǎn)線裝備本身,涉及裝配動(dòng)作、約束關(guān)系和裝配序列等過(guò)程,十分復(fù)雜。

圖1 生產(chǎn)線構(gòu)成Fig.1 The components of production line
小型斷路器的內(nèi)部零件模型見(jiàn)圖2,包括手柄結(jié)構(gòu)、連動(dòng)機(jī)構(gòu)、熱系統(tǒng)、磁系統(tǒng)等,零部件數(shù)量較多,尺寸和大小不一,裝配過(guò)程復(fù)雜。裝配流程包含零件的自動(dòng)上料、依次配合、組件裝配和壓合檢測(cè)等。生產(chǎn)線工藝流程設(shè)計(jì)時(shí),斷路器內(nèi)部零部件的結(jié)構(gòu)信息是重點(diǎn)考慮內(nèi)容。

圖2 斷路器零部件模型圖Fig.2 Model drawing of circuit breaker parts
斷路器生產(chǎn)線的結(jié)構(gòu)層次關(guān)系和包含的裝配動(dòng)作見(jiàn)圖3,斷路器生產(chǎn)線13道工藝分布在9個(gè)系統(tǒng)單元,每個(gè)系統(tǒng)單元包含特定的機(jī)械設(shè)備與零件,設(shè)備相互配合運(yùn)動(dòng)完成相應(yīng)的零件上料、零件配合、零件壓合與檢測(cè)等工作。整個(gè)系統(tǒng)包含串行動(dòng)作269個(gè),并行動(dòng)作139個(gè),在每個(gè)生產(chǎn)節(jié)拍中總共需要完成327個(gè)動(dòng)作,系統(tǒng)的零部件總數(shù)達(dá)到4 568個(gè),并且每個(gè)動(dòng)作和零件需要根據(jù)相應(yīng)的邏輯和時(shí)序進(jìn)行配合運(yùn)動(dòng),系統(tǒng)運(yùn)行過(guò)程和邏輯控制較為復(fù)雜,需要采用邏輯層次模型對(duì)該生產(chǎn)過(guò)程和運(yùn)動(dòng)控制進(jìn)行描述。

圖3 斷路器生產(chǎn)線部分結(jié)構(gòu)圖Fig.3 Structure diagram of circuit breaker production line
整個(gè)斷路器裝配系統(tǒng)單元繁多,且流程復(fù)雜,各單元間的邏輯關(guān)系設(shè)計(jì)、時(shí)間節(jié)拍的同步和異步協(xié)調(diào)等問(wèn)題,是進(jìn)行自動(dòng)化裝配線設(shè)計(jì)與仿真的難點(diǎn)。基本Petri網(wǎng)模型可以對(duì)離散并行系統(tǒng)進(jìn)行描述,但是缺乏時(shí)間信息。為解決此問(wèn)題,采用分級(jí)設(shè)置Petri網(wǎng)模型,并引入時(shí)間域、零部件信息等元素對(duì)Petri網(wǎng)進(jìn)行補(bǔ)充和建模,實(shí)現(xiàn)Petri網(wǎng)絡(luò)模型的優(yōu)化。
1.2.1時(shí)間節(jié)拍約束
系統(tǒng)仿真的運(yùn)動(dòng)通過(guò)時(shí)序信息來(lái)進(jìn)行驅(qū)動(dòng),時(shí)間節(jié)拍的設(shè)計(jì)具有重要意義。在實(shí)際生產(chǎn)線中,裝配過(guò)程是連續(xù)的,每道工序的節(jié)拍時(shí)間相同,而且同一工序的裝配過(guò)程是相同而重復(fù)的,假設(shè)在仿真過(guò)程中,單個(gè)零件的最小裝配時(shí)間節(jié)拍為Ta,在0~Ta中完成一個(gè)零件的裝配過(guò)程,然后做周期運(yùn)動(dòng),可達(dá)到單元聯(lián)動(dòng)效果。由裝配關(guān)系和系統(tǒng)運(yùn)動(dòng)時(shí)間連貫性可知,每個(gè)單元的時(shí)間分配包括運(yùn)動(dòng)和等待時(shí)間,其代數(shù)和應(yīng)為Ta。部件由多個(gè)零件配合組裝而成,其裝配時(shí)間也為Ta。當(dāng)部件由多個(gè)零件組合而成時(shí),其配合過(guò)程總時(shí)間應(yīng)為kTa(k為部件中零件子單元裝配過(guò)程的數(shù)量)。

圖4 時(shí)間節(jié)拍設(shè)計(jì)方法流程圖Fig.4 Time stamp design method flow chart
在自動(dòng)化裝配系統(tǒng)中,機(jī)器人是流水線中的重要環(huán)節(jié),其工作過(guò)程可以等效為整條流水線中的一個(gè)工作單元,機(jī)器人從裝配動(dòng)作開(kāi)始到裝配過(guò)程結(jié)束(機(jī)械臂重置到初始工作點(diǎn)),總工作時(shí)間也應(yīng)該為Ta,因而機(jī)器手臂的裝配工藝設(shè)計(jì)和軌跡規(guī)劃需要考慮到時(shí)間節(jié)拍Ta的約束。在進(jìn)行流水線設(shè)計(jì)時(shí),Ta的選擇需要考慮到流水線的總單元數(shù)量和零部件個(gè)體數(shù)量,且受到仿真設(shè)計(jì)的總執(zhí)行循環(huán)時(shí)間約束。同時(shí),機(jī)構(gòu)的運(yùn)動(dòng)走向、運(yùn)動(dòng)速率、部件的位置分布等也需要進(jìn)行綜合考慮,具體時(shí)間節(jié)拍設(shè)計(jì)方法見(jiàn)圖4。整個(gè)流水線運(yùn)動(dòng)可看作是一個(gè)多單元依次銜接、小單元局部循環(huán)的過(guò)程,單元從初始狀態(tài)經(jīng)過(guò)一定運(yùn)動(dòng)轉(zhuǎn)化為終止?fàn)顟B(tài),且該單元的終止?fàn)顟B(tài)與下一個(gè)單元的初始狀態(tài)一致。運(yùn)動(dòng)開(kāi)始則無(wú)限循環(huán),可實(shí)現(xiàn)斷路器裝配流水線的仿真。
1.2.2裝配流水線運(yùn)動(dòng)設(shè)計(jì)
基于裝配流水線構(gòu)成,將整個(gè)流水線描述為A=(Ta,O,G,TP,M,C,K),以此對(duì)斷路器虛擬裝配生產(chǎn)線系統(tǒng)中各對(duì)象的時(shí)間-邏輯的動(dòng)作層次進(jìn)行描述。模型A中,Ta表示節(jié)拍;O表示各個(gè)零部件模型;G表示模型的分組信息;TP表示對(duì)象運(yùn)動(dòng)的時(shí)間節(jié)點(diǎn);M表示對(duì)象在時(shí)間域內(nèi)的運(yùn)動(dòng)信息;C表示流水線的結(jié)構(gòu)特征;K表示流水線運(yùn)動(dòng)中所包括其他信息。
由上可知,裝配流水線實(shí)現(xiàn)運(yùn)動(dòng)需要滿足以下條件:①虛擬編譯環(huán)境中,需要設(shè)置全局時(shí)間變量來(lái)對(duì)各單元流程進(jìn)行協(xié)調(diào)和控制;②虛擬環(huán)境中必須包括所有必要零件模型,以及各個(gè)零件的分組信息;③零件模型之間需要設(shè)置正確的結(jié)構(gòu)、配合關(guān)系;④不同對(duì)象處于不同時(shí)間節(jié)點(diǎn)時(shí),具有不同的運(yùn)動(dòng)狀態(tài);⑤每一個(gè)單元在一個(gè)循環(huán)周期結(jié)束后,其時(shí)間和空間位置信息均需要進(jìn)行重置;⑥虛擬場(chǎng)景中對(duì)象的運(yùn)動(dòng)規(guī)律應(yīng)與實(shí)際物理系統(tǒng)的工藝一致。
1.2.3時(shí)間Petri網(wǎng)模型
基本的Petri網(wǎng)(PN)模型fPN=(S,T,F),描述了斷路器虛擬裝配流水線的實(shí)際工藝和邏輯,在PN模型中加入時(shí)間、零部件信息等元素,構(gòu)成裝配流水線Petri網(wǎng)(APN)模型,即
fAPN=(S,Sa,TR,F,k,M,M0,TP,T)M={Mi}i=1,2,…,nMj={mj}j=1,2,…,kmj={xjs,yjs,zjs,αjs,βjs,γjs;xje,yje,zje,αje,βje,γje}
式中,S為庫(kù)所集,表示系統(tǒng)中的資源狀態(tài);Sa為前期工位完成的裝配狀態(tài);TR為變遷,表示系統(tǒng)中的資源消耗、變化、生成等操作;F為流信息,指代裝配零件或設(shè)備從一個(gè)狀態(tài)到另一種狀態(tài)的過(guò)程;k為由一個(gè)庫(kù)所即將發(fā)生的多個(gè)變遷的權(quán)重值;M為對(duì)象時(shí)間域中的變換量;Mi為對(duì)象i的變換量;mj為對(duì)象單個(gè)時(shí)間域內(nèi)的變換量,如手柄上料需移動(dòng)的距離、工作臺(tái)旋轉(zhuǎn)角、機(jī)械臂目標(biāo)軌跡位置等信息;(xjs,yjs,zjs)為對(duì)象初始坐標(biāo)點(diǎn);(αjs,βjs,γjs)為對(duì)象初始?xì)W拉角;(xje,yje,zje)為對(duì)象目標(biāo)坐標(biāo)點(diǎn);(αje,βje,γje)為對(duì)象目標(biāo)歐拉角;M0為模型初始信息,即代表運(yùn)動(dòng)未發(fā)生時(shí)所有模型姿態(tài)信息;TP為時(shí)間節(jié)點(diǎn),從動(dòng)作的開(kāi)始,依據(jù)循環(huán)次數(shù)進(jìn)行自動(dòng)疊加,到達(dá)一定額度后進(jìn)行對(duì)象狀態(tài)重置和時(shí)間點(diǎn)重置,TP={tp},tp∈[0,T];T為對(duì)象的動(dòng)作時(shí)間域(每個(gè)對(duì)象的總時(shí)間域相同),T={Ti}(i=1,2,…,n);Ti為對(duì)象i的時(shí)間域,一個(gè)對(duì)象的某個(gè)動(dòng)作分為多個(gè)時(shí)間段,即Ti={tj}(j=1,2,…,k);tj為對(duì)象的某個(gè)時(shí)間域,如設(shè)置t1為手柄上料的運(yùn)動(dòng)時(shí)間,tj={tjs,tje};tjs、tje分別為該對(duì)象的變換時(shí)間開(kāi)始和終止節(jié)點(diǎn),如tjs為手柄上料動(dòng)作開(kāi)始的時(shí)間節(jié)點(diǎn),tje為手柄上料動(dòng)作完成時(shí)間節(jié)點(diǎn)。
根據(jù)裝配線的原理和結(jié)構(gòu)特征可得APN結(jié)構(gòu)圖,見(jiàn)圖5,該結(jié)構(gòu)圖可描述整個(gè)斷路器裝配主線的工作狀態(tài)和流程。圖5中,S0~S13為斷路器裝配狀態(tài),如S0代表為空,S1代表承座裝配完成,S2代表斷路器外殼裝配完成,S13代表所有裝配完成得到成品。系統(tǒng)共分成13個(gè)基本操作,Sa0~Sa12代表斷路器裝配所需的前位工作已完成狀態(tài),如Sa0代表承座上料,Sa12代表合蓋。TR1~TR13代表斷路器裝配零件、部件變遷運(yùn)動(dòng)的過(guò)程。K1~K13代表零部件裝配次數(shù),記錄生產(chǎn)量。

圖5 APN結(jié)構(gòu)圖Fig.5 Structure chart of APN

圖6 JAPN結(jié)構(gòu)圖Fig.6 Structure chart of JAPN
磁系統(tǒng)、熱系統(tǒng)等完成裝配之前,需要對(duì)組成磁系統(tǒng)、熱系統(tǒng)的零件進(jìn)行配合,通過(guò)搭建零部件配合Petri網(wǎng)(JAPN)來(lái)描述其配合過(guò)程,fJAPN=(J,Sr,TP,F,k,M0,TP,T),簡(jiǎn)化后的局部結(jié)構(gòu)圖見(jiàn)圖6。圖6中,Ji(i=1,2,…,n)表示部件組合過(guò)程中各零件上料或配合完成,如J1表示第一個(gè)零件已就位,J2表示第二個(gè)零件就位。TP2i-1表示零件的上料變遷動(dòng)作,由上料單元移動(dòng)到承座進(jìn)行配合。Sri表示帶著前i個(gè)零件的承座組合,TP0、TP2、TP4等表示帶著前i個(gè)零件的承座組合變遷到下一個(gè)零件裝配工位動(dòng)作,Sai表示最后組合完成的部件,也是APN網(wǎng)絡(luò)中的Sa,斷路器裝配所需的前位工作完成狀態(tài)。
零件上料等小單元裝配工序具有單獨(dú)的裝配過(guò)程,采用Petri網(wǎng)來(lái)描述單個(gè)零件模型的上料,即LAPN模型,表達(dá)式為fLAPN=(P,Th,F,W,M0,TP,T),具體見(jiàn)圖7。

圖7 LAPN結(jié)構(gòu)圖Fig.7 Structure chart of LAPN
圖7中,P1~Pi代表設(shè)備狀態(tài),Th1~Th3代表自動(dòng)化夾具設(shè)備或機(jī)器人帶動(dòng)零件進(jìn)給變遷的過(guò)程,Th-1~Th-i代表零件夾取設(shè)備或機(jī)械臂在零件上料完畢后的重置過(guò)程。運(yùn)行最后達(dá)到JAPN中的Ji狀態(tài),即上料完成或配合完成。
由上述APN、JAPN與LAPN模型形成帶時(shí)間信息的嵌套式Petri網(wǎng)模型組,它層次地描述了整個(gè)裝配流水線的行為邏輯關(guān)系。流水線中通過(guò)機(jī)器人完成上料工作,因而機(jī)器人的運(yùn)動(dòng)邏輯與時(shí)間節(jié)拍應(yīng)符合Petri網(wǎng)絡(luò)LAPN模型的描述。
完成時(shí)間Petri網(wǎng)絡(luò)模型的搭建后,整個(gè)虛擬制造仿真系統(tǒng)的搭建過(guò)程就更加便捷、嚴(yán)密,且邏輯清晰,同時(shí)使節(jié)拍修正調(diào)節(jié)更加簡(jiǎn)便。此外,虛擬制造仿真系統(tǒng)需要與實(shí)物結(jié)合,以完成各對(duì)象從真實(shí)環(huán)境到虛擬環(huán)境的映射,實(shí)現(xiàn)生產(chǎn)線數(shù)字化和虛擬化,便于生產(chǎn)線的運(yùn)維監(jiān)控過(guò)程。
斷路器虛擬裝配系統(tǒng)以設(shè)備網(wǎng)絡(luò)化、過(guò)程透明化、數(shù)據(jù)可視化和生產(chǎn)自動(dòng)化為目標(biāo)。虛擬系統(tǒng)內(nèi)容包括設(shè)備、車間布局三維展示、生產(chǎn)線仿真運(yùn)動(dòng)和產(chǎn)品實(shí)時(shí)生產(chǎn)數(shù)據(jù)顯示等。通過(guò)分析數(shù)據(jù)在系統(tǒng)中的傳遞關(guān)系與接口交換模式,可實(shí)現(xiàn)多領(lǐng)域軟件數(shù)據(jù)流的無(wú)縫鏈接[18]。虛擬系統(tǒng)的運(yùn)動(dòng)仿真與控制需要結(jié)合實(shí)體對(duì)象的運(yùn)動(dòng)方向、距離、時(shí)間、速度等具體的行為數(shù)據(jù)。產(chǎn)品生產(chǎn)數(shù)據(jù)包括當(dāng)日車間總生產(chǎn)計(jì)劃、當(dāng)日車間生產(chǎn)人數(shù)(實(shí)時(shí)出勤人數(shù))、當(dāng)前設(shè)備運(yùn)行狀態(tài)(有無(wú)故障)、當(dāng)前完工產(chǎn)品數(shù)量等實(shí)時(shí)數(shù)據(jù)。虛擬系統(tǒng)接收實(shí)時(shí)數(shù)據(jù)時(shí),需要對(duì)流水線設(shè)備進(jìn)行信息采集和信息傳輸?shù)裙δ茉O(shè)計(jì)。數(shù)據(jù)傳遞基本過(guò)程見(jiàn)圖8。

圖8 數(shù)據(jù)傳遞方式框圖Fig.8 The block diagram of data transmission
圖8中,PLC對(duì)實(shí)體系統(tǒng)進(jìn)行驅(qū)動(dòng)和控制,實(shí)體系統(tǒng)的數(shù)據(jù)信號(hào)通過(guò)工業(yè)以太網(wǎng)傳輸?shù)絇LC,經(jīng)過(guò)網(wǎng)關(guān)通信協(xié)議轉(zhuǎn)換以后,以工業(yè)串口和Wi-Fi的形式發(fā)送給虛擬系統(tǒng),虛擬系統(tǒng)通過(guò)數(shù)據(jù)交換引擎接收并處理數(shù)據(jù)。數(shù)據(jù)的傳輸格式設(shè)計(jì)見(jiàn)圖9,其中,開(kāi)始位S、確認(rèn)位A、結(jié)束位E分別用于數(shù)據(jù)傳輸?shù)拈_(kāi)始、確認(rèn)和結(jié)束;讀寫類別W用于區(qū)分?jǐn)?shù)據(jù)的傳輸或接收;數(shù)據(jù)類別C用于區(qū)分?jǐn)?shù)據(jù)的種類;從地址F和到地址T分別表示數(shù)據(jù)的發(fā)送與接收的主體的地址。該傳輸格式通用性好,結(jié)構(gòu)整齊,適用于各種數(shù)據(jù)傳輸情況。

圖9 數(shù)據(jù)傳輸格式Fig.9 Data-transport format
Unity 3D能夠很好地支持和繼承C#的功能,實(shí)現(xiàn)Unity與實(shí)體的數(shù)據(jù)交換,即使用C#自帶的程序API函數(shù)進(jìn)行數(shù)據(jù)的交換和處理。進(jìn)行串口通信時(shí),需要基于Serial Port(串口)類進(jìn)行開(kāi)發(fā),采用Wi-Fi模式時(shí),則需要采用Socket(端口)類函數(shù)進(jìn)行設(shè)計(jì)。
采用Wi-Fi模式時(shí),首先為分布式網(wǎng)絡(luò)設(shè)置通信參數(shù),并由服務(wù)器初始化網(wǎng)絡(luò)后,發(fā)現(xiàn)客戶端,再為客戶端進(jìn)行參數(shù)配置和入網(wǎng)操作,最后進(jìn)行數(shù)據(jù)傳輸?shù)裙ぷ鳎渚唧w流程見(jiàn)圖10。

圖10 端口通信方式Fig.10 Data communication mode
串口通信時(shí),首先對(duì)串口參數(shù)進(jìn)行配置,包括其串口名、波特率、奇偶校驗(yàn)等,再使用串口的打開(kāi)、關(guān)閉、數(shù)據(jù)接收等函數(shù)實(shí)現(xiàn)串口通信。數(shù)據(jù)通信轉(zhuǎn)換應(yīng)用過(guò)程見(jiàn)圖11。

圖11 串口通信方式框圖Fig.11 The block diagram of series communication
將建立的Petri網(wǎng)模型中的庫(kù)所、變遷與Unity 3D虛擬場(chǎng)景中的實(shí)體對(duì)象相對(duì)應(yīng),根據(jù)Petri網(wǎng)絡(luò)進(jìn)行模型的分組、分級(jí)并鏈接層次關(guān)系,根據(jù)對(duì)應(yīng)數(shù)據(jù)進(jìn)行行為驅(qū)動(dòng)編譯。通過(guò)編程架設(shè)Petri網(wǎng)所描述的系統(tǒng)結(jié)構(gòu),實(shí)現(xiàn)系統(tǒng)速度柔性可控的多節(jié)拍循環(huán)運(yùn)動(dòng)和動(dòng)態(tài)切換運(yùn)動(dòng),實(shí)現(xiàn)Petri網(wǎng)模型到虛擬平臺(tái)Unity 3D平臺(tái)的映射,從而實(shí)現(xiàn)裝配流水線的虛擬現(xiàn)實(shí)仿真。
映射過(guò)程中,首先對(duì)模型對(duì)象進(jìn)行結(jié)構(gòu)化處理,模型中,具有相同運(yùn)動(dòng)過(guò)程的設(shè)備可鏈接成組。如根據(jù)模型的運(yùn)動(dòng)關(guān)系,若干個(gè)零件組成的部件是整體運(yùn)動(dòng),將這些零件設(shè)為一組,成為一個(gè)氣缸部件,并命名為氣缸01,組中各個(gè)零件與整個(gè)氣缸部件具有層級(jí)關(guān)系。層級(jí)關(guān)系在Unity中也叫父子關(guān)系,滿足“父動(dòng)子動(dòng),子動(dòng)父不動(dòng)”的規(guī)則。根據(jù)這種規(guī)則,將所有零件分層鏈接并建立層級(jí)關(guān)系,然后層層鏈接成為一個(gè)有層次的系統(tǒng)。
根據(jù)Petri網(wǎng)的邏輯,在Unity的hierarchy視圖中建立層級(jí)關(guān)系,創(chuàng)建Control.cs腳本,并賦給系統(tǒng)物體,在C#環(huán)境下定義部件變量并將這些變量與部件建立一一對(duì)應(yīng)關(guān)系。
定義變量:
Public Transform bracket-circulation ;//定義承座回流
Public Transformrobot;//定義機(jī)器人裝配
Public Transformbracket01;//定義承座01對(duì)象
鏈接層次關(guān)系:
Bracket-circulation = gameObject.transform. GetChild(1).transform; //承座回流是斷路器裝配系統(tǒng)的第1個(gè)子物體
robot=gameObject.transform.GetChild(2).transform;//機(jī)器人裝配斷路器外殼是斷路器裝配系統(tǒng)的第2個(gè)子物體
bracket01= Bracket-circulation.transform. GetChild(1).transform;//承座01是承座回流單元的第一個(gè)子物體
…
映射過(guò)程中,Petri網(wǎng)絡(luò)模型中的變遷映射是重要的任務(wù)。變遷映射符合網(wǎng)絡(luò)中時(shí)間節(jié)拍設(shè)計(jì)的約束。Unity 3D系統(tǒng)自帶有全局坐標(biāo)系,模型從SolidWorks導(dǎo)入時(shí),空間位置關(guān)系已確定,使用全局坐標(biāo)系根據(jù)零部件坐標(biāo)標(biāo)記運(yùn)動(dòng)始末坐標(biāo)。
對(duì)象平移運(yùn)動(dòng)可運(yùn)用transform.Translate函數(shù)實(shí)現(xiàn),例如氣缸01在z軸上相對(duì)移動(dòng)距離0.154 m,用以下代碼實(shí)現(xiàn):
GameObject.Find(“Cylinder01”).transform.
Translate(new Vector3(0,0,-0.154));
對(duì)象旋轉(zhuǎn)運(yùn)動(dòng)可用transform.RotateAround函數(shù)實(shí)現(xiàn),例如自動(dòng)化設(shè)備中的轉(zhuǎn)盤每循環(huán)裝配一次,其在0.80T~0.95T時(shí)間域內(nèi)繞著轉(zhuǎn)輪中心點(diǎn)創(chuàng)建的虛擬對(duì)象pivot01的z軸旋轉(zhuǎn)45°。將時(shí)間T分為100節(jié),則在80到95節(jié)之間每小節(jié)旋轉(zhuǎn)3°。用以下代碼實(shí)現(xiàn):
If((key_frame>=80)&(key_frame<95))
this.transform.RotateAround(GameObject.Find(“pivot01”).transform.position,Vector3.up,3);
在仿真過(guò)程中,機(jī)械設(shè)備運(yùn)行過(guò)程中可能會(huì)發(fā)生自身的碰撞或是與其他設(shè)備的碰撞,碰撞檢測(cè)可以在發(fā)生碰撞時(shí)及時(shí)做出報(bào)告與響應(yīng)。Unity支持多種檢測(cè)方法,本文采用包圍盒法[19-20]檢測(cè)。包圍盒法是使用碰撞體包圍盒近似覆蓋對(duì)象,通過(guò)包圍盒的相交情況來(lái)檢測(cè)碰撞。平臺(tái)提供了3種碰撞響應(yīng)函數(shù):VoidOnCollisionEnter(Collision collisionInfo)、VoidOnCollisionExit(Collision collisionInfo)、VoidOnCollisionStay(Collision collisionInfo)。當(dāng)物體的碰撞狀態(tài)發(fā)生改變時(shí),相應(yīng)的碰撞響應(yīng)函數(shù)在后臺(tái)會(huì)自動(dòng)被調(diào)用。
操作系統(tǒng)界面是人機(jī)交互較為重要的部分,界面的設(shè)計(jì)直接影響到整個(gè)系統(tǒng)的操作便利性、美觀程度等。在Unity 3D中使用UI組件,通過(guò)在UI界面上設(shè)置背景圖片、文字、按鈕等功能,顯示裝配系統(tǒng)的工作量與工作效率等實(shí)時(shí)數(shù)據(jù)。在系統(tǒng)中設(shè)置虛擬漫游功能,用戶能夠在系統(tǒng)中通過(guò)輸入硬件設(shè)備達(dá)到全方位觀察系統(tǒng)結(jié)構(gòu)的目的。
依據(jù)時(shí)間Petri網(wǎng)模型中的邏輯關(guān)系和節(jié)拍設(shè)定,在Unity 3D中對(duì)斷路器裝配系統(tǒng)進(jìn)行了虛擬仿真,其系統(tǒng)部分展示結(jié)果見(jiàn)圖12。使用Petri網(wǎng)對(duì)各對(duì)象運(yùn)動(dòng)規(guī)律進(jìn)行定義和描述,結(jié)合系統(tǒng)設(shè)計(jì)中設(shè)置的全局時(shí)間變量Ta,使得虛擬系統(tǒng)可根據(jù)Ta的改變,來(lái)改變整條流水線的設(shè)計(jì)節(jié)拍,由此,可對(duì)裝配系統(tǒng)的工藝及其流程進(jìn)行柔性設(shè)計(jì)和控制,實(shí)現(xiàn)整個(gè)裝配系統(tǒng)的節(jié)拍調(diào)控。

圖12 系統(tǒng)部分工作展示圖Fig.12 Part of the system work display
利用基于時(shí)間的嵌套式Petri模型,清晰地描述了各設(shè)備的運(yùn)動(dòng)邏輯先后關(guān)系,方便系統(tǒng)對(duì)故障信號(hào)的處理轉(zhuǎn)換,實(shí)現(xiàn)實(shí)時(shí)信號(hào)控制設(shè)備運(yùn)動(dòng)狀態(tài),達(dá)到生產(chǎn)監(jiān)控的目的。在APN中的生產(chǎn)線主裝配線上,當(dāng)承座與零部件準(zhǔn)備到位時(shí),零部件裝配才能進(jìn)行,零部件依次裝配才能得到最后的產(chǎn)品。網(wǎng)絡(luò)中,S0代表承座上料完成,Sa0代表斷路器外殼就位,當(dāng)承座與外殼都就位后,外殼的裝配過(guò)程TR1才能進(jìn)行,才能形成外殼裝配完成狀態(tài)S1,進(jìn)而裝配下一零部件直到產(chǎn)品成形。而APN中的零部件就位(即Sa的實(shí)現(xiàn)),需要滿足JAPN中的TPi載具變遷到位與Ji小零件的到位,此時(shí),部件的配合才能發(fā)生。而JAPN的Ji實(shí)現(xiàn)需要滿足LAPN中設(shè)備的運(yùn)動(dòng)Th。Petri網(wǎng)邏輯環(huán)環(huán)相扣,斷路器運(yùn)維系統(tǒng)正常情況下,單元正常運(yùn)行,當(dāng)接收到第i個(gè)單元故障信號(hào)時(shí),該單元以前的所有單元控制的設(shè)備及載具停止。當(dāng)接收到故障解除信號(hào)且所有單元的上料位有載具時(shí),所有單元正常運(yùn)行,若某單元上料位載具為空,則其單元上料停止。達(dá)成目標(biāo)系統(tǒng)需保證:①單元無(wú)故障;②傳送帶上料位有載具。
可以看到,通過(guò)時(shí)間Petri網(wǎng)絡(luò)對(duì)制造線的邏輯框架進(jìn)行構(gòu)建和描述,并與虛擬現(xiàn)實(shí)技術(shù)相結(jié)合,可有效解決虛擬仿真系統(tǒng)建模過(guò)程中的流程和工藝復(fù)雜等問(wèn)題,且時(shí)間Petri網(wǎng)中的時(shí)間元素使系統(tǒng)程序編譯更加方便。使用所提出的工業(yè)串口通信方法,完成了虛擬裝配系統(tǒng)與實(shí)際裝配線的匹配,實(shí)現(xiàn)了生產(chǎn)線實(shí)時(shí)數(shù)據(jù)的可視化展示與生產(chǎn)故障狀態(tài)的檢測(cè)展示,如圖13所示。

(a)正常

(b)故障圖13 系統(tǒng)工作狀態(tài)Fig.13 System working status
圖13分別為設(shè)備正常運(yùn)轉(zhuǎn)和出現(xiàn)故障時(shí)的狀態(tài),當(dāng)故障出現(xiàn)時(shí)相應(yīng)設(shè)備停止工作,并做出合適的故障示警動(dòng)作(單元狀態(tài)燈由綠燈變紅燈提醒,數(shù)據(jù)展示板提示出現(xiàn)故障),點(diǎn)擊定位導(dǎo)航選擇查看單元可定位到故障單元進(jìn)行故障查看,便利了整個(gè)生產(chǎn)裝配線的實(shí)時(shí)監(jiān)控過(guò)程。
采用時(shí)間Petri網(wǎng)方法對(duì)斷路器裝配流水線的邏輯結(jié)構(gòu)進(jìn)行建模,以Unity 3D為虛擬平臺(tái),直觀展示了系統(tǒng)的生產(chǎn)布局與調(diào)度控制性能。通過(guò)生產(chǎn)線的虛擬仿真和實(shí)體數(shù)據(jù)的交換,可整體掌握各個(gè)生產(chǎn)模塊的工作狀態(tài)與效率。仿真結(jié)果表明:①基于時(shí)間的嵌套式Petri模型組可以對(duì)復(fù)雜多層次的斷路器自動(dòng)裝配生產(chǎn)線運(yùn)動(dòng)邏輯和工藝節(jié)拍進(jìn)行有效描述;②設(shè)計(jì)開(kāi)發(fā)人員能夠利用本系統(tǒng)提高裝配生產(chǎn)線的設(shè)計(jì)、制造能力,提高產(chǎn)品開(kāi)發(fā)的效率與可靠性;③制造商能夠基于本系統(tǒng)的設(shè)計(jì)與仿真,對(duì)廠房結(jié)構(gòu)、生產(chǎn)工藝條件和生產(chǎn)線布局進(jìn)行設(shè)計(jì)和評(píng)估,節(jié)省成本。