91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

【睿擎派】EtherCAT總線之IO模塊讀寫

RT-Thread官方賬號 ? 2025-12-31 19:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群



上一篇文章《【睿擎派】CANOpen總線之IO模塊讀寫(DS401協(xié)議)》我寫了關(guān)于睿擎派上CANOpen的IO模塊通信,為什么先寫CANOpen?說來也有挺意思,是因為在睿擎派上對接EtherCAT的IO模塊,花費(fèi)了很久時間,也沒有多少進(jìn)展,所以轉(zhuǎn)頭去研究了基于CANOpen對接IO模塊,因為二者是有非常大的淵源的。


一、EtherCAT和CANOpen的異同



1980年代CAN總線誕生,1996年CANOpen協(xié)議發(fā)布,2003年EtherCAT技術(shù)發(fā)布。EtherCAT 和 CANopen 的核心關(guān)系是:CANopen 是協(xié)議規(guī)范(側(cè)重應(yīng)用層),EtherCAT 是總線技術(shù)(側(cè)重物理層 / 傳輸層)—— 兩者均源于 CAN 總線生態(tài),EtherCAT 復(fù)用了 CANopen 的核心應(yīng)用層規(guī)范,同時在底層傳輸上實(shí)現(xiàn)了質(zhì)的突破,最終形成 “上層兼容、底層獨(dú)立” 的技術(shù)互補(bǔ)格局。


EtherCAT完全復(fù)用 CANopen 的對象字典結(jié)構(gòu)(索引范圍、尋址方式),僅在 0x1C00~0x1C3F 等區(qū)間擴(kuò)展了 Sync Manager、DC 同步等專屬索引。完全保留 PDO/SDO 的功能定義,僅改變了底層傳輸方式。


CANopen 的 PDO 通過 COB-ID 映射到 CAN 幀,EtherCAT 的 PDO 通過 Sync Manager(同步管理器)綁定到以太網(wǎng)幀;CANopen 的 SDO 通過 CAN 幀分片傳輸,EtherCAT 的 SDO 通過郵箱通道(SM0/SM1)實(shí)現(xiàn)低延遲傳輸;


CANopen通過 EDS(Electronic Data Sheet)文件描述設(shè)備的對象字典、PDO 映射等配置,主站通過 EDS 識別設(shè)備;


EtherCAT通過 ESI(EtherCAT Slave Information)文件擴(kuò)展 EDS 規(guī)范,新增了 Sync Manager、DC 同步、FMMU 等 EtherCAT 專屬配置,同時兼容 EDS 的核心內(nèi)容;


此外比較關(guān)鍵的差異就是CAN總線最大速率1Mbps,ms級抖動,而EtherCAT最大可以1Gbps速率,us級抖動。這其中的原因除了速率上的差異外,傳輸機(jī)制上有很大的差別,CANOpen是幀逐節(jié)點(diǎn)轉(zhuǎn)發(fā),需等待節(jié)點(diǎn)處理后再傳遞,而幀 “并行處理”,所有節(jié)點(diǎn)同時讀取幀中自身數(shù)據(jù)(如下面的動圖比較形象的展現(xiàn)了EtherCAT的傳輸原理)。


df4faed4-e638-11f0-8ce9-92fbcf53809c.gif

CANOpen主要運(yùn)用在低速設(shè)備(傳感器、執(zhí)行器)、低成本場景,而EtherCAT多用在高速 IO、多軸伺服、實(shí)時控制場景,比如機(jī)器臂,具身智能等設(shè)備上。


二、睿擎派對接雷賽EM32DX-E4-V30模塊



我從RC-Pi-3506的SDK1.5.0版本開始進(jìn)行IO模塊對接,經(jīng)過SDK1.7.0版本,最后在SDK1.7.2版本上在RTT郭老師的協(xié)助下調(diào)試成功,SDK1.7.2和SDK1.7.0關(guān)于EtherCAT的接口調(diào)用差異還是蠻大的,所以本篇內(nèi)容以SDK1.7.2版本為準(zhǔn)。


在真正對接之前,除了硬件模塊外,還需要硬件手冊和ESI文件(文后附相關(guān)文件下載鏈接)。

