工业总线应用手册
1. 前言
本手册面向工业自动化领域的设计、调试、运维及选型技术人员,系统梳理 EIP(含软 EIP)、Modbus、Profinet 三种主流工业总线的核心知识体系。内容兼顾理论基础与实操落地,覆盖技术原理、硬件选型、配置调试、故障排查及场景适配,既满足新手快速入门需求,也可为资深工程师提供精准参考。
2. 安全信息
由于工业总线系统涉及电气连接、设备联动等潜在风险,用户在使用之前必须仔细阅读、理解并遵守本手册的说明。
集成商必须确保部署的总线系统符合相应法律法规与行业标准,严格执行风险评估,并采取必要措施降低风险。同时,用户必须遵守集成商指定的安全规范。
AUBO 提醒用户
在部署、使用工业总线系统时,必须注意设备与操作安全,总线系统的使用者需对自身及现场安全负责。AUBO 不对因违规操作、未遵守安全规范导致的安全问题负责。
3. 工业总线技术基础
3.1 工业总线概述
工业总线是连接工业自动化设备的通信网络,用于实现设备间的数据交换和控制指令传输。在现代工业自动化系统中,工业总线扮演着至关重要的角色,它是实现设备互联、数据采集、实时控制的基础。
3.2 主流工业总线对比
| 总线类型 | 通信速率 | 实时性 | 网络拓扑 | 适用场景 | 优势 | 劣势 |
|---|---|---|---|---|---|---|
| Profinet | 100Mbps/1Gbps | 高(毫秒级) | 星型 | 复杂自动化系统 | 实时性好,功能丰富 | 配置复杂 |
| Modbus | 9.6Kbps-10Mbps | 中 | 总线型/星型 | 简单控制系统 | 协议简单,易于实现 | 实时性一般 |
| EIP | 100Mbps/1Gbps | 高(毫秒级) | 星型 | 多厂商设备集成 | 开放性好,兼容性强 | 配置复杂 |
3.3 总线技术选型指南
在选择工业总线时,应考虑以下因素:
- 应用场景:根据系统复杂度、实时性要求选择合适的总线。
- 设备兼容性:确保所选总线与现有设备兼容。
- 网络规模:根据节点数量选择支持相应规模的总线。
- 通信距离:考虑设备间的物理距离。
- 成本预算:包括硬件、软件和维护成本。
- 技术支持:考虑供应商的技术支持能力。
3.4 网络基础与硬件准备
3.4.1 网络拓扑设计
常见的工业网络拓扑包括:
- 星型拓扑:所有设备通过交换机连接,可靠性高,易于维护。
- 总线型拓扑:设备通过一条总线连接,成本低,适用于小规模系统。
- 环型拓扑:设备形成环,具有冗余功能,可靠性高。
3.4.2 硬件设备选型
- 交换机:选择工业级交换机,支持所需带宽和端口数量。
- 网线:使用屏蔽双绞线(STP),确保信号传输质量。
- 连接器:使用工业级连接器,确保连接可靠性。
- 网络测试仪:用于网络故障诊断。
3.4.3 硬件接线规范
- 遵循厂商推荐的接线标准。
- 确保接地良好,减少电磁干扰。
- 避免与动力电缆并行敷设。
- 定期检查接线松动情况。
3.5 通用配置流程
3.5.1 IP 地址规划
- 为设备分配静态 IP 地址,避免 IP 冲突。
- 使用合理的子网划分,便于网络管理。
- 记录所有设备的 IP 地址,建立网络拓扑图。
3.5.2 防火墙设置
- 确保防火墙允许总线通信所需的端口。
- 配置适当的访问控制规则。
- 定期更新防火墙规则。
3.5.3 通信测试方法
- 使用 ping 命令测试网络连通性。
- 使用专用工具测试总线通信质量。
- 进行负载测试,确保系统在峰值负载下正常运行。
4. Profinet 从站使用指南
4.1 快速入门指南
Profinet 从站是软协议栈 Profinet,本章节将帮助您快速上手 Profinet 从站配置,从环境准备到通信测试,为您提供一站式的配置指导。
4.2 Profinet 配置环境准备
4.2.1 环境准备
- 软件准备:
- ARCS 软件 V0.29.5-rc.22 及 0.31.0-rc.27 之后版本已集成到ARCS软件中,无需再手动安装。
- 之前的软件版本需要手动安装 Profinet 插件,如需要更新插件版本,联系AUBO客户支持。
- 软件安装:
- 单击资料包获取 Profinet 插件压缩包。
- 找到资料包中的GDS文件(设备描述文件):gsdml-v2.31-arcs-ICM-20240529.xml。
- 请访问西门子 S7-200 SMART 官方页面,完成调试软件 STEP 7 的安装。
- 硬件准备:西门子 S7-200 SMART 、机械臂本体、笔记本电脑、网线、HUB或交换机 。
4.2.2 硬件接线
将PLC、控制柜、本机电脑通过交换机连在同一个网络

4.2.3 软 Profinet 安装配置
版本 V0.29.5-rc.22 及 0.31.0-rc.27 之后的版本已内置 pn 软协议栈,无需手动安装。
之前的软件版本需要手动安装 pn 软协议栈。
使用 U 盘拷贝需要的文件,将以下文件放置到根目录:
- pn_server-x.x.x.run
- aubo_magic_pn_server_install_v1.0_20240422.sh
使用 ARCS 软件,单击"设置 > 系统 > U 盘导入"将
pn_server-xxxx.run导入控制柜,并执行 shell 脚本。

4.3 软 Profinet 测试验证
4.3.1 Profinet 入口
打开 ARCS 软件主页,单击左侧导航栏“配置 > 现场总线 > Profinet”即可打开 Profinet 从站。

