SECS/GEM协议开发系列(三)SML格式讲解

本文深入探讨了SECS II协议中的SML格式,这是一种类似于XML的纯文本格式,但拥有自己独特的语法。SML消息报文由消息命令字和消息体组成,消息体采用SML格式。SML格式包括L(List)、B(binary)、U1、U2、U4和A等元素类型,用于表示不同类型的数据。通过举例说明了各种元素类型的使用方式,帮助读者理解和应用SML格式。
摘要由CSDN通过智能技术生成

secs协议根据协议栈我们知道有多层协议,如图。

这里我们不讨论secs i 和HSMS的格式,我们只讨论secsii的协议,因为secs ii的报文内容的格式就是sml格式。

secs ii协议的消息报文分为两部分:消息命令字 + 消息体。其中消息体采用的是SML格式,本文对SML格式进行简单讲解,帮助大家了解SML的格式,方便理解和后续的开发。

sml格式有些像xml,都是属于纯文本格式,但与xml又不同,他定义了它自身的语法。例如下面一段报文:

// 命令字

S1F14:               

// 消息体 sml 格式             

<L[2] 

        <B[1] 0x00>

        <L[0]>

>

.

SML以 <> 作为开始和结束。有自定义类型和元素个数。类型后面跟[],中括号里表示的元素的个数。多个的情况下,是空格间隔即可。字符类型A  的元素需要使用双引号引起来。 

元素类型:

L:List   这个可以组织不同类型的元素在一起。可以嵌套List。

例:<L[3]   //表示3个元素,

                <B[0] 0x00>

                <U1[0]>

                <L[2]>

                        <U4[0]>

                        <A[2]  "ok">

        >

B:binary       例:<B[2] 0x00  0x01>

U1: 1个字节的整形        例:<U1[2] 20 10>

U2:2个字节的整形        例 :<U2[2] 20 10>

U4:4个字节的整形例         例:<U4[2] 20 10>

 A:  ASCII码字符     例: <A[5] "hello">

Boolean:布尔类型    例:<Boolean[1]  0>

常用的就这些了,应该把SML格式讲清楚了,如果有其他问题,可以联系邮箱:yujingjiang86@163.com

最后:点赞是美德,关注是缘分,打赏您随意,你的鼓励是我世界善的一部分!

  • 47
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 43
    评论
评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大余里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值