CN115857910B - 一种边缘计算采集器的编程方法、装置、服务器及介质 - Google Patents
一种边缘计算采集器的编程方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN115857910B CN115857910B CN202310182132.XA CN202310182132A CN115857910B CN 115857910 B CN115857910 B CN 115857910B CN 202310182132 A CN202310182132 A CN 202310182132A CN 115857910 B CN115857910 B CN 115857910B
- Authority
- CN
- China
- Prior art keywords
- module
- collector
- programming
- edge calculation
- edge
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种边缘计算采集器的编程方法、装置、服务器及介质,该方法应用于云端服务器,包括:获取边缘计算采集器对应的文本文件,其中,文本文件包括抽取的边缘计算采集器对应的模块的元素,边缘计算采集器对应的模块为基于图形化编程平台的开发的模块;获取边缘计算采集器对应的模块关系描述文件,其中,模块关系描述文件用于描述边缘计算采集器对应的模块之间的连接关系;根据文本文件、模块关系描述文件以及预先构建的函数体库,生成边缘计算采集器的编程代码,并将编程代码发送至边缘计算采集器。通过远端服务器实现了将边缘计算采集器的基于图形化的编程转换为代码并下发,不受地域限制,复用性强,提高了编程的便捷性和效率。
Description
技术领域
本申请实施例涉及编程技术领域,尤其涉及一种边缘计算采集器的编程方法、装置、服务器及介质。
背景技术
边缘计算采集器运行于底层设备和云端服务器之间,支持串口、以太网口等连接方式,采集底层设备(如传感器、生产设备等)的数据,并对采集的数据通过相应的计算后传输至服务器。
在工业物联网场景中,边缘计算采集器需要连接海量的传感器和工业物联网智能设备等设备,不同厂家生产的设备的协议各异,为提高协议开发效率和复用性,边缘计算采集器通过图形化编程平台以图形化方式进行设备接入编程,但该图形化编程平台只能在PC(Personal Computer,个人计算机)端运行,常见开发方式为一个开发人员通过客户端上的图形化编程平台,按照现场实际情况对一台边缘计算采集器进行编程。
随着工业物联网的发展,工业设备接入场景呈现跨地域、实时性、多样化的需求,传统的一对一方式设备接入方式已不能满足快速推进的工厂数字化需求。因此,亟需一种高效、便捷的边缘计算采集器的编程方法。
发明内容
本申请实施例提供一种边缘计算采集器的编程方法、装置、服务器及介质,通过云端服务器将在图形化编程平台开发的图形化模块映射为可执行的代码,通过云端下发代码至边缘计算采集器,使得边缘计算采集器的编程不受地域限制,编程效率高。
第一方面,本申请实施例提供了一种边缘计算采集器的编程方法,所述方法应用于云端服务器,所述方法包括:
获取边缘计算采集器对应的文本文件,其中,所述文本文件包括抽取的所述边缘计算采集器对应的模块的元素,所述边缘计算采集器对应的模块为基于图形化编程平台的开发的模块,所述元素包括模块的输入参数、输出参数和函数名称;获取所述边缘计算采集器对应的模块关系描述文件,其中,所述模块关系描述文件用于描述所述边缘计算采集器对应的模块之间的连接关系;根据所述文本文件、所述模块关系描述文件以及预先构建的函数体库,生成所述边缘计算采集器的编程代码,并将所述编程代码发送至所述边缘计算采集器。
可选的,所述文本文件的生成过程包括以下步骤:
经由客户端,获取所述边缘计算采集器对应的基于图形化编程平台的开发的功能块、图形化控件以及自定义协议;提取所述功能块、图形化控件以及自定义协议的多个元素,其中,所述多个元素包括输入参数、输出参数以及函数名称;基于提取的功能块、图形化控件以及自定义协议的多个元素,生成所述边缘计算采集器对应的文本文件。
可选的,获取所述边缘计算采集器对应的模块关系描述文件,包括:
获取用户端上传的所述边缘计算采集器对应的配置文件,其中,所述配置文件包括所述边缘计算采集器接口连接的设备;根据所述配置文件,生成所述边缘计算采集器对应的模块关系描述文件。
可选的,根据所述文本文件、所述模块关系描述文件以及预先构建的函数体库,生成所述边缘计算采集器的编程代码,包括:
解析所述模块关系描述文件,得到所述边缘计算采集器对应的各模块之间的连接关系;根据所述文本文件,加载所述边缘计算采集器对应的各模块的元素,并按照所述连接关系,链接各模块,得到模块链表;根据预先构建的函数体库以及所述模块链表,生成所述边缘计算采集器的编程代码。
可选的,根据预先构建的函数体库以及所述模块链表,生成所述边缘计算采集器的编程代码,包括:
根据预先构建的函数体库,确定将所述模块链表内各模块对应的函数的函数体;调用代码转换模块,基于各模块对应的函数的函数体,按照所述模块链表对应的顺序,将各模块转换为代码,得到所述边缘计算采集器的编程代码。
可选的,所述方法还包括:
基于客户端上传的新增函数,更新所述函数体库。
可选的,述文本文件的格式为可扩展标记语言格式。
第二方面,本申请实施例还提供了一种边缘计算采集器的编程装置,所述装置应用于云端服务器,所述装置包括:
文本文件获取模块,用于获取边缘计算采集器对应的文本文件,其中,所述文本文件包括抽取的所述边缘计算采集器对应的模块的元素,所述边缘计算采集器对应的模块为基于图形化编程平台的开发的模块,所述元素包括模块的输入参数、输出参数和函数名称;关系描述文件获取模块,用于获取所述边缘计算采集器对应的模块关系描述文件,其中,所述模块关系描述文件用于描述所述边缘计算采集器对应的模块之间的连接关系;代码生成模块,用于根据所述文本文件、所述模块关系描述文件以及预先构建的函数体库,生成所述边缘计算采集器的编程代码,并将所述编程代码发送至所述边缘计算采集器。
第三方面,本申请提供一种云端服务器,包括:存储器和至少一个处理器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如本申请第一方面对应的任意实施例提供的边缘计算采集器的编程方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如本申请第一方面对应的任意实施例提供的边缘计算采集器的编程方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本申请第一方面对应的任意实施例提供的边缘计算采集器的编程方法。
本申请实施例提供的一种边缘计算采集器的编程方法、装置、服务器及介质,为了实现边缘计算采集器的云端编程,开发人员可以通过客户端的图形化编程平台进行边缘计算采集器的图形化编程,得到边缘采集器对应的多个模块,通过抽取该多个模块的元素,得到边缘计算采集器对应的文本文件,云端服务器基于该文本文件、描述多个模块之间连接关系的模块关系描述文件以及预先构建的函数体库,实现将图形化编程平台设计的多个模块转换为编程代码,从而得到边缘计算采集器的代码,通过云端服务器将该代码下发至该边缘采集器,使得用户无需到达边缘计算采集器的现场进行一对一编程,解除了边缘计算采集器编程的地域限制,提高了编程的便捷性,且通过云端将图形化编程平台的模块转换为代码,复用性高,得以通过云端将该代码下发至多个边缘计算采集器,提高了边缘计算采集器编码的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种边缘计算采集器编程过程的示意图;
图2为本申请一个实施例提供的边缘计算采集器的编程方法的流程示意图;
图3为本申请图2所示实施例中图形化程序的示意图;
图4为本申请另一个实施例提供的边缘计算采集器的编程方法的流程图;
图5为本申请一个实施例提供的模块关系描述文件的示意图;
图6为本申请一个实施例提供的基于云端的编程过程的示意图;
图7为本申请一个实施例提供的边缘计算采集器的编程装置的结构示意图;
图8为本申请一个实施例提供的云端服务器的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先,对本申请涉及的名词进行解释:
边缘计算采集器:具备边缘计算能力的数据采集器,设置在底层设备和云端服务器之间,用于缓解云端服务器的计算压力,具备网络、存储和计算的能力,可以采集底层设备数据,对采集的数据进行存储、计算等处理,以及将数据上传至云端服务器。
图形化编程平台:可以为图形化编程软件、网站等,包括预先建立的逻辑运算、数学运算、外设等多个功能块以及图形化控件,用户可以通过将功能块拖拽至开发页面,并通过图形化控件实现开发页面部署的功能块之间的连接的方式实现编程,采用图形的方式替代原始的代码,简化了编码,提高了编码的效率。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种边缘计算采集器编程过程的示意图,如图1所示,工业系统的现场包括多种类型、布局分散的多个底层设备,底层设备包括传感器、控制设备和执行设备。图1中以工业系统包括1个控制设备,多个执行设备和多个传感器为例,在一些实施例中控制设备的数量可以为多个。
示例性的,传感器可以为温度传感器、湿度传感器、振幅传感器等。
以工业系统为注塑系统为例,工业系统中的设备包括温湿度传感器、空调、电力设备和车间注塑机。边缘计算采集器可以采集温湿度传感器输出的数据,还可以监测车间注塑机的振幅、电压、频率等信息。
边缘计算采集器设置在工业系统的工业现场,用于与底层设备进行数据交互,包括获取传感器采集的数据进行存储、计算等处理,以及将处理的数据上传至云端服务器,以进行存储或利用云端服务器的强大计算能力进行数据分析。
边缘计算采集器需要接入工业系统中较多的传感器、互联网智能设备等设备,由于设备的厂家、类型不同,导致设备的通讯协议不尽相同。为了提高边缘计算采集器编程的效率和复用性,开发人员通常通过图形化编程平台进行边缘计算采集器的编程。
在编程时,开发人员需基于边缘计算采集器对应的工业系统的现场情况,对边缘计算采集器进行一对一图形化编程,即通过开发人员PC端上安装的图形化编程平台,进行边缘计算采集器的图形化编程,通过将所需的功能块、自定义功能块等拖拽至开发页面,基于图形化控件连接所选择的功能块,得到图形化程序,继而图形化编程平台对图形化程序进行编译,生成可执行文件,将该可执行文件下载到边缘计算采集器中执行,实现边缘计算采集器的编程。
示例性的,图形化编程平台可以为PLC(Programmable Logic Controller,可编程逻辑控制器)的图形化编程平台或图形化编辑器,所得到的图形化程序可以为梯形图(LD-Ladder Diagram)。
图形化编程平台还可以为其他进行图形化编程的平台,如得到顺序功能图(SFC,Sequential Function Chart)的编程平台,本申请对此不进行限定。
由于操作系统的差异,云端服务器不支持基于图形化编程平台开发的功能块和图形化控件,为了实现基于云端的边缘采集器的编程,从而克服地域限制,提高编程的便捷性和效率,本申请提供了一种边缘计算采集器的编程方法,实现了基于云端服务器的边缘计算采集器的编程方式,通过对图形化编程平台开发图形化程序的模块进行元素抽取,得到文本文件,云端服务器基于该文本文件、描述图形化编程平台开发的模块之间连接关系的模块关系描述文件以及预先构建的函数体库,实现将图形化程序转换为标准的编程代码,进而通过云端服务器将该编程代码下发至边缘计算采集器,实现边缘计算采集器的云端编程,使得开发人员可以在任意位置基于图形化编程平台进行图形化编程,进而借助云端将图形化编程平台开发的功能块和图形化控件转换为代码,从而得到边缘计算采集器的编程代码,通过云端进行编程代码的下发,克服了编程的地域限制,提高了编程的效率。且通过云端可以快速将编程代码下发至多个边缘计算采集器,复用性强。
图2为本申请一个实施例提供的边缘计算采集器的编程方法的流程示意图,该方法应用于云端服务器,可以为物理服务器或虚拟服务器,如图2所示,本实施例提供的边缘计算采集器的编程方法包括以下步骤:
步骤S201,获取边缘计算采集器对应的文本文件。
其中,所述文本文件包括抽取的所述边缘计算采集器对应的模块的元素,所述边缘计算采集器对应的模块为基于图形化编程平台的开发的模块,所述元素包括模块的输入参数、输出参数和函数名称。
由于操作系统的差异,云端服务器不支持图形化编程平台开发的功能块、图形化控件等模块。可以通过用户端(或PC端)安装的图形化编程平台开发边缘计算采集器对应的模块,该模块包括功能块、图形化控件、自定义协议对应的功能块等,以得到边缘计算采集器对应的图形化程序。可以由用户端对图形化编程平台输出的图形化程序进行元素抽取,得到边缘计算采集器对应的文本文件,并将该文本文件发送至云端服务器。
功能块为图形化程序中为了实现某种功能而设计的模块,如降噪功能块、存储功能块、数据运算功能块等。一个功能块可以由一个或多个图形化控件组成。图形化控件为图形化编程平台提供的,可以支持一些基本的逻辑运算的控件,如加法运算、乘法运算等,如定时器控件、计数器控件等。自定义协议对应的功能块用于实现用户自定义的通信协议,通过自定义协议可以限定所传输的数据应具备的格式。
具体的,可以抽取边缘计算采集器对应的图形化程序中功能块、图形化控件和自定义协议对应的功能块的元素,基于抽取的元素,生成文本文件。
可以基于图形化程序的有向图(Activity On Vertex Network,AOV),提取图形化程序中各模块的元素。还可以基于图文识别技术,如基于神经网络的图文识别技术,识别图形化程序中各模块的元素。
所抽取的元素包括功能块、图形化控件和自定义协议对应的功能块等模块的输入参数、输出参数和函数名称。输入参数可以包括接口、传输频率、协议类型等参数,函数名称为模块对应的函数的名称,为函数的唯一标识。输出参数可以包括接口,模块的输出参数可以缺省,即模块的输出参数可以为空。
可选的,所述文本文件的生成过程包括以下步骤:
经由客户端,获取所述边缘计算采集器对应的基于图形化编程平台的开发的功能块、图形化控件以及自定义协议;提取所述功能块、图形化控件以及自定义协议的多个元素,其中,所述多个元素包括输入参数、输出参数以及函数名称;基于提取的功能块、图形化控件以及自定义协议的多个元素,生成所述边缘计算采集器对应的文本文件。
开发人员在基于客户端安装的图形化编程平台完成边缘计算采集器的图形化编程之后,通过客户端安装的转换工具将边缘计算采集器对应的图形化编程转换为文本文件,该转换工具对获取的边缘计算采集器对应的图形化编程的功能块、图形化控件和自定义协议对应的功能块等模块进行元素提取,得到边缘计算采集器对应的各模块的输入参数、输出参数和函数名称,将抽取的元素,整合为文本文件。
具体的,可以按照文本文件对应的格式,组织抽取的各模块的输入参数、输出参数和函数名称等元素,得到边缘计算采集器对应的文本文件。
可以通过第三方编辑器,将抽取的各模块的输入参数、输出参数和函数名称等元素,组织为所需格式的文本文件。
文本文件可以采用任意一种标记语言描述,如ML(Markup Language,标记语言)、XML(Extensible Markup Language,可扩展标记语言)或者其他标记语言。
通过客户端对功能块、图形化控件等模块进行元素抽取,并将抽取的元素整理为文本文件,为云端服务器解析图形化编程提供了基础。
可选的,所述文本文件的格式为可扩展标记语言(XML,Extensible MarkupLanguage)格式。
XML格式下描述的文本文件,其标记用于描述抽取的元素,如函数名、输入接口、输出接口等。
基于XML描述的文本文件,支持多种编码方式,可以实现跨平台使用,从而使得客户端和云端服务器均可以对该文本文件进行处理。
示例性的,图3为本申请图2所示实施例中图形化程序的示意图,图3以图形化程序为梯形图为例,边缘计算采集器对应的梯形图的一部分如图3所示,图3中所提供的梯形图用于实现将变量K5的值与变量K6相加后重新赋值给变量K5。图3中该图形化控件的名称为addw1,类型为ADDW,包括两个输入参数In1和In2,以及一个输出参数Out1。通过本实施例提供的步骤,得到的该部分梯形图对应的文本文件(以XML格式为例)为:
其中,Location和Size属性分别用于限定图形化控件的位置和尺寸,尺寸可以包括长度和宽度,位置可以图形化控件中心点或者左上角顶点的位置。
步骤S202,获取所述边缘计算采集器对应的模块关系描述文件。
其中,所述模块关系描述文件用于描述所述边缘计算采集器对应的模块之间的连接关系。
经由云端服务器,基于边缘计算采集器对应的图形化编程中的各模块之间的连接关系,构建模块关系描述文件。
图形化编程中各模块之间的连接关系可以通过模块关系描述文件进行抽取,在该模块关系描述文件中可以记录各模块之间的连接关系,如通过标记记录模块的上一模块和下一模块。
模块关系描述文件还可以基于边缘采集器对应的工业系统的配置文件生成,该配置文件用于描述边缘采集器各接口连接的设备,进而结合文本文件中各模块的输入参数和输出参数,确定各模块的连接关系,基于该连接关系,构建模块关系描述文件。
步骤S203,根据所述文本文件、所述模块关系描述文件以及预先构建的函数体库,生成所述边缘计算采集器的编程代码,并将所述编程代码发送至所述边缘计算采集器。
其中,预先构建的函数体库包括图形化编程中所使用的各函数的函数体。
具体的,根据模块关系描述文件,确定各模块之间的连接关系;进而基于文本文件,确定各模块对应的函数;通过函数体库提取各模块对应的函数的函数体;基于连接关系以及各模块对应的函数的函数体,生成该边缘计算采集器的编程代码。
可以通过代码转换模块,按照连接关系对应的顺序,以及基于各模块对应的函数的函数体,将各模块转换为标准代码,从而得到边缘计算采集器的编程代码。
若工业系统存在分布在多个区域的边缘计算采集器的编程相同,则云端服务器可以将生成的边缘计算采集器的编程代码,下发至该多个边缘计算采集器。
本实施例提供的边缘计算采集器的编程方法,为了实现边缘计算采集器的云端编程,开发人员可以通过客户端的图形化编程平台进行边缘计算采集器的图形化编程,得到边缘采集器对应的多个模块,通过抽取该多个模块的元素,得到边缘计算采集器对应的文本文件,云端服务器基于该文本文件、描述多个模块之间连接关系的模块关系描述文件以及预先构建的函数体库,实现将图形化编程平台设计的多个模块转换为编程代码,从而得到边缘计算采集器的代码,通过云端服务器将该代码下发至该边缘采集器,使得用户无需到达边缘计算采集器的现场进行一对一编程,解除了边缘计算采集器编程的地域限制,提高了编程的便捷性,且通过云端将图形化编程平台的模块转换为代码,复用性高,得以通过云端将该代码下发至多个边缘计算采集器,提高了边缘计算采集器编码的效率。
边缘计算采集器的编程主要是为了实现边缘计算采集器的接口与连接的设备(如传感器、物联网设备等)之间的通讯协议,边缘计算采集器对应的图形化编程,通过功能块、自定义协议对应的功能块以及图形化控件,实现边缘计算采集器的接口与连接的设备之间的通讯协议对应的逻辑关系的表述。
通过对边缘计算采集的编程,使得边缘计算采集器的接口基于指定的协议与连接的设备进行数据交互。
图4为本申请另一个实施例提供的边缘计算采集器的编程方法的流程图,本实施例是在图2所示实施例的基础上,对步骤S202以及步骤S203进行进一步细化,如图4所示,本实施例提供的边缘计算采集器的编程方法可以包括以下步骤:
步骤S301,获取边缘计算采集器对应的文本文件。
步骤S302,获取用户端上传的所述边缘计算采集器对应的配置文件。
其中,所述配置文件包括所述边缘计算采集器接口连接的设备。该设备可以为工业系统中任意一种设备,如传感器、执行设备、控制设备等。
配置文件还可以包括边缘计算采集器接口对应的协议信息,如协议类型、协议标识、通讯地址等。
配置文件可以由现场人员基于工业系统的现场情况,确定边缘计算采集器接口连接的工业系统其他设备、各接口的通讯地址以及采用的通讯协议等信息,基于这些信息生成边缘计算采集器对应的配置文件,进而将配置文件上传至云端服务器。
现场人员可以通过手机、计算机等设备,将配置文件上传至云端服务器。
具体的,现场人员可以通过配置页面,以选配的方式配置边缘计算采集器接口连接的设备以及对应的协议信息,如通过下拉菜单选择通讯协议,基于配置页面的配置信息生成配置文件。
步骤S303,根据所述配置文件,生成所述边缘计算采集器对应的模块关系描述文件。
具体的,可以基于配置文件中边缘计算采集器接口连接的设备等信息,以及各功能块对应的接口,确定各模块之间的连接关系,基于该连接关系,构建边缘计算采集器对应的模块关系描述文件。
进一步地,云端服务器可以基于配置文件以及文本文件,生成边缘计算采集器对应的模块关系描述文件。
可以基于配置文件以及文本文件中各模块的输入参数和输出参数,生成模块关系描述文件,该模块关系描述文件中包括边缘计算采集器各模块之间的连接关系,模块的元素还包括模块的协议信息,如协议类型、通讯地址等。
云端服务器可以基于配置文件中边缘计算采集器接口的协议信息,以及文本文件中各模块对应的接口、模块的上一模块和下一模块等信息,生成模块关系描述文件。
示例性的,图5为本申请一个实施例提供的模块关系描述文件的示意图,图5中以边缘计算采集器对应5个模块为例,包括起始模块,模块D1至模块D3,以及结束模块,如图5所示,在模块关系描述文件中,各模块采用输入参数、输出参数、上一模块标识和下一模块标识表示,上一模块标识和下一模块标识分别为上一模块和下一模块的标识,上一模块和下一模块均为连接关系中与模块连接的模块,上一模块为连接关系中模块的上一模块,下一模块则为连接关系中模块的下一模块。模块D2的上一模块为模块D1,下一模块为模块D3,D1、D2、D3分别为模块D1、模块D2、模块D3的模块标识,起始模块的模块标识为STAR,结束模块的模块标识为END。输入参数可以包括模块对应的串口、通信地址、通信检验、串口传输数据的位数、串口通信停止位的位数、串口通信的速率等。模块D1的输入参数依次包括COM1、1、N、8、1、9600,其中,第一个输入参数“COM1”表示模块D1对应的物理端口为串口1,第二个输入参数“1”表示模块D1的通信地址为1,第三个输入参数“N”表示通信无校验,第四个参数“8”表示串口通信传输的数据位数为8位,第五个参数“1”表示串口通信的停止位为1位,最后一个参数“9600”表示串口通信的速率为9600bps,以此类推,可以确定其他模块对应的输入参数的含义。
模块D1对应的示例函数为:
{
模块D1 = new 模块;
模块D1.port = COM1;
模块D1.addr = 1;
模块D1.parity = ‘N’;
模块D1.databits = 8;
模块D1.stopbits = 1;
模块D1.baudrate = 9600;
模块D1.Pre = START;
模块D1.Next = D2;
}
步骤S304,解析所述模块关系描述文件,得到所述边缘计算采集器对应的各模块之间的连接关系。
基于云端服务器中的关系分析器,加载并解析模块关系描述文件,解析出边缘计算采集器对应的各模块之间的连接关系。
步骤S305,根据所述文本文件,加载所述边缘计算采集器对应的各模块的元素,并按照所述连接关系,链接各模块,得到模块链表。
加载文本文件中各模块的元素,实现模块的加载,进而按照连接关系中模块之间的顺序,链接各模块,得到对应的模块链表。模块在模块链表中的顺序与连接关系中模块的顺序一致。模块链表中包括各模块对应的元素,该元素包括模块对应的函数(可以采用函数名称表示)、输入参数,还可以包括输出参数。
模块链表由一些列的结点组成,结点在运行时动态生成,模块链表中模块的顺序,由结点中的指针指向的顺序表征。
步骤S306,根据预先构建的函数体库以及所述模块链表,生成所述边缘计算采集器的编程代码。
预先构建的函数体库可以采用标准语言进行开发,如C语言、Python、Java或者其他语言。
可以基于模块链表中各模块的函数名称,从函数体库中查找该函数名称的函数体,基于各模块对应的函数体以及模块链表中各模块的连接关系,生成边缘计算采集器的编程代码。该编程代码为标准语言下的代码。
可选的,根据预先构建的函数体库以及所述模块链表,生成所述边缘计算采集器的编程代码,包括:
根据预先构建的函数体库,确定将所述模块链表内各模块对应的函数的函数体;调用代码转换模块,基于各模块对应的函数的函数体,按照所述模块链表对应的顺序,将各模块转换为代码,得到所述边缘计算采集器的编程代码。
具体的,可以基于模块链表中各模块的函数名称,从函数体库中查找该函数名称的函数体,调用代码转换模块基于模块对应的函数的函数体,得到各模块对应的编程代码,并按照模块的连接关系的顺序,对各模块对应的编程代码进行拼接,得到边缘计算采集器的编程代码。
进一步地,该边缘计算采集器的编程方法还包括:
基于客户端上传的新增函数,更新所述函数体库。
用户在客户端上的图形化编程平台进行边缘计算采集器的图形化编程时,可以注册新增函数,基于该新增函数对应的模块进行图形化编程。当检测到新增函数时,客户端将该新增函数上传至云端服务器,经由云端服务器基于该新增函数更新函数体库,以确保函数体库的实时更新。
步骤S307,将所述编程代码发送至所述边缘计算采集器。
进一步地,还可以基于编程代码生成可执行文件,将该可执行文件下载至边缘计算采集器中,以便于边缘计算采集器基于该可执行文件实现基于对应的协议进行数据交互。
在本实施例中,通过客户端将图形化编程平台开发的图形化编程转换为文本文件,如XML文件,使得云端服务器可以基于该文本文件确定模块对应的元素,为将图形化编程转换为标准代码提供了基础;云端服务器通过上传的工业系统现场的配置文件,结合文本文件中模块的连接关系,构建模块关系描述文件;进而在代码映射时,通过解析该模块关系描述文件得到模块之间的连接关系,基于文本文件中各模块的元素,实现模块元素的加载,按照连接关系链接各模块,得到模块链表,调用代码转换模块,将模块链表内的模块,按照固定的顺序转换为标准代码,完成云端代码的转换,从而通过云端进行边缘计算采集器代码的下发,实现了基于云端的边缘计算采集器的编程,面对分布在多个区域的边缘计算采集器,克服了地域限制,实现了通过云端的编程方法,编程效率高、便捷性强。
图6为本申请一个实施例提供的基于云端的编程过程的示意图,如图6所示,在通过客户端的图形化编程平台完成边缘计算采集器的图形化编程之后,基于客户端的转换工具对图形化编程得到的功能块、图形化控件以及自定义功能块(对应自定义协议)进行元素抽取,并基于抽取的元素,生成XML格式的文本文件,记为XML文件,并将XML文件上传云端服务器。云端服务器的关系分析器基于模块关系描述文件以及该XML文件,按照模块关系描述文件中指示的模块之间的连接关系的顺序,通过XML文件加载各模块,进而经由代码转换模块,基于加载的各模块以及函数体库,生成边缘计算采集器的编程代码(或称为标准代码),实现图形化编程的代码转换。进而通过云端服务器将生成的编程代码转换为可执行文件,将该可执行文件下载至一个或多个边缘计算采集器中,以通过执行该可执行文件实现通过指定的协议进行数据交互。
图7为本申请一个实施例提供的边缘计算采集器的编程装置的结构示意图,该边缘计算采集器的编程装置应用于云端服务器,如图7所示,本实施例提供的边缘计算采集器的编程装置包括:文本文件获取模块610、关系描述文件获取模块620以及代码生成模块630。
其中,文本文件获取模块610用于获取边缘计算采集器对应的文本文件,其中,所述文本文件包括抽取的所述边缘计算采集器对应的模块的元素,所述边缘计算采集器对应的模块为基于图形化编程平台的开发的模块,所述元素包括模块的输入参数、输出参数和函数名称;关系描述文件获取模块620用于获取所述边缘计算采集器对应的模块关系描述文件,所述模块关系描述文件用于描述所述边缘计算采集器对应的模块之间的连接关系;代码生成模块630用于根据所述文本文件、所述模块关系描述文件以及预先构建的函数体库,生成所述边缘计算采集器的编程代码,并将所述编程代码发送至所述边缘计算采集器。
可选的,所述装置还包括:
文本文件生成模块,用于经由客户端获取所述边缘计算采集器对应的基于图形化编程平台的开发的功能块、图形化控件以及自定义协议;提取所述功能块、图形化控件以及自定义协议的多个元素,其中,所述多个元素包括输入参数、输出参数以及函数名称;基于提取的功能块、图形化控件以及自定义协议的多个元素,生成所述边缘计算采集器对应的文本文件。
可选的,关系描述文件获取模块620,具体用于:
获取用户端上传的所述边缘计算采集器对应的配置文件,其中,所述配置文件包括所述边缘计算采集器接口连接的设备;根据所述配置文件,生成所述边缘计算采集器对应的模块关系描述文件。
可选的,代码生成模块630,包括:
解析单元,用于解析所述模块关系描述文件,得到所述边缘计算采集器对应的各模块之间的连接关系;链表生成单元,用于根据所述文本文件,加载所述边缘计算采集器对应的各模块的元素,并按照所述连接关系,链接各模块,得到模块链表;代码生成单元,用于根据预先构建的函数体库以及所述模块链表,生成所述边缘计算采集器的编程代码。
可选的,代码生成单元,具体用于:
根据预先构建的函数体库,确定将所述模块链表内各模块对应的函数的函数体;调用代码转换模块,基于各模块对应的函数的函数体,按照所述模块链表对应的顺序,将各模块转换为代码,得到所述边缘计算采集器的编程代码。
可选的,所述装置还包括:
函数体更新模块,用于基于客户端上传的新增函数,更新所述函数体库。
本申请实施例所提供的边缘计算采集器的编程装置可执行本申请任意实施例所提供的边缘计算采集器的编程方法,具备执行方法相应的功能模块和有益效果。
图8为本申请一个实施例提供的云端服务器的结构示意图,如图8所示,该云端服务器包括:存储器710和至少一个处理器720。
其中,存储器710存储计算机执行指令;至少一个处理器720执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行以实现本申请任意实施例提供的边缘计算采集器的编程方法。
其中,存储器710和处理器720通过总线730连接。
相关说明可以对应参见本申请任意实施例提供的边缘计算采集器的编程方法的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本申请一个实施例提供一种计算机可读存储介质,其中存储有计算机执行指令,当处理器执行计算机执行指令时,实现本申请任意实施例提供的边缘计算采集器的编程方法。
其中,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请一个实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行以实现本申请任意实施例提供的边缘计算采集器的编程方法。
其中,处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或模块的间接耦合或通讯连接,可以是电性,机械或其它的形式。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (7)
1.一种边缘计算采集器的编程方法,其特征在于,所述方法应用于云端服务器,所述方法包括:
获取边缘计算采集器对应的文本文件,其中,所述文本文件包括抽取的所述边缘计算采集器对应的模块的元素,所述边缘计算采集器对应的模块为基于图形化编程平台的开发的模块,所述元素包括模块的输入参数、输出参数和函数名称;
获取所述边缘计算采集器对应的模块关系描述文件,其中,所述模块关系描述文件用于描述所述边缘计算采集器对应的模块之间的连接关系;
解析所述模块关系描述文件,得到所述边缘计算采集器对应的各模块之间的连接关系;
根据所述文本文件,加载所述边缘计算采集器对应的各模块的元素,并按照所述连接关系,链接各模块,得到模块链表;
根据预先构建的函数体库,确定将所述模块链表内各模块对应的函数的函数体;
调用代码转换模块,基于各模块对应的函数的函数体,按照所述模块链表对应的顺序,将各模块转换为代码,得到所述边缘计算采集器的编程代码;
将所述编程代码发送至所述边缘计算采集器。
2.根据权利要求1所述的方法,其特征在于,所述文本文件的生成过程包括以下步骤:
经由客户端,获取所述边缘计算采集器对应的基于图形化编程平台的开发的功能块、图形化控件以及自定义协议;
提取所述功能块、图形化控件以及自定义协议的多个元素,其中,所述多个元素包括输入参数、输出参数以及函数名称;
基于提取的功能块、图形化控件以及自定义协议的多个元素,生成所述边缘计算采集器对应的文本文件。
3.根据权利要求1所述的方法,其特征在于,获取所述边缘计算采集器对应的模块关系描述文件,包括:
获取用户端上传的所述边缘计算采集器对应的配置文件,其中,所述配置文件包括所述边缘计算采集器接口连接的设备;
根据所述配置文件,生成所述边缘计算采集器对应的模块关系描述文件。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述文本文件的格式为可扩展标记语言格式。
5.一种边缘计算采集器的编程装置,其特征在于,所述装置应用于云端服务器,所述装置包括:
文本文件获取模块,用于获取边缘计算采集器对应的文本文件,其中,所述文本文件包括抽取的所述边缘计算采集器对应的模块的元素,所述边缘计算采集器对应的模块为基于图形化编程平台的开发的模块,所述元素包括模块的输入参数、输出参数和函数名称;
关系描述文件获取模块,用于获取所述边缘计算采集器对应的模块关系描述文件,其中,所述模块关系描述文件用于描述所述边缘计算采集器对应的模块之间的连接关系;
代码生成模块,用于解析所述模块关系描述文件,得到所述边缘计算采集器对应的各模块之间的连接关系;根据所述文本文件,加载所述边缘计算采集器对应的各模块的元素,并按照所述连接关系,链接各模块,得到模块链表;根据预先构建的函数体库,确定将所述模块链表内各模块对应的函数的函数体;调用代码转换模块,基于各模块对应的函数的函数体,按照所述模块链表对应的顺序,将各模块转换为代码,得到所述边缘计算采集器的编程代码;将所述编程代码发送至所述边缘计算采集器。
6.一种云端服务器,其特征在于,包括:存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-4任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310182132.XA CN115857910B (zh) | 2023-03-01 | 2023-03-01 | 一种边缘计算采集器的编程方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310182132.XA CN115857910B (zh) | 2023-03-01 | 2023-03-01 | 一种边缘计算采集器的编程方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115857910A CN115857910A (zh) | 2023-03-28 |
CN115857910B true CN115857910B (zh) | 2023-06-06 |
Family
ID=85659431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310182132.XA Active CN115857910B (zh) | 2023-03-01 | 2023-03-01 | 一种边缘计算采集器的编程方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115857910B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116679610A (zh) * | 2023-07-17 | 2023-09-01 | 上海能誉科技股份有限公司 | 一种控制器的编程方法、可视化开发工具及控制器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115900A (zh) * | 2021-11-25 | 2022-03-01 | 北京力控元通科技有限公司 | 一种脚本编译方法、装置及电子设备 |
CN114675830A (zh) * | 2022-03-08 | 2022-06-28 | 南京南瑞继保电气有限公司 | 部署边缘ai和构建可视化ai编程平台的方法、装置及电子设备 |
CN115562634A (zh) * | 2022-09-28 | 2023-01-03 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 面向雷达业务流程的可视化开发平台 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681444A (zh) * | 2018-04-12 | 2018-10-19 | 华中科技大学 | 一种基于xml技术的软plc组态开发方法 |
CN110376959B (zh) * | 2019-07-25 | 2022-07-08 | 大连理工大学 | 一种基于fpga平台的软plc组态软件生成系统 |
US10884732B1 (en) * | 2019-08-29 | 2021-01-05 | International Business Machines Corporation | Automation utilizing infrastructure as code modules |
CN113050933B (zh) * | 2021-06-02 | 2022-04-12 | 上海钛米机器人股份有限公司 | 脑图数据处理方法、装置、设备及存储介质 |
-
2023
- 2023-03-01 CN CN202310182132.XA patent/CN115857910B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115900A (zh) * | 2021-11-25 | 2022-03-01 | 北京力控元通科技有限公司 | 一种脚本编译方法、装置及电子设备 |
CN114675830A (zh) * | 2022-03-08 | 2022-06-28 | 南京南瑞继保电气有限公司 | 部署边缘ai和构建可视化ai编程平台的方法、装置及电子设备 |
CN115562634A (zh) * | 2022-09-28 | 2023-01-03 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 面向雷达业务流程的可视化开发平台 |
Also Published As
Publication number | Publication date |
---|---|
CN115857910A (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113065656A (zh) | 一种规则引擎配置方法、装置、服务器及可读存储介质 | |
CN109754072B (zh) | 网络离线模型的处理方法、人工智能处理装置及相关产品 | |
CN111683066A (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN115857910B (zh) | 一种边缘计算采集器的编程方法、装置、服务器及介质 | |
CN110580158A (zh) | 一种代码生成方法、装置、存储介质及电子设备 | |
CN111309332A (zh) | 文件内容按需加载方法、装置及电子设备、存储介质 | |
CN111092767A (zh) | 用于调试设备的方法及装置 | |
CN110972096A (zh) | 一种通信协议可配置的物联网数据采集软件及设计方法 | |
CN110109684B (zh) | 区块链节点管理代理服务安装方法、电子装置及存储介质 | |
CN108153896B (zh) | 针对输入数据、输出数据的处理方法及装置 | |
CN104166545A (zh) | 一种网页资源的嗅探方法以及装置 | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN113420189A (zh) | 一种基于RPA的智能终端安卓App控制方法及系统 | |
CN113010177B (zh) | 软件定义的仪器和信息采集方法、计算机、存储介质 | |
CN115756448A (zh) | 一种车辆云端数据采集系统架构的获取方法、装置、设备及介质 | |
CN110895460A (zh) | 基于Jenkins的机器人系统集成方法、装置及终端设备 | |
Jeng et al. | Web-based HMI of industrial controllers for general purpose | |
CN111027287B (zh) | 一种计算机可执行脚本的转换方法及相关装置 | |
CN108196853A (zh) | 用于部署安卓系统sdk的方法、存储介质、设备及系统 | |
CN113783960B (zh) | 智能变电站设备数据处理方法及相关设备 | |
CN117149166B (zh) | 电磁水表数据对接代码生成方法及装置 | |
CN114035799B (zh) | 一种网络文件编译方法、装置、存储介质及电子装置 | |
CN114546530B (zh) | 一种大数据的加载方法、装置、设备及介质 | |
CN114371808B (zh) | 一种基于调度系统流程节点参数传递方法及系统 | |
CN117270838B (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 |