工控網首頁
>

應用設計

>

EtherCAT總線運動控制器中簡單易用的直線插補

EtherCAT總線運動控制器中簡單易用的直線插補

本節(jié)課程主要通過幾個部分講解直線插補,分別為EtherCAT總線運動控制器介紹、 運動控制器直線插補的原理、功能、實現(xiàn)方式和例程仿真演示。

01 XPLC864E2介紹

XPLC864E2是正運動技術推出的一款多軸經濟型EtherCAT總線運動控制器,XPLC系列運動控制器可應用于各種需要脫機或聯(lián)機運行的場合。

體積小,通訊功能全,支持RS232串口、RS485串口、網口、CAN總線、EtherCAT總線連接外設,多網口通道通過交換機擴展。

XPLC864E2支持脈沖軸和總線軸混合使用,總軸數(shù)為8,除了帶EtherCAT接口之外,輸出口可配置為8個脈沖信號輸出,另帶兩路編碼器輸入,由輸入口配置。

通過擴展最多支持12軸直線插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸設置等功能。

02 直線插補原理

直線插補算法采用數(shù)據采樣法,插補用小段直線來逼近給定軌跡,插補輸出的是下一個插補周期內各軸要運動的距離,不需要每走一個脈沖當量就插補一次,可達到很高的進給速度。

數(shù)據采樣法原理是采用時間分割思想,根據進給速度f和插補周期t,將廓型曲線分割成一段段的輪廓步長l,l=ft,然后計算出每個插補周期參與插補運動的每個軸的坐標增量。

03 直線插補功能

一、直線插補特點

直線插補運動通過BASE指令選擇軸號/軸組,控制多軸聯(lián)動,完成直線運動。

主軸是BASE選擇的第一個軸,插補運動軸參數(shù)UNITS、SPEED等均采用主軸的參數(shù),發(fā)送MOVE直線插補運動指令,插補運動在主軸的運動緩沖區(qū)中按順序執(zhí)行,CANCEL指令取消插補運動,實現(xiàn)急停。

1.支持16軸直線插補運動

base(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)

2.支持多通道同時插補

BASE(0,1)
MOVE(100,200)
BASE(2,3,4)
MOVE(30,40,50)

二、插補運動參數(shù)計算

以二軸直線插補為例:軸0和軸1兩軸參與直線插補運動,如下圖。

二軸直線插補運動從平面的A點運動到B點,XY軸同時啟動,并同時到達終點,設置軸0的運動距離為?X,軸1的運動距離為?Y,主軸是BASE的第一個軸(此時主軸為軸0),插補運動參數(shù)采用主軸的參數(shù)。

若插補主軸運動速度為S(主軸軸0的設置速度),各個軸的實際速度為主軸的分速度,不等于S,此時:

  • 插補運動的距離:X=[(?X)2+(?Y)2]?

  • 軸0實際速度:S0=S×?X/X

  • 軸1實際速度:S1=S×?Y/X

04 直線插補實現(xiàn)

XPLC864E2內置直線插補算法,支持8個EtherCAT總線軸聯(lián)合直線插補,可擴展支持12軸插補,采用MOVE直線插補指令,便可輕松高效完成插補運動。

一、直線插補相關指令

1.MOVE發(fā)送脈沖給驅動器,實現(xiàn)直線插補運動。

語法:

  • MOVE(distance1 [,distance2[,distance3 [,distance4...]]])

  • MOVEABS(distance1 [,distance2 [,distance3 [,distance4...]]])

  • MOVESP(distance1 [,distance2 [,distance3 [,distance4...]]])

  • MOVEABSSP(distance1 [,distance2 [,distance3 [,distance4...]]])

2.BASE指令選擇參與插補的軸號,即MOVE運動發(fā)送給哪些軸。

語法: BASE(axis1 [,axis 2 [,axis 3 [,axis 4...]]])

3.直線插補運動速度比例自由控制,當前速度= SPEED*SPEED_RATIO。

語法: SPEED_RATIO(軸號) = value

4.運動暫停與恢復,MOVE_PAUSE暫停,MOVE_RESUME恢復運動。

語法: MOVE_PAUSE(mode)

5.運動取消,軸/軸組減速停止,CANCEL(2)為急停,RAPIDSTOP(2)為全部軸急停。

語法: CANCEL(mode) AXIS(主軸), RAPIDSTOP(mode)

二、直線插補類型

1.直線插補有以下三種形式可選:

(1)MOVE相對運動指令

插補運動的距離參數(shù)為與當前插補起點的相對距離,采用SPEED速度。

(2)MOVEABS絕對運動指令

插補運動的距離參數(shù)為相對于原點的絕對距離,在相對運動指令后方加上ABS后綴,采用SPEED速度。

(3)MOVESP/MOVEABSSP運動指令

帶SP的指令運動速度采用FORCE_SPEED強制速度參數(shù)運動,而不是SPEED參數(shù),在相對運動指令或絕對運動指令后方加上SP后綴即可。FORCE_SPEED參數(shù)能進入運動緩沖區(qū),方便實現(xiàn)動態(tài)變速。

2.三類運動形式的區(qū)別采用下方例子展開說明:

(1)相對運動例子

RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
DPOS=0,0
ATYPE=1,1
UNITS=100,100
SPEED=100,100 '運動速度
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)絕對運動例子

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

(3)SP運動指令例子

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

三、MOVESP動態(tài)變速

MOVESP直線插補運動采用FORCE_SPEED設置的速度運動,并且支持STARTMOVE_SPEED自定義每段SP運動的開始速度,ENDMOVE_SPEED自定義每段SP運動的結束速度,這兩個參數(shù)不使用時請設置較大值。

例子:

RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1) '選擇XY
DPOS = 0,0
MPOS = 0,0
ATYPE=1,1 '脈沖方式步進或伺服
UNITS = 100,100 '脈沖當量
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開始運動,完成三段直線插補運動,第一段插補的運動速度50,第二段運動速度60,,第三段運動速度80。

四、直線插補的速度倍率控制

直線插補運動中支持SPEED_RATIO設置當前運動速度的比例,使得當前運動速度=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) '直線插補
DELAY(500) '等待0.5s
SPEED_RATIO = 2 '速度200
WAIT UNTIL REMAIN<50 '等待剩余距離小于50
SPEED_RATIO = 0.5 '速度降為50
WAIT IDLE
SPEED_RATIO=1
END

速度變化曲線:

五、直線插補運動暫停與恢復

MOVE_PAUSE運動暫停適用于插補運動,有以下幾種模式:

例子:

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) '當前運動
MOVE(50,50) '緩沖運動
MOVE_PAUSE(1) '模式1,當前運動完成暫停
DELAY(2000)
MOVE_RESUME '恢復運動,緩沖運動開始執(zhí)行
END

運動曲線如下圖:

05 直線插補例程

一、兩軸連續(xù)插補完成五角星軌跡

'總線初始化使能EtherCAT總線驅動器,脈沖型驅動器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

示波器采樣運動隨時間變化的波形:

示波器采樣兩軸插補軌跡:

二、五角星視頻演示

本次,正運動技術EtherCAT總線運動控制器中簡單易用的直線插補,就分享到這里。

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

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

正運動全國產EtherCAT運動控制器ZMC432H用戶手冊

正運動全國產EtherCAT運動控制器ZMC432H

正運動技術運動控制器如何快速實現(xiàn)單軸/多軸同步跟隨功能?

正運動ECI1408運動控制卡用戶手冊

正運動機器視覺運動控制一體機VPLC710