0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

睿远研究院丨IO-Link规范解读(七):消息处理模块

传感器专家网 2025-11-01 17:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

本周来到消息处理模块,通信世界的精髓就是消息的处理,如何把0,1,0,1解析成有意义的数据,就是消息模块需要打下的基础。

消息处理模块要根据在物理层已经转变成byte的内容,进行消息解析,特别是固定的协议一般都有协议的报文头和报文尾,根据简单规则过滤该报文是否为合法报文,避免进一步的深度解析,减少MCU的处理压力。

wKgZO2kEo56AW7s7AAJr-sk1GZ4647.png

1 M-Sequence定义

11.8

主站与从站的交互,通过一系列的消息来交换数据,因此我们称之为“M-Sequence”,它也是IO-Link里的重要概念。

IO-Link属于典型的一问一答式交互,主站发送消息,从站回应消息,如果主站不发送消息,从站就不会回应消息。

wKgZO2kEo56ADXmlAAEj95qV-ps808.png

一个M-Sequence包含了主站的消息和从站的消息:

主站消息由若干个UARTFrame组成

第一个UART为MC(M序列控制字),表示当前报文的类型,简单理解为功能码,表示本次M序列的功能是什么,读写ISDU还是读Event等;

第二个UART的前2个bit,表示当前的M序列Type,决定了当前主站和从站的报文长度

根据第一个UART和第二个UART就基本确定了功能和数据长度,后续就是填充数据即可。

2 M-Sequence类型

wKgZO2kEo56ACnMzAALKZ3Ggcpk264.png

M-Sequence定义了不同阶段的报文类型,虽然规范总共罗列了10种,但其实一般也就用其中的3种,包括TYPE_0、TYPE_1_V、TYPE_2_V,其他的类型在目前IO-Link v1.1.4中基本无用武之地。

TYPE_1_1是完全交互PD,不交互OD,仅在IO-Link v1.0规范中使用。

01 TYPE_0

wKgZO2kEo56AcidoAAC5icqRndU043.png

一般在Startup使用,主站和从站还没有协商数据时使用,一般用于读取DPP数据;双方来回只交互一个OD数据。

02 TYPE_1_V

wKgZO2kEo56AMAMXAADS_kruCAo910.png

一般在PRE-OP使用,没有PD数据交互,只有OD数据,OD可以是1,2,8,32字节;通常很多厂商都是用8字节OD来交互,提高效率,又不浪费字节。

03 TYPE_2_V

wKgZO2kEo56AGRsGAAEyRePxciU952.png

一般在OP使用,主要交互PD数据,中间夹杂OD数据,确保PD按照固定数据传输数据,同时又可以传输OD的数据。

3 MC解析

wKgZO2kEo56ABnUNAAEUJGsHOrs865.png

MC报文的Bit 7作为区分读写操作的标志位

MC报文的Bit 6Bit5作为通讯通道的标志,因为每次循环都有OD数据,因此每次通信的通道都是3 ISDU通道;而当需要上报事件时候才会进行2 Diagnosis通道传输;最后是1 Page通道,在Startup阶段通过1 Page通道读取DPP1,2参数,如果在正常通信状态下,要读取DPP参数,也是采用1 Page通道。

最后5个bit作为地址标识,或者在进行ISDU传输时作为计数器,让双方知道当前已经发送到哪个报文了,不至于紊乱。

wKgZO2kEo5-AT9b7AAGNHbaFBgs911.png

上图为根据具体的标志位展示的所有可能的报文类型,大家在抓到相关IO-Link报文时可以根据这个表格去判断当前的通道和读写状态。

4 CKT解析

wKgZO2kEo5-AFoRqAACJbylvSTA932.png

主站的第二个消息包含两部分内容:

M-Sequence Type,根据所处的状态确定其值,一般来说,Startup阶段是0,PreOP阶段为1,OP阶段为2;当然这个不是绝对的,只是大部分这么使用而已。

Checksum,主站发送所有消息并加上一个种子值0x52一起异或,为了节约消息的开销,又对8bit的异或值做了运算得到一个6bit的checksum和M-SequenceType拼接到一起。

异或值的计算如下:

wKgZO2kEo5-ALeH6AAGOLywkG8w417.png

结语

