一种机器人串口总线的多设备数据解析及管理方法

阅读: 评论:0

著录项
  • CN201911277637.4
  • 20191211
  • CN111030907A
  • 20200417
  • 西安安森智能仪器股份有限公司
  • 王士兴;高璐
  • H04L12/40
  • H04L12/40 H04L1/00 H04L29/06

  • 陕西省西安市西安经济技术开发区草滩十路1155号智巢产业园2号楼
  • 陕西(61)
  • 西安新动力知识产权代理事务所(普通合伙)
  • 刘强
摘要
本发明属于智能防爆巡检机器人技术领域,涉及机器人串口总线的多设备数据解析及管理方法:上位机串口设备库通过自身绑定的串口通信模块将申请数据的标准Modbus?RTU指令协议传至对应的串口通信模块中,串口通信模块采用多线程的方式启动数据下发处理线程,将指令数据下发至串口;各个串口挂载的仪表设备收到对应申请数据的Modbus?RTU协议的指令后,将对应的数据发送至串口,串口通信模块串行接收各个串口设备的Modbus?RTU返回数据,将这些数据加入数据缓冲队列,用于解析数据;对缓冲队列中的数据进行多线程处理,处理完毕后分发至对应的串口设备库。在串口资源有限的情况下,该方法提供数据校验且运行稳定。
权利要求

1.一种机器人串口总线的多设备数据解析及管理方法,其特征在于,具体包括以下步骤:

步骤1、配置串口管理配置文件;

步骤2、为每个串口设备封装对应的串口设备类库或动态链接库,形成串口设备库;

步骤3、启动串口管理模块;

步骤4、串口管理模块根据配置文件打开相应的串口;

步骤5、串口管理模块装载对应的串口设备库,并根据挂载的串口总线为串口设备库的接收函数绑定对应的串口通信对象;

步骤6、定时下发申请数据的指令;

步骤7、各串口挂载的仪表设备收到对应申请数据的Modbus-RTU协议的指令后,将对应的数据发送至串口,串口通信模块串行接收各个串口设备的Modbus-RTU返回数据,将这些数据加入数据缓冲队列;

步骤8、对串口接收的标准Modbus-RTU协议的数据进行多线程处理,处理完毕后分发至对应的串口设备库,各个串口设备类库/动态链接库自行进行数据解析及应用。

2.根据权利要求1所述的机器人串口总线的多设备数据解析及管理方法,其特征在于,所述步骤1中的串口管理配置文件用于描述智能防爆巡检机器人工控机串口总线与各自串口下连接的串口设备的关系。

3.根据权利要求2所述的机器人串口总线的多设备数据解析及管理方法,其特征在于,所述串口管理配置文件包括各串口的基本信息,包括名称、波特率、校验方式、停止位。

4.根据权利要求1所述的机器人串口总线的多设备数据解析及管理方法,其特征在于,所述步骤3中的串口管理模块是上位机软件对串口和串口设备的综合管理模块,具有以下功能:根据串口名称打开/关闭具体串口,获取串口通信模块、获取串口设备、装载串口设备。

5.根据权利要求1所述的机器人串口总线的多设备数据解析及管理方法,其特征在于,所述步骤6、定时下发申请数据的指令,具体包括:

上位机串口设备库通过自身绑定的串口通信模块对象将申请数据的标准Modbus-RTU指令协议传至对应的串口通信模块中,串口通信模块采用多线程的方式启动数据下发处理线程,将指令数据下发至串口。

6.根据权利要求1所述的机器人串口总线的多设备数据解析及管理方法,其特征在于,所述步骤8具体包括以下步骤:

步骤8.1、对接收的数据按字节存入缓冲队列,用于数据解析;

步骤8.2、对字节队列进行Modbus-RTU校验处理;

步骤8.3、对于校验正确的数据根据第一字节的地址数据,查串口通信模块的串口设备数据接收函数字典,到对应的串口设备库接收函数;

步骤8.4、调用对应串口设备库的接收函数,将所述数据组成Modbus-RTU数据包下发至对应的串口设备库。

