深入理解Modbus协议的数据模型和地址模型

modbus 从机地址 功能码 起始地址高位 起始地址低位 数量高位 数量低位 字节数 0001H高位 0001H低位 0002H高位 0002H低位 CRC高位 CRC低位。每个输入寄存器的长度为2个字节。其中,CDH对应线圈0013H到001AH的内容,01H对应线圈001B到001CH的内容,未使用位用0填充。从机地址 功能码 起始地址高位 起始地址低位 寄存器数量高位 寄存器数量低位 CRC高位 CRC低位。从机地址 功能码 起始地址高位 起始地址低位 寄存器数量高位 寄存器数量低位 CRC高位 CRC低位。 阅读详情
AI摘要

本文介绍了Modbus协议的数据模型,包括离散量输入、离散量输出/线圈、输入寄存器和保持寄存器等四种数据类型及其访问方式。同时,文章还详细解释了Modbus协议的地址模型,包括各种数据类型的地址范围和编号规则。

1、Modbus协议的数据模型

         数据模型是对可访问数据的一种抽象,Modbus协议的数据模型定义了四种可访问的数据,分别是:

        离散量输入(DI:Discrete Input);

        离散量输出 / 线圈(DQ:Discrete Output / Coils);

        输入寄存器(IR:Input Registers);

        保持寄存器(HR:Holding Registers);

        其中,离散量输入和离散量输出/线圈只支持以位(bit)的方式进行访问,输入寄存器和保持寄存器只支持以字(WORD)的方式进行访问;离散量输入和输入寄存器只支持以只读的方式进行访问,而线圈和保持寄存器既可以读也可以写;

        数据模型中成员的特点如下面的表格所示:

        既然数据模型是一种抽象,在实际使用时必须将其映射到真实的物理存储区才能被访问。

        Modbus协议允许设备将四种数据分别映射到不同的存储区块中,各个区块之间相互独立,使用不同的功能码可读取到不同的数值,如下图所示:

       Modbus协议也允许设备将四种数据映射到同一存储区块中,这样通过不同的功能码读取数据可能会得到相同的数据(比如:输入寄存器和保持寄存器为同一物理区块),如下图所示:

       数据模型中的每一种数据都最多允许有65536个元素(编号1~65536),元素的地址编号从0开始,因此地址的范围为:0~65535;

       需要说明的是:65536只是协议允许的最大元素范围,但并不要求全部实现。Modbus协议允许设备根据自己的实际情况实现部分元素,甚至不要求实现模型中全部四种数据;

2、Modbus协议的地址模型

        为了简化数据模型与设备存储区的对应关系,引入了一种地址模型。该模型通过编号的方式对不同类型数据进行区分,各数据的地址编号请看下面的表格:

        Modbus地址模型的编号从1开始。由于每一种数据都最大支持65536个元素,具体如下:

        线圈型数据,地址范围(从1开始):000001~065536;

        离散量输入,地址范围(从1开始):100001~165536;

        输入寄存器,地址范围(从1开始):300001~365536;

        保持寄存器,地址范围(从1开始):400001~465536;

        由于上述地址都是比较大的数值,实际应用一般采用区域代码+地址的方式,或者直接采用16进制表示地址,具体如下:

        线圈型数据,区域代码+地址(从0开始):DQ0~DQ65535;

        离散量输入,区域代码+地址(从0开始):DI0~DI65535;

        输入寄存器,区域代码+地址(从0开始):IR0~IR65535;

        保持寄存器,区域代码+地址(从0开始):HR0~HR65535,16进制(从0开始):0000H~FFFFH;

        Modbus地址模型对于Modbus-RTU/ASCII和Modbus-TCP协议都是适用的。

3、Modbus协议的应用

        Modbus读写SQL数据库的数据、通过Modbus协议采集数据到数据库

        AB罗克韦尔PLC转Modbus协议主站、西门子PLC转Modbus协议主站

        AB罗克韦尔PLC跟Modbus协议的设备通讯、西门子PLC跟Modbus协议的设备通讯

        

