2. IO-Link系统架构与通信原理
IO-Link 并不是一种现场总线,而是一套建立在传统三线制传感器/执行器电缆之上的点对点数字通信标准(IEC 61131-9)。理解它的系统架构与通信原理,是设备开发工程的第一块基石:只有先弄清主站、设备、集线器与电缆各自扮演什么角色,才能正确设计设备的通信状态机、帧处理和参数管理逻辑。
一、系统架构:四类角色的分工
一个典型的 IO-Link 系统由以下角色构成,它们之间是清晰的层级与点对点关系:
- IO-Link 主站(Master):通常作为上位控制器(PLC、工业 PC)的接口模块,内部为每个端口维护一个独立的通信通道。主站负责发起所有通信、生成时钟、解析设备应答,并管理 ISDU 参数读写与事件上报。
- IO-Link 设备(Device):即传感器、执行器或智能变送器,内部包含 IO-Link 通信栈、物理层收发器(PHY)以及应用层。设备是被动响应方,只有在收到主站请求后才回复。
- IO-Link 集线器(Hub):用于把多个传统二进制开关量或模拟量信号"打包"成一个 IO-Link 设备接入主站,从而让非 IO-Link 的老设备也能享受参数化与诊断能力。
- 电缆(Cable):标准非屏蔽三线或四线电缆,最长 20 m,承载 C/Q 单线双向通信与 L+/L- 供电。它既是供电通道,也是通信通道。
需要特别强调的是:IO-Link 是点对点(Point-to-Point)通信,一个主站端口只连接一个设备,不存在多设备共享同一物理通道的情况。这与 RS-485 总线式的多站轮询有本质区别,也是它能够做到确定性周期时间的原因。
二、点对点通信机制与三种传输速率
IO-Link 通信采用主从、半双工、单线(C/Q)方式。主站发送请求帧,设备在固定时间内回复应答帧,形成一次"通信周期(Cycle Time)"。设备不能主动发起通信,只能通过事件(Event)在应答中携带标志位,通知主站"有事情发生"。
标准定义了三种传输速率,设备与主站必须协商一致才能通信:
| 速率等级 | 波特率 | 典型周期时间 | 适用场景 |
|---|---|---|---|
| COM1 | 4.8 kbit/s | 约 2.3 ms 起 | 低速参数设备、长电缆、老设备兼容 |
| COM2 | 38.4 kbit/s | 约 0.4 ms 起 | 通用传感器、多数标准设备 |
| COM3 | 230.4 kbit/s | 约 0.1 ms 起 | 高速测量、动态控制、多字节过程数据 |
设备开发时,通常需要在启动阶段通过唤醒(Wake-up)与速率协商流程,让主站识别设备支持的速率。若设备只支持 COM2,而主站默认尝试 COM3,则会出现无法建立通信的现象。
三、数据帧结构:一次通信周期里发生了什么
IO-Link 的物理帧由起始位、数据位、奇偶校验位和停止位组成,但开发者更应关注其协议层帧结构:
- 主站请求帧:包含 CKT(周期类型)、地址、读写方向、数据长度以及过程数据或 ISDU 索引。
- 设备应答帧:包含状态位、过程数据、事件标志以及校验信息。
- 过程数据(Process Data):周期性传输,长度固定(如 2 字节输入 + 2 字节输出),直接映射到 PLC 的 I/O 区。
- ISDU(Indexed Service Data Unit):非周期性传输,用于读写参数、诊断信息、设备信息,按索引寻址。
一次典型通信周期(简化):
主站 → 设备: [CKT][Addr][R/W][Len][ProcessData/ISDU Index]
设备 → 主站: [Status][ProcessData][Event][Checksum]
周期性:每周期都传 ProcessData
非周期性:仅在需要时插入 ISDU 读写,占用额外周期
四、周期性与非周期性通信的配合
这是 IO-Link 设备开发中最容易混淆的部分。周期性通信保证实时性,非周期性通信保证灵活性,两者共享同一条物理通道,由主站调度:
- 周期性通信:以固定 Cycle Time 循环传输过程数据,设备必须每个周期都及时应答,否则主站会判定通信超时。
- 非周期性通信:主站在周期之间插入 ISDU 请求,用于参数下载、设备识别、事件读取。设备需要在不破坏周期节拍的前提下完成处理。
五、案例场景:一个压力变送器的通信过程
假设某压力变送器支持 COM2,过程数据为 2 字节压力值 + 1 字节状态。上电后:
- 主站发送唤醒信号,设备以 COM2 应答,完成速率协商。
- 主站读取设备 ID(ISDU 索引 0x0010),确认厂商与设备类型。
- 进入周期性通信,每 1 ms 交换一次过程数据。
- 工程师通过主站下发参数(如量程、滤波系数),走 ISDU 非周期通道。
- 设备检测到超压,在应答帧中置位事件标志,主站读取事件详情。
六、常见误区与复盘
误区 2:忽略速率协商,设备只支持 COM2 却按 COM3 设计时序,导致通信失败。
误区 3:在周期任务中直接处理 ISDU,造成周期应答延迟,主站报通信错误。
误区 4:认为集线器只是"分线器",忽略它内部也有通信栈和参数映射逻辑。
复盘建议:在设备开发早期,先用主站模拟器验证速率协商与最小周期时间,再逐步加入 ISDU 与事件处理。只有把点对点机制、三种速率、帧结构和周期/非周期调度这四件事串起来,设备才能在实际产线上稳定运行。