一種 G 代碼自動生成及仿真系統(tǒng)

文:上海新時(shí)達(dá)智能科技有限公司2021年第四期

  1、引言

  數(shù)控加工是利用數(shù)字化控制系統(tǒng)完成對零件的加工,在機(jī)械行業(yè)中占據(jù)著非常重要的地位??刂葡到y(tǒng)需要通過數(shù)控編程來實(shí)現(xiàn),G代碼就是最為廣泛使用的一種數(shù)控編程語言。傳統(tǒng)的G代碼編譯器不但需要對已編程的G代碼進(jìn)行語法分析和差錯處理,還需要對程序進(jìn)行仿真和調(diào)試。因此G代碼編譯往往非常龐大而且受限軟硬件平臺,一套簡便易操作的G代碼生成及仿真系統(tǒng)就顯得很有必要。基于以上原因,本文提出了一種簡便的可跨平臺的G代碼自動生成及仿真系統(tǒng),該系統(tǒng)利用控制系統(tǒng)自帶的觸摸屏設(shè)備,根據(jù)加工工藝自動將繪圖文件生成G代碼文件,通過界面和按鈕操作對G代碼進(jìn)行編輯和仿真,并可預(yù)覽代碼的運(yùn)動軌跡。此外,該系統(tǒng)還支持程序的上傳和下載操作,支持U盤等外部設(shè)備對文件的導(dǎo)入和導(dǎo)出操作。該系統(tǒng)的實(shí)現(xiàn)提高了數(shù)控程序開發(fā)的效率,減少了加工安全風(fēng)險(xiǎn),降低了開發(fā)成本。

控制器

圖 1 數(shù)控系統(tǒng)框架

  2、數(shù)控系統(tǒng)簡介

  數(shù)控系統(tǒng)是數(shù)控加工的控制中心,其基本框架如圖1所示。

  在數(shù)控系統(tǒng)中,觸摸屏是人機(jī)交互的接口,它通過TCP通信與控制器進(jìn)行連接,具有向控制器發(fā)送命令、顯示系統(tǒng)狀態(tài)、修改參數(shù)、查看故障等功能;控制器是數(shù)控系統(tǒng)的核心,對運(yùn)動軌跡進(jìn)行規(guī)劃,然后通過總線發(fā)出控制指令控制驅(qū)動器并帶動設(shè)備運(yùn)行。觸摸屏可利用現(xiàn)有的通信資源,實(shí)現(xiàn)控制器文件的上傳和下載功能,也可導(dǎo)入外部存儲設(shè)備(SD卡、U盤等)中的文件,或?qū)⑽募?dǎo)出到這些外部設(shè)備中。

  3、G代碼自動生成及仿真系統(tǒng)實(shí)現(xiàn)過程

  G代碼自動生成及仿真系統(tǒng)主要在數(shù)控系統(tǒng)的觸摸屏上實(shí)現(xiàn),根據(jù)需要實(shí)現(xiàn)的功能可分為以下幾個模塊:代碼生成模塊、軌跡顯示模塊、代碼編輯模塊、仿真模塊、上傳下載模塊。

控制器

圖 2 G 代碼自動生成及仿真系統(tǒng)

  3.1代碼生成模塊

  該模塊可將繪圖文件(dxf文件)轉(zhuǎn)換成G代碼內(nèi)容的txt文件,并將轉(zhuǎn)換后的文件自動保存到dxf文件路徑下。

  模塊封裝了基于開源dxflib,用C++語言實(shí)現(xiàn)文件轉(zhuǎn)換的庫,在觸摸屏上通過路徑選擇界面打開dxf文件后,模塊會調(diào)用庫中的轉(zhuǎn)換函數(shù),并將源文件(dxf文件)路徑、目標(biāo)文件(txt文件)路徑、界面配置的相關(guān)參數(shù)傳遞給庫函數(shù),然后由庫函數(shù)將轉(zhuǎn)換后的文件自動保存到目標(biāo)路徑,并顯示G代碼的運(yùn)行軌跡。

  當(dāng)選擇的文件是txt類型的G代碼文件時(shí),不需要調(diào)用庫函數(shù)進(jìn)行轉(zhuǎn)換,而是直接顯示運(yùn)動軌跡。

  3.2軌跡顯示模塊

  打開文件后,界面會解析G代碼的內(nèi)容,并顯示運(yùn)動軌跡,如圖4所示。

