首页 / 专利库 / 数学与统计 / 解析法 / 文本分析 / 一种用于可视化编程的功能块函数建模方法

一种用于可视化编程的功能函数建模方法

阅读:592发布:2024-02-20

专利汇可以提供一种用于可视化编程的功能函数建模方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种用于 可视化 编程的功能 块 函数建模方法,第一部分,将功能块函数的文本段定义为7个关键字段:描述信息、包含的头文件内容、参数信息、成员变量、构造代码段、初始化代码段和函数体代码段,其中,头文件包含信息和变量定义;第二部分,分析功能块定义文本,提取出关键字对应的分段内容;提取函数的输入形参,形成图形的输入点;当函数有返回值时,默认将其作为第1个输出点;解析成员变量定义语句,形成输出变量表并输出;第三部分,在代码生成阶段处理扩充的条件编译语句,输出条件对应的分支代码。此方法成员变量定义灵活、易于移植、直观易懂,方便用户开发维护。,下面是一种用于可视化编程的功能函数建模方法专利的具体信息内容。

1.一种用于可视化编程的功能函数建模方法,其特征在于包括如下三部分:
第一部分,将功能块函数的文本段定义为7个关键字段:描述信息、包含的头文件内容、参数信息、成员变量、构造代码段、初始化代码段和函数体代码段,其中,头文件包含信息和变量定义;
第二部分,分析功能块定义文本,提取出关键字对应的分段内容;提取函数的输入形参,形成图形的输入点;当函数有返回值时,默认将其作为第1个输出点;解析成员变量定义语句,形成输出变量表并输出;
第三部分,在代码生成阶段处理扩充的条件编译语句,输出条件对应的分支代码。
2.如权利要求1所述的一种用于可视化编程的功能块函数建模方法,其特征在于:所述第二部分中,还解析成员变量定义语句,形成输出变量表并输出为XML格式存储,并分析函数的形参和变量声明语句,形成输入、输出变量表,自动形成默认的图形数据。
3.如权利要求1所述的一种用于可视化编程的功能块函数建模方法,其特征在于:所述第三部分中,还提供了表达式预处理解析器,支持#if-#elseif-#else表达式运算和数学库函数、字符串库函数运算预处理,根据运算结果形成分支代码。

说明书全文

一种用于可视化编程的功能函数建模方法

技术领域

[0001] 本发明属于可视化编程领域,为应用人员提供可视化编辑符号的建模编辑方法,具体涉及功能块函数的建模处理。

背景技术

[0002] 可视化编程是一种面向对象的图形化软件开发方法,为了实现应用功能,用各种的编程符号搭建程序模型和配置数据流,用原理图表示程序语言,并形成目标文件。进行可视化编程前,需制作一套功能函数库用于图形编程,为此需定义一套功能块的建模方法和规则,方便应用人员掌握,并提供工具进行数据定义和图形编辑。已有的一些建模方法,有的参考IEC61131标准,采用结构化文本描述,形成代码解释执行,而嵌入式装置程序需要高效率的代码,并且代码空间有限,基于IEC61131的建模方法很难解决高效代码性能和有限代码空间的竞争矛盾。ABB的Hidraw工具采用和具体CPU结合的自定义输出流的建模方法,部分输出的是汇编代码,代码体受制于输出流和目标编译器的格式,跨平台移植方面有所欠缺。
[0003] 基于上述分析,本发明人针对现有建模方法的不足之处进行深入研究,本案由此产生。

发明内容

[0004] 本发明的目的,在于提供一种用于可视化编程的功能块函数建模方法,其适用于可视化编程,将功能块函数分为若干段,用C语言编写其中的代码段,结合条件预处理器,使功能函数适合多种CPU运行,形成性能高效的目标代码,成员变量定义灵活、易于移植、直观易懂,方便用户开发维护。
[0005] 本发明为解决以上技术问题,所采用的技术方案是:
[0006] 一种用于可视化编程的功能块函数建模方法,包括如下三部分:
[0007] 第一部分,将功能块函数的文本段定义为7个关键字段:描述信息、包含的 头文件内容、参数信息、成员变量、构造代码段、初始化代码段和函数体代码段,其中,头文件包含信息和变量定义;
[0008] 第二部分,分析功能块定义文本,提取出关键字对应的分段内容;提取函数的输入形参,形成图形的输入点;当函数有返回值时,默认将其作为第1个输出点;解析成员变量定义语句,形成输出变量表并输出;
[0009] 第三部分,在代码生成阶段处理扩充的条件编译语句,输出条件对应的分支代码。 [0010] 上述第二部分中,还解析成员变量定义语句,形成输出变量表并输出为XML格式存储,并分析函数的形参和变量声明语句,形成输入、输出变量表,自动形成默认的图形数据。
[0011] 上述第三部分中,还提供了表达式预处理解析器,支持#if-#elseif-#else表达式运算和数学库函数、字符串库函数运算预处理,根据运算结果形成分支代码。 [0012] 采用上述方案后,本发明具有以下有益效果:
[0013] (1)将功能块定义分为7个文本段,并采用C语言描述功能块的数据和行为,直观易于理解,提高了功能块函数的开发效率,基于C语言的函数体适用于多种CPU,功能块函数具有高度重用价值;
[0014] (2)采用XML格式存储功能块信息,方便扩展。功能块可灵活定义成员变量和输出点,增强了可视化图形程序的数据交互能
[0015] (3)开发的预处理解析器,可支持常量和数学、字符库函数的运算,能有选择地输出代码,提高了代码运行效率。
[0016] 此外,本发明已经用于电力系统交直流嵌入式装置的可视化编程,显著提高了开发效率,降低了开发成本,取得较好经济效益。

