一、XPLC006E功能簡介
XPLC006E是正運動運動控制器推出的一款多軸經(jīng)濟型EtherCAT總線運動控制器,XPLC系列運動控制器可應(yīng)用于各種需要脫機或聯(lián)機運行的場合。

XPLC006E自帶6個電機軸,最多12軸運動控制(含虛擬軸數(shù)),支持12軸直線插補、電子凸輪、電子齒輪、同步跟隨、虛擬軸設(shè)置等功能。
XPLC006E支持多任務(wù)同時運行,同時可以在PC上直接仿真運行,編程方式多種可選,支持ZDevelop軟件的Basic/PLC梯形圖/HMI組態(tài)和常用上位機軟件編程。
XPLC006E只支持EtherCAT總線軸,不支持脈沖軸和編碼器軸。采用EtherCAT總線與驅(qū)動器通訊,1ms的刷新周期。
XPLC006E支持PLC、Basic、HMI組態(tài)三種編程方式。PC上位機API編程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。

→此款產(chǎn)品有XPLC004E、XPLC006E、XPLC008E三個不同軸數(shù)的型號可選。
二、XPLC864E功能簡介
XPLC864E在XPLC006E的功能基礎(chǔ)上做了升級(即上節(jié)介紹的XPLC006E的功能都支持),部分資源空間優(yōu)于XPLC006E,使用方法基本一致,不同之處在于XPLC864E,硬件支持32點輸入、32點輸出、2個ADC、2個DAC,支持脈沖軸和總線軸混合使用,總實軸軸數(shù)為8,除了帶EtherCAT接口之外,輸出口硬件上可配置為8個軸的脈沖方向信號輸出,另帶兩路編碼器輸入,可由輸入口配置。
XPLC864E支持PLC、Basic、HMI組態(tài)三種編程方式。PC上位機API編程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。


