陳啟明
【摘 要】變螺距螺紋是應(yīng)用在擠壓和輸送方面的一種螺紋,加工難度大,在數(shù)控機床普及的趨勢下,利用數(shù)控設(shè)備使加工變螺距螺紋變得簡單易行,但是對編程人員的編程能力提出較高要求。文章通過實踐經(jīng)驗總結(jié),以FUNUC oi-mate-tc車床為例,借助計算機語言編寫適合變螺距螺紋加工的通用軟件,在保證加工精度的同時,降低編程門檻,提高編程效率。
【關(guān)鍵詞】C語言;變螺距螺紋;軟件開發(fā)
【中圖分類號】TG659 【文獻標(biāo)識碼】A 【文章編號】1674-0688(2018)12-0065-02
0 引言
變螺距螺紋在工業(yè)中應(yīng)用廣泛,利用數(shù)控機床加工時,因其螺距在做增量變化,同時要保證牙的寬度相等,主要采用的編程方式就是宏程序。宏程序需要利用數(shù)控系統(tǒng)中的變量、循環(huán)、邏輯運算等高級編程方式,對于編程人員的要求較高。為了使編程更方便、更容易,本文借助計算機語言自行開發(fā)通用工具提高編程效率。
1 開發(fā)前期準備
1.1 變螺距螺紋車削工藝分析
牙等寬變螺距螺紋因螺距在做增量變化,但是牙寬相等,加工時刀具寬度不會變化,因此加工時需要先分層,然后在每一層趕刀加工??紤]到加工效率,加工過程分為開粗和精加工兩部分,開粗時對牙槽中的多余材料進行加工,精加工時對牙側(cè)進行車削,確保零件精度。
1.2 開發(fā)工具的確定
1.2.1 開發(fā)語言
開發(fā)語言可根據(jù)自身需求自行選定,本文以C語言為例進行開發(fā)。C語言是國際流行的計算機高級語言,具有代碼量很小、運行速度比較快、功能強大、簡單易學(xué)等特點。
1.2.2 開發(fā)工具
工具可根據(jù)自身需求選定,本文以code blocks作為開發(fā)工具。code blocks是一個開放源碼的全功能跨平臺C/C++集成開發(fā)環(huán)境,具有靈活而強大的配置功能,除支持自身的工程文件,還支持多種腳本文件、工程文件和解決方案,具有良好的兼容性。
1.2.3 程序的開發(fā)
1.2.3.1 確定框架
螺紋軟件的開發(fā)只需要對輸入?yún)?shù)進行處理,然后輸出準確的G代碼即可,所以編碼部分由螺紋各加工參數(shù)輸入、正確與否的判斷、邏輯運算和文件生成四大部分組成。
1.2.3.2 各部分的編程
首先分定義參數(shù)在C語言中的變量名,然后將參數(shù)準確輸入相應(yīng)變量中,參數(shù)即為螺紋的基本數(shù)據(jù),由加工時螺紋實際參數(shù)而定。
(1)螺紋各參數(shù)在編碼過程中所對應(yīng)的變量名見表1。
(2)螺紋參數(shù)的輸入(源代碼),考慮各參數(shù)的數(shù)據(jù)類型,此處使用了整型、浮點型的數(shù)據(jù)(如圖1所示)。
1.2.3.3 對各參數(shù)正確與否進行判斷
在輸入?yún)?shù)時,難免會輸入錯誤的參數(shù),如果沒有將輸入的參數(shù)進行判斷,則G代碼會按照錯誤的參數(shù)進行輸出,可能會導(dǎo)致撞刀或其他嚴重的安全事故,所以在進行邏輯運算之前必須對各參數(shù)進行判斷,使各參數(shù)符合加工需要。編碼過程需對牙寬、螺距、牙側(cè)角度、刀寬、引入距離等參數(shù)進行判斷,當(dāng)輸入有誤時,報警提示并重新寫入數(shù)據(jù),確保參數(shù)正確和G代碼的正確性。判斷牙寬和螺距(如圖2所示);判斷牙側(cè)角度(如圖3所示)。
1.2.3.4 邏輯運算
邏輯運算直接影響著G代碼的輸出安全與可靠,屬于開發(fā)中的核心部分。邏輯運算由參數(shù)計算、開粗、精加工三部分組成,參數(shù)計算方面根據(jù)所輸入的數(shù)據(jù),結(jié)合加工軌跡進行計算,對螺紋總長度、總牙數(shù)、借刀次數(shù)、分層次數(shù)等參數(shù)進行計算;開粗時將每層的加工G代碼輸出;精加工時根據(jù)加工精度選擇合適的參數(shù),對牙型兩側(cè)的殘料進行加工。
在數(shù)控系統(tǒng)中,運行螺紋加工指令G32時,螺距值不能為0,所以開發(fā)時必須做出相應(yīng)處理,防止機床使用時報錯。參數(shù)的計算(如圖4所示);螺紋開粗G代碼的輸出(如圖5所示);螺紋精加工G代碼的輸出(如圖6所示)。
1.2.3.5 文件類型的處理與輸出
FUNUC數(shù)控系統(tǒng)中,機床通常采用程序文件后綴為
.TXT/.CUT/.NC等數(shù)據(jù)格式,為了使用戶直接將生成的程序傳輸進去,本文以.TXT文件格式為例,將G代碼保存到TXT文檔中,方便直接傳輸?shù)綑C床。此處以在桌面位置新建一個文件名為O7777的TXT文檔為例進行說明(如圖7所示)。
1.2.3.6 程序的調(diào)試與生成
代碼完工后,利用具體參數(shù)進行軟件測試與調(diào)試,同時利用CIMCO EDIT和進行刀具軌跡仿真;調(diào)試過程中,著重對生成G代碼的可使用性和準確性進行測量,對數(shù)據(jù)報錯進行檢驗,確保在使用過程中既不出安全事故,又使加工的零件精度合格;調(diào)試合格后,生成.exe的可執(zhí)行文件。
2 結(jié)語
本文介紹利用C語言開發(fā)數(shù)控螺紋軟件的方法,將程序開發(fā)中涉及的程序結(jié)構(gòu)、注意事項和源代碼進行詳細闡述,解決了數(shù)控操作人員因編程能力有限或其他原因沒法加工高難度螺紋的難題,降低了生產(chǎn)成本、提高了加工效率,為其他高難度螺紋、特定工藝環(huán)節(jié)的軟件開發(fā)提供思路和借鑒。
參 考 文 獻
[1]譚浩強.C語言程序設(shè)計[M].北京:清華大學(xué)出版社,2000.
[2]人力資源和社會保障部教材辦公室.數(shù)控車床編程與操作(廣數(shù)系統(tǒng))[M].北京:中國勞動社會保障部出版,2012.
[3]劉棋,夏哲卿,高承明,等.和鬼谷一起學(xué)數(shù)車宏程序[M].北京:機械工業(yè)出版社,2015.