工业工具箱

工业工具箱:转换与校验

从 ASCII、BCD 到整数、浮点、字节序和 CRC,用 9 项离线工具核对协议数据。

浏览全部手册
本页目录

打开工具箱

在桌面应用左侧栏底部点击“工具箱”(扳手图标),即可打开“工业数据转换与校验 · 离线计算”。不需要创建端点或连接设备。

  1. 选择“编码转换”“数值与字节”或“校验计算”。
  2. 在“当前工具”中选择要用的工具,确认方向、位宽、符号或算法。
  3. 填写“输入数据”,也可点击“载入示例”;示例会按当前参数生成,之后仍需点击“计算”。
  4. 核对结果及下方说明,点击对应结果的复制按钮。要发送给设备时,再自行粘贴到发送区并检查格式与目标。

首次打开默认进入“校验计算 → CRC 校验”,算法为 CRC-16/MODBUS,发送顺序为低字节先行。切换工具或关闭后重新打开,各工具的输入、参数与结果会在本次应用运行期间保留;退出应用后不保存这些草稿。修改输入或参数会立即清除旧结果,需要重新计算。

工具箱在本地离线计算,不会自动发送数据或修改端点通信参数。按 Escape 或点击关闭按钮退出。若复制失败,可选中结果后手动复制;复制后仍应核对目标编辑器中的内容。

哪些下载包包含工具箱

本页按 2026-10-16 更新后的下载交接清单核对。当前 7 个测试包均包含工具箱,版本仍为 0.1.0:

平台与运行时 构建标识 buildId 工具箱
macOS arm64 / x64 · Electron / Tauri DMG 0.1.0-20261016T135635888Z-ef1f0751 包含
Windows x64 · Electron EXE 0.1.0-20261016T135849610Z-eb3cea3d 包含
Linux x64 · Electron DEB / AppImage 0.1.0-20261016T135957126Z-7d1b23ac 包含

本批同时包含侧栏最小宽度 240px 和按当前选项载入示例。若旧安装包没有入口,请核对构建标识后获取新包;获取方式、SHA-256 及平台安装验收范围见下载页和安装与版本说明。

九项工具怎么选

分类 当前工具 适合的任务
编码转换 ASCII ↔ HEX 核对英文、数字和控制字符的字节
编码转换 压缩 BCD 转换无符号十进制数字与压缩 BCD
数值与字节 进制与补码 对照 BIN / OCT / DEC / HEX 与补码解释
数值与字节 整数 ↔ 字节 编解码 8 / 16 / 32 / 64 位整数
数值与字节 浮点 ↔ 字节 编解码 IEEE 754 Float32 / Float64
数值与字节 字节与字顺序 核对大端、小端、字节交换与字交换
数值与字节 位域与掩码 查看 bit 位,执行 AND / OR / XOR
校验计算 CRC 校验 按明确预设计算 CRC,核对校验字节
校验计算 累加 / 异或 / LRC 计算 SUM8 / SUM16 / XOR8 / Modbus ASCII LRC

输入格式与长度

HEX 字节输入可写连续的完整字节,如 4865,也可用空白分隔,如 48 65。不接受 0x48、逗号、4 8、奇数个十六进制字符或非 HEX 内容;工具不会静默删除这些字符。此规则用于 HEX 字节输入,“进制与补码”的整数输入另支持匹配进制的 0b、0o、0x 前缀。

单项文本输入最多 65,536 字符;字节计算最多 16,384 字节。BCD 另限最多 128 个十进制数字,解码为 1–64 字节,小数位可设 0–12。超限会报错,不会截断后继续计算。

整数和浮点解码必须提供与所选位宽一致的完整字节数,例如 Float32 必须恰好 4 字节。遇到错误时,先检查输入格式,再检查位宽、符号、小数位及字节顺序。

ASCII 与 HEX

选择“编码转换 → ASCII ↔ HEX”。默认方向“数值 / 字符 → HEX”,输入 Hello 后计算,结果为 48 65 6C 6C 6F。

