女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

擴(kuò)展模塊EIO16084在運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用

正運(yùn)動(dòng)技術(shù) ? 來源:正運(yùn)動(dòng)技術(shù) ? 作者:正運(yùn)動(dòng)技術(shù) ? 2022-08-23 18:59 ? 次閱讀

EIO16084擴(kuò)展模塊的使用分為如下幾步,硬件接線;總線初始化建立總線通訊連接,初始化中執(zhí)行擴(kuò)展資源的映射,分別配置軸資源和IO資源;擴(kuò)展資源配置完成可通過控制器端訪問,擴(kuò)展軸為脈沖型,設(shè)置相關(guān)軸參數(shù),發(fā)送運(yùn)動(dòng)命令即可控制電機(jī)運(yùn)動(dòng)。

01 產(chǎn)品簡(jiǎn)介

EIO16084擴(kuò)展模塊是EtherCAT總線控制器使用的擴(kuò)展模塊,可擴(kuò)展數(shù)字量IO和脈沖軸這兩類資源,當(dāng)控制器本體上資源不夠的時(shí)候,EtherCAT總線控制器可連接多個(gè)EIO擴(kuò)展模塊進(jìn)行資源擴(kuò)展,可查看控制器的IO最大擴(kuò)展點(diǎn)數(shù)和最大擴(kuò)展軸數(shù),支持IO的遠(yuǎn)程擴(kuò)展。

poYBAGMErFKAZuHfAAX7fNfQdkY698.pngEIO16084擴(kuò)展模塊

每個(gè)EIO擴(kuò)展模塊在擴(kuò)展接線完成后,不需要進(jìn)行進(jìn)行二次開發(fā),只需使用指令在EtherCAT主站控制器配置唯一的IO地址和軸地址,配置完成即可訪問。

IO地址編號(hào)通過總線指令NODE_IO來設(shè)置,控制器上程序只需通過IO編號(hào)就可以訪問到擴(kuò)展模塊上的資源。軸地址的配置使用“AXIS_ADDRESS”指令映射綁定軸號(hào),綁定完成通過BASE或AXIS指令指定軸號(hào)。

EIO16084擴(kuò)展模塊功能特點(diǎn):

(1)支持4軸脈沖軸擴(kuò)展。

(2)脈沖輸出模式:方向/脈沖或雙脈沖。

(3)每軸最大輸出脈沖頻率10MHz。

(4)支持16進(jìn)+8出IO擴(kuò)展,每個(gè)脈沖軸另外各有2進(jìn)2出IO可供配置。

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

(6)ECAT最快500us的刷新周期。

(7)電源供電,連接主電源即可,無需IO電源。

此系列產(chǎn)品選型指南:

產(chǎn)品型號(hào)

電機(jī)軸數(shù)

編碼器數(shù)

總軸數(shù)

內(nèi)部輸入/輸出口

ECAT IN/ECAT OUT

EIO1616

-

-

-

16/16

1/1

EIO16084

4

4

4

16/8

1/1

EIO24088

8

8

8

24/8

1/1

EIO系列帶軸的擴(kuò)展模塊的使用方法相同,僅是擴(kuò)展資源數(shù)量的區(qū)別,EIO16084和EIO24088的使用方法完全相同,EIO1616相比上面兩個(gè)型號(hào),無需軸映射相關(guān)操作。

pYYBAGMErMSAVicHAAmTLOFoMIo389.pngEIO24088擴(kuò)展模塊

02 接口說明

1.總線接口

EIO16084帶兩個(gè)EtherCAT總線接口,“EtherCAT IN”和“EtherCAT OUT”,使用標(biāo)準(zhǔn)網(wǎng)線完成接線。

接線時(shí)注意:“EtherCAT IN”連接上一級(jí)模塊,“EtherCAT OUT”連接下一級(jí)模塊,IN和OUT口不可混用。

2.通用輸入口

通用輸入口IN的內(nèi)部電路參考圖如下,EIO16084帶16個(gè)通用輸入口,輸入口需要NODE_IO配置IO地址編號(hào)才能通過控制器端操作,輸入口參數(shù)參見下表。

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

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

項(xiàng)目

規(guī)格

通道數(shù)

16(IN0-IN15)

輸入方式

NPN型

輸入電壓等級(jí)

DC24V

輸入電流(典型值)

4.8mA

輸入開通電壓

<14.5V

輸入最小電流

1.8mA

輸入阻抗

4.7KΩ

隔離方式

光電隔離

輸入頻率

<5kHz

3.通用輸出口

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

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

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

項(xiàng)目

規(guī)格

通道數(shù)

8(OUT0-OUT7)

輸出方式

晶體管NPN型,OD輸出。

輸出電壓等級(jí)

負(fù)載電源≤36V

最大輸出電流

300mA

關(guān)閉時(shí)最大漏電流

25μA

