今天分享一下運動控制器軸回零的配置與實現(xiàn)。本文主要介紹控制器提供的回零模式,驅(qū)動器自身的回零模式我們將在下篇為大家講解。 ? ?
01 軸回零
一、回零說明
在高精度自動化設(shè)備上都有自己的參考坐標(biāo)系,工件的運動可以定義為在坐標(biāo)系上的運動,坐標(biāo)系的原點即為運動的起始位置,各種加工數(shù)據(jù)都是以原點為參考點計算的。
所以啟動控制器執(zhí)行運動指令之前,設(shè)備都要進行回零操作,回到設(shè)定的參考坐標(biāo)系原點,若不進行回零操作,會導(dǎo)致后續(xù)運動軌跡錯誤。
正運動控制器提供了多種回零方式,通過DATUM單軸回零指令設(shè)置,不同模式值選擇不同的回零方式,各軸按照設(shè)置回零的方式自動回零。
DATUM指令為單軸回零指令,每次作用在一個軸上,多軸回零時,需要對每個軸都使用DATUM指令回零。
回零時機臺需要接入原點開關(guān)(指示原點的位置的到位傳感器)和正負限位開關(guān)(均為傳感器,傳感器檢測到信號后,表示有輸入信號,傳給控制器處理)。
單軸找原點時,原點開關(guān)通過DATUM_IN設(shè)置,正負限位開關(guān)分別通過FWD_IN和REV_IN設(shè)置??刂破髡?負限位信號生效后,會立即停止軸,停止減速度為FASTDEC。
設(shè)備回零方式有控制器回零和伺服參數(shù)回零。
控制器回零是把零點位置傳感器連接到運動控制器上,控制器通過搜索零點傳感器位置回零點。本文主要介紹控制器提供的回零模式。
伺服參數(shù)回零是將零點傳感器連接到伺服驅(qū)動器上,控制器通過發(fā)送命令給伺服驅(qū)動器,伺服驅(qū)動器進行回零的操作。驅(qū)動器自身的回零模式請參考下篇。
二、回零相關(guān)指令
運動控制器回零常用的相關(guān)指令如下表所示。
命令 | 含義 | 說明 |
DATUM | 回原點指令 | 單軸找原點運動 |
DATUM_IN | 映射原點開關(guān)信號 | 通用輸入口設(shè)置為原點開關(guān)信號,-1無效 |
SPEED | 運動速度 | 找原點開關(guān)的速度 |
CREEP | 反向爬行速度 | 軸回零時的反向爬行速度 |
HOMEWAIT | 回零反找延時 | 回原點運動,當(dāng)反找時要等待一定時間 |
FWD_IN | 映射正限位輸入 | 正向限位開關(guān),限制軸的行程范圍 |
REV_IN | 映射負限位輸入 | 負向限位開關(guān),限制軸的行程范圍 |
INVERT_IN | 輸入信號電平反轉(zhuǎn) | 根據(jù)實際的光電開關(guān)常開常閉確定 |
AXISSTATUS | 軸狀態(tài) | 查看軸當(dāng)前的狀態(tài) |
1.回零指令DATUM
DATUM是運動控制器的回零指令,相關(guān)回零搜索模式很多,根據(jù)當(dāng)前軸所處的位置或效率要求選擇合適的模式,DATUM指令指令后軸開始運動,搜尋原點信號,遇到原點信號后自行停止,將當(dāng)前的位置清零,回零成功,詳情參見下節(jié)說明。
語法:DATUM(模式)
2.映射原點輸入DATUM_IN
運動控制器原點開關(guān)的設(shè)置,對應(yīng)輸入口IN信號。
語法:DATUM_IN = 輸入口編號,-1取消映射
對于ZMC系列的控制器,由于輸入OFF時認(rèn)為有信號輸入(ECI系列控制器與之相反),原點和正負限位開關(guān)等特殊信號映射完成需要INVERT_IN反轉(zhuǎn)輸入信號。
3.回零速度SPEED、CREEP
回零運動中為了更精確的找到零點,會使用爬行速度CREEP和軸運行速度SPEED來進行原點搜尋,SPEED設(shè)置相對大一些,用于快速搜尋原點開關(guān)的位置,CREEP一般為較小值,爬行到原點開關(guān)處停止,回零成功。
語法:SPEED = 數(shù)值
語法:CREEP = 數(shù)值
4.正負限位FWD_IN、REV_IN
硬限位開關(guān)是限制軸的最大“允許行進范圍”的限位開關(guān)。硬限位開關(guān)是物理開關(guān)元件,硬限位開關(guān)由指令映射到相應(yīng)輸入開關(guān)信號上,根據(jù)開關(guān)信號是常開還是常閉確定是否要對信號進行翻轉(zhuǎn),設(shè)置完成后,碰到硬限位開關(guān),對應(yīng)軸立即停止運動,停止減速度為FASTDEC。
軟限位開關(guān)將限制軸的“工作范圍”,由指令直接設(shè)置限位位置,軸走到設(shè)置位置后立即采用減速度FASTDEC停止運動,它們應(yīng)位于機床限制行進范圍的相關(guān)硬限位開關(guān)的內(nèi)側(cè)。由于軟限位開關(guān)的位置較為靈活,因此可根據(jù)當(dāng)前的運行軌跡和具體要求調(diào)整軸的工作范圍。
工作臺碰到限位開關(guān)或者規(guī)劃位置超越軟限位時,運動控制器緊急停止工作臺的運動。限位觸發(fā)以后,軸無法繼續(xù)運動,此時需要調(diào)整軸的位置,使其遠離限位位置才能重新開始運動。
軸在碰到限位的時候才會產(chǎn)生停止信號,此時由于減速需要一定的時間,實際軸的位置會越過限位一定距離,假設(shè)停止時SPEED速度是v0,快減速FASTDEC為a,計算公式:
(vt)2-(v0)2=2as
帶入下方數(shù)據(jù):0-1002=2*(-1000)*s,得出減速的距離s=5,由此可得,增大FASTDEC和減小SPEED都能達到減小減速距離的目的,以防止過沖。
語法:
FWD_IN = 輸入口編號,-1取消映射
REV_IN = 輸入口編號,-1取消映射
5.回零反找延時HOMEWAIT
對脈沖方式的伺服驅(qū)動器,部分回零模式碰到原點信號之后停止,由于找原點SPEED速度較快產(chǎn)生過沖,停止之后需延時之后在CREEP速度反向找原點,控制器默認(rèn)值為延時2ms。
需要運行更平穩(wěn)的場合可適當(dāng)增加反找延時。
語法:HOMEWAIT=數(shù)值(毫秒單位)
6.軸狀態(tài)AXISSTATUS
查看軸當(dāng)前的狀態(tài),可以查詢控制器是否處于回零狀態(tài),遇到限位開關(guān)或軟件限位將會產(chǎn)生報警提示。 AXISSTATUS的值對應(yīng)的說明如下,同時發(fā)生多種錯誤,用組合值表示。
位 | 說明 | 打印值 | |
1 | 隨動誤差超限告警 | 2 | 2h |
2 | 與遠程軸通訊出錯 | 4 | 4h |
3 | 遠程驅(qū)動器報錯 | 8 | 8h |
4 | 正向硬限位 | 16 | 10h |
5 | 反向硬限位 | 32 | 20h |
6 | 找原點中 | 64 | 40h |
7 | HOLD速度保持信號輸入 | 128 | 80h |
8 | 隨動誤差超限出錯 | 256 | 100h |
9 | 超過正向軟限位 | 512 | 200h |
10 | 超過負向軟限位 | 1024 | 400h |
11 | CANCEL執(zhí)行中 | 2048 | 800h |
12 | 脈沖頻率超過MAX_SPEED限制.需要修改降速或修改MAX_SPEED | 4096 | 1000h |
14 | 機械手指令坐標(biāo)錯誤 | 16384 | 4000h |
18 | 電源異常 | 262144 | 40000h |
19 | 精準(zhǔn)輸出緩沖溢出 | 524288 | 80000h |
21 | 運動中觸發(fā)特殊運動指令失敗 | 2097152 | 200000h |
22 | 告警信號輸入 | 4194304 | 400000h |
23 | 軸進入了暫停狀態(tài) | 8388608 | 800000h |
打印信息如下:表示在軸0回零過程中碰到正向限位開關(guān)后停止軸運動,并打印軸狀態(tài)報警提示,解除報警可以將軸反向運動,離開限位開關(guān)即可。
Axis:0 AXISSTATUS:50h,FWD 如下圖,可通過軸狀態(tài)窗口實時的監(jiān)控AXISSTATUS。
三、回零模式詳解
語法:DATUM(模式)
模式 | 描述 |
0 | 清除所有軸的錯誤狀態(tài) |
1 | 軸以CREEP速度正向運行直到Z信號出現(xiàn),碰到限位開關(guān)會直接停止,DPOS值重置為0同時糾正MPOS。 |
2 | 軸以CREEP速度反向運行直到Z信號出現(xiàn),碰到限位開關(guān)會直接停止,DPOS值重置為0同時糾正MPOS。 |
3 | 軸以SPEED速度正向運行,直到碰到原點開關(guān),然后軸以CREEP速度反向運動直到離開原點開關(guān)。找原點階段碰到正限位開關(guān)會直接停止,爬行階段碰到負限位開關(guān)會直接停止,DPOS值重置為0同時糾正MPOS。 |
4 | 軸以SPEED速度反向運行,直到碰到原點開關(guān),然后軸以CREEP速度正向運動直到離開原點開關(guān)。找原點階段碰到負限位開關(guān)會直接停止,爬行階段碰到正限位開關(guān)會直接停止。DPOS值重置為0同時糾正MPOS。 |
5 |
軸以SPEED速度正向運行,直到碰到原點開關(guān),然后軸以CREEP速度反向運動直到離開原點開關(guān),然后再繼續(xù)以爬行速度反轉(zhuǎn)直到碰到Z信號。碰到限位開關(guān)會直接停止, DPOS值重置為0同時糾正MPOS。 |
6 |
軸以SPEED速度反向運行,直到碰到原點開關(guān),然后軸以CREEP速度正向運動直到離開原點開關(guān),然后再繼續(xù)以爬行速度正轉(zhuǎn)直到碰到Z信號。碰到限位開關(guān)會直接停止。 DPOS值重置為0同時糾正MPOS |
8 | 軸以SPEED速度正向運行,直到碰到原點開關(guān),碰到限位開關(guān)會直接停止。 |
9 | 軸以SPEED速度反向運行,直到碰到原點開關(guān),碰到限位開關(guān)會直接停止。 |
21 |
使用EtherCAT驅(qū)動器回零功能,此時mode2有效。 設(shè)置驅(qū)動器回零方式(6098h),缺省0表示使用驅(qū)動器當(dāng)前的回零方式。會使用軸的SPEED, CREEP, ACCEL, DECEL,乘以UNITS后自動設(shè)置驅(qū)動器的 6099h,609Ah 動作時序:6098回零方式→6099速度→609A加速度→6060切換當(dāng)前模式。 |
表的模式+10(10+n)表示碰到限位后反找,不會碰到限位停止,例如DATUM(13)?= DATUM(3+10),使用DATUM(13)的回零方式,碰到正限位后不停止,而是反向運行,多用于原點在正中間的情況。
表的模式+100(模式100+n和110+n分別對應(yīng)n和10+n),表示回零成功之后,自動清零MPOS,例如DATUM(103)、DATUM(113),適用于ATYPE=4,接入編碼器后可以自動清零MPOS(僅限4系列),其他的模式自動清零DPOS,MPOS需要手動清零。 ? ?
02 控制器回零模式
下面以上表最基礎(chǔ)的幾種模式展開詳細講解。 縱軸V為運動速度,橫軸S為相對運動起始點的距離。 ? ?
1.回零模式1
DATUM(1)軸以CREEP速度正向運行,直到Z信號出現(xiàn)后開始減速,停止后所處位置為零點,此時將DPOS值重置為0,回零途中若碰到限位開關(guān)會直接停止。
回零模式2與模式1找原點運動方向相反。
2.回零模式3
DATUM(3)軸以SPEED速度快速正向運行,直到碰到原點開關(guān)后開始減速,減速到0之后再反向以CREEP速度找原點,再次碰到原點之后減速停止,軸停止之后將DPOS值重置為0,當(dāng)前所處位置為零點,回零途中若碰到限位開關(guān)會直接停止。 回零模式4與模式3找原點運動方向相反。
3.回零模式5
DATUM(5)軸以SPEED速度快速正向運行,直到碰到原點開關(guān)后開始減速,減速到0之后再反向以CREEP速度運動,直到Z信號出現(xiàn)之后減速停止,遇到Z信號立即減速停止,停止的位置為零點,將DPOS值重置為0,回零途中若碰到限位開關(guān)會直接停止。
回零模式6與模式5找原點運動方向相反。
4.回零模式8
DATUM(8)軸以SPEED速度快速正向運行,直到碰到原點開關(guān)后開始減速,減速到0之后便將DPOS值重置為0,停止后所處位置為零點,回零途中若碰到限位開關(guān)會直接停止。
回零模式9與模式8找原點運動方向相反。
5.回零模式13
DATUM(13)軸以SPEED速度快速正向運行,若先碰到限位開關(guān),不會報警停止,以SPEED速度反向找原點,遇到原點信號后減速為CREEP直到離開原點開關(guān)立即停止,回零成功,位置清零;若先碰到原點信號,則與模式3相同。
回零模式14與模式13找原點運動方向相反。
03 控制器回零方式
1.模式3單軸回零示例:
?
BASE(0) DPOS=0 ATYPE=1 SPEED = 100 '找原點速度 CREEP = 10 '找到原點后反向爬行速度 ACCEL=1000 DECEL=1000 SRAMP=100 '加減速平滑 DATUM_IN=0 '輸入IN0作為原點開關(guān) INVERT_IN(0,ON) '反轉(zhuǎn)IN0電平信號,常開信號進行反轉(zhuǎn) TRIGGER '自動觸發(fā)示波器 DATUM(3) '模式3回零方式運行效果如下圖:
?
正在找原點時軸狀態(tài)AXISSTATUS顯示40h,回零成功變?yōu)?h。
如下圖,軸0以SPEED = 100的速度正向運行,直到碰到原點開關(guān)信號IN(0),然后以CREEP = 10的速度反向運動,直到再次離開原點開關(guān)的位置時停下,此時回零完成,軸的DPOS自動置0,若中途碰到限位開關(guān),軸立即停止。
2.DATUM(13)模式,對比DATUM(3),碰到限位開關(guān)軸不停止,而是反向找原點,如下示例:
?
BASE(0) DPOS=0 ATYPE=1 SPEED = 100 '找原點速度 CREEP = 10 '找到原點后反向爬行速度 ACCEL=1000 DECEL=1000 SRAMP=100 '加減速平滑 DATUM_IN=0 '輸入IN0作為原點開關(guān) FWD_IN=1 '輸入IN1作為正限位開關(guān) INVERT_IN(0,ON) '反轉(zhuǎn)IN0電平信號,常開信號進行反轉(zhuǎn) INVERT_IN(1,ON) '反轉(zhuǎn)IN1電平信號,常開信號進行反轉(zhuǎn) TRIGGER '自動觸發(fā)示波器 DATUM(13) '模式3回零方式
?
運行效果如下圖:
正在找原點時軸狀態(tài)AXISSTATUS顯示40h,回零成功變?yōu)?h,原點開關(guān)和限位開關(guān)的映射也可在軸參數(shù)窗口查看。
如下圖,軸0以SPEED = 100的速度正向運行,碰到正向限位開關(guān)IN(1),開始反向找原點開關(guān)信號,直到碰到原點開關(guān)信號IN(0),然后以CREEP = 10的速度反向運動,直到再次離開原點開關(guān)的位置時停下,此時回零完成,軸的DPOS自動置0。
審核編輯:劉清
評論
查看更多