寄存器PLC地址与寄存器modbus协议地址 寄存器PLC地址指存放于控制器中的地址,这些控制器可以是PLC,也可以使触摸屏,或是文本显示器。PLC地址一般采用10进制描述,共有5位,其中第一位代码寄存器类型。第一位数字和寄存器类型的对应关系如表1所示。PLC地址例如40001、30002等。 寄存器modbus协议地址指通信时使用的寄存器地址,在实际编程中,由于寄存器PLC地址前缀的区分作用,所以只需说明后4位数... 阅读详情

相关推荐

Modbus协议通解

Modbus 协议结构通过其数据模型、功能代码和数据封装机制为工业自动化提供了一种灵活、高效的通信方式。了解这些基本组成部分对于设计、实现和调试 Modbus 系统至关重要,无论是在传统的串行通信环境还是在现代的网络应用中。这三种Modbus通信方式各有特点和应用场景。Modbus RTU和ASCII主要用于串行通信,而Modbus TCP/IP则适用于基于以太网的网络通信。选择合适的通信方式取决于具体的应用需求、网络环境和设备能力。

weixin_41441305的博客 569

Modbus协议讲解及实现

课程背景Modbus 协议是工业自动化控制系统中常见的通信协议,协议的全面理解是个痛点。本课程主讲老师集10多年在Modbus协议学习、使用中的经验心得,结合当前物联网浪潮下Modbus协议开发的痛点,推出这套面向Modbus 协议初学者的课程。本课程不同于以往市面课程只是协议讲解无实现代码,而是采用讲解与实践并重的方式,结合STM32F103ZET6开发板进行手把手编程实践,十分有利于初学者学习。涵盖了学习者在Modbus协议方面会遇到的方方面面的问题,是目前全网首个对Modbus协议进行全面总结的课程。课程名称   协议讲解及实现>>课程内容1、Modbus 协议的基础。2、Modbus协议栈函数编程实现。3、Modbus协议在串行链路编程实现。4、Modbus协议在以太网链路编程实现。5、常见问题的解决方法。带给您的价值通过学习本课程,您可以做到如下:1、全面彻底的理解Modbus协议。2、理解在串行链路,以太网链路的实现。3、掌握Modbus协议解析的函数编程方法,调试工具的使用。4、掌握多个串口,网口同时运行同一个Modbus协议栈的方法。5、掌握Modbus协议下,负数,浮点数等处理方法。讲师简介许孝刚,山东大学工程硕士,副高职称,技术总监。10多年丰富嵌入式系统开发经验,国家软考“嵌入式系统设计师”。2017年获得“华为开发者社区杰出贡献者”奖励。

ModbusTCP协议详解与传统Modbus RTU对比分析

深入解析modbustcp协议详解的核心机制,对比传统Modbus RTU在通信效率与网络架构上的差异,突出其在现代工业自动化中的应用优势。

weixin_28809949的博客 747

Modbus寄存器分类及地址分配

Modbus协议中一个重要的概念是寄存器,所有的数据均存放于寄存器中。最初Modbus协议借鉴了PLC中寄存器的含义,但是随着Modbus协议的广泛应用,寄存器的概念进一步泛化,不再是指具体的物理寄存器,也可能是一块内存区域。Modbus寄存器根据存放的数据类型以及各自读写特性,将寄存器分为4个部分,这4个部分可以连续也可以不连续,由开发者决定。 Modbus寄存器分类及说明 Modbus寄存器地址分配 ...

专注嵌入式开发与 Linux 系统应用实战,分享芯片驱动、设备调试、系统工具开发干货。 2万+

Modbus寄存器地址规则

