跳转到内容

工业总线应用手册

1. 前言

本手册面向工业自动化领域的设计、调试、运维及选型技术人员,系统梳理 EIP(含软 EIP)、Modbus、Profinet 三种主流工业总线的核心知识体系。内容兼顾理论基础与实操落地,覆盖技术原理、硬件选型、配置调试、故障排查及场景适配,既满足新手快速入门需求,也可为资深工程师提供精准参考。

2. 安全信息

由于工业总线系统涉及电气连接、设备联动等潜在风险,用户在使用之前必须仔细阅读、理解并遵守本手册的说明。

集成商必须确保部署的总线系统符合相应法律法规与行业标准,严格执行风险评估,并采取必要措施降低风险。同时,用户必须遵守集成商指定的安全规范。

AUBO 提醒用户

在部署、使用工业总线系统时,必须注意设备与操作安全,总线系统的使用者需对自身及现场安全负责。AUBO 不对因违规操作、未遵守安全规范导致的安全问题负责。

3. 工业总线技术基础

3.1 工业总线概述

工业总线是连接工业自动化设备的通信网络,用于实现设备间的数据交换和控制指令传输。在现代工业自动化系统中,工业总线扮演着至关重要的角色,它是实现设备互联、数据采集、实时控制的基础。

3.2 主流工业总线对比

总线类型通信速率实时性网络拓扑适用场景优势劣势
Profinet100Mbps/1Gbps高(毫秒级)星型复杂自动化系统实时性好,功能丰富配置复杂
Modbus9.6Kbps-10Mbps总线型/星型简单控制系统协议简单,易于实现实时性一般
EIP100Mbps/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客户支持
    • 软件安装:
      1. 单击资料包获取 Profinet 插件压缩包。
      2. 找到资料包中的GDS文件(设备描述文件):gsdml-v2.31-arcs-ICM-20240529.xml。
      3. 请访问西门子 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 软协议栈。

    1. 使用 U 盘拷贝需要的文件,将以下文件放置到根目录:

      • pn_server-x.x.x.run
      • aubo_magic_pn_server_install_v1.0_20240422.sh
    2. 使用 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 软件编程。

此软件界面如下图所示:

  1. 将 PLC 的 CPC 置于 RUN 模式。

  2. 查看 PLC IP 地址。

  3. 配置电脑端 IP 地址:需要将电脑的 IP 设置成和 PLC 同一局域网的固定地址才可以与 PLC 连接成功。

    说明:

    本教程中的 PLC 的 IP 地址为 192.168.137.2 ,且它是连接在 PCIE 有线网卡上的。此时需要把这张有线网卡的 IP 配置为 192.168.137.X (X 的取值范围是 1~255,且不能和 PLC 的 IP 重复)。

    1. 在电脑段输入 win + r 打开运行窗口,输入 ncpa.cpl 后输入 shift 键(即回车键),打开网络链接设置。右键以太网,选择属性。

    2. 选中【Internet 协议版本 4(TCP/IPv4)】单击【属性】。

    3. 设置有限网卡 IP。

    4. 设置完成后,PLC 与电脑便处于同一网段下,此时便可以正常连接。

      注意

      • PLC 的 IP 地址配置操作需建立在设备通信链路已建立的基础上。
      • PLC 与上位机(计算机)的通信链路建立,需满足二者处于同一 IP 子网(网段)的网络层通信前提。

      连接后的状态如下:

4.3.3 配置工程

  1. 将在 3.1.1 环境准备下载的资源包中的 GSD 文件导入。

  2. 配置 Profinet 测试工程。

    Profinet 测试工程是对 Profinet 通信架构的系统性验证手段

    用来验证设备协议合规性与互操作性、测试网络实时性 / 稳定性、校验配置有效性,是保障工业通信层可靠运行的预验证环节

    1. 配置 Profinet 通信中 PLC 作为 IO 控制器的参数。

    2. 配置 Profinet 设备。

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

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

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

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

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

    8. 给 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 串口助手进行排查,参考文档:

    RS485测试流程

    Modbus RTU 串口通信测试

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

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

5.3.6 Modbus 信号在配置中作为 IO 使用

在【配置】界面单击“一般 > I/O设置”可配置其 I/O 输入动作,除拖动示教外其余信号需要在联动模式下触发信号执行(也可通过 OEM 定制功能使其在手动模式或自动模式生效)。

