# 插件:物联网协议连接器 **Repository Path**: low-code-dev-lab/hzg-plugin-iot-bridge ## Basic Information - **Project Name**: 插件:物联网协议连接器 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-05 - **Last Updated**: 2026-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IoTBridge 服务端命令帮助文档 本文基于当前代码中的服务端命令定义整理,按命令分类列出可用操作、每个操作的实际动作、传入参数清单和返回值的结构清单。 通用约定 - 所有命令都在服务端执行。 - `ResultTo` 表示返回值的变量名。命令执行完成后,会把结构化结果对象写入该变量。 - 所有结果对象中的 `success` 表示命令是否成功,`errCode` 为统一错误码,`0` 表示成功,`message` 为错误或状态消息,`elapsedMs` 为命令耗时,单位毫秒。 - 连接类命令成功后返回 `connectionId`,后续读、写、发送、接收、断开、订阅等命令都通过该 ID 复用连接。 ## 分类:数据转换 UInt16 转换命令的通用参数 - `UInt16值`:必填。范围为 `0` 到 `65535`,也可传入 `0x3C00` 形式的十六进制文本。 - `排列方式`:必填,默认 `0`。数字参数固定对应为 `0=AABB`(高字节在前)、`1=BBAA`(低字节在前)。所有命令都先应用排列方式,再解释目标类型。 - `结果变量`:必填。每个命令提供不同的默认变量名,避免连续使用时互相覆盖。 UInt16 转换命令的通用返回结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功;输入值、排列方式或目标格式非法时为 `1001`。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.value`:转换后的数值、数组或字符串,具体类型由命令决定。 ### 操作:UInt16 转 Float16 - 将 UInt16 作为 IEEE 754 binary16 位模式解释并输出浮点数;原“UInt16 转半精度浮点数”命令已更名为此名称。 - 默认结果变量为 `Float16转换结果`。 - 示例:`UInt16值=0x3C00`、`排列方式=0` 时,`value=1`;`UInt16值=0x003C`、`排列方式=1` 时同样得到 `1`。 - 本命令不用于 32 位 Float32。Float32 需要合并两个 UInt16 寄存器。 ### 操作:UInt16 转 Int16 - 将排列后的 16 位位模式按二进制补码解释为 `-32768` 到 `32767` 的 Int16。 - 默认结果变量为 `Int16转换结果`。 - 示例:`UInt16值=65535` 时,`value=-1`。 ### 操作:UInt16 转字节数组 - 把 UInt16 拆成两个 `0` 到 `255` 的数值元素。AABB 输出高字节、低字节,BBAA 输出低字节、高字节。 - 默认结果变量为 `字节数组转换结果`。 - 示例:`UInt16值=0x1234`、`排列方式=0` 时,`value=[18,52]`;排列方式为 `1` 时,`value=[52,18]`。 ### 操作:UInt16 转位状态数组 - 输出固定长度为 16 的布尔数组。应用排列方式后,`value[0]=bit0`,依次到 `value[15]=bit15`。 - 默认结果变量为 `位状态转换结果`。 - 示例:`UInt16值=5` 时,`value[0]` 和 `value[2]` 为 `true`,其余位为 `false`。 ### 操作:UInt16 转十进制数字(BCD) - 把排列后的四个半字节解释为四位压缩 BCD,输出 `0` 到 `9999` 的十进制数字。 - 默认结果变量为 `BCD转换结果`。 - 示例:`UInt16值=0x1234` 时,`value=1234`。任一半字节为 `A` 到 `F` 时转换失败并返回 `1001`。 ### 操作:UInt16 转字符串 - 将排列和结束处理后的字节按所选编码规则转换为字符串,默认结果变量为 `字符串转换结果`。 - `编码规则`:默认 `ASCII`。可选 `ASCII`、`UTF-8 字节`、`十六进制`。ASCII 严格限制为 `0x00` 到 `0x7F`;UTF-8 必须是完整有效序列;十六进制输出空格分隔的大写字节,例如 `41 42`。 - `字符串结束规则`:默认 `遇 NULL 结束`。可选 `固定两字节`、`遇 NULL 结束`、`去除末尾 NULL`、`去除末尾 NULL/空格`。 - 结束规则先作用于字节序列,再执行编码。例如 `UInt16值=0x4100`、十六进制编码、遇 NULL 结束时,`value="41"`;固定两字节时,`value="41 00"`。 - 单个 UInt16 只有两个字节,因此 UTF-8 模式适合 ASCII 或完整的双字节 UTF-8 字符,无法容纳三字节汉字。 ### 操作:UInt16 合并 32位数值 - 输入两个 UInt16,并按选择的排列方式重排为标准 32 位位模式。 - `UInt16值1`、`UInt16值2`:必填。按设备读取结果的原始顺序填写,每项范围为 `0` 到 `65535`。 - `目标类型`:默认 `0=Float32`。数字参数固定对应为 `0=Float32`、`1=Int32`、`2=UInt32`。 - `排列方式`:默认 `0=ABCD`。数字参数固定对应为: - `0=ABCD`:高字在前,寄存器内高字节在前; - `1=BADC`:高字在前,每个寄存器内交换字节; - `2=CDAB`:低字在前,寄存器内高字节在前; - `3=DCBA`:低字在前,每个寄存器内交换字节。 - `结果变量`:默认 `32位数值合并结果`,`value` 的实际类型为 Float32、Int32 或 UInt32。 - 示例:Float32 的 `1.0` 位模式是 `0x3F800000`。ABCD 输入 `[0x3F80,0x0000]`,CDAB 输入 `[0x0000,0x3F80]`,结果均为 `1`。 ### 操作:UInt16 合并 64位数值 - 输入四个 UInt16,并按选择的排列方式重排为标准 64 位位模式。 - `UInt16值1` 到 `UInt16值4`:必填。按设备读取结果的原始顺序填写,每项范围为 `0` 到 `65535`。 - `目标类型`:默认 `0=Float64`。数字参数固定对应为 `0=Float64`、`1=Int64`、`2=UInt64`。 - `排列方式`:默认 `0=ABCDEFGH`。数字参数固定对应为: - `0=ABCDEFGH`:四个寄存器从高字到低字排列,寄存器内高字节在前; - `1=BADCFEHG`:寄存器顺序不变,每个寄存器内交换字节; - `2=GHEFCDAB`:四个寄存器从低字到高字排列,寄存器内高字节在前; - `3=HGFEDCBA`:四个寄存器从低字到高字排列,每个寄存器内交换字节。 - `结果变量`:默认 `64位数值合并结果`,`value` 的实际类型为 Float64、Int64 或 UInt64。 - 示例:Float64 的 `1.0` 位模式是 `0x3FF0000000000000`。ABCDEFGH 输入 `[0x3FF0,0,0,0]`,GHEFCDAB 输入 `[0,0,0,0x3FF0]`,结果均为 `1`。 - UInt64 在服务端以 64 位无符号整数保存;若传到浏览器 JavaScript,超过 `9007199254740991`(`2^53-1`)的值可能丢失整数精度,前端展示时建议转为字符串。 ## 分类:Modbus TCP 连接器 ### 操作:Modbus TCP 连接 实际动作 - 根据主机和端口建立 Modbus TCP 连接。 - 如果启用复用,并且已存在相同端点、请求超时、重试次数和地址基准都一致的健康连接,则直接复用原连接。 - 如果启用强制重连,则先断开相同端点的已有连接,再重新建立连接。 - 连接级参数会保存默认 `UnitId` 和地址基准,后续读写命令共用这些设置。 传入参数 - `主机`:必填。Modbus TCP 设备的 IP 地址或主机名。 - `端口`:默认 `502`。 - `默认UnitId`:默认 `1`。 - `复用已有连接`:默认 `true`。 - `强制重连`:默认 `false`。 - `连接超时毫秒`:默认 `3000`。 - `请求超时毫秒`:默认 `3000`。 - `重试次数`:默认 `1`,不包含首次请求。 - `地址基准`:默认 `ZeroBased`。`ZeroBased` 表示输入地址直接作为协议地址,`OneBased` 表示发送前减 1。 - `结果变量`:默认 `连接信息`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.connectionId`:连接唯一标识。 - `ResultTo.reused`:是否复用了已有连接。 ### 操作:Modbus TCP 连续读取 实际动作 - 使用指定 `ConnectionId` 连续读取 Modbus 数据区。 - 支持线圈、离散输入、输入寄存器、保持寄存器。 - 地址按连接命令中的地址基准解释。 - 读取数量为 `1` 时,结果中的 `value` 仍然是数组。 传入参数 - `连接ID`:必填。由 Modbus TCP 连接命令返回。 - `读取区域`:默认 `HoldingRegister`。支持公式,公式结果可返回 `Coil`、`DiscreteInput`、`InputRegister`、`HoldingRegister`。数字值按枚举序号解释:`0=Coil`、`1=DiscreteInput`、`2=InputRegister`、`3=HoldingRegister`,不是 Modbus 功能码。 - `起始地址`:默认 `0`。 - `读取数量`:默认 `1`。 - `结果变量`:默认 `读取结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.value`:读取值数组。线圈和离散输入返回布尔数组,寄存器返回数值数组。 ### 操作:Modbus TCP 连续写入 实际动作 - 使用指定 `ConnectionId` 连续写入 Modbus 数据区。 - 支持写线圈和保持寄存器。 - 单点写会根据写入区域使用对应功能码,多点写会根据数组或多值输入使用批量写功能码。 - 地址按连接命令中的地址基准解释。 传入参数 - `连接ID`:必填。由 Modbus TCP 连接命令返回。 - `写入区域`:默认 `HoldingRegister`。支持公式,公式结果可返回 `Coil`、`HoldingRegister`。数字值按枚举序号解释:`0=Coil`、`1=HoldingRegister`,不是 Modbus 功能码。 - `起始地址`:默认 `0`。 - `值`:必填。线圈写入 `true/false` 或 `1/0`;保持寄存器写入 `0` 到 `65535`;多点写可传数组、JSON 数组或逗号分隔值。 - `结果变量`:默认 `写入结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.value`:写入值数组。即使只写入一个点,也返回数组。 ### 操作:Modbus TCP 批量读取 实际动作 - 按 `Mask` 中的地址顺序逐点读取 Modbus 数据区,不需要指定起始地址和连续数量。 - 每个地址单独发送一个数量为 `1` 的读取请求;任意一个地址失败时停止后续读取并返回空的 `value` 数组。 传入参数 - `连接ID`:必填。由 Modbus TCP 连接命令返回。 - `读取区域`:默认 `HoldingRegister`,区域枚举和连续读取命令相同。 - `地址Mask`:必填。逗号分隔的地址,例如 `258,160,270`。空项和非整数地址会被拒绝,地址顺序会原样保留。 - `结果变量`:默认 `ModbusTCPBatchData`。 返回值的结构 - `ResultTo.success`、`ResultTo.errCode`、`ResultTo.message`、`ResultTo.elapsedMs`:通用结果字段。 - `ResultTo.value`:按 `Mask` 顺序返回的值数组,例如 `Mask=258,160,270` 时依次对应 258、160、270 地址的值。 ### 操作:Modbus TCP 批量写入 实际动作 - 按 `Mask` 中的地址顺序逐点写入 Modbus 数据区,不需要指定起始地址和连续数量。 - `值` 与 `Mask` 按下标一一对应;任意一个地址失败时停止后续写入并返回空的 `value` 数组。 传入参数 - `连接ID`:必填。由 Modbus TCP 连接命令返回。 - `写入区域`:默认 `HoldingRegister`,区域枚举和连续写入命令相同。 - `地址Mask`:必填。逗号分隔的地址,例如 `258,160,270`。 - `值`:必填。数组、JSON 数组或逗号分隔值;数量必须与 `Mask` 地址数量一致,例如 `11,22,33`。 - `结果变量`:默认 `ModbusTCPBatchResult`。 返回值的结构 - `ResultTo.success`、`ResultTo.errCode`、`ResultTo.message`、`ResultTo.elapsedMs`:通用结果字段。 - `ResultTo.value`:按 `Mask` 顺序返回实际写入值数组。 ### 操作:Modbus TCP 断开 实际动作 - 根据 `ConnectionId` 关闭并移除 Modbus TCP 连接。 传入参数 - `连接ID`:必填。 - `结果变量`:默认 `断开操作结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 ## 分类:Modbus RTU 连接器 ### 操作:Modbus RTU 连接 实际动作 - 通过串口建立 Modbus RTU 连接。 - 如果启用复用,并且已存在相同端点、请求超时、重试次数和地址基准都一致的健康连接,则直接复用原连接。 - 如果启用强制重连,则先断开相同端点的已有连接,再重新建立连接。 - 连接级参数会保存默认 `SlaveId`、请求超时、重试次数和地址基准,后续读写命令共用这些设置。 传入参数 - `串口名`:必填,例如 `COM3`。测试台架可使用 `pipe:`。 - `波特率`:默认 `9600`,支持公式,公式结果应为整数波特率。 - `数据位`:默认 `Eight`。 - `校验位`:默认 `None`,支持公式,公式结果可返回 `None`、`Odd`、`Even`、`Mark` 或 `Space`。 - `停止位`:默认 `One`。 - `串口流控`:默认 `None`。 - `请求超时毫秒`:默认 `3000`。 - `默认SlaveId`:默认 `1`。 - `重试次数`:默认 `2`。读取请求失败后重试;写入请求默认不重试,避免重复触发设备动作。 - `地址基准`:默认 `OneBased`。`ZeroBased` 表示输入地址直接作为协议地址,`OneBased` 表示发送前减 1。 - `复用已有连接`:默认 `true`。 - `强制重连`:默认 `false`。 - `结果变量`:默认 `连接信息`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.connectionId`:连接唯一标识。 - `ResultTo.reused`:是否复用了已有连接。 ### 操作:Modbus RTU 连续读取 实际动作 - 使用指定 `ConnectionId` 连续读取 Modbus RTU 数据区。 - 支持线圈、离散输入、输入寄存器、保持寄存器。 - 地址按连接命令中的地址基准解释。 - 读取数量为 `1` 时,结果中的 `value` 仍然是数组。 传入参数 - `连接ID`:必填。由 Modbus RTU 连接命令返回。 - `读取区域`:默认 `HoldingRegister`。支持公式,公式结果可返回 `Coil`、`DiscreteInput`、`InputRegister`、`HoldingRegister`。数字值按枚举序号解释:`0=Coil`、`1=DiscreteInput`、`2=InputRegister`、`3=HoldingRegister`,不是 Modbus 功能码。 - `起始地址`:默认 `0`。 - `读取数量`:默认 `1`。 - `结果变量`:默认 `读取结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.value`:读取值数组。线圈和离散输入返回布尔数组,寄存器返回数值数组。 ### 操作:Modbus RTU 连续写入 实际动作 - 使用指定 `ConnectionId` 连续写入 Modbus RTU 数据区。 - 支持写线圈和保持寄存器。 - 单点写会根据写入区域使用对应功能码,多点写会根据数组或多值输入使用批量写功能码。 - 地址按连接命令中的地址基准解释。 传入参数 - `连接ID`:必填。由 Modbus RTU 连接命令返回。 - `写入区域`:默认 `HoldingRegister`。支持公式,公式结果可返回 `Coil`、`HoldingRegister`。数字值按枚举序号解释:`0=Coil`、`1=HoldingRegister`,不是 Modbus 功能码。 - `起始地址`:默认 `0`。 - `值`:线圈写入 `true/false` 或 `1/0`;保持寄存器写入 `0` 到 `65535`;多点写可传数组、JSON 数组或逗号分隔值。 - `结果变量`:默认 `写入结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.value`:写入值数组。即使只写入一个点,也返回数组。 ### 操作:Modbus RTU 批量读取 实际动作 - 按 `Mask` 中的地址顺序逐点读取 Modbus RTU 数据区,不需要指定起始地址和连续数量。 - 每个地址单独发送一个数量为 `1` 的读取请求;任意一个地址失败时停止后续读取并返回空的 `value` 数组。 传入参数 - `连接ID`:必填。由 Modbus RTU 连接命令返回。 - `读取区域`:默认 `HoldingRegister`,区域枚举和连续读取命令相同。 - `地址Mask`:必填。逗号分隔的地址,例如 `258,160,270`。空项和非整数地址会被拒绝,地址顺序会原样保留。 - `结果变量`:默认 `ModbusRTUBatchData`。 返回值的结构 - `ResultTo.success`、`ResultTo.errCode`、`ResultTo.message`、`ResultTo.elapsedMs`:通用结果字段。 - `ResultTo.value`:按 `Mask` 顺序返回的值数组,例如 `Mask=258,160,270` 时依次对应 258、160、270 地址的值。 ### 操作:Modbus RTU 批量写入 实际动作 - 按 `Mask` 中的地址顺序逐点写入 Modbus RTU 数据区,不需要指定起始地址和连续数量。 - `值` 与 `Mask` 按下标一一对应;任意一个地址失败时停止后续写入并返回空的 `value` 数组。 传入参数 - `连接ID`:必填。由 Modbus RTU 连接命令返回。 - `写入区域`:默认 `HoldingRegister`,区域枚举和连续写入命令相同。 - `地址Mask`:必填。逗号分隔的地址,例如 `258,160,270`。 - `值`:必填。数组、JSON 数组或逗号分隔值;数量必须与 `Mask` 地址数量一致,例如 `11,22,33`。 - `结果变量`:默认 `ModbusRTUBatchResult`。 返回值的结构 - `ResultTo.success`、`ResultTo.errCode`、`ResultTo.message`、`ResultTo.elapsedMs`:通用结果字段。 - `ResultTo.value`:按 `Mask` 顺序返回实际写入值数组。 ### 操作:Modbus RTU 断开 实际动作 - 根据 `ConnectionId` 关闭并移除 Modbus RTU 连接。 传入参数 - `连接ID`:必填。 - `结果变量`:默认 `断开操作结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 ## 分类:RS232 连接器 ### 操作:RS232 连接 实际动作 - 打开 RS232 串口链路。 - 如果启用复用并且已存在相同端点的健康连接,则直接复用原连接。 - 如果启用强制重连,则先断开相同端点的已有连接,再重新建立连接。 传入参数 - `串口名`:必填,例如 `COM1`。测试台架可使用 `pipe:`。 - `波特率`:默认 `9600`,支持公式,公式结果应为整数波特率。 - `数据位`:默认 `Eight`。 - `校验位`:默认 `None`,支持公式,公式结果可返回 `None`、`Odd`、`Even`、`Mark` 或 `Space`。 - `停止位`:默认 `One`。 - `串口流控`:默认 `None`。 - `方向控制`:默认 `AutoAdapter`。RS232 通常保持默认。 - `方向切换延时毫秒`:默认 `0`。 - `连接超时毫秒`:默认 `3000`。 - `响应超时毫秒`:默认 `1000`。 - `空闲结束毫秒`:默认 `50`。 - `复用已有连接`:默认 `true`。 - `强制重连`:默认 `false`。 - `结果变量`:默认 `连接信息`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.connectionId`:连接唯一标识。 - `ResultTo.reused`:是否复用了已有连接。 ### 操作:RS232 发送 实际动作 - 使用指定 `ConnectionId` 发送串口数据。 - 可按文本、十六进制或 Base64 解析发送内容。 - 可选择追加终止符。 - 可选择发送后不接收、读取当前可用响应、读取固定长度响应或读取到终止符。 传入参数 - `连接ID`:必填。由 RS232 连接命令返回。 - `发送内容`:必填。 - `内容格式`:默认 `Text`。可选 `Text`、`Hex`、`Base64`。 - `文本编码`:默认 `Utf8`。可选 `Utf8`、`Ascii`、`Unicode`。 - `追加终止符`:默认 `false`。 - `终止符`:默认换行符 `\r\n`。 - `终止符格式`:默认 `Text`。可选 `Text`、`Hex`、`Base64`。 - `接收模式`:默认 `None`。可选 `None`、`ReadAvailable`、`FixedLength`、`Terminator`。 - `期望响应字节数`:默认 `0`。接收模式为 `FixedLength` 时使用。 - `响应超时毫秒`:默认 `1000`。 - `空闲结束毫秒`:默认 `50`。 - `结果变量`:默认 `发送结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.payload`:发送或接收命令得到的有效载荷。 - `ResultTo.payload.length`:payload 字节数。 - `ResultTo.payload.text`:payload 按所选编码解码后的文本。 - `ResultTo.payload.hex`:payload 的十六进制文本。 - `ResultTo.payload.base64`:payload 的 Base64 文本。 ### 操作:RS232 接收 实际动作 - 使用指定 `ConnectionId` 从串口读取数据。 - 支持读取当前可用响应、读取固定字节数或读取到终止符。 传入参数 - `连接ID`:必填。由 RS232 连接命令返回。 - `接收模式`:默认 `ReadAvailable`。可选 `ReadAvailable`、`FixedLength`、`Terminator`。 - `期望响应字节数`:默认 `0`。接收模式为 `FixedLength` 时使用。 - `终止符`:默认换行符 `\r\n`。接收模式为 `Terminator` 时使用。 - `终止符格式`:默认 `Text`。可选 `Text`、`Hex`、`Base64`。 - `文本编码`:默认 `Utf8`。可选 `Utf8`、`Ascii`、`Unicode`。 - `响应超时毫秒`:默认 `1000`。 - `空闲结束毫秒`:默认 `50`。 - `结果变量`:默认 `接收结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.payload`:接收到的有效载荷。 - `ResultTo.payload.length`:payload 字节数。 - `ResultTo.payload.text`:payload 按所选编码解码后的文本。 - `ResultTo.payload.hex`:payload 的十六进制文本。 - `ResultTo.payload.base64`:payload 的 Base64 文本。 ### 操作:RS232 断开 实际动作 - 根据 `ConnectionId` 关闭并移除 RS232 串口链路。 传入参数 - `连接ID`:必填。 - `结果变量`:默认 `断开操作结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 ## 分类:RS485 连接器 ### 操作:RS485 连接 实际动作 - 打开 RS485 串口链路。 - 如果启用复用并且已存在相同端点的健康连接,则直接复用原连接。 - 如果启用强制重连,则先断开相同端点的已有连接,再重新建立连接。 - 半双工 RS485 适配器可通过方向控制参数设置发送期间 RTS 的电平和发送后的恢复延时。 传入参数 - `串口名`:必填,例如 `COM1`。测试台架可使用 `pipe:`。 - `波特率`:默认 `9600`,支持公式,公式结果应为整数波特率。 - `数据位`:默认 `Eight`。 - `校验位`:默认 `None`,支持公式,公式结果可返回 `None`、`Odd`、`Even`、`Mark` 或 `Space`。 - `停止位`:默认 `One`。 - `串口流控`:默认 `None`。 - `方向控制`:默认 `AutoAdapter`。可选 `AutoAdapter`、`RtsHighDuringSend`、`RtsLowDuringSend`。 - `方向切换延时毫秒`:默认 `0`。 - `连接超时毫秒`:默认 `3000`。 - `响应超时毫秒`:默认 `1000`。 - `空闲结束毫秒`:默认 `50`。 - `复用已有连接`:默认 `true`。 - `强制重连`:默认 `false`。 - `结果变量`:默认 `连接信息`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.connectionId`:连接唯一标识。 - `ResultTo.reused`:是否复用了已有连接。 ### 操作:RS485 发送 实际动作 - 使用指定 `ConnectionId` 发送串口数据。 - 可按文本、十六进制或 Base64 解析发送内容。 - 可选择追加终止符。 - 可选择发送后不接收、读取当前可用响应、读取固定长度响应或读取到终止符。 - 发送时会按连接配置处理 RS485 方向控制。 传入参数 - `连接ID`:必填。由 RS485 连接命令返回。 - `发送内容`:必填。 - `内容格式`:默认 `Text`。可选 `Text`、`Hex`、`Base64`。 - `文本编码`:默认 `Utf8`。可选 `Utf8`、`Ascii`、`Unicode`。 - `追加终止符`:默认 `false`。 - `终止符`:默认换行符 `\r\n`。 - `终止符格式`:默认 `Text`。可选 `Text`、`Hex`、`Base64`。 - `接收模式`:默认 `None`。可选 `None`、`ReadAvailable`、`FixedLength`、`Terminator`。 - `期望响应字节数`:默认 `0`。接收模式为 `FixedLength` 时使用。 - `响应超时毫秒`:默认 `1000`。 - `空闲结束毫秒`:默认 `50`。 - `结果变量`:默认 `发送结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.payload`:发送或接收命令得到的有效载荷。 - `ResultTo.payload.length`:payload 字节数。 - `ResultTo.payload.text`:payload 按所选编码解码后的文本。 - `ResultTo.payload.hex`:payload 的十六进制文本。 - `ResultTo.payload.base64`:payload 的 Base64 文本。 ### 操作:RS485 接收 实际动作 - 使用指定 `ConnectionId` 从串口读取数据。 - 支持读取当前可用响应、读取固定字节数或读取到终止符。 传入参数 - `连接ID`:必填。由 RS485 连接命令返回。 - `接收模式`:默认 `ReadAvailable`。可选 `ReadAvailable`、`FixedLength`、`Terminator`。 - `期望响应字节数`:默认 `0`。接收模式为 `FixedLength` 时使用。 - `终止符`:默认换行符 `\r\n`。接收模式为 `Terminator` 时使用。 - `终止符格式`:默认 `Text`。可选 `Text`、`Hex`、`Base64`。 - `文本编码`:默认 `Utf8`。可选 `Utf8`、`Ascii`、`Unicode`。 - `响应超时毫秒`:默认 `1000`。 - `空闲结束毫秒`:默认 `50`。 - `结果变量`:默认 `接收结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。 - `ResultTo.payload`:接收到的有效载荷。 - `ResultTo.payload.length`:payload 字节数。 - `ResultTo.payload.text`:payload 按所选编码解码后的文本。 - `ResultTo.payload.hex`:payload 的十六进制文本。 - `ResultTo.payload.base64`:payload 的 Base64 文本。 ### 操作:RS485 断开 实际动作 - 根据 `ConnectionId` 关闭并移除 RS485 串口链路。 传入参数 - `连接ID`:必填。 - `结果变量`:默认 `断开操作结果`。 返回值的结构 - `ResultTo.success`:命令是否执行成功。 - `ResultTo.errCode`:统一错误码,`0` 表示成功。 - `ResultTo.message`:错误或状态消息。 - `ResultTo.elapsedMs`:命令耗时,单位毫秒。