0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

正運動技術(shù)運動控制器如何快速實現(xiàn)單軸/多軸同步跟隨功能?

正運動技術(shù) ? 來源:正運動技術(shù) ? 作者:正運動技術(shù) ? 2023-05-31 09:52 ? 次閱讀

本文主要介紹如何使用MOVESYNC指令快速實現(xiàn)單軸/多軸同步跟隨功能,適用于XYZ(R)、SCARA、DELTA等常見機械結(jié)構(gòu),在流水線點膠、流水線產(chǎn)品分揀、流水線產(chǎn)品搬運等場景中廣泛應(yīng)用。

閱讀本文,學習同步跟隨的原理和實現(xiàn)方法,提高工作效率!


01 同步跟隨功能介紹


同步跟隨的主要作用是快速控制運動機構(gòu),實現(xiàn)產(chǎn)線上產(chǎn)品的同步和跟隨,再輔助其他運動指令實現(xiàn)產(chǎn)線產(chǎn)品的抓取、分揀、點膠等功能需求;

同步跟隨的功能主要由MOVESYNC指令實現(xiàn),該指令方便用戶通過程序快速實現(xiàn)單軸或多軸同步跟隨功能,實現(xiàn)多皮帶抓取擺放,屬于凸輪指令的一種。

常用場景為:流水線點膠、流水線產(chǎn)品分揀、流水線產(chǎn)品搬運等。

常見機械結(jié)構(gòu):XYZ (R)、SCARA、DELTA等。

poYBAGR2pouARSLvAAITGS-wrkg810.png

02 MOVESYNC指令說明

1、指令介紹

同步跟隨是指點的跟隨,跟隨的是位置,皮帶與跟隨軸的位置之間由算子去協(xié)調(diào)位置關(guān)系,需要處理的僅僅是第一個跟隨時刻的位置。

MOVESYNC指令內(nèi)重要參數(shù)是給出皮帶的位置和跟隨軸的位置,只需要把跟隨點跟隨的這個“時刻”靜態(tài)化處理就行,即可以想象成當皮帶上物體到了傳感器mark位置時刻皮帶停止了。

跟隨軸這個時候移動到達產(chǎn)品mark點,這個時刻得到了兩組坐標位置:

第一組:皮帶的位置syncposition。

第二組:跟隨軸的位置pos1,只需要將這兩個位置對應(yīng)填進指令內(nèi)即可,算子會自動計算規(guī)劃兩者位置,保證兩者相對靜止。

2、指令函數(shù)語法

MOVESYNC(mode,synctime,syncposition,syncaxis,pos1[,pos2, pos3…])

支持單軸或多軸同步跟隨。

3、一般使用形式

base(0,1,2) //指定參與同步跟隨軸號,這里以0,1,2為例

MOVESYNC (mode,加速時間,syncposition,syncaxis,pos1,pos2, pos3) //加速段

MOVESYNC(mode,同步時間,syncposition,syncaxis,pos1,pos2, pos3) //同步段

MOVESYNC(mode,減速時間,syncposition,syncaxis,pos1,pos2, pos3) //減速段(復(fù)位段)

一個完整的跟隨過程分為三步,加工頭先加速達到與皮帶相同的速度,實現(xiàn)了同步運動,在同步段完成加工操作,然后加工頭再回到等待位置,等待下一次觸發(fā)加工。觸發(fā)條件采用傳感器檢測來料,記錄來料的位置,填入MOVESYNC指令。

4、指令參數(shù)說明

(1)mode:模式

加速段和同步段一般使用模式0,一般是在X軸方向跟隨,減速段一般使用模式-2(可以強制結(jié)束前面的跟隨運動)。

模式

描述

-1

同步結(jié)束模式,運動到指定的絕對位置,此模式運動如果后面緊接著其它MOVESYNC指令,會被覆蓋,此模式下syncaxis無效

-2

強制結(jié)束模式,調(diào)用時強制停止原來的MOVESYNC,運動到指定結(jié)束位置,此模式運動如果后面緊接著其它MOVESYNC指令,會被覆蓋,此模式下syncaxis無效

0

BASE第1個軸(x)跟隨皮帶軸物體

10

BASE第2個軸(y)跟隨皮帶軸物體

20

BASE第3個軸跟隨皮帶軸物體

特別說明:當跟隨的產(chǎn)線與機臺存在夾角時使用模式0,并且加上機臺與產(chǎn)線的夾角的弧度值實現(xiàn)跟隨偏斜補償,例:mode=0+angle,angle:皮帶旋轉(zhuǎn)角度,角度=皮帶與BASE第1/2軸的正向旋轉(zhuǎn)夾角。例如:

① Mode=PI/4,皮帶在45度的方向;

② Mode=PI/2,皮帶在y方向;

③ Mode=PI,皮帶在x負向;

