中國自動化學(xué)會專家咨詢工作委員會指定宣傳媒體
文摘詳情
gkongbbs

8軸/4軸的EtherCAT軸模塊EIO24088-V2及EIO16084的使用(一):RTSys總線配置與使用

http://casecurityhq.com 2024-10-16 11:36 深圳市正運動技術(shù)有限公司

EIO24088-V2及EIO16084擴(kuò)展模塊配合正運動的主站控制器的使用分為三步。第一步:進(jìn)行硬件接線;第二步:總線初始化建立EtherCAT通訊連接,初始化中需要對擴(kuò)展的軸資源和IO資源的進(jìn)行映射防止與控制器的資源產(chǎn)生沖突;第三步:通過相應(yīng)指令讀寫IO及控制電機(jī)運動。

今天正運動小助手給大家分享一下EIO24088-V2及EIO16084如何用RTSys總線進(jìn)行配置和使用。

EIO24088-V2擴(kuò)展模塊硬件介紹

EIO24088-V2總線擴(kuò)展模塊是EtherCAT總線控制器使用的擴(kuò)展模塊,當(dāng)數(shù)字IO、脈沖軸資源不夠需要擴(kuò)展增加的時候,控制器可通過EtherCAT總線連接多個EtherCAT擴(kuò)展模塊進(jìn)行擴(kuò)展??刂破骺赏ㄟ^映射編號直接訪問EIO24088-V2的IO資源和軸資源。

001.png

  • 支持8個脈沖軸進(jìn)行擴(kuò)展;

  • 支持?jǐn)U展24路數(shù)字量輸入和8路數(shù)字量輸出,每個脈沖軸另外各有1路數(shù)字量輸入和1路數(shù)字量輸出可供配置;

  • 脈沖輸出模式為方向/脈沖或雙脈沖輸出;

  • 每軸最大輸出脈沖頻率10MHz;

  • 脈沖軸以外的輸出口最大輸出電流達(dá)300mA,可直接驅(qū)動部分電磁閥。

應(yīng)用框圖如下所示:

EIO24088-V2接線圖.png

EIO16084擴(kuò)展模塊硬件介紹

EIO16084總線擴(kuò)展模塊是EtherCAT總線控制器使用的擴(kuò)展模塊,當(dāng)數(shù)字IO、脈沖軸資源不夠需要擴(kuò)展增加的時候,控制器可通過EtherCAT總線連接多個EtherCAT擴(kuò)展模塊進(jìn)行擴(kuò)展??刂破骺赏ㄟ^映射編號直接訪問EIO16084的IO資源和軸資源。

003.png

  • 支持4個脈沖軸擴(kuò)展;

  • 支持?jǐn)U展16路數(shù)字量輸入和8路數(shù)字量輸出,每個脈沖軸另外各有2路數(shù)字量輸入和2路數(shù)字量輸入可供配置;

  • 脈沖輸出模式為方向/脈沖或雙脈沖;

  • 每軸最大輸出脈沖頻率10MHz;

  • 脈沖軸以外的輸出口最大輸出電流達(dá)300mA,可直接驅(qū)動部分電磁閥。

應(yīng)用框圖如下所示:

EIO16084接線圖.png

一、接口說明

1、EtherCAT總線通訊接口的接線

EIO24088-V2帶兩個EtherCAT總線接口,接線時注意EtherCAT IN連接主控制器或上級模塊,EtherCAT OUT連接下一級擴(kuò)展板,IN和OUT口不可混用。

EIO24088接線圖1.png

2、通用輸入口

EIO24088-V2帶24個通用輸入口,輸入口需要先使用NODE_IO指令配置IO地址編號才能通過控制器端操作。通用輸入口IN的內(nèi)部電路參考圖如下,輸入口參數(shù)參見下表。

通用輸入口IN的內(nèi)部電路參考圖:

006.png

輸入口參數(shù)說明:

034.png

3、通用輸出口

EIO24088-V2帶8個通用輸出口,輸出口需要先使用NODE_IO指令配置IO地址編號后才能通過控制器端操作(NODE_IO指令使用一次便可配置好輸入和輸出)。通用輸出口OUT的內(nèi)部電路參考圖如下,輸出口參數(shù)參見下表。

通用輸出口OUT的內(nèi)部電路參考圖:

007.png

輸出口參數(shù)說明:

035.png

4、軸接口

