CN112291101B - 通讯节点、上位机对下位机的通信分帧优化方法 - Google Patents
通讯节点、上位机对下位机的通信分帧优化方法 Download PDFInfo
- Publication number
- CN112291101B CN112291101B CN202011232678.4A CN202011232678A CN112291101B CN 112291101 B CN112291101 B CN 112291101B CN 202011232678 A CN202011232678 A CN 202011232678A CN 112291101 B CN112291101 B CN 112291101B
- Authority
- CN
- China
- Prior art keywords
- framing
- communication
- configuration
- framing configuration
- data frame
- 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
Links
- 238000009432 framing Methods 0.000 title claims abstract description 293
- 230000006854 communication Effects 0.000 title claims abstract description 251
- 238000004891 communication Methods 0.000 title claims abstract description 249
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000005457 optimization Methods 0.000 title claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 54
- 238000012804 iterative process Methods 0.000 claims description 8
- 230000006872 improvement Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005057 refrigeration Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种通讯节点、上位机对下位机的通信分帧优化方法。其中通讯节点的通信分帧优化方法,包括:根据通讯协议以及通讯节点的有效数据地址的连续性来分段,形成初始分帧配置,并得到初始分帧配置对应的通讯时间;在一轮迭代过程中以初始分帧配置为基础不断合并数据帧,直至前次分帧配置的通讯时间无明显改善,将该前次分帧配置作为最终分帧配置,同时截止该轮迭代过程。本发明能够解决查询数据固定分帧带来查询效率低下。
Description
技术领域
本发明涉及计算机通信以及工业通信领域,尤其涉及一种通讯节点的通信分帧优化方法,进一步涉及上位机对下位机的通信分帧优化方法。
背景技术
现有的通信过程,存在通讯数据较大的情况,因此,如何划分通讯的数据帧来提高通讯效率是业界的一个发展方向。
以组态软件的应用程序的通信过程举例,组态软件开发的应用程序工作于多种工业控制场景,需要支持很多通讯协议,比如多达几百种。而这些协议有部分会涉及到数据查询,比如类似Modbus这样的主从式通讯协议,上位机采用轮询的方式去各个下位机进行数据查询。
然而,当需要查询的数据比较大,比如需要查询的数据存在上千个数据点时,且数据点之间对应的数据地址不连续时,此时上位机如果没有合理划分数据帧,计算清楚每轮查询需要分几帧来查询下位机上的数据从而达到总的通讯时间开销最小的话,就会导致查询效率较低。这里所指的数据点就是一个数据。从效率出发,上位机一次查询会查询很多个数据。以空调设备作为下位机举例,上位机对空调设备的一次查询将会包含环境温度[一个数据点]、制冷温度[一个数据点]、压缩机频率[一个数据点]等等。
再比如某个下位机设备上的数据点有1000个,按照modbus协议规约,其每个查询帧最大传输的数据量不能超过250个数据点(对寄存器而言);那么上位机需要在一轮查询中分成最少4个查询数据帧才可以读取完1000个数据。
现有的组态软件在处理这类协议时,通常的做法是使用固定分帧,如第一帧数据帧查询设备数据地址0~242的数据点 ,第二帧数据帧查询设备数据地址243~485的数据点等等,然而,这种固定分帧查询方法,当被查询的数据地址刚好空缺时,会因此白白浪费一次查询,导致查询数据效率低下。
发明内容
本发明为了解决现有技术中采用固定分帧的通信方式导致的通讯效率低下的技术问题,提出一种通讯节点、上位机对下位机的通信分帧优化方法。
本发明提出一种通讯节点的通信分帧优化方法,包括:
步骤1,根据通讯协议以及预存的通讯节点的有效数据地址的连续性,将有效数据地址的数据进行分段,每一段作为一数据帧,形成初始分帧配置;
步骤2,根据初始分帧配置所划分的数据帧与通讯节点通信,得到初始分帧配置对应的通讯时间,同时将初始分帧配置作为前次分帧配置开始一轮迭代过程;
步骤3,根据一定的规则从前次分帧配置中选择一数据帧与其一侧相邻的数据帧合并,形成当前分帧配置,再根据当前分帧配置所划分的数据帧与通讯节点通信,得到当前分帧配置对应的通讯时间;
步骤4,对比当前分帧配置对应的通讯时间和前次分帧配置对应的通讯时间,从中选择通讯时间少的分帧配置作为前次分帧配置,并返回步骤3,直至连续多次得到的当前分帧配置对应的通讯时间相比较于前次分帧配置的通讯时间均在预设改善效果范围之外时,将该前次分帧配置作为最终分帧配置,同时截止该轮迭代过程。
进一步,所述步骤3包括:
每一轮迭代过程中第一次执行所述步骤3时,随机选择初始分帧配置中的任意一数据帧,沿着第一方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间。
进一步,所述步骤3包括:
每一轮迭代过程中第n次执行所述步骤3时,若上一次所选择的数据帧沿着第一方向合并数据帧未成功,则将前次分帧配置所选择的数据帧沿着与第一方向相反的第二方向,与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
进一步,所述步骤3包括:
每一轮迭代过程中第n次执行所述步骤3时,若前次分帧配置不是初始分帧配置,且上一次沿着第一方向合并数据帧成功,则将前次分帧配置中合并成功后的数据帧继续沿着第一方向与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
进一步,所述步骤3包括:
每一轮迭代过程中第n次执行所述步骤3时,若前次分帧配置不是初始分帧配置,且上一次沿着第一方向合并数据帧未成功,则将前次分帧配置中合并成功后的数据帧沿着与第一方向相反的第二相反与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
进一步,所述步骤3包括:
每一轮迭代过程中第n次执行所述步骤3时,若前次分帧配置不是初始分帧配置,且上一次沿着第二方向合并数据帧成功,则将前次分帧配置中合并成功后的数据帧沿着第二方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
进一步,所述步骤3包括:
每一轮迭代过程中第n次执行所述步骤3时,若前次分帧配置不是初始分帧配置,且上一次沿着第二方向合并数据帧未成功,则随机选择初始分帧配置中还未被选择或合并的任意一数据帧,沿着第一方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
进一步,所述步骤3包括:
每一轮迭代过程中第n次执行步骤3时,若前次分帧配置是初始分帧配置,且上一次沿着第二方向合并数据帧未成功,则随机选择初始分帧配置中还未被选择或合并的任意一数据帧,沿着第一方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
本发明的通信分帧优化方法,进一步还包括:
根据预设次数循环执行所述迭代过程,当最新得到的m个最终分帧策略之间的差值绝对值均小于等于预设差值,则结束所述迭代过程的循环,m≥2;
将所执行的所有迭代过程所得到的最终分帧配置对应的通讯时间进行比较,从中选择通讯时间最少的最终分帧配置作为该通讯节点的正常通信分帧配置。
本发明的通信分帧优化方法,进一步还包括:
根据预设次数循环执行所述迭代过程,当预设次数循环完毕,最新得到的m个最终分帧策略之间的差值绝对值中,存在所述差值绝对值>预设差值,则继续循环所述迭代过程至预设最大次数,将预设最大次数对应的所有迭代过程所得到的最终分帧配置对应的通讯时间进行比较,从中选择通讯时间最少的最终分帧配置作为该通讯节点的正常通信分帧配置,m≥2。
进一步,所述当前分帧配置相比较于前次分帧配置,当前分帧配置的通讯时间均在预设改善效果范围之外具体为当前分帧配置对应的通讯时间减去前次分帧配置对应的通讯时间的差值绝对值≤预设阈值。
本发明提出的上位机对下位机的通信分帧优化方法,上位机采用上述技术方案所述的通讯节点的通信分帧优化方法对作为通讯节点的下位机进行通信分帧优化。
进一步,当有新的下位机与上位机连接时,所述上位机判断是否有历史连接的下位机与新的下位机所对应的设备种类相同,若有,则将历史连接的下位机的正常通信分帧配置作为新的下位机的正常通信分帧配置,并在通信时以该正常通信分帧配置对新的下位机进行通信分帧。
进一步,上位机对作为通讯节点的下位机的数据进行通信包括:上位机对下位机的数据进行查询。
进一步,所述上位机包括:
下位机数据点地址分布信息管理模块,用于对各个下位机的数据点对应的有效数据地址进行存储和管理;
通信分帧优化模块,用来根据所述下位机的有效数据地址来执行所述通讯节点的通信分帧优化方法,以实现对下位机进行通信分帧优化。
本发明可以实现在与某个通讯节点(如下位机)进行通信时,通过强化学习算法(即本发明的至少一轮迭代过程)解决通信网络中单个通讯节点的通信分帧优化,提高与通讯节点的通讯效率,解决了现有技术中数据通信采用固定分帧带来如查询效率低下的问题。当本发明应用在上位机和下位机之间时,上位机针对任意新加入的下位机(即一个通讯节点),均可以使用同样的强化学习算法来优化与该下位机的通讯效率,若是存在之前有相同种类的下位机,由于它们需要传输的数据点类似,有效数据地址类似,则可以直接将之前的下位机所采用的分帧配置直接用在新加入的下位机上,进一步提高了上位机和下位机之间的通讯效率,使得整个网络性能最优化。
附图说明
以下结合附图和具体实施例对本发明进行详细说明,其中:
图1为本发明的简要流程图;
图2为本发明的上位机与下位机的连接示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚,以下结合附图和实施例对本发明进行详细的说明。应当理解,以下具体实施例仅用以解释本发明,并不对本发明构成限制。
本发明的通讯节点的通信分帧优化方法主要是为了实现查找通讯时间最短的分帧策略,本发明的目标就是外界与该通讯节点根据协议进行数据帧通信时通讯时间最短,当具体的数据帧通信为数据查询时,通过公式Ttotal = Tframe * Nframe来计算一轮数据查询的通讯时间,其中Ttotal为一轮数据查询的通讯时间,Tframe为每帧数据帧的通讯时间,Nframe为一轮查询中的数据帧帧数。
通过上面计算一轮数据的通讯时间可以看出,一轮数据查询的通讯时间Ttotal取决于两个因素。假设以9600波特率为例的Modbus协议通讯为例,需要查询的数据点为1000个(为了之后简单描述,定义1000个数据点的数据量为1000个字节)。1000个数据点呈现片段连续分布,比如数据地址0~100有效, 数据地址101~150无效, 数据地址151~200有效等,这里所说的数据地址即存储着数据点的地址(也可以称之为存储着该通讯节点需要进行通信的数据的地址),即存储着例子中的1000个字节的多个地址片段,每个地址片段内的地址为连续地址。由于9600波特率为1200字节/秒,为表述简单起见,即每一字节传输时间大约为1毫秒。如果通讯节点采用的通讯协议为Modbus协议(Modbus协议可以使上位机使用其特定功能码,查询读取某个作为通讯节点的下位机的1000个寄存器),该Modbus协议每次传输一帧数据帧,该数据帧包含的数据长度最大为256个字节的长度,即传输该帧数据的时间约为256ms(即传输一数据帧的时间约为256ms)。如果该通讯节点是与上位机进行通信的下位机,则上位机查询无效数据地址时,这时候会出现两种情形,一是下位机会返回几个字节的错误码,这样无效查询所带来的开销主要是数据往返通信开销加上错误码的传输时间,总的来说在10ms内;二是下位机不返回任何信息,此时上位机靠通信超时判断与下位机的通信失败,并启动该数据帧的重新查询,一般来说通信超时设置为1秒,重新查询次数默认为3次。另外,当通信波特率提高时,比如达到115200时,即14400/秒,约0.069毫秒传输一个字节,传输256字节约为17.8毫秒,此时如果数据帧的划分不当,导致数据帧的帧数多所带来的通信开销就占通讯效率低的主要因素了。进一步考虑Modbus/IP,如果网络延时达到几百ms,数据帧的帧数多带来的通信额外开销与数据传输时间相比更是通讯效率低的主要因素。
因此,本发明的目的在于减少一轮数据查询的通讯时间Ttotal,主要从以下三个因素出发。第一个因素是需要减少每帧数据帧的通讯时间,即每帧数据帧中无效数据最少(例如有可能一帧数据帧对应的查询数据地址从0~253,而在上面示例中就有该数据帧包含了101~150的无效数据段,从而导致该数据帧多出额外的50ms传输时间)。第二个因素是减少无效帧的查询,尤其靠超时判断时。第三个因素是减少帧数,比如0~100分为两帧传输的话,会带来数据帧与数据帧之间的间隔时间损失,这个在上面的示例中约有几个ms。
对于组态软件而言,一般组态软件中被查询的通讯节点的有效数据点地址的分布对于上位机而言是已知的,可以主动去除无效数据的查询,因此本发明不考虑对第二个因素的优化,而是针对第一个因素和第三个因素导致的通讯效率低下来进行优化。
如图1所示,下面详细描述本发明的通讯节点的通信分帧优化方法的步骤。
步骤1,外界根据通讯协议以及预存的通讯节点的有效数据地址的连续性,将有效数据地址的数据进行分段。这里所指的外界是与通讯节点进行通信的另一方的概括,在一些具体实施例中外界可以是上位机,也可以是其他通讯节点等。当外界是上位机时,则通讯节点就是任意一个下位机,在组态软件中上位机中预存了所有下位机的有效数据地址。假设以之前的示例作为下位机B的有效数据地址的话,则下位机B的有效数据地址为0~100、151~200,由于该示例中的每一段有效数据地址的长度没有过大,则下位机B的有效数据地址的数据分为两段,每一段作为一数据帧,形成初始分帧配置,且初始分帧配置中的每一数据帧标记为初始数据帧。对于有的有效数据地址的长度过大,若是以一个连续有效数据地址段作为一段的话,将超过某些通讯协议的最大允许数据帧长度,则将该连续有效数据地址段再分段,分成多个数据帧,为了便于描述,假设初始分帧配置分成了10个数据帧,以数字1-10进行表示,需要注意的是数据帧之间的长度可能彼此不等,例如数据帧1的长度为0-10,数据帧2的长度为30-100等。
步骤2,根据初始分帧配置所划分的数据帧,针对通讯节点(下位机)的有效数据地址中的数据与通讯节点进行通信,得到初始分帧配置对应的通讯时间,同时将初始分帧配置作为前次分帧配置开始一轮优化的迭代过程,即之后将重复执行步骤3与步骤4,找到通讯时间不再有明显改善的最终分帧配置则完成一轮迭代过程。
步骤3,根据一定的规则从前次分帧配置中选择一数据帧与其一侧相邻的数据帧合并,形成当前分帧配置,再根据当前分帧配置所划分的数据帧针对通讯节点的数据与通讯节点进行通信,得到当前分帧配置对应的通讯时间。
步骤4,对比当前分帧配置对应的通讯时间和前次分帧配置对应的通讯时间,从中选择通讯时间少的分帧配置作为前次分帧配置,返回步骤3进行再次合并,直至连续多次得到当前分帧配置相比较于前次分帧配置的通讯时间均在预设改善效果范围之外时,将此时的前次分帧配置作为最终分帧配置,同时一轮迭代过程截止。
下面以一轮迭代过程为单位,来对迭代过程进行介绍,每一轮迭代过程中将会有多轮循环执行步骤3和步骤4的过程,以下所指的第一次执行步骤3,或者是第n次执行步骤3均表示的是在一轮迭代过程中的次数。
针对于上述步骤3,在得到初始分帧配置对应的通讯时间T1后,第一次执行步骤3时,在一个实施例中,通过随机选择初始数据帧中的任意一数据帧,沿着第一方向将该数据帧与其相邻的一数据帧合并成一数据帧来得到对应的通讯时间。例如,随机选择了数据帧4,沿着从左到右的方向将数据帧4与数据帧5合并成数据帧45,于是所形成的当前分帧配置为1、2、3、45、6、7、8、9、10,该当前分帧配置对应的通讯时间为T2。对应的前次分帧配置为1、2、3、4、5、6、7、8、9、10,该前次分帧配置对应的通讯时间为T1。
接着在步骤4中,比较当前分帧配置对应的通讯时间T2与前次分帧配置对应的通讯时间T1,如果满足T2<T1,则选择当前分帧配置作为前次分帧配置,继续跳转到步骤3开始下一轮循环,即前次分帧配置变成了1、2、3、45、6、7、8、9、10。如果满足T2≥T1,则放弃此次合并,选择前次分帧配置继续作为下一轮循环的前次分帧配置,即前次分帧配置依旧是1、2、3、4、5、6、7、8、9、10。需要注意的是,前次分帧配置并不一定等于上一次的分帧配置,前次分帧配置可能由上一次的当前分帧配置转化而来,也可能是由上一次的前次分帧配置转化而来。
在循环过程中第n次执行步骤3时,n≥2,不管前次分帧配置是否是初始分帧配置,若上一次所选择的数据帧沿着第一方向合并数据帧未成功,则将前次分帧配置所选择的初始数据帧或者是合并数据帧沿着与第一方向相反的第二方向,与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间。假设前次分帧配置为1、2、3、4、5、6、7、8、9、10,且数据帧4沿着从左到右的方向合并数据帧5不成功,则再次执行步骤3时,数据帧4沿着从右到左的方向合并数据帧3,那么当前分帧配置变为了1、2、34、5、6、7、8、9、10。对应的前次分帧配置依旧为1、2、3、4、5、6、7、8、9、10。
接着在步骤4中,比较当前分帧配置对应的通讯时间T3与前次分帧配置对应的通讯时间T1,如果满足T3<T1,则选择当前分帧配置作为前次分帧配置,继续跳转到步骤3开始下一轮循环,即前次分帧配置变成了1、2、34、5、6、7、8、9、10。如果满足T3≥T1,则放弃此次合并,选择前次分帧配置继续作为下一轮循环的前次分帧配置,即前次分帧配置依旧是1、2、3、4、5、6、7、8、9、10。
在循环过程中第n次执行步骤3时,n≥2,如果前次分帧配置是初始分帧配置,且前次分帧配置所选择的数据帧沿着第二方向合并数据帧未成功,则随机选择初始分帧配置中还未被选择或合并的任意一数据帧,沿着第一方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间。例如,数据帧4与数据帧3的合并失败,则从初始配置1-10中随机选择数据帧4以外的数据帧,返回步骤3开始新的循环。
在循环过程中第n次执行步骤3时,n≥2,如果前次分帧配置不是初始分帧配置,且上一次沿着第一方向合并数据帧成功,则将前次分帧配置中合并成功后的数据帧继续沿着第一方向与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。例如,数据帧4和数据帧5合并成功,则前次分帧配置为1、2、3、45、6、7、8、9、10,选择数据帧45继续沿着从左至右的方向合并数据帧6,形成当前分帧配置1、2、3、456、7、8、9、10,对应的前次分帧配置为1、2、3、45、6、7、8、9、10。
继续执行步骤4,比较两次分帧配置对应的通讯时间的大小,选择通讯时间少的分帧配置作为前次分帧配置返回步骤3继续循环。
在循环过程中第n次执行步骤3时,n≥2,如果前次分帧配置不是初始分帧配置,且上一次沿着第一方向合并数据帧未成功,则将前次分帧配置中合并成功后的数据帧沿着与第一方向相反的第二相反与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。例如,数据帧45合并数据帧6失败,则前次分帧配置为1、2、3、45、6、7、8、9、10,选择数据帧45朝着从右至左的方向合并数据帧3,形成当前分帧配置1、2、345、6、7、8、9、10,对应的前次分帧配置为1、2、3、45、6、7、8、9、10。
继续执行步骤4,比较两次分帧配置对应的通讯时间的大小,选择通讯时间少的分帧配置作为前次分帧配置返回步骤3继续循环。
在循环过程中第n次执行步骤3时,n≥2,如果前次分帧配置不是初始分帧配置,且上一次沿着第二方向合并数据帧成功,则将前次分帧配置中合并成功后的数据帧沿着第二方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间。例如,数据帧45合并数据帧3成功,则前次分帧配置变为1、2、345、6、7、8、9、10,那么数据帧345继续沿着从右至左的方向合并数据帧2,形成当前分帧配置1、2345、6、7、8、9、10,对应的前次分帧配置为1、2、345、6、7、8、9、10。
继续执行步骤4,比较两次分帧配置对应的通讯时间的大小,选择通讯时间少的分帧配置作为前次分帧配置返回步骤3继续循环。
在循环过程中第n次执行步骤3时,n≥2,如果前次分帧配置不是初始分帧配置,且上一次沿着第二方向合并数据帧未成功,则随机选择初始分帧配置中还未被选择或合并的任意一数据帧,沿着第一方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间。例如数据帧345合并数据帧2失败,则前次分帧配置依旧是1、2、345、6、7、8、9、10,此时随机选择初始分帧配置中还没有被选择或合并的1、2、6、7、8、9、10当中的任意一数据帧沿着从左到右的方向与其相邻的数据帧合并。
上述循环执行了多次以后,如果连续多次得到当前分帧配置相比较于前次分帧配置,当前分帧配置的通讯时间均在预设改善效果范围之外,那么一轮迭代过程就此结束,前次分帧配置就是这轮迭代过程的最终分帧配置。在一个实施例中,当前分帧配置的通讯时间均在预设改善效果范围之外具体指的是当前分帧配置对应的通讯时间减去前次分帧配置对应的通讯时间的绝对值≤预设阈值。本发明将每一回第一次执行步骤3直至找到通讯时间最少的前次分帧配置,记作一次迭代过程,且该迭代过程最终找到的通讯时间最少的前次分帧配置为最终分帧配置。
在一个实施例中,上位机根据预设次数循环上述迭代过程,例如4次,将预设次数对应的所有迭代过程所得到的最终分帧配置对应的通讯时间进行比较,从中选择通讯时间最少的最终分帧配置作为该通讯节点的正常通信分帧配置。
在一个较优实施例中,如果最新得到的m个最终分帧策略之间的差值绝对值均小于等于预设差值,即最终得到的结果曲线趋向于平衡时,就可以提前结束迭代过程的循环,例如迭代次数设置的是50次,上位机在循环迭代的过程中,可能6次左右就已经达到了平衡,则可以提前结束迭代循环。
在另一个较优实施例中,上位机根据根据预设次数循环执行所述迭代过程,当预设次数循环完毕,最新得到的m个最终分帧策略之间的差值绝对值中,存在所述差值绝对值>预设差值,即得到的结果不太稳定,则继续循环迭代过程至预设最大次数,将预设最大次数对应的所有迭代过程所得到的最终分帧配置对应的通讯时间进行比较,从中选择通讯时间最少的最终分帧配置作为该通讯节点的正常通信分帧配置,上述m≥2。
本发明的上述通讯节点的通信分帧优化方法具体还可以应用在上位机对下位机的通信分帧优化方法中,上位机可以采用本发明的通讯节点的通信分帧优化方法对作为通讯节点的下位机进行通信分帧优化。
如果有新的下位机与上位机连接,上位机判断是否有历史连接的下位机与新的下位机所对应的设备种类相同,若有,则将历史连接的下位机的正常通信分帧配置作为新的下位机的正常通信分帧配置,并在通信时以该正常通信分帧配置对新的下位机进行通信分帧,以提高通讯效率,例如新加入的下位机为格力的柜式空调,如果有历史连接的格力的柜式空调,则可以直接获取对应的正常通信分帧配置使用。
另外,本发明并不限定通讯节点的通讯协议为Modbus协议,还适用于其他数据帧通讯方式的通讯协议,本发明针对通讯节点的数据与通讯节点进行通信时,比如显示屏和PLC之间的通信,再例如上位机对作为通讯节点的下位机的数据进行通信时,包括但不限于上位机对下位机的数据进行查询,也包括其他的数据通信方式。并且上位机对下位机的查询并不一定要查询所有数据点,也可以仅仅是查询部分数据点。
如图2所示,本发明的上位机的结构主要包括下位机数据点地址分布信息管理模块和通信分帧优化模块,其中,下位机数据点地址分布信息管理模块用来对各个下位机的数据点对应的有效数据地址进行存储和管理;通信分帧优化模块用来根据所述下位机的有效数据地址来执行所述通讯节点的通信分帧优化方法,以实现对下位机进行通信分帧优化。
为了进一步方便理解,下面以简化的形式来说明本发明的迭代循环过程。
步骤S1、上位机A根据下位机B有效数据地址,首先按照有效地址的连续性分段,每个段是一个数据帧,当一个连续段超过最大允许帧长度,则分成多个数据帧,形成初始分帧配置F1并保存。完成第一轮查询C1,得到第一轮查询C1的总通讯时间为t1。
步骤S2,随机选择其中的一个分段,开始与其紧邻的分段合并(随机合并前面或是合并后面的一个分段)。完成第二轮查询C11,得到第二轮查询C11的总通讯时间为t11。
步骤S3,比较t11与t1,如果t11 < t1则接受“步骤S2”中的合并,即合并成功。反之不接受,即合并失败。
步骤S4,在不接受的情况,将步骤S2中所选分段与另外一个方向上分段进行合并,得到新一轮查询时间t11。
步骤S5,比较t11与t1,如果t11 < t1则接受“步骤S4”中合并,反之不接受。
步骤S6,如果“步骤S3”或“步骤S5”中已经接受,则按原方向继续合并分段,得到新的查询时间t12,重复步骤S3-步骤S5。
步骤S7,重复步骤S6,直至每轮查询的通讯时间不再显著改善为止,保存分帧配置F2及总查询时间。
步骤S8,重复步骤S2到步骤S7,得到新的分帧配置F3及总查询时间。
步骤S9,重复步骤S2到步骤S7,得到新的分帧配置F4级总查询时间。
步骤S110,比较F1、F3、F4,如果总查询时间趋于稳定,则选取最小总查询时间对应的分帧配置作为接下来的正常通信分帧配置。如果不稳定,则继续重复步骤S2~步骤S7,设定最大重复次数为Max,当达到Max时,选取最小总查询时间对应的分帧配置作为正常通信分帧配置。
应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种通讯节点的通信分帧优化方法,其特征在于,包括:
步骤1,根据通讯协议以及预存的通讯节点的有效数据地址的连续性,将有效数据地址的数据进行分段,每一段作为一数据帧,形成初始分帧配置;
步骤2,根据初始分帧配置所划分的数据帧与通讯节点通信,得到初始分帧配置对应的通讯时间,同时将初始分帧配置作为前次分帧配置开始一轮迭代过程;
步骤3,根据一定的规则从前次分帧配置中选择一数据帧与其一侧相邻的数据帧合并,形成当前分帧配置,再根据当前分帧配置所划分的数据帧与通讯节点通信,得到当前分帧配置对应的通讯时间;
步骤4,对比当前分帧配置对应的通讯时间和前次分帧配置对应的通讯时间,从中选择通讯时间少的分帧配置作为前次分帧配置,并返回步骤3,直至连续多次得到的当前分帧配置对应的通讯时间相比较于前次分帧配置的通讯时间均符合当前分帧配置对应的通讯时间减去前次分帧配置对应的通讯时间的差值绝对值≤预设阈值时,将该前次分帧配置作为最终分帧配置,同时截止该轮迭代过程;
每一轮迭代过程中第一次执行所述步骤3时,随机选择初始分帧配置中的任意一数据帧,沿着第一方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间;
每一轮迭代过程中第n次执行所述步骤3时,若上一次所选择的数据帧沿着第一方向合并数据帧未成功,则将前次分帧配置所选择的数据帧沿着与第一方向相反的第二方向,与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2;
当合并数据帧后的通讯时间大于分帧前的通讯时间,判定合并数据帧未成功,否则判定合并数据帧成功。
2.如权利要求1所述的通讯节点的通信分帧优化方法,其特征在于,所述步骤3包括:
每一轮迭代过程中第n次执行所述步骤3时,若前次分帧配置不是初始分帧配置,且上一次沿着第一方向合并数据帧成功,则将前次分帧配置中合并成功后的数据帧继续沿着第一方向与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
3.如权利要求1所述的通讯节点的通信分帧优化方法,其特征在于,所述步骤3包括:
每一轮迭代过程中第n次执行所述步骤3时,若前次分帧配置不是初始分帧配置,且上一次沿着第一方向合并数据帧未成功,则将前次分帧配置中合并成功后的数据帧沿着与第一方向相反的第二相反与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
4.如权利要求1所述的通讯节点的通信分帧优化方法,其特征在于,所述步骤3包括:
每一轮迭代过程中第n次执行所述步骤3时,若前次分帧配置不是初始分帧配置,且上一次沿着第二方向合并数据帧成功,则将前次分帧配置中合并成功后的数据帧沿着第二方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
5.如权利要求1所述的通讯节点的通信分帧优化方法,其特征在于,所述步骤3包括:
每一轮迭代过程中第n次执行所述步骤3时,若前次分帧配置不是初始分帧配置,且上一次沿着第二方向合并数据帧未成功,则随机选择初始分帧配置中还未被选择或合并的任意一数据帧,沿着第一方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
6.如权利要求1所述的通讯节点的通信分帧优化方法,其特征在于,所述步骤3包括:
每一轮迭代过程中第n次执行步骤3时,若前次分帧配置是初始分帧配置,且上一次沿着第二方向合并数据帧未成功,则随机选择初始分帧配置中还未被选择或合并的任意一数据帧,沿着第一方向将该数据帧与其相邻的一数据帧合并,形成当前分帧配置并得到对应的通讯时间,n≥2。
7.如权利要求1-6任意一项所述的通讯节点的通信分帧优化方法,其特征在于,还包括:
根据预设次数循环执行所述迭代过程,当最新得到的m个最终分帧策略之间的差值绝对值均小于等于预设差值,则结束所述迭代过程的循环,m≥2;
将所执行的所有迭代过程所得到的最终分帧配置对应的通讯时间进行比较,从中选择通讯时间最少的最终分帧配置作为该通讯节点的正常通信分帧配置。
8.如权利要求1-6任意一项所述的通讯节点的通信分帧优化方法,其特征在于,还包括:
根据预设次数循环执行所述迭代过程,当预设次数循环完毕,最新得到的m个最终分帧策略之间的差值绝对值中,存在所述差值绝对值>预设差值,则继续循环所述迭代过程至预设最大次数,将预设最大次数对应的所有迭代过程所得到的最终分帧配置对应的通讯时间进行比较,从中选择通讯时间最少的最终分帧配置作为该通讯节点的正常通信分帧配置,m≥2。
9.一种上位机对下位机的通信分帧优化方法,其特征在于,上位机采用如权利要求1-8任意一项所述的通讯节点的通信分帧优化方法对作为通讯节点的下位机进行通信分帧优化。
10.如权利要求9所述的上位机对下位机的通信分帧优化方法,其特征在于,当有新的下位机与上位机连接时,所述上位机判断是否有历史连接的下位机与新的下位机所对应的设备种类相同,若有,则将历史连接的下位机的正常通信分帧配置作为新的下位机的正常通信分帧配置,并在通信时以该正常通信分帧配置对新的下位机进行通信分帧。
11.如权利要求9所述的上位机对下位机的通信分帧优化方法,其特征在于,上位机对作为通讯节点的下位机的数据进行通信包括:上位机对下位机的数据进行查询。
12.如权利要求9所述的上位机对下位机的通信分帧优化方法,其特征在于,所述上位机包括:
下位机数据点地址分布信息管理模块,用于对各个下位机的数据点对应的有效数据地址进行存储和管理;
通信分帧优化模块,用来根据所述下位机的有效数据地址来执行所述通讯节点的通信分帧优化方法,以实现对下位机进行通信分帧优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232678.4A CN112291101B (zh) | 2020-11-06 | 2020-11-06 | 通讯节点、上位机对下位机的通信分帧优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011232678.4A CN112291101B (zh) | 2020-11-06 | 2020-11-06 | 通讯节点、上位机对下位机的通信分帧优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112291101A CN112291101A (zh) | 2021-01-29 |
CN112291101B true CN112291101B (zh) | 2021-12-07 |
Family
ID=74350475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011232678.4A Active CN112291101B (zh) | 2020-11-06 | 2020-11-06 | 通讯节点、上位机对下位机的通信分帧优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112291101B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992471B (zh) * | 2021-10-26 | 2023-05-12 | 成都亿佰特电子科技有限公司 | 一种多主机与多从机的通讯系统及方法 |
CN115208958B (zh) * | 2022-06-10 | 2023-08-25 | 珠海格力电器股份有限公司 | 协议自动分段方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105120012A (zh) * | 2015-07-10 | 2015-12-02 | 北京奇虎科技有限公司 | 智能设备及其联网接入方法、信息接收方法与装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100573491C (zh) * | 2006-12-15 | 2009-12-23 | 凌阳科技股份有限公司 | 串行传输控制器与串行传输解码器及其串行传输方法 |
US7760629B2 (en) * | 2007-09-04 | 2010-07-20 | Cisco Technology, Inc. | Aggregate data frame generation |
CN104407983B (zh) * | 2014-12-02 | 2017-05-17 | 上海电器科学研究院 | 一种用于电量模块的modbus地址重映射方法 |
EP3057273B1 (en) * | 2015-02-13 | 2019-03-27 | Mitsubishi Electric R&D Centre Europe B.V. | Method for a traffic shaping in a network |
CN105278918B (zh) * | 2015-10-15 | 2017-12-08 | 珠海格力电器股份有限公司 | 寄存器的读取方法和采用该读取方法的寄存器 |
CN111478837B (zh) * | 2020-04-02 | 2022-01-11 | 广东美的暖通设备有限公司 | 数据通信方法、空调器、空调系统和存储介质 |
-
2020
- 2020-11-06 CN CN202011232678.4A patent/CN112291101B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105120012A (zh) * | 2015-07-10 | 2015-12-02 | 北京奇虎科技有限公司 | 智能设备及其联网接入方法、信息接收方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112291101A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112291101B (zh) | 通讯节点、上位机对下位机的通信分帧优化方法 | |
CN109324757B (zh) | 区块链数据缩容方法、装置及存储介质 | |
CN110661870B (zh) | 一种hplc通信组网的方法、装置、存储介质和电子设备 | |
CN102880628B (zh) | 哈希数据存储方法和装置 | |
CN109788027A (zh) | 数据同步方法、装置、服务器及计算机存储介质 | |
CN112751718B (zh) | 带宽调整方法及装置、终端及存储介质 | |
CN112135297B (zh) | 物联网的通信方法、中心服务器、设备及介质 | |
CN113923797A (zh) | 会话建立方法、装置、客户端设备和计算机存储介质 | |
US20180255495A1 (en) | Mode control design | |
CN107438289B (zh) | 竞争窗口的设置方法及设备 | |
CN113157450B (zh) | 在区块链系统中执行区块的方法及装置 | |
WO2022063013A1 (zh) | 一种区块链中选择目标节点的方法及装置 | |
US11564089B2 (en) | Apparatus for IoT registration and method for authentication and association using the apparatus | |
CN110149221A (zh) | 一种基于联盟链的自适应网络的构建方法及装置 | |
CN112165505B (zh) | 去中心化的数据处理方法、电子装置和存储介质 | |
JP2005310117A (ja) | 動的分散環境におけるノードマッチング | |
GB2415855A (en) | Variable network address lengths | |
CN107979653A (zh) | 负载均衡方法及装置 | |
CN108418709B (zh) | 端口聚合方法及装置 | |
CN118101664B (zh) | 区块链负载均衡方法、装置、设备和存储介质 | |
Obermeier et al. | CLCP–A Distributed Cross-Layer Commit Protocol for Mobile Ad Hoc Networks | |
CN116991310B (zh) | 闪存状态查询方法及闪存控制器 | |
KR102423504B1 (ko) | Can 버스에서 노드 id 자동 설정을 통한 물리 계층 보안 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
CN114448858B (zh) | 报文广播方法、装置、网络设备和存储介质 | |
CN112398737B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |