SECS ii的报文内容的格式就是sml格式

不讨论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>

posted @ 2022-06-30 15:05  txwtech  阅读(1151)  评论(2编辑  收藏  举报