一種 G 代碼自動生成及仿真系統(tǒng)
文:上海新時達智能科技有限公司2021年第四期
1、引言
數(shù)控加工是利用數(shù)字化控制系統(tǒng)完成對零件的加工,在機械行業(yè)中占據(jù)著非常重要的地位。控制系統(tǒng)需要通過數(shù)控編程來實現(xiàn),G代碼就是最為廣泛使用的一種數(shù)控編程語言。傳統(tǒng)的G代碼編譯器不但需要對已編程的G代碼進行語法分析和差錯處理,還需要對程序進行仿真和調(diào)試。因此G代碼編譯往往非常龐大而且受限軟硬件平臺,一套簡便易操作的G代碼生成及仿真系統(tǒng)就顯得很有必要?;谝陨显颍疚奶岢隽艘环N簡便的可跨平臺的G代碼自動生成及仿真系統(tǒng),該系統(tǒng)利用控制系統(tǒng)自帶的觸摸屏設(shè)備,根據(jù)加工工藝自動將繪圖文件生成G代碼文件,通過界面和按鈕操作對G代碼進行編輯和仿真,并可預(yù)覽代碼的運動軌跡。此外,該系統(tǒng)還支持程序的上傳和下載操作,支持U盤等外部設(shè)備對文件的導(dǎo)入和導(dǎo)出操作。該系統(tǒng)的實現(xiàn)提高了數(shù)控程序開發(fā)的效率,減少了加工安全風險,降低了開發(fā)成本。
圖 1 數(shù)控系統(tǒng)框架
2、數(shù)控系統(tǒng)簡介
數(shù)控系統(tǒng)是數(shù)控加工的控制中心,其基本框架如圖1所示。
在數(shù)控系統(tǒng)中,觸摸屏是人機交互的接口,它通過TCP通信與控制器進行連接,具有向控制器發(fā)送命令、顯示系統(tǒng)狀態(tài)、修改參數(shù)、查看故障等功能;控制器是數(shù)控系統(tǒng)的核心,對運動軌跡進行規(guī)劃,然后通過總線發(fā)出控制指令控制驅(qū)動器并帶動設(shè)備運行。觸摸屏可利用現(xiàn)有的通信資源,實現(xiàn)控制器文件的上傳和下載功能,也可導(dǎo)入外部存儲設(shè)備(SD卡、U盤等)中的文件,或?qū)⑽募?dǎo)出到這些外部設(shè)備中。
3、G代碼自動生成及仿真系統(tǒng)實現(xiàn)過程
G代碼自動生成及仿真系統(tǒng)主要在數(shù)控系統(tǒng)的觸摸屏上實現(xiàn),根據(jù)需要實現(xiàn)的功能可分為以下幾個模塊:代碼生成模塊、軌跡顯示模塊、代碼編輯模塊、仿真模塊、上傳下載模塊。
圖 2 G 代碼自動生成及仿真系統(tǒng)
3.1代碼生成模塊
該模塊可將繪圖文件(dxf文件)轉(zhuǎn)換成G代碼內(nèi)容的txt文件,并將轉(zhuǎn)換后的文件自動保存到dxf文件路徑下。
模塊封裝了基于開源dxflib,用C++語言實現(xiàn)文件轉(zhuǎn)換的庫,在觸摸屏上通過路徑選擇界面打開dxf文件后,模塊會調(diào)用庫中的轉(zhuǎn)換函數(shù),并將源文件(dxf文件)路徑、目標文件(txt文件)路徑、界面配置的相關(guān)參數(shù)傳遞給庫函數(shù),然后由庫函數(shù)將轉(zhuǎn)換后的文件自動保存到目標路徑,并顯示G代碼的運行軌跡。
當選擇的文件是txt類型的G代碼文件時,不需要調(diào)用庫函數(shù)進行轉(zhuǎn)換,而是直接顯示運動軌跡。
3.2軌跡顯示模塊
打開文件后,界面會解析G代碼的內(nèi)容,并顯示運動軌跡,如圖4所示。
圖 3 打開 dxf 文件并自動轉(zhuǎn)換
圖 4 文件運動軌跡顯示
首先模塊解析txt文件內(nèi)容,將G代碼文本逐條轉(zhuǎn)換成如圖5所示的自定義數(shù)據(jù)結(jié)構(gòu),生成一個G代碼數(shù)據(jù)集,然后遍歷這個數(shù)據(jù)集確定坐標范圍,并根據(jù)畫布的像素范圍計算坐標與像素之間的比率關(guān)系,之后便開始繪制軌跡。
圖 5 G 代碼數(shù)據(jù)結(jié)構(gòu)
繪圖部分通過調(diào)用GDI+繪圖工具實現(xiàn)。繪制時從G代碼數(shù)據(jù)集逐條讀取數(shù)據(jù)并繪圖,數(shù)據(jù)的坐標值需要首先轉(zhuǎn)換成像素值,繪制的起點和終點分別為上一條數(shù)據(jù)和本條數(shù)據(jù)的像素值,當G代碼類型為0時,用虛線繪制直線;G代碼類型為1時,用實現(xiàn)繪制直線;G代碼類型為2、3時,用實現(xiàn)繪制圓弧。
3.3代碼編輯模塊
進入代碼編輯頁面時,界面上顯示了G代碼的內(nèi)容,并提供了一些操作按鈕,用來對G代碼進行插入、刪除、編輯、清空操作。
插入代碼時,可以先選擇需要插入的位置(如圖6中高亮顯示的代碼行),然后在G代碼類型下拉框中選擇插入代碼的類型(包括定位、直線、圓弧、等待、平面、圓滑),再點擊“插入”按鈕并確定便彈出圖7所示的參數(shù)設(shè)置頁面,
圖 6 G 代碼插入
圖 7 G 代碼參數(shù)設(shè)置
圖 8 G 代碼仿真模式
設(shè)置完成并點擊“確定”后便完成了插入動作。當選中“行后添加”時,插入位置在所選代碼的后面一行,否則插入位
置在所選代碼的前面一行。
刪除代碼時,需要先選擇目標行,然后點擊“刪除”按鈕,在彈出的確定刪除提示框(參考圖6)中選擇“是”便可完成刪除動作。
編輯代碼時,需要先選擇目標行,然后點擊“編輯”按鈕,在彈出的確定修改提示框(參考圖6)中選擇“是”,便會根據(jù)當前選擇的G代碼類型進入不同的編輯界面,如當前G代碼類型為定位時,進入圖7所示的編輯界面,編輯完成后點擊“確定”便完成了編輯動作。
清空代碼時,只需要點擊界面的“清空”按鈕,在彈出的確定清空提示框(參考圖6)中選擇“是”,G代碼內(nèi)容就會被全部清空。
代碼修改后需要點擊“保存”按鈕進行保存。系統(tǒng)保存時會解析界面上G代碼的數(shù)據(jù)內(nèi)容,然后逐條轉(zhuǎn)換成標準G代碼寫入txt文件,并替換原來的txt文件。若修改后沒有點擊“保存”,退出界面時會給出保存提示,點擊“是”便可自動保存。
模塊除了可對已存在的代碼文件進行編輯,還支持新建程序功能。點擊“新建程序”后,模塊會在當前目錄下新建一個自定義文件名內(nèi)容空白的G代碼文件,通過插入功能添加相關(guān)G代碼可完成程序的編寫。
3.4仿真模塊
在圖6中點擊“仿真”按鈕,在彈出的是否進入仿真提示框中選擇“是”便進入了仿真模式。如圖8,仿真模式下不可編輯內(nèi)容,通過點擊“單步”按鈕可顯示每一步G代碼的運動軌跡,仿真時的軌跡為紅色顯示,這部分由軌跡顯示模塊實現(xiàn),這樣可以方便地查出程序中的錯誤。仿真狀態(tài)下,點擊“停止仿真”可退出仿真狀態(tài)。
3.5上傳下載模塊
該模塊使用FTP協(xié)議實現(xiàn)觸摸屏與控制器之間的文件傳輸。通過該模塊,觸摸屏可從控制器下載G代碼文件,在本地進行編輯和仿真,也可以將本地的G代碼文件上傳給控制器。這個模塊使G代碼程序的開發(fā)可本地化,不再受限于軟硬件平臺。
3.6其他功能
除以上介紹的一些模塊,系統(tǒng)還支持狀態(tài)顯示、參數(shù)設(shè)置、用戶權(quán)限管理、文件導(dǎo)入導(dǎo)出等功能。觸摸屏可通過U盤、SD卡等硬件設(shè)備從外部導(dǎo)入G代碼文件,也可將本地的G代碼文件導(dǎo)出到這些硬件設(shè)備,這個功能使得G代碼的開發(fā)更加靈活,不僅可以本地化,也可以通過遠程進行協(xié)助。
4、總結(jié)
G代碼生成及調(diào)試系統(tǒng)基于數(shù)控系統(tǒng)自帶的觸摸屏設(shè)備實現(xiàn),其實現(xiàn)成本小。它可以將dxf文件自動轉(zhuǎn)換成G代碼文件,并在界面上顯示加工的運動軌跡效果。系統(tǒng)還提供了G代碼編輯功能,不需要手動編寫G代碼,只需要點擊相應(yīng)的功能按鈕在彈出的編輯界面中設(shè)置參數(shù),即可自動在相應(yīng)位置生成G代碼,減少了人工輸入的錯誤,即使對G代碼不熟悉的用戶也可進行代碼編寫。仿真功能不需要依賴其他的平臺,通過單步仿真,可以看到每一步G代碼的運動軌跡,這樣可以更直觀地顯示仿真結(jié)果。系統(tǒng)實現(xiàn)了代碼調(diào)試的本地化,觸摸屏中生成及編輯好的代碼,可以通過上傳功能直接上傳到控制器,反之,控制器中的代碼文件也可以下載到觸摸屏,經(jīng)過編輯仿真后再上傳,降低了開發(fā)成本,減少了開發(fā)時間。當現(xiàn)場G代碼開發(fā)遇到不能解決的問題,可通過外部硬件設(shè)備將遠程支持的程序?qū)氲接|摸屏,結(jié)合上傳功能傳到控制器中,本地程序也可以導(dǎo)出到外部設(shè)備,導(dǎo)入導(dǎo)出的功能也可用于程序在不同數(shù)控系統(tǒng)間的復(fù)制。總而言之,這個系統(tǒng)通過對資源的有效利用,提高了G代碼開發(fā)的效率,應(yīng)該得到更廣泛的應(yīng)用。
中傳動網(wǎng)版權(quán)與免責聲明:
凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注伺服與運動控制公眾號獲取更多資訊

關(guān)注直驅(qū)與傳動公眾號獲取更多資訊

關(guān)注中國傳動網(wǎng)公眾號獲取更多資訊

掃碼關(guān)注小程序
時刻關(guān)注行業(yè)動態(tài)


- 運動控制
- 伺服系統(tǒng)
- 機器視覺
- 機械傳動
- 編碼器
- 直驅(qū)系統(tǒng)
- 工業(yè)電源
- 電力電子
- 工業(yè)互聯(lián)
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯(lián)接
- 工業(yè)機器人
- 低壓電器
- 機柜