XPLC系列經(jīng)濟型EtherCAT總線運動控制器支持多種編程方式,支持使用正運動技術(shù)自主研發(fā)的ZDevelop開發(fā)環(huán)境的Basic語言和PLC梯形圖,上一節(jié)講解了控制器的運動緩沖,本節(jié)內(nèi)容主要講解控制器的軸參數(shù)與運動指令說明。
三、軸參數(shù)
控制軸的運動除了要發(fā)送運動指令之外(運動指令),顯然我們還需要指定軸的運動的速度,確定軸運動的快慢,速度參數(shù)我們也可以把他叫做軸參數(shù),軸參數(shù)是軸運動所必須的參數(shù),常用的軸參數(shù)有速度、加速度、減速度、脈沖當(dāng)量、軸類型等,以上軸參數(shù)作用各不相同,參見下文的說明。
1.BASE--軸選擇/軸組選擇
BASE指令用于選擇相應(yīng)的軸號進行參數(shù)設(shè)置和運行控制,每一個過程有其自己的BASE基本軸組,每個程序都能單獨賦值。
在設(shè)置軸參數(shù)或者運行軸的時候,都要在最開始的地方,用BASE指令選擇相應(yīng)的軸號,默認BASE選擇的第一個軸為主軸。
運動不指定軸號時,默認發(fā)送給最新掃描的BASE指令選擇的第一個軸。
語法:BASE(軸0,軸1,軸2,...)
例子:
BASE(0,1,2) '將XYZ平臺的三個軸分別綁定為軸號012
MOVE(100,200,240)
BASE(0) '選擇軸0
MOVE(136)
BASE(3,0,1,2)) '選擇四個軸,軸次序沒有嚴格要求,但一般順序選擇不易混淆
MOVE(10,50,50,0)
多軸的場合,在發(fā)送運動指令之前,最好先BASE指定當(dāng)前運動指令發(fā)送給哪個軸,例如,在上例中,我們想讓Y軸單獨運動100個單位,若發(fā)送MOVE(100),則發(fā)給了X軸,導(dǎo)致運動錯誤了,正確做法如下,這樣做能保證運動不出錯。
BASE(1)'選擇Y軸
MOVE(100) '給Y軸單獨發(fā)脈沖
2.ATYPE--軸類型
ATYPE是對軸功能的定義,通常在程序初始化時定義好軸的功能,可定義為無編碼反饋類型、有編碼器反饋類型、編碼器+Z信號反饋類型、EtherCAT總線類型等。若ATYPE設(shè)置異常,會導(dǎo)致軸運行異常或者程序無法正常運行。
語法:ATYPE=類型值或ATYPE (軸號)=類型值
下表是對軸類型ATYPE定義的詳細說明。
ATYPE=1/7是脈沖輸出類型;
ATYPE=4/5是脈沖輸出+編碼器輸入類型;
ATYPE=3/6是編碼器輸入類型;
ATYPE=65/66/67是EtherCAT總線軸的類型;
ATYPE=50/51/52是RTEX總線軸的類型。
ATYPE數(shù)值 |
功能描述 |
0 |
虛擬軸 |
1 |
脈沖方向方式的步進或伺服,無編碼器輸入反饋 |
2 |
模擬信號控制方式的伺服 |
3 |
正交編碼器 |
4 |
脈沖方向輸出+正交編碼器輸入 |
5 |
脈沖方向輸出+脈沖方向編碼器輸入 |
6 |
脈沖方向方式的編碼器 |
7 |
脈沖方向輸出+EZ信號輸入 |
8 |
ZCAN擴展脈沖方向輸出 |
9 |
ZCAN擴展正交編碼器 |
10 |
ZCAN擴展脈沖方向方式的編碼器 |
21 |
振鏡軸類型 |
50 |
RTEX周期位置模式 |
51 |
RTEX周期速度模式 |
52 |
RTEX周期力矩模式 |
65 |
EtherCAT周期位置模式 |
66 |
EtherCAT周期速度模式 |
67 |
EtherCAT周期力矩模式 |
70 |
EtherCAT自定義操作,只讀取編碼器,需支持EtherCAT |
3.UNITS--脈沖當(dāng)量
在運動控制裝置中,當(dāng)機械結(jié)構(gòu)確定以后,電機和機械裝置的傳動關(guān)系也就固定了,電機每轉(zhuǎn)一圈產(chǎn)生的機械位移量也就固定了。脈沖當(dāng)量UNITS是每單位對應(yīng)的脈沖數(shù),可以是單位距離、單位角度等,支持5位小數(shù)精度。
控制器以UNITS作為基本單位,運動的目標(biāo)位置、速度、加減速度等都是以UNITS作為基礎(chǔ)單位來進行運算執(zhí)行,UNITS修改后,目標(biāo)位置、速度、加減速度等會隨UNITS改變成比例變化。
語法:UNITS=變量或UNITS (軸號)=變量
例子:UNITS=10000
常見的幾種機械傳動的UNITS參考計算方式見下表。

