本節(jié)課程主要通過幾個部分講解直線插補(bǔ),分別為EtherCAT總線運(yùn)動控制器介紹、 運(yùn)動控制器直線插補(bǔ)的原理、功能、實現(xiàn)方式和例程仿真演示。
01 XPLC864E2介紹
XPLC864E2是正運(yùn)動技術(shù)推出的一款多軸經(jīng)濟(jì)型EtherCAT總線運(yùn)動控制器,XPLC系列運(yùn)動控制器可應(yīng)用于各種需要脫機(jī)或聯(lián)機(jī)運(yùn)行的場合。
體積小,通訊功能全,支持RS232串口、RS485串口、網(wǎng)口、CAN總線、EtherCAT總線連接外設(shè),多網(wǎng)口通道通過交換機(jī)擴(kuò)展。
XPLC864E2支持脈沖軸和總線軸混合使用,總軸數(shù)為8,除了帶EtherCAT接口之外,輸出口可配置為8個脈沖信號輸出,另帶兩路編碼器輸入,由輸入口配置。
通過擴(kuò)展最多支持12軸直線插補(bǔ)、電子凸輪、電子齒輪、同步跟隨、虛擬軸設(shè)置等功能。

02 直線插補(bǔ)原理
直線插補(bǔ)算法采用數(shù)據(jù)采樣法,插補(bǔ)用小段直線來逼近給定軌跡,插補(bǔ)輸出的是下一個插補(bǔ)周期內(nèi)各軸要運(yùn)動的距離,不需要每走一個脈沖當(dāng)量就插補(bǔ)一次,可達(dá)到很高的進(jìn)給速度。
數(shù)據(jù)采樣法原理是采用時間分割思想,根據(jù)進(jìn)給速度f和插補(bǔ)周期t,將廓型曲線分割成一段段的輪廓步長l,l=ft,然后計算出每個插補(bǔ)周期參與插補(bǔ)運(yùn)動的每個軸的坐標(biāo)增量。