導(dǎo)通響應(yīng)時(shí)間

12μs

關(guān)閉響應(yīng)時(shí)間

80μs

隔離方式

光電隔離

過流保護(hù)

支持,動(dòng)作電流600mA

輸出頻率

<8kHz

4.軸接口

EIO16084的軸接口有4個(gè),采用DB26針腳,針腳定義如下表,軸接口包含差分脈沖輸入和差分編碼器輸入信號(hào),同時(shí)還有兩路通用輸入口(其中一路為報(bào)警輸入),兩路通用輸出口(其中一路為驅(qū)動(dòng)使能)

EIO16084擴(kuò)展軸時(shí),為總線轉(zhuǎn)脈沖,將脈沖型驅(qū)動(dòng)器接入到EIO16084擴(kuò)展模塊上的脈沖軸接口上。通過總線初始化建立EtherCAT總線控制器和EIO16084擴(kuò)展模塊之間的通訊連接,總線初始化過程中必須包含軸映射,之后參考脈沖型控制器的使用方法操作脈沖驅(qū)動(dòng)器。

poYBAGMErXaAG7dRAACMi4s3BTE409.png

針腳號(hào)

信號(hào)

說明

1

EGND

外部電源地

2

IN16-19/ALM

通用輸入,建議做驅(qū)動(dòng)報(bào)警

3

OUT8-11/ENABLE

通用輸出,建議驅(qū)動(dòng)使能

4

EA-

編碼器輸入

5

EB-

編碼器輸入

6

EZ-

編碼器輸入

7

+5V

內(nèi)部5V電源輸出

8

備用

備用

9

DIR+

伺服或步進(jìn)方向輸出

10

GND

內(nèi)部電源地

11

PUL-

伺服或步進(jìn)脈沖輸出

12

備用

備用

13

GND

內(nèi)部電源地

14

OVCC

E24V輸出(建議僅供伺服IO )

15

OUT12-15/CLR

通用輸出,建議驅(qū)動(dòng)報(bào)警清除

16

IN20-23/INP

通用輸入,建議做到位信號(hào)

17

EA+

編碼器輸入

18

EB+

編碼器輸入

19

EZ+

編碼器輸入

20

GND

內(nèi)部電源地

21

GND

內(nèi)部電源地

22

DIR-

伺服或步進(jìn)方向輸出

23

PUL+

伺服或步進(jìn)脈沖輸出

24

GND

內(nèi)部電源地

25

備用

備用

26

備用

備用

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

告警輸入、位置到位信號(hào)、軸使能、誤差清除可以為通用的輸入輸出,由于驅(qū)動(dòng)能力偏小建議做軸功能IO使用。

“EGND,OVCC電源”是控制器內(nèi)部輸出供伺服IO使用,請(qǐng)勿連接到開關(guān)電源,不使用時(shí)懸空。

03 接線參考

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

EIO16084為總線上的一個(gè)設(shè)備節(jié)點(diǎn),可接入4個(gè)脈沖型驅(qū)動(dòng)器,驅(qū)動(dòng)器按照AXIS 0到AXIS 3的順序依次編號(hào),并且遵從總線上的驅(qū)動(dòng)器編號(hào)規(guī)則。

驅(qū)動(dòng)器的使能信號(hào)為脈沖接口內(nèi)的通用輸出口,直接通過主控制器的OP指令來使能。或使用SDO指令配置數(shù)據(jù)字典為自動(dòng)使能后,主控制器無法直接控制對(duì)應(yīng)的輸出口來使能。

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

如下圖,ZMC416BE運(yùn)動(dòng)控制器本體支持連接16個(gè)脈沖驅(qū)動(dòng)器,最大擴(kuò)展軸數(shù)為20,故可以通過EtherCAT總線連接一個(gè)EIO16084擴(kuò)展到支持20個(gè)脈沖驅(qū)動(dòng)器。

擴(kuò)展軸映射軸號(hào)時(shí)注意避開本地脈沖軸,若本地脈沖軸使用了16個(gè),默認(rèn)對(duì)應(yīng)軸號(hào)0-15,則擴(kuò)展軸上的AXIS0-3(對(duì)應(yīng)下圖中驅(qū)動(dòng)器編號(hào)0-3)分別手動(dòng)映射為軸號(hào)16-19。

poYBAGMErbqADSEjAASfH7g3OoI927.png

如下圖,ZMC432運(yùn)動(dòng)控制器本體支持連接32個(gè)軸(脈沖驅(qū)動(dòng)器+Ether,CAT總線驅(qū)動(dòng)器一共32個(gè)),控制器本體只有6路脈沖接口,通過一個(gè)EIO16084可擴(kuò)展4路脈沖接口,支持脈沖驅(qū)動(dòng)器和總線驅(qū)動(dòng)器混合使用。

pYYBAGMErcOAUbJmAAIuRtKocrE162.png