4.3.2 PLC 连接 Profinet 从站
此教程以s7-200 smart plc 为例,以下简称 PLC 。此 PLC 使用 STEP-7 Micro/WIN SMART 软件编程。
此软件界面如下图所示:

将 PLC 的 CPC 置于 RUN 模式。

查看 PLC IP 地址。

配置电脑端 IP 地址:需要将电脑的 IP 设置成和 PLC 同一局域网的固定地址才可以与 PLC 连接成功。
说明:
本教程中的 PLC 的 IP 地址为
192.168.137.2,且它是连接在 PCIE 有线网卡上的。此时需要把这张有线网卡的 IP 配置为192.168.137.X(X 的取值范围是 1~255,且不能和 PLC 的 IP 重复)。在电脑段输入
win + r打开运行窗口,输入ncpa.cpl后输入shift键(即回车键),打开网络链接设置。右键以太网,选择属性。
选中【Internet 协议版本 4(TCP/IPv4)】单击【属性】。

设置有限网卡 IP。

设置完成后,PLC 与电脑便处于同一网段下,此时便可以正常连接。
注意
- PLC 的 IP 地址配置操作需建立在设备通信链路已建立的基础上。
- PLC 与上位机(计算机)的通信链路建立,需满足二者处于同一 IP 子网(网段)的网络层通信前提。

连接后的状态如下:

4.3.3 配置工程
将在 3.1.1 环境准备下载的资源包中的 GSD 文件导入。

配置 Profinet 测试工程。
Profinet 测试工程是对 Profinet 通信架构的系统性验证手段。
用来验证设备协议合规性与互操作性、测试网络实时性 / 稳定性、校验配置有效性,是保障工业通信层可靠运行的预验证环节。
配置 Profinet 通信中 PLC 作为 IO 控制器的参数。

配置 Profinet 设备。

记录 Profinet 从站设备名并设置设备 IP 地址(与 PLC 同网段且不重复)。

将目标模块拖入 Profinet 通信槽位,选择数据刷新周期。

单击【完成】跳转页面,核对槽位起始地址,此时完成 Profinet 配置。

保存工程,单击下载,将此工程下载到 PLC。

- 当前 PLC 侧 Profinet 配置向导已完成并成功下载,机器人 Profinet 从站功能已正常启用。
- 机器人、PLC、上位机已接入同一局域网,IP 地址处于同一网段。
执行局域网内 Profinet 设备的搜索操作。

给 Profinet 从站分配名称,此时便是正确连接状态。

4.3.4 地址信号在线监控
本模块用来查看机器人槽的数据
通过查看地址表以及 PLC 的起始地址,在槽 2 的 190 地址、2 个字节,此处是从站的心跳,以此地址来演示。

- 可以自行设置其他地址来监控数据的变化。
- 能从监控到信号变化,说明软 Profinet 通信正常,可以正常使用。
4.3.5 读取机器人状态和安全状态
查看地址表和 PLC 的起始地址,我们可以知道,在槽 2 的 184 地址、两个字节,此处是获取机器人状态,槽2的186地址,获取安全状态。 通过地址可以查看到机械臂当前处于断电状态和紧急停止状态。

4.3.6 PLC 控制机器人

查看地址表和 PLC 的起始地址,卡槽 6 的地址 200、两个字节,该地址的定义是控制工程,可以通过PLC控制机器人启动、暂停、恢复、停止与上电等动作。 
4.4 Profinet 地址表
4.4.1 如何显示地址表
打开 ARCS 软件主页,单击左侧导航栏“配置 > 现场总线 > Profinet > 查看地址表”即可查看地址表的详细信息。
说明:
- 有线示教器:有线示教器已内置于ARCS软件中。
- 无线示教器:版本 0.9.4-rc.14 并搭配 0.31.1-beta.38 版本及以上的 ARCS 软件。

- 若“配置 > 现场总线 > Profinet”中不显示地址表,修改配置文件
/root/arcs_ws/config/aubo_scope.ini,在system下配置字段:profinet_address_enabled=true,保存后重新启动 ARCS 软件,就会显示地址表。
4.5 章节小结
本章节详细介绍了 Profinet 从站的配置与使用,包括环境准备、测试验证、地址表等内容。通过本章节的学习,您应该能够:
- 理解 Profinet 从站的基本概念和工作原理
- 掌握 Profinet 从站的配置方法和步骤
- 能够使用 PLC 连接 Profinet 从站并进行通信测试
- 了解 Profinet 地址表的查看和使用方法
- 能够通过 PLC 控制机器人的基本动作
如果您在配置过程中遇到问题,请参考第 7 章的常见问题与解决方案。
5. ARCS Modbus 使用指南
5.1 快速入门指南
Modbus 包括 Modbus 主站和 Modbus 从站。本章节将帮助您快速上手 Modbus 配置,从协议介绍到实际应用,为您提供全面的配置指导。
5.2 Modbus 协议介绍
Modbus 是一种串行通信协议,最初由 Modicon 公司(现在的施耐德电气)在1979年为使用可编程逻辑控制器(PLC)的自动化设备设计。Modbus 已经成为工业领域通信协议的事实标准。Modbus 协议包括 Modbus RTU 和 Modbus TCP 两种形式。
Modbus RTU(Remote Terminal Unit):这是一种基于串行线(例如 RS-485、RS-422、RS-232)的二进制通信协议。在 Modbus RTU 中,数据以二进制形式传输,每个字节由两个十六进制字符表示。Modbus RTU 主要用于工业和系统自动化应用,其中设备之间的通信距离较长。
Modbus TCP(Transmission Control Protocol):这是一种基于以太网的通信协议。Modbus TCP 使用 TCP/IP 协议进行通信,因此可以利用现有的以太网基础设施。与 Modbus RTU 相比,Modbus TCP 可以支持更多的设备连接,并且通信速度更快。
Modbus RTU 与 Modbus TCP 两者的主要区别:
Modbus RTU 基于串行通信的方式,如 RS-485 接口,其传输速率受限于串行接口的性能。
Modbus TCP 基于 TCP/IP 协议栈,在网络上进行数据传输,支持更高的传输速率。
5.3 Modbus 主站
5.3.1 主站介绍
在 Modbus 通信网络中,主站(Master Station)是发起通信的设备,它负责控制和协调与从站(Slave Station)之间的通信过程。主站就像是一个指挥者,主动向从站请求数据或者向从站发送命令,以实现对整个网络的有效管理和数据交互。
5.3.2 主站用途
在焊接、搬运、装配等操作中作为主站,它需要根据自身的任务流程和工作状态,有针对性地向 PLC 从站请求数据或发送指令。
- 示例:在汽车零部件组装过程中,机器人可能需要从 PLC 获取零部件的位置信息,以便准确地抓取和安装。
机器人主站往往具有较高的智能化程度,能够对获取的数据进行分析和处理,以做出合理的决策。
- 示例:根据 PLC 提供的生产线上的设备状态信息,机器人可以调整自己的工作节奏和动作顺序,实现与其他设备的协同工作。
5.3.3 Modbus 入口
打开 ARCS 软件主页,单击左侧导航栏“配置 > 现场总线 > Modbus”进入 【Modbus 客户端 IO设置】页面。 
5.3.4 主站 Modbus TCP
单元页面:在 【Modbus 客户端 IO设置】页面单击“单元 > 添加 Modbus 单元 > TCP模式”。

