技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 運(yùn)動緩沖在精密激光加工中的應(yīng)用

運(yùn)動緩沖在精密激光加工中的應(yīng)用

時間:2025-04-01 13:37:06來源:深圳市正運(yùn)動技術(shù)有限公司

導(dǎo)語:?在全球科技快速發(fā)展的浪潮下,半導(dǎo)體行業(yè)作為關(guān)鍵的技術(shù)領(lǐng)域,始終處于創(chuàng)新與變革的前言。同時對于實時性的要求也在不斷提高。

  在全球科技快速發(fā)展的浪潮下,半導(dǎo)體行業(yè)作為關(guān)鍵的技術(shù)領(lǐng)域,始終處于創(chuàng)新與變革的前言。同時對于實時性的要求也在不斷提高。

  例如激光加工技術(shù)在半導(dǎo)體行業(yè)的應(yīng)用中,對于激光切割的速度和精度也作出了更高的要求。而運(yùn)動緩沖則是一個可以快速提高實時性的有效手段。

正運(yùn)動

  本文主要通過使用正運(yùn)動激光振鏡運(yùn)動控制器ZMC408SCAN-V22介紹運(yùn)動緩沖相關(guān)原理及其在激光加工中的應(yīng)用。

正運(yùn)動

  ZMC408SCAN-V22硬件介紹

  ZMC408SCAN-V22是正運(yùn)動技術(shù)推出的高性能雙振鏡運(yùn)動控制器,集成了2個百兆以太網(wǎng)口,支持EtherCAT、EtherNET、CAN、RS232、RS485、24路通用數(shù)字輸入、20路通用數(shù)字輸出、2路通用模擬量輸出、2路通用模擬量輸入、4個本地差分脈沖軸接口、1個MPG手輪編碼器接口、2個帶反饋振鏡接口、1個LASER激光專用接口、1個FIBER激光器接口。開放式系統(tǒng)框圖如下所示:

正運(yùn)動

  ZMC408SCAN-V22總線控制器支持EtherCAT總線連接,支持最快500μs的刷新周期,支持最多達(dá)16軸運(yùn)動控制,支持直線插補(bǔ)、任意圓弧插補(bǔ)、空間圓弧、螺旋插補(bǔ)、電子凸輪、電子齒輪、同步跟隨、虛擬軸設(shè)置等;采用優(yōu)化的網(wǎng)絡(luò)通訊協(xié)議可以實現(xiàn)實時的運(yùn)動控制。

正運(yùn)動

  ZMC408SCAN-V22通過CAN、EtherCAT總線可以連接各個擴(kuò)展模塊,從而擴(kuò)展數(shù)字量、模擬量或運(yùn)動軸??梢栽赪indows,Linux,Mac,Android,Wince各種操作系統(tǒng)下開發(fā),提供vc,c#,vb.net,labview等各種環(huán)境的dll庫。上位機(jī)軟件編程參考《ZMotion PC函數(shù)庫編程手冊》。

正運(yùn)動

  運(yùn)動緩沖原理

  在運(yùn)行運(yùn)動指令時,控制器提供了一個緩沖區(qū)來保存進(jìn)入運(yùn)動緩沖的運(yùn)動緩沖隊列。運(yùn)動指令存到運(yùn)動緩沖區(qū),在緩沖區(qū)里取出指令再執(zhí)行,省略了程序掃描的時間,大大提升了實時性,同時也使得程序能正常向下掃描,不會堵塞。ZMotion運(yùn)動控制器具有多級的運(yùn)動緩沖,并且遵循先進(jìn)先出原則。當(dāng)運(yùn)動緩沖開啟的時候,程序在掃描識別到程序任務(wù)的第一條運(yùn)動指令時,將運(yùn)動指令分配到指定軸的運(yùn)動緩沖區(qū),電機(jī)開始運(yùn)動,此時程序繼續(xù)向下掃描到第二條運(yùn)動指令時,再往運(yùn)動緩沖區(qū)中存,在不斷掃描存入運(yùn)動指令的同時,從運(yùn)動緩沖區(qū)中依次取出運(yùn)動指令執(zhí)行。運(yùn)動緩沖原理參考下圖:

  1.MTYPE,NTYPE分別是當(dāng)前運(yùn)行的運(yùn)動指令類型和MTYPE后面的第一條指令類型。

  2.任意一段程序的運(yùn)動指令都可以進(jìn)入任意軸的運(yùn)動緩沖區(qū),由軸號指定。

  3.每個軸的運(yùn)動緩沖區(qū)都是獨(dú)立的,互不干擾。