④ Mode=(PI*1.75),皮帶在-45度的方向;

(2)synctime:同步時間,時間單位ms,同步時間一般分為三段

加速段時間多久代表機臺跟隨軸加速達到產(chǎn)線速度,并且跟上目標產(chǎn)品,0表示根據(jù)運動軸的速度加速度來估計同步時間,可能不準確,一般相對設(shè)置長點,確保能實現(xiàn)同步;同步段時間表示跟隨產(chǎn)品運動多長時間,抓取等動作在此期間完成,一般相對設(shè)置較長,保證動作完成;減速段時間表示多久回到指定位置,一般減速段時間和加速段一樣,推薦使用-2模式;

(3)syncposition:皮帶軸物體被感應(yīng)到時皮帶軸的位置

特別說明:此指令支持皮帶軸坐標循環(huán),但是在指令被調(diào)用時確保此參數(shù)位置和當前皮帶軸位置之間沒有發(fā)生坐標修改或循環(huán)操作,因此此指令調(diào)用時不要在坐標循環(huán)點附近;

(4)syncaxis:皮帶軸軸號,-1表示沒有皮帶軸,可以是電機軸,也可以是編碼器

(5)pos1:皮帶軸物體被感應(yīng)到時的BASE第1個軸(一般是跟隨軸)的絕對位置

(6)posn:皮帶軸物體被感應(yīng)到時的BASE第n個軸的絕對位置

5、指令使用圖解(單軸為例)

movesync指令只需要給出同步跟隨觸發(fā)時的幾個軸的位置參數(shù)即可,作為啟動同步跟隨的條件,再加速達到同步之后執(zhí)行加工。首先構(gòu)思搭建一個跟隨模型,如下:

poYBAGR2pyeACKYrAAHfh6A78dg347.png

假設(shè)當產(chǎn)品到傳感器位置時實現(xiàn)跟隨;借助傳感器的信號實現(xiàn)皮帶位置鎖存,即當產(chǎn)品到達傳感器鎖存的位置時,依靠鎖存記錄下皮帶坐標(syncposition參數(shù)),此時將跟隨軸X軸運行到產(chǎn)品鎖存點位置,得到跟隨軸X軸位置為(pos1);

這樣就得到了MOVESYNC指令里面的坐標位置,即同步時刻皮帶的位置(syncposition)、跟隨軸的位置(pos1),再根據(jù)實際運行情況規(guī)劃出加速段的時間、同步段的時間和減速段的時間,指令運行即可實現(xiàn)一次同步跟隨過程。

03 主代碼

下面示例以單軸跟隨為例子,輔助以感應(yīng)器作為位置記錄條件。

在沒有機臺的情況下,可手動給鎖存信號,模擬檢測到物料,記錄同步運動指令要填寫的位置信息,在HMI界面上點擊啟動開始執(zhí)行同步運動,程序的主要函數(shù)調(diào)用關(guān)系如下圖。

pYYBAGR2pzyAOrPAAAFU8eczA9k321.png

配置HMI界面便于操作,支持修改軸參數(shù),靈活調(diào)整同步跟隨各階段的時間,通過手動運動操作跟隨軸到等待觸發(fā)同步運動的位置,并記錄下來跟隨軸的當前位置,然后啟動皮帶軸的運動,在運動中手動給傳感器信號,觸發(fā)同步運動,跟隨軸在MOVESYNC指令的控制下完成一次同步跟隨動作。界面顯示了皮帶軸和跟隨軸的位置信息,并且方便配置軸的基礎(chǔ)參數(shù),同步運動加速,同步和減速段的時間。

poYBAGR2p0OAZ83NAACUhfTzAnc812.png

HMI操作步驟:

第一次運行,需要進行對位操作,確認跟隨軸的位置,點擊產(chǎn)品到位,模擬產(chǎn)品放到了傳送帶上開始運動,到達鎖存位置停止,將跟隨軸移動到產(chǎn)品位置處停下。記錄下跟隨軸此時的坐標,此坐標MOVESYNC指令將會用到。

配置軸號,軸的運動參數(shù),合理設(shè)置三段運動的時間。

⊙點擊啟動,傳送帶運行,通過模擬信號給來料檢測信號,觸發(fā)鎖存得出皮帶軸坐標,觸發(fā)同步跟隨開始。

注意:此例程因為用到了硬件鎖存功能,需要在控制器平臺運行,沒有傳感器時,可以將OUT口短接到IN口,通過OP指令模擬傳感器鎖存信號的輸入,示例將OUT0接入IN0。

鎖存函數(shù):依靠鎖存?zhèn)鞲衅鳈z測來料,觸發(fā)同步跟隨運動,鎖存功能記錄開始跟隨時,鎖存皮帶軸位置,記錄下當前同步軸的位置信息,傳入MOVESYNC指令參數(shù)。

