通信协议_Modbus协议简介

概念介绍

  • Modbus协议:一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
  • 通信具象化解释:类似人的交流过程,需要有通信角色 (主从,客户端服务器...),通信介质 (串口,以太网,无线...),通信协议(modbus,S7,MC...)三个要素。
  • 网络协议三要素:语法 (数据与控制信息的结构或格式),语义(发出何种控制信息),同步(事件实现顺序,匹配速度等的详细说明)。

modbusRTU协议介绍

语法结构:

  • 地址码:用于标识从站设备,范围是0到247,其中0为广播地址,所有从站设备都会接收该地址的数据。
  • 功能码:用于指示要执行的操作类型,例如读取寄存器值、写入单个寄存器等。
  • 数据:包括寄存器地址、数据值等信息,根据功能码的不同,数据的内容和长度也会不同。
  • CRC校验码:用于检测数据在传输过程中是否出现错误。在数据帧的最后添加两个字节CRC校验码,接收方收到数据后,重新计算CRC校验码,并与接收到的CRC校验码进行比较,如果不同,则说明数据在传输过程中出现了错误。

功能码:

  • 功能码01:读取线圈状态(Read Coils),用于从远程设备中连续读取1到2000个线圈的状态。
  • 功能码02:读取输入状态(Read Inputs),取得一组开关输入的当前状态ON/OFF。
  • 功能码03:读取保持寄存器(Read Holding Registers),在一个或多个保持寄存器中取得当前的二进制值。
  • 功能码04:读取输入寄存器(Read Input Registers),在一个或多个输入寄存器中取得当前的二进制值。
  • 功能码05:强置单线圈(Force Single Coil),强置一个逻辑线圈的通断状态。
  • 功能码06:预置单寄存器(Preset Single Register),把具体二进值装入一个保持寄存器。
  • 功能码15:强置多线圈(Force Multiple Coils),强置一串连续逻辑线圈的通断。
  • 功能码16:预置多寄存器(Preset Multiple Registers),把具体的二进制值装入一串连续的保持寄存器。

例:
读取(03)从站(01)中的窗帘打开程度(从第二个开始读:00 02 读一位 00 01 CRC校验 25 CA):

相关推荐
奋斗的牛马1 天前
FPGA--zynq学习 PS与PL交互(二) HP接口
单片机·嵌入式硬件·学习·fpga开发·信息与通信
渡我白衣1 天前
字符串的陷阱与艺术——std::string全解析
网络·c++·人工智能·自然语言处理·智能路由器·信息与通信·caffe
Pluchon2 天前
硅基计划6.0 伍 JavaEE 网络原理
网络·网络协议·学习·tcp/ip·udp·java-ee·信息与通信
Shang180989357262 天前
T41NQ/T41N高性能低功耗SOC芯片 软硬件资料T41NQ适用于各种AIoT应用,适用于智能安防、智能家居,机器视觉等领域方案
驱动开发·嵌入式硬件·计算机视觉·fpga开发·信息与通信·t41nq
北京耐用通信2 天前
耐达讯自动化Profibus光纤模块:智能仪表的“生命线”,极端环境通信无忧!
人工智能·物联网·网络协议·自动化·信息与通信
yongshao83 天前
KUKA机械臂使用EthernetKRL配置与C#上位机实现TCP通讯
tcp/ip·机器人·c#·信息与通信
奋斗的牛马3 天前
硬件基础知识-电容(一)
单片机·嵌入式硬件·学习·fpga开发·信息与通信
焦糖码奇朵、3 天前
移动通信网络建设-实验3:5G建设方案规划设计
5g·信息与通信·射频工程·基带工程
Fnetlink13 天前
智网案例精选|光联云网融合智驱,重塑金融数字化转型新格局
网络·信息与通信
DuHz4 天前
霍夫变换和基于时频脊线的汽车FMCW雷达干扰抑制——论文阅读
论文阅读·物联网·算法·汽车·信息与通信·毫米波雷达