上圖涉及的編號(hào)概念如下:總線相關(guān)指令參數(shù)會(huì)用到如下編號(hào)。

(1)槽位號(hào)(slot)

槽位號(hào)是指控制器上總線接口的編號(hào),EtherCAT總線槽位號(hào)為0。

(2)設(shè)備號(hào)(node)

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

(3)驅(qū)動(dòng)器編號(hào)

控制器會(huì)自動(dòng)識(shí)別出槽位上的驅(qū)動(dòng)器,編號(hào)從0開始,按驅(qū)動(dòng)器在總線上的連接順序自動(dòng)編號(hào)。

驅(qū)動(dòng)器編號(hào)與設(shè)備號(hào)不同,只給槽位上的驅(qū)動(dòng)器設(shè)備編號(hào),其他設(shè)備忽略,映射軸號(hào)時(shí)將會(huì)用到驅(qū)動(dòng)器編號(hào)。

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

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

1.IO映射

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

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

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

IO映射語法:

NODE_IO(slot,node)=iobase

slot:槽位號(hào),0-缺省node:設(shè)備編號(hào),編號(hào)從0開始

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

示例:

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

若設(shè)備0為EIO16084,按如上語法配置后,擴(kuò)展模塊上的通用輸入口IN0-15對(duì)應(yīng)的IO編號(hào)依次為32-47,軸接口內(nèi)的通用輸入口編號(hào)48-55,其中軸AXIS 0-3的驅(qū)動(dòng)報(bào)警輸入分別為48-51。通用輸出口OUT0-7應(yīng)的IO編號(hào)依次為32-39,軸接口內(nèi)的通用輸出口編號(hào)40-47,其中軸AXIS 0-3的驅(qū)動(dòng)使能輸出分別為40-43。

pYYBAGMErgCAa9keAABsu9Qnak0782.png

2.軸映射

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

軸映射語法:

AXIS_ADDRESS(軸號(hào))=(槽位號(hào)<<16)+驅(qū)動(dòng)器編號(hào)+1

示例:

AXIS_ADDRESS(0)=(0<<16)+0+1 'EtherCAT總線上的第一個(gè)驅(qū)動(dòng)器,驅(qū)動(dòng)器編號(hào)0,綁定為軸0
AXIS_ADDRESS(1)=(0<<16)+1+1 'EtherCAT總線上的第二個(gè)驅(qū)動(dòng)器,驅(qū)動(dòng)器編號(hào)1,綁定為軸1

若第一個(gè)節(jié)點(diǎn)是EIO16084,EIO16084上連接了驅(qū)動(dòng)器,那么這里的驅(qū)動(dòng)器0是連接在EIO16084上的第一個(gè)脈沖驅(qū)動(dòng)器,否則便是EtherCAT總線驅(qū)動(dòng)器。

05 拓展脈沖軸的使用方法

EIO16084擴(kuò)展模塊需要經(jīng)過總線初始化之后才能使用,我們這里把一個(gè)脈沖型驅(qū)動(dòng)器接到EIO16084擴(kuò)展模塊上的AXIS 0接口上,使用步驟如下。

第一步:執(zhí)行總線初始化程序(參見下節(jié)),初始化過程中識(shí)別EIO擴(kuò)展模塊的設(shè)備編號(hào)和連接的驅(qū)動(dòng)器編號(hào),根據(jù)驅(qū)動(dòng)器編號(hào)操作軸映射,根據(jù)設(shè)備號(hào)操作擴(kuò)展模塊的IO映射,設(shè)置DRIVE_PROFILE和ATYPE。

第二步:初始化成功后,使能EIO16084擴(kuò)展模塊上的脈沖驅(qū)動(dòng)器,同樣也是操作脈沖軸接口內(nèi)的OP信號(hào)使能驅(qū)動(dòng)器,由于擴(kuò)展模塊映射的起始編號(hào)是32,這里的AXIS 0-AXIS 3口內(nèi)的使能信號(hào)對(duì)應(yīng)通用輸出口編號(hào)是40-43。在輸出口窗口內(nèi)按下OP(40)或在程序中執(zhí)行指令OP(40,ON)均可使能AXIS 0的驅(qū)動(dòng)器。

第三步:使能完成設(shè)置相關(guān)軸參數(shù),再發(fā)送運(yùn)動(dòng)指令便可驅(qū)動(dòng)電機(jī)。

poYBAGMEsQSAclbxAAJuNNMCXPY227.png

在初始化操作成功后,總線上能識(shí)別該擴(kuò)展模塊,可查看擴(kuò)展模塊上的軸接口數(shù),IO映射后可查看輸入輸出的編號(hào)范圍。

例如設(shè)置起始編號(hào)為32,該擴(kuò)展模塊上的輸入編號(hào)為外部自帶的16點(diǎn)+軸接口通用輸入8點(diǎn),一共24點(diǎn),范圍32-55,輸出編號(hào)為外部自帶的8點(diǎn)+軸接口通用輸入8點(diǎn),一共16點(diǎn),范圍32-47。

poYBAGMEsUiAG4N5AABskl0d_FE876.png

EIO16084使用注意事項(xiàng):

擴(kuò)展模塊上的IO不管有沒有使用都需要使用NODE_IO指令映射EIO16084的輸入輸出編號(hào)。擴(kuò)展模塊的DRIVE_PROFILE配置為0,ATYPE設(shè)為65,但實(shí)際由于是脈沖型驅(qū)動(dòng)器,軸類型并不是65,真實(shí)軸類型的配置使用SDO指令配置數(shù)據(jù)字典6011h設(shè)置。初始化過程中若產(chǎn)生硬限位報(bào)警,可在軸參數(shù)窗口將硬限位FWD_IN和REV_IN的映射編號(hào)指向-1,表示不映射,需要接入限位開關(guān)時(shí)再去修改FWD_IN和REV_IN。

EIO16084擴(kuò)展模塊設(shè)置:

通過SDO指令讀寫數(shù)據(jù)字典設(shè)置,只開放了部分?jǐn)?shù)據(jù)字典供設(shè)置,更多驅(qū)動(dòng)器參數(shù)使用驅(qū)動(dòng)器軟件修改。

SDO指令配置輸入輸出:

編號(hào)

描述

類型

讀寫

其它說明

6000h

input

ARRAY U8

RO

1-閉合

6200h

Output

ARRAY U8

RW

1-打開

6206h

異常輸出模式

ARRAY U8

RW

1-使用異常輸出

6207h

異常輸出使用狀態(tài)

ARRAY U8

RW

/

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

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

編號(hào)

描述

類型

讀寫

其它說明

6011h

Atype

UNSIGNED8

rw

擴(kuò)展板軸的類型

0 虛擬軸

1 脈沖方向方式的步進(jìn)或伺服

2 模擬信號(hào)控制方式的伺服

3 正交編碼器

4 步進(jìn)+編碼器

5 步進(jìn)+脈沖方向編碼器

6 脈沖方向方式的編碼器

7 脈沖方向方式步進(jìn)或伺服+EZ信號(hào)輸入

6012h

Invert_Step

UNSIGNED16

rw

參見控制器說明書Invert_Step

6013h

Iolevel

UNSIGNED32

rw

B0-原點(diǎn)電平

B1-限位電平

B8-自動(dòng)使用使能信號(hào)

B9-使用ALM信號(hào)告警

B11-B15 原點(diǎn)信號(hào)選擇

6014h

Axisstatus

UNSIGNED32

ro

參見控制器說明書AXISSTATUS

6040h

Controlword

UNSIGNED16

rw

對(duì)應(yīng)主控制器DRIVE_CONTROLWORD

B0- Switch on

B1- Enable voltage

B3 - Enable operation

B7- Fault reset

6041h

Statusword

UNSIGNED16

ro

對(duì)應(yīng)主控制器DRIVE_STATUS

B0 Ready to switch on

B1 Switched on

B2 Operation enabled

B3 Fault

B4 Voltage enabled

B5 Quick stop

B7 Warning

B8 EZ status

B9 Remote

B10 Target reached

B11 Internal limit active

B12 - 13 Operation mode specific

B14 EA status

B15 EB status

6060h

Modes of operation

INTEGER8

rw

6 回零

8 周期定位

607Eh

極性

INTEGER8

rw

1 反向, 0-正常方向

60fDh

驅(qū)動(dòng)器輸入兼容

UNSIGNED32

rw

/

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

SDO_READ (槽位號(hào), 設(shè)備編號(hào), 數(shù)據(jù)字典編號(hào), 數(shù)據(jù)字典子編號(hào), 數(shù)據(jù)類型, 讀取數(shù)據(jù)存儲(chǔ)TABLE位置)SDO_READ_AXIS (軸號(hào), 數(shù)據(jù)字典編號(hào), 數(shù)據(jù)字典子編號(hào), 數(shù)據(jù)類型, 讀取數(shù)據(jù)存儲(chǔ)TABLE位置)

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

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

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

global sub Sub_SetNodePara(iNode,iVender,iDevice,Iaxis)
if iVender = $41B and iDevice = $1918 then '正運(yùn)動(dòng)16084脈沖擴(kuò)展軸
SDO_WRITE(Bus_Slot,iNode,$6011+Iaxis*$800,0,5,4) '設(shè)置擴(kuò)展脈沖軸ATYPE類型,值為4表示脈沖和編碼器信號(hào)在同一個(gè)軸號(hào)上
SDO_WRITE(Bus_Slot,iNode,$6012+Iaxis*$800,0,6,0) '設(shè)置擴(kuò)展脈沖軸INVERT_STEP脈沖輸出模式,模式0,脈沖+方向
NODE_IO(Bus_Slot,iNode) = 32 + 32*iNode '設(shè)置16084上IO的起始映射地址
endif
end sub

