首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 软件套件 / 软件组件 / 插件 / 一种函数编程方法、装置及组态软件系统

一种函数编程方法、装置及组态软件系统

阅读:1024发布:2020-07-25

专利汇可以提供一种函数编程方法、装置及组态软件系统专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种函数编程方法、装置及组态 软件 系统,该方法包括:读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;根据用户选择的目标平台和语言,从模板 插件 库中调取相应的模板插件;通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。本发明提供的技术方案,通过对存盘文件中的函数进行处理,并重建函数的模型,使其适配模板插件库中的模板,从而实现根据用户选择的目标平台和语言,输出对应目标平台和语言的代码,提高了组态软件、 硬件 产品的可扩展和多样性,应用场景广、适应性强。,下面是一种函数编程方法、装置及组态软件系统专利的具体信息内容。

1.一种函数编程方法,其特征在于,包括:
读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。
2.根据权利要求1所述的方法,其特征在于,
所述函数的模型为多叉树模型,多叉树模型的节点表示函数的对象。
3.根据权利要求2所述的方法,其特征在于,还包括:
显示所述函数的模型,并接收用户对所述函数的模型的编辑。
4.根据权利要求3所述的方法,其特征在于,所述显示所述函数的模型,并接收用户对所述函数的模型的编辑,包括:
根据所述函数的模型,计算所述函数的可视化布局;
根据所述可视化布局,显示所述函数的模型;
通过人机交互界面,接收用户对所述函数的模型的编辑。
5.根据权利要求3所述的方法,其特征在于,所述显示所述函数的模型,包括:
递归计算所述多叉树模型每个节点的显示位置,并在所述显示位置显示对应的节点;
和/或,
若用户对所述多叉树模型进行了编辑,以变化的节点为起点,计算受到影响的其他节点的显示位置,并在所述显示位置显示对应的节点。
6.根据权利要求3所述的方法,其特征在于,还包括:
显示编辑后的所述函数的模型。
7.根据权利要求3所述的方法,其特征在于,还包括:
将编辑后的函数的模型转换为自定义语言格式的存盘文件。
8.根据权利要求1所述的方法,其特征在于,还包括:
检测更新服务器上所提供的模板插件列表及版本;
根据用户授权,将所述模板插件列表及版本更新到所述模板插件库中。
9.一种函数编程装置,其特征在于,包括:
读取模块,用于读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
重建模块,用于按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
调取模块,用于根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
输出模块,用于通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。
10.一种组态软件系统,其特征在于,包括:
处理器,
用于存储处理器可执行指令的存储器
其中,所述处理器被配置为:
读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。

说明书全文

一种函数编程方法、装置及组态软件系统

技术领域

[0001] 本发明涉及函数编程技术领域,具体涉及一种函数编程方法、装置及组态软件系统。

背景技术

[0002] 组态软件在国内是一个约定俗成的概念,并没有明确的定义,它可以理解为“组态式监控软件”。“组态(Configure)”的含义是“配置”、“设定”、“设置”等意思,是指用户通过类似“搭积木”的简单方式来完成自己所需要的软件功能,而不需要编写计算机程序,也就是所谓的“组态”。它有时候也称为“二次开发”,组态软件就称为“二次开发平台”。“监控(SupervisoryControl)”,即“监视和控制”,是指通过计算机信号对自动化设备或过程进行监视、控制和管理。
[0003] 一般组态软件输出的可执行文件是特定于某个产品的,即西子组态软件输出的是针对于西门子的硬件,威纶组态软件输出的是针对于威纶触控屏。相对来说,其针对的某个硬件产品采用操作系统和实现语言的框架都是比较稳定或一脉相承的。
[0004] 现在技术升级越来越快,要输出的平台多种多样,比如计算机(又可分为windows操作系统、linux操作系统)、移动设备(安卓、苹果操作系统)、网站、显示屏等;按照可执行程序类型,又可以分为本机代码(比如C++编译后的程序)和通过虚拟机运行的程序代码(比如java字节码、.net程序代码)等等;还可能输出成各种其它语言,比如即使是C++,也可以根据自己的运行时库不同分为微软的MFC、Qt库等等。
[0005] 上面的组合变化很多,在改变目标平台和语言的场合下,用户更希望组态软件中的工程函数无需更改即可用。简单的说,用户无需按照自己选择的目标平体和语言规约来编程,使用组态软件已经设计好的工程函数代码可以直接以用户选择的目标平台和语言输出。但现有的组态软件一般是绑定于自己的私有硬件产品,无法面向多平台和语言。

