雷楠南
(三門峽職業技術學院 汽車學院,河南 三門峽 472000 )
在數控機床運行過程中,除了CNC系統控制之外,電氣PLC控制也是保證機床正常運行的關鍵。數控機床的電氣控制主要是利用機床操作面板對機床工作臺的運動、機床運行的倍率、機床運行的工作方式等進行控制[1]。在FANUC數控系統中,PLC控制功能集成在CNC上,又稱為PMC控制[2]。在PMC程序編制過程中,對于一些特殊功能簡單的梯形圖邏輯實現起來較為復雜,例如機床操作面板上的倍率旋鈕實現倍率變換、工作方式旋鈕實現數控機床工作方式的選擇等。因此,可利用數控系統提供的二進制譯碼指令和二進制代碼轉換指令來實現這些特殊的機床控制功能。
FANUC數控系統中功能指令很多,二進制譯碼(SUB25)指令是最常用的指令之一。該指令的功能是可對1字節、2字節或4字節的二進制代碼數據進行譯碼,當指定的8個連續數據之一與代碼數據相同時,對應的輸出數據位為1;如果沒有相同的數據時,輸出數據為0。該指令在PMC編程時,經常用于數控機床的輔助功能M或T功能的數據譯碼[3]。
二進制譯碼指令格式如圖1所示。其中,“ACT”為其執行條件,即“ACT”為高電平信號時,觸點接通,執行數據譯碼,“ACT”為低電平信號時,復位所有的輸出數據;“格式指定”可設定譯碼數據的字節數,具體可設定為0001、0002、0004,分別對應譯碼數據為1字節、2字節、4字節的二進制代碼數據; “代碼數據地址”是表示指定被譯碼數據的地址;“譯碼指定值”表示指定被譯碼的8個連續數據的第一個數據值;“譯碼結果輸出地址”指定譯碼結果輸出地址,當代碼數據經過譯碼后,將譯碼值與指定的8個連續數據進行對比,數值相同時,對應輸出數據位為1,輸出地址需要占用1字節存儲空間[4]。

圖1 二進制譯碼指令格式
配置FANUC數控系統的機床工作方式選擇常用8擋波段開關來實現轉換[5],波段開關實現機床工作方式轉換時需編制PMC程序。通常,8擋波段開關的電氣接線有3根,編程地址對應于PMC的輸入信號地址,所以在編程前必須查找到波段開關的電氣接線地址。此處,以XK714數控銑床的機床工作方式波段開關編程為例來說明譯碼功能指令的應用方法。
(1) 通過查找電氣接線,找到8擋波段開關的電氣接線地址為X0001.7、X0002.1和X0002.3。因為8擋波段開關對應8個譯碼值,所以可指定譯碼數據格式為1字節;“代碼數據地址”用中間信號R0030指定;“譯碼結果輸出地址”用中間信號R0031指定存放;由于譯碼值是從0至7共8個數值,因此“譯碼指定值”可設定為0。
(2) 編制機床工作方式轉換譯碼程序如圖2所示。旋轉8擋波段開關,觀察圖2所示程序中R0030所對應的輸出信號狀態,并記錄數控機床各工作方式對應的代碼數據值。因為X0001.7、X0002.1、X0002.3是直接接通R0030.0、R0030.1、R0030.2,所以X0001.7、X0002.1、X0002.3對應的數據值即為R0030.0、R0030.1、R0030.2的數據值。旋轉波段開關時,各機床工作方式對應的二進制數據、經過二進制譯碼功能指令譯碼后的譯碼值以及譯碼結果輸出如表1所示。

圖2 利用二進制譯碼功能指令編程實現機床工作方式轉換

表1 機床工作方式對應的譯碼值
數控機床工作方式的選擇是數控系統根據G0043信號的組合值來確定的,FANUC數控系統通過G0043.0、G0043.1、G0043.2、G0043.5、G0043.7信號的組合來確定數控機床的相應工作方式。PMC與CNC之間工作方式信號傳遞[6]如表2所示。

