基于流程图的可视化编程工具的制作方法

文档序号:17441131发布日期:2019-04-17 04:46阅读:356来源:国知局
基于流程图的可视化编程工具的制作方法

本发明是关于一种基于流程图的可视化编程工具,涉及楼宇控制与可视化领域。



背景技术:

在楼宇控制技术高速发展的今天,建筑智能控制的需求在不断提升,这对控制系统的开发提出了新的挑战。目前楼控系统主要以plc为媒介,控制工艺流程的开发设计主要采用梯形图等方式表达,而梯形图设计方式对没有进行过梯形图设计培训的工程师来说难度十分大。

为了解决上述问题,一些可视化集成开发环境开始涌现。但是目前存在的可视化设计系统仍旧没有完全摆脱传统手动输入代码的设计方式,同时存在例如重用性差、编辑过程易出错等问题。因此,楼控技术领域亟需一款适用于楼宇控制的可视化设计工具,使其具有简单直观、对编程基础要求低、易于编辑与重用等特点,能够仅仅使用鼠标即可完成大部分控制工艺的设计。



技术实现要素:

针对上述问题,本发明的目的是提供一种无需人工手动输入代码且易于编辑和重用的基于流程图的可视化编程工具。

为实现上述目的,本发明采取以下技术方案:一种基于流程图的可视化编程工具,该可视化编程工具包括设备数据加载模块、流程图绘制界面、控件内容辅助输入模块、动态检测模块、模型仓库模块和代码生成模块;所述设备数据加载模块设置有通用的建筑设备标准数据集;所述流程图绘制界面用于绘制功能流程图;所述控件内容辅助输入模块用于获取标注数据集中的控件变量,并对控件变量内容进行输入和编辑;所述动态检测模块用于对流程图绘制界面绘制过程进行动态检测,在流程图绘制过程中实时对流程图中控件间的逻辑关系以及控件内容输入结果进行监测,并对控件操作进行提示;所述模型仓库模块用于对流程图绘制界面绘制的流程图进行保存或读取;所述代码生成模块用于将绘制的流程图转换为可直接执行的程序代码。

上述可视化编程工具,优选地,所述设备数据加载模块的工具加载开始时,搜索所有能够与运行此工具平台进行数据交互的可控建筑设备,根据设备返回的类型数据,从标准数据集中获取与该设备相关的可控参数,并在交互界面上显示所有可控制的变量,根据设计需求从界面上选取实现流程工艺需要使用的变量发送到所述控件内容辅助输入模块。

上述可视化编程工具,优选地,所述流程图绘制界面包括能够完整描述流程图不同功能的控件,所述控件包括方框、菱形或圆圈,使用者能够从控件列表中,通过鼠标拖拽控件到工作区域的方式进行控件的创建和移动,流程图绘制界面的控件具有使用连线方式描述控件执行顺序的功能,控件旁具有连接按键,鼠标点击并向另一控件拖拽后,在控件间形成带箭头的线段,以此表现控件间的执行顺序,最终形成能够解释控制工艺从开始到结束这一过程的流程图。

上述可视化编程工具,优选地,所述动态检测模块对违反了设定规则的控件以区别于其自身的视觉效果进行提示,并在控件旁显示修正建议。

上述可视化编程工具,优选地,所述模型仓库模能够通过对话框将绘制中的流程图以标准格式保存至本地或云端,同时亦可从本地或云端获取标准格式流程图或历史存储记录,并能够在流程图绘制界面中进行编辑。

上述可视化编程工具,优选地,所述代码生成模块能够通过图论与拓扑排序的方法,将流程图转化为能够直接执行的标准代码格式程序,下装到指定外部设备中,即可直接运行。

本发明由于采取以上技术方案,其具有以下优点:

1、本发明从建筑智能化领域出发,使用流程图作为建筑控制工艺的设计媒介,方便使用者在设计控制流程时跟踪指令的执行过程;

2、本发明仅使用鼠标即可完成大部分设计过程,操作方式简单,能够让没有编程基础的建筑工艺工程师快速上手使用,实现自己的控制需求;

