基于api接口和脚本定义相结合的可视化代码生成方法

文档序号:6364917阅读:596来源:国知局
专利名称:基于api接口和脚本定义相结合的可视化代码生成方法
技术领域
本发明属于可视化编程领域,具体涉及可视化图形程序的代码生成方法。
背景技术
可视化编程平台是根据面向对象的思想,实现图形化、模块化编程的工具,它从符号库文件中调用预先开发的功能块,搭建可视化页面程序,由编程工具自动生成代码。已有的代码生成方法,往往和系统软件接口绑定,或局限于某个应用场合,当底层系统软件接口有变化或应用场景发生变化时,或者应用有新的需求时,需修改或重新开发代码生成工具,缺乏灵活通用性。API (Application Programming Interface,应用程序编程接口)是一些预先定义 的函数,目的是提供应用程序与开发人员基于某软件或硬件的访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。在可视化编程应用中,需要提供一种平台化的代码生成方法,面向用户开放一些接口,用户在这些接口的基础上,可以定制输出的目标代码,以适应不同的需求。基于上述分析,本发明人针对现有技术对代码生成方法的需求,进行深入研究,本
案由此产生。

发明内容
本发明的目的,在于提供一种基于API接口和脚本定义相结合的可视化代码生成方法,其中API接口提供编程平台的常规功能,在脚本中可以定义符号的代码,摆脱对系统软件接口的依赖,并为应用人员提供良好的扩展性,可以书写脚本,在不修改图形程序和编程平台的情况下,切换应用场景,输出对应的目标代码。本发明为解决以上技术问题,所采用的技术方案是一种基于API接口和脚本定义相结合的可视化代码生成方法,所述的可视化程序按照层次组织,程序由若干元件组成,元件由若干可视化页面组成,可视化页面由若干图形符号和数据连线组成;代码生成方法的内容为前端处理器读取可视化工程文件,导入符号库,在内存中形成可视化页面数据;启动脚本引擎,解析执行脚本,在脚本中可调用API接口库,访问符号的属性;脚本执行完后,后端处理器组织文本段落,输出代码文本。本发明的具体步骤为(I)为层次数据管理模型和编程符号设计面向对象的代码生成API接口库,供脚本调用;(2)启动脚本引擎,在脚本引擎中完成当前符号的上下文环境注册,导入符号脚本,将脚本中调用的API接口返回值进行字符替换处理,往文本段输出代码;(3)所有符号脚本执行结束后,汇总文本段内容,输出C代码,形成程序文件。上述步骤(I)中,对象提供的API包括如下内容I)元件 API
元件是管理多个可视化页面的数据模型,元件会形成代码文件,元件开放的接口包括属性访问、属性设置、页面个数和页面数据指针函数,其中,能够访问和设置的属性包括文件全名、文件路径、结构名和实例名;2)页面 API可视化页面开放的接口包括属性访问、属性设置、符号个数、符号指针、页面类型和页面名函数,其中,能够访问和设置的属性包括文件全名、文件路径和文件结构名;
3)编程符号API编程符号开放的接口有属性访问、属性设置、查找输入输出参数变量、查找输入输出图形点、获取输入输出对应的程序名、获取参数设置值、报错和告警函数,其中,能够访问的属性包括符号的id、排序后的序号和符号类型;4)连接线 API连接线起着连接各个编程符号间的输入输出作用,提供4个接口进行拓扑访问,返回连接的起始终止符号、起始端输出点和终端输入点;5)变量 API变量开放的接口有属性访问和属性设置,其中,能够访问和设置的属性包括变量类型、变量名、信号等级、注册简写类型、中文描述、英文描述、显示属性、显示格式、最小值、最大值、额定值、原始值、初始值、单位、步长、设置值和代码生成对应的层次变量名;6)代码生成器API代码生成器提供的API接口是输出文本信息,将C文件代码分成8个段头文件包含段、变量定义段、局部函数定义段、页面任务函数段、页面构造函数段、页面初始化函数段、元件构造函数段和元件初始化段。采用上述方案后,本发明的有益效果如下(I)本发明为可视化编程平台提供了一种通用的代码生成方法,代码生成工具能去除对系统软件的接口耦合,并能适用于不同的应用场景;(2)本发明将API接口和脚本相结合,形成的代码既能在嵌入式装置中运行、也能在上位机PSCAD仿真环境中运行,发挥了平台化通用化的效益,提高了应用产品的开发效率。