如設(shè)置脈沖當(dāng)量為1000,速度SPEED以設(shè)置的脈沖當(dāng)量為單位,則每秒按照當(dāng)前設(shè)置速度值*1000進行發(fā)送脈沖給執(zhí)行機構(gòu)。
此時若直線運動指令的距離參數(shù)寫2,則發(fā)送2*1000個脈沖,2000個脈沖能讓電機轉(zhuǎn)多少角度,需要參考電機的一圈脈沖數(shù)(電機轉(zhuǎn)動一圈需要的脈沖數(shù)量)的設(shè)置,若電機的一圈脈沖數(shù)為10000,則2000個脈沖能讓電機轉(zhuǎn)72°,這樣運動指令的實際運動距離就能被換算出來了。
以上為脈沖當(dāng)量UNITS的設(shè)置方法,總而言之,設(shè)置前先要查出電機的一圈脈沖數(shù),再結(jié)合機械結(jié)構(gòu)的特點進行設(shè)置。
一般而言,步進電機的一圈脈沖數(shù)較小,伺服電機的一圈脈沖數(shù)較大,需要十萬或百萬級的脈沖數(shù)才能驅(qū)動電機轉(zhuǎn)一圈,故伺服的精度較高,相對于的成本也高一些。
4.SPEED--運動速度
軸運行時的速度,單位為UNITS/s。
當(dāng)單軸運動時,運動速度的加速度為單軸的速度,當(dāng)多軸運動時,作為插補運動的合成矢量速度。
SPEED修改后,立刻生效,可以實現(xiàn)動態(tài)變速,平滑變速也可以使用SPEED_RATIO指令來調(diào)節(jié)倍率。
語法:SPEED=變量 或 SPEED(軸號)=變量
例子:SPEED=100 '每秒下發(fā)脈沖個數(shù)為100*UNITS
5.ACCEL--加速度
軸的運行由起始速度到目標(biāo)速度的過程中,每秒達到的速度數(shù)值,單位為UNITS/s^2,加速度越大,達到目標(biāo)速度的時間越短。
當(dāng)單軸運動時,運動速度的加速度為單軸的加速度,當(dāng)多軸運動時,插補運動的加速度為多軸矢量合成的加速度。
語法:ACCEL=變量 或 ACCEL(軸號)=變量
例子:ACCEL=1000 '加速度為1000UNITS/s^2
6.DECEL--減速度
軸的運行由運行速度到停止的過程中,每秒達到的速度數(shù)值,單位為UNITS/s^2,減速度越大,達到停止速度的時間越短。
當(dāng)單軸運動時,運動速度的減速度為單軸的減速度,當(dāng)多軸運動時,插補運動的減速度為多軸矢量合成的減速度。
語法:DECEL=變量 或 DECEL(軸號)=變量
7.DPOS--目標(biāo)位置
軸的目標(biāo)位置或需求位置,以UNITS作為單位,作為當(dāng)前軸的位置參考,正向運動時值增大,反向運動時軸減小,DPOS參數(shù)回零完成后會自動清零,DPOS為0表示在原點位置,若手動改DPOS的值,會自動轉(zhuǎn)換為OFFPOS偏移,不會移動電機。
正負軟限位限制的便是DPOS的范圍,超過設(shè)置的DPOS自動報警,停止軸運動。
8.MPOS--反饋位置
軸的反饋位置,接了反饋此參數(shù)才有效,一般有編碼器測量反饋,無反饋的情況MPOS的值自動復(fù)制DPOS的值,不具備參考價值。若手動改DPOS的值,會自動轉(zhuǎn)換為OFFPOS偏移。
一般MPOS與DPOS之間是有一定的誤差的,伺服性能越好,這個誤差便越小,理論上不可以完全消除,但可以十分接近。
相對應(yīng)的,SPEED為目標(biāo)速度,MSPEED為編碼器測得的真實運動速度。
注意,部分回零模式回零之后,DPOS會自動清零,但MPOS不會,需要手動清零MPOS,否則可能導(dǎo)致后續(xù)運動出錯。
9.AXIS--指定軸號
熟悉了上面的內(nèi)容,我們知道SPPED(1)=1000的含義是指定軸1的運動速度為1000,SPEED=1000因為未指定軸號,默認設(shè)置BASE的第一個軸。
但MOVE(100)這類的命令括號是運動參數(shù),不能填入軸號了,這種參數(shù)我們可以寫做MOVE(100) AXIS(0),通過添加AXIS指令去指定當(dāng)前參數(shù)設(shè)置到哪個軸上。
BASE(1)'選擇Y軸
MOVE(100) '給Y軸單獨發(fā)脈沖
MOVE(100) AXIS(0) '給X軸單獨發(fā)脈沖
10.軸參數(shù)設(shè)置示例
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1) '選擇軸號
ATYPE=1,1 '軸類型設(shè)置
UNITS=10000,10000 '脈沖當(dāng)量設(shè)置
SPEED=100,200 '速度設(shè)置
ACCEL=1000,2000 '加速度設(shè)置
DECEL=1000,2000 '減速度設(shè)置
DPOS=0,0 '當(dāng)前位置清0
MPOS=0,0 '反饋位置清0
TRIGGER '觸發(fā)示波器采樣
MOVE(200) AXIS(0) '軸0運動
MOVE(100) AXIS(1) '軸1運動
END
在這些參數(shù)作用下的軟件示波器采樣不同參數(shù)隨時間變化的波形如下圖所示。通過速度曲線能反映加減速度的情況。
DPOS(0)和MSPEED(0)分別為軸0的位移軌跡和速度軌跡;
DPOS(1)和MSPEED(1)分別為軸1的位移軌跡和速度軌跡。