Modbus TCP 设备: 使用 TCP/IP 连接,不需要校验和计算,可配置“设备”、“名称”、“从站编号”、“IP 地址”、“端口”及“操作”。配置 IP 地址后可单击【测试】,弹出测试成功表示可以与目标设备进行通讯,反之则与目标设备不可进行通讯,需检查与目标设备是否在同一网段,防火墙是否关闭等。
注意:
请确保您的TCP设备与目标设备处于同一网段。

信号页面:在 【Modbus 客户端 IO设置】页面单击“信号 > 添加 Modbus 信号”。

- COIL STATUS(线圈状态):用于读取和控制远程设备的开关状态,通常用于控制继电器等开关设备。
- INPUT STATUS(输入状态):用于读取远程设备的输入状态,通常用于读取传感器等输入设备的状态。
- HOLDING REGISTER(保持寄存器):用于存储和读取远程设备的数据,通常用于存储控制参数、设备状态等信息。
- INPUT REGISTER(输入寄存器):用于存储远程设备的输入数据,通常用于存储传感器等输入设备的数据。
- 绿色表示为正常通讯,灰色,红色为不通讯,红色响应代码如下所示:
- E1 :非法函数(0x01)查询中接收到的函数代码不是服务器(或从服务器)允许的操作。
- E2 :非法数据地址(0x02)在查询中收到的功能代码不是服务器(或从站)允许的操作,请检查输入的信号地址对应的远程 MODBUS 服务器的设置。
- E3 :非法数据值(0x03)数据字段中包含的值对于服务器(或从服务器)是不允许的值,请检查信号值对于远程 MODBUS 服务器上的指定地址是否有效。
- E4 :从属设备故障(0x04)当服务器(或从服务器)试图执行请求的操作时,发生了一个不可恢复的错误,请检查设备与接线是否损坏,并尝试重启设备。
- E5 :应答(0x05)与发送到远程 MODBUS 单元的编程命令结合使用的专用功能。
- E6 :从设备忙(0x06)与发送到远程 MODBUS 单元的编程命令一起使用,表示设备(服务器)现在无法响应,请等待或尝试重新连接,并排查机器人IP地址是否与同一局域网下其他设备IP地址一致,产生了冲突。
5.3.5 主站 Modbus RTU
单元页面:在 【Modbus 客户端 IO设置】页面单击“单元 > 添加 Modbus 单元 > RTU模式”。

Modbus RTU 设备:可配置设备“名称”、“从站编号”、“串口号”、“波特率”、“奇偶校验”、“数据位”及“停止位”。
注意:Modbus RTU 设备基于串行通信的方式,其传输速率受限于 RS-485 串行接口的性能。若通信不稳定,信号状态闪烁,可将波特率值调小,若不通讯时排查选择的串口是否符合,可使用 Modbus 串口助手进行排查,参考文档:

Modbus RTU 通讯依赖于控制柜或机械臂末端的 RS-485 串口通讯,在 Modbus 的串口选择可以参考如下:

控制 RS-485 串口号,控制 RS-485 包括末端 RS485 及 USB485。

5.3.6 Modbus 信号在配置中作为 IO 使用
在【配置】界面单击“一般 > I/O设置”可配置其 I/O 输入动作,除拖动示教外其余信号需要在联动模式下触发信号执行(也可通过 OEM 定制功能使其在手动模式或自动模式生效)。
进行此配置前需要用户在【配置】界面单击“ 现场总线 > Modbus > 信号”中添加信号类型为“寄存器输入”或“数字输入”的 Modbus 信号。

为对应的 Modbus 信号配置输入动作。

为对应的 Modbus 信号配置输出动作。

用户可以在左侧导航栏单击“IO > Mobus”查看信号寄存器和数字信号的变化。

5.3.7 Modbus 信号在程序中使用
- 设置节点: 可以设置 Modbus 信号的“数字输出”和“寄存器输出”以及数字信号的单脉冲参数。
提示
通常需配合“等待信号”做为校验,确保信号设置成功再执行后续流程。
等待节点: 以 Modbus 信号为判断依据,待满足此信号后程序才继续运行,常与设置信号搭配使用。
赋值节点: 以 Modbus 信号值赋值给变量,供后续流程调用。
如果节点: 以 Modbus 信号 做为判断条件,信号满足要求时,程序进入判断流程。
循环节点: 以 Modbus 信号做为触发循环的条件,信号满足条件时,程序进入循环流程。