切换到“HEX → 数值 / 字符”,输入 48 69 0D 0A,结果以转义形式显示为 Hi\r\n。换行、制表符、其他控制字符及反斜杠都会转义展示和复制,例如 \t、\x00、\\。

这里采用严格 7 位 ASCII,只接受字符 U+0000–U+007F 或字节 00–7F,中文会报错。字符输入按真实字符编码,键入两个字符 \n 不会变成换行;它们编码为 5C 6E,真实 LF 才是 0A。解码结果的转义展示也不应当成可直接反向编码的原始文本。

发送区的 Text 使用 UTF-8,与工具箱 ASCII 的范围不同。中文发送和 CRLF 选项见JSON、Text 与 HEX。

压缩 BCD

选择“编码转换 → 压缩 BCD”,设方向为“数值 / 字符 → HEX”、“小数位”为 2、“BCD 字节顺序”为“高位数字字节先行”,输入 0012.34,计算得到 00 12 34。

保持小数位和顺序不变,切到解码方向并输入 00 12 34,应得到 0012.34。改成“低位数字字节先行”后,编码结果为 34 12 00,解码也要使用相同顺序。

每个半字节必须是数字 0–9;例如 1A 不是有效 BCD。工具只处理无符号压缩 BCD,不推断协议的符号位。前导零会保留,奇数个数字会在左侧补 0,例如 123 编码为 01 23,再解码得到 0123。小数不足会补零,超出所设小数位则拒绝,不自动舍入。

BCD 转换本身不负责 DL/T 645 报文中数据域的 +33H / -33H 处理。分析电表报文时,须先按规约还原实际数据字节,再核对数字及小数位,见电表报文诊断。

进制、补码与整数

“进制与补码”支持二、八、十、十六进制,以及 8 / 16 / 32 / 64 位。默认十进制、32 位、无符号。选择十六进制、8 位、有符号(补码),输入 FF 后计算:

二进制       11111111
八进制       377
十进制       -1
十六进制     FF

非十进制的非负输入按指定位宽的位模式解释,十进制输入表示实际数值。因此 8 位有符号模式下,十六进制 FF 可解释为 -1,十进制 255 则超出范围,会报错。

“整数 ↔ 字节”的编码输入为十进制整数,默认 32 位、无符号、原序 / 大端。将位宽设为 64 位,输入 18446744073709551615,应得到 FF FF FF FF FF FF FF FF。计算使用精确整数,不因超过常见浮点整数精度而丢失低位,也不会把越界数值截断回绕。

整数解码会同时给出有符号和无符号解释。例如 8 位 FF 对应无符号 255、有符号 -1;“符号”选项仅影响整数编码。

浮点与字节顺序

选择“数值与字节 → 浮点 ↔ 字节”。默认 Float32、原序 / 大端。编码输入 1 得到 3F 80 00 00;将“字节 / 字顺序”改为“整体反转 / 小端(32 位 DCBA)”,结果为 00 00 80 3F。按相同位宽和顺序解码可得到 1。

Float32 / Float64 按 IEEE 754 表示。编码可能舍入或下溢为零,请同时查看“实际编码值”;编码只接受有限十进制数,也支持科学计数法,溢出为 Infinity 会拒绝。解码可识别 NaN、Infinity、-Infinity 与负零 -0。

整数、浮点和“字节与字顺序”工具使用相同的排列规则。以 12 34 56 78 为例:

选项 32 位排列 结果
原序 / 大端 ABCD 12 34 56 78
每 16 位字交换字节 BADC 34 12 78 56
反转 16 位字顺序 CDAB 56 78 12 34
整体反转 / 小端 DCBA 78 56 34 12

64 位数据按完整的 16 位字处理:每 16 位字交换字节、反转四个 16 位字的顺序和整体反转是不同操作。按 16 位字交换要求偶数字节;奇数字节会报错。仅转换顺序不会改变字符编码,也不能代替确认设备的数据类型。寄存器偏移、类型及字节序配置见Modbus 数据点。