EIO24088-V2的軸接口有8個,采用DB26針腳,軸接口包含差分脈沖輸入信號和差分編碼器輸入信號,同時有一路通用輸入口和一路通用輸出口(EIO16084有兩路通用輸入口和兩路通用輸出信號)。

針腳定義說明:

036.png

可以通過數(shù)據(jù)字典中的6013h配置EIO擴(kuò)展板直接使能與告警,缺省不使用,需要主控制器來操作。

二、總線接線參考

EIO24088-V2擴(kuò)展模塊接線規(guī)則:EIO24088-V2可接到EtherCAT總線上的任意節(jié)點。

EIO24088-V2為總線上的一個設(shè)備節(jié)點,可接入8個脈沖型驅(qū)動器,驅(qū)動器按照AXIS 0到AXIS 7的順序依次編號,并且遵從總線上的驅(qū)動器編號規(guī)則,需要進(jìn)行軸映射。

驅(qū)動器的使能信號為脈沖接口內(nèi)的通用輸出口,直接通過主控制器的OP指令來使能,或使用SDO指令配置數(shù)據(jù)字典6013h中的BIT8為1后為即可自動使能,主控制器無法直接控制對應(yīng)的輸出口來使能,只需WDOG置1及對應(yīng)軸的AXIS_ENABLE置1即可。

注意:軸擴(kuò)展模塊的使用個數(shù)不是無限制的,參考控制器可擴(kuò)展的最大軸數(shù)。

ZMC432-V2本體有6個脈沖軸,通過EtherCAT擴(kuò)展了節(jié)點0、1、2、3四個總線軸,節(jié)點4八個總線轉(zhuǎn)脈沖軸。擴(kuò)展軸上的AXIS0-7(對應(yīng)下圖中驅(qū)動器編號4-11)分別手動映射為軸號10-17??刂破?、EIO擴(kuò)展模塊和驅(qū)動器的接線參考如下圖:

EIO24088-V2接線圖.png

涉及的總線相關(guān)指令參數(shù)概念如下:

1、槽位號(slot)

槽位號是指控制器上總線接口的編號,缺省為0。當(dāng)控制器上有多個總線接口時,在線命令發(fā)送?*SLOT查看。

運動控制器支持單總線時,槽位號為0。

支持雙總線時,EtherCAT總線槽位號為0,RTEX總線槽位號為1。

2、設(shè)備號(node)

設(shè)備號是指一個槽位上連接的所有設(shè)備的編號,從0開始,按設(shè)備在總線上的連接順序自動編號,可以通過NODE_COUNT(slot)指令查看總線上連接的設(shè)備總數(shù)。

3、驅(qū)動器編號

控制器會自動識別出槽位上的驅(qū)動器,編號從0開始,按驅(qū)動器在總線上的連接順序自動編號。

驅(qū)動器編號與設(shè)備號不同,只給槽位上的驅(qū)動器設(shè)備編號,其他設(shè)備忽略。

三、擴(kuò)展資源映射方法

EIO24088-V2或EIO16084擴(kuò)展模塊上有兩類資源需要映射,軸資源和IO資源。

1、IO映射

控制器上程序只需通過IO編號就可以訪問到擴(kuò)展模塊上的資源,EtherCAT總線擴(kuò)展模塊IO編號通過總線指令NODE_IO來設(shè)置,同時配置輸入和輸出。

IO映射時先查看控制器自身的最大IO編號(包括外部IO接口和脈沖軸內(nèi)的接口),再使用指令設(shè)置。

若擴(kuò)展的IO與控制器自身IO編號重合,二者將同時起作用,所以IO映射的映射的編號在整個控制系統(tǒng)中均不得重復(fù)。

IO映射語法:

NODE_IO(slot,node)=iobase

slot:槽位號,0-缺省

node:設(shè)備編號,編號從0開始

iobase:映射IO起始編號,設(shè)置結(jié)果只會是8的倍數(shù)

示例:

NODE_IO(0,0)=32 '設(shè)置槽位0接口設(shè)備0的IO起始編號為32

若設(shè)備0為EIO24088-V2,按如上語法配置后,起始編號映射為32,該擴(kuò)展模塊上的輸入編號為外部自帶的24點+軸接口通用輸入8點,一共32點,范圍32-63,輸出編號為外部的8點+軸接口通用輸出8點,共16點,范圍32-47。

009.png

2、軸映射