四、運動指令
1.單軸運動
單軸運動的特點是每個軸的運動是獨立的,,由各軸自己的運動參數(shù)控制,與其他軸沒有聯(lián)系,單軸運動也分幾類,單軸寸動、單軸點動、單軸持續(xù)運動、回零也屬于單軸運動。
(1)寸動
寸動由MOVE指令給單個軸發(fā)有限個脈沖,例如MOVE(100),100個單位走完之后,軸減速停止。
MOVE指令控制多個軸運動的時候,屬于插補運動,多軸是聯(lián)動的。(寸動例程參見上文)
(2)JOG點動
JOG點動是個簡單的單軸運動,由外部輸入信號控制以指定的速度正向運動或負向運動。
JOG點動需接入外部輸入信號,使用FWD_JOG指令映射正向JOG輸入,REV_JOG指令映射負向JOG輸入,檢測到有輸入信號時以JOGSPEED指令速度運動,無輸入立即停止。
注意映射JOG開關(guān)后,對于OFF信號有效的控制器,一定要INVERT_IN反轉(zhuǎn)電平,例如ZMC系列控制器是OFF信號有效,若不反轉(zhuǎn),則導(dǎo)致信號接入時為OFF,控制器判斷有輸入,立即控制軸運動;對于ON有效的型號則不需要反轉(zhuǎn)。
A.點動例程
RAPIDSTOP(2)
WAIT IDLE(0)
BASE(0) '選擇軸0
ATYPE=1 '脈沖軸類型
DPOS=0 '坐標(biāo)清0
UNITS=100 '脈沖當(dāng)量
SPEED =100 '主軸速度
ACCEL=1000 '加速度
DECEL=1000 '減速度
SRAMP=100 'S曲線
TRIGGER '自動觸發(fā)示波器
JOGSPEED=50 'JOG速度50
FWD_JOG=0 'IN0作為正向JOG開關(guān)
REV_JOG=1 'IN1作為負向JOG開關(guān)
INVERT_IN(0,ON) '輸入0信號反轉(zhuǎn)
INVERT_IN(1,ON) '輸入1信號反轉(zhuǎn)
END
B.運行效果如下圖
輸入0口有信號輸入時,軸0正向運行,速度為50。
輸入1口有信號輸入時,軸0負向運行,速度為50。
輸入0、1同時有信號輸入時,軸0正向運行。