如果擴(kuò)展模塊之后還連接了EtherCAT驅(qū)動(dòng)器,使用時(shí)注意總線掃描設(shè)備數(shù)量的設(shè)置,EtherCAT驅(qū)動(dòng)器在初始化程序執(zhí)行完便使能成功,后續(xù)設(shè)置軸參數(shù)便能運(yùn)行,注意初始化過程中的DRIVE_PROFILE給EtherCAT驅(qū)動(dòng)器配置合適的PDO列表,需要用到驅(qū)動(dòng)器IO時(shí),還需操作DRIVE_IO映射。

06 總線初始化

此初始化程序可用來初始化EtherCAT驅(qū)動(dòng)器和EtherCAT總線擴(kuò)展模塊,建立通訊連接(通用模板,適用于多種品牌的驅(qū)動(dòng)器)。

pYYBAGMEsZqASZQ7AAJNP2AmP7I334.png

'*******************************************************ECAT總線初始化
global CONST BUS_TYPE = 0 '總線類型。可用于上位機(jī)區(qū)分當(dāng)前總線類型
global CONST MAX_AXISNUM =32 '最大軸數(shù)
global CONST Bus_Slot = 0 '槽位號(hào)0(單總線控制器缺省0)
global CONST PUL_AxisStart= 0 '本地脈沖軸起始軸號(hào)
global CONST PUL_AxisNum = 0 '本地脈沖軸軸數(shù)量
global CONST Bus_AxisStart = 6 總線軸起始軸號(hào)
global CONST Bus_NodeNum = 2 '總線配置節(jié)點(diǎn)數(shù)量,用于判斷實(shí)際檢測(cè)到的從站數(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 '判斷總線檢測(cè)數(shù)量是否為實(shí)際接線數(shù)量
?""
?"掃描節(jié)點(diǎn)數(shù)量與程序配置數(shù)量不一致!" ,"配置數(shù)量:"Bus_NodeNum,"檢測(cè)數(shù)量:"NODE_COUNT(Bus_Slot)
Bus_InitStatus = 0 '初始化失敗。報(bào)警提示
return
endif
'"開始映射軸號(hào)"
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è)備編號(hào)
Drive_Alias = NODE_INFO(Bus_Slot,Node_Num,3) '讀取設(shè)備撥碼ID
if NODE_AXIS_COUNT(Bus_Slot,Node_Num) <> 0 then '判斷當(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ù)(針對(duì)一拖多驅(qū)動(dòng)器)
Temp_Axis = Bus_AxisStart + Bus_TotalAxisnum '軸號(hào)按NODE順序分配
'Temp_Axis = Drive_Alias '軸號(hào)按驅(qū)動(dòng)器設(shè)定的撥碼分配(一拖多需要特殊處理)
base(Temp_Axis)
AXIS_ADDRESS= Bus_TotalAxisnum+1 '映射軸號(hào)
ATYPE=65 '設(shè)置控制模式 65-位置 66-速度 67-轉(zhuǎn)矩
Sub_SetPdo(Node_Num,Drive_Vender,Drive_Device) '設(shè)定PDO參數(shù)
Sub_SetNodePara(Node_Num,Drive_Vender,Drive_Device,j) '設(shè)置特殊總線參數(shù),包含EIO16084的配置
disable_group(Temp_Axis) '每軸單獨(dú)分組
Bus_TotalAxisnum=Bus_TotalAxisnum+1 '總軸數(shù)+1
next
else 'IO擴(kuò)展模塊
Sub_SetNodeIo(Node_Num,Drive_Vender,Drive_Device,1024 + 32*Node_Num) '映射擴(kuò)展模塊IO
endif
next
?"軸號(hào)映射完成","連接總軸數(shù):"Bus_TotalAxisnum
DELAY 200
SLOT_START(Bus_Slot) '啟動(dòng)總線
if return then
wdog=1 '使能總開關(guān)
'?"開始清除驅(qū)動(dòng)器錯(cuò)誤"
for i= Bus_AxisStart to Bus_AxisStart + Bus_TotalAxisnum - 1
BASE(i)
DRIVE_CLEAR(0)
DELAY 50
'?"驅(qū)動(dòng)器錯(cuò)誤清除完成"
datum(0) '清除控制器軸狀態(tài)錯(cuò)誤"
DELAY 100
'"軸使能"
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
?"總線開啟成功"
else
?"總線開啟失敗"
Bus_InitStatus = 0
endif
else
?"總線掃描失敗"
Bus_InitStatus = 0
endif
end sub