df621f2e-e638-11f0-8ce9-92fbcf53809c.jpg


我們以BSP 1.7.2版本的示例工程06_bus_ethercat_master_2motor_1io為基礎(chǔ)進(jìn)行開發(fā)調(diào)試。

df722d74-e638-11f0-8ce9-92fbcf53809c.png


本代碼的官方說明的鏈接如下:

https://www.rt-thread.com/ruiching/document/site/rc3506/q7dq3ksb/#%E7%A4%BA%E4%BE%8B%E8%BF%90%E8%A1%8C


原示例支持2個伺服器+1個IO模塊,為了簡化,我們睿擎派只連接一個IO模塊(如下圖)。

df7d6220-e638-11f0-8ce9-92fbcf53809c.png

所以ethercat_2motor_1io.c文件的第16行代碼我們把電機(jī)的數(shù)量調(diào)整為0。

define MOTOR_NUM 0 //2


(1)配置PDO



最關(guān)鍵的部分是修改IO模塊的PDO定義,由于官方示例中所用的IO模塊(SG-ELC)和我們的型號規(guī)格不同,所以需要修改這部分配置。


查閱《EM32DX-E4 模塊用戶手冊 V3.1》 第20頁 5.2.1小結(jié)(如下圖)

df8cc864-e638-11f0-8ce9-92fbcf53809c.png

對應(yīng)IO模塊16路開關(guān)量輸入,所以對應(yīng)的pdo定義的代碼如下:


static ec_pdo_entry_info_t eio_input_pdo_entries[] =

{

{ 0x6000, 0x01, 16 },

};

0x6000是索引地址

0x01 是子索引地址

16表示16bit

同樣,我們查閱第22頁5.2.3小結(jié)(如下圖)

df9ac57c-e638-11f0-8ce9-92fbcf53809c.png

對應(yīng)IO模塊的16路開關(guān)量輸出,所以對應(yīng)的pdo定義代碼如下:

staticec_pdo_entry_info_teio_output_pdo_entries[] ={{0x7000,0x01,16},};

0x7000是索引地址

0x01 是子索引地址

16表示16bit

ec_pdo_entry_info_t是定義單個PDO條目的核心屬性類型,其結(jié)構(gòu)體的定義如下:

typedefstruct{uint16_tindex; / PDO entry index. */uint8_tsubindex; / PDO entry subindex. /uint8_tbit_length;/** Size of the PDO entry in bit. /} ec_pdo_entry_info_t;

index – DO主索引 (對象字典對應(yīng)條目主索引地址)

subindex- DO子索引

bit_length – 對應(yīng)的位數(shù)

我們再看5.2.1和5.2.3的說明,TxPDO0的索引地址為0x1A00,RxPDO0的索引地址為0x1600。

我們需要配置eio_pdos 對象數(shù)組,其結(jié)構(gòu)體定義為ec_pdo_info_t ,原型如下:

typedefstruct{uint16_tindex;uint32_tn_entries;ec_pdo_entry_info_tconstentries;}ec_pdo_info_t;

index – PDO索引,本身也是對象字典的一部分,TxPDO是 從站à主站(數(shù)據(jù)上傳),RxPDO是主站à從站(指令下發(fā))。

n_entries – 對應(yīng)條目的數(shù)量

entries 條目數(shù)組指針。

所以eio_pdos 對象數(shù)組的定義代碼如下:

ec_pdo_info_teio_pdos[] = {{0x1600,1, eio_output_pdo_entries },{0x1a00,1, eio_input_pdo_entries },};

接下來我們定義同步管理器相關(guān)內(nèi)容。我們先看ec_sync_info_t 結(jié)構(gòu)體定義。

typedefstruct{uint8_tindex;/** Sync manager index. /ec_direction_t dir / Sync manager direction. */uint32_tn_pdos; / Number of PDOs in a pdos. /ec_pdo_info_tconstpdos; /< Array with PDOs to assign. Thismust contain at least \a n_pdos PDOs. */ec_watchdog_mode_t?watchdog_mode; / Watchdog mode. */}?ec_sync_info_t;

index – 同步管理器的硬件索引 0 – 15,常見的是SM0-SM3

