CN113381999B - 通信方法、装置及电子设备 - Google Patents

通信方法、装置及电子设备 Download PDF

Info

Publication number
CN113381999B
CN113381999B CN202110640808.6A CN202110640808A CN113381999B CN 113381999 B CN113381999 B CN 113381999B CN 202110640808 A CN202110640808 A CN 202110640808A CN 113381999 B CN113381999 B CN 113381999B
Authority
CN
China
Prior art keywords
target
protocol
data frame
communication protocol
field device
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
Application number
CN202110640808.6A
Other languages
English (en)
Other versions
CN113381999A (zh
Inventor
黄启春
张丹
魏鹏波
屠栋栋
刘海军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Harmony Technology Co ltd
Original Assignee
Hangzhou Harmony Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Harmony Technology Co ltd filed Critical Hangzhou Harmony Technology Co ltd
Priority to CN202110640808.6A priority Critical patent/CN113381999B/zh
Publication of CN113381999A publication Critical patent/CN113381999A/zh
Application granted granted Critical
Publication of CN113381999B publication Critical patent/CN113381999B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明提供了通信方法、装置及电子设备,其中,该通信方法应用于配置有协议模型的网关设备,包括:获取现场装置携带的通信协议;基于协议模型,确定与通信协议对应的目标通信协议;当监听到现场装置启动时,通过目标通信协议与现场装置进行通信。该通信方式中,通过协议模型,可以快速确定网关设备与不同现场装置之间的通信协议,与现有的人工编程不同通信协议相比,提高了网关设备中通信协议的生成效率,从而提高了网关设备中协议的兼容性,具有较好的实用价值。

Description

通信方法、装置及电子设备
技术领域
本发明涉及通信技术领域,尤其是涉及通信方法、装置及电子设备。
背景技术
在物联网领域,通信规约是网关设备与现场装置(如仪器、仪表和传感器等)之间数据采集和控制的通信约定,其中,网关设备按照规约约定指令向现场装置发送数据采集或控制指令,现场装置通过数据包的形式返回数据或执行结果,网关设备接收到数据包后,按照规约约定解析数据包,并将解析后的数据封装为上行协议数据包发送至物联网主站***,以使主站***根据协议解析上行协议数据包,并将解析的数据进行存储和展示等。
现有的网关设备大都内置有标准接入协议,支持主流协议如Modbus、MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)和OPC(OLE for ProcessControl)等,对于标准协议,只需要配置通信参数就可以实现网关设备与现场装置的通信,但是对于非标准协议的现场装置,则需要开发针对性的接入协议,并升级网关设备的协议库,以实现现场装置与网关设备的通信。因此,对于不同的现场装置,网关设备需要开发适配各种现场应用需求的协议库,导致产品开发人员长期处于协议的开发和调试工作,耗费了大量的人力物力,降低了网关设备的协议库的调试效率,从而降低了网关设备中协议的兼容性,不能满足实际通信需求。
发明内容
有鉴于此,本发明的目的在于提供通信方法、装置及电子设备,以缓解上述问题,提高了网关设备中协议的兼容性,从而满足实际多种通信需求,具有较好的实用价值。
第一方面,本发明实施例提供了一种通信方法,应用于网关设备,其中,网关设备配置有协议模型;该方法包括:获取现场装置携带的通信协议;基于协议模型,确定与通信协议对应的目标通信协议;当监听到现场装置启动时,通过目标通信协议与现场装置进行通信。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述协议模型包括以下参数:协议命令结构、协议参数、数据帧的解析条目、数据帧的封装变量、命令组和协议示例化;上述基于协议模型,确定与通信协议对应的目标通信协议的步骤,包括:确定分别与通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化;根据目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化,生成与通信协议对应的目标通信协议。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述确定分别与通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化的步骤,包括:响应于用户的设置操作,生成分别与通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述获取现场装置携带的通信协议的步骤,包括:响应于用户的输入操作,获取现场装置的通信协议;或者,获取第三方设备发送的现场装置的通信协议;其中,第三方设备预先存储有现场装置的通信协议。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述通过目标通信协议与现场装置进行通信的步骤,包括:通过目标通信协议接收现场装置发送的数据帧,并将数据帧发送至主站***;和/或,接收主站***发送的指令数据帧,并通过目标通信协议向现场装置发送指令数据帧。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述通过目标通信协议向现场装置发送指令数据帧的步骤,包括:判断指令数据帧是否包含有待替换参量;如果是,则对指令数据帧进行替换处理,将指令数据帧中的待替换变量替换为预设值,并将替换后的指令数据帧发送至现场装置;其中,预设值为指令数据帧对应的封装值。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,上述通过目标通信协议接收现场装置发送的数据帧的步骤,包括:获取现场装置发送的数据帧;基于目标通信协议判断数据帧中的数据是否合法,以及数据长度是否完整;如果均是,则对数据帧进行解析处理,以得到数据帧解析值。
第二方面,本发明实施例还提供一种通信装置,应用于网关设备,其中,网关设备配置有协议模型;该装置包括:获取模块,用于获取现场装置携带的通信协议;确定模块,用于基于协议模型,确定与通信协议对应的目标通信协议;通信模块,用于当监听到现场装置启动时,通过目标通信协议与现场装置进行通信。
第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面的通信方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面的通信方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供了通信方法、装置及电子设备,通过协议模型,可以快速生成与现场装置的通信协议对应的目标通信协议,以便当现场装置启动时,网关设备通过目标通信协议与现场装置进行通信。上述通信过程中,通过协议模型,可以快速确定网关设备与不同现场装置之间的通信协议,与现有的人工编程不同通信协议相比,提高了网关设备中通信协议的生成效率,从而提高了网关设备中协议的兼容性,具有较好的实用价值。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种物联网通信原理图;
图2为本发明实施例提供的一种通信方式的流程图;
图3为本发明实施例提供的一种协议模型示意图;
图4为本发明实施例提供的另一种通信方式的流程图;
图5为本发明实施例提供的另一种通信方式的流程图;
图6为本发明实施例提供的一种通信装置的示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有通信场景中,通过人工编程生成网关设备与不同现场装置的通信协议,耗费了大量的人力物力,降低了网关设备的协议库的调试效率和协议的兼容性的问题,本发明实施例提供了通信方法、装置及电子设备,提高了网关设备中通信协议的生成效率,进而提高了网关设备中协议的兼容性,具有较好的实用价值。
为便于对本实施例进行理解,下面首先对本发明实施例提供的一种通信方法进行详细介绍。其中,执行主体为网关设备,如图1所示,在物联网应用场景中,通常包括现场装置10、网关设备20和主站***30,在实际应用中,现场装置10包括但不仅限于仪器、仪表和传感器等装置,具体可以根据实际情况进行设置,以便采集现场装置10所处位置或对象的数据等,并通过网关设备20将采集到的数据发送至主站***30,从而实现对物品和过程的智能化感知、识别和管理等。由于每个现场装置在出厂时,均配置有对应的通信协议,因此,在网关设备20中建立网关设备20与各个现场装置10的通信协议具有重要意义。
其中,上述网关设备配置有协议模型,该协议模型用于生成与各个现场装置自身携带的通信协议相对应的目标通信协议,以实现现场装置与各个现场装置的通信,从而避免了操作人员人工编程网关设备与各个现场装置之间的通信协议,提高了通信效率,以及网关设备中协议的兼容性。
基于上述网关设备,本发明实施例提供了一种通信方法,如图2所示,该方法包括以下步骤:
步骤S202,获取现场装置携带的通信协议;
具体地,上述通信协议为每个现场装置出厂时已配置的通信协议,当物联网场景中添加某个现场装置时,首先获取该现场装置的通信协议,其中一种可能的获取方式为:响应于用户的输入操作,获取现场装置的通信协议;即操作人员根据该现场装置携带的通信协议,人工输入该现场装置的通信协议至网关设备,此外,还可以预先在网关设备中存储多个现场装置的通信协议,对于新添加的现场装置,操作人员可以在预存的多个通信协议中查找是否有该现场装置的通信协议,从而节省了现场装置的通信协议的获取时间,进而提高通信效率。
另一种可能的获取方式为:获取第三方设备发送的现场装置的通信协议;其中,第三方设备预先存储有现场装置的通信协议,即将所有现场装置的通信协议预先存储至第三方设备,并当添加某个现场装置时,触发第三方设备将该现场装置的通信协议发送至网关设备,从而避免网关设备中由于存储大量现场装置的通信协议导致通信效率降低的问题,保证了现场装置与主站***的通信效率。需要说明的是,这里第三方设备包括但不仅限于存储服务器以及其它存储智能电子设备等,具体可以根据实际情况进行设置,本发明实施例对此不作限制说明。
步骤S204,基于协议模型,确定与通信协议对应的目标通信协议;
具体地,如图3所示,上述协议模型包括以下参数:协议命令结构、协议参数、数据帧的解析条目、数据帧的封装变量、命令组和协议示例化;其中,协议命令结构包括以下子参数:命令的控制域类型、命令的命令和描述、命令的接收或发送标识(如SEND和RECV等)、命令的存储结构(用于数据帧的分组,如["Byte","Byte","Short","Short","Short"]等)、命令的模型结构(用于数据帧分组后的子模型定义,与存储结构一一对应,如["Addr","Type","StartAddr","Num","Crc16"])、命令对应的数据帧(如果是不含变量的数据帧,则可以采用十六进制存储,如68 04 83 00 00 00;如果是含变量的数据帧,则可以采用十六进制与变量组合进行存储,如{"Addr"}03{"StartAddr"}{"Num"}{"Crc16"})和命令的关键key值参数格式(用于数据帧解析,如果命令的关键key值参数格式为空,则表示数据帧的信息体是连续的值类型,此时不需要转换处理;如果命令的关键key值参数格式不为空,则从数据帧的信息体中选出一条属性作为key,并参与到解析的新型转换中)等,具体协议命令结构中的各个子参数可以根据实际情况进行设置。
上述协议参数包括以下子参数:协议的命名和描述、帧字节顺序(如大端模式或小端模式)、协议起始字符、协议结束字符、帧校验方式(如CRC(Cyclic Redundancy Check,循环冗余校验)16和CRC32等)、帧校验的起始位置、帧校验的结束位置、变长数据帧的控制域所在位、定长数据帧的控制域所在位、定长数据帧的长度、数据帧长度和长度位的差值(用于分析数据帧是否完整)和通讯方式(如串口、TcpServer和TcpClient等)等,具体协议参数中的各个子参数可以根据实际情况进行设置。
上述数据帧的解析条目(这里解析条目包括命令ID和协议ID)包括以下子参数:解析条目的命名(与协议命令结构中命令的模型结构的参数条目一一对应)、解析条目的类型(用于存储数据时作为主键用途)和解析条目的系数(用于解析值的处理)等,具体数据帧的解析条目中的各个子参数可以根据实际情况进行设置。
上述数据帧的封装变量(包括命令ID和协议ID)包括以下子参数:封装变量的名称(与命令数据帧中的INSTRUCT_FRAME的变量一一对应)、封装参数的变量值(用于替换数据帧中的变量)和封装变量类型(如原始数据替换或者间接数据替换等)等,具体数据帧的封装变量中的各个子参数可以根据实际情况进行设置。
上述命令组则由命令对组成,其中,命令对包括发送命令和接收命令,如果没有接收命令,则采用0表示,此外,命令对还可以通过“,”连接,得到命令对组合,如:11:12,13:14,2:0,在实际应用中,上述命令组包括以下子参数:命令组命名、命令组内条目的执行间隔、命令组的执行周期和命令组的执行方式(如单次执行方式、多次执行方式、无限循环执行方式和条件触发执行方式等),具体命令组中的各个子参数可以根据实际情况进行设置。
上述协议示例化包括以下子参数:在通讯链路表中添加通讯链路实例(这里通讯链路实例包含的信息有链路名如用户侧104协议、插件名如UserDefine和通讯方式如TcpServer等)、在通讯链路参数表中添加配置参数(如目标IP(0.0.0.0)、端口号(12345)和协议编号等)、创建设备(以及在设备链路关系表中添加链路,配置该设备在本条通信链路中的设备编号等)和创建点表(如通过USER_MEASUREMENT_DECODER的量测条目,并采用“LinkId_DeviceId_Type”作为主键生成到内存测点表)等,具体协议示例化中的各个子参数可以根据实际情况进行设置。
因此,基于上述协议模型中的各个参数,可以确定与通信协议对应的目标通信协议;具体地:确定分别与通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化;并根据目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化,生成与通信协议对应的目标通信协议。
在实际应用中,由于每个现场装置携带的通信协议并不相同,因此,上述确定分别与通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化的过程,还包括:响应于用户的设置操作,生成分别与通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化,即对于不同现场装置的通信协议,还通过操作人员的人工设置操作,以使网关设备生成的目标通信协议更好的符合对应的现场装置通信,因此,在生成过程中结合人工配置的方式不仅实现了现场装置与网关设备的通信,还实现了网关设备对各种通信协议的兼容,提高了网关设备中协议的兼容性。
步骤S206,当监听到现场装置启动时,通过目标通信协议与现场装置进行通信。
具体地,当现场装置上电启动时,或者物联网***上电启动时,网关设备通过目标通信协议与现场装置进行通信;由于在物联网场景中,最终实现的是现场装置通过网关设备与主站***的通信,因此,上述通信过程包括:网关设备通过目标通信协议接收现场装置发送的数据帧;并将接收到的数据帧进行封装,以便发送至主站***;和/或,接收主站***发送的用于控制现场装置的指令数据帧,并通过目标通信协议向现场装置发送指令数据帧,从而实现现场装置与主站***之间的通信功能。
上述通信方法,通过协议模型,可以快速生成与现场装置的通信协议对应的目标通信协议,以便当现场装置启动时,网关设备通过目标通信协议与现场装置进行通信。上述通信过程中,通过协议模型,可以快速确定网关设备与不同现场装置之间的通信协议,与现有的人工编程不同通信协议相比,提高了网关设备中通信协议的生成效率,从而提高了网关设备中协议的兼容性,具有较好的实用价值。
在其中一种可能的实施例中,上述通过目标通信协议向现场装置发送指令数据帧的过程包括:判断指令数据帧是否包含有待替换参量;如果是,则对指令数据帧进行替换处理,将指令数据帧中的待替换变量替换为预设值,并将替换后的指令数据帧发送至现场装置;其中,预设值为指令数据帧对应的封装值。具体地,当现场装置和网关设备上电启动后,网关设备启动自定义协议的链路服务,这里自定义协议为各个现场装置携带的通信协议,并按照自定义协议对应的目标通信协议对指令数据帧进行执行。
其中,指令数据帧包括多个命令组组成的命令组列表,如图4所示,指令数据帧的执行过程包括以下步骤:
步骤S402,启动自定义协议的链路服务;包括加载自定义协议、命令定义、命令解析定义、命令封装定义、以及命令组定义等;
步骤S404,根据自定义协议加载对应的目标通信协议;
步骤S406,启动定时器,并获取命令组列表;在实际应用中,网管设备还配置有定时器,以便及时对现场装置发送的数据帧或者主站***发送的指令数据帧进行转发处理,从而提高现场装置与主站***的通信效率;
步骤S408,判断命令组列表是否为空,如果是,则返回执行步骤S406;如果否,则执行步骤S410;
步骤S410;判断命令组列表中是否存在多条命令;如果是,执行步骤S412;如果否,则执行步骤S414;
步骤S412,将命令组列表拆分为多条的单条命令;可选的,可以通过预设分解标识如“,”分解命令组列表内的命令对,以得到多条单条命令;通过“:”分解命令对,若是配对的发送命令和接收命令,则收到的数据帧会以配对的接收命令来执行解析处理;
步骤S414,执行单条命令;
步骤S416,判断每条命令是否有配对指令;如果是,则执行步骤S418;如果否,则执行步骤S420;
步骤S418,缓存待执行的指令;
步骤S420,构造待发送的指令数据帧;
步骤S422,获取指令的INSTRUCT_FRAME值;
步骤S424,判断指令数据帧是否包含有参数;如果是,则执行步骤S426;如果否,则执行步骤S428;具体地,对于发送命令,查找该命令对应的指令数据帧,并判断指令数据帧是否含有参数,这里参数即待替换参量;
步骤S426,将指令数据帧中的参数替换为预设值;具体地,对于指令数据帧的参数,则查找该指令数据帧的封装变量,并获取封装变量对应的值,以及将该值作为预设值,并替换指令数据帧的参数,从而得到完成的指令数据帧;
步骤S428,获取完整的指令数据帧;
步骤S430,将完整的指令数据帧发送至现场装置。
在另一种可能的实施例中,上述通过目标通信协议接收现场装置发送的数据帧的过程包括:获取现场装置发送的数据帧;基于目标通信协议判断数据帧中的数据是否合法,以及数据长度是否完整;如果均是,则对数据帧进行解析处理,以得到数据帧解析值;此外,如果接收到的数据帧不完整或者不合法,则此时该数据帧为异常数据帧,网关设备应抛弃或删除该数据帧,并重新接收现场装置发送的数据帧。
为了便于理解,这里举例说明。如图5所示,包括以下步骤:
步骤S502,获取现场装置发送的数据帧;
步骤S504,判断数据帧是否完整及合法;即判断数据帧中的数据是否合法,数据长度是否完整;如果均是,则执行步骤S508,反之,则执行步骤S506;
步骤S506,删除数据帧;
步骤S508,判断是否已有上次发送的缓存发送命令;如果是,则执行步骤S512;如果否,执行步骤S510;具体地,通过判断是否已有上次发送的缓存发送命令,确定数据帧采用何种寻址解析指令;
步骤S510,读取数据帧中的控制域,并根据控制域查找对应的解析命令;
步骤S512,对数据帧进行解析处理,得到数据帧解析值;具体地,对于没有缓存发送命令的情况,从数据帧中读取控制域,并根据控制域从命令表查找对应的解析命令,以便根据该解析命令对数据帧进行解析处理;如果存在缓存发送命令,则从缓存发送命令的命令对中,直接获取接收处理命令,并根据该接收处理命令对数据帧进行解析处理,从而得到数据帧解析值。
此外,在解析处理过程中,还获取解析命令的命令规则和命令模型,并根据命令规则和命令模型对数据帧进行分组处理,命令模型中的参数作为key值,数据帧解析值作为value值,并组成键值对,生成一个Map对象;然后检查解析命令的KEY_FORMAT属性是否为空,如果为空,则表示该解析命令对应的数据帧中信息体是连续的值,如果不为空,则表示数据帧中信息体是由Key值与value值组合而成的;对于KEY_FORMAT属性为空的情况,从Map表中获取key值,并在USER_MEASUREMENT_DECODER中查找解析命令对应的解析条目,取出TYPE_NAME作为存储主键,并与链路ID和设备地址组成“LinkId_DeviceId_Type”的格式,把数据帧解析值写入数据库;对于KEY_FORMAT属性不为空的情况,则说明数据帧的信息体中带有键值对的,此时需要把KEY_FORMAT中的属性作为查找键值,完成转换后,在USER_MEASUREMENT_DECODER中查找解析命令对应的解析条目,取出TYPE_NAME作为存储主键,并与链路ID和设备地址组成“LinkId_DeviceId_Type”的格式,把数据帧解析值写入数据库,以及更新到内存测点表中,从而完成数据的解析存储。
优选地,对于现场装置发送的数据帧,网关装置得到数据帧解析值之后,还进行封装处理,以便将封装后的数据帧发送至主站***。具体的封装流程包括:获取目标通信协议中的封装命令,并检查封装命令中的INSTRUCT_FRAME属性;如果INSTRUCT_FRAME不为空,且不包含变量参数,则此时INSTRUCT_FRAME属性表征封装好的数据帧;如果INSTRUCT_FRAME不为空,且包含变量参数,则此时查找封装命令对应的USER_MEASUREMENT_PARA参数表,并获取USER_MEASUREMENT_PARA的参数值,并采用参数值替换变量参数,这里替换的类型包括:原始值直接替换和查找实时测点表中对应的值进行替换,并在替换完成后得到封装好的数据帧,并将该数据帧发送至主站***,实现现场装置将数据帧发送至主站***。
综上,通过上述网关设备中的协议模型,可以快速生成与现场装置的通信协议对应的目标通信协议,以便网关设备通过目标通信协议与现场装置进行通信,从而实现现场装置和主站***的快速通信,与现有的人工编程不同通信协议相比,提高了网关设备中通信协议的生成效率,从而提高了网关设备中协议的兼容性,具有较好的实用价值。
在上述方法实施例的基础上,本发明实施例还提供了一种通信装置,应用于网关设备,其中,网关设备配置有协议模型;如图6所示,该装置包括依次连接的获取模块61、确定模块62和通信模块63;其中,各个模块的功能如下:
获取模块61,用于获取现场装置携带的通信协议;
确定模块62,用于基于协议模型,确定与通信协议对应的目标通信协议;
通信模块63,用于当监听到现场装置启动时,通过目标通信协议与现场装置进行通信。
本发明实施例提供的通信装置,通过协议模型,可以快速生成与现场装置的通信协议对应的目标通信协议,以便当现场装置启动时,网关设备通过目标通信协议与现场装置进行通信,从而通过协议模型,可以快速确定网关设备与不同现场装置之间的通信协议,与现有的人工编程不同通信协议相比,提高了网关设备中通信协议的生成效率,进而提高了网关设备中协议的兼容性,具有较好的实用价值。
在其中一种可能的实施例中,上述协议模型包括以下参数:协议命令结构、协议参数、数据帧的解析条目、数据帧的封装变量、命令组和协议示例化;上述确定模块62还用于:确定分别与通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化;根据目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化,生成与通信协议对应的目标通信协议。
在另一种可能的实施例中,上述确定分别与通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化,包括:响应于用户的设置操作,生成分别与通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化。
在另一种可能的实施例中,上述获取模块61还用于:响应于用户的输入操作,获取现场装置的通信协议;或者,获取第三方设备发送的现场装置的通信协议;其中,第三方设备预先存储有现场装置的通信协议。
在另一种可能的实施例中,上述通信模块63还用于:通过目标通信协议接收现场装置发送的数据帧,并将数据帧发送至主站***;和/或,接收主站***发送的指令数据帧,并通过目标通信协议向现场装置发送指令数据帧。
在另一种可能的实施例中,上述通过目标通信协议向现场装置发送指令数据帧,包括:判断指令数据帧是否包含有待替换参量;如果是,则对指令数据帧进行替换处理,将指令数据帧中的待替换变量替换为预设值,并将替换后的指令数据帧发送至现场装置;其中,预设值为指令数据帧对应的封装值。
在另一种可能的实施例中,上述通过目标通信协议接收现场装置发送的数据帧,包括:获取现场装置发送的数据帧;基于目标通信协议判断数据帧中的数据是否合法,以及数据长度是否完整;如果均是,则对数据帧进行解析处理,以得到数据帧解析值。
本发明实施例提供的通信装置,与上述实施例提供的通信方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述通信方法。
参见图7所示,该电子设备包括处理器70和存储器71,该存储器71存储有能够被处理器70执行的机器可执行指令,该处理器70执行机器可执行指令以实现上述通信方法。
进一步地,图7所示的电子设备还包括总线72和通信接口73,处理器70、通信接口73和存储器71通过总线72连接。
其中,存储器71可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口73(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线72可以是ISA(IndustrialStandard Architecture,工业标准结构总线)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Enhanced Industry StandardArchitecture,扩展工业标准结构)总线等。上述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器70可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器70中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器70可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器71,处理器70读取存储器71中的信息,结合其硬件完成前述实施例的方法的步骤。
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述通信方法。
本发明实施例所提供的通信方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (5)

