CN110474896B - 基于Modbus协议标准的数据通信方法及相关设备 - Google Patents
基于Modbus协议标准的数据通信方法及相关设备 Download PDFInfo
- Publication number
- CN110474896B CN110474896B CN201910722904.8A CN201910722904A CN110474896B CN 110474896 B CN110474896 B CN 110474896B CN 201910722904 A CN201910722904 A CN 201910722904A CN 110474896 B CN110474896 B CN 110474896B
- Authority
- CN
- China
- Prior art keywords
- protocol
- target
- data
- template
- data 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种基于Modbus协议标准的动态库和数据通信方法、装置、设备及计算机可读存储介质,该数据通信方法包括:确定目标采集设备所适用的目标协议的协议ID;在动态库中确定对应于协议ID的协议模板;协议模板基于动态库调用接口调用并解析对应的目标xml文件而生成,目标xml文件存储有对应于协议ID的Modbus协议标准配置参数;将目标采集设备的设备参数赋值至协议模板中,以生成赋值后的目标协议;利用赋值后的目标协议实现与目标采集设备间的数据通信。本申请在动态库中利用基于xml文件生成的协议模板完成对目标协议的开发,可极大减少代码开发量,提高开发效率和质量,利于保持数据采集平台的稳定性。
Description
技术领域
本申请涉及数据通信技术领域,特别涉及一种基于Modbus协议标准的动态库和数据通信方法、装置、设备及计算机可读存储介质。
背景技术
当前电气监控产品中的大多数设备均采用Modbus协议标准,这些设备往往支持不同的厂家协议,同一种设备所具体采用的厂家协议不同,对应的协议量也是不一致的。而不同设备的协议间的差异量更是明显。这种情况导致了数据获取平台需要针对每一个设备都要进行相关协议的重新开发,即使与其他设备的协议的内容变化很小,底层、后台和前端代码却都可能需要改变,极大地加大了开发人员的工作量,同时会提高代码出错率,影响代码的开发质量,不利于平台的稳定性。因此,需要一个更合理的开发方式来处理这类设备的开发。鉴于此,提供一种解决上述技术问题的方案,已经是本领域技术人员所亟需关注的。
发明内容
本申请的目的在于提供一种基于Modbus协议标准的动态库和数据通信方法、装置、设备及计算机可读存储介质,以便有效减少开发人员的工作量,提高开发效率和质量。
为解决上述技术问题,第一方面,本申请公开了一种基于Modbus协议标准的数据通信方法,包括:
确定目标采集设备所适用的目标协议的协议ID;
在动态库中确定对应于所述协议ID的协议模板;所述协议模板基于动态库调用接口调用并解析对应的目标xml文件而生成,所述目标xml文件存储有对应于所述协议ID的Modbus协议标准配置参数;
将所述目标采集设备的设备参数赋值至所述协议模板中,以生成赋值后的目标协议;
利用所述赋值后的目标协议实现与所述目标采集设备间的数据通信。
可选地,所述Modbus协议标准配置参数包括BLOCK节点参数和YX节点参数;
所述BLOCK节点参数包括与各个所述数据请求指令分别依次对应的寄存器地址;所述YX节点参数包括与各个所述寄存器地址依次对应的数据名称属性;所述协议模板中包括基于所述BLOCK节点参数生成的BLOCK链表以及基于所述YX节点参数生成的YX链表。
可选地,所述利用所述赋值后的目标协议实现与所述目标采集设备间的数据通信,包括:
通过轮询所述目标协议中的BLOCK链表,向所述目标采集设备发送各个数据请求指令;所述BLOCK链表中存储有针对于所述目标采集设备的各个所述数据请求指令;
在所述目标采集设备发送的目标数据接收完毕后,返回各个所述目标数据及其对应的数据名称属性。
可选地,所述在所述目标采集设备发送的目标数据接收完毕后,返回各个所述目标数据及其对应的数据名称属性,包括:
接收所述目标采集设备当前发送的目标数据;
从所述YX链表的当前轮询节点中确定对应的数据名称属性;所述当前轮询节点与所述目标数据的寄存器地址相对应;
判断所述当前轮询节点是否为所述YX链表中的最后一个节点;
若是,则返回各个所述目标数据及其对应的数据名称属性;
若否,则指向所述YX链表中的下一个节点,并继续启动所述接收所述目标采集设备当前发送的目标数据的步骤。
可选地,在所述通过轮询所述目标协议中的BLOCK链表,向所述目标采集设备发送各个数据请求指令之后,还包括:
若未接收到目标数据,则检测通信是否异常;
若通信异常,则返回通信中断消息;
若通信正常,则继续启动所述通过轮询所述目标协议中的BLOCK链表,向所述目标采集设备发送各个数据请求指令的步骤。
可选地,所述在动态库中确定对应于所述协议ID的协议模板,包括:
在所述动态库中查找对应于所述协议ID的协议模板;
若查找成功,则返回查找到的所述协议模板;
若查找失败,则利用动态库调用接口调用并解析对应的所述目标xml文件以生成所述协议模板。
第二方面,本申请还公开了一种基于Modbus协议标准的动态库,所述动态库中包括多种xml文件以及对应的协议模板;所述xml文件存储有对应协议的Modbus协议标准配置参数;所述协议模板基于动态库调用接口调用并解析对应的所述xml文件而生成;
所述协议模板用于代入适用所述对应协议的目标采集设备的设备参数,以生成赋值后的目标协议,以便利用所述赋值后的目标协议实现与所述目标采集设备间的数据通信。
第三方面,本申请还公开了一种基于Modbus协议标准的数据通信装置,包括:
确定单元,用于确定目标采集设备所适用的目标协议的协议ID;在动态库中确定对应于所述协议ID的协议模板;所述协议模板基于动态库调用接口调用并解析对应的目标xml文件而生成,所述目标xml文件存储有对应于所述协议ID的Modbus协议标准配置参数;
生成单元,用于将所述目标采集设备的设备参数赋值至所述协议模板中,以生成赋值后的目标协议;
运行单元,用于利用所述赋值后的目标协议实现与所述目标采集设备间的数据通信。
第四方面,本申请还公开了一种基于Modbus协议标准的数据通信设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上所述的任一种基于Modbus协议标准的数据通信方法的步骤。
第五方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种基于Modbus协议标准的数据通信方法的步骤。
本申请所提供的基于Modbus协议标准的数据通信方法包括:确定目标采集设备所适用的目标协议的协议ID;在动态库中确定对应于所述协议ID的协议模板;所述协议模板基于动态库调用接口调用并解析对应的目标xml文件而生成,所述目标xml文件存储有对应于所述协议ID的Modbus协议标准配置参数;将所述目标采集设备的设备参数赋值至所述协议模板中,以生成赋值后的目标协议;利用所述赋值后的目标协议实现与所述目标采集设备间的数据通信。
可见,本申请利用动态库调用接口解析xml文件以生成协议模板,进而通过设备参数的赋值完成对目标采集设备的目标协议开发。由于适用于同种协议的多个采集设备可直接使用同一协议模板,因此可有效省却协议模板中程序结构体的重复开发;并且,当需要使用新协议时,只需生成对应的新xml文件即可,无需直接进行代码开发。由此可见,本申请可极大地减少代码的开发量,提高开发效率和质量。此外,由于各个采集设备均基于动态库而实现数据通信,因此只要对动态库进行相应的修改与完善即可实现对所有采集设备共性问题的解决,有利于简化代码的维护工作和保持数据采集平台的稳定性。本申请所提供的基于Modbus协议标准的动态库、数据通信装置、设备及计算机可读存储介质同样具有上述有益效果。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请实施例公开的一种基于Modbus协议标准的数据通信方法的流程图;
图2为本申请实施例公开的一种具体的基于Modbus协议标准的数据通信方法的流程图;
图3为本申请实施例公开的一种基于Modbus协议标准的数据通信装置的结构框图。
具体实施方式
本申请的核心在于提供一种基于Modbus协议标准的数据通信方法、装置、电子设备及计算机可读存储介质,以便有效减少开发人员的工作量,提高开发效率和质量。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,现有技术中在对接入数据采集平台的电气监控设备进行协议开发时,对于采用不同厂家协议的设备,需要进行相关协议的重新开发,即使与其他协议的内容变化很小,底层、后台和前端代码却可能都需要改变,极大地加大了开发人员的工作量,同时会提高代码出错率,影响代码的开发质量,不利于平台的稳定性。鉴于此,本申请提供了一种基于Modbus协议标准的数据通信方法,可有效解决上述问题。
参见图1所示,本申请实施例公开了一种基于Modbus协议标准的数据通信方法,主要包括:
S101:确定目标采集设备所适用的目标协议的协议ID。
在确定了要接入数据采集平台的目标采集设备之后,便可以根据目标采集设备的设备类型(例如空调、门禁、不间断电源等)以及设备型号等来确定该目标采集设备所适用的具体协议即目标协议的协议ID。
S102:在动态库中确定对应于协议ID的协议模板;协议模板基于动态库调用接口调用并解析对应的目标xml文件而生成,目标xml文件存储有对应于协议ID的Modbus协议标准配置参数。
具体的,本申请实施例所提供的基于Modbus协议标准的数据通信方法中,在动态库中设置了对应于各种协议ID的xml文件和协议模板,以供在协议开发中直接调用。
一种协议具有一个可唯一识别的协议ID。动态库中针对每种协议均预设有对应的xml文件,以及基于xml文件生成的对应的协议模板。其中,xml文件为对应协议的数据点表结构的描述,将对应协议的Modbus协议标准配置参数作为节点参数进行存储。动态库调用接口是动态库中集成的功能组件,可基于调用的xml文件自动生成对应的程序结构体,即协议模板。
进一步地,作为一种具体实施方式,在xml文件中,Modbus协议标准配置参数可以包括BLOCK节点参数和YX节点参数;
BLOCK节点参数包括与各个数据请求指令分别依次对应的寄存器地址;YX节点参数包括与各个寄存器地址依次对应的数据名称属性;协议模板中包括基于BLOCK节点参数生成的BLOCK链表以及基于YX节点参数生成的YX链表。
具体地,BLOCK节点参数可以包括功能码,用于表示发送至目标采集设备的各个数据请求指令;BLOCK节点参数还可以包括寄存器初始地址和寄存器数量,以便为对应于各个数据请求指令的目标数据指定对应的存储地址。YX节点参数包括对应于各个数据请求指令的目标数据的数据名称属性,例如电压测量值、电流测量值、电压告警值、电流告警值等。
此外,xml文件中还可包括DEVICE节点参数和YK节点参数。其中,DEVICE节点参数用于描述目标采集设备的基本参数,可具体包括设备类型、协议类型(如RTU类型和TCP类型)、协议ID、设备厂家。YK节点参数用于描述针对于目标采集设备的设置命令,如开机命令、关机命令、待机命令等。本领域技术人员可根据实际应用情况而自行选择并设置相关节点参数,本申请对此并不做进一步限定。
S103:将目标采集设备的设备参数赋值至协议模板中,以生成赋值后的目标协议。
协议模板定义了数据采集平台与适用于对应协议的采集设备间的通信模式和流程,而当具体到某一个采集设备即目标采集设备时,还需要将该目标采集设备的设备参数赋值到协议模板中,以便针对该目标采集设备完成目标协议的具体化。例如,特别地,需要通过设备参数的赋值来指定该目标采集设备所传输的目标数据所存放的寄存器地址等。
容易理解的是,一个协议模板对应于一种协议,因此,对于适用于同一种协议的多个采集设备来说,均可采用同一协议模板,无需再重新生成新的模板,更而无需像现有技术中那样将协议模板中的程序内容再一一重复开发,从而可极大地减少开发人员的工作量。
S104:利用赋值后的目标协议实现与目标采集设备间的数据通信。
本实施例所提供的基于Modbus协议标准的数据通信方法包括:确定目标采集设备所适用的目标协议的协议ID;在动态库中确定对应于协议ID的协议模板;协议模板基于动态库调用接口调用并解析对应的目标xml文件而生成,目标xml文件存储有对应于协议ID的Modbus协议标准配置参数;将目标采集设备的设备参数赋值至协议模板中,以生成赋值后的目标协议;利用赋值后的目标协议实现与目标采集设备间的数据通信。
可见,本申请利用动态库调用接口解析xml文件以生成协议模板,进而通过设备参数的赋值完成对目标采集设备的目标协议开发。由于适用于同种协议的多个采集设备可直接使用同一协议模板,因此可有效省却协议模板中程序结构体的重复开发;并且,当需要使用新协议时,只需生成对应的新xml文件即可,无需直接进行代码开发。由此可见,本申请可极大地减少代码的开发量,提高开发效率和质量。此外,由于各个采集设备均基于动态库而实现数据通信,因此只要对动态库进行相应的修改与完善即可实现对所有采集设备共性问题的解决,有利于简化代码的维护工作和保持数据采集平台的稳定性。
在上述内容的基础上,进一步地,本实施例所提供的基于Modbus协议标准的数据通信方法中,当目标采集设备的目标协议开发完成后,即可启动运行目标协议的程序代码来进行数据通信。具体过程可以包括:
通过轮询目标协议中的BLOCK链表,向目标采集设备发送各个数据请求指令;BLOCK链表中存储有针对于目标采集设备的各个数据请求指令;
在目标采集设备发送的目标数据接收完毕后,返回各个目标数据及其对应的数据名称属性。
如前,BLOCK节点参数用于描述针对于目标采集设备的数据请求指令,存储有对应的功能码。在利用动态库调用接口生成协议模板时,BLOCK节点参数将以BLOCK链表插入协议模板的程序结构体中。由此可向目标采集设备发送BLOCK链表中的数据请求指令,并等待接收目标数据。
一般地,在Modbus协议标准下,一条数据请求指令所允许请求的数据量有上限,例如100个。在每发送一个数据请求指令后,所接收到的各个目标数据即可依次存储在对应的寄存器地址中。当数据接收完成之后,即可向数据中心返回所接收的各个目标数据及其数据名称属性。
进一步地,在目标采集设备发送的目标数据接收完毕后,返回各个目标数据及其对应的数据名称属性,可以具体包括:
接收目标采集设备当前发送的目标数据;
从YX链表的当前轮询节点中确定对应的数据名称属性;当前轮询节点与目标数据的寄存器地址相对应;
判断当前轮询节点是否为YX链表中的最后一个节点;
若是,则返回各个目标数据及其对应的数据名称属性;
若否,则继续启动接收目标采集设备当前发送的目标数据的步骤。
具体地,在本实施例中,由于一般所请求的数据量较大,因此当接收到从目标采集设备处返回的目标数据之后,可利用寄存器地址对其进行解析,以便明确各个目标数据的数据名称属性。
容易理解的是,目标采集设备实际所产生的数据种类和数据量可能多于数据采集平台所需要获取的,因此xml文件中可只针对数据采集平台所需要获取的这部分数据进行请求。
在上述内容的基础上,进一步地,本实施例所提供的基于Modbus协议标准的数据通信方法中,在通过轮询目标协议中的BLOCK链表,向目标采集设备发送各个数据请求指令之后,还可以包括:
若未接收到目标数据,则检测通信是否异常;
若通信异常,则返回通信中断消息;
若通信正常,则继续启动通过轮询目标协议中的BLOCK链表,向目标采集设备发送各个数据请求指令的步骤。
具体地,若无法正常接收到目标数据,则可判断是否是由通信异常而引起的,以便在通信异常时及时上报。
在上述内容的基础上,进一步地,本实施例所提供的基于Modbus协议标准的数据通信方法中,在动态库中确定对应于协议ID的协议模板,包括:
在动态库中查找对应于协议ID的协议模板;
若查找成功,则返回查找到的协议模板;
若查找失败,则利用动态库调用接口调用并解析对应的目标xml文件以生成协议模板。
在本实施例中,在确定了目标采集设备的协议ID后、获取与协议ID对应的协议模板时,可先在动态库中已有的各个协议模板中进行查找,若查找成功则可直接使用;而若查找失败,则再重新创建对应的协议模板。
上述内容可对照参考图2,图2为本申请实施例所提供的一种具体的基于Modbus协议标准的数据通信方法,主要包括:
S201:确定目标采集设备所适用的目标协议的协议ID。
S202:在动态库中查找对应于协议ID的协议模板;若查找成功,则进入S204;若查找失败,则进入S203。
S203:利用动态库调用接口调用并解析对应的目标xml文件以生成协议模板。
S204:将目标采集设备的设备参数赋值至协议模板中,以生成赋值后的目标协议。
S205:通过轮询目标协议中的BLOCK链表,向目标采集设备发送各个数据请求指令;BLOCK链表中存储有针对于目标采集设备的各个数据请求指令。
S206:判断是否接收到目标数据;若否,则进入S207;若是,则进入S209。
S207:检测通信是否异常;若否,则进入S205;若是,则进入S208。
S208:返回通信中断消息。
S209:从YX链表的当前轮询节点中确定对应的数据名称属性;当前轮询节点与目标数据的寄存器地址相对应。
S210:判断当前轮询节点是否为YX链表中的最后一个节点;若否,则进入S211;若是,则进入S212。
S211:指向YX链表中的下一个节点;进入S209。
S212:返回各个目标数据及其对应的数据名称属性。
进一步地,本申请还公开了一种基于Modbus协议标准的动态库,其特征在于,动态库中包括多种xml文件以及对应的协议模板;xml文件存储有对应协议的Modbus协议标准配置参数;协议模板基于动态库调用接口调用并解析对应的xml文件而生成;
协议模板用于代入适用对应协议的目标采集设备的设备参数,以生成赋值后的目标协议,以便利用赋值后的目标协议实现与目标采集设备间的数据通信。
进一步地,本申请所提供的基于Modbus协议标准的动态库中,Modbus协议标准配置参数包括BLOCK节点参数和YX节点参数;
BLOCK节点参数包括与各个数据请求指令分别依次对应的寄存器地址;YX节点参数包括与各个寄存器地址依次对应的数据名称属性;协议模板中包括基于BLOCK节点参数生成的BLOCK链表以及基于YX节点参数生成的YX链表。
参见图3所示,本申请实施例公开了一种基于Modbus协议标准的数据通信装置,主要包括:
确定单元100,用于确定目标采集设备所适用的目标协议的协议ID;在动态库中确定对应于协议ID的协议模板;协议模板基于动态库调用接口调用并解析对应的目标xml文件而生成,目标xml文件存储有对应于协议ID的Modbus协议标准配置参数;
生成单元200,用于将目标采集设备的设备参数赋值至协议模板中,以生成赋值后的目标协议;
运行单元300,用于利用赋值后的目标协议实现与目标采集设备间的数据通信。
可见,本申请实施例所公开的基于Modbus协议标准的数据通信装置,利用动态库调用接口解析xml文件以生成协议模板,进而通过设备参数的赋值完成对目标采集设备的目标协议开发。由于适用于同种协议的多个采集设备可直接使用同一协议模板,因此可有效省却协议模板中程序结构体的重复开发;并且,当需要使用新协议时,只需生成对应的新xml文件即可,无需直接进行代码开发。由此可见,本申请可极大地减少代码的开发量,提高开发效率和质量。此外,由于各个采集设备均基于动态库而实现数据通信,因此只要对动态库进行相应的修改与完善即可实现对所有采集设备共性问题的解决,有利于简化代码的维护工作和保持数据采集平台的稳定性。
关于上述基于Modbus协议标准的数据通信装置的具体内容,可参考前述关于基于Modbus协议标准的数据通信方法的详细介绍,这里就不再赘述。
进一步地,本申请实施例还公开了一种基于Modbus协议标准的数据通信设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上所述的任一种基于Modbus协议标准的数据通信方法的步骤。
进一步地,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种基于Modbus协议标准的数据通信方法的步骤。
关于上述基于Modbus协议标准的数据通信设备和计算机可读存储介质的具体内容,可参考前述关于基于Modbus协议标准的数据通信方法的详细介绍,这里就不再赘述。
本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
Claims (9)
1.一种基于Modbus协议标准的数据通信方法,其特征在于,包括:
确定目标采集设备所适用的目标协议的协议ID;
在动态库中确定对应于所述协议ID的协议模板;所述协议模板基于动态库调用接口调用并解析对应的目标xml文件而生成,所述目标xml文件存储有对应于所述协议ID的Modbus协议标准配置参数;
将所述目标采集设备的设备参数赋值至所述协议模板中,以生成赋值后的目标协议;
利用所述赋值后的目标协议实现与所述目标采集设备间的数据通信;
其中,所述Modbus协议标准配置参数包括BLOCK节点参数和YX节点参数;
所述BLOCK节点参数包括与各个数据请求指令分别依次对应的寄存器地址;所述YX节点参数包括与各个所述寄存器地址依次对应的数据名称属性;所述协议模板中包括基于所述BLOCK节点参数生成的BLOCK链表以及基于所述YX节点参数生成的YX链表。
2.根据权利要求1所述的基于Modbus协议标准的数据通信方法,其特征在于,所述利用所述赋值后的目标协议实现与所述目标采集设备间的数据通信,包括:
通过轮询所述目标协议中的BLOCK链表,向所述目标采集设备发送各个数据请求指令;所述BLOCK链表中存储有针对于所述目标采集设备的各个所述数据请求指令;
在所述目标采集设备发送的目标数据接收完毕后,返回各个所述目标数据及其对应的数据名称属性。
3.根据权利要求2所述的基于Modbus协议标准的数据通信方法,其特征在于,所述在所述目标采集设备发送的目标数据接收完毕后,返回各个所述目标数据及其对应的数据名称属性,包括:
接收所述目标采集设备当前发送的目标数据;
从所述YX链表的当前轮询节点中确定对应的数据名称属性;所述当前轮询节点与所述目标数据的寄存器地址相对应;
判断所述当前轮询节点是否为所述YX链表中的最后一个节点;
若是,则返回各个所述目标数据及其对应的数据名称属性;
若否,则指向所述YX链表中的下一个节点,并继续启动所述接收所述目标采集设备当前发送的目标数据的步骤。
4.根据权利要求2所述的基于Modbus协议标准的数据通信方法,其特征在于,在所述通过轮询所述目标协议中的BLOCK链表,向所述目标采集设备发送各个数据请求指令之后,还包括:
若未接收到目标数据,则检测通信是否异常;
若通信异常,则返回通信中断消息;
若通信正常,则继续启动所述通过轮询所述目标协议中的BLOCK链表,向所述目标采集设备发送各个数据请求指令的步骤。
5.根据权利要求1至4任一项所述的基于Modbus协议标准的数据通信方法,其特征在于,所述在动态库中确定对应于所述协议ID的协议模板,包括:
在所述动态库中查找对应于所述协议ID的协议模板;
若查找成功,则返回查找到的所述协议模板;
若查找失败,则利用动态库调用接口调用并解析对应的所述目标xml文件以生成所述协议模板。
6.一种基于Modbus协议标准的动态库系统,其特征在于,所述动态库系统中包括多种xml文件以及对应的协议模板;所述xml文件存储有对应协议的Modbus协议标准配置参数;所述协议模板基于动态库调用接口调用并解析对应的所述xml文件而生成;所述Modbus协议标准配置参数包括BLOCK节点参数和YX节点参数;所述BLOCK节点参数包括与各个数据请求指令分别依次对应的寄存器地址;所述YX节点参数包括与各个所述寄存器地址依次对应的数据名称属性;所述协议模板中包括基于所述BLOCK节点参数生成的BLOCK链表以及基于所述YX节点参数生成的YX链表;
所述协议模板用于代入适用所述对应协议的目标采集设备的设备参数,以生成赋值后的目标协议,以便利用所述赋值后的目标协议实现与所述目标采集设备间的数据通信。
7.一种基于Modbus协议标准的数据通信装置,其特征在于,包括:
确定单元,用于确定目标采集设备所适用的目标协议的协议ID;在动态库中确定对应于所述协议ID的协议模板;所述协议模板基于动态库调用接口调用并解析对应的目标xml文件而生成,所述目标xml文件存储有对应于所述协议ID的Modbus协议标准配置参数;所述Modbus协议标准配置参数包括BLOCK节点参数和YX节点参数;所述BLOCK节点参数包括与各个数据请求指令分别依次对应的寄存器地址;所述YX节点参数包括与各个所述寄存器地址依次对应的数据名称属性;所述协议模板中包括基于所述BLOCK节点参数生成的BLOCK链表以及基于所述YX节点参数生成的YX链表;
生成单元,用于将所述目标采集设备的设备参数赋值至所述协议模板中,以生成赋值后的目标协议;
运行单元,用于利用所述赋值后的目标协议实现与所述目标采集设备间的数据通信。
8.一种基于Modbus协议标准的数据通信设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至5任一项所述的基于Modbus协议标准的数据通信方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如权利要求1至5任一项所述的基于Modbus协议标准的数据通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910722904.8A CN110474896B (zh) | 2019-08-06 | 2019-08-06 | 基于Modbus协议标准的数据通信方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910722904.8A CN110474896B (zh) | 2019-08-06 | 2019-08-06 | 基于Modbus协议标准的数据通信方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110474896A CN110474896A (zh) | 2019-11-19 |
CN110474896B true CN110474896B (zh) | 2022-01-04 |
Family
ID=68510227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910722904.8A Active CN110474896B (zh) | 2019-08-06 | 2019-08-06 | 基于Modbus协议标准的数据通信方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474896B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428462B (zh) * | 2020-03-04 | 2023-02-28 | 厦门科灿信息技术有限公司 | 通讯协议模板构建的方法及终端设备 |
CN113407879B (zh) * | 2020-03-16 | 2024-04-30 | 北京搜狗科技发展有限公司 | 一种数据上报方法、装置及可读介质 |
CN111585991A (zh) * | 2020-04-27 | 2020-08-25 | 阳光电源股份有限公司 | 一种三方设备的接入方法、装置及系统 |
CN112003837B (zh) * | 2020-08-05 | 2023-01-13 | 深圳市中物互联技术发展有限公司 | 基于Modbus协议的设备智能适配方法、装置及存储介质 |
CN112054955B (zh) * | 2020-08-21 | 2023-05-02 | 深圳金智凌轩视讯技术有限公司 | 基于网关的设备通信方法 |
CN114666417B (zh) * | 2020-12-04 | 2024-07-05 | 北京嗨动视觉科技有限公司 | 设备协议的处理方法、装置、存储介质和处理器 |
CN112783120A (zh) * | 2020-12-31 | 2021-05-11 | 济南大陆机电股份有限公司 | 一种基于驱动的工业计量数据采集方法与系统 |
CN112995133B (zh) * | 2021-02-02 | 2023-04-18 | 深圳市科陆电子科技股份有限公司 | 基于modbus协议的解析方法、装置及系统 |
CN114697404A (zh) * | 2022-02-25 | 2022-07-01 | 中国航发控制系统研究所 | 数控系统的上下位机通讯协议生成方法、系统及存储介质 |
CN114640727B (zh) * | 2022-03-30 | 2024-03-22 | 深圳市汇川技术股份有限公司 | 协议解析方法、装置及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6952727B1 (en) * | 1999-12-07 | 2005-10-04 | Schneider Automation Inc. | Method for adapting a computer-to-computer communication protocol for use in an industrial control system |
CN106656998A (zh) * | 2016-11-09 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 服务器通信方法及装置 |
CN107634848A (zh) * | 2017-08-07 | 2018-01-26 | 上海天旦网络科技发展有限公司 | 一种采集分析网络设备信息的系统和方法 |
CN108933784A (zh) * | 2018-06-26 | 2018-12-04 | 北京威努特技术有限公司 | 一种工控协议解码规则的表述及优化解码方法 |
CN109729072A (zh) * | 2018-11-29 | 2019-05-07 | 沈阳无距科技有限公司 | 通信协议信息处理方法、装置及电子设备 |
CN110474915A (zh) * | 2019-08-20 | 2019-11-19 | 苏州恒志汇智能科技有限公司 | 一种工业协议动态自适应适配系统的设计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101977401B1 (ko) * | 2015-09-03 | 2019-05-13 | 엘에스산전 주식회사 | 동적 모드버스 프로토콜 매핑을 지원하는 통신 장치 |
-
2019
- 2019-08-06 CN CN201910722904.8A patent/CN110474896B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6952727B1 (en) * | 1999-12-07 | 2005-10-04 | Schneider Automation Inc. | Method for adapting a computer-to-computer communication protocol for use in an industrial control system |
CN106656998A (zh) * | 2016-11-09 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 服务器通信方法及装置 |
CN107634848A (zh) * | 2017-08-07 | 2018-01-26 | 上海天旦网络科技发展有限公司 | 一种采集分析网络设备信息的系统和方法 |
CN108933784A (zh) * | 2018-06-26 | 2018-12-04 | 北京威努特技术有限公司 | 一种工控协议解码规则的表述及优化解码方法 |
CN109729072A (zh) * | 2018-11-29 | 2019-05-07 | 沈阳无距科技有限公司 | 通信协议信息处理方法、装置及电子设备 |
CN110474915A (zh) * | 2019-08-20 | 2019-11-19 | 苏州恒志汇智能科技有限公司 | 一种工业协议动态自适应适配系统的设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110474896A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110474896B (zh) | 基于Modbus协议标准的数据通信方法及相关设备 | |
CN109194617B (zh) | Xml报文的自动解析、封装方法和装置 | |
CN110990019B (zh) | 一种Java类分析方法、装置、存储介质及电子设备 | |
CN104778057A (zh) | 终端系统升级方法、装置及服务器 | |
CN110968296B (zh) | 一种数据获取方法、装置、设备及可读存储介质 | |
CN110928548A (zh) | 一种数据处理方法以及设备 | |
CN111198709A (zh) | 一种rpm软件包管理方法、系统、装置及可读存储介质 | |
CN113805969A (zh) | 参数配置的获取方法、装置、存储介质和电子设备 | |
CN111367766A (zh) | 监控主机与设备间连接关系确定方法、装置及设备 | |
CN105721451A (zh) | 一种可拓展的Modbus协议解析方法及装置 | |
CN112948189B (zh) | 一种裕度测试方法、裕度测试系统及相关装置 | |
CN112579682B (zh) | 数据模型变更的通知方法、装置、电子设备及存储介质 | |
CN111625264B (zh) | 一种多级管理系统的升级方法、装置、设备及介质 | |
WO2024113778A1 (zh) | 现场可更换单元设备的槽位确定方法、装置、设备 | |
CN110955460B (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN111488144A (zh) | 一种数据处理方法以及设备 | |
CN112887113A (zh) | 处理数据的方法、装置及系统 | |
CN107632864B (zh) | 一种建立特定排序的UEFI Boot Order的方法 | |
CN110806967A (zh) | 一种单元测试方法和装置 | |
CN107302605B (zh) | 电视代理服务器的配置方法及装置、电视及存储介质 | |
CN112788153A (zh) | 一种物联网设备升级管理方法、装置、设备及存储介质 | |
CN114384825B (zh) | 电源设备的控制方法、装置、电子设备及介质 | |
CN113268267B (zh) | 一种数据包生成方法、装置、计算机设备及存储介质 | |
CN108259566A (zh) | 一种应用的数据同步方法及装置 | |
CN115686583B (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 |