本篇内容就先到这里啦,消息处理模块是IO-Link通信的重中之重,建议大家多花时间学习和消化。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IO-Link
    +关注

    关注

    2

    文章

    200

    浏览量

    20857
  • IO-Link收发器

    关注

    0

    文章

    17

    浏览量

    6320
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    研究院IO-Link规范解读(十五):数据类型详解

    前言 本篇对IO-Link规范的附录F的数据类型做个详细解释,附录定义了  基本数据类型 (Basic Data Types) 和  组合数据类型 (Composite Data Types),并
    的头像 发表于 01-14 18:25 5986次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(十五):数据类型详解

    研究院IO-Link规范解读(十四):DS模块详解

    前言   上回说到PM模块,那么紧跟着的一定就是DS模块了。DS的全称是Data Storage。虽然DS是很多单词的缩写,在IO-Link领域可是比较神圣的一个模块,还有一个汽车品牌
    的头像 发表于 12-23 18:28 9092次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(十四):DS<b class='flag-5'>模块</b>详解

    研究院IO-Link规范解读(十三):参数模块解析

    Manager定义 在IO-Link规范中,特别定义了一个Parameter Manager这个模块,它要负责处理完整的数据检查以及参数的
    的头像 发表于 12-12 21:51 7608次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(十三):参数<b class='flag-5'>模块</b>解析

    研究院IO-Link规范解读(十二):SM模块与CM模块解析

    我们本期来好好聊聊SM模块与CM模块,SM模块的全称是System Manager,是IO-Link最核心的模块,负责承上启下的管理各个
    的头像 发表于 12-04 18:27 5725次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(十二):SM<b class='flag-5'>模块</b>与CM<b class='flag-5'>模块</b>解析

    研究院IO-Link规范解读(十一):ISDU状态机与EVENT事件

    上篇我们介绍了ISDU的典型编码格式和应用案例,本篇我们就来详细介绍下,ISDU的状态机,并把EVENT事件的逻辑,给大家好好解析下。 1主站ISDU状态机 如上图所示,ISDU的状态机的核心是 请求,等待和响应 。   如果主站请求的是DPP参数,即ISDU 0x00,0x01的参数,从AL层还是走的ISDU逻辑,但底层走了DL_Read/WriteParam的逻辑,即走的是Page通道。也就是好端端的ISDU愣是被它拆分了两个通道, 增加了复杂性。   因为通常读写ISDU的命令都很长,一个循环放不下,都
    的头像 发表于 11-29 18:28 4900次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(十一):ISDU状态机与EVENT事件

    研究院IO-Link规范解读(十):ISDU详解

    前言 今天我们来好好聊聊ISDU。ISDU是Indexed service data unit的缩写,这个名字吧,也怪奇怪的,直接翻译叫索引服务数据单元,听起来更是怪怪的,小编更喜欢直接称他为从站的参数。传感器的各项参数设置都要靠它,它不仅可以设置参数,也可以作为只读参数来读取,甚至可以作为命令,基本是无所不能了。 1 ISDU总览 ISDU与PD数据不同,在请求的状态下才会发起,一般由主站发起相关请求,比如读ISDU和写ISDU。 ISDU的数据可以和PD数据一起传输,即在发送
    的头像 发表于 11-24 10:37 5927次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(十):ISDU详解

    研究院IO-Link规范解读(八):M-Sequence Type 与消息处理状态机

    上回咱们分解到IO-Link的消息处理模块,消息处理模块就是对每个字节进行初步分析,按照不同的通道交给不同的
    的头像 发表于 11-07 16:18 6767次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(八):M-Sequence Type 与消息<b class='flag-5'>处理</b>状态机

    研究院IO-Link规范解读(六):主从站状态机解析

    EstablishComm_1到Startup_2。依次以COM3~COM1来传出,一旦传输成功,则激活消息处理程序并配置为COMx 3 T5 从EstablishComm_1到Idle_0。三个速
    的头像 发表于 10-28 17:34 6364次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(六):主从站状态机解析

    研究院IO-Link规范解读(三):物理层概览

    前言 物理层是 IO-Link 通信的 “硬件底座”,它直接决定了系统的可靠性、抗干扰能力和部署灵活性。打个比方,就像盖房子,物理层就是地基和骨架,地基不稳、骨架不牢,房子肯定住着不踏实。本期我们
    的头像 发表于 10-21 17:26 3368次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(三):物理层概览

    IO-Link规范解读(五):数据链路层解析

    前言 本篇就来讲讲IO-Link的数据链路层。 01 链路层总览 数据链路层(Data Link Layers)在整个IO-Link协议栈起到承上启下的作用,通过物理链路在主从站之间传递 消息,其
    的头像 发表于 10-20 18:08 4530次阅读
    <b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(五):数据链路层解析

    研究院IO-Link规范解读(二):IO-Link通信技术概述

    前言 今天我们继续解读IO-Link 1.1.4规范,本篇文章将给大家介绍IO-Link技术的概览,包含IO-Link命名的含义、主从站交互
    的头像 发表于 09-25 19:25 1199次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(二):<b class='flag-5'>IO-Link</b>通信技术概述

    研究院IO-Link规范解读(一):技术定义与组织规范

      IO-Link 技术定义与组织规范 从今日起,小将开始长篇连载IO-Link规范解读系列文
    的头像 发表于 09-18 18:17 1279次阅读
    <b class='flag-5'>睿</b><b class='flag-5'>远</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>规范</b><b class='flag-5'>解读</b>(一):技术定义与组织<b class='flag-5'>规范</b>

    RASIGHT IO-Link智能传感器通信解决方案

      南京工业互联网有限公司 是一家技术驱动的工业通信及工业物联网解决方案提供商,构建了以IO-Link技术为核心的产品矩阵,提供产品的定制开发、技术服务以及相关解决方案,致力于以标准化、低成本
    的头像 发表于 08-11 17:42 826次阅读
    RASIGHT <b class='flag-5'>睿</b><b class='flag-5'>远</b> <b class='flag-5'>IO-Link</b>智能传感器通信解决方案

    Analog Devices / Maxim Integrated MAXREFDES177 IO-Link通用模拟IO特性/框图

    IO-Link收发器。该器件旨在演示软件可完全配置的模拟IO模块的性能,该模块采用了MAX22000工业可配置模拟IO器件。MAX1448
    的头像 发表于 06-30 09:30 921次阅读
    Analog Devices / Maxim Integrated MAXREFDES177 <b class='flag-5'>IO-Link</b>通用模拟<b class='flag-5'>IO</b>特性/框图

    倍加福推出新型G11和G16系列IO-Link集线器

    借助IO-Link集线器,技术方面的局限已成过往:它们支持在IO-Link主站上实现IO-Link设备与二进制标准传感器/执行器的协同运行。
    的头像 发表于 05-27 15:23 1133次阅读