一种快速通用多协议网关实现系统及方法与流程

文档序号:17179777发布日期:2019-03-22 20:48阅读:166来源:国知局
一种快速通用多协议网关实现系统及方法与流程

本发明涉及物联网及工业互联网领域,具体涉及一种快速通用多协议网关实现系统及方法。



背景技术:

随着物联网的发展,工业互联网也快速兴起,作为工业互联网的最基础的工作当然是数据采集,工业大数据的采集和传统的互联网大数据采集有很多不同,碰到很多难题。

现有的工业数据采集存在协议不标准的问题。工业数据采集面临的场景非常复杂,不同的传感器及现场数据采集系统采用大量自己开发各种私有的工业协议,而现有的数据采集设备都是采用预置通用工业协议实现,这些协议无法解析到私有定制协议,导致采集这些数据时,每次都需要根据协议的不同而去修改数据采集设备的程序,因而导致采集设备的安装和调试都需要研发人员的参与,无法实现采集设备的通用化,导致人力和物力的浪费。

在工业企业实施大数据项目时,数据采集来源有很多种,有的场景下需要直接采集传感器或者plc,有的场景下需要采集已经完成部属的自动化系统上位机数据。自动化系统在部署时厂商水平参差不齐,大部分系统是没有数据接口的,文档也大量缺失,大量的现场系统没有点表等基础设置数据,现有的工业数据采集网关设备无法采集到这种设备和系统的数据。

在一些工业场景中,增加数据采集设备时要求不能影响原有的系统正常工作,采集工作只能采用并联监听的方式去采集数据。现有的工业数据采集网关都需要使用专门的接口去采集数据,当现场设备不能提供额外的接口时,就无法实现数据采集。

为了解决上述问题,提供一种快速通用多协议网关实现系统及方法就很必要。



技术实现要素:

本发明所要解决的技术问题是现有技术中存在的现场调试施工时无法解析多种自定义协议的技术问题。提供一种新的快速通用多协议网关实现系统,该快速通用多协议网关实现系统具有解决了现场调试施工时无法解析多种自定义协议、配置灵活的特点。

为解决上述技术问题,采用的技术方案如下:

一种快速通用多协议网关实现系统,应用于数据采集设备,所述快速通用多协议网关实现系统包括位于数据采集设备的数据采集控制及解析模块,与数据采集控制及解析模块连接的配置解析软件模块,以及位于上位机的数据采集协议配置软件;数据采集协议包括物理层、数据链路层和应用层,数据采集协议配置软件用于配置物理层接口参数配置接口,采集报文配置接口,解析报文配置接口以及通信帧查询接口。

上述方案中,为优化,进一步地,物理层接口参数配置接口所述包括rs485接口、rs422接口、rs232接口、can接口。

本发明还提供一种快速通用多协议网关实现方法,所述方法基于前述的快速通用多协议网关实现系统,方法包括:

步骤一,根据当前被采集设备或系统的通信协议生成配置文件,配置文件以xml文件格式下发到数据采集设备,数据采集设备解析接收到的xml文件;数据采集设备配置采集设备物理层参数,生成链路层解析函数、再生成应用层协议解析函数;

步骤二,应用层根据步骤二的应用层协议解析函数构建主设备采集数据包,然后把主设备采集数据包发送到数据链路层,由数据链路层程序根据链路层解析函数进行封装生成通信帧;

步骤三,数据链路层把通信帧发给物理层,根据设置参数将数据流发送到物理链路;

步骤四,数据采集设备监听物理链路,物理层把接收到的所有数据发送到数据链路层,数据链路层识别从设备应答帧,同时接收数据放置于缓冲区,根据返回数据包解析参数确定返回通信帧的结束,把收到的完整通信帧送到应用层;

步骤五,应用层根据协议解析参数解析数据包,提取有效数据。

进一步地,所述配置文件内的配置项包括:物理层参数、主设备采集报文参数、返回数据包解析参数。

进一步地,所述配置文件内的配置项包括:接口类型,波特率,开始位,停止位,数据位,奇偶校验及流控;所述接口类型包括rs232,rs485,rs422以及can。

进一步地,所述采集报文配置接口提供的可配置项包括链路层协议配置参数,应用层协议配置参数。

进一步地,所述链路层协议配置参数包括采集报文配置参数和返回报文验证配置参数;

