摘 要:二十世紀(jì)70年代以來,加工中心得到迅速發(fā)展。如何使加工中心這種高效自動化機(jī)床更好地發(fā)揮效益,其關(guān)鍵之一,就是開發(fā)和提高數(shù)控系統(tǒng)的使用性能。宏指令編程是指像高級語言一樣,可以使用變量進(jìn)行算數(shù)運(yùn)算、邏輯運(yùn)算和函數(shù)混合預(yù)算以及程序編寫形式。在宏程序形式中,一般不具備自動編程輔助手段,數(shù)控系統(tǒng)的指令功能有限,但卻提供宏程序功能時(shí)熟練應(yīng)用宏程序指令進(jìn)行編程,可以顯著的增強(qiáng)機(jī)床的加工能力,同時(shí)可精簡序量,以達(dá)到提高生產(chǎn)效率的目的。
一.宏程序的含義及特點(diǎn)
1.宏程序的含義
用戶宏功能是提高數(shù)控機(jī)床性能的一種特殊功能。工作中,我們經(jīng)常把能完成某一功能的一系列指令像子程序那樣存人存儲器,用一個(gè)總指令來代表它們,使用時(shí)只需給出這個(gè)總指令就能執(zhí)行其功能所存人的這一系列指令稱作用戶宏程序本體,簡稱宏程序。這個(gè)總指令稱作用戶宏程序調(diào)用指令。在編程時(shí),編程員只要記住宏指令而不必記住宏程序。。
2.宏程序的特點(diǎn)
宏程序本體既可以由機(jī)床生產(chǎn)廠提供,也可以由機(jī)床用戶自己編制。使用時(shí),先將用戶宏主體像子程序一樣存人到內(nèi)存里,然后用子程序調(diào)用指令調(diào)用。
程序與普通程序的區(qū)別在于:在用戶宏程序本體中,能使用變量,可以給變量賦值,變量間可以運(yùn)算,程序可以跳轉(zhuǎn);而普通程序中,只能指定常量,常量之間不能運(yùn)算,程序只能順序執(zhí)行,不能跳轉(zhuǎn),因此功能是固定的,不能變化。用戶宏功能是用戶提高數(shù)控機(jī)床性能的一種特殊功能,在相類似工件的加工中巧用宏程序?qū)⑵鸬绞掳牍Ρ兜男Ч?/p>
因此用戶宏功能最大的特點(diǎn)是,可以對變量進(jìn)行運(yùn)算,使程序使用更加靈活、方便。
二.宏程序的種類
由于數(shù)控機(jī)床的操作系統(tǒng)分為FANUC系、SIEMENS系統(tǒng)、華中數(shù)控系統(tǒng)等等,所以在計(jì)算參數(shù)與宏變量上也不盡相同,在這里我們以常見的FANUC數(shù)控系統(tǒng)為例,來分析一下宏程序在實(shí)際生產(chǎn)的應(yīng)用。
FANUC系統(tǒng)提供兩種用戶宏程序,即用戶宏程序功能A和用戶宏程序功能B。用戶宏程序功能A能說是FANUC系統(tǒng)的標(biāo)準(zhǔn)配置功能,但絕大數(shù)FANUC系統(tǒng)也都支持用戶宏程序功能B。
因?yàn)橛脩艉瓿绦蚬δ蹵的宏程序需要使用“G65Hm”格式指令來表達(dá)各種數(shù)學(xué)運(yùn)算和邏輯關(guān)系,極不直觀,且可讀性非常差,很少運(yùn)用 ,而用戶宏程序功能B則是以直接的公式和語言輸入的和C語言很相似在0i系統(tǒng)中應(yīng)用比較廣。
三.宏程序變量的介紹
1.變量及變量的引用
①變量的表示
變量可以用“#”號和跟隨以后的變量序號來表示:#i——(變量號i=0,1,2,3,4…… 例:#9、#109、#908
#[表達(dá)式]——表達(dá)式必須用括號括起來 例:#[#1+#2-12.]
②.變量的引用
將跟隨在一個(gè)地址后的數(shù)值用一個(gè)變量來代替,即引入了變量。
例:對于F#106——當(dāng)#106=20時(shí),F(xiàn)20被指令。
對于 Z-#80——當(dāng)#80=100.時(shí),X-100.被指令。
對于 G#140——當(dāng)#140=6時(shí),G06被指令。
2. 變量的類型和功能
①局部變量:#1~#33是在宏程序中局部使用的變量,它用于自變量轉(zhuǎn)移。
②公用變量:用戶可以自由使用,它對于由主程序調(diào)用的各子程序及各宏程序來說是可以公用的。#100~#149在關(guān)掉電源后,變量值全部被清除,而#500~#509在關(guān)掉電源后,變量值則可以保存。
③系統(tǒng)變量:由 # 后跟4位數(shù)字來定義,它能獲取包含在機(jī)床處理器或NC內(nèi)存中的只讀或讀/寫信息,包括與機(jī)床處理器有關(guān)的交換參數(shù)、機(jī)床狀態(tài)獲取參數(shù)、加工參數(shù)等系統(tǒng)信息。
四.宏程序的存儲與限制
1.存儲
宏程序與子程序相似,可與子程序同樣的方法進(jìn)行存儲和編程,存儲容量由子程序和宏程序的總?cè)萘看_定。
2.限制
①M(fèi)DI運(yùn)行。不可指定宏程序,但可調(diào)用宏程序。但是在自動運(yùn)行期間,宏程序調(diào)用不能切換到MDI方式。
②用戶宏程序不能檢索順序號
③單程序段即使宏程序正在執(zhí)行,在單程序段方式,程序段也能停止。包含宏程序調(diào)用指令的程序段中即使單程序方式時(shí)也不能停止。當(dāng)設(shè)定參數(shù)SBM(參數(shù)NO.60000的#5位)為1時(shí),包含算術(shù)運(yùn)算指令和控制指令的程序段也可以停止。單程序段運(yùn)行用于調(diào)試用戶宏程序。值得一題的是,在刀具補(bǔ)償C方式中,當(dāng)宏程序中出現(xiàn)單程序段停止時(shí),該語句被認(rèn)為不包含移動的程序段,在某些情況下,不能執(zhí)行正確的補(bǔ)償(該程序段被當(dāng)作移動距離為0的移動)
④任選程序段跳過
⑤在EDIT方式中運(yùn)行。設(shè)定參數(shù)NE8(參數(shù)NO.3202的#0位)和NEP(參數(shù)NO.3032的#4位)為1。可對程序號8000~89999和9000~9999的用戶宏程序和子程序進(jìn)行保護(hù)。當(dāng)存儲器全清事(電源接通時(shí),同時(shí)按下RESET和DELETE鍵),存儲器的全部內(nèi)容被清除。
⑥復(fù)位后,所有局部變量和從#100~#149的公共變量被清除為空值。設(shè)定參數(shù)CLV(NO.6001的#7位)和CCV(NO.6001的#6位)為1時(shí),他們可以不被清除(這取決與機(jī)床制造廠)。復(fù)位不清楚系統(tǒng)變量#1000~#1133。復(fù)位可清除任何宏程序和子程序的調(diào)用狀態(tài)及DO狀態(tài)并返回到主程序。
⑦進(jìn)給暫停 在宏程序語句的執(zhí)行期間,進(jìn)給暫停有效時(shí),當(dāng)宏程序語句執(zhí)行之后機(jī)床停止。當(dāng)復(fù)位或出現(xiàn)報(bào)警時(shí),機(jī)床也停止。
⑧<表達(dá)式>中可以使用的常數(shù)值。 0.0000001~99999999;-99999999~-0.0000001。有效值是8位,如果超出范圍,出現(xiàn)P/S報(bào)警(NO.003)。
五.宏程序在鐘表夾板生產(chǎn)中的應(yīng)用
鐘表行業(yè)是具有百年歷史的傳統(tǒng)行業(yè),鐘表類零件以小巧、精致稱著。其精度也是在各類零件之首。由于最終要保證日益增多的使用功能和走時(shí)精確,表類零件精度要求高,工藝復(fù)雜,加工難度大。夾板類零件屬薄型和超薄型零件,微細(xì)加工部位多,銑削層面多,而且多為重疊和交叉部位。夾板類零件加工屬于技術(shù)密集型加工。研究、探討夾板類零件加工工藝,是擺在我們面前一項(xiàng)重要工作。
在生產(chǎn)中既要保證精度又要提高夾板類零件加工效率的方法有三個(gè):①工序集中方法;即在一次裝夾中盡可能多的完成銑、鉆、鏜、攻絲等加工內(nèi)容,其特點(diǎn)是:加工精度高,消除了在加工過程中多次裝夾造成的誤差,可以縮短零件加工周期,最能體現(xiàn)數(shù)控機(jī)床特點(diǎn)。
②工序分散,針對夾板類零件不同部位精度要求有區(qū)別現(xiàn)狀,本著精度優(yōu)先原則,把加工部位分解,針對不同加工部位,設(shè)計(jì)最優(yōu)夾具,選擇最佳刀具,實(shí)現(xiàn)高速、高效加工。
③粗精分開,由于夾板類零件各部位加工余量不等,產(chǎn)生加工變形不均,為了減少粗加工中變形對零件精度影響,有必要粗精加工分開。
隨著數(shù)控加工技術(shù)在我們現(xiàn)代社會的應(yīng)用越來越廣泛,只有對宏程序有充分的了解和認(rèn)識,在實(shí)際工作中才能靈活運(yùn)用,提高工作效率和安全生產(chǎn)。
參考文獻(xiàn):
[1]張安全主編 數(shù)控加工與編程中國輕工業(yè)出版社
[2]喬世民主編 機(jī)械制造基礎(chǔ)高等教育出版社
作者簡介:
鄭越中,1985年12月,男,天津市人,??疲砉こ處?,研究方向:數(shù)控技術(shù)應(yīng)用