具体实施方式

[0017] 以下将对本发明的技术方案进行详细说明。
[0018] 本发明提供一种用于可视化编程的功能块函数建模方法,包括以下三部分内容: [0019] 第一部分,对功能块函数的文本段进行定义;
[0020] 为了提高编辑效率,提供功能块文本定义编辑框,自动列出7个关键字段,分别是:描述信息、包含的头文件内容、参数信息、成员变量、构造代码段、初始化代码段和函数体代码段,其中,头文件包含信息和变量定义。通过将功能块属性和代码分为七部分定义,代码相关的内容采用C语言描述,格式灵活,能跨平台运行。
[0021] 在列出7个关键字段后,用户可在相应的关键字后面填写描述信息、参数信息和代码文本,以一个滤波器函数为例,在编辑过程中,通过词法识别后对关键字进行加亮显示。
[0022] 滤波器函数的文本段定义如下:
[0023]
[0024]
[0025] 在代码定义中,支持条件预编译语句,能处理分析四则运算和C库函数,增加了条件预编译的处理范围,选择性输出分支代码,节省代码空间并提高了运行效率; [0026] 支持如下功能:
[0027] 1)解析#if-#endif、#if-#else-#endif、#if-#elif-#else-#endif条件编译语句;
[0028] 2)#if的条件判断语句可以是常量表达式和标准的C库函数相关的表达式; [0029] 3)支持运算符:+、-、*、/、%、<、>、<=、>=、==、!=、++、一、一元-、一元+、&&、||、&、|、~、^、();
[0030] 第二部分,分析文本段,识别相应内容,形成变量表和默认图形,并用XML格式存储;
[0031] 分析功能块定义文本,提取出关键字对应的分段内容;提取函数的输入形参,形成图形的输入点;当函数有返回值时,默认将其作为第1个输出点;解析成员变量定义语句,形成输出变量表并输出为XML格式存储,并分析函数的形参和变量声明语句,形成输入、输出变量表,自动形成默认的图形数据。
[0032] 通过定义成员变量段,可灵活定义扩展输出变量,并且这些成员变量具有完整的声明周期,本周期任务运行后,能够存储,给下一周期任务运算使用;在分析文本段内容并形成功能块函数图形时,通过词法分析,可以自动识别出变量名和变量类型,形成候选输出列表供用户选择,从而实现功能函数输出点的灵活定制。
[0033] 功能块的建模信息包括描述信息、输入变量、输出变量、参数、include信息、变量声明语句、构造代码、初始化代码和函数体代码。
[0034] 采用如下格式定义存储结构:
[0035]
[0036]
[0037] 第三部分,在代码生成阶段处理扩充的条件编译语句,输出条件对应的分支代码;
[0038] 具体来说,引入并扩充条件预编译语句,定义#if、#elif、#else、#endif关键字;条件语句包含参数设置值的加减乘除四则运算,并扩充支持C库函数;开发了C预处理解析器,能计算含C库函数的表达式。
[0039] 标准预处理器的#if语句只支持常量运算,不支持C库函数。本发明开发的预处理器扩展了功能,支持strcmp、atoi、atol、abs、cos、sin等29个C库函数,避免了采用if-else语句在运行过程中进行条件判断,有效的提高了自动生成代码的执行效率,并节省了代码空间。
[0040] 在功能块函数建模过程中,功能块的变量定义、在构造过程中运行的代码、初始化代码、函数实体都通过C语言描述,可读性强,直观简单,易于理解。基于C语言的函数适用于不同CPU的编译器和运行环境,具有较好的通用性。
[0041] 例如某个功能块在初始化阶段运行的代码,是根据时间单位的设置情况,决定变
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