7.根据权利要求6所述的机器人串口总线的多设备数据解析及管理方法,其特征在于,所述步骤8.2具体包括以下步骤:

步骤8.2.1、按游标读取功能码:如果不是错误码,则继续读取数据,解析1字节数据长度,根据数据长度读取相应长度字节的数据;如果是错误码,再读取三个字节,所述三个字节包括一个字节的错误码,两个字节的CRC校验码,直至功能码不是错误码;

步骤8.2.2、读取两个字节的CRC校验码,组成一包完整数据包;

步骤8.2.3、对步骤8.2.2中的完整数据包进行CRC校验。

8.根据权利要求1所述的机器人串口总线的多设备数据解析及管理方法,其特征在于,每个串口设备库通过串口通信模块对象下发读取数据指令,读取仪表设备的数据;所述每个串口设备数据的采集是以循环定时的方式采集的。

说明书
技术领域

本发明属于智能防爆巡检机器人技术领域,涉及上位机软件对串口设备数据的数据解析领域,具体涉及一种机器人串口总线的多设备数据解析及管理方法。

随着经济的发展,自动化水平的不断提高,石油天然气等能源被越来越多的人们使用,伴随着的是运输的能源数量也越来越多,则在运输路途中和关键站点,逐渐使用智能防爆巡检机器人来代替人工完成关键设备的巡检工作。

智能防爆巡检机器人串口资源有限,但是因为业务需求多,功能复杂,石油天然气行业仪表设备种类多,往往需要在防爆巡检机器人上挂载多个串口设备或仪器仪表。Modbus是一种串行通信协议,是工业电子设备之间常用的连接方式,而串口协议Modbus-RTU通讯协议是这些仪表及设备多采用的通讯协议。上位机软件需要与这些种类繁多的串口设备通信,因此,如何在有限的串口资源下,实现机器人上位机软件对多串口和串口设备的管理、数据解析处理,接收与下发具有非常重要的意义和作用。

本发明的目的在于克服上述现有技术的缺点,提供一种机器人串口总线的多设备数据解析及管理方法,实现机器人上位机软件对多串口和串口设备的管理及数据解析处理。

为实现上述目的,本发明提供了如下技术方案:

一种机器人串口总线的多设备数据解析及管理方法,具体包括以下步骤:

步骤1、配置串口管理配置文件;

步骤2、为每个串口设备封装对应的串口设备类库或动态链接库,形成串口设备库;

步骤3、启动串口管理模块;

步骤4、串口管理模块根据配置文件打开相应的串口;

步骤5、串口管理模块装载对应的串口设备库/动态链接库,并根据挂载的串口总线为串口设备库/动态链接库的接收函数绑定对应的串口通信对象;

步骤6、定时下发申请数据的指令;

步骤7、各串口挂载的仪表设备收到对应申请数据的Modbus-RTU协议的指令后,将对应的数据发送至串口,串口通信模块串行接收各个串口设备的Modbus-RTU返回数据,将这些数据加入数据缓冲队列;

步骤8、对串口接收的标准Modbus-RTU协议的数据进行多线程处理,处理完毕后分发至对应的串口设备库,各个串口设备类库/动态链接库自行进行数据解析及应用。

进一步,所述步骤1中的串口管理配置文件用于描述智能防爆巡检机器人工控机串口总线与各自串口下连接的串口设备的关系。

进一步,所述串口管理配置文件包括各串口的基本信息,包括名称、波特率、校验方式、停止位等基本信息,以便灵活地对串口进行管理。

进一步,所述步骤3中的串口管理模块是上位机软件对串口和串口设备的综合管理模块,具有以下功能:根据串口名称打开/关闭具体串口,获取串口通信模块、获取串口设备、装载串口设备。

进一步,所述步骤6、定时下发申请数据的指令,具体包括:

上位机串口设备库通过自身绑定的串口通信模块对象将申请数据的标准Modbus-RTU指令协议传至对应的串口通信模块中,串口通信模块采用多线程的方式启动数据下发处理线程,将指令数据下发至串口。

