SECS-II 数据类型格式说明
SEMI E5-94《半导体设备通信标准第二部分(SECS-II)》 规范完成数字的打包(pack)与解包(unpack)操作,
SEMI E5-94 规范定义的各类数字数据格式详见下表1。
表1 条目格式代码(Item Format Codes)
| 解包标识(unpacked) | 二进制(binary) | 八进制(octal) | 十六进制(hex) | 说明(description) |
|---|---|---|---|---|
| T | 001001 | 11 | 0x24 | 布尔型(Boolean) |
| S8 | 011000 | 30 | 0x60 | 8字节有符号整数 |
| S1 | 011001 | 31 | 0x62 | 1字节有符号整数 |
| S2 | 011010 | 32 | 0x64 | 2字节有符号整数 |
| S4 | 011100 | 34 | 0x70 | 4字节有符号整数 |
| F8 | 100000 | 40 | 0x80 | 8字节浮点数 |
| F4 | 100100 | 44 | 0x90 | 4字节浮点数 |
| U8 | 101000 | 50 | 0xA0 | 8字节无符号整数 |
| U1 | 101001 | 51 | 0xA4 | 1字节无符号整数 |
| U2 | 101010 | 52 | 0xA8 | 2字节无符号整数 |
| U4 | 101100 | 54 | 0xB0 | 4字节无符号整数 |
十六进制取值为SEMI E5-94条目头(IH, Item Header)中格式码的最高6位(MSB,最高有效位)。
U1 -> 1010 0100 A4 -> 1010 0101 A5 最后两位表示长度 ,所以实际抓包的是01,也就是 A5 , 所以U1只能表示 0~255
U2 -> 1010 1000 A8 -> 1010 1001
S1F1报文解析
S1F1:
<L,7
<A,5 [MDLN] 'MDLN1'>
<A,8 [SOFTREV] 'SOFTREV1'>
<B,1 [NewItem] '1'>
<BOOLEAN,1 [NewItem] 'true'>
<U1,1 [NewItem] '1'>
<U2,1 [NewItem] '2'>
<U4,1 [NewItem] '4'>
>.
00 01 -> device id
01 -> S1
02 -> F2
00 -> SType
00 -> PType , data message
00 00 00 01 -> context id
01 -> list
07 -> list 长度 7
41 -> AscII
05 -> 字符串长度 5
4D 44 4C 4E 31 -> 字符串 MDLN1
41 -> AscII
08 -> 字符串长度 8
53 4F 46 54 52 45 56 31 -> 字符串 SOFTREV1
21 -> Byte
01
01
25 -> Boolean
01
01
A5 -> U1
01 -> U1 长度
01
A9 -> U2
02 -> U2 长度
00 02
B1 -> U4
04 -> U4 长度
00 00 00 04
浙公网安备 33010602011771号