2. IO-Link基础

IO-Link 是一种点对点数字通信接口标准(IEC 61131-9),用于将传感器、执行器等现场设备与 IO-Link 主站连接。理解 IO-Link 一致性测试与调试,必须先建立对协议栈分层、物理层电气特性、数据链路层帧结构以及应用层数据语义的整体认识。本节从分层模型出发,逐层拆解关键概念与术语,为后续测试项分析打下基础。

一、IO-Link 协议栈分层模型

IO-Link 采用三层结构:物理层(Physical Layer)、数据链路层(Data Link Layer)和应用层(Application Layer)。三者自上而下依次封装,自下而上依次解封装。与 OSI 七层模型相比,IO-Link 省略了网络层、传输层和会话层,因为它是点对点、无路由、无会话管理的确定性通信。

物理层负责电气信号传输,采用三线制:L+(24V 电源)、L-(参考地)和 C/Q(通信线)。数据链路层负责帧的组装、校验、同步与差错检测,定义了通信速率、帧结构和时序。应用层则规定过程数据(Process Data)、参数数据(Parameter Data)、事件(Event)和诊断信息的语义与访问方式。

IO-Link 协议栈分层与关键术语 应用层 Application Layer 过程数据 PD Process Data 参数数据 SP Parameter Data 事件 Event 诊断/通知 ISDU 索引访问 Index/Subindex 数据链路层 Data Link Layer 帧结构 Frame 起始/校验/停止 通信速率 COM1/2/3 校验 CRC 差错检测 时序 Timing tA/tB/tC 物理层 Physical Layer 三线制 L+ / L- / C/Q 电平标准 24V / 3.3V 驱动能力 200mA 线缆长度 ≤20m 上层语义 帧与校验 电气信号 点对点连接 · 无路由 · 确定性通信 · IEC 61131-9

二、物理层:电气特性与信号传输

IO-Link 物理层基于三线制非屏蔽电缆,最大长度 20 米。L+ 提供 24V 直流电源,L- 为参考地,C/Q 线承担双向半双工通信。通信采用 UART 异步串行格式,逻辑电平以 L+ 为参考,典型高电平为 L+ 减去驱动管压降,低电平接近 0V。

IO-Link 定义了三种通信速率:COM1(4.8 kbit/s)、COM2(38.4 kbit/s)和 COM3(230.4 kbit/s)。主站和从站必须在建立通信前协商一致,否则无法完成唤醒和参数交换。物理层测试关注点包括:输出电压范围、上升/下降时间、信号过冲、短路保护以及 C/Q 线与 L+ 之间的绝缘性能。

调试提示:若从站无法被唤醒,优先用示波器测量 C/Q 线上的唤醒脉冲(Wake-up Pulse),确认其幅度和宽度是否满足规范。常见问题是线缆过长导致边沿变缓,或从站供电不足导致驱动能力下降。

三、数据链路层:帧结构与通信机制

数据链路层定义了 IO-Link 的帧格式和交互规则。一次完整的通信周期由主站发起,从站响应。帧的基本结构包括起始位、数据位、校验位和停止位。IO-Link 使用两种帧类型:类型 0 用于过程数据交换,类型 1 用于参数访问和事件传输。

关键术语包括:

  • M-sequence:主站与从站之间的一次请求-响应序列,是 IO-Link 通信的基本单元。
  • Cycle Time:主站周期性访问从站的最小时间间隔,由主站配置决定。
  • CRC:帧校验序列,用于检测传输错误。类型 0 帧使用 6 位 CRC,类型 1 帧使用 8 位 CRC。
  • tA、tB、tC:分别表示主站发送结束到从站响应开始、从站响应结束到下一周期开始等时序参数。

数据链路层还负责处理通信错误,如校验失败、超时和帧格式错误。这些错误会通过事件机制上报给应用层,并在一致性测试中被重点验证。

四、应用层:数据语义与访问方式

应用层是 IO-Link 与用户应用交互的接口,核心概念包括过程数据、参数数据、事件和 ISDU。

术语 全称 含义与用途
PD Process Data 周期性传输的过程数据,如传感器测量值、执行器状态,长度 1~32 字节。
SP Service Data / Parameter 非周期性参数数据,通过 ISDU 读写,用于配置设备。
ISDU Indexed Service Data Unit 带索引和子索引的数据单元,是访问参数的标准方式。
Event Event 设备主动上报的诊断、警告或错误信息,分事件类型和事件代码。
IODD IO Device Description 设备描述文件,定义参数、数据格式和 UI 显示方式。

过程数据通过类型 0 帧周期性传输,主站和从站各自维护输入和输出数据区。参数数据通过类型 1 帧按需访问,使用 ISDU 索引寻址。事件则通过类型 1 帧或专用事件通道上报,包含事件限定符和事件代码。

五、案例场景:从站参数读取失败排查

某工程师在调试一台 IO-Link 压力传感器时,发现主站无法读取其量程参数。排查过程如下:

  1. 确认物理层:测量 C/Q 线波形,发现唤醒脉冲正常,通信速率协商为 COM2。
  2. 检查数据链路层:抓取 M-sequence,发现主站发送的 ISDU 读请求帧 CRC 校验失败。
  3. 定位应用层:核对 IODD 文件,发现索引号 0x0040 的子索引应为 0x00,而主站配置为 0x01。
  4. 修正配置后,参数读取成功,事件日志中无异常记录。
常见误区:许多调试人员将通信失败直接归因于物理层线缆问题,而忽略了应用层索引配置错误。实际上,ISDU 索引和子索引不匹配是参数访问失败的高频原因。建议在排查时按“物理层→数据链路层→应用层”的顺序逐层验证,避免盲目更换硬件。

六、复盘与要点归纳

IO-Link 协议栈的三层结构各司其职:物理层保证信号可靠传输,数据链路层保证帧的正确组装与校验,应用层保证数据语义的正确解释。一致性测试正是围绕这三层展开,分别验证电气参数、帧时序和参数访问行为。

IO-Link 通信建立典型流程:
1. 主站发送唤醒脉冲(Wake-up Pulse)
2. 从站响应,进入通信状态
3. 主站读取从站信息(Vendor ID、Device ID)
4. 协商通信速率(COM1/COM2/COM3)
5. 周期性过程数据交换开始
6. 按需进行 ISDU 参数读写
7. 事件上报与诊断处理

掌握上述分层概念和术语,是理解后续一致性测试用例、调试工具和故障分析的前提。在实际工作中,建议结合 IODD 文件和主站诊断日志,建立从物理信号到应用语义的完整排查链路。