對應(yīng)SDO非實(shí)時操作

SM0(索引 0)- 主站→IO 模塊(系統(tǒng)配置入),發(fā)送SDO報文,配置對象字典,接受CoE管理指令、

SM1(索引 1)- IO 模塊→主站(系統(tǒng)響應(yīng)出),SDO響應(yīng)報文,回傳診斷信息,發(fā)送從站狀態(tài)切換碼。

對應(yīng)PDO實(shí)時操作:

SM2(索引 2)- 主站→IO 模塊(輸出)

SM3(索引 3)- IO 模塊→主站(輸入)

dir – SM的傳輸方向 EC_DIR_OUTPUT:主站輸出→從站輸入(RxPDO,如 DO 控制),EC_DIR_INPUT:從站輸出→主站輸入(TxPDO,如 DI 采集)。

n_pdos – SM要綁定的PDO數(shù)量(pdos數(shù)組中的PDO個數(shù))

watchdog_mode — 看門狗模式(枚舉類型):

EC_WD_DISABLE:禁用看門狗

EC_WD_ON:啟用看門狗(主站心跳超時后,從站進(jìn)入安全狀態(tài),如 DO 歸零)

綜上,所以eio_syncs的數(shù)組定義如下:

ec_sync_info_teio_syncs[] ={{2, EC_DIR_OUTPUT,1, &eio_pdos[0], EC_WD_DISABLE },{3, EC_DIR_INPUT,1, &eio_pdos[1], EC_WD_DISABLE },};

也就是官方代碼(右邊)被左邊的代碼代替。

dfa96ea6-e638-11f0-8ce9-92fbcf53809c.png

(2)配置DC

這部分相關(guān)的內(nèi)容需要查詢ESI文件,也就是因為DC配置有誤,設(shè)備總進(jìn)入不到OP模式的主要原因。


EM32DX-E4.xml文件里,支持兩種產(chǎn)品型號,一種是EM32DX-E4-V30,一種是EM32DX-E4,


EM32DX-E4是支持DC同步的,配置如下圖所示:

dfb6d65e-e638-11f0-8ce9-92fbcf53809c.jpg


而EM32DX-E4-V30對應(yīng)的ESI描述如下:

dfc60c3c-e638-11f0-8ce9-92fbcf53809c.jpg


通過讀取設(shè)備數(shù)據(jù)字典的信息,我們知道當(dāng)前這款EM32DX-E4模塊其實(shí)是EM32DX-E4-V30。它是不支持DC的。

dfd4501c-e638-11f0-8ce9-92fbcf53809c.jpg

相關(guān)DC配置必須為0才可以。另外查手冊或者回讀數(shù)據(jù)字典,我們都可以知道廠商ID為0x00004321,這個地方需要替換一下。


此外進(jìn)入OP模式后,電機(jī)操作的代碼注釋掉就可以了,這里不做詳述了。


三、運(yùn)行調(diào)試


編譯代碼,然后部署。最后在遠(yuǎn)程操作終端,我們輸入ect_csp_io,進(jìn)行EtherCAT總線初始化及相關(guān)的配置。然后再輸入motor_run命令,就可以看到開關(guān)量輸出燈像走馬燈一樣運(yùn)轉(zhuǎn)了。


dfe264e0-e638-11f0-8ce9-92fbcf53809c.jpg


dfed1124-e638-11f0-8ce9-92fbcf53809c.gif


附1:內(nèi)置調(diào)試命令

dfff0014-e638-11f0-8ce9-92fbcf53809c.jpg



附2:雷賽EM32DX-E4說明書和ESI文件