进行此配置前需要用户在【配置】界面单击“ 现场总线 > Modbus > 信号”中添加信号类型为“寄存器输入”或“数字输入”的 Modbus 信号。

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

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

  3. 用户可以在左侧导航栏单击“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 版本修改日期修改内容
1.0.40.29.2-beta.102024-8-191. 增加控制工程。
2. 增加工程运行状态。
1.0.70.31.0-beta.3
0.32.0-alpha.23
2024-12-26更新机器人系列和机器人子型号。
1.0.80.29.4-rc.6
0.31.0-beta.5
0.32.0-alpha.32
2025-1-9增加 Modbus 从站输出操作模式和心跳。
1.0.90.29.5-rc.10
0.31.0-rc.12
0.32.0-alpha.73
2025-3-4增加读写工程运行速度百分比。
1.0.110.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.120.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.130.31.1-beta.9
0.32.0-alpha.131
2025-5-15增加 bool 寄存器。
1.140.31.1-beta.10
0.32.0-alpha.139
2025-5-21增加切换工程。
1.140.31.1-beta.10
0.32.0-alpha.140
2025-5-221.增加操作模式支持输出联动模式。
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 串口助手进行排查,参考文档:

    RS485测试流程

    Modbus RTU 串口通信测试

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

5.5 接口应用

5.5.1 modbusSendCustomCommand 接口功能说明 & 注意事项

  • 将用户指定的命令发送到指定 IP 地址上的 Modbus 单元。
  • 由于不会接收到响应,因此不能用于请求数据,读数据的功能码暂不可用。
  • 用户负责提供对所提供的功能码有意义的数据。
  • 内置函数负责构建 Modbus 帧,因此用户不需要关心命令的长度,不需要输入 CRC 格式的数据。

5.5.2 参数定义及格式

c++
// 接口定义
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 参数指定通信的波特率,例如 96001920057600115200 等 。
     * (3)parity 参数指定奇偶校验方式,N 表示无校验,E 表示偶校验,O表示奇校验。
     * (4)data_bit 参数指定数据位数,允许的值为5、67和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 调用示例

c++
// 定义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 及以上。
  • 硬件准备:

    • 汇川 Easy 521 机械臂本体
    • 笔记本电脑
    • 网线
    • HUB或交换机
  • 配置文件:

    • 修改配置文件 aubo_control.conf

      1. 查看对应端口和网卡。

      2. 修改配置文件 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
  1. 打开 AutoShoop 软件,单击“文件 > 新建工程”,如下图所示,并按照步骤标注操作,填写工程名称,并选择汇川 PLC 的型号 Easy521。

  2. 单击菜单栏【工具】,选择【通讯设置】 ,【通讯类型】下拉框选择对应的网口,单击搜索 PLC ,正常连接后可以搜索到已通讯 PLC 。

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

    备注 :若在线搜索不到PLC,可使用type-C 转USB线连接PLC与笔记本,通讯类型选择USB ,即可修改PLC设备的IP.

6.3.1.4 机械臂设置静态 IP

打开 ARCS 软件主页,单击左侧导航栏“设置 > 系统 > 网络 > 静态地址”来设置静态 IP,静态 IP 地址需要和PLC、笔记本在同一网段。

6.3.1.5 通讯测试
  1. 单击【测试】,图中链接状态为已连通。此时PLC与笔记本已建立正常通讯。

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

5.2.1.6 PLC 导入 EDS 文件
  1. 单击软件左侧“工程管理 > 配置 > Ethernet/IP”。

  2. 单击软件右侧菜单栏“工具箱 > Ethernet/IP Device”,鼠标右键单击【Ethernet/IP Device】,会出现【导入EDS】,单击【导入EDS】导入事前准备好的 EDS 文件,如下图所示:

    备注:EDS文件由 AUBO 开发人员提供,可以找相关工程师获取最新版本。

6.3.1.6 设备站 IP 设置
  1. 双击【Aubo_Robot】, 【IP地址】设置为机械臂的真实IP, 【电子匹配】中选择 【精确匹配】,其它使用默认值即可,如下图所示:
  2. 单击【连接】>【添加连接】。