正運(yùn)動

  如下圖:當(dāng)運(yùn)動緩沖區(qū)還有空間,運(yùn)動指令就會進(jìn)入運(yùn)動緩沖區(qū)。然后可以通過MOVE_MARK設(shè)置標(biāo)識,表示下一條要調(diào)用的運(yùn)動指令的MARK標(biāo)號,這個標(biāo)號會和運(yùn)動指令一起寫入運(yùn)動緩沖。等指令執(zhí)行完成后,則退出運(yùn)動緩沖區(qū),之前的下一條指令變成正在運(yùn)動指令,循環(huán)往復(fù),直到緩沖區(qū)沒有指令去執(zhí)行。

正運(yùn)動

  緩沖多條運(yùn)動指令時,為了判斷當(dāng)前運(yùn)動執(zhí)行到哪一條,提供MOVE_MARK運(yùn)動標(biāo)號和MOVE_CURMARK當(dāng)前運(yùn)動標(biāo)號指令。MOVE_MARK運(yùn)動標(biāo)號每掃描一條運(yùn)動指令+1;

  MOVE_CURMARK指令為當(dāng)前運(yùn)動的標(biāo)號,提示當(dāng)前運(yùn)動到第幾條運(yùn)動指令,所有運(yùn)動完成后為-1。

  當(dāng)前運(yùn)動完成后會自動執(zhí)行運(yùn)動緩沖區(qū)內(nèi)的下一條運(yùn)動。運(yùn)動指令全部執(zhí)行完后,運(yùn)動緩沖區(qū)為空,或者使用CANCEL/RAPIDSTOP指令清空運(yùn)動緩沖區(qū)。

  擴(kuò)展說明

  上圖中的FORCE_SPEED、ENDMOVE_SPEED和STRATMOVE_SPEED指令屬于SP運(yùn)動指令。SP指令也屬于運(yùn)動指令,使用SP運(yùn)動指令(如MOVESP、MOVECIRCSP等直接在運(yùn)動指令后方加上SP)時,SP速度FORCE_SPEED、ENDMOVE_SPEED和STRATMOVE_SPEED會隨SP運(yùn)動指令寫入運(yùn)動緩存區(qū)。SP運(yùn)動指令與運(yùn)動指令的區(qū)別:MOVE(100)的速度是SPEED=100,MOVESP(100)的速度是FORCE_SPEED=200。具體見下圖:

正運(yùn)動

  運(yùn)動緩沖在激光加工中的應(yīng)用

  通過上面的介紹,大家對運(yùn)動緩沖應(yīng)該有了基本的認(rèn)識,下面我們來介紹運(yùn)動緩沖在激光加工中的應(yīng)用。

  在激光處理的應(yīng)用場景中,運(yùn)動控制系統(tǒng)不僅需要解決機(jī)床的軸向運(yùn)動問題,而且還必須準(zhǔn)確控制激光輸出。

  例如激光功率,焦點(diǎn),運(yùn)動速度,輔助氣體,材料吸收等,都需要運(yùn)動控制系統(tǒng)執(zhí)行操作和輸出。對于激光束的運(yùn)動軌跡控制,它必須非常準(zhǔn)確。保證任何數(shù)據(jù)參數(shù)都不會丟失。否則,工件的處理無法正常完成。工件的邊緣將產(chǎn)生毛刺,更嚴(yán)重可能導(dǎo)致工件損壞。

  下圖為模擬激光加工工藝的軌跡,通過運(yùn)動緩沖可最大程度保證運(yùn)動到固定點(diǎn)開光、關(guān)光的精確性。

  正運(yùn)動激光控制使能、出光等控制都是通過通用的IO輸出指令進(jìn)行控制。

  以開光操作為例:必須等待軸空移到設(shè)定的開光位置后才能控制輸出口開光,所以必須使用MOVE_OP運(yùn)動緩沖輸出指令而不是使用OP普通輸出指令,運(yùn)動緩沖使得該軸前面其他運(yùn)動指令執(zhí)行完畢同時到達(dá)開光點(diǎn)才執(zhí)行開光操作,保證了運(yùn)動的時序。

正運(yùn)動

  如下圖:開始刻蝕圖形時,執(zhí)行空移到起點(diǎn)位置、開光、直線、調(diào)光等操作,這些指令都會依次放入運(yùn)動緩沖區(qū),按照先進(jìn)先出的順序執(zhí)行。