控制器

圖 3 打開 dxf 文件并自動轉(zhuǎn)換

控制器

圖 4 文件運(yùn)動軌跡顯示

  首先模塊解析txt文件內(nèi)容,將G代碼文本逐條轉(zhuǎn)換成如圖5所示的自定義數(shù)據(jù)結(jié)構(gòu),生成一個G代碼數(shù)據(jù)集,然后遍歷這個數(shù)據(jù)集確定坐標(biāo)范圍,并根據(jù)畫布的像素范圍計(jì)算坐標(biāo)與像素之間的比率關(guān)系,之后便開始繪制軌跡。

控制系統(tǒng)

圖 5 G 代碼數(shù)據(jù)結(jié)構(gòu)

  繪圖部分通過調(diào)用GDI+繪圖工具實(shí)現(xiàn)。繪制時(shí)從G代碼數(shù)據(jù)集逐條讀取數(shù)據(jù)并繪圖,數(shù)據(jù)的坐標(biāo)值需要首先轉(zhuǎn)換成像素值,繪制的起點(diǎn)和終點(diǎn)分別為上一條數(shù)據(jù)和本條數(shù)據(jù)的像素值,當(dāng)G代碼類型為0時(shí),用虛線繪制直線;G代碼類型為1時(shí),用實(shí)現(xiàn)繪制直線;G代碼類型為2、3時(shí),用實(shí)現(xiàn)繪制圓弧。

  3.3代碼編輯模塊

  進(jìn)入代碼編輯頁面時(shí),界面上顯示了G代碼的內(nèi)容,并提供了一些操作按鈕,用來對G代碼進(jìn)行插入、刪除、編輯、清空操作。

  插入代碼時(shí),可以先選擇需要插入的位置(如圖6中高亮顯示的代碼行),然后在G代碼類型下拉框中選擇插入代碼的類型(包括定位、直線、圓弧、等待、平面、圓滑),再點(diǎn)擊“插入”按鈕并確定便彈出圖7所示的參數(shù)設(shè)置頁面,

控制系統(tǒng)

圖 6 G 代碼插入

控制系統(tǒng)

圖 7 G 代碼參數(shù)設(shè)置

控制系統(tǒng)