擴(kuò)展模塊的軸使用前需要使用“AXIS_ADDRESS”指令映射軸號,軸映射也需要注意整個系統(tǒng)的軸號不得重復(fù)。EIO系列擴(kuò)展軸的映射與總線驅(qū)動器的軸映射語法相同。

軸映射語法:

AXIS_ADDRESS(軸號)=(槽位號<<16)+驅(qū)動器編號+1

示例:

AXIS_ADDRESS(0)=(0<<16)+0+1 'EtherCAT總線上的第一個驅(qū)動器,驅(qū)動器編號0,綁定為軸0 
AXIS_ADDRESS(1)=(0<<16)+1+1 'EtherCAT總線上的第二個驅(qū)動器,驅(qū)動器編號1,綁定為軸1

若第一個節(jié)點是EIO24088-V2,那么這里的驅(qū)動器編號0對應(yīng)連接在EIO24088-V2上的第一個總線轉(zhuǎn)脈沖型驅(qū)動器。

四、總線初始化

EIO24088-V2擴(kuò)展模塊需要經(jīng)過總線初始化之后才能使用,下圖為總線初始化流程。

1111.png

進(jìn)行總線初始化有兩種方式:

? 通過正運動提供的總線初始化腳本進(jìn)行初始化

? 找到RTSys的工程設(shè)置,打開啟動軸配置及EtherCAT配置自行配置

先給大家介紹的是第一種通過總線初始化腳本進(jìn)行總線初始化,此初始化程序可用來初始化EtherCAT驅(qū)動器和EtherCAT總線擴(kuò)展模塊,建立通訊連接(通用模板,適用于多種品牌的驅(qū)動器),可找正運動廠商提供。

1、在RTSys或ZDevelop中新建一個工程

011.png

2、把總線初始化腳本添加至工程

012.png

3、設(shè)置初始化腳本的任務(wù)號

013.png

4、設(shè)置本地脈沖軸數(shù)和起始編號及總線軸的起始編號,不使用本地脈沖軸只使用總線軸可使用默認(rèn)配置(可根據(jù)實際使用情況修改參數(shù)),演示時使用了六個本地脈沖軸,ECAT總線連接了一個EIO24088-V2及兩個松下的驅(qū)動器及一個臺達(dá)的驅(qū)動器。

5、總線初始化模板程序:

'控制器最大軸數(shù)
TABLE(0)= SYS_ZFEATURE(0)
GLOBAL CONST ControlMaxAxis = TABLE(0)
'支持電機(jī)個數(shù)
TABLE(0)= SYS_ZFEATURE(1)
GLOBAL CONST RealAxisMax = TABLE(0)
'槽位號,(單總線控制器缺省0,具體查看硬件手冊)
GLOBAL CONST Bus_Slot = 0
'本地脈沖軸起始編號
GLOBAL CONST LocalAxis_Start = 11
'本地脈沖軸軸數(shù)量
GLOBAL CONST LocalAxis_Num = 2
'總線軸起始編號
GLOBAL CONST BusAxis_Start = 0
'總線驅(qū)動器起始IOS
GLOBAL CONST BusStaraIoNum=128
'總線初始化狀態(tài) -1--未進(jìn)行 0--初始化錯誤 1--初始化完成
GLOBAL ECAT_InitEnable
ECAT_InitEnable = -1
'延遲3秒,等待驅(qū)動器上電,不同驅(qū)動器自身上電時間不同,具體根據(jù)驅(qū)動器調(diào)整延時
DELAY(3000)
'? "總線通訊周期:",SERVO_PERIOD,"us"
ECAT_Init() '調(diào)用初始化函數(shù)
DIM ScanNum
'如果沒有掃描到在掃描4次
IF ECAT_InitEnable<>1 THEN    
    FOR ScanNum=0 to 3         
        ECAT_Init() '調(diào)用初始化函數(shù)        
        IF ECAT_InitEnable=1 THEN EXIT FOR    
    NEXT
