当前位置: 首页 > news >正文

Modbus RTU 与 Modbus TCP 简易指南

一、物理层与电气特性

Modbus RTU

  • 物理接口:EIA-485(最常用)、EIA-232、EIA-422

  • RS-485 特性

    • 差分信号(A/B 线),抗共模干扰能力强

    • 半双工(同一时刻只能发或收)

    • 点对多点:理论 32 个单元负载(使用 1/4 负载芯片可达 128 个)

    • 最大传输距离:1200 米(9600bps 时)

    • 终端电阻:首尾两端需加 120Ω 匹配电阻,防止信号反射

  • RS-232 特性

    • 单端信号,干扰敏感

    • 点对点(一发一收)

    • 最大距离:15 米

  • 线缆与连接器

    • 屏蔽双绞线(STP)推荐

    • 常用 9 针 D-sub(DB9)或接线端子

    • 信号定义:A(Data+)/ B(Data-)/ GND(参考地)

Modbus TCP

  • 物理接口:以太网(10Base-T、100Base-TX、1000Base-T)

  • 连接器:RJ45(8P8C)

  • 线缆:Cat5e / Cat6 非屏蔽或屏蔽双绞线

  • 拓扑结构:星型(通过以太网交换机)

  • 传输距离:单段 100 米(铜缆),通过光纤或交换机级联可无限扩展

  • 网络特性

    • 全双工(可同时收发)

    • 支持 VLAN、QoS、链路聚合

    • 支持无线(Wi-Fi、4G/5G)和长距离光纤


二、数据链路层与帧格式详解

Modbus RTU 帧结构(二进制,十六进制表示)

字段长度说明
起始≥3.5 字符静默时间帧分隔符,非显式字节
地址域1 字节0 = 广播,1-247 = 从站地址
功能码1 字节1-127 为公共功能码,128-255 为错误响应
数据域N 字节随功能码变化(寄存器地址、数量、写入值等)
CRC 校验2 字节循环冗余校验,低字节在前(小端)
结束≥3.5 字符静默时间帧结束标志

示例:读取 1 号从站,从 0x0000 开始读 2 个保持寄存器

01 03 00 00 00 02 C4 0B │ │ │ │ └─────┘ CRC: 0x0BC4 │ │ │ └── 数量: 2 (0x0002) │ │
http://www.cnnetsun.cn/news/2208410.html

相关文章:

  • STC89C52循迹小车避坑实战:传感器反了、电机不转、拐弯冲线?这些调试经验帮你一次搞定
  • LoRA+QLoRA+Adapter三重配置冲突诊断:Python微调中87%OOM错误的根源定位指南
  • 从无人机飞控到电动车驱动:深入聊聊FOC中的Clark/Park变换到底解决了啥问题
  • RISC-V中断嵌套与咬尾优化详解:以芯来平台在RT-Thread中的`csrrw`指令为例
  • 邮票大小双以太网SoM模块的嵌入式开发实践
  • BMS开发避坑指南:从产品需求书里挖出那些容易忽略的‘魔鬼细节’(以AUTOSAR项目为例)
  • RTK定位中的RTCM3.2:为什么你的无人机/农机需要它?从协议到应用的避坑指南
  • 在OpenClaw中集成Taotoken实现多模型Agent工作流
  • RoboMaster视觉入门:从零看懂深大开源代码(Ubuntu 16.04 + OpenCV 3.4.4环境搭建)
  • League Akari:3大核心功能全面提升英雄联盟游戏体验的终极指南
  • 告别Anaconda安装失败:在Termux的Debian里用纯Python pip搞定Jupyter和Octave内核
  • Depth-Anything-V2:单目深度估计基础模型的技术革新与应用实践
  • 告别盲猜!用UDS 0x19服务精准读取汽车故障码(DTC)的保姆级实战指南
  • 告别电流畸变:在GaN图腾柱PFC中,我是如何用重复控制搞定PI相位超前的
  • Vim党进阶指南:巧用Ctags和Cscope,让你的.vimrc实现智能代码跳转与搜索
  • 10块钱的TM1638模块能玩出什么花?DIY一个桌面时钟+温湿度计(Arduino/STM32都行)
  • 从‘找色’到‘AI自瞄’:聊聊FPS游戏外挂的‘非内存’进化史(附大漠插件+易语言早期代码)
  • Jenkins Pipeline插件避坑指南:从Docker构建到GitHub通知,这5个插件配置最容易出错
  • Rust 微服务性能优化:从 500ms 到 50ms 的实战记录
  • expvarmon实战:构建企业级Go应用性能监控系统
  • Adversary Emulation Library项目贡献指南:如何参与开源威胁模拟社区
  • 旧电脑焕新记:用统信UOS家庭版替代Windows 10,实测老机器流畅度提升
  • 终极二进制运算指南:Algorithms项目实战技巧与高效位操作方法
  • 浏览器Cookie管理太麻烦?Cookie-Editor让你3步搞定所有难题
  • PKHeX自动合法性插件完整指南:5分钟掌握宝可梦合规性检查
  • C++新手也能懂:手把手教你用xlnt库从Excel读取游戏配置表(含中文乱码解决)
  • 终极指南:使用Rust编写云原生操作系统的完整教程
  • DevOps工具集成终极指南:基于DevOps-Roadmap的Jenkins+Ansible实战方案
  • 15+平台直播弹幕实时采集:BarrageGrab终极解决方案
  • 3分钟搞定Axure RP汉化:终极免费中文界面切换指南