• [Modbus] Modbus协议开发-工作流程(二)


    模型介绍

    Modbos是OSI模型第七层(应用层)报文传输协议,主要是在不同类型的总线或网络设备间提供主站设备/从站设备(客服机/服务器)通信。
    协议栈模型如下:
    在这里插入图片描述

    协议版本

    Modbus通信协议一般用于串行链路、TCP/IP以太网以及其他支持互联玩协议的网络版本。

    通信介质

    大多数的Modbus设备通信时通过串口(RS232/RS485)或TCP/IP物理层进行连接(在上一节中有提到,含图),即RTU模式与ASCII模式。

    两种串行网络结构图

    在这里插入图片描述
    在这里插入图片描述

    通信场景

    通常情况下,Modbus协议是一个主/从(Master/Slave)或客户端/服务器(Client/Server)架构协议。一般网络中有一个节点是Master节点,其他使用该协议参与网络通信的节点一般为Slave节点,每个Slave设备都有唯一的地址标识。
    每一个Modbus报文均包含准备执行质量的设备的Modbus地址,线路上的所有设备都会收到指令(因为有PearToPear与广播的方式)。指定地址的设备会执行并回应主设备的指令,地址为0的除外,因为地址0表示的是广播指令(收到指令的设备都会执行指令,但无需回复指令)。

    支持的设备

    PLC、HMI、控制面板、驱动程序、动作控制、输入/输出设备等。

    通信过程

    正常通信过程

    • 主机设备(客户端)创建Modbus应用数据单元形成报文;
    • 将功能码(1byte,范围为十进制的:1-255(128-255保留异常使用))标识从机设备(服务端)执行那种指令;
    • 主机设备(客户端)→从机设备(服务端)发送报文;
    • 从机设备(服务端)接收报文并执行指令,依据功能码做相应动作;
    • 返回相应报文至主机设备(客户端)。
      整个过程与回答是非题的一应一答比较相似。
      在这里插入图片描述

    异常通信过程

    如果出现差错,在走完正常流程的过程后,从机设备(服务端)返回的响应报文中的功能码域将包含一个异常码,主机设备(客户端)依据异常码确定下一个执行的操作。
    在这里插入图片描述

    专业术语

    • Master:主(站)设备
    • Slave:从(站)设备
    • Client:客户端
    • Server:服务端
    • PLC(Programmable Logic Controller):可编程逻辑控制器
    • ADU(Application Data Unit):应用数据单元
    • PDU(Protocol Data Unit):协议数据单元
    • MSB(Most Significant Bit):最高有效位
    • LSB(Least Significant Bit):最低有效位
    • MBAP(Modbus Application Protocol):Modbus应用协议
  • 相关阅读:
    前端入门到入土?
    代理技术的崭新纪元:Socks5代理和代理IP的多重应用
    我用ChatGPT写2023高考语文作文(二):全国乙卷
    Java八股文(Spring Security)
    SpringMVC
    java spring cloud 企业工程管理系统源码+二次开发+定制化服务
    数据结构:ArrayList类和顺序表
    02【SpringBoot静态处理、错误处理】
    机器学习——集成学习和梯度提升决策树
    下一代无线局域网-高吞吐率
  • 原文地址:https://blog.csdn.net/mimica/article/details/141060912