Modbus协议定义的寄存器地址是5位十进制地址,即: 线圈(DO)地址:00000~09999 触点(DI)地址:10000~19999 输入寄存器(AI)地址:30000~39999 输出寄存器(AO)地址:40000~49999 由于上述各类地址是唯一对应的,因此有些资料就以其第一个数字区分各类地址,即:0x代表线圈(DO)类地址,1x代表触点(DI)类地址、 3x代表输入寄...

lushoumin的博客 6万+

NI MODBUS LIB:LabVIEW Modbus通信库应用实战

Modbus协议支持多种通信模式,主要包括Modbus RTU、Modbus ASCII和Modbus TCP。Modbus RTU和Modbus ASCII运行在串行线上,而Modbus TCP则适用于以太网环境。协议规定了主从设备之间的请求-响应交互机制,确保了数据传输的准确性和可靠性。LabVIEW的用户界面(UI)由前面板(Front Panel)、块图(Block Diagram)和程序框图(Icon & Connector)三部分组成。

weixin_42527665的博客 849

96KB存储器的怎么算地址范围_深入理解Modbus协议的数据模型和地址模型

在使用Modbus协议编程的时候,会遇到诸如40001、10001之类的地址,比如前面的文章《实例:S7-200 SMART通过Modbus-RTU读取温湿度传感器数据》,读取温湿度传感器的寄存器地址用的是40001,这究竟是代表什么意思呢?今天这篇文章,我们来谈谈Modbus协议的数据模型和地址模型,这样大家就能理解这个问题。1、Modbus协议的数据模型数据模型是对可访问数据的一种抽象,Mod...

weixin_39614750的博客 998

Modbus通信协议模拟与诊断工具套装

ModSim32和ModScan32是工业自动化领域中广泛使用的模拟和诊断工具,它们对于实现Modbus通信协议的测试和维护至关重要。本章节将带你快速入门这两个工具的基本概念、功能与应用环境,为后续深入了解和操作这两个工具打下坚实的基础。ModSim32是一个用于Modbus RTU和Modbus TCP设备的模拟器,它允许开发者和工程师在没有物理设备的情况下测试和验证Modbus通信。

weixin_34438187的博客 660

深入理解Modbus通讯

Modbus

zzwwgg1984的博客 3394

LabVIEW与Modbus通信项目实操指南

本文还有配套的精品资源,点击获取 简介:LabVIEW是一种图形化编程环境,广泛应用于创建虚拟仪器应用。本项目重点介绍如何使用LabVIEW实现基于Modbus通信协议的数据采集和监控系统。涵盖LabVIEW基础知识、Modbus协议细节、LabVIEW Modbus库的应用、数据采集技术、用户界面设计、错误处理机制以及文件I/O操作。项目还包括对特定功能子VI的分析,为初...

weixin_42298778的博客 3388

深入MODBUS协议:实现客户端与服务端代码实战

MODBUS协议诞生于1979年,最初由Modicon(现施耐德电气公司的一部分)开发,它是一种开放标准的串行通信协议。这一协议被广泛应用于工业环境中,用于连接可编程逻辑控制器(PLC)与其他设备。随着时间的推移,MODBUS已经成为了工业自动化领域内的一个基石,尤其是在楼宇自动化、过程控制和工业通信系统中。MODBUS协议以其简单、高效和易于实现的特性,成为了众多设备制造商和软件开发者的选择。

weixin_29009401的博客 1174

交互协议 | <02>Modbus通信协议的全面详细总结(含常用功能码的详细通信示例)

Modbus协议是1979年由Modicon公司(现施耐德电气)开发的工业通信标准协议,采用主从架构,支持串行(RS-232/485)和以太网(TCP/IP)传输。协议定义了4类寄存器(线圈、离散输入、输入寄存器和保持寄存器),通过精简的PDU结构实现数据读写功能。核心版本包括RTU(二进制)、ASCII(文本)和TCP(网络封装)三种模式,常用功能码涵盖01-16号操作。该协议具有简单高效、开放免费等优点。在工业自动化领域,Modbus广泛应用于PLC通信、仪表数据采集等场景,是事实上的工业标准协议。