表2 PMC與CNC之間工作方式信號傳遞
由表2中機床各工作方式對應的G0043信號可知,G0043.0為“1”信號對應的工作方式有程序編輯、DNC方式運行、自動方式運行、手動連續進給和手動回參考點;G0043.1為“1”信號對應的工作方式有程序編輯;G0043.2為“1”信號對應的工作方式有手輪進給、增量進給、手動連續進給和手動回參考點;G0043.5為“1”信號對應的工作方式有DNC方式運行;G0043.7為“1”信號對應的工作方式有手動回參考點。再根據表1機床各工作方式對應的二進制譯碼值及譯碼輸出狀態信號,利用譯碼輸出信號依次接通G0043.0、G0043.1、G0043.2、G0043.5和G0043.7信號編制PMC程序,如圖3、圖4所示,從而確定數控機床的相應工作方式。

圖3 工作方式G0043.0信號PMC程序處理

圖4 G0043.1、G0043.2、G0043.5、G0043.7信號PMC程序處理
二進制代碼轉換功能指令也是FANUC數控系統PMC程序編制過程中使用較多的指令之一。該指令的功能是將二進制格式的數據轉換為1字節、2字節或4字節格式的二進制數據,指令格式如圖5所示。

圖5 二進制代碼轉換功能指令格式
二進制代碼轉換功能指令的執行條件是“ACT”信號為高電平1信號,否則指令不執行;若“RST”信號為高電平1信號時,可將錯誤輸出W1復位。“格式指定”可設定轉換表中的二進制數據長度,0001、0002、0004分別對應轉換表中二進制數據為1字節、2字節、4字節的二進制數據;“數據表容量”用來指定轉換數據表容量,最大可指定256(0到255)個字節;“轉換數據輸入地址”表示轉換數據表中的數據可通過指定表號取出,指定表號的地址稱為轉換數據輸入地址,該地址需要1字節的存儲空間;存儲表中輸出數據的地址稱為“轉換數據輸出地址”。應用二進制代碼轉換功能指令時,如果轉換輸入數值超出了指令轉換數據表范圍,輸出W1=1。
為了與二進制譯碼指令做對比,下面仍以數控機床工作方式轉換為例,利用二進制代碼轉換功能指令來編制PMC程序[7]。
因為8擋波段開關對應8個數據值,所以可指定“數據表容量”為“8”,“格式指定”可設定轉換表中的二進制數據長度為1字節,“轉換數據輸入地址”仍用中間信號R0030指定,“轉換數據輸出地址”用機床工作方式確定信號G0043來指定存放。編制的機床工作方式轉換程序如圖6所示。此處,轉換數據輸入地址R0030.0、R0030.1、R0030.2仍可用X0001.7、X0002.1、X0002.3直接接通。在二進制代碼轉換指令的輸入端,因為“RST”端接入的是R9091.0信號(常“0”信號),故該指令不執行復位功能;“ACT”端接入的是R9091.1信號(常“1”信號),所以程序運行時該功能指令可直接執行二進制代碼轉換。該功能指令執行時,先將“轉換數據輸入地址”R0030對應的“轉換數據表”表內號相應數據轉換為二進制代碼,然后再將轉換后的二進制代碼輸出到“轉換數據輸出地址”G0043,從而完成機床工作方式G0043信號的組合。

圖6 利用二進制代碼轉換功能指令編制的機床工作方式轉換程序
利用該功能指令進行二進制代碼轉換時,“轉換數據輸入地址”所對應的“轉換數據表”表內號及相應的“轉換數據表”的數值對應關系如表3所示。以機床工作方式開關處于“編輯”方式為例,執行該功能指令時,由于轉換數據表輸入地址為0,因此要將數據表表內號為0的數據進行二進制代碼轉換。此處,表內號0所對應的數據為“00003”,將其進行二進制轉換后為“00000011”,再將其輸出到G0043地址,可知G0043.0、G0043.1信號為1;再查閱表2可知,在程序編輯方式下,G0043.0、G0043.1信號為1。其余機床工作方式的確定,只需根據相應的工作方式所對應的“轉換數據表”表內號依次確定出“轉換數據表”中的數值,然后在編程時將其填入“轉換數據表”即可。

表3 二進制代碼轉換信號對應關系
本文利用二進制譯碼指令與二進制代碼轉換指令分別對數控機床工作方式轉換PMC程序進行了編制和調試,調試結果也驗證了程序的可行性。對比這兩種功能指令編制的PMC程序,可發現二進制譯碼指令編制的程序相對繁雜一些,但是程序簡單、較容易理解;二進制代碼轉換指令編制的程序較簡單,但程序可能不易理解,且轉換數據表中數值的計算和確定相對難度較大。因此,在數控系統PMC程序編制過程中,編程人員可根據對功能指令的理解和掌握情況選擇合適的功能指令進行編程。