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

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

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

介紹控制器實(shí)現(xiàn)EtherCAT與RTEX驅(qū)動(dòng)器的回零及其配置

伺服與運(yùn)動(dòng)控制 ? 來源:正運(yùn)動(dòng)小助手 ? 作者:正運(yùn)動(dòng)技術(shù) ? 2022-11-29 15:22 ? 次閱讀

01 總線驅(qū)動(dòng)器回零模式

正運(yùn)動(dòng)控制器提供自己的回零模式,也支持使用EtherCAT總線驅(qū)動(dòng)器提供的回零模式,或RTEX總線驅(qū)動(dòng)器的提供的回零模式,均可使用DATUM指令實(shí)現(xiàn)回零,但采用的回零模式和配置方法與控制器提供的回零方式有所區(qū)別。

以上兩類總線驅(qū)動(dòng)器回零模式采用21,回零模式由總線驅(qū)動(dòng)器提供,參見驅(qū)動(dòng)器手冊說明。

語法:DATUM(21,驅(qū)動(dòng)器提供的回零模式) 總線驅(qū)動(dòng)器回零時(shí),除了模式需要采用驅(qū)動(dòng)器提供的,原點(diǎn)開關(guān)、正/負(fù)限位開關(guān)需要接入驅(qū)動(dòng)器的IO端子上,一般驅(qū)動(dòng)器IO端子有指定的HOME、POT,NOT用于回零,引腳需查看驅(qū)動(dòng)器手冊說明。

1.EtherCAT總線驅(qū)動(dòng)器

可使用EtherCAT總線驅(qū)動(dòng)器回零功能,DATUM(21,mode2),此時(shí)mode2有效,mode2為EtherCAT總線驅(qū)動(dòng)器6098h提供的原點(diǎn)回歸模式。

65fd1d86-6d1f-11ed-8abf-dac502259ad0.png

使用此模式需要參考驅(qū)動(dòng)器手冊的說明,找到手冊對應(yīng)的章節(jié),如上圖,配置驅(qū)動(dòng)器回零PDO所需要的功能,按照驅(qū)動(dòng)器手冊提供的信號接線方式完成開關(guān)信號的接線,將原點(diǎn)和正/負(fù)限位信號接在驅(qū)動(dòng)器IO指定的HOME、POT,NOT端子上,等待DATUM觸發(fā)回零即可。

66106be8-6d1f-11ed-8abf-dac502259ad0.png

示例:初始化完成后再運(yùn)行驅(qū)動(dòng)器回零程序。

BASE(iAxis)  '按驅(qū)動(dòng)器軸號逐個(gè)回零
AXIS_STOPREASON = 0
SPEED = 100 '回零速度
CREEP = 10  '反找速度
ACCEL = 1000
DATUM(21,2) '驅(qū)動(dòng)器回零模式value=2
WAIT IDLE
IF AXIS_STOPREASON = 0 THEN
    ?"回零成功"
ELSE
    ?"回零失敗"  ,"停止原因:",AXIS_STOPREASON,"狀態(tài)字0X",HEX(DRIVE_STATUS)
ENDIF

2.RTEX總線驅(qū)動(dòng)器

此模式下可使用RTEX總線驅(qū)動(dòng)器回零功能,此時(shí)mode2有效,回零模式查看驅(qū)動(dòng)器手冊即可(如下表)。 使用此模式原點(diǎn)和正負(fù)限位信號接在驅(qū)動(dòng)器指定IO上,等待DATUM觸發(fā)回零即可。

初始化模式 11h Z相
12h HOME↑*2
13h HOME↓*3
14h POT↑*2
15h POT↓*3
16h NOT↑*2
17h NOT↓*3
18h EXT1↑*2
19h EXT1↓*3
1Ah EXT2↑*2
1Bh EXT2↓*3
1Ch EXT3↑*2
1Dh EXT3↓*3

02 EtherCAT總線驅(qū)動(dòng)器回零方式

使用EtherCAT總線驅(qū)動(dòng)器提供的回零,需要將原點(diǎn)信號接入驅(qū)動(dòng)器指定IO上,不同的廠商的使用要求略有差異,需要閱讀驅(qū)動(dòng)器手冊之后再進(jìn)行配置。

參考步驟如下:

1.硬件接線:以下以某個(gè)驅(qū)動(dòng)器為例,將原點(diǎn)等信號接入下圖指定引腳即可,無需映射,并且按要求給驅(qū)動(dòng)器的IO端子供電

