吳仁君
(惠州城市職業(yè)學(xué)院,廣東 惠州 516025)
隨著光電子技術(shù)的飛速發(fā)展,激光雕刻技術(shù)的應(yīng)用范圍越來越廣泛,雕刻精度要求也越來越高。影響激光雕刻的4個最根本的要素是雕刻速度、激光功率、雕刻精度以及材料。激光雕刻主要用于加工有機玻璃、木材、皮革、布料以及塑料等非金屬材料,在工藝品、服裝以及廣告印刷等領(lǐng)域的應(yīng)用范圍越來越廣泛。目前,雕刻價格高,在工作過程中會產(chǎn)生有毒氣體,需要經(jīng)過特定的空氣凈化系統(tǒng)凈化后才能往空氣中排放,操作復(fù)雜且危險,需要專業(yè)人員進行操作。激光雕刻大部分采用單片機作為主控制芯片,采用上位機設(shè)計和輸出圖像,控制系統(tǒng)精度和功能的局限較大,不能脫離個人計算機單獨工作,成本高[1-2]。
針對以上現(xiàn)狀,該文設(shè)計了一個基于CoDeSys SoftMotion CNC的三軸激光雕刻機虛擬控制系統(tǒng),采用AutoCAD對雕刻圖像進行設(shè)計,CoDeSys SoftMotion CNC編寫CNC程序G代碼,通過CoDeSys進行PLC程序編程及視圖設(shè)計,最后使用CoDeSys SoftMotion Win V3仿真機進行虛擬仿真。采用多軸插補方法,控制系統(tǒng)精度高、控制方便且效果逼真,并且能支持多種設(shè)計文件,還能對加工圖形進行編輯。
雕刻機的控制系統(tǒng)非常關(guān)鍵,會影響整個激光雕刻機的雕刻精度、性能以及多樣性,必須對控制系統(tǒng)有更嚴格的要求。首先,控制系統(tǒng)使用AutoCAD將需要雕刻的圖片或文件轉(zhuǎn)化為可識別的DXF矢量圖格式。其次,將矢量圖導(dǎo)入CNC表格,自動生產(chǎn)G代碼,編寫PLC插補程序及路徑顯示程序。最后,輸入CNC運動控制表,以進行相應(yīng)的高精度控制操作。該虛擬控制系統(tǒng)主要通過軟件完成路徑的控制和顯示工作,從而達到仿真的效果[3-4]。
插補(Interpolation)就是機床數(shù)控系統(tǒng)根據(jù)一定方法確定刀具運動軌跡的過程。也可以說,已知曲線上的某些數(shù)據(jù)根據(jù)某種算法計算已知點之間的中間點的方法,也稱為數(shù)據(jù)點的密化。數(shù)控裝置根據(jù)輸入的零件程序的信息,對程序段所描述的曲線的起點、終點間的空間進行數(shù)據(jù)密化,從而形成符合要求的輪廓軌跡,這種數(shù)據(jù)密化機能就稱為插補。1個零件的輪廓往往是多種多樣的,有直線,有圓弧,也有可能是任意曲線、樣條線等。數(shù)控機床的刀具不能以曲線的實際輪廓走刀,而是近似地以若干條很小的直線去走刀,走刀的方向一般是x和y方向。插補方式包括直線插補、圓弧插補、拋物線插補以及樣條線插補等[5]。
CNC運動控制的工作機制如下:在CNC編輯器中,可以采用多種方式生成CNC數(shù)據(jù),這些數(shù)據(jù)在經(jīng)過IEC程序進行解碼、路徑預(yù)處理以及插補運算后,得到空間坐標數(shù)據(jù),通過逆向運動學(xué)變換后,得到運動軸的位置數(shù)據(jù),從而經(jīng)過運算得到配置軸的當(dāng)前運動速度,最后將這些位置和速度等數(shù)據(jù)傳送至相應(yīng)的驅(qū)動器接口,最終驅(qū)動軸運行。
激光雕刻機的虛擬控制系統(tǒng)如圖1所示。傳統(tǒng)的激光雕刻機系統(tǒng)主要由機械系統(tǒng)、光學(xué)系統(tǒng)以及控制系統(tǒng)組成。該項目虛擬控制系統(tǒng)以CoDeSys SoftMotion Win V3作為仿真控制機,可以仿真整個運行過程。首先,采用現(xiàn)場總線EtherMaster的通信方式,由SoftMotionGeneral Axis Pool作為虛擬運動控制機。其次,在該基礎(chǔ)上添加3個虛擬軸(Axis_X、Axis_Y和Axis_Z),實現(xiàn)3個虛擬軸的點動、回原點以及相對與絕對定位的高精度控制等功能,控制精度高達0.01 mm,可以實現(xiàn)不同軸之間的同步動作以及多軸的運動插補功能。最后,通過Visualization視圖功能模擬整個激光的運動軌跡。
圖1 虛擬控制系統(tǒng)及通信方式
該設(shè)計以PLC運動控制和軸組的CNC插補控制為核心,使用梯形圖、連續(xù)功能圖(CFC)以及ST結(jié)構(gòu)化文件進行編程,通過加載DXF文件來生產(chǎn)G代碼,可以對雕刻機的3個軸進行控制。整個系統(tǒng)包括系統(tǒng)圖像設(shè)計、CNC程序設(shè)計、PLC程序設(shè)計以及視圖設(shè)計,主要流程如圖2所示。
圖2 程序流程圖
該設(shè)計模擬加工1臺電視機,需要加工的文件圖形為矢量圖,矢量圖用直線和曲線來描述圖形,一般占用的空間較小,使用的矢量圖格式為DXF,該設(shè)計采用AutoCAD軟件進行圖像設(shè)計,生成DXF格式的文件,設(shè)計如圖3所示。
圖3 圖像設(shè)計
在CNC程序中,可以在CNC程序編輯區(qū)輸入G代碼,或者導(dǎo)入DXF文件后自動生成G代碼(該設(shè)計通過加載DXF文件進行G代碼導(dǎo)入自動生成)。
采用加載DXF文件,在加載DXF文件后,在CNC程序編輯區(qū)自動生成多行G代碼,同時在CNC路徑效果區(qū)顯示軌跡效果,如圖4所示。
在CNC路徑效果區(qū),字與字之間會出現(xiàn)綠色的過渡線段,激光在繪制圖形的過程中,必須在綠色字體位置處關(guān)閉,在其他字的位置處打開。為了實現(xiàn)該功能,就需要為G代碼添加M功能指令。
可以通過3D視圖控制器對CNC路徑效果區(qū)顯示的軌跡效果進行調(diào)整,例如縮放、平移、旋轉(zhuǎn)以及三視圖等。如圖4所示,調(diào)整后,可以非常明顯地看到軌跡處于三維空間,每個點都對應(yīng)不同的X、Y和Z坐標。
圖4 G代碼生成、部分程序
2.3.1 新建工程
新建工程,設(shè)備選擇“CoDeSys SoftMotion Win V3”,編程語言選擇CFC。添加3個虛軸,將軸的名稱設(shè)置為“Axis_X”、“Axis_Y”和“Axis_Z”。分別雙擊3個虛擬軸,并對3個軸的“SoftMotion驅(qū)動:通用”進行設(shè)置。
2.3.2 添加軸組
添加軸組的步驟如下:1) 添加軸組。2) 對軸組進行設(shè)置,包括選擇運動學(xué)、軸關(guān)聯(lián)和任務(wù)關(guān)聯(lián)。
2.3.3 添加CNC表
添加CNC程序,在添加時設(shè)置“實現(xiàn)”方式為“Din66025”,“編譯模式”為“SMC_OutQueue”。添加完成后,設(shè)備樹下將自動出現(xiàn)“CNC”和“CNC設(shè)置”。
在CNC程序上,用戶可以在CNC程序編輯區(qū)輸入G代碼,或者通過DXF文件導(dǎo)入G代碼。下面通過加載DXF文件導(dǎo)入G代碼。
在加載DXF文件后,在CNC程序編輯區(qū)自動生成多行G代碼,同時在CNC路徑效果區(qū)顯示軌跡效果。
2.3.4 編寫PLC插補主程序
該程序采用CFC的編程方式,通過CFC編程可以很清晰地了解功能塊之間的關(guān)系。程序先采用SMC_GroupPower對軸組進行使能;在SMC_GetParamters功能塊中,如果插補器正在使用M功能,就可以使用該模塊輪詢,因此M功能設(shè)置的輸出參數(shù)為(K,L,O);SMC_Interpolator功能塊可以將SMC_GEOINFO對象描述的連續(xù)路徑轉(zhuǎn)換為離散的路徑位置點,同時考慮已定義的速度曲線和時間模式,這些位置點通常將通過IEC程序轉(zhuǎn)換并發(fā)送到驅(qū)動器中;SMC_TRAFO_Gantry3模塊提供了轉(zhuǎn)換模塊,可以處理三維龍門系統(tǒng),且不需要進行轉(zhuǎn)換,因此,當(dāng)進行后向計算時,模塊僅在X軸、Y軸和Z軸上添加偏移量。SMC_ControAxisByPos功能塊將設(shè)置位置fSetPosition寫入驅(qū)動結(jié)構(gòu)Axis,并監(jiān)視Axis是否有跳躍。SMC_ControlAxisByPos通常與CNC和SMC_Interpolator的實例一起使用,用于控制 3個軸(X、Y和Z)按設(shè)定的路徑運動。
2.3.5 編寫路徑顯示程序
VisuStruct3DControl的數(shù)據(jù)結(jié)構(gòu)用于控制Path3D元素的攝像機。用戶將Visu元素鏈接到這種類型的結(jié)構(gòu)變量。添加SM3_CNC_Visu、VisuElem3DPath庫文件,SM3_CNC_Visu庫文件包括SMC_PositionTracker和SMC_PathCopier指令;VisuElem3DPath庫文件包括VisuStruct3DControl、VisuStruct3DPathPoint數(shù)據(jù)類型和ControlPanel面板。
新建1個名為“Show Path”的程序,以實現(xiàn)路徑顯示的功能,該程序采用ST編程方式,編寫完畢后,將“Show Path”程序拖入任務(wù)配置的MainTask中。將顯示路徑的尋址文件 sFileName設(shè)置為C:UsersAdministratorDesktopLogo.CNC,說明在電腦的桌面上存在1個Logo.CNC的文件。
2.3.6 編寫M功能程序
新建1個名為“M_Function”的程序,使激光能正確繪制圖案,該程序采用LD編程方式,編寫完畢后,將“M_Function”程序拖入任務(wù)配置的MainTask中。M功能為輔助功能,用于驅(qū)動CNC運動中的輔助裝置的開關(guān)動作或狀態(tài)。其工作原理為在CNC運動中,CPU從上至下執(zhí)行G代碼程序,當(dāng)執(zhí)行到M功能后,等待M功能執(zhí)行完畢的確認信號,在收到確認信號后,繼續(xù)往下執(zhí)行G代碼。在CNC路徑效果區(qū),字與字之間會出現(xiàn)綠色的過渡線段,激光在繪制圖形的過程中,必須在綠色字體位置處關(guān)閉,在其他字的位置處打開。為了實現(xiàn)該功能,需要為G代碼添加M功能指令。
將各個控件從工具箱里拖拽出來,按整齊的方式對標簽的內(nèi)容進行修改;RotDrive控件、矩形框、指示燈以及ControlPanel關(guān)聯(lián)到各自下方標簽對應(yīng)的變量上;按鈕根據(jù)下方標簽進行變量關(guān)聯(lián),“元素行為”設(shè)定為“圖像切換”。在路徑3D屬性中要設(shè)置路徑描述、跟蹤描述 、控制以及高亮模式。
下載并運行程序,打開視圖可以發(fā)現(xiàn),RotDrive控件的指針被藍色填充,此時表示系統(tǒng)已經(jīng)準備就緒,圖中紅色的實心點為M功能切換點,按下bStart按鈕完成驗證操作。在運行的過程中可以看到,當(dāng)按下啟動按鈕時,雖然在走紅色過渡點的軌跡,但是此時指示燈并沒有點亮,說明激光沒有打開,這段行程在實際的硬件設(shè)備中是不會被激光描繪出軌跡的。在后面進入字體繪制范圍內(nèi)可以看到,指示燈被點亮,說明正在描繪軌跡。當(dāng)全部軌跡描繪完畢后,原來的綠色字體全部被紅色字體覆蓋。
該項目通過定義3個虛擬軸并關(guān)聯(lián)成軸組來進行CNC插補運動控制,通過完成三維曲線軌跡行走,激光機繪制CNC運動軌跡雕刻,而在非軌跡路徑中,激光機處于關(guān)閉壯態(tài)。試驗結(jié)果表明,利用CNC插補運動控制可以使系統(tǒng)以超高的精確度和穩(wěn)定性生成預(yù)期的運動軌跡。