6.3.1.7 保存并监控项目
  1. 所有配置完成后,保存项目,然后单击【下载】>【运行】 > 【监控】,如下图所示步骤:

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

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

  4. SYS_EIP 里面的地址是根据 EDS 文件导入的,里面的地址是开发人员事先根据 EIP 地址表分配好的地址,这里的地址表跟开发人员提供的 EIP 的通信地址表对应,可以根据 EIP的地址表来选择相应的地址字段。

  5. 以下是根据 EIP 的地址表添加的一些监控地址,包括 IO 信号、位置坐标、关节角、电压、电流、温度、机器人状态、通用线圈(Robot => PLC)、通用寄存器(Robot => PLC)、通用线圈(PLC => Robot)、通用寄存器(PLC => Robot)、控制工程等等。

6.3.1.8 PLC 与控制器通信示例
  1. 卡槽1数字输出监控

    通过 EIP 地址表查询,DO00-DO07的 EIP 地址是_IP1_5.0_IP1_5.7变量监控表 中添加监控地址,打开【arcs软件】>【IO】> 【机器人】> 【数字输出】,通过操作DO01-DO07信号高亮,观察变量监控表的值是否同步变化。

  2. 卡槽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 及以上。
  • 硬件准备

    • 欧姆龙 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
  1. 双击打开 Sysmac Studio 软件,进入首界面,如果之前配置过 PLC,并新建保存上次的工程,则可直接单击”在线 > 链接到设备“选项,在对话框中选择连接类型为 【Ethernet-Hub连接】 ,连接设置中 IP 地址配置为 192.168.250.1 , 然后单击【连接】。若还没有配置过 PLC 和新建过工程,则跳过该步骤。

  2. 直接单击【新建工程】选项弹出对话框,填写工程名称,并选择欧姆龙 PLC 的型号 NX1P2-9024DT;然后单击【创建】来新建一个工程。

  3. 进入到 Sysmac Studio 软件的主界面后,单击”控制 > 通信设置“,弹出通信设置对话框,在对话框中选择连接类型为 【Ethernet-Hub连接】 ,连接设置中 IP 地址配置为 192.168.250.1 , 然后单击【Ethernet 通信测试】,如果显示通信成功,则单击【确定】,继续后面的操作,如果显示通信失败,则重新设置下 PLC 的地址。

  4. 如果测试与 PLC 通信时发现通信失败,则需要重新设置 PLC 的IP地址,单击左侧目录树”配置和设置 > 配置和设置“进入端口设置页面,在 IP 地址的选项中选择固定 IP 地址,填写 IP 和子网掩码,一般欧姆龙 PLC 的 IP 默认地址为 192.168.250.1 、子网掩码为 255.255.255.0 可以直接使用,无需更改。

  5. 设置完后,单击”工具 > 更新额配置和设置传送数据“,将配置更新到 PLC 中。

6.4.1.4 机械臂设置静态 IP

打开 ARCS 软件主页,单击左侧导航栏“设置 > 系统 > 网络 > 静态地址”来设置静态 IP,静态 IP 地址需要和PLC、笔记本在同一网段。

6.4.1.5 PLC 导入 EDS 文件
  1. 单击”工具 > EtherNet/IP 连接设置“,会显示 EtherNet/IP 设备列表,双击设备列表中的目标 PLC 设备,打开【内置etherNet/IP 端口设置 连接设置】,进行连接的相关配置。

  2. 在右侧单击”工具箱 > 目标设备“,如果没有加载过 eds 文件,不会显示目标设备,在空白处鼠标右键,弹出菜单,选择【显示 eds 库】。

  3. 单击【显示 eds 库】后,会弹出导入 eds 文件的对话框,单击【安装】,选择事先准备好的 eds 文件;之后【Vendor】列表中会显示加载后的 Aubo Robot,单击【关闭】。

6.4.1.6 设备站 IP 设置
  1. 单击添加按钮,添加目标设备。

  2. 在右侧显示的工具箱中,分别输入节点地址(EIP 服务的IP地址,即机器人的IP地址),型号名称输入 Aubo Robot, 修订版输入 2;之后单击【添加】按钮添加该目标设备。