正運(yùn)動

  在激光加工應(yīng)用場景中,采用插補(bǔ)緩沖中控制激光器的方式不僅可以保證運(yùn)動時序,還可以通過MOVE_PWM或者M(jìn)OVE_AOUT等運(yùn)動緩沖指令調(diào)節(jié)激光器的輸出功率控制激光器出光的強(qiáng)弱,從而滿足更多的工藝需求和提高加工的效果。

  運(yùn)動緩沖在激光加工應(yīng)用場景示例

  使用該例程需選擇帶SCAN的控制器型號。(本文以ZMC408SCAN-V22為例)正運(yùn)動SCAN系列運(yùn)動控制器不僅可以對電機(jī)進(jìn)行控制,同時還可以對激光振鏡進(jìn)行運(yùn)動控制,來完成振鏡的定位和插補(bǔ)運(yùn)動,并且在運(yùn)動過程中可以實現(xiàn)激光器控制、IO控制、DA控制、PWM控制等工藝操作,同時振鏡軸與電機(jī)軸之間也可以做插補(bǔ)軌跡運(yùn)動。(注:帶SCAN的控制器才能設(shè)置軸類型為21)

  1.MOVESCANABS(pos1[,pos2] [,pos3]…) - 振鏡直線運(yùn)動指令。

  (1)pos1:第一個軸的運(yùn)動坐標(biāo),絕對位置

  (2)pos2:下一個軸的運(yùn)動坐標(biāo),絕對位置

  2.MSCANCIRCABS(end1,end2,centre1,centre2,direction) - 振鏡圓心畫弧指令。

  (1)end1:終點(diǎn)第一個軸運(yùn)動坐標(biāo),絕對位置

  (2)end2:終點(diǎn)第二個軸運(yùn)動坐標(biāo),絕對位置

  (3)centre1:圓心第一個軸運(yùn)動坐標(biāo),絕對位置

  (4)centre2:圓心第二個軸運(yùn)動坐標(biāo),絕對位置

  (5)direction:0-逆時針,1-順時針

  例程中其他指令介紹見《激光振鏡控制編程手冊》(資料聯(lián)系正運(yùn)動工作人員獲取)

  RAPIDSTOP(2) '清除緩沖區(qū)WAIT IDLE'1,初始部分,設(shè)置振鏡軸參數(shù),開啟激光使能等等的初始化操作BASE(4,5) '選擇振鏡軸,振鏡X軸4,振鏡Y軸5ATYPE = 21,21 '設(shè)置振鏡軸類型UNITS = 1000,1000 '設(shè)置振鏡軸脈沖當(dāng)量MERGE = ON '開啟連續(xù)插補(bǔ)AXIS_ZSET = 3 '開啟精準(zhǔn)輸出'拐角延時參數(shù)設(shè)置CORNER_MODE = 2 '設(shè)置拐角模式DECEL_ANGLE = 60 * (PI/180) '設(shè)置起始弧度0-60不處理60-90等比減速STOP_ANGLE = 90 * (PI/180) '設(shè)置停止弧度大于90延時LASER_SET(1,1) '設(shè)置能量并口MOVE_OP(49,ON) '打開激光器急停信號(根據(jù)實際情況設(shè)置)MOVE_OP(47,ON) '打開使能'2,功率設(shè)置(功率設(shè)置可以多次穿插在運(yùn)動中間,實現(xiàn)不同圖層的操作)MOVE_OP(46,OFF) '設(shè)置拐角延時(單位 us)ZSMOOTH = 500MOVE_AOUT(3,128) '設(shè)置功率(50% 0 - 255)MOVE_PWM(11,0.5,60000) '功率鎖存信號(Fiber 激光器處于鎖存模式下使用)MOVE_OP(46,ON)'3,標(biāo)刻圖形FORCE_SPEED = 1000 '設(shè)置空移速度 1000Units/sMOVESCANABS(50,0) '空移到起點(diǎn)MOVE_OP(44,ON) '開光MOVESCANABS(150,0)MOVE_PWM(11,0.5,50000) '調(diào)光(畫圓弧時速度比直線慢,有能量堆積,需要降頻)MSCANCIRCABS(150,-100,150,-50,1)MOVE_PWM(11,0.5,60000) '調(diào)光(圓弧結(jié)束恢復(fù)原來的頻率)MOVESCANABS(100,-100)MOVE_OP(44,OFF) '關(guān)光'4,結(jié)束部分MOVESCANABS(0,0) '振鏡回零WAIT IDLEMOVE_DELAY(0.1,1) '結(jié)束延時

正運(yùn)動

  位置及輸出波形圖

正運(yùn)動

  速度及輸出波形圖