66410622-6d1f-11ed-8abf-dac502259ad0.png

使用控制器OP輸出模擬IO信號輸入,控制器OUT0口接到驅(qū)動(dòng)器控制端子8引腳,模擬原點(diǎn)信號,控制器OUT6口接到驅(qū)動(dòng)器控制端子9引腳,模擬負(fù)限位信號,控制器OUT5口接到驅(qū)動(dòng)器控制端子10引腳,模擬正限位信號。

2.驅(qū)動(dòng)器配置要求:根據(jù)驅(qū)動(dòng)器手冊說明配置回零所需要的功能,例如下方配置說明中,6040h和6041是必須模式,其他模式均為選配,故DRIVE_PROFILE配置驅(qū)動(dòng)器PDO時(shí),需要包含必須模式才可完成回零操作。

6668d47c-6d1f-11ed-8abf-dac502259ad0.png

3.總線初始化:運(yùn)動(dòng)下方初始化模板程序,合理配置DRIVE_PROFILE,使能總線驅(qū)動(dòng)器。

4.驅(qū)動(dòng)器回零:初始化成功方可執(zhí)行回零程序,設(shè)置合理的總線軸參數(shù),配置回零的找原點(diǎn)速度SPEED和反找速度CREEP,發(fā)送DATUM(21,mode2)驅(qū)動(dòng)器開始找原點(diǎn)運(yùn)動(dòng),例程使用模式如下,回零成功停止運(yùn)動(dòng),DPOS和MPOS自動(dòng)清零。

66795a4a-6d1f-11ed-8abf-dac502259ad0.png

程序分為兩部分執(zhí)行,先總線初始化,再回零。

1.總線初始化參考程序:

'*******************************************************ECAT總線初始化
global CONST BUS_TYPE = 0        '總線類型。可用于上位機(jī)區(qū)分當(dāng)前總線類型
global CONST MAX_AXISNUM = 16      '最大軸數(shù)
global CONST Bus_Slot  = 0        '槽位號0(單總線控制器缺省0)
global CONST PUL_AxisStart   = 0    '本地脈沖軸起始軸號
global CONST PUL_AxisNum   = 0    '本地脈沖軸軸數(shù)量
global CONST Bus_AxisStart   = 0      '總線軸起始軸號
global CONST Bus_NodeNum   = 1      '總線配置節(jié)點(diǎn)數(shù)量,用于判斷實(shí)際檢測到的從站數(shù)量是否一致
global Bus_InitStatus      '總線初始化完成狀態(tài)
Bus_InitStatus = -1
global Bus_TotalAxisnum    '檢查掃描的總軸數(shù)
delay(3000)        '延時(shí)3S等待驅(qū)動(dòng)器上電,不同驅(qū)動(dòng)器自身上電時(shí)間不同,具體根據(jù)驅(qū)動(dòng)器調(diào)整延時(shí)
?"總線通訊周期:",SERVO_PERIOD,"us"
Ecat_Init()      '初始化ECAT總線 
while (Bus_InitStatus = 0)
    Ecat_Init()