1.一种通信方法,其特征在于,应用于网关设备,其中,所述网关设备配置有协议模型;所述方法包括:
获取现场装置携带的通信协议;
基于所述协议模型,确定与所述通信协议对应的目标通信协议;
当监听到所述现场装置启动时,通过所述目标通信协议与所述现场装置进行通信;
所述协议模型包括以下参数:协议命令结构、协议参数、数据帧的解析条目、数据帧的封装变量、命令组和协议示例化;
所述基于所述协议模型,确定与所述通信协议对应的目标通信协议的步骤,包括:
确定分别与所述通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化;
根据所述目标协议命令结构、所述目标协议参数、所述目标数据帧的解析条目、所述目标数据帧的封装变量、所述目标命令组和所述目标协议示例化,生成与所述通信协议对应的目标通信协议;
所述确定分别与所述通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化的步骤,包括:
响应于用户的设置操作,生成分别与所述通信协议对应的所述目标协议命令结构、所述目标协议参数、所述目标数据帧的解析条目、所述目标数据帧的封装变量、所述目标命令组和所述目标协议示例化;
所述获取现场装置携带的通信协议的步骤,包括:
响应于用户的输入操作,获取所述现场装置的通信协议;或者,
基于预先存储在所述网关设备中的多个通信协议,获取所述现场装置的通信协议;或者,
获取第三方设备发送的所述现场装置的通信协议;其中,所述第三方设备预先存储有所述现场装置的通信协议;
所述通过所述目标通信协议与所述现场装置进行通信的步骤,包括:
通过所述目标通信协议接收所述现场装置发送的数据帧,并将所述数据帧发送至主站***;和/或,接收所述主站***发送的指令数据帧,并通过所述目标通信协议向所述现场装置发送所述指令数据帧;
所述通过所述目标通信协议向所述现场装置发送所述指令数据帧的步骤,包括:
启动定时器,并获取命令组列表;
判断所述命令组列表是否为空;
如果否,则判断所述命令组列表中是否存在多条命令;
如果是,将所述命令组列表拆分为多条的单条命令;
判断每条所述单条命令是否有配对指令;
如果否,构造待发送的所述指令数据帧;
判断所述指令数据帧是否包含有待替换参量;
如果是,则对所述指令数据帧进行替换处理,将所述指令数据帧中的待替换变量替换为预设值,并将替换后的指令数据帧发送至所述现场装置;其中,所述预设值为所述指令数据帧对应的封装值。
2.根据权利要求1所述的方法,其特征在于,所述通过所述目标通信协议接收所述现场装置发送的数据帧的步骤,包括:
获取所述现场装置发送的数据帧;
基于所述目标通信协议判断所述数据帧中的数据是否合法,以及数据长度是否完整;
如果均是,则对所述数据帧进行解析处理,以得到数据帧解析值。
3.一种通信装置,其特征在于,应用于网关设备,其中,所述网关设备配置有协议模型;所述装置包括:
获取模块,用于获取现场装置携带的通信协议;
确定模块,用于基于所述协议模型,确定与所述通信协议对应的目标通信协议;
通信模块,用于当监听到所述现场装置启动时,通过所述目标通信协议与所述现场装置进行通信;
所述协议模型包括以下参数:协议命令结构、协议参数、数据帧的解析条目、数据帧的封装变量、命令组和协议示例化;
所述确定模块还用于:
确定分别与所述通信协议对应的目标协议命令结构、目标协议参数、目标数据帧的解析条目、目标数据帧的封装变量、目标命令组和目标协议示例化;
根据所述目标协议命令结构、所述目标协议参数、所述目标数据帧的解析条目、所述目标数据帧的封装变量、所述目标命令组和所述目标协议示例化,生成与所述通信协议对应的目标通信协议;
所述确定模块还用于:
响应于用户的设置操作,生成分别与所述通信协议对应的所述目标协议命令结构、所述目标协议参数、所述目标数据帧的解析条目、所述目标数据帧的封装变量、所述目标命令组和所述目标协议示例化;
所述获取模块还用于:
响应于用户的输入操作,获取所述现场装置的通信协议;或者,
基于预先存储在所述网关设备中的多个通信协议,获取所述现场装置的通信协议;或者,
获取第三方设备发送的所述现场装置的通信协议;其中,所述第三方设备预先存储有所述现场装置的通信协议;
所述通信模块,还用于:
通过所述目标通信协议接收所述现场装置发送的数据帧,并将所述数据帧发送至主站***;和/或,接收所述主站***发送的指令数据帧,并通过所述目标通信协议向所述现场装置发送所述指令数据帧;
所述通信模块,还用于:
启动定时器,并获取命令组列表;
判断所述命令组列表是否为空;
如果否,则判断所述命令组列表中是否存在多条命令;
如果是,将所述命令组列表拆分为多条的单条命令;
判断每条所述单条命令是否有配对指令;
如果否,构造待发送的所述指令数据帧;
判断所述指令数据帧是否包含有待替换参量;
如果是,则对所述指令数据帧进行替换处理,将所述指令数据帧中的待替换变量替换为预设值,并将替换后的指令数据帧发送至所述现场装置;其中,所述预设值为所述指令数据帧对应的封装值。
4.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-2任一项所述的通信方法的步骤。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述权利要求1-2任一项所述的通信方法的步骤。
CN202110640808.6A 2021-06-08 2021-06-08 通信方法、装置及电子设备 Active CN113381999B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110640808.6A CN113381999B (zh) 2021-06-08 2021-06-08 通信方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110640808.6A CN113381999B (zh) 2021-06-08 2021-06-08 通信方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113381999A CN113381999A (zh) 2021-09-10
CN113381999B true CN113381999B (zh) 2023-04-28

