康廣權(quán) 程鵬力 施國(guó)棟 陳仁申
(一汽模具制造有限公司,長(zhǎng)春130000)
汽車多車型柔性自動(dòng)化焊接生產(chǎn)線生產(chǎn)過(guò)程中,需要賦予每1個(gè)車身車型、流水號(hào)、類型等多種信息,這些信息需要伴隨每1個(gè)白車身在自動(dòng)生產(chǎn)線中傳遞。通過(guò)這些信息的傳遞,生產(chǎn)線自動(dòng)實(shí)現(xiàn)不同的工藝動(dòng)作,同時(shí)生產(chǎn)人員也會(huì)根據(jù)顯示的車型信息完成準(zhǔn)確的相關(guān)操作。采取何種方式采集車型信息,怎么實(shí)現(xiàn)在PLC程序中的數(shù)據(jù)處理和程序邏輯關(guān)系,將直接影響著信息傳遞的準(zhǔn)確性和穩(wěn)定性,同時(shí)影響在后續(xù)維護(hù)程序和應(yīng)對(duì)突發(fā)狀況時(shí)能準(zhǔn)確地判斷和快速處理突發(fā)問(wèn)題。
根據(jù)多車型柔性自動(dòng)化焊裝線PLC控制系統(tǒng)需要穩(wěn)定準(zhǔn)確的車型傳遞需求,通過(guò)開(kāi)發(fā)程序塊“CARTYP”實(shí)現(xiàn)PLC接收MES系統(tǒng)的車型信息。同時(shí)也通過(guò)“CARTYP”功能塊實(shí)現(xiàn)車型信息在多上料口進(jìn)行同步的功能。在實(shí)現(xiàn)PLC控制程序主體車型傳遞的功能之后,繼續(xù)開(kāi)發(fā)了標(biāo)準(zhǔn)塊“l(fā)iaokou”用來(lái)實(shí)現(xiàn)上料口與對(duì)應(yīng)線體內(nèi)部的車型實(shí)時(shí)同步功能。
焊裝線PLC控制系統(tǒng)的車型傳遞程序,主要內(nèi)容由2部分組成。第1部分為MES系統(tǒng)對(duì)PLC發(fā)送車型信息,第2部分為PLC接收并存儲(chǔ)車型信息。本次開(kāi)發(fā)的主要內(nèi)容為第2部分,即PLC接收并通過(guò)“CARTYP”功能塊存儲(chǔ)車型信息。根據(jù)車型信息的傳遞方式和需求,總結(jié)如下車型傳遞方案,如圖1所示。圖1中車型信息的傳遞從PLC部分向MES部分發(fā)送數(shù)據(jù)請(qǐng)求開(kāi)始,當(dāng)MES部分接收到數(shù)據(jù)請(qǐng)求后,將車型信息發(fā)送至“ITEM”(臨時(shí)數(shù)據(jù)存儲(chǔ)區(qū))。之后由MES置位發(fā)送“下發(fā)數(shù)據(jù)完成”信號(hào)。PLC接收到“下發(fā)數(shù)據(jù)完成”信號(hào)后校驗(yàn)“ITEM”中數(shù)據(jù)。如果數(shù)據(jù)正確并且成功通過(guò)“CARTYP”功能塊進(jìn)行存儲(chǔ),則反饋“數(shù)據(jù)正確”信號(hào)并且復(fù)位“下發(fā)數(shù)據(jù)完成”信號(hào)。最后由MES復(fù)位“數(shù)據(jù)正確”完成本次車型信息傳遞的循環(huán)。
圖1 PLC與MES系統(tǒng)車型傳遞示意
根據(jù)上述的車型信息傳遞方案,需要在程序中建立相對(duì)應(yīng)的程序信號(hào)點(diǎn)。通過(guò)對(duì)程序信號(hào)的邏輯編程實(shí)現(xiàn)上述描述的循環(huán)過(guò)程。程序信號(hào)如圖2所示,建立的內(nèi)容由3部分組成。
圖2 車型信息存儲(chǔ)區(qū)和信號(hào)變量
a.獨(dú)立的全局變量存儲(chǔ)塊DB500用來(lái)存儲(chǔ)PLC與MES系統(tǒng)交互的信號(hào);
b.交互信號(hào)包括“發(fā)送數(shù)據(jù)請(qǐng)求”、“下發(fā)數(shù)據(jù)完成”、“數(shù)據(jù)正確”、“數(shù)據(jù)錯(cuò)誤”;
c.用于車型信息的存儲(chǔ)區(qū)名稱為“ITEM”,其由“流水號(hào)”、“車型”、“狀態(tài)字”和“預(yù)留”4部分組成。
首先檢測(cè)車型信息存儲(chǔ)區(qū)是否為空,以確保車型信息可以存儲(chǔ)。再通過(guò)校驗(yàn)其余“管理寫(xiě)入隊(duì)列為空”、“車型隊(duì)列存儲(chǔ)區(qū)未滿”、“下發(fā)數(shù)據(jù)完成”、“數(shù)據(jù)正確”、“畫(huà)面更改隊(duì)列按鈕”和“抓手排空按鈕”等條件均滿足后向MES系統(tǒng)發(fā)送“發(fā)送數(shù)據(jù)請(qǐng)求”信號(hào),如圖3所示。
其中程序段6由PLC存儲(chǔ)接收到的車型信息。在存儲(chǔ)之前檢測(cè)車型信息是否正確,檢測(cè)正確之后進(jìn)行存儲(chǔ),同時(shí)將“下發(fā)數(shù)據(jù)完成”信號(hào)復(fù)位,以保證下一個(gè)循環(huán)正確執(zhí)行。如果不正確則向MES系統(tǒng)反饋“數(shù)據(jù)錯(cuò)誤”,如圖4所示。
圖4 PLC程序邏輯部分二
上述章節(jié)2中描述了1個(gè)單獨(dú)的車型信息的傳遞過(guò)程,為了滿足自動(dòng)生產(chǎn)線的持續(xù)運(yùn)行,PLC與MES系統(tǒng)車型傳遞需要存儲(chǔ)多個(gè)車型的信息。在存儲(chǔ)車型信息的同時(shí)也需要通過(guò)“CARTYP”功能塊將車型信息同步發(fā)送給多個(gè)上料口,并且將已經(jīng)生產(chǎn)的車型信息清除。本章節(jié)介紹了為實(shí)現(xiàn)這種功能所建立的標(biāo)準(zhǔn)車型存儲(chǔ)功能塊“CART?YP”。
以1個(gè)長(zhǎng)度為11的車型存儲(chǔ)隊(duì)列為例,每1個(gè)存儲(chǔ)區(qū)都可以存儲(chǔ)包含“流水號(hào)”、“車型”、“狀態(tài)字”和“預(yù)留”4種信息。可以根據(jù)不同生產(chǎn)線的不同需求更改隊(duì)列長(zhǎng)度或者內(nèi)容,如圖5所示。
圖5 車型信息隊(duì)列存儲(chǔ)區(qū)
車型存儲(chǔ)功能塊“CARTYP”主要包含如下3種功能。
a.將車型信息寫(xiě)入存儲(chǔ)隊(duì)列;
b.隊(duì)列寫(xiě)出車型數(shù)據(jù)和隊(duì)列上移;
c.故障報(bào)警和數(shù)據(jù)輸出化。
3.2.1 將車型信息寫(xiě)入存儲(chǔ)隊(duì)列
通過(guò)查詢每1個(gè)存儲(chǔ)區(qū)內(nèi)是否存在數(shù)據(jù),統(tǒng)計(jì)出隊(duì)列被占用的數(shù)量,將車型信息寫(xiě)入空白隊(duì)列中。在章節(jié)2中提到的“下發(fā)數(shù)據(jù)完成”、“數(shù)據(jù)正確”、“下發(fā)數(shù)據(jù)正確”和“寫(xiě)出使能”等條件組成1個(gè)“寫(xiě)入使能”命令,根據(jù)該命令執(zhí)行列隊(duì)的存儲(chǔ)過(guò)程,如圖6所示。
圖6 隊(duì)列寫(xiě)入使能構(gòu)成
有“寫(xiě)入使能”脈沖時(shí),將數(shù)據(jù)存入空白存儲(chǔ)區(qū)需要滿足條件:當(dāng)前隊(duì)列數(shù)小于設(shè)定最大值,臨時(shí)存儲(chǔ)區(qū)數(shù)據(jù)正確,沒(méi)有上一循環(huán)存儲(chǔ)數(shù)據(jù)正確。同時(shí)輸出寫(xiě)入完成信號(hào),清除臨時(shí)存儲(chǔ)區(qū)數(shù)據(jù)。得到數(shù)據(jù)存儲(chǔ)正確信號(hào),復(fù)位寫(xiě)入完成。保證對(duì)1個(gè)車型信息的存儲(chǔ)在1個(gè)循環(huán)周期內(nèi)。
3.2.2 隊(duì)列寫(xiě)出車型數(shù)據(jù)和隊(duì)列上移
車型信息存儲(chǔ)過(guò)程結(jié)束后,需要對(duì)第1條隊(duì)列的車型信息進(jìn)行讀取。讀取完成后清除已讀取過(guò)的車型信息。清除完成后需要將隊(duì)列依次上移。
3.2.3 故障報(bào)警和數(shù)據(jù)輸出化
在程序執(zhí)行過(guò)程中如果出現(xiàn)如下情況則產(chǎn)生報(bào)警:數(shù)據(jù)超出最大存儲(chǔ)數(shù)量或者寫(xiě)入和寫(xiě)出過(guò)程出現(xiàn)超時(shí),也可以根據(jù)不同的情況自定義報(bào)警情況以及內(nèi)容。
以上程序的編寫(xiě)實(shí)現(xiàn)了PLC控制系統(tǒng)接收MES系統(tǒng)發(fā)送的車型信息,再由PLC控制系統(tǒng)實(shí)現(xiàn)存儲(chǔ)和寫(xiě)出清除等功能。該部分程序的特點(diǎn)也可以視為2個(gè)控制系統(tǒng)之間的信號(hào)傳遞并存儲(chǔ),在將以上程序封裝為標(biāo)準(zhǔn)程序塊后可以拓展其使用范圍。
PLC控制系統(tǒng)接收MES系統(tǒng)發(fā)送的車型信息的過(guò)程為一對(duì)一的形式,在將程序封裝為“CART?YP”標(biāo)準(zhǔn)程序塊后,PLC程序與上料口信息交互時(shí)可以實(shí)現(xiàn)一對(duì)多形式的拓展應(yīng)用。
以3個(gè)上料口與PLC程序進(jìn)行車型傳遞為例,PLC需要同時(shí)下發(fā)車型信息至3個(gè)上料口,PLC在清除下發(fā)數(shù)據(jù)時(shí),需要考慮3個(gè)上料口都已正確讀取并存儲(chǔ)車型數(shù)據(jù),同時(shí)對(duì)3個(gè)上料口的狀態(tài)進(jìn)行監(jiān)控,如圖7所示。
圖7 PLC與3個(gè)上料口車型傳遞方案
首先PLC需要為每個(gè)上料口建立獨(dú)立的車型存儲(chǔ)區(qū),用來(lái)存儲(chǔ)PLC下發(fā)的存儲(chǔ)數(shù)據(jù)。因?yàn)镻LC是與3個(gè)上料口進(jìn)行信號(hào)交互,所以PLC清除下發(fā)車型數(shù)據(jù)的時(shí)候必須同時(shí)考慮3個(gè)上料口的狀態(tài)。如圖8所示,車型數(shù)據(jù)成功存儲(chǔ)的信號(hào)為3個(gè)料口反饋信號(hào)的集合。同樣PLC數(shù)據(jù)清除完成信號(hào),也需要同時(shí)發(fā)送給3個(gè)上料口,這樣才算完成當(dāng)前一組車型數(shù)據(jù)傳遞過(guò)程。
圖8 清除車型信息
通過(guò)“CARTYP”功能塊將車型信息同步發(fā)送給多個(gè)上料口后,車型信息和零件信息在線體內(nèi)就已形成一對(duì)一的對(duì)應(yīng)關(guān)系。隨著零件在自動(dòng)線體內(nèi)的流轉(zhuǎn),車型信息應(yīng)伴隨零件流轉(zhuǎn)路徑進(jìn)行傳輸,同時(shí)分裝料口通過(guò)零件在自動(dòng)線體內(nèi)的位置和所攜帶的車型信息提示操作人員放置相應(yīng)的零件,并且可以根據(jù)自動(dòng)線體內(nèi)的車型信息預(yù)先準(zhǔn)備多個(gè)車型的零件。為了實(shí)現(xiàn)上述2種功能做了如下開(kāi)發(fā)。
自動(dòng)生產(chǎn)線內(nèi)的車型傳遞主要目的是為了實(shí)現(xiàn)車型信息伴隨零件的移動(dòng)。這里列舉的為線體內(nèi)工位和機(jī)器人之間的車型信息傳遞。PLC程序開(kāi)發(fā)如下。
首先為線體內(nèi)所有機(jī)器人和工位創(chuàng)建獨(dú)立的車型信息存儲(chǔ)區(qū),以存儲(chǔ)流動(dòng)的車型信息,如圖9所示。
以圖10中機(jī)器人R904向工位R001放置零件的過(guò)程為例,展示車型信息在PLC處的傳遞。如圖10所示,1#機(jī)器人中有車型信息,2#工位中無(wú)車型信息,3#機(jī)器人R904已經(jīng)將零件置于夾具上等待離開(kāi)夾具,滿足以上3種條件后將車型信息由4#機(jī)器人R904存儲(chǔ)區(qū)內(nèi)移動(dòng)至5#工位R001存儲(chǔ)區(qū)內(nèi)。得到信息移動(dòng)成功的標(biāo)志位6#則表示車型傳遞正確。
圖10 車型信息由機(jī)器人寫(xiě)入工位
完成1次車型數(shù)據(jù)由機(jī)器人向夾具傳遞的閉環(huán)控制過(guò)程,如圖11所示。使用圖11中所標(biāo)識(shí)的信號(hào)1#車型傳遞正確信號(hào)清除和信號(hào)2#機(jī)器人R904存儲(chǔ)區(qū)中數(shù)據(jù),還有信號(hào)3#移動(dòng)成功的標(biāo)志清除成功,3個(gè)信號(hào)共同滿足后復(fù)位車型傳遞正確信號(hào)。
圖11 傳遞成功后復(fù)位信息
分支料口實(shí)時(shí)同步車型方案如下。
實(shí)現(xiàn)車型信息在工位內(nèi)移動(dòng)存儲(chǔ)的功能后,可以拓展其應(yīng)用內(nèi)容。分支料口實(shí)時(shí)同步車型就是其在提示人員上件上的應(yīng)用。
這種方案在描述上可以簡(jiǎn)化成如圖12所示內(nèi)容,即在上料口顯示出當(dāng)前車型X以及后續(xù)車型Y、車型Z。
圖12 同步車型方案示意
根據(jù)以上的需求,找出車型X、車型Y、車型Z與工位或者機(jī)器人a、b、c、d、e之前的關(guān)系,制作表1所示的車型對(duì)應(yīng)關(guān)系。
表1 車型對(duì)應(yīng)關(guān)系
為實(shí)現(xiàn)上述功能,通過(guò)PLC開(kāi)發(fā)出標(biāo)準(zhǔn)塊“l(fā)iaokou”用以實(shí)現(xiàn)解決方案。
標(biāo)準(zhǔn)塊“l(fā)iaokou”用于計(jì)算當(dāng)前車型X、下一個(gè)車型Y、再下一個(gè)車型Z與生產(chǎn)線內(nèi)車型對(duì)應(yīng)關(guān)系。在標(biāo)準(zhǔn)塊中定義如下內(nèi)容。
a.該工位或者機(jī)器人存在有效車型信息,那么則用實(shí)數(shù)“1”代替計(jì)算;
b.如果存儲(chǔ)區(qū)內(nèi)沒(méi)有有效車型則用實(shí)數(shù)“0”代替計(jì)算;
c.工位內(nèi)的夾具與機(jī)器人關(guān)系為加法;
d.上料口內(nèi)的工位與機(jī)器人關(guān)系為減法。
通過(guò)以上規(guī)則就得到了當(dāng)前車型X、下一個(gè)車型Y、再下一個(gè)車型Z與自動(dòng)線體內(nèi)各個(gè)工位之間車型的對(duì)應(yīng)關(guān)系。根據(jù)這種關(guān)系編寫(xiě)并封裝標(biāo)準(zhǔn)塊“l(fā)iaokou”,實(shí)現(xiàn)在不同的料口使用該標(biāo)準(zhǔn)塊與線體內(nèi)自動(dòng)工位進(jìn)行車型同步。
以工位R005為例,使用“l(fā)iaokou”功能塊為其實(shí)現(xiàn)該功能。如圖13所示,將機(jī)器人a、機(jī)器人b、機(jī)器人c、機(jī)器人d、機(jī)器人e與自動(dòng)線體內(nèi)工位和機(jī)器人車型存儲(chǔ)區(qū)相對(duì)應(yīng)。主拼工位根據(jù)分裝類型零件的情況單獨(dú)為其賦值。這樣就可以完成工位R005的車型對(duì)應(yīng)線體內(nèi)車型的工作。
圖13 R005工位料口同步功能
本次開(kāi)發(fā)的車型傳遞程序已經(jīng)在自動(dòng)化焊裝生產(chǎn)線上得到了產(chǎn)業(yè)化的應(yīng)用,該車型傳遞程序經(jīng)過(guò)在自動(dòng)化焊裝生產(chǎn)線的優(yōu)化調(diào)試之后,完全滿足了自動(dòng)化焊裝生產(chǎn)線的自動(dòng)化車型匹配等生產(chǎn)需求,各項(xiàng)技術(shù)指標(biāo)達(dá)到生產(chǎn)線的技術(shù)要求,實(shí)現(xiàn)如下技術(shù)目標(biāo)。
a.成功地滿足了生產(chǎn)線的自動(dòng)化車型傳遞目的,在使用的生產(chǎn)線上連續(xù)運(yùn)行1年,并且生產(chǎn)各種車型近3萬(wàn)臺(tái);
b.實(shí)現(xiàn)了程序模塊化、標(biāo)準(zhǔn)化的封裝,可以廣泛的應(yīng)用和推廣,并且標(biāo)準(zhǔn)化的程序便于后期自動(dòng)生產(chǎn)線的維護(hù)和改造工作;
c.通過(guò)實(shí)際產(chǎn)業(yè)化的應(yīng)用,掌握了自動(dòng)生產(chǎn)線車型傳遞研發(fā)的關(guān)鍵技術(shù)。
通過(guò)對(duì)車型傳遞程序的開(kāi)發(fā),研究并掌握了車型傳遞在不同的生產(chǎn)情況下的共有特性。在一汽紅旗某自動(dòng)生產(chǎn)線上的應(yīng)用不僅實(shí)現(xiàn)了上述功能,還在這種程序架構(gòu)下拓展出了很多依托于車型傳遞而產(chǎn)生的附加功能,如抓手排空后檢修、自動(dòng)判別零件工藝等。所述方法在實(shí)際焊裝生產(chǎn)線中得到跟蹤和驗(yàn)證,滿足汽車廠商的多車型生產(chǎn)需求。隨著技術(shù)發(fā)展,柔性生產(chǎn)線的需求越來(lái)越多,車型傳遞技術(shù)在標(biāo)準(zhǔn)化上仍需要不斷地摸索。