'*****************************************手動(dòng)配置PDO**********************************
'部分特殊品牌可能需要手動(dòng)配置,大部分只需要通過DRIVE_PROFILE設(shè)置自動(dòng)配置相應(yīng)的POD參數(shù)即可
'*******************************************************************************************
global sub Sub_SetPdo(iNode,iVender,iDevice)
IF iVender = 0 then '自定義PDO
SDO_WRITE (Bus_Slot, iNode, $1c12, 0 ,5 ,0) '禁用PDO,禁用后才可以修改內(nèi)容
DELAY(50)
SDO_WRITE (Bus_Slot, iNode, $1c13, 0 ,5 ,0)
DELAY(50)
SDO_WRITE (Bus_Slot, iNode, $1600, $0 ,5 ,0) 'RxPDO配置對(duì)應(yīng)參數(shù)
SDO_WRITE (Bus_Slot, iNode, $1600, $1 ,7 ,$60400010) '控制字
SDO_WRITE (Bus_Slot, iNode, $1600, $2 ,7 ,$607a0020) '目標(biāo)位置
SDO_WRITE (Bus_Slot, iNode, $1600, $3 ,7 ,$60fe0120) '驅(qū)動(dòng)器IO輸入
SDO_WRITE (Bus_Slot, iNode, $1600, $0 ,5 ,3)
SDO_WRITE (Bus_Slot, iNode, $1a00, $0 ,5 ,0) 'TxPDO配置對(duì)應(yīng)參數(shù)
SDO_WRITE (Bus_Slot, iNode, $1a00, $1 ,7 ,$60410010) '狀態(tài)字
SDO_WRITE (Bus_Slot, iNode, $1a00, $2 ,7 ,$60640020) '反饋位置
SDO_WRITE (Bus_Slot, iNode, $1a00, $3 ,7 ,$60fd0020) '驅(qū)動(dòng)器IO輸出
SDO_WRITE (Bus_Slot, iNode, $1a00, $0 ,5 ,3)
SDO_WRITE (Bus_Slot, iNode, $1c12, 1 ,6 ,$1600) 'RxPDO分配對(duì)象
DELAY(50)
SDO_WRITE (Bus_Slot, iNode, $1c13, 1 ,6 ,$1a00) TxPDO分配對(duì)象
DELAY(50)
SDO_WRITE (Bus_Slot, iNode, $1c12, 0 ,5 ,1) '啟用PDO
DELAY(50)
SDO_WRITE (Bus_Slot, iNode, $1c13, 0 ,5 ,1)
SDO_WRITE (Bus_Slot, iNode, $1C32, $1 ,6 ,2) '設(shè)置DC同步模式
SDO_WRITE (Bus_Slot, iNode, $1C33, $1 ,6 ,2)
DRIVE_PROFILE = -1 '使用驅(qū)動(dòng)缺省PDO配置
elseif iVender = $66f then
DRIVE_PROFILE = 4
else
DRIVE_PROFILE = 0
endif
end sub

'***************************************從站節(jié)點(diǎn)特殊參數(shù)配置*****************************
'通過SDO方式修改對(duì)應(yīng)對(duì)象字典的值修改從站參數(shù)(具體對(duì)象字典查看驅(qū)動(dòng)器手冊(cè))
'**********************************************************************************************
global sub Sub_SetNodePara(iNode,iVender,iDevice,Iaxis)
if iVender = $41B and iDevice = $1918 then '正運(yùn)動(dòng)EIO16084脈沖擴(kuò)展軸
SDO_WRITE(Bus_Slot,iNode,$6011,Iaxis*$800,5,4) '設(shè)置擴(kuò)展脈沖軸ATYPE類型
SDO_WRITE(Bus_Slot,iNode,$6012,Iaxis*$800,6,0) '設(shè)置擴(kuò)展脈沖軸INVERT_STEP脈沖輸出模式
NODE_IO(Bus_Slot,iNode) = 32 + 32*iNode '設(shè)置16084上IO的起始映射地址
elseif iVender = $66f then '松下驅(qū)動(dòng)器
SDO_WRITE(Bus_Slot,iNode,$3401,0,4,$10101) '正限位電平 $818181
SDO_WRITE(Bus_Slot,iNode,$3402,0,4,$20202) '負(fù)限位電平 $828282
SDO_WRITE(Bus_Slot,iNode,$6091,1,7,1) '齒輪比
SDO_WRITE(Bus_Slot,iNode,$6091,2,7,1)
SDO_WRITE(Bus_Slot,iNode,$6092,1,7,10000) '電機(jī)一圈脈沖數(shù)
SDO_WRITE(Bus_Slot,iNode,$607E,0,5,224) '電機(jī)方向0-反轉(zhuǎn)224
SDO_WRITE(Bus_Slot,iNode,$6085,0,7,4290000000) '異常減速度
'SDO_WRITE(Bus_Slot,iNode,$1010,1,7,$65766173) '寫EPPROM(寫EPPROM后驅(qū)動(dòng)器需要重新上電)
elseif iVender = $100000 then '匯川驅(qū)動(dòng)器
SDO_WRITE(Bus_Slot,iNode,$6091,1,7,1) '齒輪比
SDO_WRITE(Bus_Slot,iNode,$6091,2,7,1)
endif
end sub

