陳啟明



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