发明内容

[0006] 为至少在一定程度上克服相关技术中存在的问题,本发明提供一种函数编程方法、装置及组态软件系统,以解决现有技术中组态软件一般绑定于自己的私有硬件产品,无法面向多平台和语言的问题。
[0007] 根据本发明实施例的第一方面,提供一种函数编程方法,包括:
[0008] 读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
[0009] 按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
[0010] 根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
[0011] 通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。
[0012] 优选地,所述函数的模型为多叉树模型,多叉树模型的节点表示函数的对象。
[0013] 优选地,所述方法,还包括:
[0014] 显示所述函数的模型,并接收用户对所述函数的模型的编辑。
[0015] 优选地,所述显示所述函数的模型,并接收用户对所述函数的模型的编辑,包括:
[0016] 根据所述函数的模型,计算所述函数的可视化布局;
[0017] 根据所述可视化布局,显示所述函数的模型;
[0018] 通过人机交互界面,接收用户对所述函数的模型的编辑。
[0019] 优选地,所述显示所述函数的模型,包括:
[0020] 递归计算所述多叉树模型每个节点的显示位置,并在所述显示位置显示对应的节点;和/或,
[0021] 若用户对所述多叉树模型进行了编辑,以变化的节点为起点,计算受到影响的其他节点的显示位置,并在所述显示位置显示对应的节点。
[0022] 优选地,所述方法,还包括:
[0023] 显示编辑后的所述函数的模型。
[0024] 优选地,所述方法,还包括:
[0025] 将编辑后的函数的模型转换为自定义语言格式的存盘文件。
[0026] 优选地,所述方法,还包括:
[0027] 检测更新服务器上所提供的模板插件列表及版本;
[0028] 根据用户授权,将所述模板插件列表及版本更新到所述模板插件库中。
[0029] 根据本发明实施例的第二方面,提供一种函数编程装置,包括:
[0030] 读取模块,用于读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
[0031] 重建模块,用于按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
[0032] 调取模块,用于根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
[0033] 输出模块,用于通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。
[0034] 根据本发明实施例的第三方面,提供一种组态软件系统,包括:
[0035] 处理器,
[0036] 用于存储处理器可执行指令的存储器
[0037] 其中,所述处理器被配置为:
[0038] 读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
[0039] 按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
[0040] 根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
[0041] 通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。
[0042] 本发明的实施例提供的技术方案可以包括以下有益效果:
[0043] 通过对存盘文件中的函数进行处理,并重建函数的模型,使其适配模板插件库中的模板,从而实现根据用户选择的目标平台和语言,输出对应目标平台和语言的代码,相比现有技术,本发明提供的技术方案,使用组态软件一次编程,多平台和语言运行,提高了组态软件、硬件产品的可扩展和多样性,组态软件不会和特定硬件环境绑定,组态软件、硬件产品及平台可以各自演化发展,应用场景广、适应性强。
[0044] 另外,使用组态软件编写的历史项目,在运行的硬件平台和语言变化时,通过组态软件的适配,无须改动历史项目,以少量的组态适配工作节省了改动每个历史项目的总成本,用户体验度好、满意度高。
[0045] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。附图说明
[0046] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0047] 图1是根据一示例性实施例示出的一种函数编程方法的流程图
[0048] 图2是根据另一示例性实施例示出的一种函数编程方法的流程图;
[0049] 图3是根据一示例性实施例示出的一种函数编程装置的示意框图
[0050] 图4是根据一示例性实施例示出的一种组态软件系统的架构图。