'********************************總線IO模塊映射**************************************
'通過NODE_IO(Bus_Slot,Node_Num)分配模塊IO起始地址
'******************************************************************************************
global sub Sub_SetNodeIo(iNode,iVender,iDevice,i_IoNum)
if iVender = $41B and iDevice = $130 then '正運(yùn)動(dòng)EIO1616
NODE_IO(Bus_Slot,iNode) = i_IoNum
endif
end sub

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

總線上的主站為控制器,控制器連接的第一個(gè)從站設(shè)備為EIO16084擴(kuò)展模塊,第二個(gè)從站設(shè)備為EtherCAT總線驅(qū)動(dòng)器,沒有使用控制器的本地脈沖軸接口。總線上的驅(qū)動(dòng)設(shè)備映射軸號(hào)可以從6開始,EIO16084擴(kuò)展模塊的AXIS 0-3接口上的脈沖驅(qū)動(dòng)器映射為軸號(hào)6-9,EtherCAT總線驅(qū)動(dòng)器映射為軸號(hào)10,EIO16084擴(kuò)展模塊的IO編號(hào)起始為32。

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

pYYBAGMEsiCAZG1TAACEUIn2iJ0211.png

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

poYBAGMEsi6AGMsBAAEE0CEG9V8998.png

EtherCAT總線初始化執(zhí)行后,配置軸參數(shù),發(fā)送運(yùn)動(dòng)指令便可控制電機(jī)運(yùn)行,或參考下圖,通過手動(dòng)運(yùn)動(dòng)窗口,快速檢測(cè)EtherCAT總線驅(qū)動(dòng)器能否正常運(yùn)行。

poYBAGMEskCAe7nAAAJbkfJqQVo942.png