(3)持續(xù)運動
控制器有專用的持續(xù)運動指令,控制器持續(xù)發(fā)脈沖,控制軸以指定的速度和方向持續(xù)運動,持續(xù)運動常用的指令為VMOVE,以運動速度SPPED持續(xù)運動,此時停止軸運動使用CANCEL或RAPIDSTOP指令。
VMOVE的指令參數(shù)可選擇正向或負向運動,VMOVE(1)正向,VMOVE(-1)負向,下一條VMOVE會自動替換前面的VMOVE指令。
持續(xù)運動例程:
RAPIDSTOP(2)
WAIT IDLE(0)
BASE(0) '選擇軸號
ATYPE=1 '軸類型設(shè)置
UNITS=100 '脈沖當(dāng)量設(shè)置
SPEED=100 '速度設(shè)置
ACCEL=1000 '加速度設(shè)置
DECEL=1000 '減速度設(shè)置
SRAMP=100 'S曲線
DPOS=0 '當(dāng)前位置清0
TRIGGER
WHILE 1 '循環(huán)運動
IF MODBUS_BIT(0) = ON THEN 'MODBUS_BIT(0)有效往左運動
VMOVE(-1)
ELSEIF MODBUS_BIT(1) = ON THEN 'MODBUS_BIT(1)有效往右運動
VMOVE(1)
ELSEIF MODBUS_BIT(0) = OFF OR MODBUS_BIT(1) = OFF THEN
CANCEL(2) 'MODBUS_BIT無效時停止運動
ENDIF
WEND
END
2.插補
插補是一個實時進行的數(shù)據(jù)密化的過程,控制器根據(jù)給定的運動信息進行數(shù)據(jù)計算,不斷計算出參與插補運動的各坐標(biāo)軸的進給指令,然后分別驅(qū)動各自相應(yīng)的執(zhí)行部件產(chǎn)生協(xié)調(diào)運動,以使被控機械部件按理想的路線與速度移動。
插補最常見的兩種方式是MOVE直線插補和MOVECIRC圓弧插補。插補運動至少需要兩個軸參與,進行插補運動時,將規(guī)劃軸映射到相應(yīng)的機臺坐標(biāo)系中,運動控制器根據(jù)坐標(biāo)映射關(guān)系,控制各軸運動,實現(xiàn)要求的運動軌跡。
插補運動的特點是參與插補運動的所有軸,在進行一段插補運動時,同時啟動同時停止,插補運動參數(shù)采用主軸的運動參數(shù)(速度、加速度等),主軸為BASE指令選擇的第一個軸。
插補運動指令會存入主軸的運動緩沖區(qū),不進入從軸的運動緩沖區(qū),再依次從主軸的運動緩沖區(qū)中取出指令執(zhí)行,直到插補運動全部執(zhí)行完。
(1)直線插補--MOVE
單軸直線運動或多軸直線插補運動,相對運動距離。絕對運動使用MOVEABS指令,SP運動使用MOVESP指令。
插補運動參數(shù)采用主軸參數(shù),插補運動緩沖在主軸的運動緩沖區(qū)。
語法:MOVE(distance1 [,distance2 [,distance3 [,distance4...]]])
例子:二軸直線插補
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1) '選擇軸0,軸1
ATYPE=1,1
UNITS=100,100
SPEED=100,100 '運動速度
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100 'S曲線
MERGE=ON '開啟連續(xù)插補
TRIGGER '自動觸發(fā)示波器
DPOS=100,0 '坐標(biāo)偏移
MOVE(-50,100) '第一段相對運動
MOVE(-100,0) '第二段相對運動
MOVE(-50,-100) '第三段相對運動
MOVE(50,-100) '第四段相對運動
MOVE(100,0) '第五段相對運動
MOVE(50,100) '第六段相對運動
END
直線插補合成軌跡如下圖:
起點和終點均為(100,0),逆時針加工。

(2)平面圓弧插補--MOVECIRC
兩軸圓弧插補,起點、終點、圓心三點畫弧,起點使用軸當(dāng)前坐標(biāo),相對運動。絕對圓弧插補使用MOVECIRCABS指令。SP圓弧插補使用MOVECIRCSP指令。
MOVECIRC2指令使用當(dāng)前點、中間點、終點畫弧。
圓弧插補指令適用于二軸運動。
語法:MOVECIRC(end1, end2, centre1, centre2, direction)
(end1, end2):終點坐標(biāo)
(centre1, centre2):圓心坐標(biāo)
direction:方向,0-逆時針,1-順時針。
當(dāng)起點坐標(biāo)與終點坐標(biāo)相同時,畫出整圓。圓弧相關(guān)的指令要保證給出的圓心和終點坐標(biāo)與當(dāng)前點一起可以正確的描述一段圓弧,否則會報錯,無法畫弧,錯誤碼1006。
例子:
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
ATYPE=1,1
UNITS=100,100
SPEED=100,100 '運動速度
ACCEL=1000,1000
DECEL=1000,1000
DPOS=0,0
SRAMP=100,100 'S曲線
MERGE=ON
TRIGGER '自動觸發(fā)示波器
MOVECIRC(100,0,50,0,1) '半徑50順時針畫半圓,終點坐標(biāo)(100,0),圓心坐標(biāo)(50,0)
MOVECIRC(-200,0,-100,0,1) '半徑100順時針畫半圓,終點坐標(biāo)(-100,0),圓心坐標(biāo)(0,0)
END
圓弧插補合成軌跡如下圖:

