EtherCAT

2024/4/12 3:24:59

EtherCAT开源主站 IGH 介绍及主站伺服控制过程

目录 前言 IGH EtherCAT主站介绍 主要特点和功能 使用场景 SOEM 主站介绍 SOEM 的特点和功能 SOEM 的使用场景 IGH 主站 和 SOEM对比 1. 功能和复杂性 2. 资源消耗和移植性 3. 使用场景 EtherCAT 通信原理 EtherCAT主站控制伺服过程 位置规划模式 原点复归模式…

STM32F303+LAN9252的EtherCAT实现IO、AD、DA

从去年年末接触EtherCAT总线以来,由于其他一些工作原因,前期设计的基于STM32F303LAN9252开发板一直未能跑通,仅实现了LAN9252这部分电路与Twincat的通讯,MCU与LAN9252未能成功通信交互数据。近段时间又返回重新开始了这部分内容&a…

EtherCAT主站读取从站EEPROM抓包分析

0 工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1 抓包分析 1.1 报文总览 本文让主站去读取从站1字地址为0的EEPROM数据内容,主站读取从站EEPROM数据内容使用Wireshark抓包如下: 1.2 EEPROM读…

EtherCAT主站SOEM -- 20 --Qt-Soem通过 PT模式(力矩模式)控制一个电机转圈圈

EtherCAT主站SOEM -- 20 --Qt-Soem通过 PT模式(力矩模式)控制一个电机转圈圈 0 QT-SOEM视频预览及源代码下载:0.1 QT-SOEM视频预览0.2 QT-SOEM源代码下载PS 特别注意1 程序文件修改替换1.1 allvalue.h1.2 motrorcontrol.h1.3 mainwindow.cpp1.4 motrorcontrol.cpp2 ui界面显…

SOEM源码解析——ecx_init_context(初始化句柄)

