使用數控機床自定義面板,利用二進制旋轉編碼開關和PLC 編程實現速度倍率修調。這樣的方法設計者就可以根據實際需要來設計自己的操作面板而不一定使用FANUC 提供的標準面板,避免標準面板上的某些功能鍵浪費和形式繁瑣,降低了成本。
1 進給速度倍率信號
在FANUC數控系統(tǒng)中,手動進給速度、切削進給速度、快速移動速度都是由不同的參數和信號來定義的。以手動進給為例,其速度由參數No.1423來定義,可通過手動進給倍率信號*JV0~*JV15所指定的值進行修調。如設定機床某一軸的手動速度為3 000 mm/min,而將倍率信號值設為50%,則在JOG方式下,所選軸最終將以3 000x50 %=1 500mm/min的速度移動。
*JV0~*JV15是16位的二進制編碼信號,其接口地址為GO10^-GO11,長度為兩個字節(jié)。需要說明的是,在FANUC PLC系統(tǒng)中,地址X代表來自機床側的輸入信號,Y代表由PLC輸出到機床側的信號,F代表來自NC系統(tǒng)的PLC信號輸入,G則代表由PLC輸出到NC系統(tǒng)的信號。
*JV0~*JV15所對應的倍率可以用下述公式表示:
這里要注意,在FANUC數控系統(tǒng)中,“*”代表該信號為低電平“0”有效,因此:
當*JV,為“1”時,V; 0
當*JV,為“0”時,V; to
可以得出,這些信號的權值如下:
不難看出這相當于以倍率值的二進制反碼表示。.
FANUC系統(tǒng)中規(guī)定,當*JV0~*JV15信號全部為“1”或“0”時,倍率值都為0。因此,JOG進給倍率可以0.01%的單位在0%~655.34%的范圍內進行選擇。
同樣,切削進給速度倍率的功能為自動運行狀態(tài)下,車由實際移動速度=編程速度x倍率。其信號*FVO~*FV7,接口地址6012,長度為1字節(jié),可用下述公式表示:
信號也是低電平有效,手動倍率信號推導規(guī)律同樣適用于切削進給倍率信號,以倍率100%為例,可以得出信號為:
2 CODB指令
由于JOG進給倍率可在0~655.34%,切削進給倍率可在0~254%如此寬的范圍內修調,僅用二進制轉換開關,硬件上是很難實現的。這可以通過軟件PLC編程來解決。本文介紹PLC功能指令:二進制代碼轉換CODB。它的優(yōu)點在于配合1個二進制編碼開關便可實現任意所需倍率設定的功能(倍率值及倍率數目都可根據需要來設定,而倍率值與二進制編碼開關輸入信號無直接關系)。CODB指令是將轉換表中指定的數據轉換為1字節(jié)、2字節(jié)或4字節(jié)格式的二進制數據,以補碼形式輸出到目標地址。
1)控制條件
(1)復位信號RST, "0”表示不復位;“1”表示將錯誤輸出W1復位。
(2)工作指令ACT, “0”表示不執(zhí)行CODB指令;“1”執(zhí)行CODB執(zhí)行。
2)參數
(1)指定轉換表中數據的存儲格式,“1”表示1個字節(jié)的二進制(byte); “2”表示2字節(jié)的二進制(word);“4”表示4字節(jié)的二進制(Dword)。
(2)轉換表中數據的數量,表中最多可以容納256個字節(jié)。
(3)轉換表數據輸入地址,轉換表中的數據可通過指定表中的數據編號(第1個數據編號為0)取出,指定編號的地址稱為轉換數據輸入地址,長度占一個字節(jié)。
(4)轉換數據輸出地址,存儲輸出數據的地址稱為轉換數據輸出地址。長度為以指定地址開始在格式中規(guī)定的連續(xù)字。
3)轉換數據表,該表編在數據輸出地址與錯誤輸出W1之問。
4)輸出,如果在CODB指令執(zhí)行有異常時,W1輸出為“1”,表明出錯。
利用CODB指令進行倍率修調的原理就是將二進制編碼開關的輸入信號看作轉換表的數據編號,把所對應的表中數據以二進制補碼形式輸出到倍率信號接口地址GO10 ~GO11或6012中去。所設倍率的數目由硬件開關的形式和轉換表中數據的數量決定;轉換表數據輸入地址用來存儲編碼開關的輸入信號狀態(tài)。表內數據是如何經指令執(zhí)行后輸出為相應的倍率信號的。
3 設置轉換數據表
要得到所需的倍率,關鍵在于如何正確設置轉換數據表,這也是使用CODB的核心所在。要弄清設置規(guī)律,首先說明有關二進制碼的兒個概念。
(1)有符號數的二進制碼最高位表示符號位,正數為“0";負數為“1 ",
(2)正數的補碼為其本身;
(3)負數的補碼為除去符號位的各個位取反加“1”;
(4)辛卜碼的補碼即為原碼。
以JOG倍率轉換表來說明設置方法。先將所需的倍率轉換為對應的倍率信號*JVO~*JV15,這就是CODB指令輸出的目標值。由于CODB轉換表中的數據是以補碼形式輸出,則對*JV0^-*JV15所表示的二進制數取補碼,便得到其原碼,即轉換表中要設定的數據。
以10%及100%為例,*JV0~*JV15中對應的值為:
其它類推,最終可以得出:
(1)當倍率<327.68%,即*JV 15=1,轉換數據為負數時,轉換表中的數據=-NX 100+1);
(2)當倍率)327.68%,即*JV15=0,轉換數據為正數時,轉換表中的數據為:
65535-NX100,其中N為所設倍率X1000
如倍率150%對應轉換表中的數據就應為:
-(150X100+1)=-15001。
同樣可知,在切削進給倍率修調編程中,當倍率<128,即*FV7=1,轉換數據為負數時,轉換表中的數據-((N+1)。當倍率)128,即*FV7=0,轉換數據為正數時,轉換表中的數據=255-N。
其中N為所設倍率+1000
如倍率150%對應轉換表中的數據就應為:
255-150=105。
總結起來,便是將所要的倍率對應的二進制信號取補碼后再轉換為帶符號十進制數,即得CODB轉換表中的數據。
4 倍率轉換的設計實例
現以我公司H401-DJ型數控專用外圓磨床為例,介紹利用二進制編碼旋轉開關SA1配合CODB指令實現JOG進給倍率和切削進給倍率修調。
數控機床采用FANUC-Oi-TC系統(tǒng)內置PLC,型號為PMC-SB7。我們在其機床操作面板上配置了1個4位輸入信號的二進制編碼旋轉開關,16位置,修調范圍設置為0^'150,問隔為10 %。
將編碼開關的信號分配給PLC的4個輸入(地址X6.4~X6.7,則這些信號可看作4位二進制碼,權分別為1, 2, 4, 8(地址由低位至高位),即:
分別對應于倍率值0~150%。
根據機床所處不同狀態(tài),JOG模式下,進行手動進給速率的修調;AUTO及MDI狀態(tài)下,切換為切削進給速率的修調。實例的梯形圖見圖1。
圖1 H401-DJ 梯形圖
在梯形圖中G8.7為復位信號ERS。
F3.2, F3.3及F3.5都為運行方式檢查信號,指示當前所選的運行方式。F3.2 (MJ)表示JOG運行,F3.3 (MMDI)表示MDI運行,F3.5 (MEM)表示AUTO運行。在這里作為手動和自動倍率切換條件。
R21.0~821.3為中問暫存地址,用來存儲編碼開關輸入信號,再將整個R21字節(jié)中的值(0-15)作為轉換表的數據編號。
轉換表的數據數量16對應倍率數目;表中的數據經譯碼后便成為相應的倍率信號,具體值可根據前述第3點推導設置。
例如在JOG方式下,F3.2接通,激活第2個CODB程序段,進行手動速度倍率修調。若將SA1旋至50%(第6個位置),其信號值為:
則R21中的值為5 , CODB指令將轉換表中編號為5的數據(長度2字節(jié)),即第6個數據-05001(二進制表示:1001001110001001)以補碼形式輸出到手動倍率信號地址中,所以此時G010~G011中的內客為:
5 結語
本文具體闡述了利用二進制編碼旋轉開關配合CODB指令的PLC編程實現速度倍率修調的方法并舉例進行了具體說明。采用本文提供的方法能夠實現較為靈活、高效和寬范圍的倍率修調。同時采用該方法能夠根據實際要求對機床面板進行定制和設計,使得FANUC系統(tǒng)的功能得以充分利用。
(審核編輯: 滄海一土)
分享