6.4.1.7 PLC 和设备栈的连接设置
  1. 添加全局变量,在左侧目录树中单击【编程】-> 【数据】-> 【全局变量】,进入全局变量设置页面,添加输入、输出变量。

  2. 单击选项卡将页面切换至【内置etherNet/IP 端口设置 连接设置】,首先检查设备信息是否正确,主要看型号名称和节点地址;然后开始添加标签组,单击【全部注册】按钮,会弹出【标签组注册设置对话框】。

  3. 在【标签组注册设置对话框】中选中输入标签和输出标签,然后单击【注册】按钮。

  4. 切换到连接选项卡页面,单击添加按钮,添加连接,然后按照相应的连接参数来设置。

5.3.1.8 保存项目 > 传送到控制器 > 运行 > 监控
  1. 所有配置完成后,保存项目,单击【在线】按钮,然后单击【传送到控制器】,弹出传送到控制器对话框,选择“是”后,连接配置将会下载到 PLC 中。

  2. 单击”运行 > 监控“后,就可以开始监控相关地址的信号值变化,单击【监视(工程)】开始添加信号。

  3. 添加一些示例信号,如果能读到机器人的状态,并且可以设置机器人速度,表明 PLC > Robot、Robot > PLC 通信没有问题。

6.4.2 PLC 与控制器通信示例

使用 EIP 协议,从地址表中可以看到,PLC 与机械臂进行通信包括的内容有:

  • 机械臂 IO 状态(slot_1)
  • 机械臂位姿(slot_2)
  • 机械臂关节电流电压温度(slot_3)
  • 通用线圈和通用保持寄存器(slot_4、slot_5)

其中 slot_1slot_2slot_3 可通过 PLC 直接进行读取,slot_4slot_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 常见问题

  1. 问题:混淆机器人 IP 和 Profinet 从站 IP。

    解决方案:示教器界面设置的 IP 和博图软件配置给 Profinet 的 IP 一定不能相同,否则会出现连接失败的情况或者外网无法连接的情况。可以修改示教器显示的 IP,修改成同一网段下的其它字段。

  2. 问题:配置的从站名称和实际名称不同。

    解决方案:需要在博图软件中将从站的名字和配置的名字统一,且同一个局域网中不要存在相同名字的从站。

  3. 问题:配置文件修改错误。

    解决方案

    1. 0.28 版本的 ARCS,示教器中的 Profinet 开关按钮不可用,如果想使用 Profinet 插件,需要将配置文件的 enable_after_startup 选项配置为 1。其他版本请检查 Profinet 开关是否打开。
    2. 配置文件中的 network_port 网口选项配置错误,默认为 enp1s0 ,带单引号。
    3. 配置文件中的 gsd_type 配置错误。初期只支持 2 选项,即兼容工业网关的地址表。
  4. 问题:GSD 文件未成功导入。

    解决方案:请检查使用的 GSD 文件是否是 Profinet 插件专用的(压缩包里附带的)。

  5. 问题:不同的控制柜,默认的网口是否需要修改?

    解决方案:如果不确定目前使用的网口,在控制柜中终端输入:ifconfig ,找 IP 是控制柜 IP 的那个网口,将这个网口修改进 /root/arcs_ws/config/pn_server.conf 配置文件。重新打开 Profinet。比如改进型控制柜需要将默认的 enp1s0 修改成 enp2s0 ,C 型控制柜需要根据实际插入的网口修改,iS 控制柜则无需更改。

  6. 问题:Profinet 从站服务打开后,状态显示未连接如何修复?

    解决方案:先检查 PLC 和机械臂网线是否正常连接,能否 ping 通。若通讯正常,打开终端,输入命令:systemctl restart pn_server ,重启 ARCS 软件,即会显示正常连接。

  7. 问题:PLC(s7-200 smart plc)连接 Profinet 从站时, STEP-7 Micro/WIN SMART 软件显示异常如何修复?

    解决方案:出现下面的弹窗,代表 PLC 的内存不够大,以下图为例,此 PLC 的输入最大允许 128 字节的数据,但是槽 1 到槽 4 加起来一共大于了 128 字节,所以在拖入槽 4 的时候会弹此弹窗,且槽 4 无法正确的加载。解决方法是需要更换性能和配置更好的 PLC ,或者删除不需要的槽,只加载需要的槽。