进一步,所述步骤8具体包括以下步骤:

步骤8.1、对接收的数据按字节存入缓冲队列,用于数据解析;

步骤8.2、对接收的数据字节队列进行Modbus-RTU校验处理;

步骤8.3、对于校验正确的数据根据第一字节的串口设备ID,查串口通信模块的串口设备数据接收函数字典,到对应的串口设备库接收函数;

步骤8.4、调用对应串口设备库的接收函数,将所述数据组成一包Modbus-RTU数据包下发至对应的串口设备库。

进一步,所述步骤8.2具体包括以下步骤:

步骤8.2.1、按游标读取功能码:如果不是错误码,则继续读取数据,解析1字节数据长度,根据数据长度读取相应长度字节的数据;如果数据错误,再读取三个字节,所述三个字节包括一个字节的错误码,两个字节的CRC校验码;

步骤8.2.2、读取两个字节的CRC校验码,组成一包完成数据包;

步骤8.2.3、对完整数据包进行CRC校验。

进一步,每个串口设备库通过串口通信模块对象下发读取数据指令,读取仪表设备的数据;所述每个串口设备数据的采集是以循环定时的方式采集的,一个串口总线上挂载多个串口设备。

与现有技术相比,本发明提供的技术方案包括以下有益效果:通过提供一种机器人串口总线的多设备数据解析及管理方法,使得在串口资源有限的情况下,对一条串口总线挂载多个Modbus-RTU协议格式串口仪表设备的情况具有良好的统筹管理效果,且具有运行稳定、提供数据校验、结构简单等特点。

此处的附图被并入说明书中并构成本说明书的一部分,与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的串口管理配置文件结构图;

图2为本发明串口管理及通信实现过程的流程图;

图3为本发明串口通信模块数据解析流程图;

图4为本发明提供的数据通信及结构图。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与所附权利要求书中所详述的、本发明的一些方面相一致的方法的例子。

为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图及实施例对本发明作进一步详细描述。

实施例1

本发明提供了一种机器人串口总线的多设备数据解析及管理方法,具体包括以下步骤:

步骤1、配置串口管理配置文件;

步骤2、为每个串口设备封装对应的串口设备类库或动态链接库,形成串口设备库;

步骤3、启动串口管理模块;

步骤4、串口管理模块根据配置文件打开相应的串口;

步骤5、串口管理模块装载对应的串口设备库,并根据挂载的串口总线为串口设备库的接收函数绑定对应的串口通信对象;

步骤6、定时下发申请数据的指令;

步骤7、各串口挂载的仪表设备收到对应申请数据的Modbus-RTU协议的指令后,将对应的数据发送至串口,串口通信模块串行接收各个串口设备的Modbus-RTU返回数据,将这些数据加入数据缓冲队列;

步骤8、对串口接收的标准Modbus-RTU协议的数据进行多线程处理,处理完毕后分发至对应的串口设备库;

步骤9、各个串口设备类库/动态链接库自行进行数据解析及应用。

进一步,所述步骤1中的串口管理配置文件用于描述智能防爆巡检机器人工控机串口总线与各自串口下连接的串口设备的关系。

进一步,所述串口管理配置文件将各串口的基本信息,包括名称、波特率、校验方式、停止位等基本信息配置其中,以便灵活地对串口进行管理,串口管理配置文件的结构图参见图1所示。

进一步,所述步骤2中的串口设备库包含接收数据方法,串口通信模块对象,串口设备的动态链接库名称,串口设备的模块名称。本发明中为每个串口设备封装一个类库或者动态链接库,各个仪表或设备根据接收的数据,自行对数据进行详细的处理与应用。

进一步,所述步骤3中的串口管理模块是上位机软件对串口和串口设备的综合管理模块,具有以下功能:根据串口名称打开/关闭具体串口,获取串口通信模块、获取串口设备、装载串口设备。串口管理模块的启动流程如下(参见图2所示):首先,串口管理模块读取串口配置文件;其次,初始化串口通信模块;再次,打开配置的串口设备;最后,为串口设备绑定串口通信模块。