03 直線插補(bǔ)功能
一、直線插補(bǔ)特點
直線插補(bǔ)運(yùn)動通過BASE指令選擇軸號/軸組,控制多軸聯(lián)動,完成直線運(yùn)動。
主軸是BASE選擇的第一個軸,插補(bǔ)運(yùn)動軸參數(shù)UNITS、SPEED等均采用主軸的參數(shù),發(fā)送MOVE直線插補(bǔ)運(yùn)動指令,插補(bǔ)運(yùn)動在主軸的運(yùn)動緩沖區(qū)中按順序執(zhí)行,CANCEL指令取消插補(bǔ)運(yùn)動,實現(xiàn)急停。
1.支持16軸直線插補(bǔ)運(yùn)動
base(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
2.支持多通道同時插補(bǔ)
BASE(0,1)
MOVE(100,200)
BASE(2,3,4)
MOVE(30,40,50)
二、插補(bǔ)運(yùn)動參數(shù)計算
以二軸直線插補(bǔ)為例:軸0和軸1兩軸參與直線插補(bǔ)運(yùn)動,如下圖。
二軸直線插補(bǔ)運(yùn)動從平面的A點運(yùn)動到B點,XY軸同時啟動,并同時到達(dá)終點,設(shè)置軸0的運(yùn)動距離為?X,軸1的運(yùn)動距離為?Y,主軸是BASE的第一個軸(此時主軸為軸0),插補(bǔ)運(yùn)動參數(shù)采用主軸的參數(shù)。

若插補(bǔ)主軸運(yùn)動速度為S(主軸軸0的設(shè)置速度),各個軸的實際速度為主軸的分速度,不等于S,此時:
- 插補(bǔ)運(yùn)動的距離:X=[(?X)2+(?Y)2]½
- 軸0實際速度:S0=S×?X/X
- 軸1實際速度:S1=S×?Y/X
04 直線插補(bǔ)實現(xiàn)
XPLC864E2內(nèi)置直線插補(bǔ)算法,支持8個EtherCAT總線軸聯(lián)合直線插補(bǔ),可擴(kuò)展支持12軸插補(bǔ),采用MOVE直線插補(bǔ)指令,便可輕松高效完成插補(bǔ)運(yùn)動。

一、直線插補(bǔ)相關(guān)指令
1.MOVE發(fā)送脈沖給驅(qū)動器,實現(xiàn)直線插補(bǔ)運(yùn)動。
語法:
- MOVE(distance1 [,distance2[,distance3 [,distance4...]]])
- MOVEABS(distance1 [,distance2 [,distance3 [,distance4...]]])
- MOVESP(distance1 [,distance2 [,distance3 [,distance4...]]])
- MOVEABSSP(distance1 [,distance2 [,distance3 [,distance4...]]])
2.BASE指令選擇參與插補(bǔ)的軸號,即MOVE運(yùn)動發(fā)送給哪些軸。
語法: BASE(axis1 [,axis 2 [,axis 3 [,axis 4...]]])
3.直線插補(bǔ)運(yùn)動速度比例自由控制,當(dāng)前速度= SPEED*SPEED_RATIO。
語法: SPEED_RATIO(軸號) = value
4.運(yùn)動暫停與恢復(fù),MOVE_PAUSE暫停,MOVE_RESUME恢復(fù)運(yùn)動。
語法: MOVE_PAUSE(mode)
5.運(yùn)動取消,軸/軸組減速停止,CANCEL(2)為急停,RAPIDSTOP(2)為全部軸急停。
語法: CANCEL(mode) AXIS(主軸), RAPIDSTOP(mode)
二、直線插補(bǔ)類型
1.直線插補(bǔ)有以下三種形式可選:
(1)MOVE相對運(yùn)動指令
插補(bǔ)運(yùn)動的距離參數(shù)為與當(dāng)前插補(bǔ)起點的相對距離,采用SPEED速度。
(2)MOVEABS絕對運(yùn)動指令
插補(bǔ)運(yùn)動的距離參數(shù)為相對于原點的絕對距離,在相對運(yùn)動指令后方加上ABS后綴,采用SPEED速度。
(3)MOVESP/MOVEABSSP運(yùn)動指令
帶SP的指令運(yùn)動速度采用FORCE_SPEED強(qiáng)制速度參數(shù)運(yùn)動,而不是SPEED參數(shù),在相對運(yùn)動指令或絕對運(yùn)動指令后方加上SP后綴即可。FORCE_SPEED參數(shù)能進(jìn)入運(yùn)動緩沖區(qū),方便實現(xiàn)動態(tài)變速。
2.三類運(yùn)動形式的區(qū)別采用下方例子展開說明:
(1)相對運(yùn)動例子
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
DPOS=0,0
ATYPE=1,1
UNITS=100,100
SPEED=100,100 '運(yùn)動速度
ACCEL=1000,1000
DECEL=1000,1000
FORCE_SPEED=150,150 'SP指令速度
SRAMP=100,100 'S曲線
TRIGGER '自動觸發(fā)示波器
MOVE(200,150) '第一段終點(200,150)
MOVE(100,120) '第二段終點(300,270)
END


(2)絕對運(yùn)動例子
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
DPOS=0,0
ATYPE=1,1
UNITS=100,100
SPEED=100,100 '運(yùn)動速度
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100 'S曲線
TRIGGER '自動觸發(fā)示波器
MOVEABS(200,150) '第一段
MOVEABS(100,120) '第二段運(yùn)動到絕對位置(100,120)
END


(3)SP運(yùn)動指令例子
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
DPOS=0,0
ATYPE=1,1
UNITS=100,100
SPEED=100,100 '運(yùn)動速度
ACCEL=1000,1000
DECEL=1000,1000
FORCE_SPEED=150,150 'SP指令速度
SRAMP=100,100 'S曲線
TRIGGER '自動觸發(fā)示波器
MOVE(200,150) '第一段相對運(yùn)動,速度100
MOVESP(100,120) '第二段SP相對運(yùn)動,速度150
END


三、MOVESP動態(tài)變速
MOVESP直線插補(bǔ)運(yùn)動采用FORCE_SPEED設(shè)置的速度運(yùn)動,并且支持STARTMOVE_SPEED自定義每段SP運(yùn)動的開始速度,ENDMOVE_SPEED自定義每段SP運(yùn)動的結(jié)束速度,這兩個參數(shù)不使用時請設(shè)置較大值。
例子:
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1) '選擇XY
DPOS = 0,0
MPOS = 0,0
ATYPE=1,1 '脈沖方式步進(jìn)或伺服
UNITS = 100,100 '脈沖當(dāng)量
SPEED = 100,100
ACCEL = 200,200
DECEL = 200,200
SRAMP=100,100 'S曲線
TRIGGER
'第一段
FORCE_SPEED = 50 '第一段速度50
MOVESP(40,40)
'第二段
FORCE_SPEED = 60 '第二段速度60
MOVESP(50,50)
'第三段
FORCE_SPEED = 80 '第三段速度80
MOVESP(60,60)
END
速度變化曲線:
從速度為0開始運(yùn)動,完成三段直線插補(bǔ)運(yùn)動,第一段插補(bǔ)的運(yùn)動速度50,第二段運(yùn)動速度60,,第三段運(yùn)動速度80。

