諶 鵬
(南京信息職業(yè)技術(shù)學院,南京 210023)
數(shù)控加工程序中進度信息的添加方法及其軟件設(shè)計
諶 鵬
(南京信息職業(yè)技術(shù)學院,南京 210023)
提出一種利用FANUC系統(tǒng)注釋功能添加加工進度信息的方法,介紹了進度信息的生成原理及生成軟件的設(shè)計方法,從而提供了一種加工進度實時顯示的解決方案。
FANUC系統(tǒng) 進度信息 軟件
目前,結(jié)構(gòu)較復雜的零件往往通過CAD/CAM軟件進行自動編程。隨著零件結(jié)構(gòu)復雜程度的提高,其生成的程序往往容量較大,加工時間較長?,F(xiàn)代企業(yè)的生產(chǎn)對于加工時間的控制有著較嚴格要求,雖然自動編程軟件可以根據(jù)事先設(shè)定的機床進給速度和刀具路徑來估算加工時間,但由于各機床最大進給速度的差異以及輔助裝置(如機械手換刀和自動送料裝置等)執(zhí)行時間的差異,其實際加工時間與估算加工時間存在一定誤差[1]。如果操作者按照軟件的估算時間等待加工工序的結(jié)束,往往因為擔心程序會隨時結(jié)束而無法騰出時間做一些準備工作(如測量工具的準備和物料的準備等),從而浪費了一定的有效工作時間。由于目前中、低檔數(shù)控系統(tǒng)在企業(yè)中仍然占有較大比重,它們無法提供加工時間預測和數(shù)控加工工作進度提示功能,可以想象如何在不改變數(shù)控系統(tǒng)硬件的基礎(chǔ)上,通過軟件能在數(shù)控系統(tǒng)屏幕上提供加工進度的信息。這將為操作者提供加工進度的參考,有利于操作者更好地利用由于估算加工時間與實際加工時間的差異而產(chǎn)生的空余時間進一步提高生產(chǎn)效率。
本文分析數(shù)控加工程序中進度信息的添加原理,討論進度信息添加軟件的關(guān)鍵設(shè)計方法。
以FANUC數(shù)控系統(tǒng)為例。它的數(shù)控加工程序的結(jié)構(gòu)如下:
從程序結(jié)構(gòu)中可以看出,數(shù)控加工程序由程序開始標志(%)、程序結(jié)束標志(%)以及兩者間的程序段構(gòu)成。程序段的第一行為程序名,接下來是由行號(字母N加數(shù)字構(gòu)成)加G代碼指令構(gòu)成每行的數(shù)控加工指令,同時程序中還有一些由左右括號加字符組成的獨立行[2]。FANUC系統(tǒng)規(guī)定,程序中左右括號中的內(nèi)容不執(zhí)行任何操作,因此它可以作為注釋,給操作者提供了解程序中的一些關(guān)鍵信息,如以上程序括號中的內(nèi)容,表示了程序的名稱和程序的生成時間。
借助FANUC系統(tǒng)中對于程序注釋的概念,可以通過軟件在每一行的末尾均加入注釋信息,注釋信息可以通過百分比的形式提示操作者,這樣操作者借助數(shù)控顯示屏上的程序信息就可以了解當前程序的運行進度,合理分配空余時間。本次設(shè)計采用微軟公司的Visual Basic 6.0編程軟件,完成了數(shù)控加工程序中進度信息添加軟件的編寫,其軟件運行效果如圖1所示。
圖1 數(shù)控加工程序進度信息添加軟件運行界面
2.1 進度信息的生成原理及流程
要想在每一行程序的末尾以注釋的形式添加進度信息,就必須通過軟件檢索程序中每一行的結(jié)束標志(回車換行符)。當檢索到結(jié)束標志后,即可在此處添加注釋形式的進度信息,而進度信息的數(shù)值可以根據(jù)當前被檢索位置占總程序長度的百分比計算得出。檢索時,可根據(jù)數(shù)控加工程序的字符長度定義循環(huán)檢索次數(shù),通過循環(huán)指令查找每一個字符,直到查找完程序的最后一行為止,其軟件實施流程如圖2所示[3]。
2.2 各功能的關(guān)鍵設(shè)計方法
(1)行結(jié)束標志的檢索方法。數(shù)控加工程序中,每行程序的結(jié)束標志為回車換行符,在ASII碼表中其由兩個字符構(gòu)成(分別位于表中第13和第10個字符)。由于它們是不可見字符,所以要想檢索到,需要有一些特殊方法。使用Visual Basic軟件編程時,其處理的部分代碼如下:
圖2 軟件實施流程
處理時,首先在每次循環(huán)的開始將數(shù)控程序中當前的一個字符賦值給字符變量“buf”,通過條件語句判斷其是否為空字符(不可見字符都會被判定為空字符),同時判斷該字符是否是回車換行符中的第一個字符。如果條件滿足,將對其進行置位,并調(diào)用進度信息處理函數(shù)。
(2)進度信息的計算方法。進度信息的處理方法是在原來的回車字符前添加一串進度信息字符。該函數(shù)在每一次循環(huán)過程中依據(jù)行結(jié)束標志的檢索結(jié)果來決定是否調(diào)用。當檢索到行結(jié)束標志中的回車字符后,即調(diào)用函數(shù)add_ information,其主要處理代碼如下:
該代碼將在回車字符(其位于ASII碼表中的第13個字符)之前添加當前字符位置占總程序長度的百分比,并將其作為進度信息與回車字符合并后,添加至原有的數(shù)控加工程序中。在設(shè)計中應(yīng)注意,F(xiàn)ANUC系統(tǒng)規(guī)定注釋信息中的字符必須為大寫字母,且表達百分比時不可以使用“%”字符(該字符為程序傳輸開始和結(jié)束標志),否則程序傳輸會提前結(jié)束。
3.1 軟件的使用方法
使用該軟件添加進度信息的操作方法簡單易用,其操作步驟總結(jié)如下:
(1)啟動進度信息添加軟件,點擊“文件管理”區(qū)域中的“打開文件”按鈕,通過對話框選擇需處理的數(shù)控加工程序。該程序?qū)⑤d入至軟件窗口左邊的程序預覽區(qū)。如果需要,該數(shù)控加工程序可以在預覽區(qū)中做編輯修改,修改后的程序可以選擇“文件管理”區(qū)域中的“另存文件”按鈕對其保存。
(2)點擊“數(shù)據(jù)處理”區(qū)域中的“生成進度”按鈕,軟件將對載入的數(shù)控加工程序進行處理,在程序的每一行末尾添加當前的進度信息。
(3)進度信息添加完畢后,點擊“文件管理”區(qū)域中的“另存文件”按鈕,即可將包含進度信息的數(shù)控加工程序保存至需要的文件夾中。
3.2 功能驗證
軟件生成的包含進度信息的數(shù)控加工程序,可使用存儲卡(CF卡)復制到FANUC數(shù)控系統(tǒng)中。如果程序較大無法直接存放至系統(tǒng)內(nèi)存,還可以使用DNC方式直接運行加工。本次生成的包含進度信息的數(shù)控加工程序經(jīng)FANUC 0i-mate-MC數(shù)控系統(tǒng)驗證,均可以實現(xiàn)復制至內(nèi)存或DNC加工的操作,其數(shù)控系統(tǒng)運行界面如圖3所示。
圖3 數(shù)控程序在FANUC系統(tǒng)中運行效果
本文介紹了數(shù)控加工程序中進度信息的添加原理,討論了其生成軟件的設(shè)計方法。通過進度信息生成軟件處理后的數(shù)控加工程序可運行于FANUC數(shù)控系統(tǒng),并在運行過程中直接提供給操作者程序的運行進度,有利于操作者根據(jù)屏幕提示,合理安排生產(chǎn)中的空余時間。
[1]鄢萍,李超,劉飛.一種基于宏指令的數(shù)控加工進度采集方法[J].重慶理工大學學報:自然科學版,2010(6):18-22.
[2]劉雄偉.數(shù)控機床操作與編程培訓教程[M].北京:機械工業(yè)出版社,2006.
[3]李俊.Visual Basic 6.0程序設(shè)計與應(yīng)用教程[M].北京:電子工業(yè)出版社,2013.
The Method for Adding Progress Information in NC Machining Program and the Design of the Software
CHEN Peng
(Nanjing College of Information Technology, Nanjing 210023)
It was introduced that machining progress information can be added in the NC program by using FANUC system comment function, and it introduces the generation principle of progress information. It also introduces the design method of the software. Through the method, it can be a solution for real time machining progress display.
FANUC NC system, progress information, software