2. IO-Link系统架构与通信原理

IO-Link 并不是一种“更快版本的现场总线”,而是一套在传统 24V 数字量接口基础上扩展出来的点对点串行通信标准(IEC 61131-9)。理解它的关键,是先看清系统里有哪些角色、它们如何连接,以及数据在电缆上以什么形式流动。本节围绕主站、设备、集线器与电缆的角色,点对点通信模型,COM1/COM2/COM3 三种速率,半双工 UART 帧结构,以及唤醒与启动流程展开。

一、系统角色:主站、设备、集线器与电缆

IO-Link 系统是一个典型的主从、点对点结构。一个 IO-Link 主站(Master)通常提供多个端口(常见 4 口或 8 口),每个端口只连接一个 IO-Link 设备(Device)。这与 RS-485 多点总线完全不同:IO-Link 端口之间彼此独立,不存在共享总线,因此也不存在总线仲裁和地址冲突问题。

  • IO-Link 主站:负责发起所有通信,管理端口状态机,缓存过程数据(Process Data)与参数数据(Parameter Data),并通过上位总线(如 PROFINET、EtherCAT、EtherNet/IP)与 PLC 交换数据。
  • IO-Link 设备:传感器、执行器或智能变送器,内部含 IO-Link 通信栈、IODD 描述文件和本地参数存储。设备只响应主站请求,不主动发起通信。
  • IO-Link 集线器(Hub):一种特殊设备,把一个 IO-Link 端口扩展为多个标准数字量输入/输出通道,让传统开关量传感器也能接入 IO-Link 主站,从而获得参数化和诊断能力。
  • 电缆:通常为 3 线或 5 线非屏蔽/屏蔽电缆。3 线用于标准 IO-Link(L+、L-、C/Q),5 线可兼容传统数字量并额外提供辅助电源。C/Q 线既传输通信信号,也承载开关量输出。
要点:IO-Link 的“点对点”意味着每个端口一条独立链路,主站端口数决定可接入设备数;集线器是扩展通道的手段,而不是总线分支。

二、点对点通信模型与三种传输速率

IO-Link 通信基于半双工 UART,物理层采用 24V 电平、电流驱动(约 5mA)的 C/Q 线。主站发送请求,设备在固定时间内应答,形成“请求—应答”循环。根据速率不同,标准定义了三种传输速率:

速率等级波特率位周期典型用途
COM14.8 kbit/s约 208 µs低速设备、长电缆、兼容旧器件
COM238.4 kbit/s约 26 µs最常用,兼顾速度与抗扰度
COM3230.4 kbit/s约 4.3 µs高速过程数据、短电缆、高实时性

主站会在启动阶段自动探测设备支持的速率,并选择双方都支持的最高等级。速率越高,对电缆长度和电磁环境越敏感,因此 COM3 通常要求电缆较短且屏蔽良好。

三、UART 帧结构与半双工机制

IO-Link 的 UART 帧由起始位、8 位数据、奇偶校验位和停止位组成。在半双工模式下,同一时刻只有一个方向在传输:主站先发请求帧,设备随后应答。若设备未在规定时间内响应,主站会判定超时并进入错误处理。

IO-Link UART 帧(典型):
[起始位 0] [D0 D1 D2 D3 D4 D5 D6 D7] [奇偶校验] [停止位 1]

主站请求:  C/Q ──► 设备
设备应答:  C/Q ◄── 主站
方向切换由主站控制,设备不得主动占用线路

帧之上还有更完整的消息结构:主站请求包含控制字节、地址、数据长度等;设备应答包含状态字节、过程数据或参数数据。过程数据通常为 2 字节(也可 1、4、8、16、32 字节),参数数据则通过索引(Index)和子索引(Subindex)访问,用于读写设备参数。

四、唤醒机制与启动流程

IO-Link 设备上电后并不会立即进入通信状态。主站需要先执行唤醒(Wake-up):在 C/Q 线上发送特定电平序列,使设备从标准数字量模式切换到 IO-Link 通信模式。唤醒成功后,主站读取设备信息、协商速率、建立通信参数,最终进入周期数据交换。

  1. 上电与复位:设备进入预运行状态,C/Q 线处于数字量输入/输出模式。
  2. 唤醒请求:主站发送唤醒信号,设备检测到后切换到 IO-Link 模式。
  3. 速率协商:主站探测并确定 COM1/COM2/COM3。
  4. 读取设备信息:获取厂商 ID、设备 ID、IODD 版本等。
  5. 参数校验与下载:主站可将缓存参数写入设备,或读取设备参数。
  6. 进入周期通信:过程数据按周期交换,诊断事件按需上报。
启动流程中,主站是唯一主动方;设备只做应答。若唤醒失败,端口会回退到标准数字量模式,此时设备可能仍能作为普通开关量使用。

五、案例与常见误区

假设一条包装线上有 8 个 IO-Link 光电传感器,接入一台 8 端口主站。每个传感器独立占用一个端口,主站通过 PROFINET 将过程数据映射到 PLC 输入区。若其中某个传感器需要修改检测阈值,工程师可通过 IODD 工具在线写入参数,而不必断电或更换硬件。这正是 IO-Link 相比传统数字量接口的核心价值:参数化与诊断能力下沉到最末端。

常见误区包括:把 IO-Link 当作多点总线,试图在一个端口挂多个设备;忽略电缆长度与速率匹配,导致 COM3 通信不稳定;认为唤醒失败就是设备损坏,实际上可能只是主站端口配置或电缆接线问题。复盘时应优先检查 C/Q 线接线、电源电压、端口模式配置和电缆屏蔽,再判断设备本身。

IO-Link 系统架构与点对点通信模型 PLC / 上位控制器 PROFINET / EtherCAT IO-Link 主站(Master) 端口状态机 · 过程数据缓存 · 参数管理 COM1 / COM2 / COM3 自动协商 上位总线 IO-Link 设备 传感器 / 执行器 IODD · 参数存储 IO-Link 设备 智能变送器 过程数据 2~32 字节 IO-Link 集线器 扩展数字量通道 传统开关量接入 DI 通道 DO 通道 IO-Link 电缆 L+ / L- / C/Q 24V · 半双工 UART UART 帧结构(半双工) 起始位 8 位数据 校验位 停止位 传输速率 COM1 4.8k COM2 38.4k COM3 230.4k 启动流程:上电 → 唤醒 → 速率协商 → 读设备信息 → 参数校验 → 周期通信

掌握上述架构与通信原理后,后续开发中无论是配置主站端口、选择电缆,还是调试唤醒失败问题,都可以从“角色—链路—帧—状态”四个层面逐层排查,而不是盲目更换硬件。