global sub get_mark_pos(mode) '使用3或者4,其他方式修改等待條件和獲取的數(shù)據(jù)寄存器,reg_pos
   REG_INPUTS(belt_axis) = $0000    '映射皮帶鎖存輸入
   reg_count = 0
   DMSET mark_flag(0,100,-1)   '每次開始前清空標志,避免誤判
   WHILE 1
       base(belt_axis)REGIST(mode)axis(belt_axis)
       wait until mark
       if reg_count >= 100 then     '位置數(shù)組循環(huán)存儲值判斷
           reg_count = 0
       endif
       mark_pos(reg_count) = REG_POS
       ?REG_POS
       mark_flag(reg_count) = 1
       reg_count = reg_count + 1
   wend
endsub

同步跟隨函數(shù):依靠鎖存函數(shù)給的參數(shù),設(shè)置跟隨時間,執(zhí)行同步跟隨動作,分為加速、同步和減速回原位置三個階段,注意每個階段的時間規(guī)劃合理,完成一個跟隨步驟之后等待觸發(fā)下一次跟隨。

global sub run_sync()
   base(sync_axis)
   move_count = 0   '運動計數(shù)清0
   TABLE(10) = -1    '以table 10 的值,作為同步結(jié)束標志
   WHILE 1
       if move_count >= 100 then    '循環(huán)
           move_count = 0
       endif
       if mark_flag(move_count) = 1 then    '判斷是否有產(chǎn)品觸發(fā)
           if abs(sync_star_dis + mark_pos(move_count)) >= abs(mpos(belt_axis)) then     '尚在有效觸發(fā)距離內(nèi),即可以跟隨
               '開始跟隨
               '第一段:加速段(追趕段)     跟隨模式看機構(gòu)具體而定,一般皮帶編碼器方向與跟隨軸運動方向一致就用0 反方向就用 0 + pi/2
               MOVESYNC(0, accel_time, mark_pos(move_count), belt_axis, sync_pos)
               '第二段:同步段與加速段唯一不同是時間
               MOVESYNC(0, sync_time, mark_pos(move_count), belt_axis, sync_pos)
               '此處可以開啟線程去操作其他動作
               '使用 move_task 指令操作
               '用table 10 的值來作為其他運動的結(jié)束標志,這里使用move_table,是為了使同步完全結(jié)束,后面開發(fā)時可以將MOVE_TABLE放在其他運動的線程里面使用
               MOVE_TABLE(10,10)
           elseif abs(sync_star_dis + mark_pos(move_count)) < abs(mpos(belt_axis)) then     '超出范圍,直接跳過,
               TABLE(10) = 10
               ?"跳過"
               '?abs(sync_star_dis + mark_pos(move_count)) , abs(mpos(belt_axis))
           endif
           '判斷結(jié)束
           wait UNTIL table(10) = 10
           '第三段:復(fù)位段   以當前位置為停止位置,可以添加變量設(shè)置待機位。
           MOVESYNC(-1, decel_time, mark_pos(move_count),-1, sync_pos)
           move_table(10,-1)   '結(jié)束標志復(fù)位
           mark_flag(move_count) = -1     '同步條件標志復(fù)位
           move_count = move_count + 1    '計數(shù)+ 1
       endif
   wend
endsub

04 運行效果

跟隨軸(軸0)跟隨皮帶(軸2)運動的速度曲線:加速段,同步段,減速回起點。

pYYBAGR2p6mAJtSDAACdJHN2h-M743.png

跟隨軸(軸0)跟隨皮帶(軸2)運動的位置曲線。

pYYBAGR2p7CAXteOAACdnrDDhLk843.pngpoYBAGR2p7qAAT1rAAE061PyIeY570.png代碼獲取地址

本次,正運動技術(shù)運動控制器如何快速實現(xiàn)單軸/多軸同步跟隨功能?就分享到這里。

更多精彩內(nèi)容請關(guān)注“正運動小助手”公眾號,需要相關(guān)開發(fā)環(huán)境與例程代碼,請咨詢正運動技術(shù)銷售工程師:400-089-8936。

本文由正運動技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學習,一起提高中國智能制造水平。文章版權(quán)歸正運動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 運動控制器
    +關(guān)注

    關(guān)注

    2

    文章

    388

    瀏覽量

    24593