正運(yùn)動

  XY模式圖

  普通輸出與運(yùn)動緩沖中輸出

  在編寫程序過程中,通常會使用OP指令操作輸出口的打開或者關(guān)閉,與此同時也提供了MOVE_OP運(yùn)動緩沖輸出指令,這兩種指令區(qū)別如下:

  1.普通輸出指令程序掃描到該行指令便執(zhí)行輸出。

正運(yùn)動

  2.運(yùn)動緩沖中輸出指令在程序掃描之后,將其存入運(yùn)動緩沖區(qū),運(yùn)動緩沖區(qū)按先進(jìn)先出的順序依次取出指令執(zhí)行,直到取出該輸出指令時才會執(zhí)行輸出。例如在激光應(yīng)用場景中,如果不使用運(yùn)動緩沖,當(dāng)掃描到上一條運(yùn)動指令,就會出現(xiàn)還沒運(yùn)動完畢,程序就掃描到輸出指令,這時就會立刻執(zhí)行輸出,導(dǎo)致實際開關(guān)光的位置不是在我們預(yù)想的點(diǎn)位位置執(zhí)行。

  下面通過例子幫助理解兩種輸出的區(qū)別。

  RAPIDSTOP(2) '停止所有軸WAIT IDLE(0) '等待軸0停止BASE(0) '選擇軸0DPOS=0 '軸0坐標(biāo)偏移至0UNITS=100 '脈沖當(dāng)量SPEED=100 '速度ACCEL=1000 '加速度DECEL=1000 '減速度TRIGGER '觸發(fā)示波器采樣OP(0,3,$0) '關(guān)閉輸出口0-3DELAY(1000) '延時MOVE(100) '直線插補(bǔ)相對距離100MOVE_OP(1,ON) '運(yùn)動緩沖中輸出OP(0,ON) '普通輸出

  例子運(yùn)行效果:延時1s后,程序掃描到OP指令,輸出口0立即執(zhí)行輸出。

  MOVE_OP把IO操作指令填入運(yùn)動緩沖區(qū),所以在運(yùn)行完MOVE(100)之后,輸出口1才輸出。

  運(yùn)動緩沖區(qū)堵塞

  每個軸的運(yùn)動緩沖空間是有限的,當(dāng)掃描太多運(yùn)動指令放入運(yùn)動緩沖區(qū)時,多級運(yùn)動緩沖區(qū)全部被塞滿,如果程序繼續(xù)掃描到更多的運(yùn)動指令,程序也會被堵塞,直到運(yùn)動指令依次完成并退出,運(yùn)動緩沖區(qū)有了空位,運(yùn)動指令才會繼續(xù)進(jìn)入運(yùn)動緩沖區(qū)。

  例:以ZMC408CE控制器為例,默認(rèn)為4096個運(yùn)動緩沖,下圖例程中顯示該控制器的運(yùn)動緩沖區(qū)最多能存493條圓弧插補(bǔ)指令,下載程序后打印i的值為492,表示當(dāng)前FOR循環(huán)并未執(zhí)行完,程序堵塞了。

正運(yùn)動

  下圖中,當(dāng)從運(yùn)動緩沖區(qū)取出部分運(yùn)動指令執(zhí)行之后,緩沖區(qū)有了空間,F(xiàn)OR循環(huán)繼續(xù)執(zhí)行,并存入運(yùn)動指令到運(yùn)動緩沖區(qū)。指令執(zhí)行退出運(yùn)動緩沖區(qū)后,只要運(yùn)動緩沖區(qū)的空間足夠,新的運(yùn)動指令則會繼續(xù)一條一條往運(yùn)動緩沖區(qū)中存入。

正運(yùn)動

  每個軸的運(yùn)動緩沖都是獨(dú)立的,互不干擾,且緩沖區(qū)大小相同,通過指令REMAIN_BUFFER(MTYPE) AXIS(n)查看某個軸的剩余可用緩沖區(qū)的個數(shù)。

  ZMC4系列運(yùn)動控制器每個軸可支持多達(dá)4096段運(yùn)動緩沖(不同型號的控制器緩沖個數(shù)有區(qū)別,具體情況參見控制器《用戶手冊》說明或使用?*max打印查看),可以手動設(shè)置LIMIT_BUFFERED運(yùn)動緩沖限制。

  不同的運(yùn)動指令占用的緩沖空間是不同的,越復(fù)雜的運(yùn)動占用的運(yùn)動緩沖空間越多。

  如下表所示:MTYPE為1表示MOVE直線插補(bǔ)指令,MTYPE為2表示MOVEABS直線插補(bǔ)指令(絕對)。MTYPE為3表示MHELICAL螺旋插補(bǔ)指令,MTYPE為4表示MOVECIRC圓弧插補(bǔ)指令。

