卓 攀,吳恩啟,杜寶江,徐 沙,李曉甜
ZHUO Pan,WU En-qi,DU Bao-jiang,XU Sha,LI Xiao-tian
(上海理工大學(xué) 虛擬制造技術(shù)研究院,上海 200093)
自動(dòng)生產(chǎn)線的設(shè)計(jì)是制造型企業(yè)生產(chǎn)規(guī)劃的重要環(huán)節(jié),其合理性將直接影響到投產(chǎn)后產(chǎn)品質(zhì)量、生產(chǎn)效率和經(jīng)濟(jì)效益。常用的生產(chǎn)線設(shè)計(jì)主要依靠經(jīng)驗(yàn)和類比性設(shè)計(jì)圖紙來(lái)實(shí)施,經(jīng)常出現(xiàn)建成后反復(fù)修改調(diào)整的問(wèn)題。主要涉及到:1)自動(dòng)線上的機(jī)械設(shè)備、輔助裝置、物流和工具等的運(yùn)行匹配不合理;2)自動(dòng)化控制系統(tǒng)程序設(shè)計(jì)與生產(chǎn)工藝節(jié)拍等匹配性不合理[1]。而這些問(wèn)題在設(shè)計(jì)圖紙上難以反映出來(lái),需要等到機(jī)械設(shè)備安裝后上線測(cè)試或投產(chǎn)時(shí)才能發(fā)現(xiàn)全部的問(wèn)題。通??刂葡到y(tǒng)構(gòu)建快,容易調(diào)整,而機(jī)械設(shè)備部分安裝調(diào)試周期長(zhǎng),后期難以更改。
因此本文提出了應(yīng)用虛機(jī)實(shí)電的生產(chǎn)線設(shè)計(jì)方法,即在設(shè)計(jì)階段,將機(jī)械部分用三維虛擬方式表達(dá),而控制部分使用實(shí)物電氣設(shè)備,實(shí)現(xiàn)實(shí)際工藝流程測(cè)試,及時(shí)發(fā)現(xiàn)機(jī)械設(shè)備、工藝流程和控制程序的不合理問(wèn)題[2],反復(fù)修改測(cè)試,最終完成設(shè)計(jì)并投產(chǎn),使設(shè)計(jì)周期、效能大為改善。本文將針對(duì)虛機(jī)實(shí)電方法在自動(dòng)化生產(chǎn)線中的應(yīng)用進(jìn)行介紹。
圖1 虛機(jī)實(shí)電生產(chǎn)線構(gòu)建和運(yùn)行結(jié)構(gòu)圖
虛機(jī)實(shí)電生產(chǎn)線的設(shè)計(jì)思想是建立虛擬機(jī)械設(shè)備和實(shí)物電氣設(shè)備兩個(gè)部分并使其模擬真實(shí)生產(chǎn)線進(jìn)行控制和反饋連接,整體構(gòu)建圖如圖1所示。
圖中構(gòu)建內(nèi)容主要有三個(gè)部分:1)三維虛擬機(jī)械:以生產(chǎn)線初步方案構(gòu)建可以模擬運(yùn)行的虛擬生產(chǎn)線,包括加工設(shè)備、工裝工具、工藝流程、物流作業(yè)和傳感器在內(nèi)的虛擬模型;2)實(shí)物及控制程序:以PLC為核心的控制和操控面板等硬件和總體控制程序;3)接口和模擬運(yùn)行和檢驗(yàn)軟件:建立虛實(shí)模塊的接口、模型驅(qū)動(dòng)、信號(hào)輸入輸出、PLC以外的控制裝置仿真、面板、傳感器信號(hào)處理等程序模塊,連接虛實(shí)兩個(gè)部件。且運(yùn)行部分主要涉及到操作指令執(zhí)行、虛擬設(shè)備動(dòng)作和信息反饋、錯(cuò)誤報(bào)警等。
虛擬生產(chǎn)線是在已有參考生產(chǎn)線的基礎(chǔ)上根據(jù)生產(chǎn)線產(chǎn)品、產(chǎn)能等數(shù)據(jù)設(shè)計(jì)完成的生產(chǎn)線設(shè)備、布局、工藝順序、作業(yè)空間、物流及工裝等內(nèi)容而建立出來(lái)的,如圖2所示。
圖2 虛擬生產(chǎn)線構(gòu)建流程圖
在建立新生產(chǎn)線之前,參考原型和資料的準(zhǔn)備是非常重要的基礎(chǔ)工作,需要找到與目標(biāo)生產(chǎn)系統(tǒng)類似的生產(chǎn)系統(tǒng),并收集相關(guān)信息資料。
參考成熟合理的工藝方法,并由此分析在用設(shè)備和市場(chǎng)上可供選擇的新型設(shè)備的性能參數(shù),初步?jīng)Q定工藝設(shè)備的選型。并為虛擬生產(chǎn)設(shè)計(jì)準(zhǔn)備相關(guān)的資料,如結(jié)構(gòu)、工藝流程、動(dòng)作節(jié)拍、運(yùn)動(dòng)精度精度、生產(chǎn)力平衡、操作步驟和操作空間干涉、上下料或輸入輸出匹配等,以及設(shè)備供應(yīng)價(jià)格、周期、維護(hù)性能、壽命-質(zhì)量曲線。
在前面兩步準(zhǔn)備工作之后,則可使用三維建模軟件Solidworks以及虛擬現(xiàn)實(shí)軟件進(jìn)行建模工作,并結(jié)合工藝、物流、空間要求進(jìn)行裝配[5]。其中包括:
1)靜態(tài)設(shè)備建模。
2)運(yùn)動(dòng)鏈建模。
3)虛擬傳感器設(shè)置。
基于設(shè)備布局調(diào)整的工件搬運(yùn)最短距離計(jì)算。首先加工設(shè)備按照工序和車間地面尺寸進(jìn)行初步定位,給出位置和方向坐標(biāo)。按照工件尺寸和允許的方向確定搬運(yùn)路線。以此作為初始條件分析計(jì)算水平面內(nèi)的最短搬運(yùn)路徑,用VRML空間碰撞干涉校驗(yàn)原理作為路徑計(jì)算約束條件,計(jì)算得出設(shè)備布局的新位置,根據(jù)計(jì)算結(jié)果,調(diào)整原有設(shè)備或布局新設(shè)備,再以此為初始條件,循環(huán)計(jì)算和檢驗(yàn),直至找出較合理的布局方案。如果計(jì)算過(guò)程中,約束條件未考慮充分,可以在每一個(gè)循環(huán)計(jì)算結(jié)束點(diǎn)上,人工干預(yù)[1,7]。
在車間里,大型工件從一個(gè)加工設(shè)備處卸載到另一個(gè)相鄰的加工設(shè)備處裝載,其搬運(yùn)方式通常是采用行車吊裝或沿搬運(yùn)車專用車道運(yùn)輸,那么搬運(yùn)路線就沿著水平面內(nèi)兩個(gè)相互垂直的方向行進(jìn)。搬運(yùn)最短距離計(jì)算的目標(biāo)是使相鄰設(shè)備之間的垂直線移動(dòng)距離的總和最小。下面給出在原有設(shè)備中加入一臺(tái)新設(shè)備的計(jì)算中有關(guān)水平面內(nèi)計(jì)算的方法:
在虛擬環(huán)境下,坐標(biāo)系定義如下:
1)Z軸:車間的長(zhǎng)度方向,也就是行車主軌道方向。
2)X軸:車間的寬度方向,也就是行車吊艙的軌道方向。
3)Y軸:車間的高度方向。
假設(shè)工件在設(shè)備之間的移動(dòng)只能按垂直路徑移動(dòng),即只能是X方向路徑和Z方向路徑的組合,兩個(gè)點(diǎn)之間不能走對(duì)角線。
將以上算法設(shè)計(jì)成程序模塊,可以實(shí)現(xiàn)已有設(shè)備布局調(diào)整,或新加設(shè)備的合理位置。且以上計(jì)算加權(quán)系數(shù) 的設(shè)定是經(jīng)驗(yàn)計(jì)算數(shù)據(jù),需要考慮不同批次工件的搬運(yùn)包圍盒尺寸。
生產(chǎn)線的電氣控制設(shè)備通常使用PLC控制柜或DCS/PLC相結(jié)合的復(fù)雜控制系統(tǒng)來(lái)搭建??煞譃椴倏剌斎氚?、處理器、信號(hào)采集器、控制板等模塊。
其中處理器分為PLC和DCS處理器,現(xiàn)階段主要以陣列式PLC為主[3]。處理器通常使用RS232/485/RJ45/現(xiàn)場(chǎng)總線與虛擬模型通訊[4],可以使用與虛擬模型運(yùn)行計(jì)算機(jī)相兼容的通訊方式連接。
操控面板有實(shí)物面板、觸摸屏等,通常與PLC輸入端子連接。操控輸入信號(hào)輸入到PLC后,其控制信號(hào)輸出到計(jì)算機(jī)的虛擬生產(chǎn)線。
如果在虛擬生產(chǎn)線中設(shè)定虛擬操作面板來(lái)代替實(shí)物操作器件,可以添加一個(gè)小型的反饋PLC,其輸出端通過(guò)電纜線與控制PLC輸入端連接,接線端子與原實(shí)物操作器件的連接相同。虛擬操作信號(hào)從虛擬生產(chǎn)線經(jīng)過(guò)RS232輸出到反饋PLC,經(jīng)反饋PLC程序變換后送到控制PLC的輸入端,達(dá)到與實(shí)物控制面板同樣的效果,如圖1所示。且虛擬生產(chǎn)線在運(yùn)行時(shí)的虛擬傳感器的觸發(fā)信號(hào)的處理,與虛擬控制面板的信號(hào)處理相同,均要通過(guò)如圖1中所示的ACT通訊接口程序模塊。
經(jīng)過(guò)上述步驟的系統(tǒng)搭建之后,該系統(tǒng)在運(yùn)行過(guò)程中,需要實(shí)現(xiàn)實(shí)物PLC信號(hào)的輸入、寄存器狀態(tài)掃描、虛擬設(shè)備的運(yùn)動(dòng)變換、虛擬傳感器信號(hào)輸出等過(guò)程的功能,以及信號(hào)和運(yùn)動(dòng)的實(shí)時(shí)性處理。
運(yùn)行虛擬生產(chǎn)線的計(jì)算機(jī)接入運(yùn)行的PLC時(shí),使用PLC的API庫(kù)中的連接函數(shù)進(jìn)行硬件連接,如使用三菱PLC的MX component組件的 ActiveX庫(kù),在程序中引用,并根據(jù)PLC配置參數(shù)和通訊連接方式進(jìn)行通訊處理,達(dá)到實(shí)物PLC信號(hào)的輸入,且MX component中的DLL函數(shù)庫(kù)及其應(yīng)用如表1所示。
表1 MX component 的DLL函數(shù)庫(kù)及其應(yīng)用
通信接口程序,實(shí)際上是一個(gè)駐留式服務(wù)程序,是一個(gè)連接PLC和虛擬樣機(jī)的橋模塊,不斷地掃描PLC的信號(hào)狀態(tài)和虛擬樣機(jī)的信號(hào)狀態(tài),實(shí)現(xiàn)傳遞[4,6]。
作為一個(gè)通用性的程序模塊,需要使用數(shù)據(jù)庫(kù)方式,記錄兩邊的變量對(duì)應(yīng),然后自動(dòng)讀寫。假設(shè)PLC有兩個(gè)輸出Y001和Y002,則PLC信號(hào)和虛擬樣機(jī)變量對(duì)應(yīng)如表2所示。
表2 PLC信號(hào)和虛擬樣機(jī)變量對(duì)應(yīng)表
有了上表,使用下列處理語(yǔ)句進(jìn)行循環(huán)處理,就可完成僑聯(lián)通訊。
1)對(duì)于PLC使用
fxcpu.ReadDeviceBlock("<PLC信號(hào)名稱>",1,<存放變量名>)
fxcpu.WriteDeviceBlock("<PLC信號(hào)名稱>",1,<數(shù)值>)
2)對(duì)于虛擬樣機(jī)使用(其中AxContact3D1是虛擬生產(chǎn)線的程序控件名稱)
AxContact3D1.setNodeEventIn("<虛擬節(jié)點(diǎn)名>","<參數(shù)名>","<數(shù)值>")
<存放變量>=AxContact3D1.getNodeEventOut("<虛擬節(jié)點(diǎn)名>","<參數(shù)名>")
虛擬生產(chǎn)線中的傳感器構(gòu)建成唯一性映射的虛擬傳感器,當(dāng)運(yùn)動(dòng)鏈中的虛擬部件觸發(fā)虛擬傳感器時(shí),其事件和數(shù)值會(huì)自動(dòng)輸出,通過(guò)事件函數(shù)getNodeEventOut(<傳感器名>,<值名>,<數(shù)值>),將信號(hào)傳遞到接口程序模塊,然后通過(guò)映射表發(fā)送給PLC的寄存器或通過(guò)反饋PLC輸送到控制PLC輸入端,從而模擬了實(shí)物生產(chǎn)線的反饋處理。
利用虛機(jī)實(shí)電設(shè)計(jì)方法來(lái)設(shè)計(jì)生產(chǎn)線的目的是要找出實(shí)物控制系統(tǒng)和生產(chǎn)線設(shè)計(jì)中存在的問(wèn)題,因此,必須達(dá)到實(shí)物系統(tǒng)的信號(hào)傳遞實(shí)時(shí)性要求,并給出方便的故障診斷輔助工具。除了使用信號(hào)改變的事件觸發(fā)機(jī)制和虛擬生產(chǎn)線的局部刷新等常規(guī)技術(shù)外,對(duì)于信號(hào)持續(xù)時(shí)間非常短暫的處理是重點(diǎn)。如生產(chǎn)線運(yùn)行過(guò)程中,某段輥道中的棍子損壞時(shí),其驅(qū)動(dòng)電機(jī)將會(huì)發(fā)出堵轉(zhuǎn)電壓或電流信號(hào),由于自動(dòng)保護(hù)裝置立即關(guān)閉了電機(jī)電源,使得信號(hào)成為短暫的脈沖形式,這在數(shù)據(jù)采樣時(shí)可能會(huì)丟失而無(wú)法察覺(jué)。為此需要針對(duì)性處理,如圖3所示。
圖3 脈沖信號(hào)處理和局部邏輯驅(qū)動(dòng)的虛擬部件故障診斷流程
1)當(dāng)測(cè)得持續(xù)性較長(zhǎng)的可能故障信號(hào)后,首先確定其所在部件ID,高亮顯示出該部件的虛擬模型;
2)根據(jù)控制邏輯圖的拓?fù)潢P(guān)系,搜尋與之相關(guān)的信息點(diǎn),如傳感器、線圈編號(hào);
3)對(duì)這些信息點(diǎn)使用ReadDeviceBlock()和getNodeEventIn()發(fā)出批量信號(hào)查詢指令,讀取PLC單元和虛擬運(yùn)動(dòng)鏈相關(guān)傳感器的序列值,并儲(chǔ)存到指定的緩沖內(nèi)存中,生成離線數(shù)據(jù);
4)關(guān)閉其它控制信號(hào)的自動(dòng)推送功能;
5)讀取PLC的控制邏輯程序,以故障信號(hào)點(diǎn)為中心,按照控制邏輯和運(yùn)動(dòng)鏈的拓?fù)潢P(guān)系,生成局部控制邏輯與局部虛擬部件之間的驅(qū)動(dòng)關(guān)系圖,并在虛擬部件上的故障位置顯示該關(guān)系圖、時(shí)序圖和傳感器的實(shí)時(shí)狀態(tài)信息。由此,可以很方便的判斷故障的原因和解決方案。
通過(guò)本文的方法,對(duì)一條發(fā)動(dòng)機(jī)缸體生產(chǎn)線進(jìn)行了虛機(jī)實(shí)電校驗(yàn)工作,三維虛擬生產(chǎn)線如下圖4所示,從圖中我們可以看出,經(jīng)過(guò)三維空間上的布局設(shè)計(jì),能直觀地發(fā)現(xiàn)布局的不足之處,并能及時(shí)的調(diào)整修改,避免了2D圖紙?jiān)O(shè)計(jì)中的一些問(wèn)題,如:只有平面俯視圖,不能對(duì)設(shè)備的作業(yè)空間進(jìn)行合理性判斷。
圖4 發(fā)動(dòng)機(jī)缸體生產(chǎn)線局部
在其他應(yīng)用領(lǐng)域,如針對(duì)鋸片的淬火生產(chǎn)線、垃圾發(fā)電場(chǎng)、鋼管噴印生產(chǎn)線等工程項(xiàng)目中的機(jī)械設(shè)備和電氣控制系統(tǒng)設(shè)計(jì)進(jìn)行了多次過(guò)程模擬,檢查出機(jī)械和控制邏輯中的問(wèn)題,得到了及時(shí)的修正,為生產(chǎn)線的機(jī)電設(shè)計(jì)提供了有力的協(xié)助,減少了實(shí)際生產(chǎn)運(yùn)行時(shí)的錯(cuò)誤概率,縮短了設(shè)計(jì)時(shí)間。
本文通過(guò)構(gòu)建仿真生產(chǎn)線的三維運(yùn)動(dòng)模型和傳感器,使用PLC運(yùn)行狀態(tài)的信號(hào)讀取和反饋,以及實(shí)物和虛擬操控裝置的操作,在設(shè)計(jì)階段模擬了生產(chǎn)線的運(yùn)行,并提出了信號(hào)的實(shí)時(shí)性和輔助故障診斷的方法,使虛擬生產(chǎn)線的機(jī)械電氣設(shè)計(jì)問(wèn)題得到及時(shí)的發(fā)現(xiàn)和更正。并在實(shí)際項(xiàng)目實(shí)施中證明了該方法的有效性,本課題研究成果也將為后續(xù)的機(jī)電設(shè)計(jì)過(guò)程提供參考依據(jù)。
[1] 杜寶江.虛擬制造[M].上海:上??茖W(xué)技術(shù)出版社,2012.
[2] 張德豐,周靈.VRML虛擬現(xiàn)實(shí)應(yīng)用技術(shù)[M].電子工業(yè)出版社,2010.
[3] 田???PLC編程語(yǔ)言解釋方法研究與系統(tǒng)實(shí)現(xiàn)[D].武漢理工大學(xué),2004.
[4] 王文磊,徐汀榮,PLC和PC基于工業(yè)以太網(wǎng)通信研究與實(shí)現(xiàn)[J],微計(jì)算機(jī)信息.2006,22(5):43-45,135.
[5] 李瑞濤,方湄,張文明,等.虛擬樣機(jī)技術(shù)的概念及應(yīng)用[J].金屬礦山,2000,289(7):38-40.
[6] 高潮,羅強(qiáng),郭永彩,等.用Visual C實(shí)現(xiàn)PC與PLC之間的串行通訊[J].重慶大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,29(6):19-22.
[7] Antonino,Zachmann G.Virtual Reality as a Tool for Verification of Assembly and Maintenance Processes.Com puters&Graphics,1999,23(3):389-403.