Modbus 协 议 概 述 Modbus 作 为 在 工 业 设 备 通 讯 上 使 用 最 多 , 应 用 最 广 的 国 际 标 准 协 议 , 在 应用 层 的 协 议 定 义 上 我 们 对 其 进 行 简 单 的 介 绍 : 类 型 描 述 设 备 地 址 对 应 通 讯 设 备 设 定 的 1-255 的 任 意 一 个 数 字 地 址 号 。 功 能 码 对 应 读 取 模 拟 量 一 般 采 用 03\04 号 功 能 码 , 对 于 读 取 开 关量 一 般 采 用 01\02 号 功 能 码 。 起 始 地 址 数 据 在 通 讯 设 备 中 的 寄 存 器 定 义 , 一 般 由 厂 家 提 供 点 表 。 数 据 格 式 数 据 在 寄 存 器 中 的 格 式 , 较 多 的 为 16 位 无 符 号 , 因 为 一 个寄 存 器 就 是 一 个16 位 的 长 度 。 CRC 校 验 经 过 CRC 校 验 算 法 后 , 添 加 CRC 计 算 的 值 在 协 议 传 输 帧 的最 后 面 , 主 要 是 防 止 串 口 误 码 导 致 数 据 错 误 。 举 一 个 最 简 单 的 例 子 , 我 们 在 SymLink 中 查 看 报 文 的 时 候 可 以 看 到 : SymLink 发送: 01 03 00 01 00 02 95 CB 01 代表 设 备 地 址 1 03 代表 读 取 保持寄 存 器 的 值 00 01 代表 采 集点 对 应 的 寄 存 器 号 00 02 代表 读 取 2 个 连续寄 存 器 的 值 95 CB 为 01 03 00 01 00 02 计 算 所得的 CRC 值 SymLink 接收: 01 03 04 00 00 00 00 FA 33 01 代表 设 备 地 址 1 03 代表 读 取 保持寄 存 器 的 值 04 代表 设 备 返回的 数 据 个 数 , 字 节为 单 位 00 00 00 00 为 数 据 返回的 连续2 个 寄 存 器 的 值 FA 33 为 01 03 04 00 00 00 00 计 算 所得的 CRC 值 SymLink 在 判断01、03、04 这些反馈信息都合法 , 并且CRC 校 验 无 误 的 情况下,就 可 以 对 00 00 00 00 所在 的 数 据 值 进 行 规定 数 据 格 式 的 解 析 。 目 前 支 持Modbus 协 议 的 设 备 越 来 越 多 , 包 括PLC、智 能 仪 表 、通 讯 模 块 等 等 ,如 果 ...