常用的工业通讯协议

jmfans 发布于 2024-08-30 441 次阅读


AI 摘要

摘要:介绍Modbus、RS232、RS485、Ethernet/IP、CAN和EtherCAT的特性和应用。

Modbus、RS232、RS485、Ethernet/IP、CAN和EtherCAT

对比表格

特性 Modbus RS232 RS485 Ethernet/IP CAN EtherCAT
类型 通信协议 硬件接口标准 硬件接口标准 工业以太网协议 通信协议 工业以太网协议
应用领域 工业自动化 数据通信 工业控制、数据采集 工业自动化 汽车电子、工业自动化 工业自动化
传输介质 串行(RS232, RS485)或以太网 串行电缆 双绞线 以太网 双绞线 以太网
拓扑结构 主从 点对点 多点 星形、树形等 总线型 菊花链、星形、树形
通信速率 9600 bps 到 115200 bps(串行) 最多1 Mbps,但通常为9600 bps到115200 bps 最多可达10 Mbps 10 Mbps, 100 Mbps, 1 Gbps 最多1 Mbps 100 Mbps
传输距离 取决于传输介质 最多15米 最长1200米 取决于网络设备 最长40米(1 Mbps),最长1公里(5 Kbps) 取决于网络设备
抗干扰能力 中等
实时性 中等 非常高
同步性 中等 非常高
节点数 通常最多247个(RS485) 2个(点对点) 最多32个节点(标准),扩展可达256个 理论上无限制 最多110个节点(标准),扩展可达2048个 理论上无限制
错误检测 CRC 奇偶校验、校验和 CRC CRC、帧校验 CRC、位填充 CRC、帧校验
优点 简单、开放、易于实现 简单、成本低、广泛使用 抗干扰能力强、传输距离远 高速、支持实时通信 高可靠性、实时性强、抗干扰能力强 实时性强、低延迟、高精度同步
缺点 数据传输速率较低,不适合实时性要求高的应用 传输距离和速率有限,抗干扰能力差 实现复杂度较高,需要终端电阻匹配 实现成本较高,需要专业网络设备 传输速率较低,适用于中小规模数据传输 实现成本较高,网络配置复杂
常见应用 PLC、传感器、HMI 计算机串口、调制解调器 工业自动化、楼宇控制 工业控制、机器人 汽车电子、工业自动化 高精度运动控制、机器人
标准/规范 Modbus RTU, Modbus ASCII, Modbus TCP EIA/TIA-232 EIA-485 ODVA (Open DeviceNet Vendors Association) ISO 11898-1, ISO 11898-2 EtherCAT Technology Group (ETG)

更多技术细节

  1. Modbus:

    • 帧结构: 起始位、地址域、功能码、数据域、校验码、结束位。
    • 数据类型: 支持离散输入、线圈、输入寄存器、保持寄存器。
    • 功能码: 常用功能码包括读输入状态(0x02)、读保持寄存器(0x03)、写单个线圈(0x05)、写单个寄存器(0x06)。
  2. RS232:

    • 信号电平: 正负电压,通常+12V和-12V。
    • 连接器类型: 常用DB9和DB25。
    • 通信模式: 全双工。
  3. RS485:

    • 信号电平: 差分信号,通常+5V和0V。
    • 连接器类型: 通常使用螺丝接线端子或RJ45。
    • 通信模式: 半双工或全双工。
  4. Ethernet/IP:

    • 协议栈: 基于TCP/IP和UDP/IP。
    • 实时性: 支持CIP Sync和CIP Motion用于时间同步和运动控制。
    • 服务: 支持Explicit Messaging和Implicit Messaging。
  5. CAN:

    • 帧结构: 起始位、仲裁域、控制域、数据域、CRC域、ACK域、结束位。
    • 错误处理: 具有错误检测和自动重传机制。
    • 优先级: 通过仲裁机制实现消息优先级。
  6. EtherCAT:

    • 帧结构: 基于以太网帧,包含EtherCAT数据包。
    • 实时性: 支持分布时钟机制,实现微秒级同步。
    • 拓扑结构: 支持灵活的拓扑结构,包括菊花链、星形和树形。