本次,正運(yùn)動(dòng)技術(shù)EtherCAT軸擴(kuò)展模塊EIO16084在運(yùn)動(dòng)控制系統(tǒng)中的應(yīng)用,就分享到這里。

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

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

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    運(yùn)動(dòng)控制系統(tǒng)基本架構(gòu)及控制軌跡要點(diǎn)簡(jiǎn)述

    運(yùn)動(dòng)控制起源于早期的伺服控制,本文與讀者分享的是運(yùn)動(dòng)控制的定義、運(yùn)動(dòng)
    發(fā)表于 04-07 10:47 ?4136次閱讀

    怎么設(shè)計(jì)懸掛運(yùn)動(dòng)控制系統(tǒng)

    在現(xiàn)代的工業(yè)控制、車輛運(yùn)動(dòng)和醫(yī)療設(shè)備等系統(tǒng),懸掛運(yùn)動(dòng)系統(tǒng)的應(yīng)用越來越多,在這些
    發(fā)表于 08-12 08:21

    什么是運(yùn)動(dòng)控制系統(tǒng)

    文章目錄第1章 緒論第2章 運(yùn)動(dòng)曲線2.0 引言2.1 運(yùn)動(dòng)學(xué)的基本概念2.2 常見運(yùn)動(dòng)曲線2.2.1 梯形速度曲線2.2.2 S 形速度曲線第3章 傳動(dòng)鏈設(shè)計(jì)第1章 緒論什么是運(yùn)動(dòng)
    發(fā)表于 09-01 07:06

    什么是運(yùn)動(dòng)控制系統(tǒng)運(yùn)動(dòng)控制系統(tǒng)的任務(wù)是什么?

    什么是運(yùn)動(dòng)控制系統(tǒng)運(yùn)動(dòng)控制系統(tǒng)的任務(wù)是什么?
    發(fā)表于 10-29 07:40

    運(yùn)動(dòng)技術(shù)EtherCAT擴(kuò)展模塊接線參考以及使用流程

    本帖最后由 正運(yùn)動(dòng)技術(shù) 于 2023-12-5 10:04 編輯 一、EtherCAT擴(kuò)展模塊接線參考 EIO16084數(shù)字量擴(kuò)展
    發(fā)表于 12-05 09:29

    FPGA 在運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì)Design of FPGA

    本文是在基于ARM+FPGA 的硬件平臺(tái)上進(jìn)行嵌入式運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì),ARM實(shí)現(xiàn)應(yīng)用管理,F(xiàn)PGA 實(shí)現(xiàn)插補(bǔ)運(yùn)算,發(fā)出脈沖到伺服驅(qū)動(dòng)系統(tǒng),形成運(yùn)動(dòng)指令
    發(fā)表于 06-01 15:09 ?27次下載

    MPC07控制卡在運(yùn)動(dòng)控制系統(tǒng)的應(yīng)用

    MPC07控制卡在運(yùn)動(dòng)控制系統(tǒng)的應(yīng)用本文采用MPC07控制卡來作為運(yùn)動(dòng)控制系統(tǒng)的開發(fā)平臺(tái),并利
    發(fā)表于 04-29 10:37 ?1704次閱讀
    MPC07<b class='flag-5'>控制卡在運(yùn)動(dòng)</b><b class='flag-5'>控制系統(tǒng)</b><b class='flag-5'>中</b>的應(yīng)用

    上位控制單元在運(yùn)動(dòng)控制系統(tǒng)的應(yīng)用

    本文對(duì)運(yùn)動(dòng)控制系統(tǒng)的幾種上位控制單元方案-單片機(jī)系統(tǒng),專業(yè)運(yùn)動(dòng)
    發(fā)表于 07-22 16:55 ?28次下載
    上位<b class='flag-5'>控制</b>單元<b class='flag-5'>在運(yùn)動(dòng)</b><b class='flag-5'>控制系統(tǒng)</b><b class='flag-5'>中</b>的應(yīng)用

    傳感器在運(yùn)動(dòng)控制系統(tǒng)起到了核心的作用

    傳感器是數(shù)據(jù)收集,系統(tǒng)監(jiān)測(cè)和控制反饋的重要組成部分。在運(yùn)動(dòng)控制應(yīng)用,傳感器采用旋轉(zhuǎn)或直線編碼器進(jìn)行位置反饋,傳感器(如用于速度傳感的轉(zhuǎn)速計(jì)
    發(fā)表于 11-04 11:34 ?5562次閱讀

    EtherCAT軸擴(kuò)展模塊EIO16084在運(yùn)動(dòng)控制系統(tǒng)的應(yīng)用

    IO地址編號(hào)通過總線指令NODE_IO來設(shè)置,控制器上程序只需通過IO編號(hào)就可以訪問到擴(kuò)展模塊上的資源。軸地址的配置使用“AXIS_ADDRESS”指令映射綁定軸號(hào),綁定完成通過BASE或AXIS指令指定軸號(hào)。
    發(fā)表于 09-05 11:31 ?834次閱讀

    運(yùn)動(dòng)控制系統(tǒng)是什么

    運(yùn)動(dòng)控制系統(tǒng) 其實(shí)運(yùn)動(dòng)控制系統(tǒng)是一個(gè)比較大的系統(tǒng),就像前面的通信系統(tǒng)一樣,通常會(huì)由眾多的組成部分
    發(fā)表于 04-21 18:02 ?2137次閱讀

    運(yùn)動(dòng)控制系統(tǒng)是什么?什么是運(yùn)動(dòng)控制系統(tǒng)

    運(yùn)動(dòng)控制系統(tǒng)其實(shí)運(yùn)動(dòng)控制系統(tǒng)是一個(gè)比較大的系統(tǒng),就像前面的通信系統(tǒng)一樣,通常會(huì)由眾多的組成部分構(gòu)
    的頭像 發(fā)表于 10-25 08:07 ?2776次閱讀
    <b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制系統(tǒng)</b>是什么?什么是<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制系統(tǒng)</b>?

    EtherCAT超高速實(shí)時(shí)運(yùn)動(dòng)控制卡XPCIE1032H上位機(jī)C#開發(fā)(四):板載IO與總線擴(kuò)展IO的編碼器與脈沖配置的應(yīng)用

    以正運(yùn)動(dòng)EIO24088和EIO16084為例,講解編碼器與脈沖配置的應(yīng)用。
    的頭像 發(fā)表于 12-01 09:04 ?780次閱讀
    EtherCAT超高速實(shí)時(shí)<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>控制</b>卡XPCIE1032H上位機(jī)C#開發(fā)(四):板載IO與總線<b class='flag-5'>擴(kuò)展</b>IO的編碼器與脈沖配置的應(yīng)用

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

    EIO24088-V2及EIO16084結(jié)合RTSys進(jìn)行總線配置與使用
    的頭像 發(fā)表于 10-19 17:56 ?848次閱讀
    8軸/4軸的EtherCAT軸<b class='flag-5'>模塊</b><b class='flag-5'>EIO</b>24088-V2及<b class='flag-5'>EIO16084</b>的使用(一):RTSys總線配置與使用

    8軸/4軸的EtherCAT軸模塊EIO24088G-V2及EIO16084G的使用(一):TwinCAT總線配置與使用

    EIO24088G-V2及EIO16084G結(jié)合TwinCAT總線配置與使用
    的頭像 發(fā)表于 10-25 08:53 ?773次閱讀
    8軸/4軸的EtherCAT軸<b class='flag-5'>模塊</b><b class='flag-5'>EIO</b>24088G-V2及<b class='flag-5'>EIO16084</b>G的使用(一):TwinCAT總線配置與使用