IO-Link通信笔记(二)——专业术语

IO-Link通信笔记(二)——专业术语

相信第一次接触IOL的人,在看见文档里面提出的很多专业术语时,都是很迷惑。不明白这些术语说的都是什么,有心思去官方说明手册里翻一翻解释吧,面对三百页全英文的文档又双手挠头。所以本节在此处将相关的术语做出解释,解释之外的深入剖析,会有专门的一节文章。

·COMx
IOL通信现阶段只支持3种传输速率,分别为COM1-4800bit/s、COM2-38400bit/s、COM3-230400bit/s。其传输速率由设备设定,主站在第一次与设备建立连接时,会从COM1到COM3三种速率变化下循环发出握手序列(COM1-COM2-COM3-等待-COM1-COM2-COM3…),设备收到正确的握手序列内容后与未收到下一个不正确速率下的错误数据前做出回应,主站在设备回应后确定设备的传输速率,建立稳定的通信。
在这里插入图片描述

·主站
IOL作为点对点通信的协议,并不是所有设备都拥有IOL通信的能力并且也不需要,只需要有限的设备支持IOL,由IOL上层管理设备进行信息汇总,再通过常规的通信方式将数据上传,就可以实现大范围设备的管理,也实现了对旧设备的保留,节省成本开销。
主站就是充当管理设备,从每一个设备点获取数据,整合并上传的设备。每一个主站拥有若干个IOL端口,一个端口可以跟一个传感器或执行器设备进行连续不间断的数据交互,并且为设备提供工业24V电源支持。在IOL通信协议中,交互数据的报文由主站发起,设备被动回复,更多的交互动作也都是由主站发起,设备回应。

·从站
连接到主站端口上的传感器与执行器设备,被称作从站。周期性的接收来自主站的报文并回复信息。

·Min Cycle Time
即最小循环周期时间。因为IOL通信是主站发起从站回复这一循环交互机制,为了实现只要不断开连接,主从之间的数据就一直连续不断的交互,每一个从站都要在出厂时设置设备能够支持的最小的循环交互周期,该周期指示主站应遵从的两次报文交互之间的最小间隔,这个间隔包含了在当前波特率下字节的传输之间和字节见的空闲时间。在官方的文档中列举出了在不同传输速率下,一条最复杂的传输序列需要的时间,因此,设备供应商务必保证当前设备的最小循环周期,大于等于这个数值,才能保证循环交互的数据完整性。
在这里插入图片描述

·M-sequence
即Message Sequence。是IOL主从之间进行循环信息交互的最小报文单元,主站发出一条报文,从站回复一条报文,这样一组报文,称为一个完整的Message Sequence。为方便书写,后文全部用“M序列”字样代替。
在这里插入图片描述

·M-sequence Type
M序列类型。IOL通信规定了若干个M序列的报文格式,这些格式被称为M序列类型,主站开发过程中,会从设备供应商提供的IODD中获取设备支持的M序列类型,并严格按照此类型发送主站报文。从站会检查主站的报文格式,只有确定主站发出报文的M序列类型与设备自身支持的M序列类型一致,设备才会切换到工作状态并接收主站后续的报文。
目前大多数主站和设备都不支持运行中变M序列类型。

·ISDU
是Indexed Service Data Unit的缩写,即索引服务数据单元。这里面的Data,指的就是参数设备间参数读写、指令获取等数据,每一个数据都有通过开发者定义的独一无二的索引号,设备间通过索引号获知当前正在操作的数据。
看到这里,相信接触过其他通信协议的朋友应该有了一些理解。没错,以modbus协议举例子,这里面的索引号,就是modbus的寄存器号,携带的Data,就是modbus一针报文里的Data,只不过数据的长度有所区别,协议的格式与完成一次交互的方式也有区别。主站通过若干次的报文,在从站内部组装成一个完整的服务信息,从站从中解析出来主站当前希望获取到的数据的索引,根据这个索引回复相应的数值。这其中的规则,笔者会专门开一期文章做出详细解释。

