鄭 明
通用技術(shù)集團(tuán)大連機(jī)床有限責(zé)任公司 遼寧 大連116620
近年來,隨著制造業(yè)市場(chǎng)需求的變化,根據(jù)自身產(chǎn)品的性價(jià)比,大、中型金屬切削機(jī)床更多趨向于個(gè)性化訂單。對(duì)于數(shù)控機(jī)床的操縱面板,有的由數(shù)控系統(tǒng)廠家提供,有的由制造廠自己設(shè)計(jì)定做,因此數(shù)控機(jī)床的倍率開關(guān)輸入信號(hào)就會(huì)有格雷碼和二進(jìn)制碼兩種區(qū)分形式。對(duì)于FANUC 數(shù)控系統(tǒng),系統(tǒng)廠家提供的操縱面板,進(jìn)給倍率開關(guān)信號(hào)采用的是格雷碼,而FANUC系統(tǒng)的進(jìn)給倍率信號(hào)對(duì)應(yīng)的數(shù)據(jù)是二進(jìn)制碼。對(duì)于格雷碼的進(jìn)給倍率開關(guān),PMC在實(shí)現(xiàn)進(jìn)給倍率的編程時(shí),需要把格雷碼轉(zhuǎn)換成二進(jìn)制碼,再經(jīng)過數(shù)據(jù)表的正確賦值,通過二進(jìn)制代碼轉(zhuǎn)換功能CODB才能實(shí)現(xiàn)進(jìn)給速度的修調(diào)。
格雷碼是一種數(shù)字排序系統(tǒng),由0和1組成,其中的所有相鄰整數(shù)在它們的數(shù)字表示中只有一個(gè)數(shù)字不同[1],這大大地減少了由一個(gè)狀態(tài)到下一個(gè)狀態(tài)時(shí)邏輯的混淆。格雷碼還具有高可靠性,是一種錯(cuò)誤最小化的編碼方式之一,因此,作為輸入信號(hào)以及編碼形式被廣泛應(yīng)用到機(jī)械、電子等行業(yè)中。
一般情況下,自然二進(jìn)制碼與格雷碼可以按以下方法相互轉(zhuǎn)換。
(1)二進(jìn)制碼轉(zhuǎn)換為格雷碼,是編碼形式。從最右邊一位(最低位)起,依次將每一位與相鄰左邊一位異或,作為對(duì)應(yīng)格雷碼該位的值,最左邊一位不變。[2]。
(2)格雷碼轉(zhuǎn)換成二進(jìn)制碼,是解碼形式。最左邊一位(最高位)保持不變,從左邊第二位起,依次將每位與左邊一位解碼后的值異或,作為該位解碼后的值。
FANUC數(shù)控系統(tǒng)廠家提供的操縱面板上的進(jìn)給倍率開關(guān)輸入信號(hào)是格雷碼,而FANUC系統(tǒng)的進(jìn)給倍率信號(hào)控制的功能指令CODB處理的數(shù)據(jù)都是二進(jìn)制碼,要想實(shí)現(xiàn)進(jìn)給速度倍率PMC編程控制,必須先通過PMC編程將碼制轉(zhuǎn)換。假設(shè)進(jìn)給倍率開關(guān)的格雷碼輸入信號(hào)24、23、22、21、20(從高位到低位)對(duì)應(yīng)的PMC輸入信號(hào)的地址分別為X0.4 、X0.3 、X0.2 、X0.1 、X0.0,根據(jù)格雷碼轉(zhuǎn)換為二進(jìn)制碼解碼的規(guī)律,將格雷碼轉(zhuǎn)換為二進(jìn)制碼的PMC控制梯形圖如圖所示。
FANUC系統(tǒng)的進(jìn)給速度倍率的實(shí)現(xiàn),用的是PMC里的CODB功能指令,它是把2個(gè)字節(jié)的二進(jìn)制代碼數(shù)據(jù)轉(zhuǎn)換成1個(gè)字節(jié)、2個(gè)字節(jié)或4個(gè)字節(jié)的二進(jìn)制數(shù)據(jù)指令。具體功能是把轉(zhuǎn)換數(shù)據(jù)輸入地址對(duì)應(yīng)數(shù)據(jù)表里的數(shù)值以二進(jìn)制的形式,輸出到轉(zhuǎn)換數(shù)據(jù)的輸出地址中。
CODB功能指令中的0021表示數(shù)據(jù)表中的容量,由進(jìn)給倍率開關(guān)的位數(shù)來決定。將R10地址作為轉(zhuǎn)換數(shù)據(jù)輸入地址,由進(jìn)給倍率開關(guān)的格雷碼經(jīng)過PMC碼制轉(zhuǎn)換而來的二進(jìn)制碼,編程進(jìn)給速度倍率信號(hào)G12作為轉(zhuǎn)換數(shù)據(jù)輸出地址。由于編程進(jìn)給速度倍率信號(hào)*FV0~*FV7(G0012.0 ~G0012.7 )為負(fù)邏輯信號(hào),“0”時(shí)有效,倍率單位為1%,所以倍率數(shù)據(jù)表的倍率數(shù)據(jù)均為實(shí)際倍率的反碼,可表示成相應(yīng)負(fù)整數(shù)的補(bǔ)碼,具體對(duì)應(yīng)關(guān)系為:
-(實(shí)際倍率+1)的補(bǔ)碼=(實(shí)際倍率)的反碼,則CODB功能指令中的倍率數(shù)據(jù)表中的值就用“實(shí)際倍率+1”的負(fù)數(shù)來賦值。例如:當(dāng)進(jìn)給倍率開關(guān)選擇在10%時(shí),R10中的二進(jìn)制是00110,對(duì)應(yīng)的十進(jìn)制數(shù)是6,那就是數(shù)據(jù)表中表內(nèi)號(hào)6,表內(nèi)號(hào)6對(duì)應(yīng)的十進(jìn)制倍率數(shù)據(jù)賦值為-11,即-(10+1)。通過執(zhí)行代碼轉(zhuǎn)換指令CODB把數(shù)據(jù)表表內(nèi)號(hào)6所對(duì)應(yīng)的十進(jìn)制倍率數(shù)據(jù)-11,以8位二進(jìn)制倍率數(shù)據(jù)11110101形式輸出到G12.0 ~G12.7 中,并向CNC傳送編程進(jìn)給速度倍率信號(hào)*FV0~*FV7,CNC就執(zhí)行10%的編程進(jìn)給速度。
在機(jī)床產(chǎn)品電氣設(shè)計(jì)調(diào)試中,根據(jù)數(shù)控系統(tǒng)CNC和PMC接口信號(hào)的不同,再結(jié)合不同類型的控制面板以及不同碼制的進(jìn)給倍率開關(guān),就可以根據(jù)碼制轉(zhuǎn)換規(guī)律很靈活地實(shí)現(xiàn)進(jìn)給速度倍率,這樣就提升了產(chǎn)品配套件的多樣化,使產(chǎn)品的經(jīng)濟(jì)效益提升。FANUC系統(tǒng)進(jìn)給倍率數(shù)據(jù)表的值也可以用正數(shù)來賦值。