ENDIF  
END
'/*************************************************************
'Description:    //總線軸初始化
'Input:        //
'Input:        //
'Input:        //
'Output:      // ECAT_InitEnable=ON -->初始化完成標(biāo)志
'Return:      // 
'*************************************************************/
GLOBAL SUB ECAT_Init()    
    LOCAL NodeSum_Num ,BusAxis_Num ,NodeAxis_Num '設(shè)備總數(shù)、總線軸總數(shù)、每個節(jié)點上的電機(jī)數(shù)    
    LOCAL Drive_Vender,Drive_Device,Drive_Alias '驅(qū)動廠商編號、驅(qū)動設(shè)備編號、驅(qū)動設(shè)備撥碼ID    
    local i,j    
    ? "總線通訊周期:",SERVO_PERIOD,"us"    
    RAPIDSTOP(2)    
    '初始化還原軸類型    
    FOR i = 0 TO ControlMaxAxis - 1        
    AXIS_ADDRESS(i) = 0        
    AXIS_ENABLE(i) = 0        
    ATYPE(i) = 0        
    WAIT IDLE(i)    
    NEXT    
    '本地軸重新映射    
    FOR i=0 TO LocalAxis_Num -1        
        AXIS_ADDRESS(LocalAxis_Start+i)= (-1<<16) + i  '將本地軸0-->i映射到軸20-->20+i        
        ATYPE(LocalAxis_Start+i)=0  '軸類型    
    NEXT    
    ECAT_InitEnable = -1    
    SYSTEM_ZSET = SYSTEM_ZSET OR 128    
    '掃描總線驅(qū)動器    
    FOR i=0 to 3         
        SLOT_STOP(Bus_Slot)        
        DELAY(200)        
        SLOT_SCAN(Bus_Slot)        
        IF NODE_COUNT(Bus_Slot) THEN EXIT FOR        
        DELAY(1000)    
    NEXT    
    IF RETURN THEN        
        NodeSum_Num = NODE_COUNT(Bus_Slot)        
        ? "總線掃描成功,連接設(shè)備數(shù):",NodeSum_Num        
        '總線軸總數(shù),從0開始計數(shù)        
        BusAxis_Num = 0        
        FOR i = 0 TO NodeSum_Num - 1            
            NodeAxis_Num = NODE_AXIS_COUNT(Bus_Slot,i) '讀取設(shè)備電機(jī)數(shù)            
            Drive_Vender = NODE_INFO(Bus_Slot,i,0) '讀取驅(qū)動器廠商            
            Drive_Device = NODE_INFO(Bus_Slot,i,1) '讀取設(shè)備編號            
            Drive_Alias = NODE_INFO(Bus_Slot,i,3) '讀取設(shè)備撥碼ID            
            '軸設(shè)置                
            FOR j = 0 TO NodeAxis_Num - 1               
                AXIS_ADDRESS(BusAxis_Num+BusAxis_Start) = BusAxis_Num + 1 '映射軸號                
                ATYPE(BusAxis_Num+BusAxis_Start) = 65     '設(shè)置控制模式 65-位置 66-速度 67-轉(zhuǎn)矩 詳細(xì)參照AXISSTATUS                
                DRIVE_PROFILE(BusAxis_Num+BusAxis_Start) = 0 '驅(qū)動器PDO設(shè)置,驅(qū)動器默認(rèn)設(shè)置-- -1 位置模式--0  速度模式--20+  力矩模式--30+                
                DISABLE_GROUP(BusAxis_Num+BusAxis_Start)   '每軸單獨分組                
                IF DRIVE_PROFILE(BusAxis_Num+BusAxis_Start)=4 OR DRIVE_PROFILE(BusAxis_Num+BusAxis_Start)=5 THEN                    
                    '設(shè)置總線驅(qū)動器的起始IO地址                    
                    DRIVE_IO (BusAxis_Num+BusAxis_Start) = BusStaraIoNum+8*(BusAxis_Num+BusAxis_Start)                    
                    '設(shè)置負(fù)限位                    
                    REV_IN(BusAxis_Num+BusAxis_Start) = DRIVE_IO (BusAxis_Num+BusAxis_Start)                    
                    INVERT_IN(DRIVE_IO (BusAxis_Num+BusAxis_Start),ON)                    
                    '設(shè)置正限位                    
                    FWD_IN(BusAxis_Num+BusAxis_Start) = DRIVE_IO (BusAxis_Num+BusAxis_Start)+1                    
                    INVERT_IN(DRIVE_IO (BusAxis_Num+BusAxis_Start)+1,ON)                    
                    '設(shè)置原點                    
                    DATUM_IN(BusAxis_Num+BusAxis_Start) = DRIVE_IO (BusAxis_Num+BusAxis_Start)+2                    
                    INVERT_IN(DRIVE_IO (BusAxis_Num+BusAxis_Start)+2,ON)                
                    ELSEIF DRIVE_PROFILE(BusAxis_Num+BusAxis_Start)<4 THEN                    
                    IF REV_IN(BusAxis_Num+BusAxis_Start)>=BusStaraIoNum THEN                    
                        '取消設(shè)置負(fù)限位                    
                        REV_IN(BusAxis_Num+BusAxis_Start) = -1                    
                    ENDIF                    
                    IF FWD_IN(BusAxis_Num+BusAxis_Start)>=BusStaraIoNum THEN                        
                        '取消設(shè)置正限位                        
                        FWD_IN(BusAxis_Num+BusAxis_Start) = -1                    
                    ENDIF                    
                    IF DATUM_IN(BusAxis_Num+BusAxis_Start)>=BusStaraIoNum THEN                        
                        '取消設(shè)置原點                        
                        DATUM_IN(BusAxis_Num+BusAxis_Start) = -1                    
                    ENDIF                
            ENDIF                
            BusAxis_Num = BusAxis_Num + 1 '總線軸計數(shù)+1            
        NEXT            
        '正運動EIO24088-V2總線轉(zhuǎn)脈沖擴(kuò)展軸            
        IF  Drive_Vender = $41B AND Drive_Device = $1ab0 THEN                 
            local k                 
            for k=0 to 7                     
                SDO_WRITE(Bus_Slot,i,$6011+k*$800,0,5,7)      '設(shè)置擴(kuò)展脈沖軸ATYPE類型                    
                SDO_WRITE(Bus_Slot,i,$6012+k*$800,0,6,0)      '設(shè)置擴(kuò)展脈沖軸INVERT_STEP脈沖輸出模式                    
                NODE_IO(Bus_Slot,i) = 32 + 32*i        '設(shè)置24088上IO的起始映射地址                
            next             
        ENDIF        
    NEXT        
    ? "軸掃描映射完成,連接總線軸數(shù):",BusAxis_Num        
    DELAY(100)        
    SLOT_START(Bus_Slot)       
    WA(3000) ' 延遲3秒,等待驅(qū)動器時鐘同步,不同驅(qū)動器時間不同,具體根據(jù)驅(qū)動器調(diào)整延時        
    IF RETURN THEN             
        ? "開始清除驅(qū)動器報警"            
        FOR i = BusAxis_Start TO  BusAxis_Start + BusAxis_Num - 1                
            BASE(i)                
            DRIVE_CLEAR(0)                
            WA(10)                
            DRIVE_CONTROLWORD(i) = 128 ' 伺服錯誤清除                
            WA(10)                
            DRIVE_CONTROLWORD(i)=6 ' 伺服shutdown                 
            WA(10)                
            'DRIVE_CONTROLWORD(i)=7 ' 伺服disable voltage                
            'WA(10)                
            DRIVE_CONTROLWORD(i)=15 ' 伺服fault reset                
            WA(10)                
        NEXT            
        DELAY(100)              
        ? "控制器報警清除完成"            
        DATUM(0) ' 清除所有軸的錯誤狀態(tài)。            
        DELAY(1000)            
        ?"開始伺服使能"            
        WDOG = 1            
        FOR i = BusAxis_Start TO  BusAxis_Start + BusAxis_Num - 1                
            AXIS_ENABLE(i) = 1            
        NEXT            
        ?"伺服使能完成"            
        ECAT_InitEnable = 1        
        ELSE            
        ?"總線開啟失敗"            
        ECAT_InitEnable = 0        
    ENDIF    
    ELSE        
        ?"總線掃描失敗"        
        ECAT_InitEnable = 0    
    ENDIF