3、本发明根据建筑控制系统数据种类多、重复性大的特点,采用预加载的方式筛选设计过程中真正使用的数据变量,并通过使用下拉菜单选定方式来进行控件内容的输入,减少在设计过程中由于变量过多而导致的设计难度大的问题;

4、本发明代码生成模块能够通过图论与拓扑排序的方法,将流程图转化为能够直接执行的标准代码格式程序,以直接下装至外部设备中运行,实现对建筑外部设备的控制;

综上,本发明具有较强的通用性,可以广泛应用到任何领域的控制系统设计中。

附图说明

图1为本发明基于流程图的可视化编程工具原理示意图;

图2本发明基于流程图的可视化编程工具控件内容辅助输入模块自动机状态转移示意图;

图3为本发明基于流程图的可视化编程工具控件与c语言代码转化范例简图;

图4(a)为本发明实施例的变量预加载示意图,图4(b)为本实施例的绘制示意图,图4(c)为本实施例的变量编辑示意图;图4(d)为本实施例的动态监测过程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明提供的基于流程图的可视化编程工具,包括设备数据加载模块、流程图绘制界面、控件内容辅助输入模块、动态检测模块、模型仓库模块和代码生成模块;

设备数据加载模块设置有通用的建筑设备标准数据集。工具加载开始时,搜索所有能够与运行此工具的平台进行数据交互的可控建筑设备,根据设备返回的类型数据,从标准数据集中获取与该设备相关的可控参数,并在交互界面(例如对话框)上显示所有可控制的变量,使用者可以根据设计需求从界面上选取实现流程工艺需要使用的变量发送到控件内容辅助输入模块中使用。此外,使用者可以根据自身的设计需求,根据设备属性自由对变量进行个性化命名,或是添加用户自定义的变量或常量,等待其他模块调用。例如,设计人员想要实现对某房间末端风阀进行控制,可以从设备数据加载模块的对话框中,选定指定房间的新风机组,即可从界面上了解到该机组下的所有可测可控变量,可以从当中选定例如新风风阀开度、新风温度、模式设定等参数,引入其他模块中等待使用。

控件内容辅助输入模块,用于对控件的代码内容进行输入和编辑。该模块包括处理”和“分支”控件,在双击“处理”或“分支”控件时能够弹出对话框,使用者通过对话框,能够使用下拉菜单形式的“选择式”输入方式,从左至右使用鼠标对每个控件内的控制语句代码进行点击式输入。每当一处下拉菜单的内容选定好后,对话框会在其后方出现新的下拉菜单,该输入模式会依照一种自动机来规定新的下拉菜单中能够被选择的变量、常量或符号,重复这种选择方式直至选定了下拉菜单中的“结束”选项,控件内容输入完毕。整个过程只需使用鼠标点击下拉菜单并对内容进行选择即可完成简单的控制功能实现。优选地,这种输入方式采用设定的特殊状态转移规则进行,如图2所示,图中state(状态):s1表示等待输入主要运算变量,s2表示等待输入关系运算符,s3/s3-1/…表示等待输入次要运算变量,s4/s4-1/…表示等待输入运算符,s5表示结束;图中action(运算):a1表示输入数字量/模拟量,a2表示输入关系运算符(比较运算符或赋值运算符),a3表示输入数字/数字量/模拟量,a4表示输入算术运算符/逻辑运算符(&&或||),a5表示输入逻辑运算符(!),a6表示输入“增加括号”指令,a7表示输入“括号结束”指令,a8表示输入“结束”指令,将所有state和action按照图2所示的实线箭头进行执行,如果需要添加新的括号对,则按照图2中虚线箭头方向继续成对添加新的状态和运算,按照图2所示的设定的特殊状态转移规则能够保证该方法输入代码的正确性,可以在最大限度地减少编程基础知识影响,让使用者获得正确的程序代码,降低手工代码输入带来的不便与可能出现的程序隐患。

