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

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊
- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