所述采集报文配置参数包括通信帧开始标志,设备地址,通信帧长度,通信帧类型,多个用户自定义常量,数据校验方式,数据校验开始偏移量;

所述返回报文配置参数包括通信帧开始标志,设备地址,通信帧长度,通信帧类型,多个用户自定义常量,数据校验方式,数据校验开始位置偏移量。

进一步地,所述应用层协议配置参数包括数据偏移位置,数据长度,数据类型,数据字节顺序。

本发明的有益效果:本发明将工业现场多种设备及系统的通信协议进行了统一抽象处理,提出了这些协议的共同特征,然后针对这些共同特征,实现了一种通用的数据采集框架。同时,针对不同的协议,提供了多种灵活的配置参数,适配了多种自定义协议。从而解决了现场调试施工时无法解析多种自定义协议的难题。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1,快速通用多协议网关实现系统示意图。

图2,数据采集协议配置软件流程图。

图3,配置解析软件模块的流程示意图。

图4,终端数据的采集过程示意图。

图5,接收返回数据的解析过程示意图。

图6,某液位传感系统设备链路层通信协议。

图7,某液位传感系统设备应用层通信协议。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

实施例1

本实施例提供一种快速通用多协议网关实现系统,应用于数据采集设备,如图1,所述快速通用多协议网关实现系统包括位于数据采集设备的数据采集控制及解析模块,与数据采集控制及解析模块连接的配置解析软件模块,以及位于上位机的数据采集协议配置软件;数据采集协议包括物理层、数据链路层和应用层,数据采集协议配置软件用于配置物理层接口参数配置接口,采集报文配置接口,解析报文配置接口以及通信帧查询接口。

具体地,物理层接口参数配置接口所述包括rs485接口、rs422接口、rs232接口、can接口。

本实施例还提供一种快速通用多协议网关实现方法,包括:

步骤一,根据当前被采集设备或系统的通信协议生成配置文件,配置文件以xml文件格式下发到数据采集设备,数据采集设备解析接收到的xml文件;数据采集设备配置采集设备物理层参数,生成链路层解析函数、再生成应用层协议解析函数;

步骤二,应用层根据步骤二的应用层协议解析函数构建主设备采集数据包,然后把主设备采集数据包发送到数据链路层,由数据链路层程序根据链路层解析函数进行封装生成通信帧;

步骤三,数据链路层把通信帧发给物理层,根据设置参数将数据流发送到物理链路;

步骤四,数据采集设备监听物理链路,物理层把接收到的所有数据发送到数据链路层,数据链路层识别从设备应答帧,同时接收数据放置于缓冲区,根据返回数据包解析参数确定返回通信帧的结束,把收到的完整通信帧送到应用层;

步骤五,应用层根据协议解析参数解析数据包,提取有效数据。

如图2所示,其中数据采集协议配置软件安装运行与调试计算机上,实现现场各种采集协议各种参数的详细配置,并把配置信息生成xml文件,通过网络接口发送给采集设备。

如图3所示,配置解析软件模块和数据采集控制及解析模块是运行于采集设备上的两个软件模块。其中,配置解析软件模块接收配置xml文件,并对文件进行解析,生成采集设备物理层参数、链路层解析函数、应用层协议解析函数、采集过程控制函数。数据采集控制及解析模块通过上述生成的函数进行物理层接口参数配置、数据采集指令下发、数据采集返回数据解析的工作。

如图5所示是一个终端数据的采集过程。首先,配置好采集设备物理层参数,然后启动采集过程控制函数。

(a)对于主动采集应用,采集过程控制函数调用应用层协议解析函数构建采集主动查询命令,调用链路层协议解析函数把查询命令封装成通信帧送到物理层发送出去,然后开始监听信号线,当物理层检测到数据有返回数据时,接收有效数据位并送到链路层,链路层函数解析数据,如果检测到通信帧开始标志,则开始缓存数据,检测到通信帧结束时,缓存完整的一个通信帧,计算通信帧校验和,如果校验和检验失败,则丢弃整个通信帧,开始下一次采集;如果校验和校验成功,则调用应用层协议解析函数解析通信帧,得到采集数据。通知采集控制程序开始下一次数据采集。