具体实施方式

[0051] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0052] 图1是根据一示例性实施例示出的一种函数编程方法的流程图,如图1所示,该方法包括:
[0053] 步骤S11、读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
[0054] 步骤S12、按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
[0055] 步骤S13、根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
[0056] 步骤S14、通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。
[0057] 需要说明的是,本实施例提供的技术方案,适用于函数编程装置中,优选地,适用于组态软件系统中。
[0058] 可以理解的是,存盘文件内存储有以自定义语言格式编写的函数,编写函数的物理保存格式不特定于任何平台和语言,以用户易理解的格式保存。程序运行时,在内存中以独立于任何特定平台和语言的方式表示函数。
[0059] 读取存盘文件,按自定义语言的文法处理函数代码行,并据此在组态软件内存中重建起该函数的模型,自定义语言是为了方便函数的语法解析,着重于函数的结构块有明确的语法边界。
[0060] 需要说明的是,本实施例提供的技术方案,使用模板插件进行特定平台和语言的适配,输出其需要格式的程序代码。输出之前,组态软件会自动检测函数的模型正确性,通过后才能输出。
[0061] 可以理解的是,本实施例提供的技术方案,通过对存盘文件中的函数进行处理,并重建函数的模型,使其适配模板插件库中的模板,从而实现根据用户选择的目标平台和语言,输出对应目标平台和语言的代码,相比现有技术,本发明提供的技术方案,使用组态软件一次编程,多平台和语言运行,提高了组态软件、硬件产品的可扩展和多样性,组态软件不会和特定硬件环境绑定,组态软件、硬件产品及平台可以各自演化发展,应用场景广、适应性强。
[0062] 优选地,所述函数的模型为多叉树模型,多叉树模型的节点表示函数的块对象。
[0063] 可以理解的是,函数模型由多叉树表示,多叉树的节点表示了一种函数的构成块(if、while、for、switch、return、语句、表达式、占位符之一,这些都定义为类)对象,具体包括:
[0064] A、If、while、for、switch的条件部分是逻辑表达式,代码体由语句构成。
[0065] B、语句由表达式构成。
[0066] C、表达式由占位符结合运算符构成。
[0067] 优选地,所述方法,还包括:
[0068] 显示所述函数的模型,并接收用户对所述函数的模型的编辑。
[0069] 优选地,所述显示所述函数的模型,并接收用户对所述函数的模型的编辑,包括:
[0070] 根据所述函数的模型,计算所述函数的可视化布局;
[0071] 根据所述可视化布局,显示所述函数的模型;
[0072] 通过人机交互界面,接收用户对所述函数的模型的编辑。
[0073] 可以理解的是,本实施例提供的技术方案,不使用一般组态软件的脚本表示和编辑方式,组态软件以图形化的方式编辑函数的模型,便于用户操作和观察,用户体验度好、满意度高。
[0074] 进一步地,如果用户熟悉自定义语言语法,可使用该语言按照常见的方式编写代码文本,可在图形化编程方式和文本编辑方式之间切换。
[0075] 优选地,所述显示所述函数的模型,包括:
[0076] 递归计算所述多叉树模型每个节点的显示位置,并在所述显示位置显示对应的节点;和/或,
[0077] 若用户对所述多叉树模型进行了编辑,以变化的节点为起点,计算受到影响的其他节点的显示位置,并在所述显示位置显示对应的节点。
[0078] 优选地,所述方法,还包括:
[0079] 显示编辑后的所述函数的模型。
[0080] 优选地,所述方法,还包括:
[0081] 将编辑后的函数的模型转换为自定义语言格式的存盘文件。
[0082] 可以理解的是,通过将编辑后的函数的模型转换为自定义语言格式的存盘文件,将函数的模型持久化保存,提高了函数的适配能
[0083] 优选地,所述方法,还包括:
[0084] 检测更新服务器上所提供的模板插件列表及版本;
[0085] 根据用户授权,将所述模板插件列表及版本更新到所述模板插件库中。
[0086] 可以理解的是,所述更新服务器的主要作用是存储更新的模板插件,并对接收到的用户更新请求进行鉴权,并根据鉴权结果允许或拒绝用户的更新请求。
[0087] 需要说明的是,组态软件可以按需更新模板插件,以扩展或升级可支持的目标平台和语言。这样,在组态软件项目内容不变的情形下(不依赖于目标平台和语言的函数模型、存盘文件表示),只需增加模板插件,就可以扩展到更多的目标平台和语言。
[0088] 图2是根据另一示例性实施例示出的一种函数编程方法的流程图,如图2所示,该方法包括:
[0089] 步骤S21、读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
[0090] 步骤S22、按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
[0091] 步骤S23、显示所述函数的模型,并接收用户对所述函数的模型的编辑,并将编辑后的函数的模型转换为自定义语言格式的存盘文件;
[0092] 步骤S24、根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
[0093] 步骤S25、通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码;
[0094] 步骤S26、检测更新服务器上所提供的模板插件列表及版本;
[0095] 步骤S27、根据用户授权,将所述模板插件列表及版本更新到所述模板插件库中。
[0096] 可以理解的是,本实施例提供的技术方案,通过对存盘文件中的函数进行处理,并重建函数的模型,使其适配模板插件库中的模板,从而实现根据用户选择的目标平台和语言,输出对应目标平台和语言的代码,相比现有技术,本发明提供的技术方案,使用组态软件一次编程,多平台和语言运行,提高了组态软件、硬件产品的可扩展和多样性,组态软件不会和特定硬件环境绑定,组态软件、硬件产品及平台可以各自演化发展,应用场景广、适应性强。
[0097] 图3是根据另一示例性实施例示出的一种函数编程装置100的示意框图,如图3所示,该装置100包括:
[0098] 读取模块101,用于读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
[0099] 重建模块102,用于按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
[0100] 调取模块103,用于根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
[0101] 输出模块104,用于通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。
[0102] 可以理解的是,本实施例提供的技术方案,通过对存盘文件中的函数进行处理,并重建函数的模型,使其适配模板插件库中的模板,从而实现根据用户选择的目标平台和语言,输出对应目标平台和语言的代码,相比现有技术,本发明提供的技术方案,使用组态软件一次编程,多平台和语言运行,提高了组态软件、硬件产品的可扩展和多样性,组态软件不会和特定硬件环境绑定,组态软件、硬件产品及平台可以各自演化发展,应用场景广、适应性强。
[0103] 根据本发明一示例性实施例示出的一种组态软件系统,包括:
[0104] 处理器,
[0105] 用于存储处理器可执行指令的存储器;
[0106] 其中,所述处理器被配置为:
[0107] 读取存盘文件,所述存盘文件内存储有以自定义语言格式编写的函数;
[0108] 按自定义语言的文法处理所述函数,并在组态软件内存中重建所述函数的模型;
[0109] 根据用户选择的目标平台和语言,从模板插件库中调取相应的模板插件;
[0110] 通过所述模板插件,将所述函数的模型输出为目标平台和语言的代码。
[0111] 需要说明的是,为了更好地理解本实施例提供的这种组态软件系统的工作原理,可以参见图4所示的组态软件系统的架构图。
[0112] 可以理解的是,本实施例提供的技术方案,通过对存盘文件中的函数进行处理,并重建函数的模型,使其适配模板插件库中的模板,从而实现根据用户选择的目标平台和语言,输出对应目标平台和语言的代码,相比现有技术,本发明提供的技术方案,使用组态软件一次编程,多平台和语言运行,提高了组态软件、硬件产品的可扩展和多样性,组态软件不会和特定硬件环境绑定,组态软件、硬件产品及平台可以各自演化发展,应用场景广、适应性强。
[0113] 可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
[0114] 需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
[0115] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0116] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0117] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0118] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0119] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0120] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0121] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