·Direct Parameter
即直接参数,也是一个参数存储区域,只不过绝大多数参数是通过ISDU交互,而直接参数是通过指令地址直接交互。直接参数分为直接参数页1与直接参数页2,直接参数页1为每一个设备必须拥有的,共16个字节,存放着设备信息,包括最小循环周期、M序列类型、版本号、设备供应商ID、设备ID等,在预操作模式下主站通过地址立即获取设备信息然后再进行后续的交互。直接参数页2为设备供应商可选是否支持,共16字节,如果设备不支持ISDU并且仍然有一些数据希望通过IOL交互,那么请务必支持直接参数页2;如果设备支持ISDU,笔者建议取消直接参数页2的支持以减少不同参数区域切换指令变更引起的开销。

·C\Q
主站与从站直接进行信息交互的线路,是IOL的PHYL芯片提供的专有线路,MCU与PHYL通过串口连接(部分PHYL芯片支持SPI连接)。该线路有两种模式:SIO与SDCI。在SDCI模式下称之为C,在SIO模式下称之为Q,因此该线路称之为C\Q线。

IOL是一个仅仅使用一根线路进行数据交互的通信方式。所有信息交互全都依赖C\Q线,这也是上文一再强调,所有的信息交互全都是由主站发起从站随后回复的原因。在主站占用CQ线路发送数据时,从站必须处在接收态,在接收完毕之后才能切换到发送态发送设备数据给主站。

此外,CQ线的电平状态,与串口的RX、TX线路的电平状态反相,这将是开发过程中诊断通信信号准确性的有力依据。

·SIO
即signal-IO,数字IO模式。PHYL芯片在上电初始化或者指定SIO功能时,CQ线路是IO信号功能,可以像常规工业传感器一样输出PNP、NPN或推挽信号。

·SDCI
即single-drop digital communication interface,这就是IOL的通信模式,在该状态下CQ线路进行数据通信。

·WURQ
从站的PHYL芯片在收到主站发来的SDCI报文后,会拉低WURQ引脚,该引脚连接到MCU的外部中断线上,用来唤醒从站的IOL能力。在收到唤醒信号后,设备将从SIO模式进入到SDCI-收方向,等待主站发来正确的握手序列后切换到发方向,向主站返回数据。

·Fall Back
设备从SDCI模式变成SIO模式的过程叫做Fall back(回落)。

·Process Data
过程数据,简称PD。是从站在每一次M序列回应时,根据M序列类型定义,携带的固定数量的设备当前运行数值。例如,从站是一个红外测距传感器,那么PD就是检测到的当前距离,从站在每一次回应时,都将当前数值装载到M序列PD的位置上发给主站。

·On-request Data
请求数据,简称OD。是主从之间除了固定的PD以外一切数据的总称。指令、索引号、参数值、事件信息等,全都通过OD字节进行交互。主站会在M序列的第一个字节内携带指示信息,告知从站此时要进行的交互类型,如果是直接参数页,那么接下来主站的OD将会是参数值;如果是ISDU,那么接下来的OD将依次为ISDU服务信息、索引号高八位、索引号低八位、子索引、若干参数值、校验码。因此,OD的具体意义,要根据当前交互的具体内容的变化而变化。

·Event
从站设备的事件信息,在某些工况下可以将其视为故障诊断手段。比如从站出现了过温,那么从站就会上报一个过温出现事件,在温度回到正常范围内,从站会上报一个过温消失事件。主站收到这些事件后,做出相应的动作,使得系统长久处在正确工作下。

·Block Parameter
块参数,简称BP。在从站支持ISDU前提下,主站向从站发起获取块参数指令,从站会将自身所有在ISDU传输的参数依次上传给主站,形成一块参数域,因此这样的一个参数集合称为块参数。
在实际使用过程中,块参数是极为有用的。现场调试人员只需要对一个从站进行调试,将从站的所有参数以块参数的形式获取到主站中,此后无论更换多少个从站设备,主站都可以利用块参数功能将所有参数写入到从站中,实现从站的免调试,并且极大方便了程序的开发中参数的维护,使得即使出厂参数非最新,也可以即插即用。
但是在笔者的使用过程中发现,有不少主站厂家和从站厂家,都没能很好地支持块参数功能。因此,在较多场下中,需要调试人员将参数获取后,保存成IOL指定的XML文件,在更换设备时,利用上位机将这些参数批量写入到设备中。

