馮晉,池寅生,成小英,慈瑞梅
(揚(yáng)州職業(yè)大學(xué),江蘇揚(yáng)州225009)
振鏡式激光加工系統(tǒng)一般采用PCI運(yùn)動(dòng)控制卡(振鏡卡)控制振鏡實(shí)現(xiàn)對(duì)激光光斑軌跡的控制[1]。這種方法成本低且運(yùn)動(dòng)控制精確[2-4]。由于振鏡式激光加工系統(tǒng)的軟件和硬件都往往由設(shè)備供應(yīng)商統(tǒng)一提供,其軟件系統(tǒng)不能內(nèi)嵌用戶(hù)程序,在焊接、切割等加工方式對(duì)設(shè)備及工藝方面有特殊要求時(shí),需要用戶(hù)進(jìn)行二次開(kāi)發(fā)。我們采用Visual Studio 2008集成開(kāi)發(fā)環(huán)境進(jìn)行用戶(hù)程序的設(shè)計(jì)與編制,在對(duì)LMC-2型振鏡控制卡進(jìn)行二次開(kāi)發(fā)的過(guò)程中解決了“激光加工軌跡預(yù)覽及監(jiān)控”問(wèn)題。
振鏡式激光加工中,振鏡坐標(biāo)采用平面直角坐標(biāo)系,見(jiàn)圖1(a)。而計(jì)算機(jī)屏幕坐標(biāo)系的坐標(biāo)原點(diǎn)位于屏幕的左上方,Y軸方向向下,見(jiàn)圖1(b)。此外,振鏡坐標(biāo)與屏幕坐標(biāo)系統(tǒng)的度量單位也不同。振鏡坐標(biāo)需要通過(guò)坐標(biāo)變換才能將圖形在屏幕坐標(biāo)系內(nèi)正確顯示。
本文的開(kāi)發(fā)對(duì)象是北京金橙子科技有限公司的LMC-2型打標(biāo)卡及打標(biāo)控制軟件EzCad—V2。LMC-2型打標(biāo)卡實(shí)際上是一款專(zhuān)用于振鏡的運(yùn)動(dòng)控制卡,通過(guò)發(fā)送脈沖控制振鏡偏轉(zhuǎn),從而實(shí)現(xiàn)激光光斑的軌跡控制。根據(jù)《EzCad 2.0國(guó)際版用戶(hù)手冊(cè)》的說(shuō)明,EzCad—V2是專(zhuān)門(mén)為激光打標(biāo)設(shè)計(jì)的軟件系統(tǒng),主要完成CAD、振鏡運(yùn)動(dòng)控制及激光器控制等功能。該系統(tǒng)不能加入用戶(hù)插件,沒(méi)有軌跡監(jiān)控功能。用戶(hù)需通過(guò)該公司提供的動(dòng)態(tài)連接庫(kù)MarkEzd.dll取得對(duì)振鏡的控制權(quán)[5]。通過(guò)調(diào)用該動(dòng)態(tài)鏈接庫(kù)中的相應(yīng)函數(shù),可以獲取軌跡的預(yù)覽圖像和當(dāng)前振鏡坐標(biāo)。我們解決的問(wèn)題是如何顯示預(yù)覽圖形,用獲取的振鏡坐標(biāo)模擬加工軌跡,并使模擬軌跡與預(yù)覽軌跡重合。
圖1 振鏡坐標(biāo)系與屏幕坐標(biāo)系
用戶(hù)界面采用PictureBox控件作為圖片容器,取名為picView。圖片容器的坐標(biāo)系與屏幕坐標(biāo)系類(lèi)似,區(qū)別僅在于圖片容器坐標(biāo)系原點(diǎn)位于圖片容器的左上角,而不是在屏幕的左上角。將預(yù)覽圖片裝入此容器中即可實(shí)現(xiàn)在用戶(hù)程序中激光軌跡的預(yù)覽。通過(guò)LMC-2卡采集數(shù)據(jù),獲得振鏡的實(shí)時(shí)坐標(biāo),以此坐標(biāo)值畫(huà)連續(xù)直線(xiàn)模擬光斑運(yùn)動(dòng)軌跡,從而實(shí)現(xiàn)監(jiān)控功能,流程圖見(jiàn)圖2。
調(diào)用MarkEzd.dll中的圖片函數(shù)lmc1.Get-Prev Bitmap,得到當(dāng)前數(shù)據(jù)庫(kù)里所有對(duì)象的預(yù)覽圖形。EzCad—V2提供的預(yù)覽圖片是邊長(zhǎng)相等的正方形bmp格式圖片,其大小可以由用戶(hù)指定,這里采用圖片容器邊長(zhǎng)的最小值作為圖片的長(zhǎng)和高。圖片加載程序如下:
圖2 軌跡預(yù)覽及監(jiān)控流程圖
加工軌跡的監(jiān)控通過(guò)調(diào)用MarkEzd.dll中的坐標(biāo)函數(shù)lmc1.GetCurCoor得到當(dāng)前振鏡坐標(biāo),畫(huà)直線(xiàn)模擬運(yùn)動(dòng)軌跡。加工軌跡的監(jiān)控的主要難點(diǎn)在于:(1)振鏡坐標(biāo)系與圖片容器的屏幕坐標(biāo)系不同;(2)預(yù)覽圖形原點(diǎn)與圖片容器的屏幕坐標(biāo)系原點(diǎn)不重合;(3)預(yù)覽圖形與模擬軌跡的監(jiān)控圖形不重合。
難點(diǎn)(1)、(2)實(shí)質(zhì)上是振鏡坐標(biāo)系與屏幕坐標(biāo)系間的坐標(biāo)系變換問(wèn)題。具體的變換方法可以借鑒CAD圖形變換原理[6]。
難點(diǎn)(3)的原因是屏幕坐標(biāo)的單位與振鏡坐標(biāo)系的單位不同。屏幕的坐標(biāo)系基于設(shè)備坐標(biāo),基本量度單位是設(shè)備單位(通常為像素)。振鏡坐標(biāo)系使用毫米作為度量單位。可以通過(guò)圖形比例變換使預(yù)覽圖形與模擬軌跡的監(jiān)控圖形重合。
2.3.1 坐標(biāo)系變換
與幾何圖形在同一坐標(biāo)系進(jìn)行圖形變換不同,本文討論的坐標(biāo)系變換并不改變圖形的位置、大小或形狀,改變的是坐標(biāo)系的方向和坐標(biāo)系原點(diǎn)的位置。在假定圖形形狀及位置不變的情況下,將振鏡坐標(biāo)系的值換算為屏幕坐標(biāo)系內(nèi)的坐標(biāo)值。圖3(a)所示為振鏡坐標(biāo)系,三角形表示實(shí)時(shí)軌跡圖形。將振鏡坐標(biāo)系Y軸反向,得到的坐標(biāo)系X'O'Y'與屏幕坐標(biāo)系方向相同,如圖3(b)所示。坐標(biāo)變換公式為:
圖3 坐標(biāo)系變換
其中,x,y為原振鏡坐標(biāo)系內(nèi)的坐標(biāo)值,x',y'為Y軸反向后的坐標(biāo)系X'O'Y'的坐標(biāo)值。
將坐標(biāo)系X'O'Y'原點(diǎn)平移到屏幕坐標(biāo)系原點(diǎn),得到新坐標(biāo)系X″O″Y″。顯然,坐標(biāo)系X″O″Y″即屏幕坐標(biāo)系。坐標(biāo)系平移公式為:
其中,x″,y″為新坐標(biāo)系X″O″Y″內(nèi)的坐標(biāo)值,Δx,Δy為坐標(biāo)系X'O'Y'與坐標(biāo)系X″O″Y″的X軸和Y軸的間距。
2.3.2 比例變換
圖4 比例變換
圖4中,實(shí)線(xiàn)三角形為實(shí)時(shí)采集振鏡坐標(biāo)而繪制的監(jiān)控圖形;虛線(xiàn)三角形為系統(tǒng)提供的載入圖片容器后已縮放的預(yù)覽圖形,即顯示圖形。為了使這兩個(gè)圖形重合,需要對(duì)監(jiān)控圖形進(jìn)行比例變換。
計(jì)算比例變換因子時(shí),還要考慮一個(gè)特殊問(wèn)題——為使圖形不至于與用戶(hù)程序的圖片容器邊界相交,振鏡式激光加工系統(tǒng)為監(jiān)控圖片設(shè)置了“留白”邊框?!傲舭住边吙蚴窍到y(tǒng)計(jì)算出實(shí)際圖形長(zhǎng)度范圍后,在四周增加的空白邊。設(shè)W/2,H/2為“留白”邊框的單邊寬度和單邊高度,如圖4所示。所以,Wp-W,Hp-H才是監(jiān)控圖形生成的圖片的實(shí)際寬度和高度。設(shè)Wc,Hc為圖片容器的寬度和高度,比例變換公式為:
取S=min(Sx,Sy),這樣可以保證圖形被完整預(yù)覽。比例變換公式為
2.3.3 振鏡式激光加工系統(tǒng)軌跡坐標(biāo)變換公式
綜上所述,振鏡式激光加工系統(tǒng)的軌跡坐標(biāo)變換由兩個(gè)步驟組成:坐標(biāo)系變換,完成Y軸反向和坐標(biāo)原點(diǎn)平移;對(duì)監(jiān)控圖形進(jìn)行比例變換,使監(jiān)控圖形與預(yù)覽圖形重合。
分析表明,監(jiān)控圖形的幾何中心始終位于圖片容器中心。采用從監(jiān)控圖形中心向圖片容器中心平移,借此完成坐標(biāo)系的平移變換,這樣比從振鏡坐標(biāo)系的原點(diǎn)向屏幕坐標(biāo)系原點(diǎn)平移更加簡(jiǎn)便。
監(jiān)控圖形幾何中心坐標(biāo)為:
其中,Pcx,Pcy為監(jiān)控圖形的幾何中心的坐標(biāo)值,Xmax,Xmin,Ymax,Ymin分別為監(jiān)控圖形中所有圖形實(shí)體在X軸和Y軸方向的坐標(biāo)極值。以上坐標(biāo)值均在振鏡坐標(biāo)系中獲得。
容器幾何中心坐標(biāo)為:
其中,Pc-sx,Pc-sy分別為圖片容器幾何中心的X軸,Y軸坐標(biāo)值,Wp,Hp為圖片容器的寬度和高度。Pc-sx,Pc-sy在屏幕坐標(biāo)系中獲得。
坐標(biāo)平移變換公式為:其中,S為比例變換因子,由式(4)得到。
這樣就得到實(shí)際的軌跡坐標(biāo)變換公式
其中,XS,YS為軌跡在屏幕坐標(biāo)系的坐標(biāo)值;x,y為振鏡坐標(biāo)系內(nèi)的坐標(biāo)值。屏幕坐標(biāo)變換部分的程序如下:
為了避免粘接劑厚度不均勻造成的產(chǎn)品質(zhì)量下降,以及粘接劑干燥時(shí)間過(guò)長(zhǎng)等問(wèn)題,某企業(yè)生產(chǎn)的油氣分離器的上蓋和盒體由原先的粘接工藝改為激光焊接工藝。完成此項(xiàng)加工任務(wù)的激光加工系統(tǒng)中,圖形顯示子系統(tǒng)的主要任務(wù)是激光光斑的運(yùn)動(dòng)軌跡顯示與實(shí)時(shí)監(jiān)控,光斑運(yùn)動(dòng)軌跡在EZCAD—V2軟件中完成設(shè)定。圖5即為我們開(kāi)發(fā)的用戶(hù)程序界面。在程序中通過(guò)調(diào)用預(yù)覽圖片即可得到顯示預(yù)定運(yùn)動(dòng)軌跡,如圖5(a)所示。激光光斑焊接軌跡由近似于矩形的封閉輪廓、兩條開(kāi)放的線(xiàn)性輪廓和五個(gè)用圓形表示的焊點(diǎn)等幾何要素組成。啟動(dòng)程序后,采集振鏡的實(shí)時(shí)坐標(biāo)值,通過(guò)前述算法,通過(guò)畫(huà)連續(xù)直線(xiàn)段的方法得到激光加工實(shí)時(shí)軌跡監(jiān)控圖形,如圖5(b)所示,粗實(shí)線(xiàn)表示激光實(shí)時(shí)軌跡。需要說(shuō)明的是,圖5(b)是加工過(guò)程中的即時(shí)截圖,此時(shí)尚未完成加工。
在圖5(a)中可以看出,預(yù)覽圖形在用戶(hù)程序中正確顯示;在圖5(b)中可以看出,用粗實(shí)線(xiàn)表示的實(shí)時(shí)監(jiān)控軌跡與預(yù)覽圖形的相關(guān)直線(xiàn)、圓弧等幾何要素完全重合。至此,圖形顯示子系統(tǒng)的設(shè)計(jì)目標(biāo)全部實(shí)現(xiàn)。
圖5 軌跡預(yù)覽圖片及實(shí)時(shí)軌跡監(jiān)控圖片
通過(guò)探索與實(shí)踐,提出了振鏡坐標(biāo)系與屏幕坐標(biāo)系統(tǒng)的轉(zhuǎn)換方案,比較完善地解決了振鏡式激光加工中圖片預(yù)覽和軌跡實(shí)時(shí)監(jiān)控問(wèn)題。為企業(yè)用戶(hù)提供了直觀(guān)、便捷的加工過(guò)程監(jiān)測(cè)方案。本文所述方法對(duì)常用運(yùn)動(dòng)控制卡的軌跡預(yù)覽及實(shí)時(shí)監(jiān)控也具有一定價(jià)值。
[1]劉捷.激光數(shù)控加工專(zhuān)用PCI總線(xiàn)運(yùn)動(dòng)控制卡研究[D].武漢:華中科技大學(xué),2004.
[2]吳琳,譚營(yíng).運(yùn)動(dòng)控制技術(shù)發(fā)展與展望[J].機(jī)床與液壓,2007(7):231.
[3]ROWE D M.How Laser Shows Work-Scanning System[EB/OL].[2011-09-30].http://www.laserfx.com/Works/Works3S.html.
[4]羅炳軍,陳健.基于運(yùn)動(dòng)控制器的開(kāi)放式運(yùn)動(dòng)控制系統(tǒng)研究與應(yīng)用[J].工業(yè)儀表與自動(dòng)化裝置,2006(3):10-12.
[5]錢(qián)雪忠.Visual Basic程序設(shè)計(jì)實(shí)用教程[M].北京:機(jī)械工業(yè)出版社,2004.
[6]N ENGLAND.A Graphics system architecture for interactive application-specific display functions[J].IEEE Computer Graphics and Applications,1986,6(1):60-70.