用户可以在左侧导航栏单击“IO > Mobus”查看信号寄存器和数字信号的变化。

5.4 Modbus 从站
5.4.1 从站介绍
Modbus 从站的主要作用是响应主站(Master)的请求并执行相应的操作。实际应用中它可以用于连接和控制生产线上的各种设备,实现设备之间的信息交换和控制指令传递。
5.4.2 ARCS 从站的用途
响应主站(Master)的请求,将机器臂的状态信息实时发送给主站。
响应主站(Master)的请求,将控制器的信息发送给主站。
测试调试时作为数据:
- 将机器臂 I/O 信号的变化实时传递给主站。
- 将主站自定义信号实时传递给机器臂。
注意:
通过 ARCS 的主站连接从站的方式,可能会存在信号延时,仅在调试时候使用,不建议在程序中使用,若需要在程序中对从站进行寄存器的读写,可以参考Modbus 使用指南-3.6:通用寄存器读写接口应用示例。
5.4.3 从站地址表更新位置
Modbus 从站地址表位于“钉盘-团队文件 > ARCS > 对外文件夹 > Modbus从站”中进行更新,若您是使用客户,可联系本公司技术服务部技术人员获取,若您是技术服务人员可自行获取。
Modbus 从站版本与 ARCS 版本的对应关系:
| Modbus 版本 | ARCS 版本 | 修改日期 | 修改内容 |
|---|---|---|---|
| 1.0.4 | 0.29.2-beta.10 | 2024-8-19 | 1. 增加控制工程。 2. 增加工程运行状态。 |
| 1.0.7 | 0.31.0-beta.3 0.32.0-alpha.23 | 2024-12-26 | 更新机器人系列和机器人子型号。 |
| 1.0.8 | 0.29.4-rc.6 0.31.0-beta.5 0.32.0-alpha.32 | 2025-1-9 | 增加 Modbus 从站输出操作模式和心跳。 |
| 1.0.9 | 0.29.5-rc.10 0.31.0-rc.12 0.32.0-alpha.73 | 2025-3-4 | 增加读写工程运行速度百分比。 |
| 1.0.11 | 0.29.5-rc.21 0.31.0-rc.26 0.31.1-beta.7 0.32.0-alpha.117 | 2025-4-25 | 增加 Modbus 从站解除保护性停止。 |
| 1.0.12 | 0.29.5-rc.22 0.29.6-rc.1 0.31.0-rc.28 0.32.0-alpha.136 | 2025-5-12 | 增加 Modbus 从站清除错误弹窗,包括解除保护性停止和重置接口板。 |
| 1.0.13 | 0.31.1-beta.9 0.32.0-alpha.131 | 2025-5-15 | 增加 bool 寄存器。 |
| 1.14 | 0.31.1-beta.10 0.32.0-alpha.139 | 2025-5-21 | 增加切换工程。 |
| 1.14 | 0.31.1-beta.10 0.32.0-alpha.140 | 2025-5-22 | 1.增加操作模式支持输出联动模式。 2.增加输出 Modbus 版本号。 |
5.4.4 从站 Modbus TCP
在 【Modbus 客户端 IO设置】页面单击【从站】 打开“Modbus TCP”开关。
开启从站之后,可通过 PLC 或 modscan 等主站设备连接该从站,从站地址请参考 Modbus 从站协议中的定义。

5.4.5 从站 Modbus RTU
在 【Modbus 客户端 IO设置】页面单击【从站】 打开“Modbus RTU”开关。
注意:
- Modbus RTU 从站需要先将串口参数配置完成才可开启。
- 开启后串口参数不可修改,需关闭后再进行修改。

Modbus RTU 通讯依赖与控制柜或机械臂末端的 RS-485 串口通讯,不同设备的串口参数参考如下:
注意:Modbus RTU 基于串行通信的方式,其传输速率受限于 RS-485 串行接口的性能。若通信不稳定,信号状态闪烁,可将波特率值调小,若不通讯时排查选择选择的串口是否符合,可使用 Modbus 串口助手进行排查,参考文档:


控制 RS-485 串口号,控制 RS-485 包括末端 RS485 及 USB485。


