编码二进制缓冲区
Encode 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(二进制缓冲区) | 指定源二进制缓冲区。在单个源变量编码(写入)之前,此源二进制缓冲区将复制到内部缓冲区。 |
| Offset(偏移量) | 除每个变量的偏移量值之外还使用的可选偏移量。 例如,当需要考虑目标缓冲区中的可变长度标头时,可以使用此方法。 |
| Input map variables(输入映射变量) | JSON 变量描述中标识的映射变量。 JSON 变量描述中的每个变量都将在 Input(输入)选项卡中添加为映射变量行。 在 Value(值)列中,指定源变量。该变量可以是常量、触发器宏、事件变量、触发器变量或设备变量。 |
输出选项卡
| 参数 | 描述 |
|---|---|
| Binary Buffer(二进制缓冲区) | 指定存储编码二进制缓冲区动作结果的目标二进制缓冲区。 编码二进制缓冲区动作的结果可从源二进制缓冲区的内部副本复制到目标二进制缓冲区。 如果要直接使用指定的变量值更新源二进制缓冲区,应将 Output(输出)选项卡的 Binary Buffer(二进制缓冲区)参数设置为与 Input(输入)选项卡 Binary Buffer(二进制缓冲区)参数相同的变量。 |
编码二进制缓冲区示例
此示例显示了变量的 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 变量描述的较大输入区域。