為了提供由后處理器輸出驅(qū)動的仿真,系統(tǒng)必須能夠解讀G代碼和M代碼以及控制器專用的其他命令和相關(guān)數(shù)據(jù)區(qū),然后系統(tǒng)會把這些信息轉(zhuǎn)化為機(jī)床上每個軸或可控制裝置的相應(yīng)運(yùn)動輸入。這就要求詳細(xì)了解具體的目標(biāo)機(jī)床和控制器,甚至需要詳細(xì)到了解一個特定客戶對該機(jī)床的預(yù)期目標(biāo)配置。這是對后處理器所創(chuàng)建內(nèi)容的逆向工程,即該逆向工程的方法最好與機(jī)床控制器執(zhí)行該任務(wù)的方法相同,其結(jié)果是3D仿真,驅(qū)動該3D仿真的代碼與進(jìn)入機(jī)床對真實(shí)零件進(jìn)行切割的G代碼和M代碼相同。
該軟件還可以看到由處理器的邏輯增加的、但是在內(nèi)部刀具路徑階段早期并不存在的其他動作,從而對機(jī)床實(shí)際加工進(jìn)行更加真實(shí)、更加完整的仿真。在很多高級機(jī)床(尤其那些具有真實(shí)、同步多任務(wù)功能的機(jī)床)的封閉、復(fù)雜環(huán)境中,非常關(guān)鍵。
機(jī)床車間可以檢查CAM系統(tǒng)是否能夠進(jìn)行G代碼驅(qū)動的機(jī)床仿真。其中一項(xiàng)測試方法是檢查CAM系統(tǒng)是否能夠?qū)σ粋€外部來源的NC程序進(jìn)行讀入并仿真,如手動創(chuàng)建或修改的,或者從機(jī)床讀入用G代碼和M代碼編寫的NC程序。要做到這一點(diǎn),就要能夠?qū)o定機(jī)床和控制器的這些代碼進(jìn)行逆向工程。
另外,還有一些獨(dú)立軟件包,能夠提供后期的G代碼和M代碼驗(yàn)證,這些代碼能夠讀入來自CAM系統(tǒng)的輸出。不僅如此,這些軟件包還能夠完全以上面描述的方式使用數(shù)據(jù)。很多機(jī)床車間均已投資于這些外部機(jī)床仿真軟件,即使投資超出了它們在CAM軟件上的投資。
NC編程
如果把G代碼驅(qū)動的單獨(dú)仿真應(yīng)用程序用作大多數(shù)CAM系統(tǒng)的附件,則在同步多通道機(jī)床的各個單獨(dú)元件時又會產(chǎn)生另外一個問題。編程人員希望看到在任何情況下機(jī)床的關(guān)鍵部件、夾具和切削刀具的準(zhǔn)確位置,在編程人員用軟件來向程序運(yùn)行順序添加“等待”和“同步”代碼時更是如此。就像繁忙路口的交通信號燈一樣,這些代碼在管理多加工順序方面起到了關(guān)鍵作用,確保多任務(wù)機(jī)床不成為“多沖突”機(jī)床。
為了實(shí)現(xiàn)可靠的同步,必須確定每次操作或者每個NC程序塊的準(zhǔn)確時間。為了計(jì)算準(zhǔn)確時間,需要準(zhǔn)確表示控制器功能以及軸的參數(shù)(加速度、最大速度、速度、急跳限值、準(zhǔn)確的停止時間等)。通用機(jī)床仿真只能提供大概值,但是當(dāng)編程人員使用所有機(jī)床功能時,對于快速運(yùn)動設(shè)備和小公差而言,只有這些大概值是不夠的。與實(shí)際沖突風(fēng)險相差甚遠(yuǎn)。
一些編程人員會用手動方式把這些“同步和等待”代碼增加到其CAM系統(tǒng)后處理器的輸出,然后用外部、第三方機(jī)床仿真軟件包來進(jìn)行全面測試。當(dāng)然,如果發(fā)現(xiàn)問題,他們會對G代碼和M代碼進(jìn)行一些局部、手動編輯,或者回到CAM系統(tǒng),在反復(fù)試驗(yàn)的基礎(chǔ)上重新按順序運(yùn)行。當(dāng)編程人員對整套作業(yè)進(jìn)行同步處理時,車間最好擁有 CAM系統(tǒng)內(nèi)的所有功能。
事實(shí)上,真正需要的是完整集成后處理器功能和內(nèi)部“G代碼驅(qū)動”機(jī)床仿真,把該組合與CAM系統(tǒng)內(nèi)的仿真功能直接連接,意味著NC編程人員可以在同一套軟件內(nèi)完成所有操作。
發(fā)展:真正的控制器
與基本內(nèi)部刀具路徑驅(qū)動的仿真相比,雖然G代碼和M代碼驅(qū)動的仿真取得了很大的進(jìn)步,但是它不僅要依賴于軟件對代碼的翻譯質(zhì)量高低,而且還取決于用來測試以及匹配機(jī)床控制器和機(jī)床行為的運(yùn)動算法。
要盡量接近現(xiàn)實(shí),需要采取的下一個步驟是準(zhǔn)確復(fù)制機(jī)床控制器是如何處理這些G代碼、M代碼以及所附的數(shù)據(jù)區(qū)的。所有控制器的黑匣子里面都有軟件,大多數(shù)擁有復(fù)雜算法,這些算法用于解釋來自CAM軟件包后處理器的數(shù)據(jù)。在這方面,沒有兩個控制器是完全一樣的,因此如果要對機(jī)床運(yùn)動進(jìn)行真正地仿真,需要找到一個好的方法來復(fù)制在給定的G代碼和M代碼順序下某個特定控制器軟件會如何運(yùn)行。
要做到這一點(diǎn),理想的方法是得到實(shí)際機(jī)床控制器中使用的一個軟件版本,然后將其插入車床仿真軟件。在后面一種情況下,可以用控制器制造商提供的“黑匣子”軟件來解釋CAM系統(tǒng)的虛擬、數(shù)字世界內(nèi)的G代碼和M 代碼,這樣可以進(jìn)行“控制器驅(qū)動的機(jī)床仿真”。事實(shí)上,對于CAM系統(tǒng)或基于車間的仿真器,控制器驅(qū)動的仿真可以全面提高機(jī)床仿真的完整性和準(zhǔn)確性水平。
目前只有極少數(shù)控制器制造商才能夠提供控制器軟件(可以加到機(jī)床仿真器軟件)的插件版本,而西門子就是其中一個。西門子的Sinumerik 840D控制器把基于PC的軟件作為其標(biāo)準(zhǔn)構(gòu)造的一部分。西門子自動化和驅(qū)動集團(tuán)(A&D)旗下機(jī)構(gòu)Siemens PLM Software已經(jīng)采用了該軟件,在其NXTMCAM系統(tǒng)內(nèi)提供基于CAM的控制器驅(qū)動仿真。另外,西門子和Siemens PLM Software已經(jīng)與一些機(jī)床制造商攜手開發(fā)最完整的獨(dú)立車間機(jī)床仿真器,將其作為某些機(jī)床的附件選項(xiàng)。不僅如此,還提供了控制器的人機(jī)界面以提高仿真器的真實(shí)感和價值。
NX CAM工具
針對多功能機(jī)床一類的先進(jìn)機(jī)床,Siemens PLM Software可以提供完整的“機(jī)床支持工具箱”,這些工具不僅僅包括后處理器,而且還包括機(jī)床的3D實(shí)體裝配模型、G代碼仿真驅(qū)動器、標(biāo)準(zhǔn)的加工作業(yè)模板、零件樣品以及文件。對于使用西門子Sinumerik 840D 控制器的機(jī)床,還可以選擇增加控制器驅(qū)動的功能。
一個 CAM 軟件包里面可能有看起來很酷的3D仿真,讓3D模型上有金屬質(zhì)感和光澤反射的外表。不過,更重要的是在計(jì)算機(jī)屏幕上的數(shù)字世界里面看到的東西是否與按下實(shí)際機(jī)床上的啟動按鈕后真正發(fā)生加工過程相同。
為了提供最佳結(jié)果,大多數(shù)先進(jìn)機(jī)床可能需要在CAM系統(tǒng)的內(nèi)部機(jī)床仿真器里面安裝一個G代碼驅(qū)動器。為了使機(jī)床投資價值最大化,可以采用“控制器驅(qū)動的仿真”,安裝在CAM系統(tǒng)用于執(zhí)行編程任務(wù),也可以安裝在車間里的一個獨(dú)立機(jī)床仿真器內(nèi)用于最終實(shí)現(xiàn)虛擬功效。
評論