5.5 接口应用
5.5.1 modbusSendCustomCommand 接口功能说明 & 注意事项
- 将用户指定的命令发送到指定 IP 地址上的 Modbus 单元。
- 由于不会接收到响应,因此不能用于请求数据,读数据的功能码暂不可用。
- 用户负责提供对所提供的功能码有意义的数据。
- 内置函数负责构建 Modbus 帧,因此用户不需要关心命令的长度,不需要输入 CRC 格式的数据。
5.5.2 参数定义及格式
// 接口定义
int modbusSendCustomCommand(const std::string &device_info,int slave_number, int function_code, const std::vector<uint8_t> &data);
// device_info: 设备信息
* 设备信息是 RTU 格式,
* 例如:"serial_port,baud,parity,data_bit,stop_bit"
* (1)serial_port 参数指定串口的名称,
* 例如,在 Linux 上为"/dev/ttyS0"或"/dev/ttyUSB0",在Windows上为"\.\COM10"
* (2)baud 参数指定通信的波特率,例如 9600、19200、57600、115200 等 。
* (3)parity 参数指定奇偶校验方式,N 表示无校验,E 表示偶校验,O表示奇校验。
* (4)data_bit 参数指定数据位数,允许的值为5、6、7和8。
* (5)stop_bit 参数指定停止位数,允许的值为1和2。
*
* 设备信息是 TCP 格式,例如:"ip address,port"
* (1)ip address 参数指定服务器的IP地址
* (2)port 参数指定服务器监听的端口号
// slave_number: 指定用于自定义命令的从站号
// function_code: 指定自定义命令的功能码
* MODBUS_FC_READ_COILS 0x01 // 读线圈寄存器
* MODBUS_FC_READ_DISCRETE_INPUTS 0x02 // 读离散输入状态
* MODBUS_FC_READ_HOLDING_REGISTERS 0x03 // 读保持寄存器
* MODBUS_FC_READ_INPUT_REGISTERS 0x04 // 读输入寄存器
* MODBUS_FC_WRITE_SINGLE_COIL 0x05 // 写单线圈
* MODBUS_FC_WRITE_SINGLE_REGISTER 0x06 // 写单寄存器
* MODBUS_FC_READ_EXCEPTION_STATUS 0x07 // 读异常状态(限串行线)
* MODBUS_FC_WRITE_MULTIPLE_COILS 0x0F // 写多线圈
* MODBUS_FC_WRITE_MULTIPLE_REGISTERS 0x10 // 写多个寄存器
* MODBUS_FC_REPORT_SLAVE_ID 0x11 // 报告丛机ID(限串行线)
* MODBUS_FC_MASK_WRITE_REGISTER 0x16 // 带屏蔽字写入寄存器
* MODBUS_FC_WRITE_AND_READ_REGISTERS 0x17 // 读&写寄存器
// data: 必须是有效的字节值(0-255)
* { 0x00, 0x02, 0x00, 0x0F }
* { 0x06, 0x0A, 0x0F, 0x08, 0x00, 0x0F }5.5.3 调用示例
// 定义IP
#define MODBUS_IP "172.16.3.111,502"
// 建立对象
RpcClientPtr impl;
// 发送自定义数据
impl->getRegisterControl()->modbusSendCustomCommand(MODBUS_IP, 1, 0x06, { 0x00, 0x02, 0x00, 0x0F });6. 软 EIP 使用指南
6.1 快速入门指南
EIP 从站是软协议栈 EIP。本章节将帮助您快速上手 EIP 配置,从协议简介到实际应用,为您提供全面的配置指导。
6.2 EIP 协议简介
6.2.1 协议定义与核心优势
EIP(Ethernet/IP)是基于 TCP/IP 协议栈的工业以太网协议,由 ODVA(开放设备网供应商协会)制定,广泛应用于工业自动化设备间的实时数据交互。其核心优势包括:
- 兼容性强:支持与 PLC、机械臂、传感器等多种工业设备联动,兼容主流厂商(汇川、欧姆龙、西门子等)设备;
- 实时性高:采用 “生产者 - 消费者” 通信模型,可实现毫秒级数据传输,满足工业场景下的实时控制需求;
- 配置灵活:通过 EDS(电子数据手册)文件标准化设备描述,简化不同设备间的适配流程。
6.2.2 适用场景
软 EIP 无需额外硬件模块,通过软件协议栈实现 EIP 从站功能,适用于汇川、欧姆龙等主流 PLC 与 AUBO 机械臂的通信场景,典型应用包括:
- 汽车零部件组装:PLC 控制机械臂抓取位置同步(读取机械臂关节角、位置坐标);
- 电子设备焊接:通过 EIP 实时传输机械臂 IO 信号(数字输出 / 输入状态);
- 生产线协同:PLC 下发速度限制指令,机械臂反馈运行状态(安全状态、电压 / 电流)。
6.3 软 EIP 在汇川 PLC 中的应用
6.3.1 配置环境准备
6.3.1.1 软硬件准备
软件准备:
- 单击下载资料包,安装汇川 PLC 调试软件
AutoShop V4.10.0.0。 - 请联系 AUBO 开发人员下载 EDS 文件:
compatible_eip_slave_v0.0.1.eds。 - ARCS 软件版本:0.29.3-rc.9 及以上、0.31.0-beta.1及以上、0.32.0-alpha.9 及以上。
- 单击下载资料包,安装汇川 PLC 调试软件
硬件准备:
- 汇川
Easy 521机械臂本体 - 笔记本电脑
- 网线
- HUB或交换机
- 汇川
配置文件:
修改配置文件
aubo_control.conf查看对应端口和网卡。

修改配置文件
aubo_control.conf,增加如下代码:[[Extension]] location = "extensions/aubo_comm/aubo_comm.so" bundle = "aubo_comm" alias = "aubo_comm" enable = true [Extension.options] rpc_tcp_port = 30004 rpc_ws_port = 9012 rpc_http_port = 8484 rtde_tcp_port = 30010 rtde_ws_port = 9013 # EIP 功能配置 [eip] eip_enable = true eip_ifname = "enp1s0" # 网卡名根据实际情况更改,当前系统实际使用的物理网卡是 enp1s0
6.3.1.2 硬件接线
将PLC、控制柜、本机电脑通过交换机连在同一个网络。

6.3.1.3 PLC设置静态 IP
打开
AutoShoop软件,单击“文件 > 新建工程”,如下图所示,并按照步骤标注操作,填写工程名称,并选择汇川 PLC 的型号 Easy521。
单击菜单栏【工具】,选择【通讯设置】 ,【通讯类型】下拉框选择对应的网口,单击搜索 PLC ,正常连接后可以搜索到已通讯 PLC 。

单击【修改IP/设备名】 ,设置新IP地址,该地址需要和机械臂,笔记本在同一网段。

备注 :若在线搜索不到PLC,可使用
type-C转USB线连接PLC与笔记本,通讯类型选择USB,即可修改PLC设备的IP.
6.3.1.4 机械臂设置静态 IP
打开 ARCS 软件主页,单击左侧导航栏“设置 > 系统 > 网络 > 静态地址”来设置静态 IP,静态 IP 地址需要和PLC、笔记本在同一网段。 
6.3.1.5 通讯测试
单击【测试】,图中链接状态为已连通。此时PLC与笔记本已建立正常通讯。

