齊江飛,戈北京,朱本正,吳 俊,林 濤,李曉悅,牛文文
(中國汽車工業(yè)工程有限公司,天津 300380)
隨著汽車涂裝技術的進步和全社會節(jié)能環(huán)保意識的不斷增強,綠色涂裝技術已成為涂裝的發(fā)展趨勢[1]。中國汽車工業(yè)工程有限公司自主研發(fā)的應用于汽車涂裝前處理和電泳工藝輸送的AE翻轉輸送機,在實現(xiàn)節(jié)能環(huán)保目標的同時,極大地提高了輸送機的柔性,目前已有數(shù)條生產線投入實際應用,并獲得了越來越多知名汽車廠商的青睞。
工件的翻轉輸送軌跡是前處理電泳和機運專業(yè)設計計算的前提。目前尚沒有專門的軟件繪制工件的翻轉輸送軌跡,只能靠人工逐步繪制,最后拼接成完整的運行軌跡,一旦參數(shù)有所改變,只能重新繪制,速度慢、勞動強度大、簡單重復性強,而且效率較低[2],此外還很難實現(xiàn)相鄰兩車運動中的干涉檢查及節(jié)距的優(yōu)化設計,難以滿足高效率生產和設計的要求,因此亟需開發(fā)一套工件翻轉輸送軌跡自動繪制軟件。
為實現(xiàn)AE翻轉輸送機帶工件在槽體中翻轉輸送軌跡的全自動繪制,降低設計人員的勞動強度,提高設計效率,本文利用AutoCAD VBA進行二次開發(fā),實現(xiàn)如下功能:1)工件在浸入即出的水洗槽中翻轉輸送軌跡的自動繪制;2)工件在有工藝時間要求的工藝槽中翻轉輸送軌跡的自動繪制,包括自動計算工藝時間;3)相鄰兩臺翻轉輸送機帶車身和橇體在水洗槽、工藝槽的動畫仿真、干涉檢查、工件節(jié)距確定;4)可視化參數(shù)輸入。
將翻轉輸送機(旋轉部分除外)單獨做成一個圖塊,車身和橇體及翻轉機旋轉部分做成一個圖塊,基點同為旋轉中心。用戶在交互界面輸入設備參數(shù)和運行參數(shù),在軌跡繪制前,用戶在CAD界面上用鼠標點選圖塊的插入點坐標,程序根據(jù)用戶輸入的數(shù)據(jù)計算相鄰幀翻轉機及車身和橇體圖塊的旋轉角度、前進距離,然后在CAD界面上顯示插入的圖塊,形成軌跡。對于有工藝時間要求的軌跡,程序會根據(jù)用戶輸入的參數(shù),計算出除去邊走邊轉的工藝時間之外車和橇體在槽中水平行走的時間,并計算出出槽點位置,然后在各步長點逐個插入圖塊,完成帶工藝時間的軌跡繪制。相鄰車組動畫仿真,可以采用固定節(jié)距的兩車組同時作上述軌跡運動來實現(xiàn)。
1) 圖塊的變角度動態(tài)插入。
如圖1所示,將翻轉輸送機(旋轉部分除外)單獨做成一個圖塊Bs,車身和橇體及翻轉機旋轉部分做成一個圖塊Bc,基點同為旋轉中心Rc。通過GetPoint函數(shù)[3-5]選擇插入點Bi,在此點插入圖塊Bs和圖塊Bc(系統(tǒng)默認圖塊的插入點為圖塊的基點),通過InsertBlock函數(shù)[2-3]實現(xiàn)。Bi點即為后續(xù)圖塊位移和旋轉計算的坐標原點。根據(jù)用戶輸入的角度步長(d_angle),計算行走步長值,然后依次計算出各個步長點的位移和旋轉角度。圖塊的位移由Move函數(shù)實現(xiàn),圖塊的旋轉由Rotation函數(shù)實現(xiàn),各個步長點圖塊的插入由InsertBlock函數(shù)實現(xiàn)[3-5]。
圖1 圖塊示意圖
圖塊插入、移動、旋轉操作代碼如下:
Set EntCar = ThisDrawing.ModelSpace.InsertBlock(basepoint, "carandskid", 1#, 1#, 1#, 0)
′車身圖塊插入
Set EntcarTmp = EntCar.Copy() ′新建車身塊拷貝
EntcarTmp.Move point1, point2 ′新建車身塊的移動
EntcarTmp.Rotation = EntTmp.Rotation + d_angle ′新建車身塊按一定角度旋轉
2) 工藝時間計算。
車身涂裝前處理電泳工藝中的脫脂、磷化、硅烷、電泳等工藝有嚴格的工藝時間要求,對于脫脂、磷化和硅烷工藝,一般從車頂中點沒入液面開始計算,到車頂中點出液面時為止,整個過程用時即為車身處理的工藝時間。對于電泳工藝,一般從車身完全沒入液面開始計算到車身第一點出液面時為止,整個過程用時即為車身處理的工藝時間。下面以磷化工藝舉例進行說明。
如圖2所示,以旋轉中心為圓心O,以圓心O到車頂中點C的距離為半徑做輔助圓,輔助圓與液面線的交點為A和B,角a為車身入槽至水平姿態(tài)所旋轉的角度,角b為車身從水平姿態(tài)旋轉至出槽的角度,假設翻轉輸送機的旋轉速度為Vr,行走速度為Vm,總工藝時間為T,則剩余車身旋轉180°至液面下直線行走的時間為T2=T-(a+b)/Vr,直線行走距離為D=Vm×T2,以此可以計算出出槽的位置點。其中輔助圓由AddArc函數(shù)實現(xiàn),交點求取由IntersectWith函數(shù)實現(xiàn),角度求取由AngleFromXAxis函數(shù)實現(xiàn)[3-5]。
作輔助線計算車身旋轉角度及行走所占用的工藝時間代碼如下:
dippoint = ThisDrawing.Utility.GetPoint( "請選擇全浸點:")
Set ObjArc = ThisDrawing.ModelSpace.AddArc(basepoint, radius, PI, 1.5 * PI)
′以旋轉中心為圓心,全浸點到旋轉中心距離為半徑作輔助圓
interpoint = EntLiquidline.IntersectWith(ObjArc, acExtendNone) ′獲取交點A并判斷
dipangle = ThisDrawing.Utility.AngleFromXAxis(basepoint, dippoint) * 180 / PI-ThisDrawing.Utility.AngleFromXAxis(interpoint, basepoint) * 180 / PI ′旋轉角度a
d_rotate_time = 2 * dipangle / d_angle_speed ′旋轉占用工藝時間(默認角a和角b相等)
d_left_time = d_pro_time - d_rotate_time ′除邊走邊轉外,剩余直線行走工藝時間
ObjArc.Delete ′輔助圓刪除
圖2 工藝時間計算原理圖
3) 相鄰車身動畫仿真及節(jié)距選擇。
在產能較大的涂裝前處理電泳生產線中,工件在工藝槽中的運行常常采用按節(jié)距連續(xù)輸送的方式。為縮短生產線總長度,降低建設、運營成本,需要對工件的節(jié)距進行優(yōu)化設計,為此開發(fā)了相鄰車身軌跡動畫仿真模塊,主要用于觀察在連續(xù)旋轉輸送時相鄰車身的最小間距,以此來確定連續(xù)輸送的節(jié)距。
下面以浸入即出槽輸送為例。動畫中兩車組移動的總距離為2個節(jié)距,即2Pitch,假設車體間允許的間距為Dn,可調范圍為ΔD。動畫仿真及節(jié)距選擇流程如圖3所示。
圖3 動畫仿真及節(jié)距選擇流程
1)軟件界面。
軟件界面如圖4所示,主要包括參數(shù)設置和模式選擇兩部分。參數(shù)設置包括翻轉輸送機系統(tǒng)本身的機械參數(shù)設置(如旋轉中心到軌道面距離,軌道面距槽沿距離等參數(shù))和生產運行相關的參數(shù)設置(如節(jié)距、速度設置等);模式選擇包括浸入即出和是否動畫兩個選項。
圖4 軟件界面
2)實現(xiàn)效果。
軟件各個功能塊的運行結果如圖5~圖7所示。圖5為磷化槽中有工藝時間要求的非浸入即出模式下的運行軌跡圖,圖6為磷化槽中有工藝時間要求的非浸入即出模式下的動畫仿真車身最小間距圖(工件節(jié)距6 500 mm),圖7為磷化槽中有工藝時間要求的非浸入即出模式下的動畫仿真干涉圖(工件節(jié)距6 000 mm)。所有運行參數(shù)值以文本的形式呈現(xiàn)在軌跡或動畫上方。
圖5 軌跡圖
圖6 動畫仿真圖 圖7 動畫仿真干涉圖
翻轉輸送軌跡及動畫仿真專用軟件的開發(fā)大大減輕了設計人員的勞動強度,降低了出錯的概率,極大地提高了設計效率。但本文開發(fā)的軟件目前只能實現(xiàn)定節(jié)距工件軌跡繪制和動畫仿真,尚無法解決變節(jié)距工件軌跡繪制和動畫仿真問題,有待未來進一步研究。