wend
end
'***************************ECAT總線初始化*****************************
'初始流程: slot_scan(掃描總線) ->   從站節(jié)點(diǎn)映射軸/io  ->  SLOT_START(啟動(dòng)總線) -> 初始化成功
'**********************************************************************
global sub Ecat_Init()
    local Node_Num,Temp_Axis,Drive_Vender,Drive_Device,Drive_Alias
    RAPIDSTOP(2)
    for i=0 to MAX_AXISNUM - 1              '初始化還原軸類型
        AXIS_ENABLE(i) = 0
        atype(i)=0  
        AXIS_ADDRESS(i) =0
        DELAY(10)                    '防止所有驅(qū)動(dòng)器全部同時(shí)切換使能導(dǎo)致瞬間電流過大
    next
    Bus_InitStatus = -1
    Bus_TotalAxisnum = 0  
    SLOT_STOP(Bus_Slot)        
    delay(200)
    slot_scan(Bus_Slot)                  '掃描總線
    if return then 
        ?"總線掃描成功","連接從站設(shè)備數(shù):"NODE_COUNT(Bus_Slot)
        if NODE_COUNT(Bus_Slot) <> Bus_NodeNum then    '判斷總線檢測數(shù)量是否為實(shí)際接線數(shù)量
            ?""  
            ?"掃描節(jié)點(diǎn)數(shù)量與程序配置數(shù)量不一致!" ,"配置數(shù)量:"Bus_NodeNum,"檢測數(shù)量:"NODE_COUNT(Bus_Slot)
            Bus_InitStatus = 0    '初始化失敗。報(bào)警提示
            return
        endif
        '"開始映射軸號"
        for Node_Num=0 to NODE_COUNT(Bus_Slot)-1'遍歷掃描到的所有從站節(jié)點(diǎn)
            Drive_Vender = NODE_INFO(Bus_Slot,Node_Num,0)  '讀取驅(qū)動(dòng)器廠商
            Drive_Device = NODE_INFO(Bus_Slot,Node_Num,1)  '讀取設(shè)備編號
            Drive_Alias=NODE_INFO(Bus_Slot,Node_Num,3)'讀取設(shè)備撥碼ID
            if NODE_AXIS_COUNT(Bus_Slot,Node_Num) <> 0  the  '判斷當(dāng)前節(jié)點(diǎn)是否有電機(jī)
                for j=0 to NODE_AXIS_COUNT(Bus_Slot,Node_Num)-1      '根據(jù)節(jié)點(diǎn)帶的電機(jī)數(shù)量循環(huán)配置軸參數(shù)(針對一拖多驅(qū)動(dòng)器)      
                    Temp_Axis = Bus_AxisStart + Bus_TotalAxisnum    '軸號按NODE順序分配
                    'Temp_Axis = Drive_Alias        '軸號按驅(qū)動(dòng)器設(shè)定的撥碼分配(一拖多需要特殊處理)          
                    base(Temp_Axis)
                    AXIS_ADDRESS= Bus_TotalAxisnum+1    '映射軸號
                    ATYPE=65                '設(shè)置控制模式 65-位置 66-速度 67-轉(zhuǎn)矩 
                    DRIVE_PROFILE = 1
                    disable_group(Temp_Axis)        '每軸單獨(dú)分組
                    Bus_TotalAxisnum=Bus_TotalAxisnum+1    '總軸數(shù)+1
                next      
            endif
        next
        ?"軸號映射完成","連接總軸數(shù):"Bus_TotalAxisnum
DELAY200
        SLOT_START(Bus_Slot)        '啟動(dòng)總線
        ifreturnthen
            wdog=1'使能總開關(guān)
            '?"開始清除驅(qū)動(dòng)器錯(cuò)誤"
            for i= Bus_AxisStart to Bus_AxisStart + Bus_TotalAxisnum - 1 
                BASE(i)
                DRIVE_CLEAR(0)
                DELAY50
                '?"驅(qū)動(dòng)器錯(cuò)誤清除完成"
                datum(0)            '清除控制器軸狀態(tài)錯(cuò)誤"
                DELAY100
                '"軸使能"
                AXIS_ENABLE=1
            next
            Bus_InitStatus  = 1
            ?"軸使能完成"
            '本地脈沖軸配置
            for i = 0 to PUL_AxisNum - 1
                base(PUL_AxisStart + i)
                AXIS_ADDRESS  = (-1<<16) + i
????????????????ATYPE?=?4
            next
            ?"總線開啟成功"
            run "Basic1",1    '開啟回零任務(wù)
        else
            ?"總線開啟失敗"
            Bus_InitStatus = 0
        endif  
    else
        ?"總線掃描失敗"
        Bus_InitStatus = 0
    endif
end sub

2.驅(qū)動(dòng)器回零程序:

?"開始回零"
TABLE(0)=0
BASE(0)
UNITS=(8388608/360) '脈沖當(dāng)量
SPEED=50 '找原點(diǎn)速度
CREEP=10 '反找速度 
ACCEL=1000 
DECEL=1000 
DELAY(100)
DATUM(21,19) '開始回零,模式19
WHILE 1
    WAIT IDLE
    TABLE(0)=DRIVE_STATUS    '讀取6041h狀態(tài)字判斷回零狀態(tài)
    IF READ_BIT2(15,TABLE(0)) THEN
        ?"回零完成"
        EXIT WHILE
    ENDIF
WEND
END
示波器采用回零成功波形如下:采用模式19,采用OP模擬原點(diǎn)信號,驅(qū)動(dòng)器感應(yīng)到原點(diǎn)后低速反找,離開原點(diǎn)時(shí)停止運(yùn)動(dòng),清空位置信息。