(3)空間圓弧--MSPHERICAL
空間圓弧插補運動,相對運動,空間圓弧起點為當(dāng)前點,第二、第三個點由指令指定。絕對運動使用MSPHERICALABS指令,自定義速度的連續(xù)插補運動可以使用SP后綴的指令。
語法:
MSPHERICAL(end1,end2,end3,centre1,centre2,centre3,mode[,distance4][,distance5])
(end1, end2, end3):第二個點坐標(biāo)
(centre1, centre2, centre3):第三個點坐標(biāo)
mode:指定前面兩個坐標(biāo)點的意義,如下表
distane4:第四軸螺旋的功能,指定第4軸的相對距離,此軸不參與速度計算
distane5:第五軸螺旋的功能,指定第5軸的相對距離,此軸不參與速度計算表
mode值 |
描述 |
0 |
當(dāng)前點,中間點,終點三點定圓弧 end指定圓弧終點,centre指定圓弧的中間點 |
1 |
當(dāng)前點,圓心,終點定圓弧 走最短的圓弧 end指定圓弧終點,centre指定圓弧的圓心 |
2 |
當(dāng)前點,中間點,終點三點定整圓 end指定圓弧終點,centre指定圓弧的中間點 |
3 |
當(dāng)前點,圓心,終點定整圓 先走最短的圓弧,再繼續(xù)走完整圓 end指定圓弧終點,centre指定圓弧的圓心 |
例子:
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
WAIT IDLE(2)
BASE(0,1,2)
ATYPE=1,1,1 '設(shè)為脈沖軸類型
UNITS=100,100,100
DPOS=0,0,0
SPEED=100,100,100 '主軸速度
ACCEL=1000 ,1000,1000 '主軸加速度
DECEL=1000 ,1000,1000
TRIGGER
MSPHERICAL(120,160,400,240,320,300,0) '終點(120,160,400),中間點(240,320,300)
END
mode 0:當(dāng)前點,中間點,終點三點定圓弧,如下圖。

mode 3:當(dāng)前點,圓心,終點定整圓,如下圖。
MSPHERICAL(120,160,400,120,160,150,3) '終點(120,160,400),圓心(120,160,150),先走最短的圓弧(紅色部分),再走完整圓。

3.同步運動
同步運動描述的是不同軸之間的運動是聯(lián)動的,比如電子齒輪,電子凸輪,自動凸輪等。
(1)電子齒輪
電子齒輪功能用于兩個軸的連接,將主軸與從軸按照一個常數(shù)齒輪比建立連接,不需要物理齒輪,使用指令直接設(shè)置電子齒輪的比值,由于是使用軟件實現(xiàn)的,故電子齒輪比可以隨時更改。

電子齒輪功能通過指令CONNECT、CONNPATH實現(xiàn),將一個軸按照一定比例連接到另一個軸上做跟隨運動,一條運動指令就能驅(qū)動兩個電機的運行,通過對這兩個電機軸移動量的檢測,將位移偏差反饋到控制器并獲得同步補償,這樣能使兩個軸之間的位移偏差量控制在精度允許范圍內(nèi)。
電子齒輪連接的是脈沖個數(shù),例如主從軸連接比例為1:5,給主軸發(fā)送1個脈沖,此時對應(yīng)給從軸發(fā)送5個脈沖。
CONNPATH與CONNECT的相同點:二者的使用語法相同,連接的都是脈沖個數(shù),CONNPATH連接到單個軸的運動的效果與CONNECT相同。
CONNPATH與CONNECT的區(qū)別:CONNECT連接的是單個軸的目標(biāo)位置。CONNPATH是連接的是插補軸的矢量長度,此時需要連接在插補運動的主軸上,連接到插補從軸上無法跟隨插補運動。CONNPATH會跟蹤XY軸插補的的矢量長度變化,而不是跟蹤單獨的X軸或者Y軸。
語法:CONNECT/CONNPATH(比率,被連接軸) AXIS(連接軸)
電子齒輪的連接比率:比率可正可負,可為小數(shù),連接的是脈沖個數(shù),要考慮不同軸UNITS的比例。比率可以通過重復(fù)調(diào)用CONNECT/CONNPATH指令動態(tài)變化(連接成功后保持連接狀態(tài)),取消連接時用CANCEL或RAPIDSTOP指令。
→假設(shè)連接軸0的UNITS為10,被連接軸1的UNITS為100,使用CONNECT連接,比率ratio為1,CONNECT(1,1) AXIS(0)
當(dāng)軸1運動S1=100時,軸0運動S0=S1*UNITS(1)*ratio/UNITS(0)=100*100*1/10,此時運動1000。
例子:
RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
ATYPE=1,1
UNITS=10,100
DPOS=0,0
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100
TRIGGER '自動觸發(fā)示波器
MOVE(100) AXIS(1) '軸1運動100,此時軸0不動
WAIT IDLE(1) '上一段運動不連接
DELAY(10) '延時10ms
CONNECT(0.5,1) AXIS(0) '軸0連接到軸1,比例為0.5
MOVE(100) AXIS(1) '軸1運動100,軸0運動500
END
軸0目標(biāo)位置:
DPOS(0)=DPOS(1)*UNITS(1)*ratio/UNITS(0)=100*100*0.5/10=500。
運動波形如圖所示:

