龍勇云
(珠海城市職業(yè)技術(shù)學(xué)院機(jī)電工程學(xué)院,廣東珠海519090)
數(shù)控機(jī)床是高端制造業(yè)的重要組成部分,數(shù)控機(jī)床的制造、維修和升級(jí)改造已成為了一個(gè)重要內(nèi)容。數(shù)控系統(tǒng)中的PMC模塊控制著數(shù)控機(jī)床的主軸倍率、進(jìn)給倍率、快速倍率、急停、潤滑、冷卻、加工中心換刀、排屑等重要功能。國內(nèi)學(xué)者[1-7]對(duì)FANUC 0i數(shù)控系統(tǒng)進(jìn)給倍率進(jìn)行了編程研究,但對(duì)國內(nèi)數(shù)控系統(tǒng)研究較少,對(duì)如何使用功能指令快速實(shí)現(xiàn)進(jìn)給倍率控制缺乏研究。KND(凱恩帝)數(shù)控系統(tǒng)、廣州數(shù)控系統(tǒng)和華中數(shù)控系統(tǒng)都是一些優(yōu)秀的國產(chǎn)數(shù)控系統(tǒng),在大力弘揚(yáng)自主創(chuàng)新、發(fā)展自有品牌的大背景下,對(duì)國產(chǎn)數(shù)控系統(tǒng)的研究、應(yīng)用及國產(chǎn)數(shù)控機(jī)床的升級(jí)改造顯得越來越重要。進(jìn)給倍率控制是數(shù)控系統(tǒng)的一個(gè)重要功能,例如數(shù)控加工中,導(dǎo)入加工程序時(shí),一般將進(jìn)給倍率旋鈕旋到0%的位置,再逐步增大倍率,以確保加工的安全性,根據(jù)實(shí)際加工狀態(tài)可以適時(shí)調(diào)整進(jìn)給倍率,保證加工質(zhì)量。
所謂PMC(Programmable Machine Controller)[8],就是利用內(nèi)置在CNC 的PC(Programmable Controller)執(zhí)行機(jī)床的順序控制的可編程機(jī)床控制器。數(shù)控機(jī)床的順序控制有主軸正反轉(zhuǎn)、換刀、冷卻、潤滑、照明、排屑等。數(shù)控機(jī)床分為NC側(cè)(系統(tǒng)側(cè))和MT側(cè)(機(jī)床側(cè))兩大部分。數(shù)控系統(tǒng)的信號(hào)交換是以PMC為中心,CNC、PMC和MT之間的信號(hào)交換通過G信號(hào)、F信號(hào)、X信號(hào)和Y信號(hào)實(shí)現(xiàn)。G信號(hào)是PMC發(fā)給CNC的信號(hào),主要是使CNC改變或執(zhí)行某種運(yùn)行的控制信號(hào),例如在KND系統(tǒng)中用G27.4表示急停信號(hào)。F信號(hào)是CNC發(fā)給PMC的信號(hào),主要反映CNC運(yùn)行狀態(tài)或運(yùn)行結(jié)果的信號(hào),例如F0.5表示循環(huán)啟動(dòng)。X信號(hào)是MT發(fā)給PMC的信號(hào),如機(jī)床操作面板、行程開關(guān)等。Y信號(hào)是PMC發(fā)給MT的信號(hào),主要是機(jī)床執(zhí)行元件的控制信號(hào)、狀態(tài)和報(bào)警指示等,如照明輸出、冷卻液、主軸松刀。
在PMC中除了基本邏輯指令外,還有大量的實(shí)現(xiàn)算術(shù)運(yùn)算、定時(shí)、計(jì)數(shù)、比較、程序轉(zhuǎn)移等方面的指令。這些指令不可以通過普通的觸點(diǎn)、線圈用邏輯圖的形式進(jìn)行表示,在梯形圖中它們以功能框的形式出現(xiàn),因此稱為“功能指令”。在編制順序程序時(shí),有些功能用功能指令編程會(huì)更簡單方便。功能指令格式如圖1所示。
1)控制條件??刂茥l件的數(shù)目和意義根據(jù)功能指令而變化。ACT表示條件執(zhí)行,RST表示復(fù)位。RST有最高優(yōu)先權(quán),即當(dāng)RST為1,盡管ACT為0,RST動(dòng)作也執(zhí)行。字母A、B、C、D表示功能指令的附加控制條件,不是每一個(gè)功能指令都有,可以表示有些指令的加計(jì)數(shù)、減計(jì)數(shù)、操作數(shù)字節(jié)長度等。
2)指令名稱。指令名稱以助記符的形式表示, 例如TMRB(SUB24)為固定定時(shí)器,其中SUB24是功能指令編號(hào),代表功能指令第24個(gè),MOVB代表一字節(jié)傳送指令,COMPB代表二進(jìn)制數(shù)據(jù)大小判別,NUMEB代表定義二進(jìn)制常數(shù),CODB代表二進(jìn)制代碼轉(zhuǎn)換指令。功能指令帶字母B的表示操作數(shù)是二進(jìn)制形式。
3)參數(shù)。與基本指令不同,功能指令可處理數(shù)字值。包含在數(shù)據(jù)中的參考數(shù)據(jù)和地址可通過參數(shù)來輸入, 數(shù)目和意義隨功能指令變化。不同指令含有的操作數(shù)個(gè)數(shù)可能不一樣。
4)狀態(tài)輸出線圈W1。當(dāng)功能指令的操作結(jié)果為1位二進(jìn)制時(shí)(1或0),將其輸出至W1,其地址由編程者自由決定。其意義根據(jù)功能指令的不同而有所變動(dòng)。注意有些功能指令沒有W1。
在KND數(shù)控系統(tǒng)中,數(shù)控系統(tǒng)的主軸倍率有0%、10%、20%、30%、40%、50%、60%、70%、80%、90%、100%、110%、120%、130%、140%和150%總共16種,機(jī)床X、Y、Z的實(shí)際進(jìn)給速度等于設(shè)定進(jìn)給速度乘以進(jìn)給倍率。數(shù)控系統(tǒng)在工作時(shí)到底處于何種進(jìn)給倍率,如何使旋鈕旋至50%,伺服軸進(jìn)給速度就減少一半,如何使旋鈕旋至150%,伺服軸進(jìn)給速度就增加一半,這內(nèi)在的原因主要是由G信號(hào)中的G27決定。信號(hào)G27占用1個(gè)字節(jié)存儲(chǔ)單元,1個(gè)字節(jié)有8位,每一位要么是0,要么是1。G10的低四位的組合有16種,二進(jìn)制0000到1111,而進(jìn)給倍率剛好也是16種。所以,用G10低四位的狀態(tài)來對(duì)應(yīng)不同的進(jìn)給倍率,如當(dāng)G27的低四位組合是0000時(shí),對(duì)應(yīng)進(jìn)給倍率是150%,當(dāng)G27低四位組合是1111時(shí),對(duì)應(yīng)進(jìn)給倍率是0%,詳細(xì)的G27低四位不同組合對(duì)應(yīng)不同進(jìn)給倍率如表1所示,助記符*OV8、*OV4、*OV2、*OV1分別表示G27.3、G27.2、G27.1、G27.0。在數(shù)控機(jī)床操作面板上有個(gè)旋鈕開關(guān),這個(gè)旋鈕開關(guān)就是一個(gè)輸入信號(hào)X,本文中假設(shè)使用的輸入信號(hào)是X40,主軸倍率旋鈕開關(guān)也有0%~150%共16個(gè)不同位置狀態(tài),每個(gè)狀態(tài)用二進(jìn)制1111、1110、1101至0000表示,即用十進(jìn)制的15~0表示,如表2所示。當(dāng)旋鈕開關(guān)旋至0%位置時(shí),X40低四位狀態(tài)是1111,當(dāng)旋鈕開關(guān)旋至150%時(shí),X40低四位狀態(tài)是0000。但是,如何建立起輸入信號(hào)X40與倍率控制信號(hào)G27之間的對(duì)應(yīng)關(guān)系成為了一個(gè)需要重點(diǎn)解決問題。
表1 G27主軸倍率定義
表2 輸入信號(hào)X定義
進(jìn)給倍率控制過程分析,當(dāng)旋鈕開關(guān)旋至相應(yīng)的倍率,數(shù)控機(jī)床的進(jìn)給速度乘以相應(yīng)的倍率,實(shí)現(xiàn)進(jìn)給速度的增大或減小,即:當(dāng)旋鈕旋至0%時(shí),X40的低四位輸入為1111,G27低四位為1111;當(dāng)旋鈕旋至10%時(shí),X40的低四位輸入為1110,G27低四位為1110;當(dāng)旋鈕旋至20%時(shí),X40的低四位輸入為1101,G27低四位為1101;當(dāng)旋鈕旋至110%時(shí),X40 的 低 四 位 輸 入 為0100,G27 低 四 位 為0100;當(dāng)旋鈕旋至120%時(shí),X40的低四位輸入為0011,G27低四位為0011;當(dāng)旋鈕旋至130%時(shí),X40的低四位輸入為0010,G27低四位為0010;當(dāng)旋鈕旋至140%時(shí),X40的低四位輸入為0001,G27低四位為0001;當(dāng)旋鈕旋至150%時(shí),X40的低四位輸入為0000,G27低四位為0000。進(jìn)一步分析,也就是當(dāng)X40的低四位為0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15時(shí),G27的低四位對(duì)應(yīng)也為0、1、2、3至15。因此使用COD代碼變換指令來建立起X40與G27之間的對(duì)應(yīng)關(guān)系,主軸倍率PMC編程如圖2所示。PMC程序中,R0.1表示一個(gè)恒1信號(hào),R0.0表示恒0信號(hào)。程序第一行MOVB指令將X40的值賦給中間寄存器R20。程序第二行是整個(gè)控制程序的關(guān)鍵點(diǎn),CODB指令實(shí)現(xiàn)的是R20為0、1、2、3、4、5至15時(shí),R21對(duì)應(yīng)為0、1、2、3、4、5至15。程序第三行NUMEB指令將5以二進(jìn)制形式給R21進(jìn)行初始化。程序第四行COMPB指令執(zhí)行R21和R30的對(duì)比,在第二個(gè)掃描周期才會(huì)相等,S0.0才會(huì)為1。程序第五行MOVB指令將R21的值給R30。程序第六行,只有當(dāng)R21低四位全為1的時(shí)候,才導(dǎo)通。程序第七行TMRB指令實(shí)現(xiàn)一個(gè)短暫延時(shí)。程序第八、第九行,MOVB指令將R21的值給R60。程序最后四行,實(shí)現(xiàn)了將R60(R21)低四位傳給了G27低四位。最后使用KNDPLC軟件將程序?qū)懭霐?shù)控系統(tǒng)。經(jīng)試驗(yàn)驗(yàn)證,能夠?qū)崿F(xiàn)進(jìn)給倍率控制。
綜上所述,通過分析KND數(shù)控系統(tǒng)進(jìn)給倍率控制信號(hào)G27與輸入信號(hào)X,分析數(shù)據(jù)的傳送規(guī)律,使用功能指令編制PMC程序,建立起倍率旋鈕與進(jìn)給倍率G信號(hào)之間的對(duì)應(yīng)控制關(guān)系,最后將程序?qū)隟2000M系統(tǒng),從而實(shí)現(xiàn)了機(jī)床進(jìn)給倍率PMC控制,為數(shù)控機(jī)床維修、調(diào)試和升級(jí)改造提供參考。
圖2 主軸倍率PMC 控制程序