ENDSUB

參考配置采用控制器依次連接一個EIO24088-V2擴(kuò)展模塊和兩個松下及一個臺達(dá)的EtherCAT總線驅(qū)動器,采用以上初始化程序,成功建立通訊連接,控制器狀態(tài)窗口顯示當(dāng)前掃描連接的節(jié)點情況。

總線上的主站為控制器,控制器連接的第一個從站設(shè)備為EIO24088-V2擴(kuò)展模塊,第二個、第三個和第四個從站設(shè)備為EtherCAT總線驅(qū)動器,可使用控制器的本地脈沖軸接口??偩€上的驅(qū)動設(shè)備映射軸號從0開始,EIO24088-V2擴(kuò)展模塊的AXIS 0-7接口上的脈沖驅(qū)動器映射為軸號0-7,三個EtherCAT總線驅(qū)動器映射為軸號8-10,本地軸從11開始,EIO24088-V2擴(kuò)展模塊的IO編號起始為32。

新增圖.png

注意:映射的軸號和IO編號整個控制系統(tǒng)中不得重復(fù),根據(jù)具體情況去選擇編號。

015.png

接下來給大家介紹第二種總線初始化配置的方法,通過RTSys的工程設(shè)置自行配置總線初始化腳本。

1、在RTSys中新建一個工程

