邵毅
沈陽機床(集團(tuán))有限責(zé)任公司 遼寧沈陽 110142
近些年,由于人工費用和機床維護(hù)成本的增加,用戶急需一種生產(chǎn)效率高、人工費用低的機床,因此本公司設(shè)計了一款雙機頭龍門式數(shù)控機床。此機床攜帶兩個加工機頭,只需要一名操作人員就可以完成之前兩名操作人員利用兩臺機床才能完成的工作,一次加工完成兩個工件。不僅提高了加工效率,而且安裝和配套費用、公用設(shè)施費用和切削液消耗也有所降低。但由于是雙機頭加工,所以加工過程中要對兩個機頭的運動分別編程,編程繁瑣并且很容易因人為錯誤而導(dǎo)致雙機頭相撞。
基于此,本公司開發(fā)了第二機頭完全跟隨第一機頭運動的NC控制程序,使原來機械形式上的雙機頭機床轉(zhuǎn)換為系統(tǒng)內(nèi)部認(rèn)定的單一機頭機床,簡化了加工程序,安全性能也得到保證。
本文以SUC2590雙主軸龍門式數(shù)控機床為例,闡述在雙機頭龍門式數(shù)控機床上實現(xiàn)上述功能的過程。機床軸如圖1所示,有6個直線軸X1、X2、Y1、Y2、Z1和Z2,分別命名為MX1、MX2、MY1、MY2、MZ1和MZ2,左側(cè)機頭主軸SP1命名為MSP1,右側(cè)機頭主軸SP2命名為MSP2。X1、X2軸構(gòu)成龍門軸,橫梁前后移動,其中X1軸為龍門軸的主動軸;Z1、Z2軸上下移動;Y1、Y2軸沿橫梁橫向移動。該機床可同時加工兩個工藝要求相同的零件。
圖1 機床軸示意
控制系統(tǒng)采用的是西門子828D,機床上所有用到的軸的名稱,需要在機床通用數(shù)據(jù)中設(shè)定。本機床共8個軸,具體設(shè)置見表1。目前對于超過四軸的加工控制,西門子828D需要通過雙通道功能來實 現(xiàn)[1-3]。本文將詳細(xì)闡述雙通道設(shè)置方法、不同通道間軸聯(lián)動的NC控制程序內(nèi)容,以及聯(lián)動軸之間的位置監(jiān)控PLC程序。
表1 機床軸名稱設(shè)置
雙通道可簡單理解為兩個插補器,雙通道意味著系統(tǒng)可以同時執(zhí)行兩個程序,互不影響。方式組中的“方式”指的是操作方式,即手動、手動編程運行和自動運行等方式,所以方式組就是以操作方式劃分的小組。如果系統(tǒng)為雙方式組,意味著在這個系統(tǒng)上可以同時出現(xiàn)兩種操作方式。一個系統(tǒng)可以有若干個方式組,每個方式組可以有若干個通道,在一個方式組中的通道必然處于同一種操作方式下。
西門子828D系統(tǒng)是多方式組多通道的系統(tǒng),但系統(tǒng)的缺省設(shè)置為一個通道,因此需要將參數(shù)設(shè)置成兩個通道,一個方式組。設(shè)置如下。
本機床將MX1、MY1、MZ1、MX2、MSP1和MSP2設(shè)置到第一通道,將MY2、MZ2設(shè)置到第二通道,這時設(shè)定的軸名為加工時通道內(nèi)編程的軸名,不能與機床軸名相同,而且必須按照編程標(biāo)準(zhǔn)進(jìn)行命名,因此通道中的軸名將機床軸名前的M去掉,具體參數(shù)設(shè)置見表2、表3。由于在NC程序控制五軸協(xié)同加工的過程中,Y1、Y2、Z1和Z2軸會在兩個通道之間來回切換,因此需要在兩個通道都聲明該軸,即在通道軸列表設(shè)置中MD20070與MD20080均定義該軸。
表2 第一通道參數(shù)設(shè)置
表3 第二通道參數(shù)設(shè)置
雙通道參數(shù)設(shè)置完成后,便可以采用聯(lián)動指令Trailon進(jìn)行協(xié)同加工。調(diào)試過程中發(fā)現(xiàn),直接在第一通道中執(zhí)行聯(lián)動指令Trailon(Y2,Y1)、Trailon(Z2,Z1),目的是使Y2軸跟隨Y1軸運動,Z2軸跟隨Z1軸運動,但是在第二通道執(zhí)行釋放指令RELEASE以及在第一通道執(zhí)行GET指令后,軸聯(lián)動并未成功。經(jīng)分析,原因是在西門子828D系統(tǒng)基本框架中,不允許直接在不同通道的軸之間進(jìn)行聯(lián)動。因此需要調(diào)整NC控制方法,先利用指令RELEASE將聯(lián)動中的主動軸Y1、Z1放置在與跟隨軸Y2、Z2相同的第二通道中,然后在第二通道中獲得Y1、Z1軸的控制權(quán),再執(zhí)行聯(lián)動指令Trailon,最后在第二通道內(nèi)釋放Y1、Z1軸的控制權(quán),在第一通道獲得Y1、Z1軸的控制權(quán),此時Y1、Z1軸運動時,Y2、Z2軸會以1∶1的方式跟隨運動,成功實現(xiàn)不同通道間的軸聯(lián)動,進(jìn)而實現(xiàn)五軸協(xié)同加工的功能。具體開發(fā)的NC控制程序如下。
首先編寫主程序,程序名為COUPLE.SPF,此程序在第一通道內(nèi)執(zhí)行。
其次編寫主程序中的子程序,子程序名為R_GET.SPF,主程序中已指定此程序在第二通道內(nèi) 執(zhí)行。
程序編輯完成后,將主程序和子程序傳入828D系統(tǒng)制造商循環(huán)目錄下。操作人員編寫加工程序時只需對X1、Y1和Z1軸進(jìn)行編程,之后在加工程序前添加COUPLE.SPF程序,將編寫的加工程序在第一通道執(zhí)行,就可以實現(xiàn)五軸協(xié)同加工。部分加工程序如下。
由于軸耦合后,系統(tǒng)并不檢測聯(lián)動時耦合軸的同步情況,如果跟隨軸由于某些情況與主動軸存在位置差,或者跟隨軸的位置不準(zhǔn)確,系統(tǒng)不會發(fā)出任何報警或者提示信息,這樣會導(dǎo)致工件尺寸偏差過大,造成廢料。因此要利用PLC與NC之間的實時通信,判斷耦合軸之間的位置同步情況,一旦出現(xiàn)不同步情況,及時發(fā)出報警并停止加工程序。
編輯PLC程序,首先需要建立NC與PLC之間的通信,這樣就可以使NC控制的兩組聯(lián)動軸Y1、Y2以及Z1、Z2加工時的位置值分別實時保存在PLC地址的DB5701.DBD0、DB5703.DBD0以及DB5702.DBD0、DB5704.DBD0中,然后在PLC中對實時監(jiān)控位置進(jìn)行計算比較。
為實現(xiàn)此功能,需要建立一個存儲位置值以及差值的數(shù)據(jù)塊DB9005。當(dāng)耦合軸功能激活后,檢測到主程序段中M76執(zhí)行,PLC內(nèi)對應(yīng)的DB2500.DBX1009.4瞬時為1,之后變?yōu)?,因此利用DB2500.DBX1009.4信號特點,可計算每次開始耦合時主動軸Y1在DB5701.DBD0的位置點與跟隨軸Y2在DB5703.DBD0的位置點的差值,此差值作為兩軸耦合點的初始值保存在DB9005.DBD76中。當(dāng)執(zhí)行到程序段中$A_DBB[2]=1時,PLC對應(yīng)的地址DB4900.DBB2一直為1,也就是會在加工過程實時計算主動軸Y1的NC位置(即PLC地址DB5701.DBD0的值)與跟隨軸Y2的NC位置(即PLC地址DB5703.DBD0的值)的差值,計算結(jié)果保存在DB9005.DBD80中,此時DB9005.DBD80就是一個動態(tài)值。將DB9005.DBD76內(nèi)的初始值與DB9005.DBD80內(nèi)的值相減,計算結(jié)果保存在DB9005.DBD84中。將自定義的偏差報警極限值保存在DB9005.DBD88中,當(dāng)DB9005.DBD84內(nèi)的數(shù)超出DB9005.DBD88內(nèi)位置偏差極限值時,就表示主動軸Y1與跟隨軸Y2的位置不同步,PLC會立即輸出地址為DB1600.DBX14.4的報警,同時將加工程序停止,這樣就可以提高耦合軸之間的位置準(zhǔn)確度,保證加工質(zhì)量。耦合后的主動軸Z1與跟隨軸Z2的位置監(jiān)控計算方法與Y1、Y2軸相同,PLC程序如圖2所示。
圖2 位置監(jiān)控的PLC程序
本文結(jié)合機床與加工工藝的特點,設(shè)計了一種NC控制程序以實現(xiàn)不同通道間軸的耦合聯(lián)動功能,從而實現(xiàn)五軸協(xié)同加工,并且通過PLC與NC的通信監(jiān)測耦合軸位置,使此方案形成安全可靠的閉環(huán)控制。此方案已在SUC2590DGM4雙主軸龍門式數(shù)控機床上試用,實踐證明,該方案操作簡單、性能可靠,具有推廣價值。