CN104407983A - 一种用于电量模块的modbus地址重映射方法 - Google Patents
一种用于电量模块的modbus地址重映射方法 Download PDFInfo
- Publication number
- CN104407983A CN104407983A CN201410720241.3A CN201410720241A CN104407983A CN 104407983 A CN104407983 A CN 104407983A CN 201410720241 A CN201410720241 A CN 201410720241A CN 104407983 A CN104407983 A CN 104407983A
- Authority
- CN
- China
- Prior art keywords
- modbus
- address
- remapped
- district
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Communication Control (AREA)
- Selective Calling Equipment (AREA)
Abstract
本发明涉及一种用于电量模块的modbus地址重映射方法,属于电网信息数据采集领域。电量模块作为modbus从站,具有modbus数据区和modbus地址重映射区,可以实现modbus地址的重新映射。用户可以通过访问连续的modbus地址重映射区,实现对电量模块多个编址不连续数据寄存器的访问,极大地提高了通信效率。
Description
技术领域
本发明涉及一种地址重映射方法,尤其涉及一种用于电量模块的modbus地址重映射方法。
背景技术
当前,带有通信接口的电力测量仪表越来越多地用于电网,用以测量相关电力参数,跟踪用电设备或线路的运行状况,实现电力监控、电能管理和电气安全的功能。
此类仪表中,通信协议主要采用modbus通信协议。仪表作为modbus从站,连接于上位机或触摸屏等modbus主站设备。仪表的众多测量参数,对应存放于不同的modbus寄存器中。上位机或触摸屏等主站设备,以地址为索引,实现对仪表数据的读写访问。
当前,modbus通信的弊端在于读写多个地址不连续的数据寄存器时,需要使用多个读写命令帧或连续读写大块数据区(其中包含一些多余数据),读写效率低。目前,modbus寄存器读写实现原理如图1所示。每个modbus寄存器都对应于一个modbus地址。图1中data1、data2、data3寄存器地址分别为addrx、addry、addrz。当需要访问data1、data2、data3三个寄存器时,由于addrx、addry、addrz不连续,需要使用三个modbus访问命令帧分别访问三个寄存器,通信效率较低。低效率的通信会限制系统的规模,当系统中存在多个仪表时,扫描周期会变得很长。
虽然现有的地址重映射技术可以实现对多个不连续地址的连续访问,但其均属于计算机领域存储器访问控制技术,例如公开号为CN101021819A,名称为《同步动态存储器的访问控制方法及同步动态存储控制器》的发明专利,其虽然使用了地址重映射技术,但该技术在该项专利中处于设备底层,不直接面对用户,几乎无法感知。而modbus通信属工业通信领域,涉及的内容是工业modbus通信技术,需要直接面对用户,现有的用于计算机领域存储器访问控制的地址重映射技术无法依原样移植到modbus通信中。
发明内容
本发明要解决的技术问题是提高modbus通信时读写多个地址不连续的数据寄存器的效率。
为了解决上述技术问题,本发明的技术方案是提供了一种用于电量模块的modbus地址重映射方法,其特征在于,包括以下步骤:
第一步、在电量模块内增加modbus地址重映射区,使得电量模块同时包含modbus数据区和modbus地址重映射区,在modbus地址重映射区的不同寄存器内存储有指向modbus数据区的不同寄存器的地址;
第二步、使用者根据当前电量模块的实际使用情况,利用主站设备将作为从站的当前电量模块中需要读取的位于modbus数据区的N个寄存器的不连续地址分别存储在modbus地址重映射区的N个地址连续的寄存器内;
第三步、在使用者通过主站设备与当前电量模块进行modbus通信的过程中,对第二步中modbus地址重映射区的N个地址连续的寄存器的访问被重映射至对第二步中modbus数据区的N个地址不连续的寄存器的访问,从而获得modbus数据区的N个地址不连续的寄存器内存储的数据。
优选地,所述modbus数据区和所述modbus地址重映射区均通过modbus地址进行访问。
优选地,所述modbus地址重映射区具有2种工作模式,分别为地址模式和数据模式;当所述modbus地址重映射区工作于地址模式时,在所述modbus地址重映射区的寄存器内写入指向所述modbus数据区的相应寄存器的地址;当所述modbus地址重映射区工作于数据模式时,对所述modbus地址重映射区的寄存器的访问被重映射至对modbus地址重映射区的寄存器内存储的地址所指向的所述modbus数据区的相应寄存器的访问。
优选地,所述modbus地址重映射区通过位于所述modbus数据区的数据标记在2种工作模式间切换。
相比于公开号为CN101021819A,名称为《同步动态存储器的访问控制方法及同步动态存储控制器》的发明专利而言,本发明由于与其分属不同的技术领域,因此提供了一种与其完全不同的用于modbus通信的地址重映射方法。在公开号为CN101021819A的专利中,由于其所使用的地址重映射技术位于设备低层,因此,使用者完全无法介入;而在本发明中,由于其用于modbus通信中,因此,使用者可以根据需要进行配置,其与公开号为CN101021819A的专利所使用的地址重映射技术是完全不同的两种方法。本发明提供具有如下优点:
使用者可以根据需要,方便地将不同的数据映射到重映射区内,使得用户可以通过访问连续的modbus地址重映射区,实现对电量模块多个编址不连续数据寄存器的访问,极大地提高了通信效率。
附图说明
图1为现有modbus通信原理示意图;
图2为本发明实现原理示意图。
具体实施方式
为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。
本发明提供了一种用于电量模块的modbus地址重映射方法,其步骤为:
第一步、在电量模块内增加modbus地址重映射区,使得电量模块同时包含modbus数据区和modbus地址重映射区,在modbus地址重映射区的不同寄存器内存储有指向modbus数据区的不同寄存器的地址,modbus数据区和所述modbus地址重映射区均通过modbus地址进行访问;
modbus地址重映射区通过位于modbus数据区的数据标记在2种工作模式间切换,上述2种工作模式分别为地址模式和数据模式;当所述modbus地址重映射区工作于地址模式时,在所述modbus地址重映射区的寄存器内写入指向所述modbus数据区的相应寄存器的地址;当所述modbus地址重映射区工作于数据模式时,对所述modbus地址重映射区的寄存器的访问被重映射至对modbus地址重映射区的寄存器内存储的地址所指向的所述modbus数据区的相应寄存器的访问;
第二步、使用者根据当前电量模块的实际使用情况,利用主站设备将作为从站的当前电量模块中将需要读取的位于modbus数据区的N个寄存器的不连续地址分别存储在modbus地址重映射区的N个地址连续的寄存器内;
第三步、在使用者通过主站设备与当前电量模块进行modbus通信的过程中,对第二步中modbus地址重映射区的N个地址连续的寄存器的访问被重映射至对第二步中modbus数据区的N个地址不连续的寄存器的访问,从而获得modbus数据区的N个地址不连续的寄存器内存储的数据。图2以一个示例展示了modbus地址重映射原理和过程。所述电量模块的整个modbus通信区域被划分为2个部分:modbus数据区和modbus地址重映射区。在modbus数据区有3个不连续的寄存器,地址分别为addrx、addry、addrz,对应存放的数据分别为data1、data2、data3。Modbus地址重映射区工作模式切换数据标记在modbus数据区中,地址为addrk。
通过以下重映射配置步骤实现将modbus数据区addrx、addry、addrz寄存器映射到modbus地址重映射区的addrn、addrn+1、addrn+2。
第一步,通过modbus命令设置addrk,使得modbus地址重映射区工作于地址模式。
第二步,通过modbus写命令,将地址addrx、addry、addrz写入Modbus地址重映射区addrn、addrn+1、addrn+2地址对应的寄存器。
第三步,通过modbus命令设置addrk,使得modbus地址重映射区工作于数据模式。
通过以上三个配置步骤,实现了modbus地址重映射。配置完成后,对modbus地址重映射区的访问会被重映射到对modbus数据区的访问。
此时,通过modbus访问命令访问addrn寄存器时,相当于访问addrx寄存器;通过modbus访问命令访问addrn+1寄存器时,相当于访问addry寄存器;通过modbus访问命令访问addrn+2寄存器时,相当于访问addrz寄存器。使用一条modbus访问命令帧对addrn、addrn+1、addrn+2寄存器操作,相当于对分散的三个寄存器addrx、addry、addrz进行操作。原先需要使用3个通信帧才能完成访问操作,通过1个通信帧便可实现。
本发明提供的方法可实现对电量模块多个编址不连续数据寄存器的访问,相对于现有做法,可极大地提高通信效率。实测数据如下:
采用19200bps,8,N,1访问电表中3段不连续数据区,每个数据区长度50个字节。普通电表与采用本专利进行地址重映射后的电表访问时间如下表所示:
普通电表访问耗时 | 187ms |
采用本专利进行地址重映射后访问耗时 | 92ms |
Claims (4)
1.一种用于电量模块的modbus地址重映射方法,其特征在于,包括以下步骤:
第一步、在电量模块内增加modbus地址重映射区,使得电量模块同时包含modbus数据区和modbus地址重映射区,在modbus地址重映射区的不同寄存器内存储有指向modbus数据区的不同寄存器的地址;
第二步、使用者根据当前电量模块的实际使用情况,利用主站设备将作为从站的当前电量模块中将需要读取的位于modbus数据区的N个寄存器的不连续地址分别存储在modbus地址重映射区的N个地址连续的寄存器内;
第三步、在使用者通过主站设备与当前电量模块进行modbus通信的过程中,对第二步中modbus地址重映射区的N个地址连续的寄存器的访问被重映射至对第二步中modbus数据区的N个地址不连续的寄存器的访问,从而获得modbus数据区的N个地址不连续的寄存器内存储的数据。
2.如权利要求1所述的一种用于电量模块的modbus地址重映射方法,其特征在于,所述modbus数据区和所述modbus地址重映射区均通过modbus地址进行访问。
3.如权利要求1所述的一种用于电量模块的modbus地址重映射方法,其特征在于,所述modbus地址重映射区具有2种工作模式,分别为地址模式和数据模式;当所述modbus地址重映射区工作于地址模式时,在所述modbus地址重映射区的寄存器内写入指向所述modbus数据区的相应寄存器的地址;当所述modbus地址重映射区工作于数据模式时,对所述modbus地址重映射区的寄存器的访问被重映射至对modbus地址重映射区的寄存器内存储的地址所指向的所述modbus数据区的相应寄存器的访问。
4.如权利要求3所述的一种用于电量模块的modbus地址重映射方法,其特征在于,所述modbus地址重映射区通过位于所述modbus数据区的数据标记在2种工作模式间切换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410720241.3A CN104407983B (zh) | 2014-12-02 | 2014-12-02 | 一种用于电量模块的modbus地址重映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410720241.3A CN104407983B (zh) | 2014-12-02 | 2014-12-02 | 一种用于电量模块的modbus地址重映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104407983A true CN104407983A (zh) | 2015-03-11 |
CN104407983B CN104407983B (zh) | 2017-05-17 |
Family
ID=52645616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410720241.3A Active CN104407983B (zh) | 2014-12-02 | 2014-12-02 | 一种用于电量模块的modbus地址重映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407983B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104993913A (zh) * | 2015-07-20 | 2015-10-21 | 曾永泉 | 一种在不稳定通信链路环境下的可靠通信方法 |
CN105278918A (zh) * | 2015-10-15 | 2016-01-27 | 珠海格力电器股份有限公司 | 寄存器的读取方法和采用该读取方法的寄存器 |
CN111478837A (zh) * | 2020-04-02 | 2020-07-31 | 广东美的暖通设备有限公司 | 数据通信方法、空调器、空调系统和存储介质 |
CN111884915A (zh) * | 2020-07-17 | 2020-11-03 | 杭州电子科技大学 | 一种提高网关采集modbus设备效率的方法 |
CN112073280A (zh) * | 2020-09-07 | 2020-12-11 | 合肥阳光新能源科技有限公司 | 基于Modbus协议的通信方法、装置及通信设备 |
CN112291101A (zh) * | 2020-11-06 | 2021-01-29 | 珠海格力电器股份有限公司 | 通讯节点、上位机对下位机的通信分帧优化方法 |
CN114567672A (zh) * | 2022-03-09 | 2022-05-31 | 深圳市东力科创技术有限公司 | 通讯转换装置、方法及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021819A (zh) * | 2007-03-14 | 2007-08-22 | 北京中星微电子有限公司 | 同步动态存储器的访问控制方法及同步动态存储器控制器 |
CN101977167A (zh) * | 2010-10-25 | 2011-02-16 | 深圳市兆讯达科技实业有限公司 | 无线传感器网络接入Modbus总线的网关通信协议转换方法 |
US20130159447A1 (en) * | 2011-12-14 | 2013-06-20 | Moxa Inc. | System, gateway, and method for automatic setting configuration by learning commands |
CN103595625A (zh) * | 2013-11-27 | 2014-02-19 | 上海电器科学研究院 | 一种通信网关的实现方法 |
CN103792928A (zh) * | 2014-02-24 | 2014-05-14 | 东南大学 | 一种基于Modbus的工业现场数据采集分析系统 |
CN104052631A (zh) * | 2014-05-22 | 2014-09-17 | 中兴通讯股份有限公司 | 一种设备信息的采集方法、装置以及系统 |
-
2014
- 2014-12-02 CN CN201410720241.3A patent/CN104407983B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021819A (zh) * | 2007-03-14 | 2007-08-22 | 北京中星微电子有限公司 | 同步动态存储器的访问控制方法及同步动态存储器控制器 |
CN101977167A (zh) * | 2010-10-25 | 2011-02-16 | 深圳市兆讯达科技实业有限公司 | 无线传感器网络接入Modbus总线的网关通信协议转换方法 |
US20130159447A1 (en) * | 2011-12-14 | 2013-06-20 | Moxa Inc. | System, gateway, and method for automatic setting configuration by learning commands |
CN103595625A (zh) * | 2013-11-27 | 2014-02-19 | 上海电器科学研究院 | 一种通信网关的实现方法 |
CN103792928A (zh) * | 2014-02-24 | 2014-05-14 | 东南大学 | 一种基于Modbus的工业现场数据采集分析系统 |
CN104052631A (zh) * | 2014-05-22 | 2014-09-17 | 中兴通讯股份有限公司 | 一种设备信息的采集方法、装置以及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104993913A (zh) * | 2015-07-20 | 2015-10-21 | 曾永泉 | 一种在不稳定通信链路环境下的可靠通信方法 |
CN105278918A (zh) * | 2015-10-15 | 2016-01-27 | 珠海格力电器股份有限公司 | 寄存器的读取方法和采用该读取方法的寄存器 |
CN105278918B (zh) * | 2015-10-15 | 2017-12-08 | 珠海格力电器股份有限公司 | 寄存器的读取方法和采用该读取方法的寄存器 |
CN111478837A (zh) * | 2020-04-02 | 2020-07-31 | 广东美的暖通设备有限公司 | 数据通信方法、空调器、空调系统和存储介质 |
CN111884915A (zh) * | 2020-07-17 | 2020-11-03 | 杭州电子科技大学 | 一种提高网关采集modbus设备效率的方法 |
CN112073280A (zh) * | 2020-09-07 | 2020-12-11 | 合肥阳光新能源科技有限公司 | 基于Modbus协议的通信方法、装置及通信设备 |
CN112291101A (zh) * | 2020-11-06 | 2021-01-29 | 珠海格力电器股份有限公司 | 通讯节点、上位机对下位机的通信分帧优化方法 |
CN114567672A (zh) * | 2022-03-09 | 2022-05-31 | 深圳市东力科创技术有限公司 | 通讯转换装置、方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104407983B (zh) | 2017-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104407983A (zh) | 一种用于电量模块的modbus地址重映射方法 | |
CN106445843B (zh) | 使物理页面地址相关用于软判决解码 | |
CN104978361B (zh) | 动力环境实时监控数据存储方法及装置 | |
CN102004698B (zh) | 一种闪存管理方法及系统 | |
CN104571938A (zh) | 在多层单元存储器存取数据的方法及其多层单元存储装置 | |
CN105702300A (zh) | 一种基于FPGA的NAND Flash容错系统 | |
CN105280215A (zh) | 动态随机存取存储器dram的刷新方法、设备以及系统 | |
CN103164343B (zh) | 基于相变存储器的分页、ecc校验及多位预取方法及其结构 | |
CN102819496A (zh) | 闪存ftl的地址转换方法 | |
CN103064792A (zh) | 数据写入方法及装置 | |
CN102609358B (zh) | 聚集静态数据的方法及其固态硬盘 | |
CN101419844A (zh) | 一种闪存器件仿真设备以及闪存主控模块评测方法 | |
CN104635797A (zh) | 一种服务器主板温度的区域检测控制方法 | |
CN102306128B (zh) | 磁盘管理方法、装置及网络设备 | |
CN104166627B (zh) | 一种基于单片机的nand‑flash写操作方法 | |
CN103019624B (zh) | 一种相变内存装置 | |
CN204390023U (zh) | 一种工业控制系统 | |
CN102521172B (zh) | 硬件地址分配方法、背板及系统 | |
CN103439554B (zh) | 一种数据回读和存储装置及其系统 | |
CN110620674A (zh) | 一种监控系统的配置方法及计算机设备 | |
CN101867488A (zh) | 一种单板在位信息监测和记录装置和方法 | |
CN100449498C (zh) | 数据储存装置 | |
CN105138467A (zh) | 数据存取装置、方法及磁共振设备 | |
CN104484753A (zh) | 一种服务器资产信息追溯方法 | |
CN204697071U (zh) | 一种侧信道分析评估基准板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |