基于Modbus协议的设备智能适配方法、装置及存储介质制造方法及图纸

技术编号:26511375 阅读:20 留言:0更新日期:2020-11-27 15:40
本发明专利技术提供一种基于Modbus协议的设备智能适配方法、装置及存储介质,所述基于Modbus协议的设备智能适配方法包括:读取预设的设备配置文件以获得数据类对象链表;基于所述表指针依次对所述数据类对象链表检索以确定要访问的目标设备;基于所述设备类对象链表和所述协议类对象链表组成将要访问的所述目标设备的Modbus协议ADU报文;调用Modbus协议基本接口函数执行对所述目标设备Modbus协议ADU报文访问;收到所述目标设备返回的报文,并使用对应的所述参数类对象链表解析并处理报文中的数据。本发明专利技术还提供一种基于Modbus协议的设备智能适配装置及存储介质。本发明专利技术提供的技术方案,可有效解决基于Modubus协议的设备适配问题,使数据采集具有较高的通用性、健壮性和易维护性。

【技术实现步骤摘要】
基于Modbus协议的设备智能适配方法、装置及存储介质
本专利技术涉及一种物联网数据采集
,尤其是涉及一种基于Modbus协议的设备智能适配方法、装置及存储介质。
技术介绍
Modbus是一种主从式串行总线通信协议,中国国家标准为GB/Z19582.1-2004。因其协议简单、实施成本低、推广应用较早,目前广泛的应用于仪器仪表、工业控制、物联网数据采集等行业中。在Modbus通讯协议的应用中,一个串行总线下可能有很多不同厂家和不同类型的设备,其设备地址ID、访问功能码和寄存器地址不尽相同。传统的数据采集方法是自行开发一款数据采软件,将设备的访问参数预先写入到应用程序中,此方法有个缺陷,不同的项目或应用场景需要定制单独的应用程序,将给软件项目的开发和维护增加巨大的成本。
技术实现思路
本专利技术提供一种基于Modbus协议的设备智能适配方法、装置及存储介质,旨在解决物联网中数据采集基于Modbus协议时的设备适配问题。为实现上述目的,本专利技术提供一种基于Modbus协议的设备智能适配方法,包括:步骤S10:读取预设的设备配置文件以获得数据类对象链表;其中,所述数据类对象链表包括设备类对象链表、协议类对象链表和参数类对象链表;所述数据类对象链表中均包括表指针和MeterTypeID字段,所述表指针用于实现表的链接指向,所述MeterTypeID字段用于标识设备类型;步骤S20:基于所述表指针依次对所述数据类对象链表检索以确定要访问的目标设备;步骤S30:基于所述设备类对象链表和所述协议类对象链表组成将要访问的所述目标设备的Modbus协议ADU报文;步骤S40:调用Modbus协议基本接口函数执行对所述目标设备Modbus协议ADU报文访问;步骤S50:收到所述目标设备返回的报文,并使用对应的所述参数类对象链表解析并处理报文中的数据。进一步地,所述设备配置文件是要访问的目标设备的配置文件,所述设备配置文件包括设备表、协议表和参数表;所述设备表用于描述目标设备的身份;所述协议表用于在访问目标设备时指定Modbus协议报文的内容格式;所述参数表用于描述目标设备中各参数格式,在收到Modbus协议报文时根据所述参数格式解析提取报文中的数据。进一步地,所述设备表包括MeterID字段、MeterName字段、PortN字段、ModbusID字段和MeterTypeID字段;其中,所述MeterID字段用于记录目标设备在项目中的代号,在所属项目中具有唯一性;所述MeterName字段用于描述目标设备的名字,注释用途;所述PortN字段用于记录目标设备所属的串口总线端口号;所述ModbusID字段用于记录目标设备在Modbus协议内的设备访问地址;所述MeterTypeID字段用于记录目标设备的类型。进一步地,所述协议表包括ProtocolID字段、Fun字段、RegAddr字段、RegCnt字段和MeterTypeID字段;所述ProtocolID字段用于记录Modbus协议报文的代号;所述Fun字段用于记录报文中的功能码代号;所述RegAddr字段用于记录要访问的目标设备寄存器的开始地址;所述RegCnt字段用于记录在单个报文中要连续读/写的寄存器数量;所述MeterTypeID字段用于记录目标设备类型。进一步地,所述参数表包括ParameterID字段、RegAddr字段、DataType字段、MeterTypeID字段、DataItemID字段;所述ParameterID字段用于记录检索参数表中的记录;所述RegAddr字段用于记录参数在目标设备中的寄存器地址;所述DataType字段用于记录参数的数据类型;所述MeterTypeID字段用于记录目标设备类型。进一步地,所述设备配置文件是数据库文件。进一步地,所述基于Modbus协议的设备智能适配方法还包括:读取所述设备表创建设备类对象链表,读取所述协议表创建协议类对象链表,读取所述参数表创建参数类对象链表,所述设备类对象链表、协议类对象链表和参数类对象链表通过MeterTypeID字段进行关联,通过轮询方式对所有目标设备执行Modbus协议ADU报文访问。进一步地,所述设备类对象链表包括设备对象自有的协议链表指针pProtocol,所述协议链表指针pProtocol指向该设备对应的协议类对象链表。此外,本专利技术提供一种基于Modbus协议的设备智能适配装置,所述基于Modbus协议的设备智能适配装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于Modbus协议的设备智能适配程序,所基于Modbus协议的设备智能适配程序被所述处理器执行时实现如上述的基于Modbus协议的设备智能适配方法的步骤。同时,本专利技术提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有基于Modbus协议的设备智能适配程序,所述基于Modbus协议的设备智能适配程序可被一个或者多个处理器执行,以实现如上述的基于Modbus协议的设备智能适配方法的步骤。本专利技术提供的基于Modbus协议的设备智能适配方法、装置及存储介质,通过读取设备配置文件实现对目标设备的访问,使数据采集独立于具体的设备部署,能够支持不同类型的设备,通过正确的设备配置数据库文件就可以自动的访问相关设备,具有智能适配的特点,使数据采集具有较高的通用性、健壮性和易维护性。附图说明图1为本专利技术一实施例提供的基于Modbus协议的设备智能适配方法的流程示意图;图2为本专利技术一实施例提供的设备类对象链表的结构示意图;图3为本专利技术一实施例提供的协议类对象链表的结构示意图;图4为本专利技术一实施例提供的参数类对象链表的结构示意图;图5为本专利技术一实施例提供的设备类对象链表关联协议类对象链表的结构示意图;图6A为本专利技术一实施例提供的基于Modbus协议的设备智能适配方法的程序实现流程示意图第一部分;图6B为本专利技术一实施例提供的基于Modbus协议的设备智能适配方法的程序实现流程示意图第二部分;图7为本专利技术实施例提供了一种基于Modbus协议的设备智能适配装置的内部结构示意图;图8为本专利技术基于Modbus协议的设备智能适配装置一实施例中的基于Modbus协议的设备智能适配程序的程序模块示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。请参见图1,本专利技术提供一种基于Modbus协议的设备智能适配方法,所述基于Modbus协议的设备智能适配方法包括:步骤S10:读取预设的设备配置文件以获得数据类对象链表;其中,所述数据类对象链表包括设备类对象链表、协议类对象链表和参数类对象链表;所述数据类对象链表中均包括表指针和MeterTypeID字段,所述表指针用于实现表的本文档来自技高网...

【技术保护点】
1.一种基于Modbus协议的设备智能适配方法,其特征在于,包括:/n步骤S10:读取预设的设备配置文件以获得数据类对象链表;其中,所述数据类对象链表包括设备类对象链表、协议类对象链表和参数类对象链表;所述数据类对象链表中均包括表指针和MeterTypeID字段,所述表指针用于实现表的链接指向,所述MeterTypeID字段用于标识设备类型;/n步骤S20:基于所述表指针依次对所述数据类对象链表检索以确定要访问的目标设备;/n步骤S30:基于所述设备类对象链表和所述协议类对象链表组成将要访问的所述目标设备的Modbus协议ADU报文;/n步骤S40:调用Modbus协议基本接口函数执行对所述目标设备Modbus协议ADU报文访问;/n步骤S50:收到所述目标设备返回的报文,并使用对应的所述参数类对象链表解析并处理报文中的数据。/n

【技术特征摘要】
1.一种基于Modbus协议的设备智能适配方法,其特征在于,包括:
步骤S10:读取预设的设备配置文件以获得数据类对象链表;其中,所述数据类对象链表包括设备类对象链表、协议类对象链表和参数类对象链表;所述数据类对象链表中均包括表指针和MeterTypeID字段,所述表指针用于实现表的链接指向,所述MeterTypeID字段用于标识设备类型;
步骤S20:基于所述表指针依次对所述数据类对象链表检索以确定要访问的目标设备;
步骤S30:基于所述设备类对象链表和所述协议类对象链表组成将要访问的所述目标设备的Modbus协议ADU报文;
步骤S40:调用Modbus协议基本接口函数执行对所述目标设备Modbus协议ADU报文访问;
步骤S50:收到所述目标设备返回的报文,并使用对应的所述参数类对象链表解析并处理报文中的数据。


2.根据权利要求1所述的基于Modbus协议的设备智能适配方法,其特征在于,所述设备配置文件是要访问的目标设备的配置文件,所述设备配置文件包括设备表、协议表和参数表;所述设备表用于描述目标设备的身份;所述协议表用于在访问目标设备时指定Modbus协议报文的内容格式;所述参数表用于描述目标设备中各参数格式,在收到Modbus协议报文时根据所述参数格式解析提取报文中的数据。


3.根据权利要求2所述的基于Modbus协议的设备智能适配方法,其特征在于,所述设备表包括MeterID字段、MeterName字段、PortN字段、ModbusID字段和MeterTypeID字段;其中,所述MeterID字段用于记录目标设备在项目中的代号,在所属项目中具有唯一性;所述MeterName字段用于描述目标设备的名字,注释用途;所述PortN字段用于记录目标设备所属的串口总线端口号;所述ModbusID字段用于记录目标设备在Modbus协议内的设备访问地址;所述MeterTypeID字段用于记录目标设备的类型。


4.根据权利要求2所述的基于Modbus协议的设备智能适配方法,其特征在于,所述协议表包括ProtocolID字段、Fun字段、RegAddr字段、RegCnt字段和MeterTypeID字段;所述ProtocolID字段用于记录Modbus协议报文的代号;所述Fun字段用于记录报文中的功能码代号;所述RegAddr字...

【专利技术属性】
技术研发人员:尤东袁晓勇尤俊芳李雄谢斐
申请(专利权)人:深圳市中物互联技术发展有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1