(2)電子凸輪
凸輪的作用是將旋轉(zhuǎn)運動轉(zhuǎn)換為線性運動,包括直線運動、擺動、勻速運動和非勻速運動。電子凸輪屬于多軸同步運動,這種運動是基于主軸外加一個或多個從軸系統(tǒng),是在機械凸輪的基礎(chǔ)上發(fā)展而來,電子凸輪多用于周期性的曲線運動場合。
電子凸輪是利用構(gòu)造的凸輪曲線來模擬機械凸輪,以達到與機械凸輪系統(tǒng)相同的凸輪軸與主軸之間相對運動的軟件系統(tǒng),通過控制器控制伺服電機來模擬機械凸輪的功能,不需要另外安裝如下左圖所示的凸輪機械結(jié)構(gòu)。
如下右圖所示,機械凸輪按照凸輪的輪廓可以得出一段轉(zhuǎn)動角度與加工位置運動軌跡,此軌跡為弧線,將該段弧線分解成無數(shù)個直線或圓弧軌跡,組合起來得到一串趨近于該弧線的運動軌跡,電子凸輪直接將此段軌跡運動參數(shù)裝入運動指令,即可控制軸走出目標(biāo)軌跡。

電子凸輪用軟件來控制信號,改變程序的相關(guān)運動參數(shù)就能改變運動曲線,應(yīng)用靈活性高,工作可靠,操作簡單,不需要額外安裝機械構(gòu)件,因而不存在磨損的情況。
凸輪指令有CAM凸輪表運動,CAMBOX跟隨凸輪表運動,MOVELINK和MOVESLINK自動凸輪運動。
以CAM凸輪表運動指令為例,所謂凸輪表運動就是將凸輪運動的軌跡點,以數(shù)據(jù)的形式存儲在TABLE寄存器區(qū)域,CAM指令再調(diào)用TABLE表的數(shù)據(jù)運動,形成運動軌跡,凸輪軸需要與其他軸配合使用,才能做柔順曲線加工。
兩個或多個CAM指令可以同時使用同一段TABLE數(shù)據(jù)區(qū)進行操作。TBALE數(shù)據(jù)需要手動設(shè)置,第一個數(shù)據(jù)為引導(dǎo)點,建議設(shè)為0。
凸輪表指令運動完調(diào)用的TABLE數(shù)據(jù)點后,凸輪運動結(jié)束,需要周期執(zhí)行的場合,將凸輪表指令寫在WHILE循環(huán)中。
CAM指令含義:根據(jù)存儲在TABLE中的數(shù)據(jù)來決定軸的運動,這些TABLE數(shù)據(jù)值對應(yīng)運動軌跡的位置,是相對于運動起始點的絕對位置。
指令語法:CAM(start point, end point, table multiplier, distance)
參數(shù) |
說明 |
start point |
起始點TABLE編號,存儲第一個點的位置 |
end point |
結(jié)束點TABLE編號 |
table multiplier |
位置乘以這個比例,一般設(shè)為脈沖當(dāng)量值,TABLE數(shù)據(jù)*table multiplier值=實際發(fā)出的脈沖數(shù) |
link_distance |
參考軸運動的距離,總時間=distance/軸speed |
電子凸輪例程:
RAPIDSTOP(2)
WAIT IDLE(0)
BASE(0) '選擇第0軸
ATYPE=1 '脈沖方式步進或伺服
DPOS = 0
UNITS = 100 '脈沖當(dāng)量
SPEED = 200
ACCEL = 2000
DECEL = 2000
'計算TABLE的數(shù)據(jù)
DIM deg, rad, x, stepdeg
stepdeg = 2 '可以通過這個來修改段數(shù),段數(shù)越多速度越平穩(wěn)
FOR deg=0 TO 360 STEP stepdeg
rad = deg * 2 * PI/360 '轉(zhuǎn)換為弧度
X = deg * 25 + 10000 * (1-COS(rad)) '計算每小段位移
TABLE(deg/stepdeg,X) '存儲TABLE
TRACE deg/stepdeg,X
NEXT deg
TRIGGER '觸發(fā)示波器采樣
WHILE 1 '循環(huán)運動
CAM(0, 360/stepdeg, 0.1, 300) '虛擬跟蹤總長度300
WAIT UNTIL IDLE '等待運動停止
WEND
END
運動軌跡如下圖:每個凸輪指令運動總時間=distance/speed=300/200=1.5s

