CN112073280B - 基于Modbus协议的通信方法、装置及通信设备 - Google Patents

基于Modbus协议的通信方法、装置及通信设备 Download PDF

Info

Publication number
CN112073280B
CN112073280B CN202010927545.2A CN202010927545A CN112073280B CN 112073280 B CN112073280 B CN 112073280B CN 202010927545 A CN202010927545 A CN 202010927545A CN 112073280 B CN112073280 B CN 112073280B
Authority
CN
China
Prior art keywords
addresses
instruction
address
invalid
communication
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.)
Active
Application number
CN202010927545.2A
Other languages
English (en)
Other versions
CN112073280A (zh
Inventor
崔炎坤
陈伟
周辉
邹绍琨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sungrow Renewables Development Co Ltd
Original Assignee
Sungrow Renewables Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sungrow Renewables Development Co Ltd filed Critical Sungrow Renewables Development Co Ltd
Priority to CN202010927545.2A priority Critical patent/CN112073280B/zh
Publication of CN112073280A publication Critical patent/CN112073280A/zh
Application granted granted Critical
Publication of CN112073280B publication Critical patent/CN112073280B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请提供了一种基于Modbus协议的通信方法、装置及通信设备,其中,主设备在生成通信指令时,在不连续的有效地址间添加无效地址得到,使至少两组地址不连续的有效地址形成一个地址连续的目标地址块,并针对每个目标地址块生成一条通信指令,针对相同的寄存器地址使用该方案减少了生成通信指令的条数,因此,节省了多条通信指令之间的固定延时,缩短了向从设备下发通信指令所耗费的时间,因此,相当于提高了从设备向主设备返回响应数据的速度,即指令响应速度。

Description

基于Modbus协议的通信方法、装置及通信设备
技术领域
本发明属于Modbus通信技术领域,尤其涉及一种基于Modbus协议的通信方法、装置及通信设备。
背景技术
Modbus协议是应用于电子控制器上的一种通用语言,该协议支持传统的 RS232、RS422、RS485以及以太网设备。许多工业设备,包括PLC、智能仪表等都使用Modbus协议作为通讯标准,利用Modbus协议不同厂商生产的控制设备可以连成工业网络,进行集中监控。
相关技术中,生成Modbus指令时,通常是将连续的寄存器地址对应的数据采集需求信息生成一条指令,但是,实际应用时,通常间隔几个寄存器地址后仍有连续的地址,这种情况会生成多条指令。每增加一条指令,就会增加至少几百毫秒的固定延时,因此,此种方案会增加数据响应时间,即降低了数据响应速度。
发明内容
有鉴于此,本发明的目的在于提供一种基于Modbus协议的通信方法、装置及通信设备,以解决相关技术中基于Modbus协议通信时的指令响应速度低的技术问题,其公开的技术方案如下:
第一方面,本申请提供了一种基于Modbus协议的通信方法,应用于主设备中,所述方法包括:
根据所述主设备对应的Modbus编码配置信息和指令传输信息,计算得到指令发送时间间隔所对应的无效地址限值,其中,所述发送时间间隔是指依次发送两条指令之间的时间间隔;
按照所述Modbus编码配置信息中的寄存器地址由小到大的顺序,依次在两个相邻但地址不连续的有效地址之间添加无效地址,得到至少一个地址连续的目标地址块;其中,每个所述目标地址块中包含的无效地址数量小于所述无效地址限值;
针对每个目标地址块生成一条通信指令,并将所述通信指令发送至从设备。
可选地,所述按照所述Modbus编码配置信息中的寄存器地址由小到大的顺序,依次在两个相邻但地址不连续的有效地址之间添加无效地址,得到至少一个地址连续的目标地址块,包括:
对于所述Modbus编码配置信息中的寄存器地址,依次在任意两个相邻但地址不连续的有效地址之间添加无效地址,形成地址连续的地址块;
按照地址由小到大的顺序,依次判断所述地址块中的当前组有效地址与相邻的下一组有效地址之间的无效地址是否大于或等于所述无效地址限值,且所述两组有效地址及之间的无效地址的地址总数是否小于所述地址数量最大值,其中,每组有效地址包括至少一个有效且连续的寄存器地址;
若所述无效地址的数量大于或等于所述无效地址限值或所述地址总数大于地址数量最大值,则确定所述当前组有效地址为一个目标地址块,并将所述下一组有效地址更新为新的当前组有效地址继续判断,其中,所述地址数量最大值根据所述Modbus编码配置信息确定;
若所述无效地址的数量小于所述无效地址限值且所述地址总数小于或等于所述地址数量最大值,则将所述当前组有效地址与相邻的下一组有效地址块以及两组有效地址之间的无效地址,合并更新为当前组有效地址继续判断,直到判断至所述地址块中的最后一组有效地址,得到所述地址块对应的所有目标地址块。
可选地,所述根据所述主设备对应的Modbus编码配置信息和指令传输信息,计算得到两条指令间的延时时间所对应的无效地址限值,包括:
根据所述Modbus编码配置信息中的字节数和所述指令传输信息中的波特率计算得到传输指令数据所需的时间,并计算传输所述指令数据所需的时间以及所述指令传输信息中的指令间延时的总和得到指令发送时间间隔;
根据所述指令发送时间间隔、所述波特率及一条指令中除指令数据外其它字段的长度计算得到所述无效地址限值。
可选地,在所述针对每个目标地址生成一条通信指令之后,所述方法还包括:
判断所述通信指令是否为周期性指令;
若所述通信指令是周期性指令,则将所述通信指令存入轮询缓冲区;
若所述通信指令不是周期性指令,则将所述通信指令存入快速响应缓冲区,且所述快速响应缓冲区中的指令的优先级高于所述轮询缓冲区中的指令。
可选地,所述将所述通信指令发送至从设备,包括:
判断所述快速响应缓冲区中是否存在待发送的指令;
若所述快速响应缓冲区中存在待发送的指令,则从所述快速响应缓冲区中读取待发送的指令并发送;
若所述快速响应缓冲区中没有指令,则从所述轮询缓冲区中读取指令并发送。
可选地,所述方法还包括:
当接收到所述从设备响应所述通信指令返回的响应数据时,按照所述通信指令对应的目标地址块确定目标解析规则;其中,所述目标解析规则包括所述目标地址块包含的各地址的编码方式;
根据所述目标解析规则解析所述响应数据得到目标数据。
可选地,所述根据所述目标解析规则解析所述响应数据得到目标数据,包括:
从所述目标解析规则中获取当前待解析地址对应的解析规则;
当所述解析规则是有效的数据编码方式时,根据所述数据编码方式解析所述响应数据中与当前待解析地址对应的数据;
当所述解析规则是无效的数据编码方式时,直接丢弃所述响应数据中与所述当前待解析地址对应的数据。
第二方面,本申请还提供了一种基于Modbus协议的通信装置,应用于主设备中,所述装置包括:
无效地址限值确定模块,用于根据所述主设备对应的Modbus编码配置信息和指令传输信息,计算得到指令发送时间间隔所对应的无效地址限值,其中,所述发送时间间隔是指依次发送两条指令之间的时间间隔;
地址块划分模块,用于按照所述Modbus编码配置信息中的寄存器地址由小到大的顺序,依次在两个相邻但地址不连续的有效地址之间添加无效地址,得到至少一个地址连续的目标地址块;其中,每个所述目标地址块中包含的无效地址数量小于所述无效地址限值;
指令生成模块,用于针对每个目标地址块生成一条通信指令;
指令发送模块,用于将所述通信指令发送至从设备。
可选地,所述地址块划分模块,包括:
无效地址添加子模块,用于对于所述Modbus编码配置信息中的寄存器地址,依次在任意两个相邻但地址不连续的有效地址之间添加无效地址,形成地址连续的地址块;
地址合并判断子模块,用于按照地址由小到大的顺序,依次判断所述地址块中的当前组有效地址与相邻的下一组有效地址之间的无效地址是否大于或等于所述无效地址限值,且所述两组有效地址及之间的无效地址的地址总数是否小于所述地址数量最大值,其中,每组有效地址包括至少一个有效且连续的寄存器地址;
第一确定子模块,用于当所述无效地址的数量大于或等于所述无效地址限值或所述地址总数大于地址数量最大值时,确定所述当前组有效地址为一个目标地址块,并将所述下一组有效地址更新为新的当前组有效地址继续判断,其中,所述地址数量最大值根据所述Modbus编码配置信息确定;
第二确定子模块,用于当所述无效地址的数量小于所述无效地址限值且所述地址总数小于或等于所述地址数量最大值时,将所述当前组有效地址与相邻的下一组有效地址块以及两组有效地址之间的无效地址,合并更新为当前组有效地址继续判断,直到判断至所述地址块中的最后一组有效地址,得到所述地址块对应的所有目标地址块。
可选地,所述无效地址限值确定模块,包括:
指令发送时间间隔获取子模块,用于根据所述Modbus编码配置信息中的字节数和所述指令传输信息中的波特率计算得到传输指令数据所需的时间,并计算传输所述指令数据所需的时间以及所述指令传输信息中的指令间延时的总和得到指令发送时间间隔;
无效地址限值确定子模块,用于根据所述指令发送时间间隔、所述波特率及一条指令中除指令数据外其它字段的长度计算得到所述无效地址限值。
可选地,所述装置还包括:
第一判断模块,用于判断所述通信指令是否为周期性指令;
第一缓存单元,用于当所述通信指令是周期性指令时,将所述通信指令存入轮询缓冲区;
第二缓存单元,用于当所述通信指令不是周期性指令时,将所述通信指令存入快速响应缓冲区,且所述快速响应缓冲区中的指令的优先级高于所述轮询缓冲区中的指令。
可选地,所述指令发送模块包括:
第二判断子模块,用于判断所述快速响应缓冲区中是否存在待发送的指令;
第一读取子模块,用于当所述快速响应缓冲区中存在待发送的指令时,从所述快速响应缓冲区中读取待发送的指令并发送;
第二读取子模块,用于当所述快速响应缓冲区中没有指令时,从所述轮询缓冲区中读取指令并发送。
可选地,所述装置还包括:
响应数据解析规则确定模块,用于当接收到所述从设备响应所述通信指令返回的响应数据时,按照所述通信指令对应的目标地址块确定目标解析规则;其中,所述目标解析规则包括所述目标地址块包含的各地址的编码方式;
响应数据解析模块,用于根据所述目标解析规则解析所述响应数据得到目标数据。
可选地,所述响应数据解析模块包括:
解析规则获取子模块,用于从所述目标解析规则中获取当前待解析地址对应的解析规则;
解析子模块,用于当所述解析规则是有效的数据编码方式时,根据所述数据编码方式解析所述响应数据中与当前待解析地址对应的数据;
无效数据丢弃子模块,用于当所述解析规则是无效的数据编码方式时,直接丢弃所述响应数据中与所述当前待解析地址对应的数据。
第三方面,本申请还提供了一种基于Modbus协议的通信设备,包括:存储器和处理器;
所述存储器内存储有程序指令;
所述处理器用于调用所述存储器内存储的程序指令执行第一方面任一项所述的基于Modbus协议的通信方法。本申请提供的基于Modbus协议的通信方法,首先根据主设备的Modbus编码配置信息及指令传输信息计算无效地址限值。然后,按照Modbus编码配置信息中寄存器地址由小到大的顺序,在任意两个相邻但地址不连续的有效地址之间添加无效地址得到至少一个地址连续的目标地址块,其中目标地址块中包含的无效地址数量小于无效地址限值。针对每个目标地址块生成一条通信指令并发送至从设备。由上述过程可知,本方案在不连续的有效地址间添加无效地址,使得至少两组不连续的有效地址形成一个地址连续的目标地址块,并针对每个目标地址块生成一条通信指令,针对相同的寄存器地址使用该方案减少了生成通信指令的条数,因此,节省了多条通信指令之间的固定延时,缩短了向从设备下发通信指令所耗费的时间,因此,相当于提高了从设备向主设备返回响应数据的速度,即指令响应速度。此外,当主设备接收到从设备响应该通信指令返回的目标数据后,按照该通信指令对应的目标地址确定目标解析规则,再根据目标解析规则解析接收到的目标数据,最终确保主设备能够正确解析从设备返回的响应数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的一种基于Modbus协议的通信方法流程图;
图1b是本申请实施例提供的另一种基于Modbus协议的通信方法流程图;
图2是本申请实施例提供的一种确定目标地址块过程的流程图;
图3是本申请实施例提供的另一种基于Modbus协议的通信方法流程图;
图4是本申请实施例提供的一种基于Modbus协议的通信装置的结构示意图;
图5是本申请实施例提供的一种地址块划分模块的结构示意图;
图6是本申请实施例提供的另一种基于Modbus协议的通信装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,示出了本申请实施例提供的一种基于Modbus协议的通信方法流程图,该方法应用于Modbus主设备中。
Modbus串行链路协议是一个主从协议,在同一时刻,串行总线上连接的多个设备中只有一个设备作为主机,其它设备均作为从机。Modbus通信由主机发起。
如图1所示,该方法包括以下步骤:
S110,获取主设备对应的Modbus编码配置信息以及指令传输信息。
指令传输信息包括指令间延时和波特率。
Modbus编码配置信息可以包括但不限于设备ID(ID∈[1,255]),功能码(code∈[1,255]),设备寄存器地址(addr∈[0,39321]),数据长度(len∈[1,255]),数据编码(即测点号)、数据类型。
其中,测点表示某个测量参数,测点号表示该测量参数对应的数据编码号。功能码是指该设备能实现的功能对应的编号。数据长度是指寄存器地址对应的存储空间内存储的数据的字节长度。
如表1所示为本申请实施例提供的一个设备的Modbus编码配置信息表,
表1
序号 设备ID 功能码 寄存器地址 数据长度 数据编码 数据类型
1 1 0x03 0 1 1001 int
2 1 0x03 1 1 1002 int
3 1 0x03 2 1 1003 int
4 1 0x03 3 1 1004 int
5 1 0x03 5 1 1005 int
6 1 0x03 7 1 1006 int
7 1 0x03 11 1 1007 int
指令间延时t延时是指一条指令去除数据传输所需时间之外的延时时间,该延时时间通常是固定的时长,如几百毫秒。
波特率是码元传输速率单位,表示单位时间传输的码元。
S120,根据Modbus编码配置信息和指令传输信息,计算得到指令发送时间间隔所对应的无效地址限值。
此处的指令发送时间间隔即依次发送两条指令之间的时间间隔。这个时间近似等于一条指令所传输的字节所需的时间与两条指令之间的固定延时t延时之和,具体计算公式如公式1所示:
t耗时=len×L/b+t延时 (式1)
其中,len即一条指令所传输的字节数,L是每个字节的bit长度,b为波特率。
本申请通过在不连续的寄存器地址之间添加无效地址以使寄存器地址连续,从而可以将两条或更多条指令合并为一条指令发送。如果增加的无效地址超过分多条指令传输的耗时,则合并为一条指令虽然能够使指令条数最小,但此时通信时间反而比分多条指令更长,因此,需要确定出添加无效地址的最大值,即无效地址限值。
无效地址限值与公式1计算得到的指令发送时间间隔t耗时有关,其中,无效地址限值与t耗时之间的关系如公式2所示:
Figure BDA0002668954290000091
由于每一条指令都包含有固定长度字段,如帧头和帧尾,传输帧头和帧尾也需要一定的时间,因此,无效地址限值在N的基础上增加x个寄存器地址,其中,x=k/2,k为Modbus指令的帧头和帧尾的长度。
综上,无效地址限值即N+x,无效地址限值的含义是如果两个地址之间的间隔超过此值,则可以作为两条指令。因为新增无效地址的数量大于N+x 时,表示此时读取新增的无效地址对应的指令的时间大于增加一条指令的读取时间。如果两个地址之间的间隔小于N+x则可以在两个地址之间添加无效地址形成一个地址连续的地址块,针对地址连续的地址块只生成一条指令即可。
S130,按照Modbus编码配置信息中的寄存器地址由小到大的顺序,依次在任意两个相邻但地址不连续的有效地址之间添加无效地址,得到至少一个地址连续的目标地址块。
其中,每个目标地址块中包含的无效地址数量小于无效地址限值,且目标地址块中的地址总数低于地址数量最大值,得到满足这两条约束条件且地址数量尽量多的目标地址块。
无效地址是指该寄存器地址对应的编码方式无效。地址数量最大值根据 Modbus编码配置信息得到。
在本申请的一个实施例中,如图2所示,S130包括以下步骤:
S131,对于Modbus编码配置信息中的寄存器地址,依次在任意两个相邻但地址不连续的有效地址之间添加无效地址形成地址连续的地址块。
例如,表1中第4行配置信息对应的寄存器地址是“3”,数据长度是1 个字节,第5行配置信息对应的寄存器地址是“5”,可见,这两行的寄存器地址不连续,因此,需要在两个地址之间添加无效地址“4”,该无效地址对应的数据编码是“0”,字节长度是1。
又如,表1中第6行与第7行对应的寄存器地址相差4,因此,需要在寄存器地址7和11之间添加无效地址8,且字节长度是3。
表1中的数据添加无效地址后得到配置信息表如表2所示:
表2
序号 设备ID 功能码 寄存器地址 数据长度 数据编码 数据类型
1 1 0x03 0 1 1001 int
2 1 0x03 1 1 1002 int
3 1 0x03 2 1 1003 int
4 1 0x03 3 1 1004 int
5 1 0x03 4 1 0 0
6 1 0x03 5 1 1005 int
7 1 0x03 6 1 0 0
8 1 0x03 7 1 1006 int
9 1 0x03 8 3 0 0
10 1 0x03 11 1 1007 int
如表2所示,添加无效地址后形成地址连续的地址块。
S132,按照地址由小到大的顺序,依次判断地址块中的当前组有效地址与相邻的下一组有效地址中的无效地址是否大于或等于无效地址限值,且两组有效地址及之间的无效地址的地址总数是否小于地址数量最大值。
其中,每组有效地址包括至少一个有效且连续的寄存器地址。
S133,若无效地址的数量大于或等于无效地址限值或地址总数大于地址数量最大值,则确定当前组有效地址为一个目标地址块,并执行S135。
S134,若无效地址的数量小于无效地址限值且地址总数小于或等于地址数量最大值,则将当前组有效地址与相邻的下一组有效地址块以及两组有效地址之间的无效地址,合并更新为当前组有效地址继续执行S135。
例如,表2中有效地址0~3为当前组有效地址,有效地址5~7为下一组有效地址,这两组有效地址之间添加的无效地址的数量是1个,1显然小于 N+x(假设N+x=20),因此,两组有效地址及该两组有效地址之间的无效地址合并更新为当前组有效地址,继续判断表2中地址0~7这个地址块与下一个有效地址11添加的无效地址总数量是4<N+x。而且,表2中寄存器地址总数小于地址数量最大值(地址数量最大值125)因此,表2中的所有寄存器地址对应的测点可以通过一条指令读取。
S135,判断是否存在未判断的有效地址,如果存在,将下一组有效地址更新为新的当前组有效地址继续返回执行S132,如果否,则执行S136。
S136,得到该地址块中的所有目标地址块。
反复执行S131~S134,直到判断至地址块中的最后一组有效地址,得到地址块中所有目标地址块。
S140,针对每个目标地址块生成一条通信指令,并将通信指令发送至从设备。
按照相关技术中Modbus通信方式,例如,表1所示的寄存器地址分布需要生成4条数据采集指令,而利用本申请的方案,先将表1转换为表2所示的寄存器分布后,表2中的所有寄存器地址只需生成一条通信指令。由此可见,本申请提供的方案大大降低了指令的数量,从而节省了指令间的固定延时,即缩短了指令发送至设备所需的时间,因此,提高了指令响应速度。
在本申请的另一个实施例中,当主设备接收到从设备响应通信指令返回的响应数据后,主设备还需要根据与通信指令相应的解析规则解析数据,本实施例中,如图1b所示,在图1a所示的S140之后,还可以包括以下步骤:
S150,当接收到从设备响应通信指令返回的响应数据时,按照通信指令对应的目标地址块确定目标解析规则。
从设备接收到主设备发送的通信指令后,响应该指令返回相应的数据,例如,主设备发送的是数据采集指令,则从设备接收到该数据采集指令将对应的数据(即,响应数据)返回给主设备。
主设备接收到从设备返回的响应数据后,按照下发的通信指令确定对应的解析规则。
其中,目标地址块对应的解析规则根据指令对应的目标地址块中的有效地址和无效地址生成。有效地址对应的解析规则即该有效地址对应的数据编码方式,例如,表1和表2中的数据编码。无效地址对应无效的虚拟编码,虚拟编码对应的解析规则是直接跳过。
此外,解析规则可以在根据目标地址块生成通信指令时得到。
S160,根据目标解析规则解析响应数据得到目标数据。
其中,对于响应数据的解析过程如下:
从目标解析规则中获取当前待解析地址对应的解析规则;
当解析规则是有效的数据编码方式时,根据数据编码方式解析响应数据中与当前待解析地址对应的数据;
当解析规则是无效的数据编码方式时,直接丢弃响应数据中与当前待解析地址对应的数据。即,对于有效地址按照该有效地址对应的数据编码方式进行编码,对于无效地址直接跳过,继续解析下一个有效地址。
本实施例提供的基于Modbus协议的通信方法,主设备在生成通信指令时,在不连续的有效地址间添加无效地址得到,使至少两组地址不连续的有效地址形成一个地址连续的目标地址块,并针对每个目标地址块生成一条通信指令,针对相同的寄存器地址使用该方案减少了生成通信指令的条数,因此,节省了多条通信指令之间的固定延时,缩短了向从设备下发通信指令所耗费的时间,因此,相当于提高了从设备向主设备返回响应数据的速度,即指令响应速度。
Modbus通信总是由主机发起,从机在没有收到来自主机的请求时,从不会发送数据,从机之间不会互相通信,且主机在某一时刻只会发起一个Modbus 事务处理。在一个串口挂接多个设备,或者,周期轮询指令很多的应用场景下,主设备下发指令时,需要等前面的所有指令都下发完毕后才能继续发送,此时如果需要控制该串口下的某台设备,或者需要快速地读取某设备的数据,相关技术通常是将需要控制或快速采集的设备连接至另一个串口上,从而占用更多的串口资源。
本申请为了解决该技术问题,将指令发送缓冲区划分为两个,其中一个是轮询缓冲区,另一个是快速响应缓冲区。如图3所示,本实施例在图1a的 S140中生成通信指令后,执行S210~S260。
S210,判断通信指令是否为周期性指令。
主设备生成的通信指令先存入指令缓冲区中,发送指令时按缓冲区中存入指令的顺序读取指令并发送至从设备。本实施例中,主设备的指令缓冲区包括轮询缓冲区和快速响应缓冲区。
因此,主设备在生成通信指令后先判断该通信指令是周期性指令还是即时指令;如果是周期性指令,则执行S220;如果是即时指令则执行S230。
例如,周期性轮询指令即周期性指令,而控制某个设备或快速读取数据的指令均是即时指令。即时指令通常需要较高的响应速度,因此,将即时指令存入快速响应缓冲区中。
S220,将通信指令存入轮询缓冲区。
S230,将通信指令存入快速响应缓冲区。
其中,快速响应缓冲区中的指令的优先级高于轮询缓冲区中的指令。
本实施例中,S140中发送通信指令的过程可以包括S240~S260:
S240,判断快速响应缓冲区中是否存在待发送的指令;如果是,则执行 S250;如果否,则执行S260。
如果快速响应缓冲区中有待发送的指令则优先发送快速响应缓冲区的指令。如果快速响应缓冲区中没有待发送的指令则发送轮询缓冲区中的指令。
S250,从快速响应缓冲区中读取待发送的指令并发送。
S260,从轮询缓冲区中读取指令并发送。
本实施例提供的基于Modbus协议的通信方法,每个主设备内的缓冲区都包括快速响应缓冲区和轮询缓冲区,其中,快速响应缓冲区的优先级高于轮询缓冲区。在生成指令后将周期性的指令存入轮询缓冲区中,将即时指令存入快速响应缓冲区中。发送指令时,优先发送快速响应缓冲区中的即时指令。通过设置两个指令缓冲区且优先发送快速响应缓冲区中的指令,实现需要快速响应的指令能够及时发送出去,且不会增加占用的串口资源。
相应于上述的基于Modbus协议的通信方法实施例,本申请还提供了基于 Modbus协议的通信装置实施例。
请参见图4,示出了本申请实施例提供的一种基于Modbus协议的通信装置的结构示意图,该装置应用于主设备中,其中,在光伏系统中,该主设备可以是逆变器,从设备可以是系统的数据采集装置。
如图4所示,该装置包括以下模块:无效地址限值确定模块110、地址块划分模块120、指令生成模块130和指令发送模块140。
无效地址限值确定模块110,用于根据主设备对应的Modbus编码配置信息和指令传输信息,计算得到指令发送时间间隔所对应的无效地址限值,
其中,发送时间间隔是指依次发送两条指令之间的时间间隔。
在本申请的一个实施例中,无效地址限值确定模块110可以包括:
指令发送时间间隔获取子模块,用于根据Modbus编码配置信息中的字节数和指令传输信息中的波特率计算得到传输指令数据所需的时间,并计算传输指令数据所需的时间以及指令传输信息中的指令间延时的总和得到指令发送时间间隔。
无效地址限值确定子模块,用于根据指令发送时间间隔、波特率及一条指令中除指令数据外的其它字段的长度计算得到无效地址限值。
地址块划分模块120,用于按照Modbus编码配置信息中的寄存器地址由小到大的顺序,依次在两个相邻但地址不连续的有效地址之间添加无效地址,得到至少一个地址连续的目标地址块。
其中,每个目标地址块中包含的无效地址数量小于无效地址限值。
在本申请的一个实施例中,如图5所示,地址块划分模块120可以包括:
无效地址添加子模块121,用于对于Modbus编码配置信息中的寄存器地址,依次在任意两个相邻但地址不连续的有效地址之间添加无效地址形成地址连续的地址块;
地址合并判断子模块122,用于按照地址由小到大的顺序,依次判断地址块中的当前组有效地址与相邻的下一组有效地址之间的无效地址是否大于或等于无效地址限值,且两组有效地址及之间的无效地址的地址总数是否小于地址数量最大值。
其中,每组有效地址包括至少一个有效且连续的寄存器地址。
第一确定子模块123,用于当无效地址的数量大于或等于无效地址限值或地址总数大于地址数量最大值时,确定当前组有效地址为一个目标地址块,并将下一组有效地址更新为新的当前组有效地址继续判断。
其中,地址数量最大值根据Modbus编码配置信息确定。
第二确定子模块124,用于当无效地址的数量小于无效地址限值且地址总数小于或等于地址数量最大值时,将当前组有效地址与相邻的下一组有效地址块以及两组有效地址之间的无效地址,合并更新为当前组有效地址继续判断,直到判断至地址块中的最后一组有效地址,得到地址块对应的所有目标地址块。
指令生成模块130,用于针对每个目标地址块生成一条通信指令。
指令发送模块140,用于将通信指令发送至从设备。
在本申请的另一个实施例中,当主设备接收到从设备响应通信指令返回的响应数据后,主设备还需要根据与通信指令相应的解析规则解析数据,如图4所示,该装置还包括:响应数据解析规则确定模块140和响应数据解析模块150。
响应数据解析规则确定模块150,用于当接收到从设备响应通信指令返回的响应数据时,按照通信指令对应的目标地址块确定目标解析规则。
其中,目标解析规则中标记有目标地址块中所有地址对应的数据编码解析规则。
响应数据解析模块160,用于根据目标解析规则解析响应数据得到目标数据。
在本申请的一个实施例中,响应数据解析模块160可以包括:
解析规则获取子模块,用于从目标解析规则中获取当前待解析地址对应的解析规则;
解析子模块,用于当解析规则是有效的数据编码方式时,根据数据编码方式解析响应数据中与当前待解析地址对应的数据;
无效数据丢弃子模块,用于当解析规则是无效的数据编码方式时,直接丢弃响应数据中与当前待解析地址对应的数据。
本实施例提供的基于Modbus协议的通信装置,主设备在生成通信指令时,在不连续的有效地址间添加无效地址得到,使至少两组地址不连续的有效地址形成一个地址连续的目标地址块,并针对每个目标地址块生成一条通信指令,针对相同的寄存器地址使用该方案减少了生成通信指令的条数,因此,节省了多条通信指令之间的固定延时,缩短了向从设备下发通信指令所耗费的时间,因此,相当于提高了从设备向主设备返回响应数据的速度,即指令响应速度。
在本申请的另一个实施例中,如图6所示,上述实施例提供的基于Modbus 协议的通信装置还包括:
第一判断模块210,用于判断通信指令是否为周期性指令;
第一缓存模块220,用于当通信指令是周期性指令时,将通信指令存入轮询缓冲区;
第二缓存模块230,用于当通信指令不是周期性指令时,将通信指令存入快速响应缓冲区,且快速响应缓冲区中的指令的优先级高于轮询缓冲区中的指令。
在本申请的又一个实施例中,指令发送模块140可以包括:
第二判断子模块,用于判断快速响应缓冲区中是否存在待发送的指令。
第一读取子模块,用于当快速响应缓冲区中存在待发送的指令时,从快速响应缓冲区中读取待发送的指令并发送。
第二读取子模块,用于当快速响应缓冲区中没有指令时,从轮询缓冲区中读取指令并发送。
本实施例提供的基于Modbus协议的通信装置,每个主设备内的缓冲区都包括快速响应缓冲区和轮询缓冲区,其中,快速响应缓冲区的优先级高于轮询缓冲区。在生成指令后将周期性的指令存入轮询缓冲区中,将即时指令存入快速响应缓冲区中。发送指令时,优先发送快速响应缓冲区中的即时指令。通过设置两个指令缓冲区且优先发送快速响应缓冲区中的指令,实现需要快速响应的指令能够及时发送出去,且不会增加占用的串口资源。
上述实施例提供的基于Modbus协议的通信装置包括处理器和存储器,该装置所包含的上述功能模块均作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块来实现上述任一种基于Modbus协议的通信方法。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上。
本文中的处理器可以是终端的CPU,或者,是终端内集成的MCU,或者,还可以是CPU和MCU的结合。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请提供了一种基于Modbus协议的通信设备,该通信设备包括处理器和存储器,该存储器内存储有可在处理器上运行的程序。该处理器运行存储器内存储的该程序时实现上述任一种基于Modbus协议的通信方法。该通信设备可以是控制系统中的主控制器,或者,光伏系统中的逆变器等。
本申请还提供了一种计算设备可执行的存储介质,该存储介质中存储有程序,该程序由计算设备执行时实现上述的基于Modbus协议的通信方法。
处理器中包含内核,由内核取存储器中调取相应的程序,内核可以设置一个或以上。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
需要说明的是,本说明书中的各个实施例记载的技术特征可以相互替代或组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请各实施例中的装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种基于Modbus协议的通信方法,其特征在于,应用于主设备中,所述方法包括:
根据所述主设备对应的Modbus编码配置信息和指令传输信息,计算得到指令发送时间间隔所对应的无效地址限值,其中,所述发送时间间隔是指依次发送两条指令之间的时间间隔;所述无效地址限值为添加无效地址的最大值;新增无效地址的数量大于所述无效地址限值时,读取新增无效地址对应的指令的时间大于增加一条指令的读取时间;
按照所述Modbus编码配置信息中的寄存器地址由小到大的顺序,依次在两个相邻但地址不连续的有效地址之间添加无效地址,得到至少一个地址连续的目标地址块;其中,每个所述目标地址块中包含的无效地址数量小于所述无效地址限值;
针对每个目标地址块生成一条通信指令,并将所述通信指令发送至从设备。
2.根据权利要求1所述的方法,其特征在于,所述按照所述Modbus编码配置信息中的寄存器地址由小到大的顺序,依次在两个相邻但地址不连续的有效地址之间添加无效地址,得到至少一个地址连续的目标地址块,包括:
对于所述Modbus编码配置信息中的寄存器地址,依次在任意两个相邻但地址不连续的有效地址之间添加无效地址,形成地址连续的地址块;
按照地址由小到大的顺序,依次判断所述地址块中的当前组有效地址与相邻的下一组有效地址之间的无效地址是否大于或等于所述无效地址限值,且所述两组有效地址及之间的无效地址的地址总数是否小于地址数量最大值,其中,每组有效地址包括至少一个有效且连续的寄存器地址;
若所述无效地址的数量大于或等于所述无效地址限值或所述地址总数大于地址数量最大值,则确定所述当前组有效地址为一个目标地址块,并将所述下一组有效地址更新为新的当前组有效地址继续判断,其中,所述地址数量最大值根据所述Modbus编码配置信息确定;
若所述无效地址的数量小于所述无效地址限值且所述地址总数小于或等于所述地址数量最大值,则将所述当前组有效地址与相邻的下一组有效地址块以及两组有效地址之间的无效地址,合并更新为当前组有效地址继续判断,直到判断至所述地址块中的最后一组有效地址,得到所述地址块对应的所有目标地址块。
3.根据权利要求1所述的方法,其特征在于,所述根据所述主设备对应的Modbus编码配置信息和指令传输信息,计算得到指令发送时间间隔所对应的无效地址限值,包括:
根据所述Modbus编码配置信息中的字节数和所述指令传输信息中的波特率计算得到传输指令数据所需的时间,并计算传输所述指令数据所需的时间以及所述指令传输信息中的指令间延时的总和得到指令发送时间间隔;
根据所述指令发送时间间隔、所述波特率及一条指令中除指令数据外其它字段的长度计算得到所述无效地址限值。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述针对每个目标地址生成一条通信指令之后,所述方法还包括:
判断所述通信指令是否为周期性指令;
若所述通信指令是周期性指令,则将所述通信指令存入轮询缓冲区;
若所述通信指令不是周期性指令,则将所述通信指令存入快速响应缓冲区,且所述快速响应缓冲区中的指令的优先级高于所述轮询缓冲区中的指令。
5.根据权利要求4所述的方法,其特征在于,所述将所述通信指令发送至从设备,包括:
判断所述快速响应缓冲区中是否存在待发送的指令;
若所述快速响应缓冲区中存在待发送的指令,则从所述快速响应缓冲区中读取待发送的指令并发送;
若所述快速响应缓冲区中没有指令,则从所述轮询缓冲区中读取指令并发送。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
当接收到所述从设备响应所述通信指令返回的响应数据时,按照所述通信指令对应的目标地址块确定目标解析规则;其中,所述目标解析规则包括所述目标地址块包含的各地址的编码方式;
根据所述目标解析规则解析所述响应数据得到目标数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标解析规则解析所述响应数据得到目标数据,包括:
从所述目标解析规则中获取当前待解析地址对应的解析规则;
当所述解析规则是有效的数据编码方式时,根据所述数据编码方式解析所述响应数据中与当前待解析地址对应的数据;
当所述解析规则是无效的数据编码方式时,直接丢弃所述响应数据中与所述当前待解析地址对应的数据。
8.一种基于Modbus协议的通信装置,其特征在于,应用于主设备中,所述装置包括:
无效地址限值确定模块,用于根据所述主设备对应的Modbus编码配置信息和指令传输信息,计算得到指令发送时间间隔所对应的无效地址限值,其中,所述发送时间间隔是指依次发送两条指令之间的时间间隔;所述无效地址限值为添加无效地址的最大值;新增无效地址的数量大于所述无效地址限值时,读取新增无效地址对应的指令的时间大于增加一条指令的读取时间;
地址块划分模块,用于按照所述Modbus编码配置信息中的寄存器地址由小到大的顺序,依次在两个相邻但地址不连续的有效地址之间添加无效地址,得到至少一个地址连续的目标地址块;其中,每个所述目标地址块中包含的无效地址数量小于所述无效地址限值;
指令生成模块,用于针对每个目标地址块生成一条通信指令;
指令发送模块,用于将所述通信指令发送至从设备。
9.根据权利要求8所述的装置,其特征在于,所述地址块划分模块,包括:
无效地址添加子模块,用于对于所述Modbus编码配置信息中的寄存器地址,依次在任意两个相邻但地址不连续的有效地址之间添加无效地址,形成地址连续的地址块;
地址合并判断子模块,用于按照地址由小到大的顺序,依次判断所述地址块中的当前组有效地址与相邻的下一组有效地址之间的无效地址是否大于或等于所述无效地址限值,且所述两组有效地址及之间的无效地址的地址总数是否小于地址数量最大值,其中,每组有效地址包括至少一个有效且连续的寄存器地址;
第一确定子模块,用于当所述无效地址的数量大于或等于所述无效地址限值或所述地址总数大于地址数量最大值时,确定所述当前组有效地址为一个目标地址块,并将所述下一组有效地址更新为新的当前组有效地址继续判断,其中,所述地址数量最大值根据所述Modbus编码配置信息确定;
第二确定子模块,用于当所述无效地址的数量小于所述无效地址限值且所述地址总数小于或等于所述地址数量最大值时,将所述当前组有效地址与相邻的下一组有效地址块以及两组有效地址之间的无效地址,合并更新为当前组有效地址继续判断,直到判断至所述地址块中的最后一组有效地址,得到所述地址块对应的所有目标地址块。
10.根据权利要求8所述的装置,其特征在于,所述无效地址限值确定模块,包括:
指令发送时间间隔获取子模块,用于根据所述Modbus编码配置信息中的字节数和所述指令传输信息中的波特率计算得到传输指令数据所需的时间,并计算传输所述指令数据所需的时间以及所述指令传输信息中的指令间延时的总和得到指令发送时间间隔;
无效地址限值确定子模块,用于根据所述指令发送时间间隔、所述波特率及一条指令中除指令数据外其它字段的长度计算得到所述无效地址限值。
11.根据权利要求8-10任一项所述的装置,其特征在于,所述装置还包括:
第一判断模块,用于判断所述通信指令是否为周期性指令;
第一缓存单元,用于当所述通信指令是周期性指令时,将所述通信指令存入轮询缓冲区;
第二缓存单元,用于当所述通信指令不是周期性指令时,将所述通信指令存入快速响应缓冲区,且所述快速响应缓冲区中的指令的优先级高于所述轮询缓冲区中的指令。
12.根据权利要求11所述的装置,其特征在于,所述指令发送模块包括:
第二判断子模块,用于判断所述快速响应缓冲区中是否存在待发送的指令;
第一读取子模块,用于当所述快速响应缓冲区中存在待发送的指令时,从所述快速响应缓冲区中读取待发送的指令并发送;
第二读取子模块,用于当所述快速响应缓冲区中没有指令时,从所述轮询缓冲区中读取指令并发送。
13.根据权利要求8-10任一项所述的装置,其特征在于,所述装置还包括:
响应数据解析规则确定模块,用于当接收到所述从设备响应所述通信指令返回的响应数据时,按照所述通信指令对应的目标地址块确定目标解析规则;其中,所述目标解析规则包括所述目标地址块包含的各地址的编码方式;
响应数据解析模块,用于根据所述目标解析规则解析所述响应数据得到目标数据。
14.根据权利要求13所述的装置,其特征在于,所述响应数据解析模块包括:
解析规则获取子模块,用于从所述目标解析规则中获取当前待解析地址对应的解析规则;
解析子模块,用于当所述解析规则是有效的数据编码方式时,根据所述数据编码方式解析所述响应数据中与当前待解析地址对应的数据;
无效数据丢弃子模块,用于当所述解析规则是无效的数据编码方式时,直接丢弃所述响应数据中与所述当前待解析地址对应的数据。
15.一种基于Modbus协议的通信设备,其特征在于,包括:存储器和处理器;
所述存储器内存储有程序指令;
所述处理器用于调用所述存储器内存储的程序指令执行权利要求1-7任一项所述的基于Modbus协议的通信方法。
CN202010927545.2A 2020-09-07 2020-09-07 基于Modbus协议的通信方法、装置及通信设备 Active CN112073280B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010927545.2A CN112073280B (zh) 2020-09-07 2020-09-07 基于Modbus协议的通信方法、装置及通信设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010927545.2A CN112073280B (zh) 2020-09-07 2020-09-07 基于Modbus协议的通信方法、装置及通信设备

Publications (2)

Publication Number Publication Date
CN112073280A CN112073280A (zh) 2020-12-11
CN112073280B true CN112073280B (zh) 2022-04-08

Family

ID=73663176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010927545.2A Active CN112073280B (zh) 2020-09-07 2020-09-07 基于Modbus协议的通信方法、装置及通信设备

Country Status (1)

Country Link
CN (1) CN112073280B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910860B (zh) * 2021-01-19 2021-12-17 广州特瑞电气设备有限公司 一种基于Modbus通讯协议的数据合帧采集并聚合传输的方法及装置、智能网关
CN112910769B (zh) * 2021-01-19 2021-12-17 广州特瑞电气设备有限公司 一种多源异构的智能配电网关及其信息处理方法
CN113194038B (zh) * 2021-04-06 2022-10-21 重庆芯力源科技有限公司 一种智能边缘网关的数据转发方法
CN113300883B (zh) * 2021-05-17 2023-05-02 科华数据股份有限公司 协议信息生成方法、装置和终端设备
CN113949604A (zh) * 2021-10-19 2022-01-18 成都亿佰特电子科技有限公司 Modbus网关指令处理方法、装置以及网关设备
CN115643289B (zh) * 2022-10-17 2023-08-25 北京天融信网络安全技术有限公司 数据传输方法、装置、设备及介质
CN117452873B (zh) * 2023-12-26 2024-03-15 宁波和利时信息安全研究院有限公司 通信方法、装置、设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700747B2 (en) * 2011-04-19 2014-04-15 Schneider Electric It Corporation System and method for automatically addressing devices in a multi-drop network
CN105527881B (zh) * 2014-09-30 2019-02-22 上海安川电动机器有限公司 一种指令处理方法及装置
CN104407983B (zh) * 2014-12-02 2017-05-17 上海电器科学研究院 一种用于电量模块的modbus地址重映射方法
CN105278918B (zh) * 2015-10-15 2017-12-08 珠海格力电器股份有限公司 寄存器的读取方法和采用该读取方法的寄存器
CN109151087B (zh) * 2018-08-17 2021-07-23 北京昂瑞微电子技术股份有限公司 一种同步地址配置方法及装置
CN109450756A (zh) * 2018-10-18 2019-03-08 南京海桐环境科技有限公司 一种基于SIMATIC S7-200 SMART的ModbusRTU通信程序

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
物联网DTU设备时分复用的Modbus报文传输模式;康辉等;《黑龙江科技大学学报》;20200730(第04期);第114-118页 *
面向RS-485控制网络的Modbus协议扩展及应用;胡文翔等;《自动化仪表》;20130420(第04期);第63-65、第69页 *

Also Published As

Publication number Publication date
CN112073280A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
CN112073280B (zh) 基于Modbus协议的通信方法、装置及通信设备
CN111045933B (zh) 一种回归策略更新方法、装置、存储介质及终端设备
CN113132267B (zh) 一种分布式系统、数据聚合方法和计算机可读存储介质
CN113872796B (zh) 服务器及其节点设备信息获取方法、装置、设备、介质
WO2023066233A1 (zh) 控制器的程序刷写方法、装置、控制器和存储介质
CN112040001A (zh) 一种基于分布式存储的请求处理方法及装置
CN109521970B (zh) 一种数据处理方法及相关设备
CN116663639B (zh) 一种梯度数据同步方法、系统、装置及介质
CN113515481A (zh) 一种基于串口的数据传输方法及装置
CN113590007A (zh) 进度条的生成方法、生成装置、计算机设备及存储介质
CN115408034A (zh) 车载控制器升级方法、装置、电子设备及存储介质
CN113645088B (zh) 网卡ncsi信号的自动调节方法、系统、装置及介质
CN115495256A (zh) 服务调用方法、装置、电子设备及存储介质
US9141429B2 (en) Multicore processor system, computer product, and control method
CN114490074A (zh) 仲裁系统、方法、电子设备、存储介质及芯片
CN115168440A (zh) 数据读写方法、分布式存储系统、装置、设备和存储介质
CN109542601B (zh) 策略编译方法、装置、电子设备及计算机存储介质
CN114048045B (zh) 一种面向并行应用核间通信竞争的通信性能预测方法
US20100106762A1 (en) Computer apparatus and calculation method
CN117453377B (zh) 模型调度方法、终端设备以及服务器
CN114327025A (zh) Cpu能效模型优化方法及装置
CN107741962B (zh) 数据缓存方法及服务器
CN114584630B (zh) 一种基于现场总线协议的通信方法及设备
CN117135756B (zh) 异构无线网络资源分配方法、装置及终端设备
CN116800837B (zh) 主从设备间通讯的通讯转换方法、装置及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: High tech Zone of Hefei city of Anhui Province in 230088 Lake Road No. 2

Applicant after: Sunshine New Energy Development Co.,Ltd.

Address before: 230088 6th floor, R & D center building, no.1699 Xiyou Road, high tech Zone, Hefei City, Anhui Province

Applicant before: HEFEI SUNGROW RENEWABLE ENERGY SCI. & TECH. Co.,Ltd.

Address after: High tech Zone of Hefei city of Anhui Province in 230088 Lake Road No. 2

Applicant after: Sunshine New Energy Development Co.,Ltd.

Address before: High tech Zone of Hefei city of Anhui Province in 230088 Lake Road No. 2

Applicant before: Sunshine New Energy Development Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant