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