收藏 人收藏

    評論

    相關(guān)推薦

    伺服控制同步精密運動

    這些方案來制造產(chǎn)品。圖1. 自動化機器控制系統(tǒng) 在伺服控制系統(tǒng)中實現(xiàn)同步精密
    發(fā)表于 01-25 16:48

    ST運動傳感模塊實現(xiàn)精確的運動檢測功能

    Benedetto Vigna表示:“作為業(yè)界唯一量產(chǎn)消費電子陀螺儀和加速計芯片的半導體公司,在MEMS技術(shù)廣泛用于消費電子產(chǎn)品產(chǎn)業(yè)化過程中,意法半導體又邁出一大步,推出業(yè)界首款封裝
    發(fā)表于 11-14 16:36

    通過實時網(wǎng)絡(luò)實現(xiàn)運動控制同步

    同步的新概念。所提出的技術(shù)能夠大幅改善同步,從而顯著提高控制性能。問題陳述和現(xiàn)有技術(shù)為了解釋現(xiàn)有解決方案的局限性,考慮一個兩
    發(fā)表于 03-30 09:38

    如何通過實時網(wǎng)絡(luò)實現(xiàn)運動同步控制?

    實時確定性以太網(wǎng)協(xié)議(例如EtherCAT)已經(jīng)能夠支持運動控制系統(tǒng)的同步運行。1 該同步
    發(fā)表于 09-11 11:51

    高性能運動控制器DMC2410功能簡介

    功能簡介高性能運動控制器DMC2410是一款基于PCI總線的高性能運動
    發(fā)表于 09-01 06:26

    運動技術(shù)運動控制器EtherCAT總線快速入門

    運動技術(shù)運動控制器EtherCAT 總線快速入門?! ∫曨l教程:《視頻教程:
    發(fā)表于 09-07 06:59

    ?運動控制器持續(xù)運動設(shè)置

    運動控制器有專用的持續(xù)運動控制指令,運動控制器持續(xù)發(fā)脈沖,
    發(fā)表于 02-17 14:03

    【資料】運動ZMC408SCAN控制器用戶手冊

    ZMC408SCAN 激光振鏡運動控制器運動技術(shù)推出的高性能總線雙振鏡運動
    發(fā)表于 05-10 15:06

    基于DSP的運動控制器的研究與設(shè)計

    基于DSP的運動控制器的研究與設(shè)計。
    發(fā)表于 03-29 14:11 ?6次下載

    GTN系列網(wǎng)絡(luò)運動控制器的數(shù)據(jù)手冊免費下載

    GTN系列網(wǎng)絡(luò)運動控制器是一款網(wǎng)絡(luò)型、模塊化的插卡式運動控制器。
    發(fā)表于 08-19 08:00 ?1次下載
    GTN系列<b class='flag-5'>多</b><b class='flag-5'>軸</b>網(wǎng)絡(luò)<b class='flag-5'>運動</b><b class='flag-5'>控制器</b>的數(shù)據(jù)手冊免費下載

    基于運動控制芯片MCX314As的運動控制器的設(shè)計

    以 TMS320LF2407A 和 MCX314As 運動控制芯片為核心硬件, 自主研發(fā)了基于 TMS320LF2407A 和 MCX314As 的
    發(fā)表于 05-19 15:17 ?24次下載

    運動激光振鏡運動控制器ZMC408SCAN用戶手冊

    ZMC408SCAN 激光振鏡運動控制器運動技術(shù)推出的高性能總線雙振鏡運動
    發(fā)表于 04-11 14:22 ?3次下載

    運動控制器如何快速實現(xiàn)/同步跟隨功能?

    本文主要介紹如何使用MOVESYNC指令快速實現(xiàn)/
    的頭像 發(fā)表于 06-19 11:15 ?2205次閱讀
    <b class='flag-5'>運動</b><b class='flag-5'>控制器</b>如何<b class='flag-5'>快速</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>單</b><b class='flag-5'>軸</b>/<b class='flag-5'>多</b><b class='flag-5'>軸</b><b class='flag-5'>同步</b><b class='flag-5'>跟隨</b><b class='flag-5'>功能</b>?

    全國產(chǎn)EtherCAT運動控制邊緣控制器(四):參數(shù)配置與運動PC上位機C++控制

    全國產(chǎn)EtherCAT運動控制邊緣控制器參數(shù)設(shè)置與
    的頭像 發(fā)表于 09-27 15:42 ?623次閱讀
    全國產(chǎn)EtherCAT<b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>(四):<b class='flag-5'>軸</b>參數(shù)配置與<b class='flag-5'>單</b><b class='flag-5'>軸</b><b class='flag-5'>運動</b>PC上位機C++<b class='flag-5'>控制</b>

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

    全國產(chǎn)EtherCAT運動控制邊緣控制器ZMC432H是運動的一款軟硬件全國產(chǎn)自主可控,運動
    的頭像 發(fā)表于 10-16 09:49 ?811次閱讀
    EtherCAT<b class='flag-5'>運動</b><b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>ZMC432H的<b class='flag-5'>軸</b>參數(shù)配置和<b class='flag-5'>單</b><b class='flag-5'>軸</b><b class='flag-5'>運動</b><b class='flag-5'>控制</b>