本節(jié)課程主要通過幾個部分講解直線插補,分別為EtherCAT總線運動控制器介紹、運動控制器直線插補的原理、功能、實現(xiàn)方式和例程仿真演示。
01、XPLC864E2介紹
XPLC864E2是正運動技術推出的一款多軸經濟型EtherCAT總線運動控制器,XPLC系列運動控制器可應用于各種需要脫機或聯(lián)機運行的場合。
體積小,通訊功能全,支持RS232串口、RS485串口、網口、CAN總線、EtherCAT總線連接外設,多網口通道通過交換機擴展。
XPLC864E2支持脈沖軸和總線軸混合使用,總軸數(shù)為8,除了帶EtherCAT接口之外,輸出口可配置為8個脈沖信號輸出,另帶兩路編碼器輸入,由輸入口配置。
通過擴展最多支持12軸直線插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸設置等功能。
02、直線插補原理
直線插補算法采用數(shù)據(jù)采樣法,插補用小段直線來逼近給定軌跡,插補輸出的是下一個插補周期內各軸要運動的距離,不需要每走一個脈沖當量就插補一次,可達到很高的進給速度。
數(shù)據(jù)采樣法原理是采用時間分割思想,根據(jù)進給速度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運動暫停適用于插補運動,有以下幾種模式:0(缺省)暫停當前運動。
20170513固件版本增加此功能
例子:
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
示波器采樣運動隨時間變化的波形:
示波器采樣兩軸插補軌跡:
shn
-
控制器
+關注
關注
112文章
16361瀏覽量
178050 -
CAN總線
+關注
關注
145文章
1951瀏覽量
130760 -
總線
+關注
關注
10文章
2881瀏覽量
88085
原文標題:EtherCAT總線運動控制器中簡單易用的直線插補
文章出處:【微信號:伺服與運動控制,微信公眾號:伺服與運動控制】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論