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 物理层基于三线制非屏蔽电缆,最大长度 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+ 之间的绝缘性能。
三、数据链路层:帧结构与通信机制
数据链路层定义了 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 压力传感器时,发现主站无法读取其量程参数。排查过程如下:
- 确认物理层:测量 C/Q 线波形,发现唤醒脉冲正常,通信速率协商为 COM2。
- 检查数据链路层:抓取 M-sequence,发现主站发送的 ISDU 读请求帧 CRC 校验失败。
- 定位应用层:核对 IODD 文件,发现索引号 0x0040 的子索引应为 0x00,而主站配置为 0x01。
- 修正配置后,参数读取成功,事件日志中无异常记录。
六、复盘与要点归纳
IO-Link 协议栈的三层结构各司其职:物理层保证信号可靠传输,数据链路层保证帧的正确组装与校验,应用层保证数据语义的正确解释。一致性测试正是围绕这三层展开,分别验证电气参数、帧时序和参数访问行为。
IO-Link 通信建立典型流程:
1. 主站发送唤醒脉冲(Wake-up Pulse)
2. 从站响应,进入通信状态
3. 主站读取从站信息(Vendor ID、Device ID)
4. 协商通信速率(COM1/COM2/COM3)
5. 周期性过程数据交换开始
6. 按需进行 ISDU 参数读写
7. 事件上报与诊断处理
掌握上述分层概念和术语,是理解后续一致性测试用例、调试工具和故障分析的前提。在实际工作中,建议结合 IODD 文件和主站诊断日志,建立从物理信号到应用语义的完整排查链路。