·Data Storage
数据存储域,简称DS。一个设备如果支持块参数,请务必将所有支持写入的参数的索引号和子索引号,写入到DS列表内,主站是通过DS列表内的索引信息,来确定设备都有哪些参数。一旦DS列表出现错误,块参数功能就会受限。
这也是笔者说很多厂家对块参数的支持比较差的原因。IOL这个块参数功能是非常棒的,但是主站需要通过从站返回的DS列表来确定从站参数的索引信息。那么一旦DS列表书写错误,主站将会提前结束对块参数的操作,甚至可能都没办法发起块参数的动作。因此笔者觉得,既然IOL在定义时将动作的主权交给了主站,那么也完全可以将块参数的主动权交给主站,在编写程序时,根据设备提供的IODD,明确将块参数的索引信息内容写好在主站程序中,主站严格按照每一个参数的索引进行块参数交互,也就避免了因设备DS列表错误而无法执行块参数这一问题。当然,官方坚持现在这个方案笔者也是能猜到其目的,也是方便在更换设备时,就算没有IODD,也可以尽可能的保证设备的工作,减少人员、时间等投入。所以笔者是希望官方可以找到更好的块参数执行方案,优化IOL通信。
很多主站厂家在开发前期也是找到了间接实现块参数的方法。他们的上位机会根据IODD将每一条参数读取到,然后写入XML文件中用以保存参数。之后导入这个文件后,再根据IODD与参数存储文件中索引信息,指向性的一条一条往设备中写入。这也是一个比较好的参数管理方法。

·IODD
是I\O Device Description英文的缩写,即IO设备描述文件。这个文件中会明确书写对应设备的设备信息、M序列能力、交互参数、交互指令、上位机菜单界面、电气连接属性等信息。开发人员可以凭借设备的IODD来开发设备程序,也可以在上位机中导入IODD实现对设备的操作。类似CAN通信中的DBC文件。

以上是本节的全部内容,如果各位读者仍然存在疑惑可以私信发送问题,笔者会一一解答并积累一期文章的内容更新出来。
笔者内容也许会存在错误,欢迎志同道合的开发者一起讨论。我们共同进步!
如果感兴趣,请来到我的微信公众号,查看更多精彩!link.
在这里插入图片描述
喜欢我的文章请关注我的微信公众号,我会不定期更新更多干货知识!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IO-Link通信从站协议栈的设计是为了实现从站设备与主站之间的通信IO-Link通信从站协议栈通常包含三个层级:物理层、数据链路层和应用层。 物理层是通信协议栈的底层,负责搭建起从站设备与主站之间的物理连接。物理层协议定义了通信的传输媒介、电气特性和物理接口等信息。 数据链路层是建立在物理层之上的协议层,用于负责有效地传输数据帧。数据链路层负责对数据帧进行分组和传输,确保数据可靠地从从站设备发送到主站。 应用层是协议栈的最上层,用于实现从站设备与主站之间的应用层协议。应用层协议定义了数据帧的格式和解析规则,以及从站设备和主站之间的通信规则和协议。 在IO-Link通信从站的协议栈设计中,还需要考虑以下几个方面: 1. 效率:协议栈设计应尽可能高效地传输数据,以实现快速的通信。 2. 稳定性:协议栈设计应具备良好的稳定性,能够在各种环境条件下可靠地传输数据。 3. 兼容性:协议栈设计应考虑与其他通信协议的兼容性,以便与不同类型的主站设备进行通信。 4. 扩展性:协议栈设计应具备一定的扩展性,以适应未来的技术发展和应用需求。 总之,IO-Link通信从站协议栈的设计是为了实现从站设备与主站之间的可靠、高效的通信,通过物理层、数据链路层和应用层的协作,实现数据的传输和应用层协议的实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值