进一步,所述串口通信模块,除了具有串口对象外需具备如下功能:打开串口、关闭串口、接收串口数据、向串口下发数据、根据串口设备ID(设备地址),添加对应串口设备数据接收函数、根据串口设备ID(设备地址),删除对应串口设备数据接收函数。串口设备库要读取仪表设备的数据,需要通过串口通信模块对象下发读取指令数据,对串口设备数据的采集一般是循环定时采集的。

进一步,所述步骤6、定时下发申请数据的指令,具体包括:

上位机串口设备库通过自身绑定的串口通信模块对象将申请数据的标准Modbus-RTU指令协议传至对应的串口通信模块中,串口通信模块采用多线程的方式启动数据下发处理线程,将指令数据下发至串口。

进一步,所述步骤8具体包括以下步骤,参见图3所示:

步骤8.1、对接收的数据按字节存入缓冲队列,用于数据解析;

步骤8.2、对接收的数据字节队列进行Modbus-RTU校验处理;

步骤8.3、对于校验正确的数据根据第一字节的串口设备ID,查串口通信模块的串口设备数据接收函数字典,到对应的串口设备库接收函数;

步骤8.4、调用对应串口设备库的接收函数,将所述数据组成一包Modbus-RTU数据包下发至对应的串口设备库。

进一步,所述步骤8.2具体包括以下步骤:

步骤8.2.1、按游标读取功能码:如果不是错误码,则继续读取数据,解析1字节数据长度,根据数据长度读取相应长度字节的数据;如果数据错误,再读取三个字节,所述三个字节包括一个字节的错误码,两个字节的CRC校验码;

步骤8.2.2、读取两个字节的CRC校验码,组成一包完成数据包;

步骤8.2.3、对完整数据包进行CRC校验。

进一步,每个串口设备库通过串口通信模块对象下发读取数据指令,读取仪表设备的数据;所述每个串口设备数据的采集是以循环定时的方式采集的,一个串口总线上挂载多个串口设备。

实施例2

本发明提供了一种机器人串口总线的多设备数据解析及管理方法,应用在智能防爆巡检机器人的串口资源有限,一个串口总线上连接多个串口设备,且这些设备都遵循标准Modbus-RTU工业电子通信协议,具体开发实施过程如下,参见图4所示:

S1、配置串口管理配置文件,配置串口1的基本信息和波特率等属性,在串口1下配置温湿度仪表设备地址为1和2、甲烷气体检测仪表设备地址为3、硫化氢气体检测仪表设备地址为4;

S2、为各个串口设备封装对应的串口设备类库或动态链接库;

S3、启动串口管理模块;

S4、串口管理模块根据配置文件打开相应的串口;

S5、串口管理模块装载对应的串口设备库,并根据挂载的串口总线为串口设备库的接收函数绑定对应的串口通信对象;

S6、定时下发申请数据的指令;

S7、各串口挂载的仪表设备收到对应申请数据的Modbus-RTU协议的指令后,将对应的数据发送至串口,串口通信模块串行接收各个串口设备的Modbus-RTU返回数据,将这些数据加入数据缓冲队列;

S8、对接收的数据按字节存入缓冲队列,用于数据解析;对字节队列进行Modbus-RTU校验处理;对于校验正确的数据根据第一字节的地址数据,查串口通信模块的串口设备数据接收函数字典,到对应的串口设备库接收函数;调用对应串口设备库的接收函数,将所述数据组成Modbus-RTU数据包下发至对应的串口设备库,各个串口设备类库/动态链接库自行进行数据解析及应用。

综上,本发明提供的这种机器人串口总线的多设备数据解析及管理方法,使得在串口资源有限的情况下,对一条串口总线挂载多个Modbus-RTU协议格式串口仪表设备的情况具有良好的统筹管理效果,且具有运行稳定、提供数据校验、结构简单等特点。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。

应当理解的是,本发明并不局限于上述已经描述的内容,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

本文发布于:2023-04-15 09:05:42,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/86765.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图