011.png

2、打開EtherCAT配置。在工程視圖右鍵選擇工程設(shè)置,勾選軸配置及EtherCAT配置

017.png

018.png

3、掃描出要配置的總線節(jié)點

019.png

4、自行配置軸號及類型

(1)雙擊控制器打開控制器配置界面;

(2)選擇需要使用的本地脈沖軸數(shù)(此演示選擇兩個本地脈沖軸);

(3)給本地脈沖軸重映射軸號;

(4)選擇本地脈沖軸的軸類型,根據(jù)使用情況自行選擇;

(5)對EtherCAT掃描到的總線軸進(jìn)行軸號映射;

(6)設(shè)置軸類型;

(7)根據(jù)使用情況選擇65/66/67(不同軸類型所需的PDO列表不同);

(8)點擊應(yīng)用自動生成Startup.bas總線配置文件。

1.png

此演示配置了兩個本地脈沖軸(軸號重映射成11,12),EIO24088-V2的八個總線轉(zhuǎn)脈沖軸(軸號映射成0-7),兩個松下總線伺服驅(qū)動器及一個高創(chuàng)總線伺服驅(qū)動器(軸號映射成8-10)。

2.png

5、進(jìn)行PDO設(shè)置,根據(jù)需求選擇

(1)選擇需要配置的節(jié)點(此演示是選擇EIO24088-V2);

(2)選擇需要配置的軸(八個軸都需要配置);

(3)進(jìn)行PDO設(shè)置(選擇0即可);

(4)所有軸都配置完后點擊應(yīng)用保存配置。

4.png

4.png

5.png

在幫助文檔中可查詢各PDO設(shè)置的數(shù)據(jù)字典詳情,根據(jù)需求自行選擇。

025.png

6、把配置好的Startup.bas下載進(jìn)控制器進(jìn)行總線初始化

6.png

五、通過RTSys測試擴(kuò)展的資源

1、測試IO資源

在沒有IO設(shè)備的情況下,我們可以通過OUT和IN端口直接相連判斷IO的響應(yīng)情況,如下圖,測試EIO擴(kuò)展模塊的IO配置,將EIO的OUT2(映射編號34)端子連接到EIO24088-V2的IN8(映射編號40)上,操作OP(34)可見輸入口40收到信號。

027.png

測試IO資源也可通過打開工程設(shè)置的EtherCAT配置測試總線擴(kuò)展模塊的IO資源。

(1)打開EIO24088-V2的界面;

(2)打開EIO24088-V2的輸入輸出口;

(3)將總線擴(kuò)展EIO24088-V2上的OUT2和IN7相連,把OUT2打開后IN7也被置1說明IO正常。

028.png

2、測試脈沖軸

首先將對要測試的脈沖軸進(jìn)行映射(初始化中已映射不需要),如測試EIO24088-V2的軸1。

AXIS_ADDRESS(7)=(0<<16)+1+1 'EtherCAT總線上的第二個驅(qū)動器,驅(qū)動器編號1,綁定為軸7

擴(kuò)展模塊的DRIVE_PROFILE配置為0,ATYPE設(shè)為65,但由于擴(kuò)展是總線轉(zhuǎn)脈沖型驅(qū)動器,軸類型并不是65,真實軸類型的配置使用SDO指令配置數(shù)據(jù)字典6011h設(shè)置。

SDO指令配置驅(qū)動器參數(shù):

例如:擴(kuò)展的脈沖軸的真實軸類型設(shè)置通過數(shù)據(jù)字典6011h設(shè)置,(參考下表的參數(shù),按軸號依次設(shè)置,第一個驅(qū)動器設(shè)置數(shù)據(jù)字典6011h+0*800h,第二個驅(qū)動器設(shè)置6011h+1*800h,以此類推,每個驅(qū)動器加800h,其他參數(shù)同理)。

(1)輸入輸出:

029.png

(2)第一個擴(kuò)展模塊上第一個驅(qū)動器:

030.png

