解码二进制缓冲区
Decode Binary Buffer(解码二进制缓冲区)动作使用单个输入二进制缓冲区来检索数据值,然后将这些值写入多个输出变量。可以指定源二进制缓冲区变量、数据类型、输入缓冲区中的偏移量、计数、间隔、长度和特殊处理选项。
参数描述
此动作提供以下参数:
| 参数 | 描述 |
|---|---|
| Rules Input Type(规则输入类型) | 选项包括:
|
| Rules in JSON(JSON 中的规则) | 当 Rules Input Type(规则输入类型)为 Manual(手动)时,此参数用于指定要从二进制缓冲区解码的变量的 JSON 描述。如示例所示,各变量指定方式如下:
|
| File(文件) | 当 Rules Input Type(规则输入类型)为 Staging File(暂存文件)时,此参数用于在暂存浏览器区域中指定一个文件,其中包含要从二进制缓冲区解码的变量的 JSON 描述。 编辑触发器时将读取此文件。文件中变量描述的处理方式与 Rules in JSON(JSON 中的规则)参数相同。仅在编辑触发器时才读取该文件,因此对文件内容的更改不会影响已启动触发器的定义或函数。要更改触发器的函数,必须将触发器停止,对其进行编辑(读取文件)以做出任何必要的更改,然后重启。 |
| Byte Order(字节顺列) | 选项包括:
|
输入选项卡
| 参数 | 描述 |
|---|---|
| Binary Buffer(二进制缓冲区) | 指定源二进制缓冲区。 |
| 偏移量 | 除每个变量的偏移量值之外还使用的可选偏移量。 例如,当需要考虑源缓冲区中的可变长度标头时,可以使用此方法。 |
输出选项卡
| 参数 | 描述 |
|---|---|
| Output map variables(输出映射变量) | JSON 变量描述中标识的映射变量。 JSON 变量描述中的每个变量都将在 Output(输出)选项卡中添加为映射变量行。 在 Value(值)列中,指定目标变量。该变量可以是触发器变量或设备变量。 |
解码二进制缓冲区示例
此示例显示了变量的 JSON 描述以及从源二进制缓冲区读取时的数据位置。
{ "First" : {"offset":8, "type":"FLOAT4", "count":1 }, "Second" : {"offset": 12, "type":"STRING", "count":2, "length":4 }, "Third" : {"offset":30, "type":"INT4", "count":4, "interval":6 } }
使用 process.bit 和 process.all.bits 的解码二进制缓冲区示例
此示例显示了变量的 JSON 描述以及从源二进制缓冲区读取时的数据位置。
{ "First" : {"offset":0, "type":"BOOL", "count":3, "bit_offset":1, "special":"process.bit" }, "Second" : {"offset":2, "type":"BOOL", "count":10, "bit_offset":2, "special":"process.all.bits"} }
可用于显示 JSON 变量描述的较大输入区域。