李慶婷++王英杰++劉恒寬
摘 要:數(shù)控系統(tǒng)的譯碼功能直接決定了數(shù)控機床的性能。一個穩(wěn)定、可靠、快速的譯碼系統(tǒng)是數(shù)控機床進行高速、高精度加工的前提。該文用Delphi語言編寫了實現(xiàn)譯碼算法的譯碼軟件,并且基于Delphi語言的對話框模式編寫了外觀精美、易于操作的功能界面。
關(guān)鍵詞:CNC系統(tǒng) 譯碼 高精度
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2015)02(b)-0028-01
1 數(shù)控CNC系統(tǒng)軟件界面的建立
軟件界面的設(shè)計直接關(guān)系到它的合理性和美觀,從而影響客戶對該軟件的喜愛程度。基于此對該軟件的界面需要細(xì)心的設(shè)計,設(shè)計過程介紹如下。
(1)創(chuàng)建父窗體Form1。
創(chuàng)建父窗體與其它窗體的方法類似,不同之處在于設(shè)置窗體的FormStyle屬性。FormStyle屬性可決定一個窗體是父窗體還是子窗體,在“Object Inspector”窗口中將“FormStyle”屬性設(shè)置成“fsMDIForm(父窗體)”。
(2)創(chuàng)建子窗體Form4。
創(chuàng)建子窗體時將窗體的FormStyle屬性設(shè)置為fsMDIChild(子窗體)。子窗體的默認(rèn)狀態(tài)是可見的。
2 固定循環(huán)功能的Delphi編程實現(xiàn)
鉆孔循環(huán)G81的實現(xiàn)程序如下所示。
paintbox1.canvas.MoveTo(round(x1*1.3*s),-round(y1*1.3*s));//刀具起始位置
paintbox1.canvas.LineTo(round(x2*1.3*s),-round(y2*1.3*s));//孔的X、Y位置
paintbox1.canvas.LineTo(round(x2*1.3*s),-round(R*1.3*s));//刀具到達(dá)R平面
paintbox1.canvas.LineTo(round(x2*1.3*s),-round(Z*1.3*s));//刀具到達(dá)Z平面
x2:=x2+1 ;//刀具在X方向右移一個單位長度,為下一步清晰表示返回路線
paintbox1.canvas.LineTo(round(x2*1.3*s),-round(Z*1.3*s));//刀具到達(dá)X方向的下一個位置,Y沒變
paintbox1.canvas.LineTo(round(x2*1.3*s),-round(R*1.3*s));//刀具返回R平面
運行結(jié)果如圖1所示。
3 對復(fù)合固定循環(huán)功能G71的譯碼實現(xiàn)
設(shè)從C點出發(fā),沿-X方向進刀,然后沿-Z方向走刀,再沿+Z方向回刀為一次走刀循環(huán)。假設(shè)通過次走刀循環(huán)加工后,第次走刀循環(huán)如圖2中的軌跡1→2→3→4所示,現(xiàn)要求解出軌跡1、2、3、4的交點坐標(biāo)值。
已知C點坐標(biāo),根據(jù)走刀循環(huán)次數(shù)和,首先通過下式求出軌跡1和2的交點坐標(biāo),設(shè)為。
。
而對于坐標(biāo)點求解(,只要求出)則要根據(jù)所對應(yīng)的編程輪廓類型來求解。首先需要判斷對應(yīng)哪個輪廓段,然后通過該輪廓段中的G指令如G01或G02等來判斷出是直線還是圓弧。該輪廓段兩端點坐標(biāo)在程序中給出,這里設(shè)為。如果為圓弧段,則還有和坐標(biāo)字,代表圓心相對圓弧起點的增量坐標(biāo),分別對應(yīng)于X軸,Z軸。這里設(shè)為。
則對于直線段,可求出:
。
而對于圓弧段,可求出:
(順時針圓弧)。
(逆時針圓?。?。
求出,和也不難求出下式:
。
這樣就可以把這段循環(huán)分解成各直線段進行編譯,然后將各數(shù)據(jù)按格式寫入文件中。最后在復(fù)合固定循環(huán)處理完后,位置指針回到數(shù)控加工程序的下一程序段,繼續(xù)對以下各段進行譯碼實現(xiàn)。如圖2所示。
4 結(jié)語
利用Delphi語言進行譯碼軟件的編寫,實現(xiàn)譯碼算法。同時編寫外觀精美并易于操作的功能界面,從而實現(xiàn)人機對話功能。最后通過示例驗證開發(fā)的譯碼軟件的正確性,實現(xiàn)了部分G功能碼的譯碼算法。
參考文獻(xiàn)
[1] 明日科技.Delphi開發(fā)經(jīng)驗技巧寶典[M].北京:人民郵電出版社,2007.
[2] 姚道敏,俞立鈞,周伯榮,等.數(shù)控系統(tǒng)譯碼模塊程序設(shè)計[J].組合機床與自動化加工技術(shù),2007(7):73-76.
[3] 羅學(xué)科,謝富春.數(shù)控原理與數(shù)控機床[M].北京:化學(xué)工業(yè)出版社,2008.