(b)对于被动监听应用,采集过程控制函数一直监听物理层信号,当物理层检测到数据有返回数据时,接收有效数据位并送到链路层,链路层函数解析数据,如果检测到通信帧开始标志,则开始缓存数据,检测到通信帧结束时,缓存完整的一个通信帧,计算通信帧校验和,如果校验和检验失败,则丢弃整个通信帧,开始下一次采集;如果校验和校验成功,则调用应用层协议解析函数解析通信帧,得到采集数据。通知采集控制程序开始下一次数据采集。

如图5所示,是接收返回数据的解析过程。

系统启动后,物理层监听通信链路信号,监测到信号开始位后,按字节为单位提取数据。链路层程序检查改数据是否为一个新的通信帧,如果是新通信帧则开启新的一片缓存,把该通信帧接收数据字节数设置为1,继续接收下一字节数据,如果是不是新的通信帧,则存入当期通信帧缓存区,把该通信帧接收数据字节数加1。

根据通信协议配置,如果该通信协议要求在通信帧中带有通信帧长度标识,则按照协议约定从接收的通信帧指定位置取出长度数据,如果协议没有带有通信帧长度标识,则按照配置的校验和偏移地址加上校验和长度确定通信帧长度参数。当缓存区接收的数据帧字节数达到通信帧长度参数时,则说明该通信帧接收完成;此时按照校验和计算方法计算整个通信帧校验和并和通信帧带的校验和做比较,如果校验不通过,则丢弃该数据包;如果校验和校验通过,则该通信帧接收正常,继续解析该通信帧,提取通信帧类型,确定该通信帧是主机查询报文还是终端回复报文,如果是主机查询报文,则丢弃数据,继续接收下一个通信帧,如果是终端回复报文,把整个通信帧送到应用层处理。

如图6和图7所示,为某液位传感系统设备通信协议。图6为链路层协议,图7位应用层协议,该设备为查询-应答式协议,按照其协议格式:

a)首先配置物理层参数,接口类型为rs485、波特率为9600、数据位为8、停止位为1、无校验位;

b)其次配置查询帧格式,第一个参数为设备地址,长度为1个字节;第二个参数为帧类型(功能码),长度为1个字节,其中0x03代表查询,0x06代表写入;第三个参数为应用寄存器地址,长度为2个字节;第四个参数为查询的寄存器个数,长度为2个字节;第五个参数为需要写入寄存器的应用数据,长度由对应的寄存器数据类型确定,其中int型为2个字节,float为4个字节;第六个参数为校验和,该协议采用crc16先低后高方式校验。

c)再次配置回复包链路层解析格式,第一个参数为设备地址,长度为1个字节;第二个参数为帧类型(功能码),长度为1个字节,只能配置为0x04;第三个参数为返回数据字节数,长度为2个字节;第四个参数为校验和方式,为crc16先低后高方式校验

d)按照本例所示,我们计划取油温、气温、质量、标准密度四个参数。设备地址为0x01,则查询帧的配置为:

设备地址参数配置为:0x01

协议类型参数配置为:0x03

寄存器地址参数配置为:0x3c14

寄存器数量参数配置为:0x0004

校验和配置为:crc16先低后高

回复报文解析链路层解析配置为:

设备地址参数配置为:0x01

协议类型参数配置为:0x03

寄存器数量参数配置为:0x0004

校验和配置为:crc16先低后高

回复报文解析应用层解析配置为:

油温数据:数据偏移量为4,数据长度为4,数据类型为float;

气温数据:数据偏移量为8,数据长度为4,数据类型为float;

e)配置好协议后,把生成的配置文件加载到采集设备上,采集设备解析该配置,配置设备物理接口参数,并生成查询通信帧,监听数据返回通信帧,解析听数据返回通信帧,最终取到油温和气温数据。

上述实施例仅取一项实际应用做示例,本发明不仅限于这种应用,对于各种工业现场通信协议,都可以采用上述配置方法配置后实现。

另外,针对某个特殊协议配置后,可以把该配置文件作为该协议的脚本使用,在别的地方或场景中使用该协议时,可直接调用。

本实施例提供了协议的配置方法和协议的解析方式,可方便实现一种统一的数据采集框架和通用设备,方便用户在面对不同自定义协议时的快速配置使用。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员能够理解本发明,但是本发明不仅限于具体实施方式的范围,对本技术领域的普通技术人员而言,只要各种变化只要在所附的权利要求限定和确定的本发明精神和范围内,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1