问题标签 [ethercat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4017 浏览

linux - EtherCat module :How to communicate with linux

I'am going to communicate EtherCAT master(CX2020) with Linux OS PC(ubuntu) for storing value from PLC on server and writing also.

By EthearCAT network protcol, it should be availave to communicate with windows plc installed twincat.

But I couldn't find the way for Linux.

Is there any solution?

0 投票
2 回答
1420 浏览

automation - EtherCAT 从站可以有静态地址吗?

我们开发了一种新机器,其中有许多电机通过 EtherCAT 连接到主控制器。. 我希望为每个电机设置一个特定的地址

我看到可以在电机软件中设置EtherCAT ID,编号从1到32766(32767让主分配地址)

但是我对这个选项有点困惑,因为文档只有关于主分配地址的选项的详细信息

“Configured Station Alias”是从机分配的静态地址吗?

从站是否包含两个地址?一套由主设备设置,一套由从设备可选设置?

允许主站设置从站地址是否有优势,如速度或可靠性?

是否所有或大多数 EtherCAT 设备(Salves 和 Maters)都包含 IP 地址?

例如 Beckhoff EtherCAT 文档: http ://www.manualsdir.com/manuals/757430/beckhoff-ethercat-technology-section-i.html?page=27

EtherCAT 数据包图: EtherCAT 数据包

0 投票
0 回答
247 浏览

c++ - 如何在 Wago 750-350 ethercat 中读写频道?

我有一个 EtherCat Wago 750-354,我想对输出模块进行简单测试(打开和关闭 LED)。我阅读了教程并编写了简短的测试代码,但我无法编写输出模块。

教程链接为: https ://openethercatsociety.github.io/doc/soem/tutorial_8txt.html

这是我的代码:

0 投票
1 回答
360 浏览

dll - 将 Ethercat 库转换为 dll 并将该 dll 集成到 labview

我正在尝试将此https://github.com/OpenEtherCATsociety/SOEM库转换为 dll 以便将其导入 labview。我可以将此库转换为 DLL 吗?如何?谢谢!

0 投票
1 回答
72 浏览

c# - 如何在 C# 中使用不使用指针来更改数组引用索引?

我正在编写代码来解析数据包。

我想更改数组的引用地址,但不知道如何在不使用指针的情况下更改引用地址。如果我复制数组的一部分,我认为它会变慢。如果我使用指针,它将是不安全的。

下面是我正在编写的代码。

有没有办法在不使用指针的情况下更改引用?

0 投票
1 回答
70 浏览

microcontroller - 如何最小化 EtherCAT 协议中的数据包间和交换延迟?

我正在尝试通过 EtherCAT 协议通过主监控器(主节点)连接多个微控制器板(从节点)。所有从节点将通过一个交换机连接。那么,在交换数据到一个交换端口到另一个交换端口时,交换集线器中是否存在任何包间延迟或交换延迟?是否有任何机制可以尽可能减少这些延迟?

0 投票
1 回答
247 浏览

twincat - 具有完全访问权限的 TwinCAT 3.1 fCoE 读写

我正在尝试在 Windows 10 上使用 TwincAT 3.1 对 EtherCAT 从控制器执行完全访问读取和写入。

使用 Beckhoff Slave Stack Code Tool 5.12 生成的 EtherCAT Slave Stack 代码。使用 TwinCAT 3.1 作为 EtherCAT 主站成功地进入运行状态。我在索引 0x8001 处有一个邮箱对象,它是一个 25 字节的数组。我无法执行完全访问,这允许从 0x8001 处的对象写入/读取所有 25 个字节。如果没有完整的访问权限,我将不得不单独写入索引 0x8001 的每个子索引。这意味着在对象下的每个子索引处进行 25 次单独的读/写操作。

我曾尝试使用来自 Acontis 技术的 EC Engineer 3.06 作为 EtherCAT 主站,并且我验证了完整的访问功能是否正常。有谁知道如何使用 TwinCAT 执行完全访问?

0 投票
1 回答
1845 浏览

plc - TwinCAT CoE:写入 SDO

我对 EtherCAT/CANopen 世界很陌生,并试图实现一个自定义从站。到目前为止,从站正在通过一致性测试,并且想要写入我的从站数据对象之一,从站连接到 CX5120,它被 XAE 发现并且还显示了从站设备。为此,我将我的 ESI 文件复制到了 TwinCAT 文件夹 (C:\TwinCAT\3.1\Config\Io\EtherCAT)。

项目树 从属数据对象 我创建了一个小型结构化文本 PLC 程序,它使用 FB_EcCoESdoWrite 将数据写入地址 0x607A。但是当我将其设置为活动并尝试连接时,Visual Studio 告诉我该设备至少需要一个 Sync Master。此外,当将 bExecute 设置为 TRUE 时,我从函数中收到错误消息。据我了解,我必须在我的 ST 程序和从站之间链接变量,但我不认为需要链接变量,因为 afaik 函数调用应该管理传输?写入 ESC 的 SDO 的步骤是什么?有人可以告诉我我缺少什么或手头有一个小例子吗?

0 投票
2 回答
780 浏览

ethercat - SDO ethercat SOEM/SOES

我正在使用 SOEM 和 SOES 库实现 SDO 通信,但我遇到了一些问题,有人可以帮助我吗?更详细地说,我使用一台带有 Ubuntu 的 PC 作为 Ethercat 主机和一个使用 LAN9252 的 ethercat 从机。从机连接到带有窗口 10 的 PC,该窗口用于加载 SOES 程序,一旦加载了软件,它就会在调试模式下保持连接以检查变量。我的 SDO 通信有问题。当我在我的主服务器上使用可选参数 -sdo 从命令窗口运行 slaveinfo.c 程序(该程序包含在 SOEM 库中)时,我获得以下结果:

SOEM (Simple Open EtherCAT Master) Slaveinfo 在 enp2s0 上启动 slaveinfo ec_init 成功。找到并配置了 1 个从站。计算的工作计数器 3

从站:1 名称:SSC_Device 输出大小:1024 位 输入大小:1024 位 状态:4 延迟:0[ns] 有 DC:1 DCParentport:0 活动端口:1.0.0.0 配置地址:1001 人:00000afc ID:00010000 修订:00000001 SM0 A :1000 L:128 F:00010026 类型:1 SM1 A:1200 L:128 F:00010022 类型:2 SM2 A:1400 L:128 F:00010064 类型:3 SM3 A:1600 L:128 F:00010020 类型:4 FMMU0 Ls:00000000 Ll:128 Lsb:0 Leb:7 Ps:1400 Psb:0 Ty:02 Act:01 FMMU1 Ls:00000080 Ll:128 Lsb:0 Leb:7 Ps:1600 Psb:0 Ty:01 Act:01 FMMUfunc 0:1 1:2 2:0 3:0 MBX 长度 wr:128 rd:128 MBX 协议:04 CoE 详细信息:0d FoE 详细信息:00 EoE 详细信息:00 SoE 详细信息:00 Ebus 电流:0[mA] 仅 LRD /LWR:0 ec_slave[cnt].mbx_proto:04 printSDO:1 结束slaveinfo,关闭socket 结束程序

问题是我没有看到根据 CoE 的 PDO 映射。我检查了master和slave之间的包交换,我看到master发送了一个请求,我的slave收到了,然后slave发送了响应请求但是master没有收到。从从属调试器中,我检查了 SM_status(同步管理器状态 SM1 0x080d),它是指示 mailmox 是否已满以及主机是否可以读取的寄存器,我看到该寄存器没有改变值。有人知道是什么问题吗?eeprom 内存需要具有特定的结构以允许正确的 SDO 通信?或者也许只是从属软件的问题?

谢谢。

0 投票
1 回答
130 浏览

c - canopen对象字典中的store参数(1010)可以写入什么设备状态

我试图弄清楚,我可以通过写入1010.01CANopen 对象字典中的存储索引来存储当前配置的状态。我尝试在运行前状态下执行此操作,但出现此错误

值得注意的是,我将 CANopen over EtherCAT 与 SOEM 库一起使用。