五、運動取消
在實際生產(chǎn)過程中遇到緊急情況和一些意外情況我們需要讓軸運動及時的停下來,這時候我們就需要發(fā)送運動取消指令給控制器取消軸的運動,防止意外事故的發(fā)生。
運動取消分針對單軸的指令CANCEL和針對所有軸的指令RAPIDSTOP,兩個指令功能相同,唯一不同的是一個針對單個軸,一個是針對所有軸的,故單軸取消在使用的時候養(yǎng)成添加軸號的習(xí)慣,否則可能作用到其他軸上。
語法:CANCEL(模式)或RAPIDSTOP(模式)
模式值 |
說明 |
0(缺?。?/p> |
取消當(dāng)前運動,緩沖運動還能執(zhí)行 |
1 |
取消緩沖的運動,當(dāng)前運動執(zhí)行完停止 |
2 |
取消當(dāng)前運動和緩沖區(qū)的運動,軸立即停止 |
3 |
立即中斷脈沖發(fā)送,軸立即停止 |
模式2急停的減速度按FASTDEC快減速和DECEL減速度中最大的值,使用指令之后要調(diào)用絕對位置運動,必須先WAIT IDLE 等待停止完成。
RAPIDSTOP(2)
WAIT IDLE(0)
BASE(0)
DPOS=0
ATYPE=1
UNITS=10000
SPEED=500
ACCEL=1000
DECEL=1000 '減速度
FASTDEC=10000 '快減速
TRIGGER
MOVE(1000) '當(dāng)前運動
MOVE(-1000) '緩沖運動
DELAY(1000) '延時1s后CANCEL生效
CANCEL(0)
END
CANCEL(0)效果如下:
MOVE(1000)執(zhí)行1s之后被取消,緩沖運動繼續(xù)運行。

CANCEL(1)效果如下:
MOVE(1000)執(zhí)行完,緩沖運動被取消。

CANCEL(2)效果如下:MOVE(1000)執(zhí)行1s之后急停,急停減速度FASTDEC。

CANCEL(3)效果如下:
MOVE(1000)執(zhí)行1s之后急停。

本次,正運動技術(shù)經(jīng)濟型EtherCAT運動控制器(八):軸參數(shù)與運動指令,就分享到這里。
審核編輯:湯梓紅
-
控制器
+關(guān)注
關(guān)注
114文章
17113瀏覽量
184322 -
運動控制器
+關(guān)注
關(guān)注
2文章
450瀏覽量
25291 -
EtherCAT總線
+關(guān)注
關(guān)注
5文章
82瀏覽量
5722
發(fā)布評論請先 登錄
單軸運動控制器CT1101/包裝機控制器開發(fā)/深圳專業(yè)控制器設(shè)計
單軸運動控制器CT1102/包裝機控制器開發(fā)/包裝設(shè)備控制器
一種基于MCX514的四軸運動控制器設(shè)計方案
正運動技術(shù)運動控制器EtherCAT總線快速入門
四元數(shù)數(shù)控:深圳運動控制器是怎么工作的?
PCL6143運動控制器原理及應(yīng)用
MCX314As型四軸運動控制器原理及應(yīng)用

DMC660MF六軸運動控制器的示教系統(tǒng)的簡易說明

基于運動控制芯片MCX314As的多軸運動控制器的設(shè)計
全國產(chǎn)EtherCAT運動控制邊緣控制器(四):軸參數(shù)配置與單軸運動PC上位機C++控制

EtherCAT運動控制邊緣控制器ZMC432H的軸參數(shù)配置和單軸運動控制

評論