FEARLESS3541的博客 2264

深入了解Modbus协议:基础与实例

Modbus是一种广泛应用于工业自动化领域的协议,它允许设备之间进行通信。作为开放标准,Modbus由Modicon公司于1979年首次提出,后成为工业领域通信协议的事实标准之一。在本章中,我们将对Modbus协议的基本概念进行简要概述,为读者提供一个进入Modbus世界的门户。Modbus协议中的帧格式是通信协议的核心,它定义了如何将数据打包发送以及如何解析收到的数据。一个典型的Modbus RTU帧结构如下:设备地址:占用1个字节,用于标识消息的发送者和接收者。

weixin_42668301的博客 557

深入理解智能家居领域中RS485、Modbus、KNX 和 Zigbee协议概念

在智能家居和楼宇自动化领域,RS485 和 Modbus 常被搭配使用,因为它们分别处于物理层和协议层。而 **KNX** 和 **Zigbee** 则是分别代表了另外两种不同体系的标准或协议,它们的定义和应用范围有所不同

居然是阿松的博客 3009

不会ps,你也可以成为ps高手,最强傻瓜式人像一键磨皮美白瘦脸美妆PS插件

比如:美肤是用来去斑点的,如果效果不太理想,就加大百分比,反之就减小。瘦脸如果脸胖的就打开,正常的就关闭。所谓的一键调节,要不只能调节一种效果,要不就是个预设,然后让你自己再调。同时,该软件还加入了贴心的批量处理功能,能同时处理上千张照片,让您喝着茶也能将工作做完。、自动检测照片中的人脸,包括鼻子,嘴巴,耳朵,眼睛和眉毛。、依托强大的脸部识别功能,可以高效的对人物全身皮肤进行智能识别,处理,使肤质平滑、过渡均匀。,这是网上下载的模糊照片,经过简单处理,你可以发现,眼睛变的更亮,皮肤更白,眼袋消失。

心语家园 - www.xinyucn.cc 2897

TexGen模型导出ABAQUS inp文件时纱线材料属性缺失?5分钟快速修复指南

本文针对TexGen模型导出ABAQUS inp文件时纱线材料属性缺失的问题,提供了快速修复指南。通过手动编辑inp文件或使用Python脚本自动补全材料属性,帮助复合材料仿真工程师高效解决问题。文章还介绍了TexGen导出前的预防性设置和ABAQUS中的验证技巧,确保仿真分析的准确性。

qsc901234的博客 250

java解析modbus协议示例代码

GitHub - digitalpetri/modbus: Modbus TCP, Modbus RTU/TCP, and Modbus RTU/Serial for Java 17+.modbus tcp 通讯modbus-master-tcp Java使用说明-左搜 ModbusTCP协议_mbap报文头-优快云博客 modbus学习笔记——帧 - feipeng8848 - 博客园 百度安全验证

yaoct的博客 416

达梦DM8整合Seata AT模式实战:手把手教你搞定分布式事务(含源码修改避坑)

本文详细介绍了达梦DM8数据库与Seata AT模式的深度整合实战,包括环境准备、架构设计、源码适配及分布式事务落地。通过独创性源码改造,解决了Seata官方对达梦数据库AT模式支持的限制,为国产数据库在微服务架构中的应用提供了可靠的事务保障。

weixin_30764771的博客 332

Modbus协议实战:从基础概念到C#实现深度解析

本文深入解析Modbus协议,从基础概念到C#实战实现,涵盖数据模型、功能码详解及常见问题解决方案。针对工业自动化领域,提供完整的Modbus客户端开发指南,包括CRC校验、字节序处理和异步通信等关键技术,帮助开发者快速掌握Modbus应用。

pytorchlight8的博客 715

你需要这样一个Ros软路由—— 路由器+外网+一号通ip线路=动态ip的WiFi信号