圖 8 G 代碼仿真模式

  設(shè)置完成并點(diǎn)擊“確定”后便完成了插入動作。當(dāng)選中“行后添加”時(shí),插入位置在所選代碼的后面一行,否則插入位

  置在所選代碼的前面一行。

  刪除代碼時(shí),需要先選擇目標(biāo)行,然后點(diǎn)擊“刪除”按鈕,在彈出的確定刪除提示框(參考圖6)中選擇“是”便可完成刪除動作。

  編輯代碼時(shí),需要先選擇目標(biāo)行,然后點(diǎn)擊“編輯”按鈕,在彈出的確定修改提示框(參考圖6)中選擇“是”,便會根據(jù)當(dāng)前選擇的G代碼類型進(jìn)入不同的編輯界面,如當(dāng)前G代碼類型為定位時(shí),進(jìn)入圖7所示的編輯界面,編輯完成后點(diǎn)擊“確定”便完成了編輯動作。

  清空代碼時(shí),只需要點(diǎn)擊界面的“清空”按鈕,在彈出的確定清空提示框(參考圖6)中選擇“是”,G代碼內(nèi)容就會被全部清空。

  代碼修改后需要點(diǎn)擊“保存”按鈕進(jìn)行保存。系統(tǒng)保存時(shí)會解析界面上G代碼的數(shù)據(jù)內(nèi)容,然后逐條轉(zhuǎn)換成標(biāo)準(zhǔn)G代碼寫入txt文件,并替換原來的txt文件。若修改后沒有點(diǎn)擊“保存”,退出界面時(shí)會給出保存提示,點(diǎn)擊“是”便可自動保存。

  模塊除了可對已存在的代碼文件進(jìn)行編輯,還支持新建程序功能。點(diǎn)擊“新建程序”后,模塊會在當(dāng)前目錄下新建一個自定義文件名內(nèi)容空白的G代碼文件,通過插入功能添加相關(guān)G代碼可完成程序的編寫。

  3.4仿真模塊

  在圖6中點(diǎn)擊“仿真”按鈕,在彈出的是否進(jìn)入仿真提示框中選擇“是”便進(jìn)入了仿真模式。如圖8,仿真模式下不可編輯內(nèi)容,通過點(diǎn)擊“單步”按鈕可顯示每一步G代碼的運(yùn)動軌跡,仿真時(shí)的軌跡為紅色顯示,這部分由軌跡顯示模塊實(shí)現(xiàn),這樣可以方便地查出程序中的錯誤。仿真狀態(tài)下,點(diǎn)擊“停止仿真”可退出仿真狀態(tài)。

  3.5上傳下載模塊

  該模塊使用FTP協(xié)議實(shí)現(xiàn)觸摸屏與控制器之間的文件傳輸。通過該模塊,觸摸屏可從控制器下載G代碼文件,在本地進(jìn)行編輯和仿真,也可以將本地的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ā)更加靈活,不僅可以本地化,也可以通過遠(yuǎn)程進(jìn)行協(xié)助。

  4、總結(jié)

  G代碼生成及調(diào)試系統(tǒng)基于數(shù)控系統(tǒng)自帶的觸摸屏設(shè)備實(shí)現(xiàn),其實(shí)現(xiàn)成本小。它可以將dxf文件自動轉(zhuǎn)換成G代碼文件,并在界面上顯示加工的運(yùn)動軌跡效果。系統(tǒng)還提供了G代碼編輯功能,不需要手動編寫G代碼,只需要點(diǎn)擊相應(yīng)的功能按鈕在彈出的編輯界面中設(shè)置參數(shù),即可自動在相應(yīng)位置生成G代碼,減少了人工輸入的錯誤,即使對G代碼不熟悉的用戶也可進(jìn)行代碼編寫。仿真功能不需要依賴其他的平臺,通過單步仿真,可以看到每一步G代碼的運(yùn)動軌跡,這樣可以更直觀地顯示仿真結(jié)果。系統(tǒng)實(shí)現(xiàn)了代碼調(diào)試的本地化,觸摸屏中生成及編輯好的代碼,可以通過上傳功能直接上傳到控制器,反之,控制器中的代碼文件也可以下載到觸摸屏,經(jīng)過編輯仿真后再上傳,降低了開發(fā)成本,減少了開發(fā)時(shí)間。當(dāng)現(xiàn)場G代碼開發(fā)遇到不能解決的問題,可通過外部硬件設(shè)備將遠(yuǎn)程支持的程序?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)與免責(zé)聲明:

凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

伺服與運(yùn)動控制

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

直驅(qū)與傳動

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

中國傳動網(wǎng)

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

2021年第四期

2021年第四期

圖片閱讀

掃碼關(guān)注小程序

時(shí)刻關(guān)注行業(yè)動態(tài)

雜志訂閱

填寫郵件地址,訂閱更多資訊:

撥打電話咨詢:13751143319 余女士
郵箱:chuandong@chuandong.cn

熱搜詞
  • 運(yùn)動控制
  • 伺服系統(tǒng)
  • 機(jī)器視覺
  • 機(jī)械傳動
  • 編碼器
  • 直驅(qū)系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機(jī)界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機(jī)器人
  • 低壓電器
  • 機(jī)柜
回頂部
點(diǎn)贊 0
取消 0
往期雜志
  • 2025年第一期

    2025年第一期

    伺服與運(yùn)動控制

    2025年第一期

  • 2024年第六期

    2024年第六期

    伺服與運(yùn)動控制

    2024年第六期

  • 2024年第五期

    2024年第五期

    伺服與運(yùn)動控制

    2024年第五期

  • 2024年第四期

    2024年第四期

    伺服與運(yùn)動控制

    2024年第四期

  • 2024年第三期

    2024年第三期

    伺服與運(yùn)動控制

    2024年第三期