测试连接状态为未联通,则需要排查下网线的连接,检查 PLC 的 IP 设置是否和笔记本在同一网段。

5.2.1.6 PLC 导入 EDS 文件
单击软件左侧“工程管理 > 配置 > Ethernet/IP”。
单击软件右侧菜单栏“工具箱 > Ethernet/IP Device”,鼠标右键单击【Ethernet/IP Device】,会出现【导入EDS】,单击【导入EDS】导入事前准备好的 EDS 文件,如下图所示:


备注:EDS文件由 AUBO 开发人员提供,可以找相关工程师获取最新版本。
6.3.1.6 设备站 IP 设置
- 双击【Aubo_Robot】, 【IP地址】设置为机械臂的真实IP, 【电子匹配】中选择 【精确匹配】,其它使用默认值即可,如下图所示:

- 单击【连接】>【添加连接】。

6.3.1.7 保存并监控项目
所有配置完成后,保存项目,然后单击【下载】>【运行】 > 【监控】,如下图所示步骤:

将 PLC 切换至运行模式,单击“运行 > 监控”后,左侧“配置 > Ethernet/IP”,【Ethernet/IP】 和 【Aubo_Robot】都变为绿色,表示 PLC 与机械臂连接成功,并且能够正常通信。

添加监控的地址变量,在左侧单击“变量监控表 > Main”,在 Main 表中单击【...】会弹出选择变量对话框【变量输入助手】,然后单击“UserVar > SYS_EIP”选择分配地址。

SYS_EIP里面的地址是根据 EDS 文件导入的,里面的地址是开发人员事先根据 EIP 地址表分配好的地址,这里的地址表跟开发人员提供的 EIP 的通信地址表对应,可以根据 EIP的地址表来选择相应的地址字段。
以下是根据 EIP 的地址表添加的一些监控地址,包括 IO 信号、位置坐标、关节角、电压、电流、温度、机器人状态、通用线圈(Robot => PLC)、通用寄存器(Robot => PLC)、通用线圈(PLC => Robot)、通用寄存器(PLC => Robot)、控制工程等等。

6.3.1.8 PLC 与控制器通信示例
卡槽1数字输出监控
通过 EIP 地址表查询,DO00-DO07的 EIP 地址是
_IP1_5.0至_IP1_5.7,变量监控表中添加监控地址,打开【arcs软件】>【IO】> 【机器人】> 【数字输出】,通过操作DO01-DO07信号高亮,观察变量监控表的值是否同步变化。
卡槽2 机器人状态监控
通过 EIP 地址表查询,工程速度限制、末端速度、机器人状态、安全状态的 EIP 地址是
_IP1_99、_IP1_101、_IP1_103及_IP1_105,监控变量表中输入该地址,可以观察获取的值,来判定机器人的状态。