帧协议内容

当然,以下是对Modbus、RS232、RS485、Ethernet/IP、CAN和EtherCAT的帧结构的更详细解释:

Modbus

Modbus有多种变体,包括Modbus RTU、Modbus ASCII和Modbus TCP。以下是Modbus RTU的帧结构:

  • 起始位: 通常是一个静默时间间隔(3.5个字符时间)。
  • 地址域: 1字节,标识从设备地址。
  • 功能码: 1字节,指定请求的操作类型(如读写寄存器)。
  • 数据域: 可变长度,包含与功能码相关的数据(如寄存器地址和数量)。
  • 校验码: 2字节,CRC校验码,用于错误检测。
  • 结束位: 通常是一个静默时间间隔(3.5个字符时间)。

关于Modbus TCP可点击--点我跳转

RS232

RS232是一个硬件接口标准,没有特定的帧结构,但常用的帧格式如下:

  • 起始位: 1位,表示帧的开始,低电平。
  • 数据位: 5到8位,表示实际的数据。
  • 奇偶校验位: 1位,可选,用于错误检测。
  • 停止位: 1到2位,高电平,表示帧的结束。

RS485

RS485也是一个硬件接口标准,常用于实现Modbus RTU等协议。其帧结构取决于上层协议,如Modbus RTU的帧结构:

  • 起始位: 通常是一个静默时间间隔(3.5个字符时间)。
  • 地址域: 1字节,标识从设备地址。
  • 功能码: 1字节,指定请求的操作类型(如读写寄存器)。
  • 数据域: 可变长度,包含与功能码相关的数据(如寄存器地址和数量)。
  • 校验码: 2字节,CRC校验码,用于错误检测。
  • 结束位: 通常是一个静默时间间隔(3.5个字符时间)。

Ethernet/IP

Ethernet/IP基于标准以太网帧,以下是其帧结构:

  • 以太网帧头:
    • 目的MAC地址: 6字节。
    • 源MAC地址: 6字节。
    • 以太网类型: 2字节,通常为0x0800表示IPv4。
  • IP头:
    • 版本和头部长度: 1字节。
    • 服务类型: 1字节。
    • 总长度: 2字节。
    • 标识符: 2字节。
    • 标志和片偏移: 2字节。
    • 生存时间: 1字节。
    • 协议: 1字节,通常为0x11表示UDP或0x06表示TCP。
    • 头部校验和: 2字节。
    • 源IP地址: 4字节。
    • 目的IP地址: 4字节。
  • TCP/UDP头:
    • 源端口: 2字节。
    • 目的端口: 2字节。
    • 长度: 2字节(仅UDP)。
    • 校验和: 2字节。
  • CIP消息:
    • 命令: 1字节。
    • 路径: 可变长度。
    • 数据: 可变长度。

CAN

CAN帧结构分为标准帧和扩展帧,以下是标准帧的结构:

  • 起始位: 1位,表示帧的开始。
  • 仲裁域: 11位,标识符,用于仲裁优先级。
  • 控制域: 6位,包含数据长度码(DLC),表示数据字段的字节数。
  • 数据域: 0到8字节,实际传输的数据。
  • CRC域: 15位,CRC校验码,用于错误检测。
  • ACK域: 2位,确认位。
  • 结束位: 7位,表示帧的结束。

EtherCAT

EtherCAT帧结构基于以太网帧,以下是其结构:

  • 以太网帧头:
    • 目的MAC地址: 6字节。
    • 源MAC地址: 6字节。
    • 以太网类型: 2字节,通常为0x88A4表示EtherCAT。
  • EtherCAT数据包:
    • EtherCAT命令: 1字节,表示EtherCAT命令类型。
    • 长度: 2字节,表示数据长度。
    • 循环计数: 1字节,表示帧的循环次数。
    • 数据: 可变长度,实际传输的数据。
    • 工作计数: 2字节,表示处理节点数。
  • 帧校验序列(FCS): 4字节,标准以太网帧的CRC校验码。
此作者没有提供个人介绍
最后更新于 2024-08-30