四、直線插補(bǔ)的速度倍率控制
直線插補(bǔ)運(yùn)動中支持SPEED_RATIO設(shè)置當(dāng)前運(yùn)動速度的比例,使得當(dāng)前運(yùn)動速度=SPEED* SPEED_RATIO,指令發(fā)送立即生效,故可借助此命令實現(xiàn)動態(tài)變速。
例子:
RAPIDSTOP(2)
WAIT IDLE
BASE(0,1) '選擇軸0,1
DPOS=0,0
UNITS=1000,1000
SPEED = 100,100 '速度100units/s
ACCEL = 1000,1000
DECEL = 1000,1000
SRAMP = 50,50
TRIGGER
SPEED_RATIO = 1 '速度比例為1,速度100
MOVE(100,120) '直線插補(bǔ)
DELAY(500) '等待0.5s
SPEED_RATIO = 2 '速度200
WAIT UNTIL REMAIN<50 '等待剩余距離小于50
SPEED_RATIO = 0.5 '速度降為50
WAIT IDLE
SPEED_RATIO=1
END
速度變化曲線:

五、直線插補(bǔ)運(yùn)動暫停與恢復(fù)
MOVE_PAUSE運(yùn)動暫停適用于插補(bǔ)運(yùn)動,有以下幾種模式:

例子:
BASE(0,1) '選擇軸0,1
DPOS=0,0
UNITS=1000,1000
SPEED = 100,100 '速度100units/s
ACCEL = 1000,1000
DECEL = 1000,1000
SRAMP = 50,50
TRIGGER
MOVE(100,100) '當(dāng)前運(yùn)動
MOVE(50,50) '緩沖運(yùn)動
MOVE_PAUSE(1) '模式1,當(dāng)前運(yùn)動完成暫停
DELAY(2000)
MOVE_RESUME '恢復(fù)運(yùn)動,緩沖運(yùn)動開始執(zhí)行
END
運(yùn)動曲線如下圖:

05 直線插補(bǔ)例程
一、兩軸連續(xù)插補(bǔ)完成五角星軌跡
'總線初始化使能EtherCAT總線驅(qū)動器,脈沖型驅(qū)動器OP打開使能。
BASE(0,1)
UNITS=10000,10000
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100
DPOS=0,0
MPOS=0,0
TRIGGER '自動觸發(fā)示波器
'五角星軌跡
MOVEABS(1.4695, 1.0676)
MOVEABS(2.9389, 0.0000)
MOVEABS(2.3776, 1.7275)
MOVEABS(3.8471, 2.7951)
MOVEABS(2.0307, 2.7951)
MOVEABS(1.4695, 4.5225)
MOVEABS(0.9082, 2.7951)
MOVEABS(-0.9082, 2.7951)
MOVEABS(0.5613, 1.7275)
MOVEABS(0.0000, 0.0000)
END
示波器采樣運(yùn)動隨時間變化的波形:

示波器采樣兩軸插補(bǔ)軌跡:

二、五角星視頻演示
本次,正運(yùn)動技術(shù)EtherCAT總線運(yùn)動控制器中簡單易用的直線插補(bǔ),就分享到這里。
更多精彩內(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)載請注明文章來源。
正運(yùn)動技術(shù)專注于運(yùn)動控制技術(shù)研究和通用運(yùn)動控制軟硬件產(chǎn)品的研發(fā),是國家級高新技術(shù)企業(yè)。正運(yùn)動技術(shù)匯集了來自華為、中興等公司的優(yōu)秀人才,在堅持自主創(chuàng)新的同時,積極聯(lián)合各大高校協(xié)同運(yùn)動控制基礎(chǔ)技術(shù)的研究,是國內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國內(nèi)少有、完整掌握運(yùn)動控制核心技術(shù)和實時工控軟件平臺技術(shù)的企業(yè)。主要業(yè)務(wù)有:運(yùn)動控制卡_運(yùn)動控制器_EtherCAT運(yùn)動控制卡_EtherCAT控制器_運(yùn)動控制系統(tǒng)_視覺控制器__運(yùn)動控制PLC_運(yùn)動控制_機(jī)器人控制器_視覺定位等等。
|