|
|
在數(shù)控行業(yè)越來(lái)越蓬勃發(fā)展的同時(shí),CNC標(biāo)準(zhǔn)也越來(lái)越普及,其中以G代碼最為常見,F(xiàn)今控制卡時(shí)代在國(guó)內(nèi)隨潮而來(lái),在自動(dòng)化控制領(lǐng)域及數(shù)控行業(yè),越來(lái)越占據(jù)主流地位,為為給許多數(shù)控設(shè)備進(jìn)行升級(jí)換代,有很多很多程序員在重復(fù)地分析處理G代碼。還有許多新客戶及新項(xiàng)目經(jīng)理人,對(duì)G代碼與控制卡的關(guān)系并不明析。 事實(shí)上,G代碼與控制卡毫無(wú)關(guān)系,它只是CNC標(biāo)準(zhǔn)的一部分,不同數(shù)控廠家可以按CNC標(biāo)準(zhǔn)制定不同的規(guī)范。而控制卡是控制系統(tǒng)的一部分,與CNC無(wú)直接聯(lián)系。 以下,為了解決部分程序員的疑慮,特地以本公司DMC3000的控制卡庫(kù)函數(shù),列出與G代碼的對(duì)應(yīng)關(guān)系,同時(shí)透露一個(gè)好消息,本公司已完成CNC解釋庫(kù)V1.0,可以幫助程序員處理G代碼分析處理的工作,具備兩個(gè)接口,但靈活性非常強(qiáng),滿足各種用戶對(duì)接口的需求(目前暫支持VC++6.0,若有其它需求可與本公司聯(lián)系)。 常見四種G代碼指令如下:
G00 快速定位,有效軸到達(dá)指定位置 即可,對(duì)應(yīng)DMC3000卡可使用 d3000_start_t_move或d3000_start_s_move函 數(shù),多個(gè)有效軸,需要調(diào)用多次,如:
有效軸一個(gè) G00X100 d3000_start_t_move( X, 100.0);
有效軸兩個(gè) G00X100Y100 d3000_start_t_move( X,100.0); d3000_start_t_move(Y,100.0);
G01 直線插補(bǔ),使指定的有效軸同時(shí)啟動(dòng)并同時(shí)達(dá)到指定位置,若通常使用三軸或兩軸插補(bǔ),則下面函數(shù)可以滿足。
使用相對(duì)位置插補(bǔ): D3000_start_t_line2 D3000_start_s_line2 D3000_start_t_line3 D3000_start_s_line3
使用絕對(duì)位置插補(bǔ): D3000_start_ta_line2 D3000_start_sa_line2 D3000_start_ta_line3 D3000_start_sa_line3
G02 順圓插補(bǔ) G03 逆圓插補(bǔ)
圓弧插補(bǔ)指令,常見的是給出起點(diǎn)位置,圓心位置及終點(diǎn)位置,對(duì)應(yīng)DMC3000庫(kù)函數(shù)如下:
勻速圓弧 d3000_start_arc 相對(duì)位置 d3000_start_a_arc 絕對(duì)位置
高速圓弧 d3000_start_t_arc 相對(duì)位置 d3000_start_ta_arc 絕對(duì)位置
圓弧的插補(bǔ)方向,由函數(shù)的其中一個(gè)dir參數(shù)給出,dir=0時(shí),表示順時(shí)即G02,dir=1時(shí),表示逆時(shí)即G03。
其它G代碼指令如(G04, G32,G33,G40,G41,G42,G90,G91)可參閱CNC標(biāo)準(zhǔn)說(shuō)明,或向我們聯(lián)系,若你是本公司的控制卡用戶,我們提供免費(fèi)咨詢。
事實(shí)上,用戶在調(diào)用DMC3000控制卡運(yùn)動(dòng)函數(shù)的之前,需要對(duì)照當(dāng)前設(shè)備或工藝,作一些單位上的換算,此工作最好用C++類的封裝功能,將其包裝起來(lái),關(guān)于控制卡類的實(shí)現(xiàn),可參見本人的《多類型控制卡編程方法探討》一文,需要源代碼請(qǐng)與公司聯(lián)系。
注:CNC解釋庫(kù)V1.0,在一程序上,將收取一部分費(fèi)用,在給出庫(kù)的同時(shí),本公司還提供調(diào)用演示的源代碼程序,敬請(qǐng)客戶尊重本公司的版權(quán),以免引起不必要的法律追究事情。謝謝!
|
|
|