功能强大 管理便捷—给您全新的路由体验 一键更换指定线路or批量更换所有IP/MAC/SSID 自定义走本地网络策略的分流功能 设备批发价、不限制拨号账号服务商 强大的单设备/多设备IP去重功能 批量导入、管理一号通线路 一键任意切换5G_WiFi(推荐)/2.4G_WiFi(建议不用) 设备支持PPTP/L2TP/SSTP/openVP.N等协议 独家支持openVPN,适用于网络受限用户 支持自行接入AP和交换机扩容 一键打开/关闭所有虚拟WiFi 一键隐藏/显示设备WiFi...

米粒儿 4253

无人机精准降落辅助系统核心技术解析

接近地面时(<10米)切换至基于图像的视觉伺服(IBVS),依据图像特征点偏移(如靶标图案、LED标记)微调姿态,消除位置累积误差。通过SRUKF(平方根无迹卡尔曼滤波) 算法融合三类数据,输出6自由度位姿估计(精度达厘米级),抑制单一传感器噪声。权值根据信噪比动态调整。模型预测控制(MPC):针对斜坡降落,构建包含平台倾角、风扰的动力学方程,滚动求解最优油门序列。动态照明适配:针对夜间或低光照场景,系统向降落平台发送亮度调节指令,如增强红外信标强度或调整可见光LED阵列,确保特征识别鲁棒性。

YUNZHUO666的博客 1695

Modbus TCP通信协议

最近工作需要用到Modbus-TCP通信协议,找了些资料开始学习,顺便记录学习过程。提示:以下是本篇文章正文内容,下面案例可供参考。

qq_41924240的博客 2401

提取abaqus中节点集合的应力应变

节点是没有应力应变的,只有积分点才有,所以直接在odb文件里面用FieldOutput是整不出来的(结果是个空列表),只能用session这种让abaqus自己帮你处理。具体的代码需要根据自己操作的时候abaqus.rpy这个文件中代码的变化来更改。

蓝胖子的博客 4553

工业通信基石:Modbus协议核心原理与实战应用解析

在工业自动化与物联网领域,设备间的可靠数据交换是实现系统协同的关键。串行通信协议作为基础通信方式,定义了数据帧格式、传输规则与差错校验机制,是连接现场设备与控制系统的桥梁。其技术价值在于通过标准化的数据模型与主从式架构,屏蔽了底层硬件差异,实现了不同厂商设备间的互操作性,从而大幅降低了系统集成与维护成本。这一原理广泛应用于工业控制、楼宇自动化、能源监控等场景,其中,Modbus协议因其简单、开放和高度普及的特性,成为该领域事实上的标准协议。理解Modbus的主从模式、四种核心数据区(线圈、离散输入、保持寄存

weixin_30487201的博客 424

华为od统一考试B卷【食堂供餐】Python 实现

某公司员工食堂以盒饭方式供餐。为将员工取餐排队时间降低为0,食堂的供餐速度必须要足够快。现在需要根据以往员工取餐的统计信息,计算出一个刚好能达成排队时间为0的最低供餐速度。即,食堂在每个单位时间内必须至少做出多少份盒饭才能满足要求。

MISAYAONE的博客 8781

数字图像处理:直方图匹配或规定化Histogram Matching (Specification)原理及感悟

本文介绍了连续图像和数字图像直方图匹配(直方图规定化)的原理、处理过程,并提供了案例进行了讲解。可以看到,直方图均衡处理是直方图匹配的一个重要桥梁。 最后,对于直方图规定化这个翻译个人觉得很low,个人感觉叫指定直方图更好理解,但Histogram Specification怎么翻译确实不太好把握,因此还是叫Histogram Matching直方图匹配最好。

老猿Python 2880
上一篇: 数据服务软件-OPC DA/UA采集的设备数据存入到SQL数据库的操作步骤
下一篇: 不用编程,实现三菱FX5U与罗克韦尔(AB)PLC之间实时通讯
AIHE-TECH
博客等级 码龄19年 210粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值