IO-Link 技术通识
- IO-Link Technical Knowledge -
前言
前几篇内容,我们对于IO-link技术的概述与优势,做了简要的介绍,收到了许多读者的关注。从本篇开始,我们将就IO-Link的技术本身展开介绍,欢迎大家阅读并留言交流。
1 Pin definition
引脚定义
前面我们介绍,IO-Link一大优势就是统一,它统一了通讯协议与物理接口,这其中就包含每个引脚的定义。根据IEC 60974-5-2,IO-Link设备接口的引脚定义如下:
引脚1:24v电源+极
引脚3: 0v
引脚4:IO-Link通信或SIO模式(标准DI/DO信号)
在我们日常使用中,主要将IO-link接口分为两类,区别体现在供电能力上:
1)Class A:常规传感器或执行器使用
此时,除了引脚1、3、4的定义外,一般会将引脚2定义为额外的数字量信号,而引脚5预留,不具体定义
2)Class B:针对大功率的传感器或执行器,提供一路额外的供电
此时,除了引脚1、3、4的定义外,将引脚2、5分别作为额外一路供电的+极和-极
2
Data type
数据类型
我们前面提到过,IO-Link是点对点的双向数字通信,那在通信过程中,传输的数据类型有哪些呢?
从整体来看,IO-Link数据分为周期性数据与非周期数据两大类。
顾名思义,周期性数据是每次通信过程都会进行数据传输的数据,比如测量值的过程数据;
而非周期数据,主要是需要读写的一类数据,比如设备的循环周期、设备ID等,以及出现异常问题时,设备的诊断报警等事件信息。
我们通过IO-Link所实现的智能传感器功能,许多都是通过周期性数据和非周期数据组合起来实现的。
比如SSP4.0智能传感器行规(下篇文章展开聊聊)的示教功能,就是利用周期性数据里的过程测量值,与非周期数据中所设置的开关点位和迟滞范围,共同作用下实现的。
3
Communication process
通信过程
主站和从站(传感器或执行器)之间的所有通信都以主站发出请求为开始,并遵循固定的时间表,而从站必须应答所有主站请求,这种来回通信被统称为称为M序列(消息序列)。
M序列有许多不同的形式,各种形式的总长度也不相同。尽管M序列通信可能有所不同,但主站和从站之间的所有通信都按照该固定时间表进行。
唤醒请求
1)唤醒周期典型值为80 μs(最小值为75 μs,最大值为85 μs)。
2)主站将会提供(或吸收)该电流以生成唤醒脉冲;如果线路为低电平,主站将提供电流拉高电平;如果线路为高电平,主站将吸收电流拉低电平。
3) IO-Link从站会检测线路上的电流,检测从低到高或从高到低的电压变化,由此检测唤醒脉冲。
4)当收到唤醒请求时,IO-Link从站必须将自身配置为接收模式;此动作必须在收到请求后的500 μs内完成,否则主站将产生错误信号。
4
Communication rate
通信速率
在IO-Link V1.1的规范中,IO-Link有三种通信速率:
COM 1 = 4.8 kbaud
COM 2 = 38.4 kbaud
COM 3 = 230.4 kbaud
根据v1.1的规范,每个IO-Link从站设备都只支持所定义的一种通信速度,而IO-Link主站支持所有通信速度,并能在通信建立的过程中,自动适应设备所支持的通信速度。
在此过程中,主站会以COM3、COM2和COM1数据速率(从最快到最慢)发送多条消息,并在每次发送后等待从站响应。
从站将以其额定数据速率响应,当从站响应时,主站便可与从站通信;然后,主站可以得知IO-Link从站的最小周期时间能力。
主站最多可以重试两次唤醒序列以建立IO-Link通信, 如果唤醒请求在第二次尝试后仍然失败(最大重试次数为2次),则从站必须将C/Q线设置为SIO(DI/DO开关量)模式。