Family

ID=77572933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110640808.6A Active CN113381999B (zh) 2021-06-08 2021-06-08 通信方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113381999B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277299A (zh) * 2008-05-13 2008-10-01 珠海中慧微电子有限公司 协议转换***及其协议转换过程
CN101917316A (zh) * 2010-09-13 2010-12-15 北京航空航天大学 一种高速实时工业以太网的通信方法及装置
CN102480462A (zh) * 2010-11-23 2012-05-30 中国电信股份有限公司 通用协议适配方法及装置
CN107124421A (zh) * 2017-05-11 2017-09-01 珠海格力电器股份有限公司 基于多协议的通信方法、多协议网关设备及可存储介质
CN108234299A (zh) * 2017-12-25 2018-06-29 上海中电电子***科技股份有限公司 基于模型的可配置协议数据网关及网关的信息处理方法
CN108401004A (zh) * 2017-02-08 2018-08-14 广东交通职业技术学院 一种农业物联网智能网关设计方法
CN112087454A (zh) * 2020-09-10 2020-12-15 上海顺舟智能科技股份有限公司 一种物联网网关设备的通信方法、装置、设备及储存介质
CN112422564A (zh) * 2020-11-18 2021-02-26 青岛海尔科技有限公司 协议的测试方法、装置、存储介质以及电子装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104125086A (zh) * 2013-04-28 2014-10-29 深圳市同洲电子股份有限公司 一种网管多协议适配的方法、装置及***
KR101982308B1 (ko) * 2017-04-25 2019-08-28 고려대학교 산학협력단 프로토콜 모델 생성 장치 및 모델링 방법
WO2018214168A1 (zh) * 2017-05-26 2018-11-29 西门子公司 数据传输方法和装置
US11343317B2 (en) * 2017-05-25 2022-05-24 Siemens Aktiengesellschaft Data transmission method and device
CN107222338A (zh) * 2017-05-27 2017-09-29 信阳师范学院 一种物联网节点信息通信模型及通信方法
CN109218261B (zh) * 2017-07-03 2022-06-28 腾讯科技(深圳)有限公司 一种数据处理方法及数据处理装置
CN112511416A (zh) * 2020-11-23 2021-03-16 四川长虹电器股份有限公司 基于规则式的数据通信协议转换***、解码及编码方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277299A (zh) * 2008-05-13 2008-10-01 珠海中慧微电子有限公司 协议转换***及其协议转换过程
CN101917316A (zh) * 2010-09-13 2010-12-15 北京航空航天大学 一种高速实时工业以太网的通信方法及装置
CN102480462A (zh) * 2010-11-23 2012-05-30 中国电信股份有限公司 通用协议适配方法及装置
CN108401004A (zh) * 2017-02-08 2018-08-14 广东交通职业技术学院 一种农业物联网智能网关设计方法
CN107124421A (zh) * 2017-05-11 2017-09-01 珠海格力电器股份有限公司 基于多协议的通信方法、多协议网关设备及可存储介质
CN108234299A (zh) * 2017-12-25 2018-06-29 上海中电电子***科技股份有限公司 基于模型的可配置协议数据网关及网关的信息处理方法
CN112087454A (zh) * 2020-09-10 2020-12-15 上海顺舟智能科技股份有限公司 一种物联网网关设备的通信方法、装置、设备及储存介质
CN112422564A (zh) * 2020-11-18 2021-02-26 青岛海尔科技有限公司 协议的测试方法、装置、存储介质以及电子装置

