朱艷瓊 陳懷良 鄒 濤 唐丙松 劉 莉
(①沈機(jī)集團(tuán)昆明機(jī)床股份有限公司,云南昆明650203②昆明電纜集團(tuán)股份有限公司,云南昆明650503)
在多軸同方向移動(dòng)的機(jī)床運(yùn)動(dòng)中,容易產(chǎn)生干涉 碰撞現(xiàn)象,輕則碰壞工件,損壞刀具;重則使機(jī)床局部受損、精度降低、機(jī)床報(bào)廢,甚至危及操作者的生命安全,其后果非常嚴(yán)重[1]。本文以某型數(shù)控龍門鏜銑床為研究對(duì)象,針對(duì)多軸同方向移動(dòng)防碰撞控制技術(shù)研究,運(yùn)用西門子系統(tǒng)的異步子程序功能進(jìn)行設(shè)計(jì),實(shí)現(xiàn)機(jī)床防止碰撞的功能。
定立柱動(dòng)橫梁式數(shù)控龍門鏜銑床總體布局為工作臺(tái)沿床身作縱向移動(dòng)(X軸)、橫梁沿左右兩立柱上下移動(dòng)(W軸),在橫梁上裝有滑枕式鏜銑頭(主軸),滑枕式鏜銑頭的滑座沿橫梁作橫向移動(dòng)(Y軸),滑枕沿滑枕座作垂直向移動(dòng)(Z軸)。如圖1所示,為了實(shí)現(xiàn)更加復(fù)雜、深度更大的加工,本文中的某型龍門鏜銑床特別設(shè)計(jì)了滑枕帶鏜軸結(jié)構(gòu),鏜軸可沿滑枕作垂直移動(dòng)(Z1軸),使得垂直方向進(jìn)給包括W軸(2 500 mm)、Z軸(1 250 mm)以及Z1軸(1 000 mm),疊加總行程達(dá)到了4 750 mm。
當(dāng)機(jī)床各個(gè)進(jìn)給軸在安全位置,由于機(jī)床滑枕端面安裝了附件頭,附件頭長(zhǎng)度會(huì)影響機(jī)床安全行程。如果操作不慎,容易與正下方的工作臺(tái)發(fā)生碰撞。為避免此類情況發(fā)生,需設(shè)計(jì)防碰撞子程序,實(shí)時(shí)監(jiān)控垂直向各進(jìn)給軸的疊加行程,在到達(dá)危險(xiǎn)區(qū)域時(shí),停止機(jī)床進(jìn)給,防止損傷機(jī)床、刀具和工件。
通過(guò)設(shè)置異步子程序所需的參數(shù)用于激活西門子840D系統(tǒng)的異步子程序功能,包括調(diào)整優(yōu)先級(jí)、執(zhí)行方式、響應(yīng)方式等。在NC子程序中判斷垂直向各進(jìn)給軸疊加行程長(zhǎng)度,包括附件頭及刀具長(zhǎng)度,在達(dá)到危險(xiǎn)區(qū)域時(shí),把進(jìn)給軸的進(jìn)給倍率變成0,讓進(jìn)給軸停下。通過(guò)基于西門子程序中斷功能塊的異步執(zhí)行技術(shù)的PLC程序,利用程序中斷功能塊FB4,執(zhí)行功能塊FC9實(shí)現(xiàn)NC子程序的選擇與執(zhí)行。
當(dāng)系統(tǒng)正常上電后,程序執(zhí)行過(guò)程中,PLC選擇并執(zhí)行NC子程序,NC子程序?qū)崟r(shí)比較疊加行程與危險(xiǎn)行程的關(guān)系,利用運(yùn)動(dòng)同步指令使進(jìn)給軸自動(dòng)停下[2]。具體解決方案如圖2所示:
當(dāng)進(jìn)給軸停止之后,通過(guò)機(jī)床面板上設(shè)置的按鍵,解除進(jìn)給率修調(diào)的指令,手動(dòng)將進(jìn)給軸回退到安全的位置,實(shí)現(xiàn)保護(hù)機(jī)床部件的目的。
系統(tǒng)回參考點(diǎn)之后激活并運(yùn)行防碰撞子程序,子程序中判斷是否有附件頭及其型號(hào),根據(jù)不同型號(hào)選擇不同的安全行程;如果未裝載附件頭而是刀具,則讀取刀具長(zhǎng)度并在安全行程中減去該值,以適應(yīng)安裝不同附件頭及刀具的工況。該機(jī)床利用異步子程序來(lái)實(shí)現(xiàn)該功能。
MD11600 BAG_MASK,位0=0加工程序被異步子程序中斷后,可切換操作方式
MD11602ASUP_START_MASK=3,ASUP 運(yùn)行時(shí)可點(diǎn)動(dòng)
MD11604 ASUP_START_PRIO_LEVEL=7,ASUP優(yōu)先級(jí)
控制軸的運(yùn)動(dòng)需要用到運(yùn)動(dòng)同步指令,運(yùn)動(dòng)同步指令是指NC在作程序插補(bǔ)的同時(shí),可以另外執(zhí)行其他一些動(dòng)作,這些動(dòng)作的有效范圍可以不受指令執(zhí)行范圍限制。按有效范圍不同,同步指令分模態(tài)同步指令和非模態(tài)同步指令,非模態(tài)同步指令只在緊跟該指令后面的一條指令內(nèi)有效,而模態(tài)同步指令執(zhí)行后,只要沒(méi)有取消該同步動(dòng)作,在程序運(yùn)行狀態(tài)下一直有效[3]。
指令格式:
(ID=n KEYWORD condition)DO ACTION
括號(hào)內(nèi)部分為可選項(xiàng),如果有ID號(hào),則為模態(tài)指令。沒(méi)有ID則為非模態(tài)指令,對(duì)于需要不受工作方式限制的模態(tài)指令用IDS標(biāo)識(shí)。ID號(hào)的范圍為1~255。在執(zhí)行時(shí)系統(tǒng)先按ID號(hào)從小到大執(zhí)行模態(tài)指令,然后再執(zhí)行非模態(tài)指令。
KEYWORD condition是為后面要執(zhí)行的動(dòng)作指令執(zhí)行條件,如果沒(méi)有指令條件,則該指令無(wú)條件執(zhí)行。常用的條件有以下幾種:
WHEN每一個(gè)插補(bǔ)周期系統(tǒng)檢測(cè)要執(zhí)行的條件,如果條件滿足,則執(zhí)行一次后面指令的動(dòng)作,后面即使條件還滿足,指令也不再執(zhí)行。
WHENEVER系統(tǒng)每一個(gè)插補(bǔ)周期都檢測(cè)指令的執(zhí)行條件是否滿足,只要條件滿足就執(zhí)行,后面的指令動(dòng)作,不受次數(shù)限制。
EVERY當(dāng)指令條件從不滿足變成滿足時(shí),指令動(dòng)作就執(zhí)行一次。
FROM當(dāng)指令執(zhí)行的條件一滿足,指令動(dòng)作就執(zhí)行,執(zhí)行開(kāi)始后,即使條件不再滿足了,指令動(dòng)作也照樣執(zhí)行。
對(duì)于指令要執(zhí)行的條件,可以是各種系統(tǒng)變量間的邏輯運(yùn)算,也可以是某個(gè)輸入點(diǎn)的狀態(tài),比如:
WHENEVER$AA_IM[X]>5*SIN(30)DO ACTION
只要X軸的坐標(biāo)值大于5和SIN(30)的乘積,系統(tǒng)就執(zhí)行DO后面的指令動(dòng)作。
對(duì)于指令后面的動(dòng)作ACTION,常用的有:
STOPREOF停止譯碼功能取消
DELDTG刪除余程
RDISABLE讀入使能取消
POS[axis]= , FA[axis]=定位軸定位功能
$AA_OVR=, $AC_OVR=改變軸或者是路徑進(jìn)給倍率
根據(jù)解決方案,需要在NC程序中計(jì)算疊加行程長(zhǎng)度并作出判斷是否到達(dá)危險(xiǎn)區(qū)域,還要考慮到是否安裝了附件頭和刀具。
名字:POSLIMIT.SPF,并放入子程序文件夾中。
內(nèi)容:
其中,$A_IN[10]~[13]判斷附件頭的存在,UGUD[0]存儲(chǔ)危險(xiǎn)行程值,通常設(shè)定成1 000 mm,UGUD[1]~[3]存儲(chǔ) 3個(gè)附件頭的長(zhǎng)度,$P_TOOLL讀取當(dāng)前刀具長(zhǎng)度。
(1)修改OB100中FB1參數(shù)IN42(NCKomm)=TRUE。默認(rèn)為FALSE。
(2)新建一個(gè)DB數(shù)據(jù)塊DB136,用來(lái)存儲(chǔ)子程序名和存放路徑,見(jiàn)圖3。
變量STAT0存儲(chǔ)子程序路徑SPF.DIR。
變量STAT1存儲(chǔ)子程序名字POSLIMIT.SPF。
(3)創(chuàng)建一個(gè)功能調(diào)用FC100,用來(lái)調(diào)用功能塊FB4和FC9。FB4是將NC子程序POSLIMIT.SPF與中斷號(hào)建立對(duì)應(yīng)關(guān)系;而FC9是在檢測(cè)到PLC狀態(tài)后,觸發(fā)中斷,從而激活異步子程序。
調(diào)用FB4:
CALL FB 4,DB126
Req :=m50.0觸發(fā)FB4的條件是NC啟動(dòng)和已回參考點(diǎn)
PIService:=”PI”.ASUP 固定格式
Unit :=1通道1
Addr1 :=DB136.STAT0指定NC程序所在路徑
Addr2 :=DB136.STAT1指定NC程序名
Addr3 :=
Addr4 :=
WVar1 :=W#16#1中斷號(hào)
WVar2 :=W#16#1中斷優(yōu)先級(jí)
WVar3 :=
WVar4 :=
WVar5 :=
WVar6 :=
WVar7 :=
WVar8 :=
WVar9 :=
WVar10:=
Error :=M50.1出錯(cuò)標(biāo)志
Done :=M50.2完成標(biāo)志
State:=M51狀態(tài)字
調(diào)用FC9:
CALL FC 9
Start:=M60.0觸發(fā)中斷的條件
ChanNo:=1通道號(hào)
IntNo :=1中斷號(hào)
Activ:=M60.1正在執(zhí)行FC9標(biāo)志
Done:=M60.2完成標(biāo)志
Error:=M60.3出錯(cuò)標(biāo)志
StartErr:=M60.4出錯(cuò)標(biāo)志
Ref:=MW61參考字(內(nèi)部用)
(4)在OB1中調(diào)用FC100,并且通過(guò)按鍵來(lái)控制中斷執(zhí)行標(biāo)志位:
CALL FC 100
AN I 6.3解除按鍵
= M60.0中斷執(zhí)行標(biāo)志號(hào)
當(dāng)系統(tǒng)上電,NC啟動(dòng)正常并回到參考點(diǎn),子程序POSLIMIT.SPF被選擇并執(zhí)行。加工程序自動(dòng)運(yùn)行,當(dāng)垂直向各軸到達(dá)危險(xiǎn)區(qū)域時(shí),將進(jìn)給修調(diào)設(shè)置為0,使進(jìn)給軸停下。按住機(jī)床面板上的“解除鍵”,系統(tǒng)則不再調(diào)用子程序,此時(shí)可通過(guò)手動(dòng)方式將軸退回到安全位置。
3 擴(kuò)展技術(shù)
多軸同方向移動(dòng)防碰撞控制技術(shù),可以運(yùn)用到同一床身多個(gè)龍門框架的機(jī)床上,例如第一個(gè)龍門的X1向與第二個(gè)龍門X2向安全保護(hù),以及各自龍門Z1向、Z2向與工作臺(tái)或工件之間的安全保護(hù)。還可以運(yùn)用到數(shù)控對(duì)置落地銑鏜床、刨臺(tái)式銑鏜床、多個(gè)機(jī)械手臂、特殊功能附件上等。在技術(shù)發(fā)展的同時(shí),可以使用數(shù)控系統(tǒng)自帶的安全保護(hù)功能進(jìn)行安全保護(hù),也可以通過(guò)模型及處理方法運(yùn)用到非伺服控制的移動(dòng)軸或運(yùn)動(dòng)軸上,還可以通過(guò)加裝檢測(cè)元件,如RFID非接觸式自動(dòng)識(shí)別開(kāi)關(guān)、測(cè)頭等,形成空間多維防碰撞安全保護(hù)技術(shù)。
通過(guò)對(duì)多軸同方向移動(dòng)防碰撞控制關(guān)鍵技術(shù)研究,開(kāi)發(fā)的運(yùn)動(dòng)同步控制子程序適用于大型龍門鏜銑床系列產(chǎn)品,實(shí)現(xiàn)了大型機(jī)床的附件頭、刀具長(zhǎng)度及垂直方向行程疊加計(jì)算和進(jìn)給軸的實(shí)時(shí)控制,為大型數(shù)控龍門銑鏜床實(shí)現(xiàn)安全控制奠定了良好的基礎(chǔ)。該防碰撞控制技術(shù)已經(jīng)在多臺(tái)大、重型龍門鏜銑床上獲得成功應(yīng)用,提升了機(jī)床的技術(shù)附加值、操作安全性和生產(chǎn)效率,優(yōu)越性突出。