66865790-6d1f-11ed-8abf-dac502259ad0.png

回零時(shí)碰到限位開關(guān)停止運(yùn)動(dòng),AXISSTATUS軸狀態(tài)顯示40h正在回零中,回零完成狀態(tài)為0h。

6697fbc6-6d1f-11ed-8abf-dac502259ad0.png

本次,正運(yùn)動(dòng)技術(shù)EtherCAT與RTEX驅(qū)動(dòng)器軸回零的配置與實(shí)現(xiàn),就分享到這里。





審核編輯:劉清

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

    關(guān)注

    52

    文章

    8099

    瀏覽量

    145816
  • 運(yùn)動(dòng)控制器

    關(guān)注

    2

    文章

    390

    瀏覽量

    24626
  • ethercat
    +關(guān)注

    關(guān)注

    18

    文章

    633

    瀏覽量

    38544

原文標(biāo)題:EtherCAT與RTEX驅(qū)動(dòng)器軸回零的配置與實(shí)現(xiàn)

文章出處:【微信號:伺服與運(yùn)動(dòng)控制,微信公眾號:伺服與運(yùn)動(dòng)控制】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    為什么需要柵極驅(qū)動(dòng)器?柵極驅(qū)動(dòng)器及其應(yīng)用介紹

    柵極驅(qū)動(dòng)器是低壓控制器和高功電路之間的緩沖電路,用于放大控制器控制信號,從而實(shí)現(xiàn)功率器件更有效的導(dǎo)通和關(guān)斷。
    的頭像 發(fā)表于 04-02 14:16 ?1523次閱讀
    為什么需要柵極<b class='flag-5'>驅(qū)動(dòng)器</b>?柵極<b class='flag-5'>驅(qū)動(dòng)器</b><b class='flag-5'>及其</b>應(yīng)用<b class='flag-5'>介紹</b>

    EtherCAT驅(qū)動(dòng)器控制器EtherCAT超高速實(shí)時(shí)運(yùn)動(dòng)控制卡XPCIE1032H上位機(jī)開發(fā)

    驅(qū)動(dòng)器上位機(jī)
    正運(yùn)動(dòng)技術(shù)
    發(fā)布于 :2024年01月12日 09:19:28

    步進(jìn)電機(jī)驅(qū)動(dòng)控制器介紹

    基于ESP8266 WiFi控制的步進(jìn)升降機(jī)械平臺本文將實(shí)驗(yàn)室中另外一款步進(jìn)電機(jī)驅(qū)動(dòng)及其控制命令進(jìn)行介紹?!?單軸SH-20403
    發(fā)表于 08-31 08:32

    EtherCAT總線運(yùn)動(dòng)控制的優(yōu)勢主要體現(xiàn)在哪?

    EtherCAT技術(shù)的優(yōu)異性能,可以實(shí)現(xiàn)用傳統(tǒng)現(xiàn)場總線系統(tǒng)所無法實(shí)現(xiàn)控制方法。正運(yùn)動(dòng)技術(shù)的ZMC464運(yùn)動(dòng)控制器,實(shí)際測試過100us可以
    發(fā)表于 02-20 10:20

    經(jīng)濟(jì)型EtherCAT運(yùn)動(dòng)控制器EtherCAT總線快速入門

    本文主要介紹XPLC006E多軸經(jīng)濟(jì)型EtherCAT總線運(yùn)動(dòng)控制器控制EtherCAT總線驅(qū)動(dòng)器
    發(fā)表于 05-11 09:49

    LED驅(qū)動(dòng)器控制器簡化設(shè)計(jì)

     LED驅(qū)動(dòng)器控制器簡化設(shè)計(jì)
    發(fā)表于 11-17 16:01 ?28次下載

    基于SDP伺服驅(qū)動(dòng)器控制配置電路圖

    本文檔內(nèi)容介紹了基于SDP伺服驅(qū)動(dòng)器控制配置電路圖,供網(wǎng)友參考。
    發(fā)表于 09-25 18:01 ?29次下載
    基于SDP伺服<b class='flag-5'>驅(qū)動(dòng)器</b>的<b class='flag-5'>控制</b>及<b class='flag-5'>配置</b>電路圖

    ES系列的驅(qū)動(dòng)器控制及故障處理

    本文檔介紹了基于ES系列的相關(guān)知識,包含下列章節(jié): 1、控制鍵盤 提供了控制鍵盤的描述以及使用說明。 2、程序功能 介紹驅(qū)動(dòng)器的基本功能與特
    發(fā)表于 09-26 10:22 ?6次下載
    ES系列的<b class='flag-5'>驅(qū)動(dòng)器</b>的<b class='flag-5'>控制</b>及故障處理

    EtherCAT總線快速入門

    本節(jié)主要介紹XPLC006E多軸經(jīng)濟(jì)型EtherCAT總線運(yùn)動(dòng)控制器控制EtherCAT總線驅(qū)動(dòng)器
    的頭像 發(fā)表于 08-11 14:40 ?6756次閱讀
    <b class='flag-5'>EtherCAT</b>總線快速入門

    運(yùn)動(dòng)控制器配置實(shí)現(xiàn)

    今天,正運(yùn)動(dòng)小助手給大家分享一下運(yùn)動(dòng)控制器配置實(shí)現(xiàn)。本文主要介紹
    的頭像 發(fā)表于 11-12 14:25 ?1318次閱讀
    運(yùn)動(dòng)<b class='flag-5'>控制器</b>軸<b class='flag-5'>回</b><b class='flag-5'>零</b>的<b class='flag-5'>配置</b>與<b class='flag-5'>實(shí)現(xiàn)</b>

    EtherCATRTEX驅(qū)動(dòng)器配置實(shí)現(xiàn)

    上節(jié)課程,正運(yùn)動(dòng)小助手給大家分享了運(yùn)動(dòng)控制器提供的模式配置實(shí)現(xiàn)。本節(jié)課程主要介紹
    的頭像 發(fā)表于 11-16 17:07 ?1217次閱讀
    <b class='flag-5'>EtherCAT</b>與<b class='flag-5'>RTEX</b><b class='flag-5'>驅(qū)動(dòng)器</b>軸<b class='flag-5'>回</b><b class='flag-5'>零</b>的<b class='flag-5'>配置</b>與<b class='flag-5'>實(shí)現(xiàn)</b>

    全國產(chǎn)EtherCAT運(yùn)動(dòng)控制邊緣控制器(五):IO配置運(yùn)動(dòng)的Python+Qt開發(fā)

    Python+QT開發(fā)環(huán)境的配置以及單軸運(yùn)動(dòng)的實(shí)現(xiàn)效果。
    的頭像 發(fā)表于 10-20 10:08 ?547次閱讀
    全國產(chǎn)<b class='flag-5'>EtherCAT</b>運(yùn)動(dòng)<b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>(五):IO<b class='flag-5'>配置</b>與<b class='flag-5'>回</b><b class='flag-5'>零</b>運(yùn)動(dòng)的Python+Qt開發(fā)

    全國產(chǎn)EtherCAT運(yùn)動(dòng)控制邊緣控制器(五):IO配置運(yùn)動(dòng)的Python+Qt開發(fā)

    全國產(chǎn)EtherCAT運(yùn)動(dòng)控制邊緣控制器ZMC432H是正運(yùn)動(dòng)的一款軟硬件全國產(chǎn)自主可控,運(yùn)動(dòng)控制接口兼容EtherCAT總線和脈沖型的獨(dú)立
    的頭像 發(fā)表于 10-22 10:51 ?879次閱讀
    全國產(chǎn)<b class='flag-5'>EtherCAT</b>運(yùn)動(dòng)<b class='flag-5'>控制</b>邊緣<b class='flag-5'>控制器</b>(五):IO<b class='flag-5'>配置</b>與<b class='flag-5'>回</b><b class='flag-5'>零</b>運(yùn)動(dòng)的Python+Qt開發(fā)

    EtherCAT驅(qū)動(dòng)器控制器EtherCAT超高速實(shí)時(shí)運(yùn)動(dòng)控制卡XPCIE1032H上位機(jī)C#開發(fā)(九)

    EtherCAT總線驅(qū)動(dòng)器控制器模式介紹以及實(shí)現(xiàn)
    的頭像 發(fā)表于 01-11 10:27 ?510次閱讀
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>驅(qū)動(dòng)器</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'>EtherCAT</b>超高速實(shí)時(shí)運(yùn)動(dòng)<b class='flag-5'>控制</b>卡XPCIE1032H上位機(jī)C#開發(fā)(九)

    V90伺服控制器

    電子發(fā)燒友網(wǎng)站提供《V90伺服控制器.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 14:31 ?0次下載