6.4 软 EIP 在欧姆龙 PLC 中的应用
6.4.1 配置环境准备
6.4.1.1 软硬件准备
软件准备:
- Sysmac Studio 软件版本:
V1.52.0.64010。 - 请联系 AUBO 开发人员下载EDS 文件:
compatible_eip_slave_v0.0.1.eds。 - ARCS 软件版本:0.29.3-rc.9 及以上、0.31.0-beta.1及以上、0.32.0-alpha.9 及以上。
- Sysmac Studio 软件版本:
硬件准备:
- 欧姆龙
NX1P2-9024DT - 机械臂本体
- 笔记本电脑
- 网线
- HUB或交换机
- 欧姆龙
配置文件:
修改配置文件
aubo_control.conf,增加如下代码:eip_enable = true eip_ifname = "enp1s0" #网卡名根据实际情况更改
6.4.1.2 硬件接线
将PLC、控制柜、本机电脑通过交换机连在同一个网络,接线完毕后,需要使用 ping 命令测试 PLC IP、控制柜 IP、本机 IP 相互之间能否连通,网络通信没有问题后才能进行下面的后续操作。
6.4.1.3 PLC设置静态 IP
双击打开 Sysmac Studio 软件,进入首界面,如果之前配置过 PLC,并新建保存上次的工程,则可直接单击”在线 > 链接到设备“选项,在对话框中选择连接类型为 【Ethernet-Hub连接】 ,连接设置中 IP 地址配置为
192.168.250.1, 然后单击【连接】。若还没有配置过 PLC 和新建过工程,则跳过该步骤。直接单击【新建工程】选项弹出对话框,填写工程名称,并选择欧姆龙 PLC 的型号
NX1P2-9024DT;然后单击【创建】来新建一个工程。进入到 Sysmac Studio 软件的主界面后,单击”控制 > 通信设置“,弹出通信设置对话框,在对话框中选择连接类型为 【Ethernet-Hub连接】 ,连接设置中 IP 地址配置为
192.168.250.1, 然后单击【Ethernet 通信测试】,如果显示通信成功,则单击【确定】,继续后面的操作,如果显示通信失败,则重新设置下 PLC 的地址。如果测试与 PLC 通信时发现通信失败,则需要重新设置 PLC 的IP地址,单击左侧目录树”配置和设置 > 配置和设置“进入端口设置页面,在 IP 地址的选项中选择固定 IP 地址,填写 IP 和子网掩码,一般欧姆龙 PLC 的 IP 默认地址为
192.168.250.1、子网掩码为255.255.255.0可以直接使用,无需更改。设置完后,单击”工具 > 更新额配置和设置传送数据“,将配置更新到 PLC 中。
6.4.1.4 机械臂设置静态 IP
打开 ARCS 软件主页,单击左侧导航栏“设置 > 系统 > 网络 > 静态地址”来设置静态 IP,静态 IP 地址需要和PLC、笔记本在同一网段。
6.4.1.5 PLC 导入 EDS 文件
单击”工具 > EtherNet/IP 连接设置“,会显示 EtherNet/IP 设备列表,双击设备列表中的目标 PLC 设备,打开【内置etherNet/IP 端口设置 连接设置】,进行连接的相关配置。
在右侧单击”工具箱 > 目标设备“,如果没有加载过 eds 文件,不会显示目标设备,在空白处鼠标右键,弹出菜单,选择【显示 eds 库】。
单击【显示 eds 库】后,会弹出导入 eds 文件的对话框,单击【安装】,选择事先准备好的 eds 文件;之后【Vendor】列表中会显示加载后的
Aubo Robot,单击【关闭】。
6.4.1.6 设备站 IP 设置
单击添加按钮,添加目标设备。
在右侧显示的工具箱中,分别输入节点地址(EIP 服务的IP地址,即机器人的IP地址),型号名称输入
Aubo Robot, 修订版输入 2;之后单击【添加】按钮添加该目标设备。
6.4.1.7 PLC 和设备栈的连接设置
添加全局变量,在左侧目录树中单击【编程】-> 【数据】-> 【全局变量】,进入全局变量设置页面,添加输入、输出变量。
单击选项卡将页面切换至【内置etherNet/IP 端口设置 连接设置】,首先检查设备信息是否正确,主要看型号名称和节点地址;然后开始添加标签组,单击【全部注册】按钮,会弹出【标签组注册设置对话框】。
在【标签组注册设置对话框】中选中输入标签和输出标签,然后单击【注册】按钮。
切换到连接选项卡页面,单击添加按钮,添加连接,然后按照相应的连接参数来设置。
5.3.1.8 保存项目 > 传送到控制器 > 运行 > 监控
所有配置完成后,保存项目,单击【在线】按钮,然后单击【传送到控制器】,弹出传送到控制器对话框,选择“是”后,连接配置将会下载到 PLC 中。
单击”运行 > 监控“后,就可以开始监控相关地址的信号值变化,单击【监视(工程)】开始添加信号。
添加一些示例信号,如果能读到机器人的状态,并且可以设置机器人速度,表明 PLC > Robot、Robot > PLC 通信没有问题。
6.4.2 PLC 与控制器通信示例
使用 EIP 协议,从地址表中可以看到,PLC 与机械臂进行通信包括的内容有:
- 机械臂 IO 状态(slot_1)
- 机械臂位姿(slot_2)
- 机械臂关节电流电压温度(slot_3)
- 通用线圈和通用保持寄存器(slot_4、slot_5)
其中 slot_1、slot_2、slot_3 可通过 PLC 直接进行读取,slot_4、slot_5 包含了线圈和保持寄存器的内容,通过 ARCS 系统脚本调用的方式实现 PLC 跟机器臂通信。
6.4.2.1 通用线圈(Robot > PLC)
setBoolOutput(0,true),将 PLC slot_4 起始地址第一个 bool 量置为 true。根据地址表中的第一个通用线圈(Robot > PLC)的地址,在 Sysmac Studio 软件中的监控(工程)表中添加监控地址。
6.4.2.2 通用保持寄存器(Robot > PLC)
setInt16Register(32,183),将 PLC slot_4 保持寄存器(slot_4 第9个字节作为保持寄存器起始地址)第一个数据写入值 183,其中 setInt16Register 的起始地址为 32,过 1s 后,再将数据改为 99。根据地址表中的第一个通用寄存器(Robot > PLC)的地址,在 Sysmac Studio 软件中的监控(工程)表中添加监控地址。
6.4.2.3 通用线圈(PLC > Robot)
根据地址表中的第一个通用线圈(PLC => Robot)的地址,在 Sysmac Studio 软件中的监控(工程)表中添加监控地址并写入值。bool0 = getBoolInput(0),读取 PLC slot_5 起始地址第一个 bool 量,并保存在变量 bool0中。
6.4.2.4 通用保持寄存器(PLC> Robot)
根据地址表中的第一个通用寄存器(PLC > Robot)的地址,在 Sysmac Studio 软件中的监控(工程)表中添加监控地址并写入值。tmp0 = getInt16Register(0),机器人读取 PLC slot_5 的第 9 个字节开始的第一个 寄存器 (16Bit),并保存在变量 tmp0 中。
7. 常见问题
7.1 Profinet 常见问题
问题:混淆机器人 IP 和 Profinet 从站 IP。
解决方案:示教器界面设置的 IP 和博图软件配置给 Profinet 的 IP 一定不能相同,否则会出现连接失败的情况或者外网无法连接的情况。可以修改示教器显示的 IP,修改成同一网段下的其它字段。
问题:配置的从站名称和实际名称不同。
解决方案:需要在博图软件中将从站的名字和配置的名字统一,且同一个局域网中不要存在相同名字的从站。
问题:配置文件修改错误。
解决方案:
- 0.28 版本的 ARCS,示教器中的 Profinet 开关按钮不可用,如果想使用 Profinet 插件,需要将配置文件的
enable_after_startup选项配置为 1。其他版本请检查 Profinet 开关是否打开。 - 配置文件中的
network_port网口选项配置错误,默认为enp1s0,带单引号。 - 配置文件中的
gsd_type配置错误。初期只支持 2 选项,即兼容工业网关的地址表。
- 0.28 版本的 ARCS,示教器中的 Profinet 开关按钮不可用,如果想使用 Profinet 插件,需要将配置文件的
问题:GSD 文件未成功导入。
解决方案:请检查使用的 GSD 文件是否是 Profinet 插件专用的(压缩包里附带的)。
问题:不同的控制柜,默认的网口是否需要修改?
解决方案:如果不确定目前使用的网口,在控制柜中终端输入:
ifconfig,找 IP 是控制柜 IP 的那个网口,将这个网口修改进/root/arcs_ws/config/pn_server.conf配置文件。重新打开 Profinet。比如改进型控制柜需要将默认的enp1s0修改成enp2s0,C 型控制柜需要根据实际插入的网口修改,iS 控制柜则无需更改。问题:Profinet 从站服务打开后,状态显示未连接如何修复?
解决方案:先检查 PLC 和机械臂网线是否正常连接,能否
ping通。若通讯正常,打开终端,输入命令:systemctl restart pn_server,重启 ARCS 软件,即会显示正常连接。问题:PLC(s7-200 smart plc)连接 Profinet 从站时, STEP-7 Micro/WIN SMART 软件显示异常如何修复?
解决方案:出现下面的弹窗,代表 PLC 的内存不够大,以下图为例,此 PLC 的输入最大允许 128 字节的数据,但是槽 1 到槽 4 加起来一共大于了 128 字节,所以在拖入槽 4 的时候会弹此弹窗,且槽 4 无法正确的加载。解决方法是需要更换性能和配置更好的 PLC ,或者删除不需要的槽,只加载需要的槽。

