一起游 手游攻略 手游评测 睿远研究院丨IO-Link规范解读(十五):数据类型详解

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

时间: 来源:互联网 浏览:0

前言本文对IO-Link 规范附录F 中的数据类型进行了详细说明。附录定义了基本数据类型(基本数据类型)和组合数据类型(复合数据类型),并通过示例演示了其结构和传输方法,包括单独使用或打包使用。

基本数据类型包括BooleanT、UIntegerT、IntegerT、Float32T、StringT、OctetStringT、TimeT、TimeSpanT;,组合数据类型包括ArrayT、RecordT。。这些数据类型在IODD文档中也大量描述,但其分类名称不一致。它们在IODD 中称为SimpleDataType和ComplexDatatype。1 BooleanT。 BooleanT代表只能有两个不同值的数据类型,即TRUE 和 FALSE。数据类型在下表中指定。

wKgZO2leNa-Ac3cgAACXTJWfcxo311.png

对于一次性使用,编码如下表所示,发送者应始终使用0xFF 代表 'TRUE' 或 0x00 代表 'FALSE'。接收方可以从0x01 到 0xFF 的范围为 'TRUE进行解释,并且应该将0x00解释为'FALSE'以简化实现。

wKgZO2leNa-AVAzxAAA0w3-PNz0856.png

对于BooleanT,需要特别注意的是,它的True0xFF,而不是传统意义上的0x01;在许多嵌入代码中,TRUE 的定义是0x01。如果使用瑞源的IO-Link来判断某个条件是否为真,则必须使用指定的宏IOLD_TRUE或其他协议栈定义的TRUE。如果用0x01来判断,就很容易出错。

2 UIntegerTIntegerTUIntegerT表示无符号数,用2~64位表示,采用右对齐、左补的方式,填充到对应的字节数:1、2、4或8,高阶填充位用0填充。wKgZO2leNa-ACVktAAGevAPwXPQ408.png

IntegerT表示有符号整数类型,用2到64位表示。使用右对齐和左侧填充填充到相应的字节数:1、2、4或8,负数高位用1填充,正数高位用0填充

wKgZO2leNa-ANtGXAAHa605cBoY925.png

3 Float32TFloat32T采用IEEEStd 754-1985标准的单精度浮点类型(32bit),正数的高位用0填充,负数的高位用1填充。wKgZO2leNa-AHewjAAIsXResLNY436.png

4 StringTOctetStringTStringT用一定的固定序列的字符串表示,长度可变,使用US-ASCIIUTF-8进行编码。 UTF-8 对ASCII 字符使用1 个字节,而其他字符最多使用4 个字节。0x00 不允许作为字符,通常用作字符串的结尾或尾部填充。

wKgZO2leNa-AN0hrAAIo8WIgDtw301.png

对于字符串类型,实际数据可以小于ISDU中定义的长度。接收方可以搜索第一个0x00 字节并将其视为字符串的结尾。如果是压缩发送,即后面的0x00不发送,收件人可以自己加上0x00。

OctetStringT由有序的8位组表示,固定字节,也是表示字节串的数据类型。一般用于传输各种二进制数据,如图像、音频等。

wKgZO2leNa-AcsdGAAE_0f9uXEo751.png

5 TimeTTimeSpanTTimeT 基于RFC 1305 标准,由两个无符号值组成,表示与特定日期关联的网络时间。

TimeSpanT是64位的整型值,每个单位代表1/2的32次方。

时间T的格式:

wKgZO2leNbCALfYyAARcHV0Ou6Y167.png

TimeSpanT 的格式:

wKgZO2leNbCADsPJAAQYTjzQDoM192.png

6 ArrayT组合数据类型。该数据类型包含多个相同的数据类型。相应的规则如下:

1、分项指标数据排列要紧密,不能有空位;居中。 2、字节序列中,最高的子索引元素n应为靠右对齐

3、UInteger和IntegerT的长度大于58位且小于等于64bit则不允许。

wKgZO2leNbCAF_XtAAGBfnmMS14550.png

7 RecordT与ArrayT类型的不同之处在于它包含的数据类型可以不一致。相应的规则如下:

1.升序排列:子索引按1到n升序排列。虽然中间允许有间隙,但为了便于阅读,仍保持一定的升序;

2、起始偏移:从最后一个字节开始计数;

3、对齐:Float32T、StringT、OctetStringT、TimeT、TimeSpanT必须保持字节对齐;

4、整型对齐:对于UIntegerT和IntegerT类型,强烈建议进行字节对齐,不要跨字节;

5.唯一性:每一位只能分配给一个Record,防止冲突。

wKgZO2leNbCAVRoaAAL8y5of7s4080.png

结语今天的内容先到这里结束。我们花了15篇文章和大家一起整理了IO-Link协议规范的重要内容。下一篇文章,我们将开启IO-Link SSP法规解读之旅,近距离接触智能传感器的应用。您可以期待一下!

标题:睿远研究院丨IO-Link规范解读(十五):数据类型详解
链接:https://yqqlyw.com/news/sypc/69741.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
绯红之境兑换码最新2021 礼包兑换码大全

绯红之境兑换码最新2021 礼包兑换码大全[多图],绯红之境兑换码怎么领取?绯红之境兑换码有哪些?绯红之境在今日

2026-01-15
三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法

三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法[多图],三国群英传7霸王再临怎么玩?三国群英传7霸王再临

2026-01-15
妄想山海怎么加好友 加好友方法大全

妄想山海怎么加好友 加好友方法大全[多图],妄想山海添加好友功能在哪里?妄想山海添加好友的方法是什么?好友添

2026-01-15
江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略

江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略[多图],江南百景图又见桃花村钓鱼怎么钓?又见桃花村钓

2026-01-15