https://download.csdn.net/download/yefanqiu/92462286

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

    關(guān)注

    59

    文章

    3065

    瀏覽量

    472714
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    3039

    瀏覽量

    91650
  • ethercat
    +關(guān)注

    關(guān)注

    19

    文章

    1506

    瀏覽量

    45141
  • IO模塊
    +關(guān)注

    關(guān)注

    0

    文章

    177

    瀏覽量

    14418
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    10分鐘上手平臺GUI開發(fā):第一個LVGL圖形應(yīng)用

    ,在平臺上支持LVGL能夠更好地發(fā)揮其優(yōu)勢,為開發(fā)者帶來更多便利。一環(huán)境搭建:5分鐘極速配置1.硬件準(zhǔn)備開發(fā)板:
    的頭像 發(fā)表于 06-06 18:41 ?2777次閱讀
    10分鐘上手<b class='flag-5'>睿</b><b class='flag-5'>擎</b>平臺GUI開發(fā):第一個LVGL圖形應(yīng)用

    基于輕松玩轉(zhuǎn)CANopen電機(jī)控制

    在工業(yè)自動化領(lǐng)域,穩(wěn)定高效的設(shè)備間通信是核心。CANopen協(xié)議憑借其可靠性,成為眾多工業(yè)設(shè)備(如伺服電機(jī))的首選通信標(biāo)準(zhǔn)。今天,我們就來展示如何利用RT-Thread工業(yè)開發(fā)平臺,快速構(gòu)建一個
    的頭像 發(fā)表于 07-19 09:04 ?5903次閱讀
    基于<b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>輕松玩轉(zhuǎn)CANopen電機(jī)控制

    基于輕松玩轉(zhuǎn)Modbus工業(yè)通信

    。今天,我們就帶來一篇實(shí)戰(zhàn)教程,教大家如何基于/工業(yè)平臺,分別作為ModbusRTU主機(jī)和ModbusTCP主機(jī),讀取Modbus
    的頭像 發(fā)表于 07-23 17:05 ?3796次閱讀
    基于<b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>輕松玩轉(zhuǎn)Modbus工業(yè)通信

    配件上新!4.3寸/7寸MIPI屏、UVC攝像頭、4G模塊等硬件全線出擊

    RT-Thread工業(yè)開發(fā)平臺再添硬核助力!全新上線的多款配件將徹底釋放開發(fā)板的潛力,為工業(yè)控制、邊緣計算、HMI人機(jī)交互等場景提
    的頭像 發(fā)表于 08-13 17:05 ?4918次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>配件上新!4.3寸/7寸MIPI屏、UVC攝像頭、4G<b class='flag-5'>模塊</b>等硬件全線出擊

    EtherCAT多軸控制技術(shù):如何實(shí)現(xiàn)低抖動高精度運(yùn)動控制 | 深度解析

    在工業(yè)自動化領(lǐng)域,運(yùn)動控制的精度和穩(wěn)定性直接決定了生產(chǎn)效率和產(chǎn)品質(zhì)量。近日,SDKV1.5.0版本重磅發(fā)布,其中EtherCAT多軸控制技術(shù)的升級尤為引人注目。今天,我們就來深入解析這項技術(shù)
    的頭像 發(fā)表于 10-15 18:39 ?6067次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>EtherCAT</b>多軸控制技術(shù):如何實(shí)現(xiàn)低抖動高精度運(yùn)動控制 | 深度解析

    文件系統(tǒng)指南:從開發(fā)到發(fā)布全流程實(shí)踐 | 技術(shù)解析

    在嵌入式系統(tǒng)開發(fā)中,文件系統(tǒng)扮演著至關(guān)重要的角色,它負(fù)責(zé)數(shù)據(jù)的持久化存儲、配置文件管理和資源訪問等核心功能。平臺提供了一套完整的文件系統(tǒng)解決方案,從開發(fā)階段的API調(diào)用到調(diào)試階段的文件操作,再到
    的頭像 發(fā)表于 11-05 18:13 ?8085次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>文件系統(tǒng)指南:從開發(fā)到發(fā)布全流程實(shí)踐 | 技術(shù)解析

    】CANOpen總線IO模塊讀寫(DS401協(xié)議)

    以瑞芯微RK3506為主控芯片,底層搭載RT-Thread操作系統(tǒng),基于專為工業(yè)場景打造的工業(yè)平臺進(jìn)行開發(fā)。該平臺是全棧自主可控的
    的頭像 發(fā)表于 12-24 18:01 ?7141次閱讀
    【<b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>】CANOpen<b class='flag-5'>總線</b><b class='flag-5'>之</b><b class='flag-5'>IO</b><b class='flag-5'>模塊</b><b class='flag-5'>讀寫</b>(DS401協(xié)議)

    正運(yùn)動技術(shù)運(yùn)動控制器EtherCAT總線的基礎(chǔ)使用

    EtherCAT總線擴(kuò)展模塊包含哪些?怎樣去使用正運(yùn)動技術(shù)運(yùn)動控制器EtherCAT總線?
    發(fā)表于 09-27 08:34

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

    完成還需運(yùn)行總線初始化程序才能與驅(qū)動器通訊,初始化模板程序參見下文。 注意: 使用EtherCAT總線擴(kuò)展模塊時,也要執(zhí)行總線初始化操作,再
    發(fā)表于 05-11 09:49

    EtherCAT總線IO模塊功能及安裝介紹

    XD系列插片式遠(yuǎn)程IO模塊,成套系統(tǒng)主要由耦合器、各種功能IO模塊、電源輔助模塊以及終端模塊組成
    的頭像 發(fā)表于 07-14 09:14 ?2480次閱讀
    <b class='flag-5'>EtherCAT</b><b class='flag-5'>總線</b><b class='flag-5'>IO</b><b class='flag-5'>模塊</b>功能及安裝介紹

    平臺極簡開發(fā)重要實(shí)踐—— PinMux 配置工具 | 試用名單公示

    RT-Thread工業(yè)開發(fā)平臺是為工業(yè)場景設(shè)計的軟硬件一體化開發(fā)方案,全棧自主可控,賦能用戶聚焦核心業(yè)務(wù)創(chuàng)新,大幅提升開發(fā)效率。平臺以極簡化設(shè)計理念來指導(dǎo)產(chǎn)品開發(fā)。為降低開發(fā)門
    的頭像 發(fā)表于 06-11 17:05 ?1439次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>擎</b>平臺極簡開發(fā)重要實(shí)踐—— PinMux 配置工具 | <b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>試用名單公示

    RK3506J開發(fā)板開箱記錄、初步調(diào)試

    基于RK3506J開發(fā),RK3506J是一款三核A7+M0的入門級工業(yè)MPU,由于其價位低,性能優(yōu)異,近期收到熱捧,各家都出了很多RK3506J的開發(fā)板,賽德也出了一款,不過是
    的頭像 發(fā)表于 06-20 20:43 ?2312次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>RK3506J開發(fā)板開箱記錄、初步調(diào)試

    【MCU體驗、MPU性能】 RC3506 套件今日10點(diǎn)淘寶獨(dú)家開售!首批200套,搶完即止!| 產(chǎn)品動態(tài)

    工業(yè)開發(fā)平臺-RC-Pi3506套件今日在淘寶「賽德科技」店鋪正式發(fā)售!原價299元
    的頭像 發(fā)表于 07-04 09:04 ?1187次閱讀
    【MCU體驗、MPU性能】<b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b> RC3506 套件今日10點(diǎn)淘寶獨(dú)家開售!首批200套,搶完即止!| 產(chǎn)品動態(tài)

    基于輕松玩轉(zhuǎn)EtherCAT主站,實(shí)現(xiàn)電機(jī)精確控制

    總線技術(shù)。本次實(shí)戰(zhàn)教程將基于平臺,演示實(shí)現(xiàn):EtherCAT主站開發(fā)CSP模式伺服電機(jī)精準(zhǔn)控制遠(yuǎn)程
    的頭像 發(fā)表于 07-30 17:03 ?5165次閱讀
    基于<b class='flag-5'>睿</b><b class='flag-5'>擎</b><b class='flag-5'>派</b>輕松玩轉(zhuǎn)<b class='flag-5'>EtherCAT</b>主站,實(shí)現(xiàn)電機(jī)精確控制

    平臺v1.7.2版本正式發(fā)布|技術(shù)集結(jié)

    系統(tǒng)靈活性與性能●全面支持RuiChingStudio專業(yè)開發(fā)工具●預(yù)置豐富示例工程,加速開發(fā)進(jìn)程RC3506EMMC版本硬件同步上架
    的頭像 發(fā)表于 12-17 18:10 ?558次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>擎</b>平臺v1.7.2版本正式發(fā)布|技術(shù)集結(jié)