0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【答疑】网关返回错误?Modbus地址与寄存器地址别混淆!

亿佰特物联网应用专家 2025-03-06 19:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

随着PN1-D25系列ProfiNet转Modbus网关的上市,最近有很多客户在使用博图或STEP 7软件来配置PN1-D25时,经常反馈网关无法读写到正确的数据,同时网关会返回错误,表现为网关与PLC的错误灯都在闪烁。技术人员在为客户提供技术支持时发现,大部分客户都是因为将“寄存器的Modbus地址”当成“寄存器地址”配置到了网关,导致网关读写到错误的寄存器导致报错。那么,如何理解寄“寄存器的Modbus地址”与“寄存器地址”,二者有什么区别?什么时侯该用哪种地址?下文将详细介绍。

寄存器的Modbus地址分区

Modbus地址区分为的0区、1区、3区、4区。

0区、1区、 3区、4区各是一片数据区,是Modbus协议规定的地址范围,各类地址是互相对应的。0区 :离散量输出,可读/可写【对应PLC: DO】线圈类地址:00001~09999。使用功能码:01、05、15。1区 :离散量输入16位,只读【对应PLC: DI】触点类地址:10001~19999。使用功能码:02。3区 :输入寄存器16位,只读【对应PLC: AI模拟输入地址:30001~39999。使用功能码:04。4区 :保持寄存器,可读/可写【对应PLC: AO(或某些参数区)】模拟输出地址:40001~49999。使用功能码:03、06、16。

寄存器地址

要想理解Modbus地址,我们先简单介绍一下Modbus协议报文。下面是一条读保持寄存器(地址40001)的Modbus报文。Mdobus请求报文基本由从机地址、功能码、寄存器地址、读写的寄存器数量与CRC16校验码组成。读40001就对应了Modbus报文中的功能码(0x03)与寄存器地址(0x00)。

c9e99e8e-fa7e-11ef-9434-92fbcf53809c.png

博图中的“Modbus_Master”指令

在博图中使用“Modbus_Master”指令时,”DATA_ADDR”参数填写的是寄存器的Modbus地址。这样的好处是开发者在编写Modbus指令时不需要关注该用什么功能码。只需关注是需要读或写与读写数量。PLC会自动根据参数调用对应的功能码,提高了开发人员的工作效率。同时目前各Modbus从站设备文档基本都会提供“Modbus地址表”与“寄存器地址表”。

c9fc13f2-fa7e-11ef-9434-92fbcf53809c.png

PN1-D25 Modbus指令参数配置

ca1e4aee-fa7e-11ef-9434-92fbcf53809c.png

PN1-D25的Modbus模块参数在配置时已经划分好了Coil-线圈-DO-0区、Discrete Input-离散输入-DI-1区、Holding Register-保持寄存器-AO-4区、Input Register-输入寄存器-AI-3区。在填写起始地址(Start Address)时需要填写寄存器地址,不能写带Modbus区的Modbus地址。

可以使用DATA_ADDR和MODE参数来选择Modbus功能代码。DATA_ADDR(从站中的Modbus起始地址):指定在Modbus从站中访问的数据的起始地址。Modbus_Master指令使用MODE输入,不使用功能代码输入。MODE和DATA_ADDR结合使用可指定在实际Modbus帧中使用的功能代码。下表显示了MODE参数、Modbus功能代码和DATA_ADDR中Modbus地址范围之间的关系。Modbus功能:

ca46c550-fa7e-11ef-9434-92fbcf53809c.jpg