7.2 Modbus 常见问题

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

    解决方案: 检查路由器是否配置端口转发,如果没有配置,需将 Modbus TCP 使用的端口号配置上。

  2. 问题:Modbus RTU 信号通信失败。

    问题分析

    • 排查设备与机器人之间串口通信是否正常,可以使用设备与机器人中的串口调试助手来测试串口通信状态。

    • 排查主站建立的信号地址在从站中是否存在,主站新建的信号对应地址在从站中必须存在,信号才能正常通信。

    解决方案

    1. 在机器人控制柜中使用命令安装 cutecom
    2. 打开 cutecom,并设置【串口号】、【波特率】、【奇偶校验】、【数据位】及停止位】。
    3. 若设备端是 PLC,则用 cutecom 直接连接 PLC 测试,若设备是本机电脑,可在电脑中安装串口调试助手,例如:XCOM
    4. 如果 cutecomPLC/XCOM 能够相互发送数据,表示能正常通信,串口通信线路没有问题,反之,需要检查通信线路连接情况。
  3. 问题:Modbus TCP信号通信失败
    解决方案

    • 排查设备与机器人之间网络是否能正常通信,首先查看是否关闭设备的防火墙,然后使用 ping 命令检查网络是否能正常通信。
    • 排查主站建立的信号地址在从站中是否存在,主站新建的信号对应地址在从站中必须存在,信号才能正常通信。
    • 排查机器人 IP 地址是否与同一局域网下其他设备 IP 地址一致,是否产生了冲突。

7.3 EIP 常见问题

  1. 问题:修改 PLC 地址失败怎么办?

    解决方案

    • 检查硬件接线是否正确,网线是否有松动,交换机和 PLC 的电源线是否松动;
    • 通过 Type-C 转 USB 连接笔记本和 PLC,修改 PLC 的 IP 地址。
  2. 问题:目标设备离线如何处理?

    解决方案

    • 排查下网线连接,PLC 的 IP 设置是否和笔记本在同一网段。
    • 使用 PING 工具,测试 PLC 和笔记本网络是否可以正常 ping通;
    • 重启 AutoShop ,重新连接测试。
  3. 问题:搜索不到 SYS_EIP 地址如何处理?

    解决方案

    • SYS_EIP 里面的地址是根据 EDS 文件导入的,里面的地址是开发人员事先根据 EIP 地址表分配好的地址。
    • 【EtherNet/IP】下删除【Auto_Robot】,删除 EDS 文件后,重新导入。
    • 双击添加【Auto_Robot】,删除原来的连接,重新添加连接。
    • 下载 PLC,单击 ”运行 > 监控“,检查是否可以搜索到 SYS_EIP 地址。
    • 若以上未解决,重启控制柜和 AutoShop 软件,重复以上步骤。
  4. 问题:通讯成功,但是为什么读取数据错误?

    解决方案

    • 数据不变化,但是结果不正确,需要检查变量监控监控表的地址是否和 EIP 地址表一致。
    • 数据变化,但是结果不正确,若地址是两个字节,必须把两个字节组成的数据都下发(例如末端速度,机器人状态的地址是两个字节),若获取地址是四个字节,必须把四个字节组成的数据都读取(例如:位置坐标,关节角是四个字节)。

8. 总结

本工业总线技术手册全面介绍了三种主流工业总线技术:Profinet、Modbus 和 EIP(Ethernet/IP)。通过本手册的学习,您应该能够:

  • 理解工业总线的基本概念和工作原理。
  • 掌握三种主流工业总线的配置方法和使用技巧。
  • 了解工业总线的网络基础和硬件准备。
  • 掌握工业总线的通用配置流程和故障排除方法。
  • 能够根据实际应用场景选择合适的工业总线技术。

8.1 技术选型建议

  • Profinet:适用于对实时性要求较高的复杂自动化系统,如汽车制造、电子组装等。
  • Modbus:适用于对实时性要求不高的简单控制系统,如包装机械、物流输送等。
  • EIP:适用于需要多厂商设备集成的场景,如生产线改造、设备升级等。

8.2 未来发展趋势

随着工业4.0和智能制造的推进,工业总线技术也在不断发展:

  • 高速化:通信速率从百兆向千兆甚至万兆演进。
  • 无线化:工业无线通信技术的应用越来越广泛。
  • 智能化:支持边缘计算和人工智能的工业总线技术。
  • 标准化:统一的工业通信标准和协议。

本手册将持续更新,为您提供最新的工业总线技术信息和应用指南。