機(jī)床軟件仿真的實(shí)現(xiàn)
由于需要提高生產(chǎn)效率,或者需要通過加工更復(fù)雜、更高價(jià)值的零件來贏得更多訂單,工廠紛紛投資購(gòu)買先進(jìn)機(jī)床,而這種情況越來越普遍。由于這些機(jī)床非常先進(jìn),因此機(jī)床仿真就成為NC編程人員必不可少的武器,而不僅僅是作為一個(gè)有用的程序驗(yàn)證工具。
本文引用地址:http://cafeforensic.com/article/190382.htm加工仿真已經(jīng)經(jīng)過多個(gè)階段的演變,現(xiàn)在大多數(shù)CAM系統(tǒng)都具有一定的仿真功能。不過,這些系統(tǒng)并不是都以同樣的方法運(yùn)行。當(dāng)編程人員需要確定其在數(shù)字世界里面模擬發(fā)生的事情是否會(huì)真正發(fā)生在機(jī)床上時(shí),這些差別就顯得尤為重要。因此,要為手上的工作選擇正確的過程,就需要了解不同機(jī)床仿真之間的差別。
Vynce Paradise先生是Siemens PLM Software NX CAM行銷總監(jiān),他認(rèn)為機(jī)床仿真非常重要,且需甄別刀具路徑驗(yàn)證
最簡(jiǎn)單層次的仿真是CAM系統(tǒng)多年來所做而且現(xiàn)在還在做的事情。CAM系統(tǒng)通過坯料的一個(gè)3D模型的切削變化來表示切削過程,驗(yàn)證坯料的刀具路徑。該模式一般被稱為“刀具路徑驗(yàn)證”,即使沒有機(jī)床表示也可以執(zhí)行該模式。在標(biāo)準(zhǔn)的銑削或車削作業(yè)中,對(duì)刀具路徑的這種驗(yàn)證層次通常已經(jīng)綽綽有余了。選定了自動(dòng)材料切除選項(xiàng)之后,以現(xiàn)在的PC速度加上軟件算法的進(jìn)步,可以很好地改善這一層次的刀具路徑驗(yàn)證,對(duì)驗(yàn)證內(nèi)部刀具路徑這一工作來說是合適的。用戶可以輕易讀取刀具路徑的內(nèi)部定義,清楚地知道刀具與被加工表面的相對(duì)位置。
內(nèi)部刀具路徑定義
具有不同的基本運(yùn)動(dòng)自由度或者多任務(wù)功能的更高級(jí)的機(jī)床則需要一種不同的仿真。我們需要了解并顯示當(dāng)NC控制器和機(jī)床識(shí)別推薦的刀具路徑數(shù)據(jù)時(shí),這些數(shù)據(jù)會(huì)做什么。需要把機(jī)床運(yùn)動(dòng)作為一個(gè)完整系統(tǒng)來看待,而不僅僅是切削刀具相對(duì)于坯料的運(yùn)動(dòng)。
CAM 供應(yīng)商達(dá)到這一目的的最簡(jiǎn)單方法就是開發(fā)一種著眼于內(nèi)部刀具路徑定義的軟件,就像用于基本刀具路徑驗(yàn)證的軟件一樣,然后該軟件會(huì)將其轉(zhuǎn)換為一種通用運(yùn)動(dòng)輸出形式。這種運(yùn)動(dòng)與3D CAD各個(gè)軸相連接。該方法的優(yōu)點(diǎn)是它非常簡(jiǎn)單易用,最重要的是它具有相對(duì)的通用性。在軟件發(fā)展的這一階段,運(yùn)動(dòng)定義相對(duì)獨(dú)立于最終的目標(biāo)機(jī)床和控制器的造型和模型。在這種情況下,大多數(shù)CAM供應(yīng)商都采用一個(gè)通用的第三方插件應(yīng)用程序,將其用于3D運(yùn)動(dòng)學(xué)和運(yùn)動(dòng)顯示,創(chuàng)建機(jī)床仿真解決方案。
后處理器
人們顯然低估了后處理器的地位,它并不是整個(gè)計(jì)算機(jī)數(shù)控(CNC)系統(tǒng)中微不足道的一部分。在大多數(shù)情況下,大多數(shù)后處理器向機(jī)床控制器傳輸數(shù)據(jù)的惟一方法是采用眾人皆知的“G代碼和M代碼”。這些代碼是一組標(biāo)準(zhǔn)化的代碼,在某個(gè)層次上是通用的。但是與所有標(biāo)準(zhǔn)一樣,每個(gè)控制器制造商和機(jī)床車間都用很多不同的方法來延伸和解釋這些代碼。由于在大多數(shù)情況下控制器只擁有這些代碼以及與這些代碼相關(guān)的數(shù)值,因此解釋這些代碼的確切方法就至關(guān)重要。
問題的關(guān)鍵是,如果仿真系統(tǒng)要正確并完整地對(duì)機(jī)床運(yùn)動(dòng)進(jìn)行仿真,則仿真系統(tǒng)需要讀取后處理器的輸出即被發(fā)送到控制器的數(shù)據(jù)。為此,仿真系統(tǒng)需要一個(gè)軟件組件,該軟件組件比基于內(nèi)部刀具路徑的仿真驅(qū)動(dòng)程序要先進(jìn)一倍。
G代碼和M代碼
為了提供由后處理器輸出驅(qū)動(dòng)的仿真,系統(tǒng)必須能夠解讀G代碼和M代碼以及控制器專用的其他命令和相關(guān)數(shù)據(jù)區(qū),然后系統(tǒng)會(huì)把這些信息轉(zhuǎn)化為機(jī)床上每個(gè)軸或可控制裝置的相應(yīng)運(yùn)動(dòng)輸入。這就要求詳細(xì)了解具體的目標(biāo)機(jī)床和控制器,甚至需要詳細(xì)到了解一個(gè)特定客戶對(duì)該機(jī)床的預(yù)期目標(biāo)配置。這是對(duì)后處理器所創(chuàng)建內(nèi)容的逆向工程,即該逆向工程的方法最好與機(jī)床控制器執(zhí)行該任務(wù)的方法相同,其結(jié)果是3D仿真,驅(qū)動(dòng)該3D仿真的代碼與進(jìn)入機(jī)床對(duì)真實(shí)零件進(jìn)行切割的G代碼和M代碼相同。
該軟件還可以看到由處理器的邏輯增加的、但是在內(nèi)部刀具路徑階段早期并不存在的其他動(dòng)作,從而對(duì)機(jī)床實(shí)際加工進(jìn)行更加真實(shí)、更加完整的仿真。在很多高級(jí)機(jī)床(尤其那些具有真實(shí)、同步多任務(wù)功能的機(jī)床)的封閉、復(fù)雜環(huán)境中,非常關(guān)鍵。
機(jī)床車間可以檢查CAM系統(tǒng)是否能夠進(jìn)行G代碼驅(qū)動(dòng)的機(jī)床仿真。其中一項(xiàng)測(cè)試方法是檢查CAM系統(tǒng)是否能夠?qū)σ粋€(gè)外部來源的NC程序進(jìn)行讀入并仿真,如手動(dòng)創(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ī)床仿真軟件,即使投資超出了它們?cè)贑AM軟件上的投資。
NC編程
如果把G代碼驅(qū)動(dòng)的單獨(dú)仿真應(yīng)用程序用作大多數(shù)CAM系統(tǒng)的附件,則在同步多通道機(jī)床的各個(gè)單獨(dú)元件時(shí)又會(huì)產(chǎn)生另外一個(gè)問題。編程人員希望看到在任何情況下機(jī)床的關(guān)鍵部件、夾具和切削刀具的準(zhǔn)確位置,在編程人員用軟件來向程序運(yùn)行順序添加“等待”和“同步”代碼時(shí)更是如此。就像繁忙路口的交通信號(hào)燈一樣,這些代碼在管理多加工順序方面起到了關(guān)鍵作用,確保多任務(wù)機(jī)床不成為“多沖突”機(jī)床。
為了實(shí)現(xiàn)可靠的同步,必須確定每次操作或者每個(gè)NC程序塊的準(zhǔn)確時(shí)間。為了計(jì)算準(zhǔn)確時(shí)間,需要準(zhǔn)確表示控制器功能以及軸的參數(shù)(加速度、最大速度、速度、急跳限值、準(zhǔn)確的停止時(shí)間等)。通用機(jī)床仿真只能提供大概值,但是當(dāng)編程人員使用所有機(jī)床功能時(shí),對(duì)于快速運(yùn)動(dòng)設(shè)備和小公差而言,只有這些大概值是不夠的。與實(shí)際沖突風(fēng)險(xiǎn)相差甚遠(yuǎn)。
一些編程人員會(huì)用手動(dòng)方式把這些“同步和等待”代碼增加到其CAM系統(tǒng)后處理器的輸出,然后用外部、第三方機(jī)床仿真軟件包來進(jìn)行全面測(cè)試。當(dāng)然,如果發(fā)現(xiàn)問題,他們會(huì)對(duì)G代碼和M代碼進(jìn)行一些局部、手動(dòng)編輯,或者回到CAM系統(tǒng),在反復(fù)試驗(yàn)的基礎(chǔ)上重新按順序運(yùn)行。當(dāng)編程人員對(duì)整套作業(yè)進(jìn)行同步處理時(shí),車間最好擁有 CAM系統(tǒng)內(nèi)的所有功能。
事實(shí)上,真正需要的是完整集成后處理器功能和內(nèi)部“G代碼驅(qū)動(dòng)”機(jī)床仿真,把該組合與CAM系統(tǒng)內(nèi)的仿真功能直接連接,意味著NC編程人員可以在同一套軟件內(nèi)完成所有操作。
評(píng)論