# ECatSim **Repository Path**: openwcs/ecat-sim ## Basic Information - **Project Name**: ECatSim - **Description**: 面向 **InoProShop** 的软件 EtherCAT 从站,默认拓扑:支持4XMD810+1 Leuze - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-26 - **Last Updated**: 2026-08-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EtherCAT 从站模拟器 面向 **InoProShop** 的软件 EtherCAT 从站,默认拓扑: `主站 → MD810_1Axis_V1.06 × 4 → Leuze BPS338i × 1` 扫描身份来自 `参考资料` 下两份 ESI: | 从站 | Vendor ID | Product Code | Revision | ESI | |------|-----------|--------------|----------|-----| | MD810_1Axis_V1.06 | `0x00100000` | `0x0000033B` | `0x00010001` | `INOVANCE_MD810_1Axis_V1.06.xml` | | BPS338i | `0x00000121` | `0x00000007` | `0x00000001` | `Leuze_BPS338i_20250321-2.xml` | ![](预览.png) ## 环境 - Windows 10/11 - Python 3.8+(已装 PyQt5) - [Npcap](https://npcap.com/)(安装时勾选 **WinPcap API-compatible Mode**) - **管理员权限** 运行本程序(否则打不开网卡) ```bat pip install -r requirements.txt python main.py ``` 或双击 `run.bat`。 ## 让 InoProShop 扫描到 1. 把两份 ESI XML 拷到 InoProShop 的 EtherCAT 设备库(与 TwinCAT 类似,一般为 ESI 目录后重启配置工具)。 2. **主站网卡与模拟器网卡必须用网线直连**。 - 两台电脑:InoProShop 电脑的 EtherCAT 网口 ↔ 本机所选网口。 - 同一台电脑:两块物理网卡用网线互连,一块给 InoProShop,一块给本模拟器。 - **不要**让模拟器和 InoProShop 占用同一块网卡(主站实时驱动会独占网卡)。 3. 在模拟器中选择「从站侧」网卡,点击 **启动模拟**(不要勾选演示模式)。 4. 在 InoProShop 中扫描总线,应出现 **5 个从站**(4 个 MD810 + 1 个 BPS338i)。 演示模式只驱动界面,不会在总线上出现设备。 ## 界面 - 左侧:网卡、启动/停止、SII 身份摘要 - 中上:总线拓扑(点击从站切换详情),数据包粒子随帧率运动 - 右侧:AL 状态、过程数据 - MD810:控制字 / 给定频率 → 状态字 / 输出频率 - BPS338i:位置、速度、读码质量,可自动巡航 - 底部:EtherCAT 帧日志 ## 代码结构 ``` main.py 入口 app/ PyQt5 界面 theme.py 暗色科技风 QSS main_window.py 主窗口 widgets/ 拓扑 / 仪表 / 日志 ecat/ EtherCAT 协议栈 datagram.py 帧 / 数据报 esc.py ET1100 寄存器与过程 RAM eeprom.py SII EEPROM(扫描身份) mailbox.py CoE SDO slave.py 单从站 nic.py Npcap 收发 simulator.py 5 站菊花链引擎 devices/profiles.py 从 ESI 固化的设备档案 参考资料/ 原始 ESI XML ``` ## 联机排查 - 扫描从站数为 0:未以管理员运行、Npcap 未装、网卡选错、与主站共网卡。 - 能扫到数量但显示未知设备:ESI 未安装,或 ProductCode/Revision 不匹配。 - 有帧日志但主站超时:尝试换一块未被 Windows 协议绑定过多的网卡,并关闭该网卡上的 IPv4/IPv6(仅保留 Npcap)。