ca6bf866-fa7e-11ef-9434-92fbcf53809c.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5588

    浏览量

    129053
  • MODBUS
    +关注

    关注

    28

    文章

    2384

    浏览量

    82254
  • 网关
    +关注

    关注

    9

    文章

    6429

    浏览量

    55567
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用modbus地址时的注意事项

    如表1所示。PLC地址例如40001、30002等。 寄存器modbus协议地址指通信时使用的寄存器地址
    发表于 07-24 06:38

    关于LABVIEW OPC与MODBUS通信寄存器地址问题 求助啊

    关于LABVIEW OPC与MODBUS通信寄存器地址问题 求助啊我的采集模块是MODBUS-RTU通信地址是0x40~0x44但是这个
    发表于 04-03 14:58

    间接寻址及地址寄存器指令

    间接寻址及地址寄存器指令
    发表于 08-12 11:59 19次下载

    MAR地址寄存器原理图

     MAR为存储器地址寄存器,其功能是存储操作数在内存中的地址。其原理图见图2-9。
    发表于 04-01 21:00 7220次阅读
    MAR<b class='flag-5'>地址</b><b class='flag-5'>寄存器</b>原理图

    寄存器的物理地址的概述

    寄存器的物理地址的概述
    发表于 01-04 11:32 0次下载

    Modbus通讯地址设定方法说明

    利用Modbus协议可以实现设备间的数据交换。Modbus通讯理论上支持4种ModiconPLC地址,即0*、1*、3*和4*四种,分别表示开出(中间线圈)、开入、模入、模出(中间寄存器
    发表于 02-08 08:38 4.4w次阅读
    <b class='flag-5'>Modbus</b>通讯<b class='flag-5'>地址</b>设定方法说明

    寄存器的名称和地址的映射详细资料分析

    本文档的主要内容详细介绍的是寄存器的名称和地址的映射详细资料分析。首先要清楚的一点,所有操作,最终目的都是操作寄存器一,对比51单片机和STM32对寄存器的操作
    发表于 07-01 17:42 1次下载
    <b class='flag-5'>寄存器</b>的名称和<b class='flag-5'>地址</b>的映射详细资料分析

    STM32寄存器的简介、地址查找,与直接操作寄存器

    什么是寄存器提到单片机,就不得不提到寄存器。根据百度百科介绍,寄存器是中央处理内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来
    发表于 11-30 13:51 12次下载
    STM32<b class='flag-5'>寄存器</b>的简介、<b class='flag-5'>地址</b>查找,与直接操作<b class='flag-5'>寄存器</b>

    STM32F103系列芯片的地址寄存器映射原理、LED轮流闪烁实现

    STM32F103系列芯片的地址寄存器映射原理、LED轮流闪烁实现文章目录STM32F103系列芯片的地址寄存器映射原理、LED轮流闪烁实现1
    发表于 12-05 15:21 3次下载
    STM32F103系列芯片的<b class='flag-5'>地址</b>和<b class='flag-5'>寄存器</b>映射原理、LED轮流闪烁实现

    STM32-寄存器地址名称映射分析

    1 51单片机访问地址sfr P0 =0x80; //P0映射到地址0x80P0=0x00; //忘寄存器地址0x80赋值0x00sfr是一种扩充数据类型,点用一个内
    发表于 12-08 17:36 1次下载
    STM32-<b class='flag-5'>寄存器</b><b class='flag-5'>地址</b>名称映射分析

    2020.4.14 第四次 寄存器地址名称映射

    寄存器地址名称映射写在前面:对于MCU,一切低层配置都是配置寄存器51中的映射方法:sfr P0=0x08;//P0映射到地址0x08 P0=0x00//往
    发表于 12-08 17:51 9次下载
    2020.4.14  第四次 <b class='flag-5'>寄存器</b><b class='flag-5'>地址</b>名称映射

    为调试寄存器 DBGDRAR 设置的值错误

    每个 RPU 处理都有 1 个 DBGDRAR 寄存器,其中包含 CoreSight 根 ROM 表的地址。但读取此寄存器时会返回
    的头像 发表于 08-02 15:57 1427次阅读

    地址寄存器间接寻址进行详解

    关于间接寻址分为存储间接寻址和地址寄存器间接寻址,本文主要针对地址寄存器间接寻址进行详细讲解。 **一、AR 的格式介绍**
    的头像 发表于 01-30 15:17 6301次阅读
    <b class='flag-5'>地址</b><b class='flag-5'>寄存器</b>间接寻址进行详解

    可配置Modbus网关 嵌入式设备联网解决方案

    可配置Modbus网关可以预先配置Modbus RTU端的设备的地址、功能码和寄存器列表,并存储到网关
    的头像 发表于 05-31 14:14 1544次阅读
    可配置<b class='flag-5'>Modbus</b><b class='flag-5'>网关</b> 嵌入式设备联网解决方案

    工控人必看!还搞不清MODBUS地址如何换算?

    MODBUS地址的换算主要涉及到功能代码、寄存器类型和地址格式等方面。MODBUS是一种通信协议,广泛应用于工业自动化和数据采集。以下是
    的头像 发表于 11-29 16:55 4567次阅读
    工控人必看!还搞不清<b class='flag-5'>MODBUS</b><b class='flag-5'>地址</b>如何换算?