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

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

03 直線插補功能
一、直線插補特點
直線插補運動通過BASE指令選擇軸號/軸組,控製多軸聯動,完成直線運動。
主軸是BASE選擇的第一個軸,插補運動軸參數UNITS、SPEED等均采用主軸的參數,發送MOVE直線插補運動指令,插補運動在主軸的運動緩衝區中按順序執行,CANCEL指令取消插補運動,實現急停。
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)
二、插補運動參數計算
以二軸直線插補為例:軸0和軸1兩軸參與直線插補運動,如下圖。
二軸直線插補運動從平麵的A點運動到B點,XY軸同時啟動,並同時到達終點,設置軸0的運動距離為?X,軸1的運動距離為?Y,主軸是BASE的第一個軸(此時主軸為軸0),插補運動參數采用主軸的參數。

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

一、直線插補相關指令
1.MOVE發送脈衝給驅動器,實現直線插補運動。
語法:
- MOVE(distance1 [,distance2[,distance3 [,distance4...]]])
- MOVEABS(distance1 [,distance2 [,distance3 [,distance4...]]])
- MOVESP(distance1 [,distance2 [,distance3 [,distance4...]]])
- MOVEABSSP(distance1 [,distance2 [,distance3 [,distance4...]]])
2.BASE指令選擇參與插補的軸號,即MOVE運動發送給哪些軸。
語法: 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相對運動指令
插補運動的距離參數為與當前插補起點的相對距離,采用SPEED速度。
(2)MOVEABS絕對運動指令
插補運動的距離參數為相對於原點的絕對距離,在相對運動指令後方加上ABS後綴,采用SPEED速度。
(3)MOVESP/MOVEABSSP運動指令
帶SP的指令運動速度采用FORCE_SPEED強製速度參數運動,而不是SPEED參數,在相對運動指令或絕對運動指令後方加上SP後綴即可。FORCE_SPEED參數能進入運動緩衝區,方便實現動態變速。
2.三類運動形式的區別采用下方例子展開說明:
(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 '自動觸發示波器
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 '自動觸發示波器
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 '自動觸發示波器
MOVE(200,150) '第一段相對運動,速度100
MOVESP(100,120) '第二段SP相對運動,速度150
END


三、MOVESP動態變速
MOVESP直線插補運動采用FORCE_SPEED設置的速度運動,並且支持STARTMOVE_SPEED自定義每段SP運動的開始速度,ENDMOVE_SPEED自定義每段SP運動的結束速度,這兩個參數不使用時請設置較大值。
例子:
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,指令發送立即生效,故可借助此命令實現動態變速。
例子:
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 '恢複運動,緩衝運動開始執行
END
運動曲線如下圖:

05 直線插補例程
一、兩軸連續插補完成五角星軌跡
'總線初始化使能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 '自動觸發示波器
'五角星軌跡
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總線運動控製器中簡單易用的直線插補,就分享到這裏。
更多精彩內容請關注“正運動小助手”公眾號,需要相關開發環境與例程代碼,請谘詢正運動技術銷售工程師:400-089-8936。
本ben文wen由you正zheng運yun動dong技ji術shu原yuan創chuang,歡huan迎ying大da家jia轉zhuan載zai,共gong同tong學xue習xi,一yi起qi提ti高gao中zhong國guo智zhi能neng製zhi造zao水shui平ping。文wen章zhang版ban權quan歸gui正zheng運yun動dong技ji術shu所suo有you,如ru有you轉zhuan載zai請qing注zhu明ming文wen章zhang來lai源yuan。
正運動技術專注於運動控製技術研究和通用運動控製軟硬件產品的研發,是國家級高新技術企業。正運動技術彙集了來自華為、中(zhong)興(xing)等(deng)公(gong)司(si)的(de)優(you)秀(xiu)人(ren)才(cai),在(zai)堅(jian)持(chi)自(zi)主(zhu)創(chuang)新(xin)的(de)同(tong)時(shi),積(ji)極(ji)聯(lian)合(he)各(ge)大(da)高(gao)校(xiao)協(xie)同(tong)運(yun)動(dong)控(kong)製(zhi)基(ji)礎(chu)技(ji)術(shu)的(de)研(yan)究(jiu),是(shi)國(guo)內(nei)工(gong)控(kong)領(ling)域(yu)發(fa)展(zhan)最(zui)快(kuai)的(de)企(qi)業(ye)之(zhi)一(yi),也(ye)是(shi)國(guo)內(nei)少(shao)有(you)、完整掌握運動控製核心技術和實時工控軟件平台技術的企業。主要業務有:運動控製卡_運動控製器_EtherCAT運動控製卡_EtherCAT控製器_運動控製係統_視覺控製器__運動控製PLC_運動控製_機器人控製器_視覺定位等等。
|