數(shù)據(jù)字典讀取語法:

SDO_READ (槽位號, 設(shè)備編號, 數(shù)據(jù)字典編號, 數(shù)據(jù)字典子編號, 數(shù)據(jù)類型, 讀取數(shù)據(jù)存儲TABLE位置)

SDO_READ_AXIS (軸號, 數(shù)據(jù)字典編號, 數(shù)據(jù)字典子編號, 數(shù)據(jù)類型, 讀取數(shù)據(jù)存儲TABLE位置)

數(shù)據(jù)字典寫入語法:

SDO_WRITE (槽位號, 設(shè)備編號, 數(shù)據(jù)字典編號, 數(shù)據(jù)字典子編號, 數(shù)據(jù)類型, 寫入數(shù)據(jù)值)

SDO_WRITE_AXIS (軸號, 數(shù)據(jù)字典編號, 數(shù)據(jù)字典子編號, 數(shù)據(jù)類型, 寫入數(shù)據(jù)值)

數(shù)據(jù)字典讀寫示例:

讀寫處于節(jié)點0的EIO24088-V2的軸1的軸類型。

SDO_WRITE(0, 0, $6011 + 1 * $800, 0, 5, 7) '設(shè)置EIO24088-V2的軸1的軸類型為7 
SDO_READ(0, 0, $6011 + 1 * $800, 0, 5, -1) '將軸1的軸類型數(shù)據(jù)打印出來

031.png

確認(rèn)好軸類型、脈沖模式,測試時先將UNITS(脈沖當(dāng)量)、SPEED(運行速度)、ACCEL(加速度)、DECEL(減速度)設(shè)置小一些保證安全,若設(shè)置為自動使能(通過6013H的BIT8設(shè)置)檢查軸使能(AXIS_ENABLE)是否置1,手動使能則需軸使能(AXIS_ENABLE)及對應(yīng)軸使能輸出口置1。

發(fā)送運動指令看電機(jī)是否正常運動(看DPOS和MPOS是否變化),后續(xù)再根據(jù)驅(qū)動器移動1mm或轉(zhuǎn)動一圈的脈沖數(shù)填入UNITS,此時MOVE(1)即為移動1mm或轉(zhuǎn)動一圈,SPEED的單位為mm/s或r/s。

032.png

注意:

如果手動運動時軸不移動但DPOS(指令位置)與MPOS(編碼器反饋位置)在變化說明軸有移動但移動距離太短肉眼看不出來,可適當(dāng)增加UNITS后再移動。

如果出現(xiàn)手動運動時軸只能向一個方向移動則需檢查驅(qū)動器的軸類型及脈沖模式(通過驅(qū)動器手冊或其軟件知曉)和6011H及6012H中設(shè)置的軸類型和脈沖模式是否匹配,檢查接線是否松動。

也可通過打開工程設(shè)置中的軸配置及EtherCAT配置測試總線擴(kuò)展模塊的總線轉(zhuǎn)脈沖軸。

(1)選擇需要測試的軸;

(2)設(shè)置合適的軸參數(shù);

(3)自動同步軸參數(shù);

(4)打開軸使能;

(5)通過正向運動或反向運動進(jìn)行點動測試軸是否正常。

033.png

教學(xué)視頻可點擊→8軸/4軸的EtherCAT軸模塊EIO24088-V2及EIO16084的使用(一):RTSys總線配置與使用查看。

本次,正運動技術(shù)8軸/4軸的EtherCAT軸模塊EIO24088-V2及EIO16084的使用(一):RTSys總線配置與使用,就分享到這里。

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

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

企業(yè)微信截圖_20240321153031.png

正運動技術(shù)專注于運動控制技術(shù)研究和通用運動控制軟硬件產(chǎn)品的研發(fā),是國家級高新技術(shù)企業(yè)。正運動技術(shù)匯集了來自華為、中興等公司的優(yōu)秀人才,在堅持自主創(chuàng)新的同時,積極聯(lián)合各大高校協(xié)同運動控制基礎(chǔ)技術(shù)的研究,是國內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國內(nèi)少有、完整掌握運動控制核心技術(shù)和實時工控軟件平臺技術(shù)的企業(yè)。主要業(yè)務(wù)有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統(tǒng)_視覺控制器__運動控制PLC_運動控制_機(jī)器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等等。

版權(quán)所有 中華工控網(wǎng) Copyright?2024 Gkong.com, All Rights Reserved