图I是本发明基于API和脚本的代码生成原理图;图2是本发明在一个任务周期设置符号块的图形示例图。
具体实施例方式以下将结合附图,对本发明的技术方案进行详细说明。本发明提供一种基于API接口和脚本定义相结合的可视化代码生成方法,所述的可视化程序按照层次组织,程序由若干元件组成,元件由若干可视化页面组成,可视化页面由若干图形符号和数据连线组成;配合图I所示,本发明的过程是前端处理器读取可视化工程文件,导入符号库,在内存中形成可视化页面数据。启动脚本引擎,解析执行脚本,在脚本中可调用API接口库,访问符号的属性。脚本执行完后,后端处理器组织文本段落,输出代码文本。本发明所述的代码生成方法具体包括如下步骤(I)API 接口库定义。为层次数据管理模型和编程符号设计面向对象的代码生成API接口库,供脚本调用。定义脚本中可访问的对象名如下I)当前元件comp2)当前页面page3)当前符号symb
4)代码生成工具coder对象提供的API如下I)元件 API元件是管理多个可视化页面的数据模型,元件会形成代码文件,元件开放的接口包括属性访问、属性设置、页面个数、页面数据指针等函数,其参数说明如表I所示表I
权利要求
1.一种基于API接口和脚本定义相结合的可视化代码生成方法,所述的可视化程序按照层次组织,程序由若干元件组成,元件由若干可视化页面组成,可视化页面由若干图形符号和数据连线组成;其特征在于代码生成方法的内容为 前端处理器读取可视化工程文件,导入符号库,在内存中形成可视化页面数据;启动脚本引擎,解析执行脚本,在脚本中可调用API接口库,访问符号的属性;脚本执行完后,后端处理器组织文本段落,输出代码文本。
2.如权利要求I所述的基于API接口和脚本定义相结合的可视化代码生成方法,其特征在于具体步骤为 (O为层次数据管理模型和编程符号设计面向对象的代码生成API接口库,供脚本调用; (2)启动脚本引擎,在脚本引擎中完成当前符号的上下文环境注册,导入符号脚本,将脚本中调用的API接口返回值进行字符替换处理,往文本段输出代码; (3)所有符号脚本执行结束后,汇总文本段内容,输出C代码,形成程序文件。
3.如权利要求2所述的基于API接口和脚本定义相结合的可视化代码生成方法,其特征在于所述步骤(I)中,对象提供的API包括如下内容 1)元件API 元件是管理多个可视化页面的数据模型,元件会形成代码文件,元件开放的接口包括属性访问、属性设置、页面个数和页面数据指针函数,其中,能够访问和设置的属性包括文件全名、文件路径、结构名和实例名; 2)页面API 可视化页面开放的接口包括属性访问、属性设置、符号个数、符号指针、页面类型和页面名函数,其中,能够访问和设置的属性包括文件全名、文件路径和文件结构名; 3)编程符号API 编程符号开放的接口有属性访问、属性设置、查找输入输出参数变量、查找输入输出图形点、获取输入输出对应的程序名、获取参数设置值、报错和告警函数,其中,能够访问的属性包括符号的id、排序后的序号和符号类型; 4)连接线API 连接线起着连接各个编程符号间的输入输出作用,提供4个接口进行拓扑访问,返回连接的起始终止符号、起始端输出点和终端输入点; 5)变量API 变量开放的接口有属性访问和属性设置,其中,能够访问和设置的属性包括变量类型、变量名、信号等级、注册简写类型、中文描述、英文描述、显示属性、显示格式、最小值、最大值、额定值、原始值、初始值、单位、步长、设置值和代码生成对应的层次变量名; 6)代码生成器API 代码生成器提供的API接口是输出文本信息,将C文件代码分成8个段头文件包含段、变量定义段、局部函数定义段、页面任务函数段、页面构造函数段、页面初始化函数段、元件构造函数段和元件初始化段。
全文摘要
本发明公开一种基于API接口和脚本定义相结合的可视化代码生成方法,所述的可视化程序按照层次组织,程序由若干元件组成,元件由若干可视化页面组成,可视化页面由若干图形符号和数据连线组成;方法的内容为前端处理器读取可视化工程文件,导入符号库,在内存中形成可视化页面数据;启动脚本引擎,解析执行脚本,在脚本中可调用API接口库,访问符号的属性;脚本执行完后,后端处理器组织文本段落,输出代码文本。该方法利用API接口提供编程平台的常规功能,在脚本中可以定义符号的代码,摆脱对系统软件接口的依赖,并为应用人员提供良好的扩展性,可以书写脚本,在不修改图形程序和编程平台的情况下,切换应用场景,输出对应的目标代码。
文档编号G06F9/44GK102646035SQ20121003668
公开日2012年8月22日 申请日期2012年2月17日 优先权日2012年2月17日
发明者冯亚东, 刘克金, 周强, 张磊, 曹冬明, 王国栋, 袁涛, 陈宏君 申请人:南京南瑞继保工程技术有限公司, 南京南瑞继保电气有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1