Also Published As

Publication number Publication date
CN113381999A (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN105578488B (zh) 网络数据采集***及方法
US7398164B2 (en) Sensor network system, base station, and method to forward measured data
US7852860B2 (en) Protocol conversion apparatus, communication apparatus, method and program
CN108881251B (zh) 一种任意二进制设备接入解析与标准化的***及方法
CN110474790B (zh) 对边缘设备进行配置的***、云平台、设备和方法
CN112153048B (zh) 信息的解析方法及装置、***、存储介质、电子装置
CN109120477B (zh) 基于modbus协议的动态解析方法、装置、服务器及存储介质
WO2013063950A1 (zh) 多模通信设备的巡检方法和***
CN107547505B (zh) 一种报文处理方法及装置
CN113381999B (zh) 通信方法、装置及电子设备
CN108076058A (zh) 基于自适应可变长编码的异构网络通讯协议融合处理方法
JP6951380B2 (ja) ゲートウェイ装置、通信方法及びプログラム
JP5194074B2 (ja) 通信装置
CN116980495A (zh) 一种数据转换方法、装置、计算机设备、介质及产品
KR20180084092A (ko) 시맨틱 검증을 위한 방법 및 장치
CN110674130A (zh) 数据传输方法
CN112699000A (zh) 数据处理方法、装置、可读存储介质和电子设备
CN113342738B (zh) 控制器算法的修改方法、设备、计算机程序产品及介质
CN112910838B (zh) 复合协议解析方法、装置、设备、***和存储介质
KR101656416B1 (ko) 실시간 데이터 전송 처리 시스템의 메시지 자동 생성 장치 및 방법
Vinkovič et al. The internet of things communication protocol for devices with low memory footprint
CN108928213B (zh) 控制面板的参数配置方法、控制面板及被控设备
CN113282622A (zh) 信息发送方法及装置、存储介质及电子装置
CN111866139A (zh) 一种基于物联网的传感器消息处理方法及***
CN114826867B (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