0 工具准备 1.SOEM-master-1.4.0源码1 ecx_init_context函数总览 /*** brief 初始化句柄* param context 句柄*/ void ecx_init_context(ecx_contextt *context) {int lp;*(context->slavecount) 0;/* clean ec_slave array *//* 清空从站信息数组 */memset(context->…

SOEM源码解析——ecx_set_slaves_to_default(设置从站到默认状态)

0 工具准备 1.SOEM-master-1.4.0源码1 ecx_set_slaves_to_default函数总览 /*** @brief 设置从站到默认状态* * @param context 句柄*/ static void ecx_set_slaves_to_default(ecx_contextt *context) {uint8 b;uint16 w;uint8 zbuf[64];memset(

Ethercat 硬件初始化 HW_Init(void)

函数 HW_Init(void) \return 0 if initialization was successful ----------------- 返回值为0 表示初始化成功 \brief This function initialize the EtherCAT Slave Interface. -------------------- 此函数用于初始化EtherCAT从接口。 UINT16 HW_I…

Ubuntu22.04 lgh Ethercat master安装笔记

最近打算买一台伺服电机,测试一下EtherCAT 接口。打算采用开源的lgh。网络上有许多的lgh 安装指南,但是照着安装仍然由一些问题,只能边做边记笔记。 硬件 Dell T3360 台式机UP Squared 6000 边缘控制器 ubuntu 操作系统版本: …

EtherCAT从站EEPROM分类附加信息详解:RXPDO(输入过程数据对象)

0 工具准备 1.EtherCAT从站EEPROM数据(本文使用DE3E-556步进电机驱动器)1 分类附加信息——RXPDO(输入过程数据对象) 1.1 分类附加信息规范 在EEPROM字64开始的区域存储的是分类附加信息,这里存储了包括设备信息、SM配置、FMMU配置在内的诸多信息。每个信息在一段连续的…

SOEM主站开发篇(4):为APP程序添加人机交互功能

0 工具准备 1.SOEM-1.4.0源码(官网:http://openethercatsociety.github.io/) 2.Linux开发板(本文为正点原子I.MX6U ALPHA开发板) 3.交叉编译工具(arm-linux-gnueabihf-gcc) 4.cmake(版本不得低于3.9,本文为3.9.2) 5.Ubuntu 16.04(用于编译生成Linux开发板的可执行文…

EtherCAT主站SOEM -- 11 -- EtherCAT从站 XML 文件解析

EtherCAT主站SOEM -- 11 -- EtherCAT从站 XML 文件解析 1 EtherCAT 从站信息规范1.1 XML 文件说明1.1.1 XML 数据类型1.1.2 EtherCATInfo1.1.3 Groups1.1.4 Devices1.1.5 Modules1.1.6 Types1.1.6.1 AccessType 的组成1.1.6.2 ArraylnfoType 的组成1.1.6.3 DeviceType 的组成1.…

SOEM主站开发篇(3):为APP程序添加命令

0 工具准备 1.SOEM-1.4.0源码(官网:http://openethercatsociety.github.io/) 2.Linux开发板(本文为正点原子I.MX6U ALPHA开发板) 3.交叉编译工具(arm-linux-gnueabihf-gcc) 4.cmake(版本不得低于3.9,本文为3.9.2) 5.Ubuntu 16.04(用于编译生成Linux开发板的可执行文…

SOEM源码解析——ec_init(初始化单网卡主站)

0 工具准备 1.SOEM-master-1.4.0源码1 ec_init总览 /** Initialise lib in single NIC mode:初始化库在单网卡模式* param[in] ifname Dev name, f.e. "eth0" 设备名* return >0 if OK* see ecx_init*/ int ec_init(const char * ifname) {return ecx_init(&…

EtherCAT主站SDO读报文抓包分析

0 工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1 抓包分析 1.1 报文总览 本文读取从站1的对象字典,读取对象字典主索引为0x2000,子索引为0x00。主站通过发送SDO读报文实现对该对象字典的读取&…

【原创】浅谈EtherCAT主站EOE(上)-EOE网络

版权声明:本文为本文为博主原创文章,未经同意,禁止转载。如有问题,欢迎指正。博客地址:https://www.cnblogs.com/wsg1100/ 文章目录 一、EoE二、EoE服务规范EtherCAT主站如何提供EoE服务? 三、EoE网络EOE网…

SOEM源码解析——eeprom_read(读EEPROM)

0 工具准备 1.SOEM-master-1.4.0源码1 eeprom_read函数总览 eeprom_read函数在SOEM源码的路径如下:test->linux->eepromtool->eepromtool.c,功能是读取指定字地址和长度的EEPROM数据: /*** brief 读取EEPROM数据* * param slave …

IgH调试注意事项

1,不要在虚拟机测试,否则IgH无法收发数据包 现象:虚拟机中运行IgH master并绑定网卡后,主站由ORPHANED状态转换成IDLE状态,但无法收发数据报。 这是因为虚拟机用的是虚拟网卡,需通过iptables将数据包到转…

EtherCAT主站SOEM -- 17 --Qt-Soem通过界面按键控制电机转圈圈PP模式

EtherCAT主站SOEM -- 17 --Qt-Soem通过界面按键控制电机转圈圈PP模式 0 QT-SOEM视频预览及源代码下载:0.1 QT-SOEM视频预览0.2 QT-SOEM源代码下载1 程序文件修改替换1.1 allvalue.h1.2 motrorcontrol.h1.3 mainwindow.cpp1.4 motrorcontrol.cpp2 ui界面显示该文档修改记录:总…

EtherCAT从站调试测试

这是我从设计EtherCAT从站到调试过程中所遇到的一些问题记录。 1.Pin65引脚一定要接地 设计之初在刚上电时连接网线,网口指示灯不亮,也一直Twin不上,怀疑LAN9252未正常工作,最后检查电源、晶振电路、复位电路均正常,…

Download URL

/// EtherCAT 通讯 用户手册 驱动器 EtherCAT 运动控制应用手册 //

SOEM主站开发篇(5):CMakeLists.txt文件解析

0 工具准备 1.SOEM-1.4.0源码(官网:http://openethercatsociety.github.io/) 2.cmake(版本不得低于3.9,本文为3.9.2) 3.Ubuntu 16.04(用于编译生成Linux开发板的可执行文件) 4.CMake V3.9.6参考手册(官网:https://cmake.org/cmake/help/v3.9/manual/cmake-commands.…

EtherCAT主站SOEM -- 6 -- SOEM之ethercatcoe.h/c(ethercateoe/foe/soe)文件解析

EtherCAT主站SOEM -- 6 -- SOEM之ethercatcoe.h/c-ethercateoe/foe/soe 0 COE,EOE,FOE,SOE区别:0.1 ehercatcoe.h/c,ethercateoe.h/c,ethercatfoe.h/c及ethercatsoe.h/c一 ethercatcoe.h/c文件功能预览:二 ethercatcoe.h/c 文件的主要函数的作用:2.1.1 void ec_SDOerro…

IgH Master环境搭建

目标:实时linux内核中运行IgH主站,ethercat的用户态工具能看到主站信息。 一、需要的软件 1,vbox虚拟机 https://www.virtualbox.org/,下载VirtualBox 7.0, 备注:windows中不要用wsl开发,wsl运行unbuntu…

LinuxCNC 2.8.4下编译IGH ethercat-1.6.0和EtherCatDriver驱动

之前编译的IGH ethercat-1.5.2版本,在代码执行到ecrt_master_active时总是崩溃,并报“段错误”,但相同的代码在Ubuntu18.04、内核版本3.18.140-rt117系统下却是正常的;ethercat-1.5.2发布时的对应内核为2.6,但LinuxCNC…

EtherCAT主站SOEM -- 22 -- Wireshark抓取并分析EtherCAT数据

EtherCAT主站SOEM -- 22 -- Wireshark抓取并分析EtherCAT数据 0 QT-SOEM视频预览及源代码下载:0.1 QT-SOEM视频预览0.2 QT-SOEM源代码下载1.Wireshark下载及安装2.Wireshark抓取EtherCAT数据2.1 我抓取的数据包3.Wireshark过滤EtherCAT数据3.1 筛选EtherCAT数据的COE数据:3.2…

Igh related:Small Bug fixing

BUG1 Undefined symbol Identifier “CLOCK_MONOTONIC” Undefined symbol Identifier “TIMER_ABSTIME” Solution In your main cpp file, add this in the first line: #define _GNU_SOURCE

Igh related:Small Bug And Notes Record.

Write at the top My computer got some silly problem with the typing software that my Chinese IM does’t work again. So I’ll try to record the things happened in English. If any error,DM me plz. BUGs BUG1 Undefined symbol Identifier “CLOCK_MONOTONIC”…

SOEM主站开发篇(2):添加SOEM主站APP程序

0 工具准备 1.SOEM-1.4.0源码(官网:http://openethercatsociety.github.io/) 2.Linux开发板(本文为正点原子I.MX6U ALPHA开发板) 3.交叉编译工具(arm-linux-gnueabihf-gcc) 4.cmake(版本不得低于3.9,本文为3.9.2) 5.Ubuntu 16.04(用于编译生成Linux开发板的可执行文…

SOEM源码解析——ecx_detect_slaves(初始化从站、检测从站数量)

0 工具准备 1.SOEM-master-1.4.0源码1 ecx_detect_slaves函数总览 /*** @brief 检测从站数量* * @param context 句柄* @return int 从站数量*/ int ecx_detect_slaves(ecx_contextt *context) {uint8 b;uint16 w;int wkc;/* make special pre-init register writes to e…

EtherCAT从站EEPROM分类附加信息详解:SM(同步管理器)

0 工具准备 1.EtherCAT从站EEPROM数据(本文使用DE3E-556步进电机驱动器)1 分类附加信息——SM(同步管理器) 1.1 分类附加信息规范 在EEPROM字64开始的区域存储的是分类附加信息,这里存储了包括设备信息、SM配置、FM…

EtherCAT主站写从站EEPROM抓包分析

0 工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1 抓包分析 1.1 报文总览 本文主站设置从站1字地址为0的EEPROM数据为0x3C00(设置完毕后请还原字0的EEPROM数据),使用Wireshark抓取到…

EtherCAT主站SOEM -- 3 -- SOEM之ethercatconfig.h/c文件解析

EtherCAT主站SOEM -- 3 -- SOEM之ethercatconfig.h/c文件解析 一 ethercatconfig.h/c文件功能预览:二 ethercatconfig.h/c 中主要函数的作用:2.1.1 ec_config_init(uint8 usetable) 和 ecx_config_init(ecx_contextt *context, uint8 usetable)&#xff…

RK最强ARM系列之RK3588+AI+Ethercat(linux +xenomai+igh)实时解决方案

RK3588是瑞芯微新一代旗舰级高端处理器,具有高算力、低功耗、超强多媒体、丰富数据接口等特点。搭载四核A76四核A55的八核CPU和ARM G610MP4 GPU,内置6.0TOPs算力的NPU。 有五大技术优势 1. 内置多种功能强大的嵌入式硬件引擎,支持8K60fps 的…

EtherCAT主站SOEM -- 9 -- SOEM之基于QT搭建自己的EtherCAT主站

EtherCAT主站SOEM -- 9 -- SOEM之基于QT搭建自己的EtherCAT主站 0 QT-SOEM视频预览:一 准备Ubuntu系统和QT软件及SOEM:二 Soem搭建大概步骤:三 获取网口信息函数实现:3.1 实现流程:3.2 函数实现过程:3.2 ## 4.1 实现流程::四 在Qt中编写SOEM-EtherCAT主站程序4.1 实现流…

EtherCAT总线伺服电机/一体化伺服电机如何保存当前参数

在H1010-01写0x65766173; 更多ethercat总线伺服常见参数问题:一体化伺服电机参数调整

SOEM源码解析——ecx_siifind(寻找SII的分类段段头)

0 工具准备 1.SOEM-master-1.4.0源码1 ecx_siifind函数解析 在SOEM主站获取从站的SII信息时,经常可以看到这个ecx_siifind函数的身影,该函数内容如下: /** Find SII section header in slave EEPROM.在从站eeprom中寻找段头* @param[in] context = context stru…

EtherCAT主站SOEM -- 13 --Qt-Soem通过界面按键控制 EtherCAT IO模块的io输出

EtherCAT主站SOEM -- 13 --Qt-Soem通过界面按键控制 EtherCAT IO模块的io输出 一 mainwindow.c 文件函数:1.1 自定义PDO配置2.2 主站初始化2.3 去motrorcontrol界面二 motrorcontrol.c 文件三 allvalue.h 文件该文档修改记录:总结一 mainwindow.c 文件函数: mainwindow主界…

EtherCAT主站SOEM -- 1 -- SOEM之ethercattype.h文件分析

EtherCAT主站SOEM -- 1 -- SOEM之ethercattype.h文件分析 一 文件功能预览:二 该文件重要功能介绍:1. 返回值定义 (Return Values)2.1.1 EC_NOFRAME (-1)2.1.2 EC_OTHERFRAME (-2)2.1.3 EC_ERROR (-3)2.1.4 EC_SLAVECOUNTEXCEEDED (-4)2.1.5 EC_TIMEOUT (-5) 2. Eth…

EtherCAT主站SOEM -- 2 -- SOEM之ethercatbase.h/c文件解析

EtherCAT主站SOEM -- 2 -- SOEM之ethercatbase.h/c文件解析 一 ethercatbase.h/c文件功能预览:二 ethercatbase.h/c 文件的主要函数的作用:2.1 ecx_writedatagramdata:2.2 ecx_setupdatagram:2.3 ecx_adddatagram:2.4 …

虹科技术 | 虹科EtherCAT增量编码器输入模块数据采集实操测试

1. 背景介绍 编码器是将信号或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为…

EtherCAT 伺服控制功能块实现

EtherCAT 是运动控制领域主要的通信协议,开源EtherCAT 主站协议栈 IgH 和SOEM 两个项目,IgH 相对更普及一些,但是它是基于Linux 内核的方式,比SOEM更复杂一些。使用IgH 协议栈编写一个应用程序,控制EtherCAT 伺服电机驱…

EtherCAT从站EEPROM分类附加信息详解:FMMU(现场总线内存管理单元)

0 工具准备 1.EtherCAT从站EEPROM数据(本文使用DE3E-556步进电机驱动器)1 分类附加信息——FMMU(现场总线内存管理单元) 1.1 分类附加信息规范 在EEPROM字64开始的区域存储的是分类附加信息,这里存储了包括设备信息…

EtherCAT主站SOEM -- 19 --Qt-Soem通过CSP模式(周期同步位置模式)控制一个电机转圈圈

EtherCAT主站SOEM -- 19 --Qt-Soem通过CSP模式(周期同步位置模式)控制一个电机转圈圈 0 QT-SOEM视频预览及源代码下载:0.1 QT-SOEM视频预览0.2 QT-SOEM源代码下载1 程序文件修改替换1.1 allvalue.h1.2 motrorcontrol.h1.3 mainwindow.cpp1.4 motrorcontrol.cpp2 ui界面显示该…

EtherCAT主站SOEM-- 0 SOEM下载编译及文件功能介绍

0 介绍EtherCAT主站SOEM文件及主要功能函数 1. soem介绍:2 soem主要功能文件说明:3 soem下载链接4 编译soem4.1 Windows (Visual Studio):4.2 Linux & macOS: 该文档修改记录:总结 1. soem介绍: SOEM&…

SOEM控制伺服电机方法

之前我写了一个控制伺服的程序&#xff0c;但是方式是错误的&#xff0c;后来也不怎么SOEM了&#xff0c;最近有用到&#xff0c;就重新写了一个测试程序&#xff0c;重新发布一下 我使用的是23位编码器电机 #include <stdio.h> #include <sys/time.h> #include &…

EtherCAT主站SOEM -- 4 -- SOEM之ethercatprint.h/c文件解析

EtherCAT主站SOEM -- 4 -- SOEM之ethercatprint.h/c文件解析 一 ethercatprint.h/c文件功能预览&#xff1a;二 ethercatprint.h/c 文件的主要函数的作用&#xff1a;2.1.1 char* ec_sdoerror2string(uint32 sdoerrorcode)2.1.2 char* ec_ALstatuscode2string(uint16 ALstatusc…

EtherCAT总线伺服电机/一体化伺服电机如何清零当前位置

虚拟端子H2017-0133&#xff08;设置零点&#xff09;&#xff0c;H2017-02设置高电平有效&#xff1b; H2031-01先写1再写0&#xff1b;

qt高精度定时器的使用停止线程应用

##线程停止 //线程停止应用 public: explicit WorkerThread(QObject *parent 0) :QThread(parent), m_bStopped(false){qDebug() << "Worker Thread : " << QThread::currentThreadId();}~WorkerThread(){stop();quit();wait();}void stop() {qDebug()…

SOEM源码解析——ecx_siigetbyte(通过缓存读取SII)

0 工具准备 1.SOEM-master-1.4.0源码1 ecx_siigetbyte函数总览 /** Read one byte from slave EEPROM via cache.通过从站EEPROM缓存区读取1个字节数据* If the cache location is empty then a read request is made to the slave. 如果读取的缓存区为空则向从站发起读取* …

开源工业以太网现场总线协议栈汇总

开源现场总线协议栈 EtherNet/IP、EtherCAT master、Profinet开源汇总&#xff1a; EtherNet/IP:https://github.com/EIPStackGroup/OpENer EtherCAT master:https://gitlab.com/etherlab.org/ethercat EtherCAT master:https://github.com/OpenEtherCATsociety/soem http…

EtherCAT报文-LRW(逻辑寻址读写)抓包分析

0.工具准备 1.EtherCAT主站 2.EtherCAT从站(本文使用步进电机驱动器) 3.Wireshark1.EtherCAT报文帧结构 EtherCAT使用标准的IEEE802.3 Ethernet帧结构,帧类型为0x88A4。EtherCAT数据包括2个字节的数据头和44-1498字节的数据。数据区由一个或多个EtherCAT子报文组成,每个子…

EtherCAT主站SOEM -- 8 -- SOEM之 ec_slave 结构体详细分析

EtherCAT主站SOEM -- 8 -- SOEM之 ec_slave 结构体详细分析 一 ec_slave 结构体功能预览:二 ec_slave结构体成员变量翻译三 ec_slave里成员变量的使用该文档修改记录:总结ec_slavet 结构体是用于描述EtherCAT网络上从站的详细信息的数据结构。非常重要也是最经常使用的一个结…

EtherCAT主站SOEM -- 16 --Qt-Soem通过界面按键控制电机转圈圈PV模式

EtherCAT主站SOEM -- 16 --Qt-Soem通过界面按键控制电机转圈圈 0 QT-SOEM视频预览及源代码下载:0.1 QT-SOEM视频预览0.2 QT-SOEM源代码下载1 程序文件修改替换1.1 allvalue.h1.2 motrorcontrol.h1.3 mainwindow.cpp1.4 motrorcontrol.cpp2 ui界面显示该文档修改记录:总结上下…

EtherCAT主站SOEM -- 5 -- SOEM之ethercatdc.h/c文件解析

EtherCAT主站SOEM -- 5 -- SOEM之ethercatdc.h/c文件解析 一 ethercatdc.h/c文件功能预览:二 ethercatdc.h/c 文件的主要函数的作用:2.1.1 函数:`ec_configdc()`2.1.2 函数:`ec_dcsync0(uint16 slave, boolean act, uint32 CyclTime, int32 CyclShift)`2.1.3 函数:`ec_dcs…

EtherCat

百度安全验证 EtherCAT&#xff08;Ethernet for Control Automation Technology&#xff09;是一种高性能、实时性强的工业以太网通信协议&#xff0c;它可以实现多个从站设备通过一个主站设备进行控制和通信。 主站&#xff1a; EtherCAT主站是指控制整个EtherCAT网络的设备…

EtherCAT诊断-分布时钟同步诊断

我们在做EtherCAT主从通讯测试时&#xff0c;比较容易在DC配置出现错误&#xff0c;特别是使用到从站DC模式时&#xff0c;有时会出现代码为0x1A的“同步错误”&#xff0c;有时即使没报错误&#xff0c;伺服从站运行过程中也会出现电机轴的抖动&#xff0c;什么原因呢&#xf…

2021年3月7日【Jiawei_Z】Ethercat的从站节点地址

Ethercat的从站节点地址&#xff0c;首先再看一下 EtherCAT 帧结构 因为EtherCAT采用了 IEEE 802.3 作为其标准以太网帧&#xff0c;只是对 IEEE 802.3 Ethernet 规格进行扩充&#xff0c; 并未对基本结构进行任何变更&#xff0c;因此可以转送标准的 Ethernet 帧内的数据&am…

TwinCAT ENI 数据详解

使用倍福TwinCAT工具可以生成ENI&#xff0c;先对ENI的cyclic frame数据进行解释说明 需要提前了解EtherCAT报文格式&#xff0c;可参考下面文章 EtherCAT报文格式详解_ethercat listtype 1_EtherCat技术研究的博客-CSDN博客https://blog.csdn.net/gufuguang/article/details/…

倍福控制器搭建IgH环境

最近收到了倍福CX5230控制器&#xff0c;控制器上自带EBUS总线扩展的IO&#xff0c;使用的是CCAT网卡&#xff0c;在控制器上安装preempt-rt Linux系统&#xff0c;再安装IgH。 IgH正常识别到了扩展的IO模块。 运行控制程序&#xff0c;可以正常控制IO输出。