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

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

3天内不再提示

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

传感器专家网 来源:睿远研究院 作者:睿远研究院 2025-12-23 18:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

上回说到PM模块,那么紧跟着的一定就是DS模块了。DS的全称是Data Storage。虽然DS是很多单词的缩写,在IO-Link领域可是比较神圣的一个模块,还有一个汽车品牌也是DS的缩写,可是“女神”的含义。

好了,我们今天就来好好揭开,这个DS模块的“神秘面纱”。

1

DS的定义

数据存储(DS)机制使得从站设备参数在上层系统(如PLC程序或现场总线参数服务器)上能够一致且及时地进行缓存。

主站和从站之间的数据存储在IO-Link标准中进行了规定,而相邻的上层数据存储机制取决于各自的现场总线或系统。设备持有一组标准化的对象,提供有关数据存储的参数信息,例如内存大小要求以及数据存储机制的控制和状态信息。

数据存储参数集的修订,通过参数校验和来标识。

wKgZPGlKby2AWzUKAAIqDKRCn_o590.png

Data Storage机制和Block Parameter机制差不多,他们的检查机制相同。DS采用如上图的ISDU,包括DS的Command、状态、大小、checksum以及Index 列表

说白了,DS就是参数持久化的一种方式,其实最简单的本地DS,就是设备把参数存储在自己的flash或者eeprom里,下次上电再恢复即可。

而IO-Link里讲的DS,则是把参数保存在从站的上层,也就是主站的FLASH或者再上面的PLC的存储里,就是希望在主站的该端口,无论插入什么样的设备,都能统一下发一致的数据,避免参数不一致的情况。

2

DS的设备调试功能

IO-Link规范对“设备调试(Commissioning)”,分了2种:在线调试离线调试

系统参数(On-line commissioning)

过程:设备和 PLC 系统一起,在现场使用工程工具(如 TIA Portal、PACTware 等)进行配置和参数设置。

参数下载:用户通过工具给设备分配参数值,这些值被下载到设备中,成为激活参数(active parameters)。

数据存储:

·当系统发出 ParamDownloadStore 命令时,主站(Master)会将这些参数上传(复制)到其数据存储区(Data Storage)中。

·然后主站可以根据上层系统的特性进行备份操作。

适用于设备已经在现场安装好的场景。

离线调试(Off-site commissioning)

过程:使用如“USB-Master”等外部工具,以及设备的 IODD 文件,在非现场的地方(例如办公室),对设备进行配置和参数设置。

参数激活:通过工具完成配置和验证后,工具会设置 DS_UPLOAD_FLAG,标志该参数集为“已激活”。

安装后自动上传:

·当设备安装到现场并连接到主站后,主站会自动将这些参数上传到其数据存储中,完成备份。

说到USB-Master,强烈安利我们的USB-Master设备,这可是做传感器厂家的必备,童叟无欺,人见人爱,一设备在手,调试IO-Link不用愁。

wKgZPGlKby2ALSHjAARgdd4Vt6o045.png

再配合上位机软件,可以快速掌握IO- Link知识,调试IO-Link设备。

wKgZPGlKby2Ac62-AARPfUyWDXQ831.png

3

DS的数据结构

我们在深究DS前,先看一下他的数据结构,其就是把ISDU的index、subindex、length和data挨个存储起来,另外还要加个头部,包括校验码,设备的ID等。

wKgZPGlKby2ABqPBAASJO-TG8Cw960.png

DS的头部:

wKgZPGlKby6ASV8AAAGLZ6eKChM666.png

4

DS的状态机

DS是主站和从站配合完成的,从站状态机如下图所示,在启动后,基本就是在idle和dsactivity之间切换,说白了,就是负责ISDU的读取和写入。

wKgZPGlKby6AYc6nAAFyvHfw6Ng562.png

下图是主站的DS状态机。

wKgZPGlKby6ATtHAAAKC5e9Hnoc217.png

主站的DS状态机略微复杂,它的核心在Updown里;如果主站关闭了DS功能,则其就在off阶段,如果打开了ds,则会进入waitingonDSActivity等待DS的upload或者startup流程。

wKgZPGlKby6AJaqqAANBD7kCUM8984.png

在整体的UpDownload阶段,分为检查,判断合法性,上传/下载,Ready几个阶段,任何一个阶段的错误都会直接进入DS Fault,并告知具体的错误原因。

看这几个阶段的具体功能:

wKgZPGlKby6ABGWUAAZyYrSV4KY396.png

在Upload和Download子过程中,就是不停的和从站进行交互,读取和写入ISDU。

5

DS标识检查

我们知道,如果主站打开了DS模块,也就是端口模式配置了Manual模式,且指定了Backup & restore或者Restore模式之后就开始了DS流程。

在UpDownload2中,首先主站会检查自己存储的DS标识是否匹配从站的Vendor ID, Device ID;如果不匹配,就不会进入如下的流程。

那么这里的检查是怎么匹配的,这里就要回顾到SM模块的流程中,从下图看,有三种匹配方式:

wKgZPGlKby6AQy0YAABXIreRVAA872.png

1

NO_CHECK

顾名思义,不会检查任何ID,直接走后续流程

2

TYPE_COMP

只检查Vendor ID和Device ID,不检查SerialNumber,也就是只要是这一类的产品,都可以进行DS

