modbus初学者教程,第一章:Modbus背景介绍

第一章:Modbus背景介绍

Modbus 是一种用于工业自动化控制系统的通信协议,由 Modicon(现为施耐德电气的一部分)在 1979 年开发。它是一种主从架构的协议,广泛应用于连接电子设备以实现数据交换。以下是 Modbus 协议的背景和主要特点:

  • 起源与发展:Modbus 最初由 Modicon 为其可编程逻辑控制器 (PLC) 开发,目的是实现不同设备之间的互操作性。随着时间的推移,Modbus 成为工业领域中最广泛使用的通信协议之一。
  • 开放标准:Modbus 是一个开放的协议,任何人都可以免费使用和实现。这使得它在工业自动化领域中得到了广泛的接受和应用。
  • 多种变体:随着技术的发展,Modbus 也演变出了多个版本和变体,适应不同的通信需求和物理介质。

主要特点

  • 主从架构:Modbus 采用主从(Master/Slave)架构。一个主设备可以与多个从设备通信,从设备之间不直接通信。主设备发出命令,从设备响应。
  • 简单易用:Modbus 协议相对简单,易于实现和理解,适用于资源有限的嵌入式系统。
  • 多种传输方式
    • Modbus RTU:基于串行通信的 Modbus 变体,通常使用 RS-232 或 RS-485 作为物理层。数据以二进制形式传输,具有较高的效率和较低的通信开销。
    • Modbus ASCII:另一种基于串行通信的变体,数据以 ASCII 字符形式传输,便于调试,但效率较低。
    • Modbus TCP/IP:基于以太网的 Modbus 变体,通过 TCP/IP 协议进行传输,适用于现代网络环境。
  • 数据模型 :Modbus 定义了一种简单的数据模型,包含四种数据类型:
    • 离散输入:单个位,只读。
    • 线圈:单个位,读/写。
    • 输入寄存器:16 位寄存器,只读。
    • 保持寄存器:16 位寄存器,读/写。

应用领域

  • 工业自动化:如 PLC、SCADA 系统、传感器和执行器之间的通信。
  • 能源管理:如电表和能源管理系统的通信。
  • 楼宇自动化:如暖通空调 (HVAC) 系统、照明和安防系统的控制。

Modbus 因其开放性、简洁性和灵活性,成为工业控制和自动化领域中一种标准的通信协议。随着物联网 (IoT) 的发展,Modbus 也被广泛应用于各类智能设备和系统的互联。

Modbus协议版本

Modbus可用于串行链路或者TCP/IP以太网。

对于Modbus串行链路连接,存在两个变种,它们在协议细节上略有不同,主要区别是传输数据的字节表示上的不同。这两个变种包括RTU模式和ASCII模式。ModbusRTU模式是一种紧凑的,采用二进制表示数据的方式;而ModbusASCII模式是一种人类可读的、冗长的表示方式。这两个变种都使用串行链路通信(Serial Communication)方式,为了确保数据传输的完整性和准确性,RTU模式 下消息格式命令和数据带有循环冗余校验的校验和,而ASCII模式下消息格式采用纵向冗余校验的校验和,而且被配置为RTU模式的节点不能与配置为ASCII模式的节点通信,反之亦然。

对于通过TCP/IP(例如以太网)物理层的连接,存在多个Modbus/TCP变种,这种方式不需要校验和的计算。

Modbus通信流程概述

Modbus是一个请求/应答协议,并且提供统一的功能码用于数据传输服务。Modbus功能码是 Modbus 请求/应答 PDU(即 PROTOCOL DATA UNIT,协议 数据单元)的元素之一,所谓的PDU是Modbus协议定义的一个与基础通信层无关的简单协议数据单元。而在特定总线或网络上,Modbus协议则通过ADU(即APPLICATION DATA UNIT,应用数据单元)引入一些附加域,以实现完整而准确的数据传输。

为了寻求一种简洁的通信格式,Modbus 协议定义了PDU模型,即功能码+数据的格式;而为了适应多种传输模式,在PDU的基础上增加了必要的前缀(如地址域)和后缀(如差错校验),形成了ADU模型。

ADU与PDU之间的关系如下图所示。

主机设备(或客户端)创建Modbus应用数据单元形成查询报文,其中功能码标识了向从机设备(或服务器端)指示将执行哪种操作。功能码占用一个字节,有效的码字范围是十进制1~255(其中128~255为异常响应保留)。查询报文创建完毕,主机设备(或客户端)向从机设备(或服务器端)发送报文,从机设备(或服务器端)接收报文后,根据功能码做出相应的动作,并将响应报文返回给主机设备(或客户端),如下图所示。

如果在一个正确接收的Modbus ADU中,不出现与请求 Modbus功能有关的

差错,那么从机设备(或服务器端)将返回正常的响应报文。如果出现与请求Modbus功能有关的差错,那么响应报文的功能码域将包括一个异常码,主机设备(或客户端)能够根据异常码确定下一个执行的操作。

如下图所示,对于异常响应,从机设备(或服务器端)将返回一个与原始功能码等同的码值,但设置该原始功能码的最高有效位为逻辑1,用于通知主机设备(或客户端)。

平时调试Modbus设备,或者学习Modbus协议,推荐一款Modbus主从站模拟器:

从站下载地址:http://www.redisant.cn/mse

主站下载地址:http://www.redisant.cn/mme

相关推荐
Inhand陈工3 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
大鱼>3 天前
大语言模型+物联网:LLM理解物理世界
物联网·struts·语言模型·多模态·aiot
果丁智能3 天前
物联网智能锁赋能集中式住宿:身份核验与远程权限管控的全链路技术实践
大数据·人工智能·物联网·智能家居
国产化创客3 天前
ESP32 CameraWebServer 原生摄像头项目全解析
物联网·开源·嵌入式·实时音视频·智能硬件
谁似人间西林客3 天前
数据智能怎么赋能工业制造?物联网场景落地方法解析
物联网·制造
InHand云飞小白3 天前
无人值守站点网络困境?工业级路由器IR315破解连接难题
网络·物联网·4g·工业路由器·4g路由器·iiot·蜂窝路由器
MetrixAeroCore3 天前
Metrix 国际物联网卡资费方案|多场景共享流量池·按需扩容
物联网
by————组态3 天前
Ricon组态系统 - 新一代Web可视化组态平台
前端·后端·物联网·架构·组态·组态软件
王二端茶倒水3 天前
智慧园区网络运营:认证、分权、运维和安全闭环
运维·物联网·架构
Hotchip_MEMS3 天前
MEMS 开关麦克风新手入门与实战指南
人工智能·物联网