流程图绘制界面用于绘制功能流程图的交互界面。流程图绘制界面具有能够完整描述流程图的不同功能的控件,控件可以为方框(处理)、菱形(分支)、圆圈(开始/结束)等符号显示在界面上,用以区别其功能。使用者能够从控件列表中,通过鼠标拖拽控件到工作区域的方式进行控件的创建和移动。流程图绘制界面的控件,具有使用连线方式描述控件执行顺序的功能,控件旁具有连接按键,鼠标点击并向另一控件拖拽后,在控件间形成带箭头的线段,以此表现控件间的执行顺序,最终形成能够解释控制工艺从开始到结束这一过程的流程图。流程图绘制界面的控件,具有删除按键,通过单击即可消除该控件,以及其与其他控件之间的逻辑关系连线。流程图绘制界面的控件,具有属性修改按键,能够通过弹出对话框的形式,对控件的位置、字体属性、自定义名称、背景颜色等属性进行更改。

动态检测模块用于对流程图绘制界面进行动态检测,能够在流程图绘制过程中,随时对流程图中控件间的逻辑关系以及控件内容输入结果进行动态监测,对违反了基本规则的控件以区别于其自身的视觉效果对使用者进行提示(例如闪烁或变色),并在控件旁探出显示修正建议。以“流程图绘制界面”常用控件为例,本发明提出以下判定条件:“方框(处理)控件”不限制来自其他控件的执行请求(绘制界面表现为:被箭头所指向)的数量,同时能且只能向一个其他控件发送执行请求(绘制界面表现为:指向其他控件);“菱形(分支)控件”不限制来自其他控件的执行请求数量,同时根据分支条件的结果,能且只能向两个不同的其他控件发送执行请求;“圆圈(开始)控件”不能有来自其他控件的执行请求,同时能且只能向一个其他控件发送执行请求;“圆圈(结束)控件”不限制来自其他控件的执行请求,但是不能向其他任何控件发送执行请求;同一流程图绘制过程中不能同时存在两个“开始控件”或两个“结束控件”;“处理模块”输入的内容必须为数据/变量进行数值处理的运算/赋值表达式;“分支模块”输入的内容必须是逻辑表达式;不同类型的变量不能在同一表达式中出现等。当然,本发明提及的动态检测规则并不局限于此,能够随着需求继续完善和改进。

模型仓库模块用于对流程图绘制界面绘制的流程图进行保存或读取。模型仓库模块能够通过对话框将绘制中的流程图以标准格式保存至本地或云端,同时亦可从本地或云端获取标准格式流程图或历史存储记录,并能够在流程图绘制界面中进行编辑。由于建筑领域对多台设备的控制策略往往是一致的,使用模型仓库模块可以简化这种由设备类型相近而产生的大量重复性设计工作。

代码生成模块,用于将流程图转换为可直接执行的程序代码的模块。根据使用者的选择,代码生成模块能够通过图论与拓扑排序的方法,将流程图转化为能够直接执行的标准代码格式(例如c、java、python等)程序,下装到指定外部设备中,即可直接运行。本实施例以c语言为例,在流程图完成绘制且动态检测通过后,代码生成模块能够根据控件类型对所有控件进行编号,并且根据控件之间逻辑关系为每个控件分配其目标模块编号,如图3所示。将控件转换为对应的代码,并自上而下顺序排列,即可得到与流程图对应的c语言程序代码,以此为例,不限于与此,可以根据实际需要选择程序语言以及相应操作。

下面通过具体实施例详细说明本发明基于流程图的可视化编程工具的使用过程。

如图4(a)所示,工程开始时,使用者能够通过设备数据加载模块选择将要使用的相关变量。

如图4(b)所示,流程图绘制界面能够通过拖放圆形(开始/结束)控件、方形(执行)控件、菱形(分支)控件到操作区,并通过点击拖拽的方式使用带有箭头的线段连接控件,形成易于阅读的流程图基本结构。

如图4(c)所示,使用鼠标双击可编辑控件,即可打开内容辅助输入对话框,通过依次点击下拉菜单,即可完成该控件所需要执行的“变更新风风阀开度”的控制要求。

图4(d)所示,当存在不满足判定标准的控件存在时,那些控件会变色(例如图中的黑色)。在对其错误进行修改后,控件变回正常设定颜色。当流程图绘制与内容输入全部完成后,选择“转化至文件”功能,并选择保存成相应格式程序,会自动在指定位置生成对应的文件;或者选择“转化至设备”功能,在弹出的对话框内选择对应下装的外部设备,程序会被自动下装至控制设备中等待运行。

上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1