正運(yùn)動

  例如:ZMC408CE控制器,運(yùn)動緩沖區(qū)大小為4096,緩沖區(qū)一次性可緩沖的MOVE直線插補(bǔ)指令和MOVECIRC圓弧插補(bǔ)指令個數(shù)是不同的??蓞⒖枷聢D:

  注:插補(bǔ)運(yùn)動緩沖在主軸的運(yùn)動緩沖區(qū)。

正運(yùn)動

正運(yùn)動

  為了讓大家更好理解運(yùn)動緩沖區(qū)的概念,本例將軸的運(yùn)動緩沖區(qū)可緩沖運(yùn)動指令個數(shù)限制為3(LIMIT_BUFFERED=3)。LIMIT_BUFFERED的作用是限定運(yùn)動緩沖個數(shù),不能超過控制器的最大值。(可通過?*max查看控制器運(yùn)動緩沖個數(shù)最大值)

  如下例:例子中共有四條MOVE運(yùn)動指令,但是運(yùn)動緩沖區(qū)最多只能裝3條直線插補(bǔ)指令。MOVE(60,40)占用軸0的MTYPE,軸0還能緩沖2個運(yùn)動指令,軸0剩余緩沖數(shù)為0。此時運(yùn)動緩沖區(qū)滿,那么在MOVE(60,40)執(zhí)行完之前MOVE(60,50)是無法進(jìn)入運(yùn)動緩沖區(qū)的。

  RAPIDSTOP(2) '停止所有軸 WAIT IDLE(0) '等待軸0停止WAIT IDLE(1) '等待軸1停止BASE(0,1) '選擇軸0,軸1ATYPE=1,1 '設(shè)置軸類型DPOS=0,0 '軸0軸1坐標(biāo)偏移至0UNITS=100,100 '設(shè)置脈沖當(dāng)量SPEED=100,100 '設(shè)置速度ACCEL=1000,1000 '設(shè)置加速度DECEL=1000,1000 '設(shè)置減速度MERGE=ON '開啟連續(xù)插補(bǔ)TRIGGER '觸發(fā)示波器采樣LIMIT_BUFFERED=3 '軸0/1運(yùn)動緩沖區(qū)可緩沖運(yùn)動指令個數(shù)設(shè)置為3MOVE(60,40) '進(jìn)入MTYPE,Buffer0MOVE(70,50) '進(jìn)入NTYPE,Buffer1MOVE(50,40) 'Buffer2MOVE(60,50) '緩沖區(qū)滿,暫不進(jìn)入?"軸0當(dāng)前緩沖指令個數(shù)="MOVES_BUFFERED(0) '結(jié)果2?"軸0剩余緩沖區(qū)個數(shù)="REMAIN_BUFFER(1) AXIS(0) '結(jié)果0?"軸1剩余緩沖區(qū)個數(shù)="REMAIN_BUFFER(1) AXIS(1) '結(jié)果3END

  如下圖:等MOVE(60,40)運(yùn)動完成,MOVE(60,50)才能進(jìn)軸0的運(yùn)動緩沖區(qū)。

正運(yùn)動

  插補(bǔ)運(yùn)動緩沖在主軸軸0里,故軸1的運(yùn)動緩沖區(qū)是沒有指令的,軸1剩余緩沖大小為3。每條MOVE指令占用一個緩沖空間。

  示波器波形如下:

正運(yùn)動

  其他運(yùn)動緩沖指令

  下表為部分常見的運(yùn)動緩沖指令,如需了解更多可參考《RTBasic編程手冊》。

正運(yùn)動

  本次,正運(yùn)動技術(shù)運(yùn)動緩沖在精密加工中的應(yīng)用,就分享到這里。

  更多精彩內(nèi)容請關(guān)注“正運(yùn)動小助手”公眾號,需要相關(guān)開發(fā)環(huán)境與例程代碼,請咨詢正運(yùn)動技術(shù)銷售工程師:400-089-8936。

  本文由正運(yùn)動技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運(yùn)動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。

標(biāo)簽: 正運(yùn)動

點(diǎn)贊

分享到:

上一篇:拉壓力傳感器的結(jié)構(gòu)創(chuàng)新與應(yīng)...

下一篇:機(jī)器視覺運(yùn)動控制一體機(jī)在龍...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號