3

IDENTICAL

最严格的,要检查SerialNumber,SerialNumber不对,也就走不到后续流程,但该选项在规范中已经明确不再要求实现了

6

CheckMemSize

上述检查完成后,第二步就是CheckMemSize。

首先,主站发送 03 03 即查询DataStorageIndex的subindex 03,查询从站的DS大小,判断是否合适,规范规定不能超过2048字节,如果从站不支持DS模块,一定会回复一个0x8012,表示该subindex不存在。

主站收到0x8012,则会认为它的大小超过2048字节,就进入了DS fault流程,虽然结果是一致的,但总觉得这是规范是欠缺考虑的。如果从站不支持DS,是否应该直接通过某个标志告知主站,主站无需再进入DS流程即可。

查询Size之后,就开始检查是否要upload;首先发送03 02 ,查看State Property,如果bit7位为1,标识DS_UPLOAD_Flag 为true,同时模式为Upload & restore,就直接进入Upload流程。

如果模式不是Upload &resotre,是Restore模式,表示Upload被Disable了;又或者Upload的标志位没有被置位,则还需要进行DS Validity的验证。也就是看看主站本地的DS是否有效,前面所讲的,只有Upload标志位有效,同时Upload Enable,就强制直接进入Upload,其他的情况得等候DS Validity。

在DS Validity这个阶段,主站检查自己的DS数据是否有效,如果无效则也进入Upload流程;如果有效,则跳过Upload。

那么DS什么时候无效呢?比如DS里数据为空,就是无效;比如在Upload过程中,传输失败,那么DS也是无效。只要DS是无效的,就会走Upload流程。而DS有效,则主站认为不应该再上传从站的数据,这时候就要检查Checksum了。

7

Checksum

在检查Checksum流程,主站发送03 04查询Checksum,如果Checksum一致,表示主从的数据是一致的;如果Checksum不一致,则主站强行下载数据给从站,覆盖从站的ISDU。下载成功则进入DS ready,下载失败,则进入DS fault。

最后附上Upload和Download的流程。

wKgZPGlKby-AdGu4AAMR_D2bzU8650.png

wKgZPGlKby-ABXfWAAPaMhJw8fo133.png

结语

好了,以上就是本期DS模块处理与检查流程的解析,DS作为IO-Link的关键功能,能够大幅度降低现场设备更换的难度,也是IO-Link作为“工业4.0最后一米技术”的独特优势。

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

    关注

    2

    文章

    201

    浏览量

    20929
  • 工业4.0
    +关注

    关注

    49

    文章

    2079

    浏览量

    125489
  • IO-Link收发器

    关注

    0

    文章

    17

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    前言 本篇对IO-Link规范的附录F的数据类型做个详细解释,附录定义了  基本数据类型 (Basic Data Types) 和  组合数据类型 (Composite Data Types),并
    的头像 发表于 01-14 18:25 6114次阅读
    <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规范解读(十三):参数模块解析

    Manager定义 在IO-Link规范中,特别定义了一个Parameter Manager这个模块,它要负责处理完整的数据检查以及参数的
    的头像 发表于 12-12 21:51 7706次阅读
    <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 5994次阅读
    <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 4985次阅读
    <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 6158次阅读
    <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<b class='flag-5'>详解</b>

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

    上回咱们分解到IO-Link的消息处理模块,消息处理模块就是对每个字节进行初步分析,按照不同的通道交给不同的处理模块来处理,可以认为他是初步的消息分拣机制,合格的消息交给后续处理,不合
    的头像 发表于 11-07 16:18 6989次阅读
    <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 与消息处理状态机

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

    前言 本周来到消息处理模块,通信世界的精髓就是消息的处理,如何把0,1,0,1解析成有意义的数据,就是消息模块需要打下的基础。 消息处理模块要根据在物理层已经转变成byte的内容,进行消息解析
    的头像 发表于 11-01 17:43 9277次阅读
    <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规范解读(六):主从站状态机解析

    前言 书接上文,今天我们就来好好聊聊主从站的DL-Mode状态机,还请各位童鞋前排坐好! 1主站状态机解析 主站的DL-Mode状态机有5个大状态,也是我们很熟悉的 建立通信、开始、预操作、操作状态,各个状态 之间通过一些命令来切换。 我们看一下每个事件的详细动作: 1 T1 从Idle_0到EstablishComm_1。清除wakeup的重试次数为0 2 T2~T4 从EstablishComm_1到Startup_2。依次以COM3~COM1来传出,一旦传输成功,则激活消息处理程序并配置为COMx 3 T5 从EstablishComm_1到Idle_0。三个速
    的头像 发表于 10-28 17:34 6492次阅读
    <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 3481次阅读
    <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 4636次阅读
    <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 1330次阅读
    <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 1414次阅读
    <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智能传感器通信解决方案

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

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

      南京工业互联网有限公司 是一家技术驱动的工业通信及工业物联网解决方案提供商,构建了以IO-Link技术为核心的产品矩阵,提供产品的定制开发、技术服务以及相关解决方案,致力于以标准化、低成本
    的头像 发表于 08-11 17:42 889次阅读
    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 1024次阅读
    Analog Devices / Maxim Integrated MAXREFDES177 <b class='flag-5'>IO-Link</b>通用模拟<b class='flag-5'>IO</b>特性/框图