7.2 Modbus 常见问题
问题:在用无线示教器时,使用路由器来桥接网络,可能会出现 IP 能 ping 通,但是 Modbus 主站信号不通。

解决方案: 检查路由器是否配置端口转发,如果没有配置,需将 Modbus TCP 使用的端口号配置上。
问题:Modbus RTU 信号通信失败。
问题分析:
排查设备与机器人之间串口通信是否正常,可以使用设备与机器人中的串口调试助手来测试串口通信状态。
排查主站建立的信号地址在从站中是否存在,主站新建的信号对应地址在从站中必须存在,信号才能正常通信。
解决方案:
- 在机器人控制柜中使用命令安装
cutecom。
- 打开 cutecom,并设置【串口号】、【波特率】、【奇偶校验】、【数据位】及停止位】。

- 若设备端是 PLC,则用
cutecom直接连接 PLC 测试,若设备是本机电脑,可在电脑中安装串口调试助手,例如:XCOM。
- 如果
cutecom和PLC/XCOM能够相互发送数据,表示能正常通信,串口通信线路没有问题,反之,需要检查通信线路连接情况。
问题:Modbus TCP信号通信失败
解决方案:- 排查设备与机器人之间网络是否能正常通信,首先查看是否关闭设备的防火墙,然后使用
ping命令检查网络是否能正常通信。 - 排查主站建立的信号地址在从站中是否存在,主站新建的信号对应地址在从站中必须存在,信号才能正常通信。
- 排查机器人 IP 地址是否与同一局域网下其他设备 IP 地址一致,是否产生了冲突。
- 排查设备与机器人之间网络是否能正常通信,首先查看是否关闭设备的防火墙,然后使用
7.3 EIP 常见问题
问题:修改 PLC 地址失败怎么办?
解决方案:
- 检查硬件接线是否正确,网线是否有松动,交换机和 PLC 的电源线是否松动;
- 通过 Type-C 转 USB 连接笔记本和 PLC,修改 PLC 的 IP 地址。
问题:目标设备离线如何处理?
解决方案:
- 排查下网线连接,PLC 的 IP 设置是否和笔记本在同一网段。
- 使用 PING 工具,测试 PLC 和笔记本网络是否可以正常
ping通; - 重启
AutoShop,重新连接测试。
问题:搜索不到 SYS_EIP 地址如何处理?
解决方案:
SYS_EIP里面的地址是根据 EDS 文件导入的,里面的地址是开发人员事先根据 EIP 地址表分配好的地址。- 【EtherNet/IP】下删除【Auto_Robot】,删除 EDS 文件后,重新导入。
- 双击添加【Auto_Robot】,删除原来的连接,重新添加连接。
- 下载 PLC,单击 ”运行 > 监控“,检查是否可以搜索到
SYS_EIP地址。 - 若以上未解决,重启控制柜和
AutoShop软件,重复以上步骤。
问题:通讯成功,但是为什么读取数据错误?
解决方案:
- 数据不变化,但是结果不正确,需要检查变量监控监控表的地址是否和 EIP 地址表一致。
- 数据变化,但是结果不正确,若地址是两个字节,必须把两个字节组成的数据都下发(例如末端速度,机器人状态的地址是两个字节),若获取地址是四个字节,必须把四个字节组成的数据都读取(例如:位置坐标,关节角是四个字节)。
8. 总结
本工业总线技术手册全面介绍了三种主流工业总线技术:Profinet、Modbus 和 EIP(Ethernet/IP)。通过本手册的学习,您应该能够:
- 理解工业总线的基本概念和工作原理。
- 掌握三种主流工业总线的配置方法和使用技巧。
- 了解工业总线的网络基础和硬件准备。
- 掌握工业总线的通用配置流程和故障排除方法。
- 能够根据实际应用场景选择合适的工业总线技术。
8.1 技术选型建议
- Profinet:适用于对实时性要求较高的复杂自动化系统,如汽车制造、电子组装等。
- Modbus:适用于对实时性要求不高的简单控制系统,如包装机械、物流输送等。
- EIP:适用于需要多厂商设备集成的场景,如生产线改造、设备升级等。
8.2 未来发展趋势
随着工业4.0和智能制造的推进,工业总线技术也在不断发展:
- 高速化:通信速率从百兆向千兆甚至万兆演进。
- 无线化:工业无线通信技术的应用越来越广泛。
- 智能化:支持边缘计算和人工智能的工业总线技术。
- 标准化:统一的工业通信标准和协议。
本手册将持续更新,为您提供最新的工业总线技术信息和应用指南。