位域与掩码

选择“数值与字节 → 位域与掩码”。输入无空格的无符号 HEX 整数,默认 32 位、“查看位图”;结果包含 HEX 位模式、二进制位图和从高到低排列的置 1 位号,最低位编号为 bit 0。

例如输入 8001、位宽 16,查看位图时置 1 的位号为 15, 0。将操作改为 XOR、掩码设为 0001,结果为 8000,即翻转 bit 0。AND 用掩码中的 1 保留位、0 清位;OR 用 1 置位;XOR 用 1 翻转。输入和掩码都不能超出所选位宽。

CRC:数值与发送字节分开看

选择“校验计算 → CRC 校验”,确认算法为 CRC-16/MODBUS、“校验发送顺序”为“低字节先行(Modbus RTU)”。输入以下参与校验的数据,不含末尾 CRC:

01 03 00 00 00 0A

点击计算,应得到:

校验数值(HEX)     CDC5
发送字节           C5 CD
高字节先行         CD C5
低字节先行         C5 CD
数据 + 校验字节    01 03 00 00 00 0A C5 CD

要核对捕获报文,把最后两字节单独填入“待核对校验字节(HEX,可留空)”,再计算。填 C5 CD 应显示校验通过;在低字节先行设置下填 CD C5 应显示不匹配。留空时只计算,不能把“算出校验值”理解为报文已通过核对。不要将完整的“数据 + 校验字节”再次作为原数据计算同一个尾部校验值。

当前提供 8 个预设:CRC-8/SMBUS、CRC-16/MODBUS、CRC-16/ARC、CRC-16/IBM-3740、CRC-16/XMODEM、CRC-16/KERMIT、CRC-16/IBM-SDLC、CRC-32/ISO-HDLC。结果说明会列出 width、poly、init、refin、refout、xorout;按设备文档选择具体预设,不能只看“CRC-16”名称。

工具默认低字节先行,切换算法后仍需显式核对发送顺序;不是所有 CRC 都使用 Modbus 的顺序。RTU CRC 与 Modbus TCP 的 MBAP 头也不同,见Modbus 报文诊断。

累加、异或与 LRC

选择“校验计算 → 累加 / 异或 / LRC”,默认算法为 SUM8、发送顺序为高字节先行。输入同样是参与计算的 HEX 字节,不含尾部校验;待核对值单独填写。

以 FF 02 03 为例:

算法 计算规则 校验数值(HEX) 高字节先行发送字节
SUM8 逐字节累加,模 256 04 04
SUM16 逐字节累加,模 65536 0104 01 04
XOR8 逐字节异或 FE FE
Modbus ASCII LRC 字节累加和取 8 位二补码 FC FC

SUM16 不是把相邻字节拼成 16 位字再相加。XOR8 也不能代表所有设备称为“BCC”的算法。Modbus ASCII LRC 针对还原后的数据字节计算,不要把冒号、ASCII HEX 字符本身或行尾作为数据输入。

使用前最后核对

工具箱目前只覆盖本页列出的 9 项工具,不提供 GBK 等通用字符编码转换、时间戳、工程量标定或自定义 CRC 参数编辑。设备协议中的单位、比例、偏移、符号约定和报文字段范围,需要结合协议手册确认。

将结果用于发送前,确认使用 HEX 还是 Text、是否已有帧头和尾部校验、是否勾选追加 CRLF,以及实际目标端点。具体发送步骤见发送目标与选项;若界面没有工具箱入口,先核对安装包构建范围。

仅需转换时,也可以使用在线版

无需连接设备、只想转换或校验一段数据时,可使用 Ineed 在线工具箱。浏览器版只在本机处理输入,不建立串口、TCP 或设备连接;设备收发与联调仍在 LinkLab 桌面工作台完成。

仍有疑问?按反馈清单整理复现信息 →