基于控件库拖拽式开发的燃机监控软件画面组态方法与流程

文档序号:20837565发布日期:2020-05-22 17:04阅读:158来源:国知局
基于控件库拖拽式开发的燃机监控软件画面组态方法与流程

本发明涉及一种组态方法,尤其是一种基于控件库拖拽式开发的燃机监控软件画面组态方法,属于燃机监控画面组态的技术领域。



背景技术:

随着现代化工业的飞速发展,人机界面在工业控制领域应用越来越广泛。基于燃机控制系统的燃机监控软件画面,传统的方法是采用定制开发的方式,后期需求变更,需要开发人员重新开发,对开发人员的技能要求较高,要熟练各种开发语言以及熟练使用各种开发调试工具,开发难度大、成本高、且学习周期较长。交付后,用户不能独立自主维护,必须依赖厂家进行维护,升级迭代周期长且效率低,不能满足连续生产的要求。

针对传统的人机界面的定制开发模式,面对画面变更难、可扩展性差、开发速度慢、人员技能要求高等问题,如何在燃机监控软件画面开发过程提升开发效率,同时又足够的方便、灵活且易掌握,满足用户现场连续生产等要求,成为本领域技术人员亟待解决的技术问题。



技术实现要素:

本发明的目的是克服现有技术中存在的不足,提供一种基于控件库拖拽式开发的燃机监控软件画面组态方法,其在不依赖厂家的情况下,自主进行维护,满足各种场景下二次组态开发的需求,提升监控画面的开发效率的同时并确保开发质量。

按照本发明提供的技术方案,一种基于控件库拖拽式开发的燃机监控软件画面组态方法,所述画面组态方法包括如下步骤:

步骤1、在燃机控制系统的hmi组态软件中,根据实际需求进行页面划分,以得到所需的页面;

步骤2、对上述得到的页面进行属性组态;

步骤3、页面组态后,将组态结果存储到配置区,并构建和实例化页面空间对象,根据页面组态属性,判断当前用户是否具备查看和操作该面板的权限,若具备操作权限则创建并初始化页面,分别完成页面容器、菜单及动作事件的创建,将创建好的页面控件放入hmi组态软件主框架的页面容器中,执行页面内容的预加载和初始化,页面若要支持分组控件的拖拽组态,要求页面控件在初始化时实现容器标识查询接口,页面标识“分组面板容器”;

步骤4、分组组态,通过导航窗体进入新创建的组态页面,进行页面分组容器的组态;

步骤5、分组组态支持拖拽操作,当拖拽某个分组模板控件时,hmi组态软件实时更新鼠标拖动位置,同时查询该位置的容器id,若控件所要求的容器id与当前位置的容器id匹配,更新拖拽图标为允许添加图标,否则将图标更新为禁止添加图标;在释放拖拽操作时,hmi组态软件根据鼠标当前位置的有效性动态创建分组实例,并初始化分组实例的位置信息和默认信息,默认信息通常与控件模板配置一起存储在配置文件中;

步骤6、创建分组实例后,对弹出分组实例的属性配置窗口进行分组属性的设置,以定制化显示分组控件;

步骤7:当属性定制完成后,hmi组态软件自动根据分组的实例化数据进行分组容器控件的创建、加载和显示,同时更新当前页面显示;hmi组态软件根据分组属性,判断当前用户是否具备查看和操作该分组控件的权限,若具备操作权限则创建并初始化分组,分别完成分组容器、菜单及动作事件的创建,根据分组模板控件配置信息,自动加载分组控件类库到程序域,保证当且仅当加载一次分组容器控件类库,通过动态的类库加载达到运行过程中控件库的热更新;当类库加载成功后,根据分组容器控件模板定义的属性内容,自动创建分组控件实例;将创建好的分组控件放入组态页面容器中,然后执行分组内容的预加载和初始化;分组若要支持控件元素的拖拽组态时,要求分组控件在初始化时实现容器标识查询接口,分组标识为实例化分组的分组类别;

步骤8:分组组态完成后,在对应分组类别的模板控件库下,查看当前分组类别下可组态的控件元素类别,不同分组包含的组态控件元素集合不同;

步骤9:找到要组态的控件元素模板项,拖拽该控件元素模板控件,拖拽过程中会跟踪显示鼠标拖动的轨迹和位置,同时实时判断拖动位置是否可放置当前控件模板,不同分组下的控件不能交叉拖放,拖拽释放后,根据位置有效性动态创建控件元素实例,并初始化控件元素实例的位置信息和默认信息,默认信息通常与控件模板配置一起存储在配置文件中;

步骤10:创建控件元素实例后,根据控件元素实例的特征,自动弹出控件元素实例的属性配置窗体,用户根据需要对控件元素的属性进行设置,以定制化显示控件元素;

步骤11:当属性定制完成后,软件自动根据分组的实例化数据进行控件元素的创建、加载和显示,同时更新当前分组显示;软件根据分组控件属性,判断当前用户是否具备查看和操作该控件的权限,若具备操作权限则创建并初始化,分别完成控件、菜单及动作事件的创建,实现控件的动态创建和热更新,将创建好的控件放入分组容器中;

步骤12:重复以上步骤,完成所有页面、分组和控件元素组态后,实现对整个控制系统运行状态的监控。

步骤1中,所述划分得到页面包括主页面、起动前检查页面或故障显示页面。

所述步骤2中,页面属性包括名称、类别、权限、可见性或显示顺序;其中,页面名称会显示在导航按钮上,通过导航按钮可切换显示页面;类别分为导航类和弹出类,导航类页面可通过导航按钮浏览,弹出类页面在控件组态时通过设置页面id与具体控件进行绑定,当用户点击控件时触发页面弹出事件;可见性可控制页面是否显示,用户是否可以浏览并操作页面内容;显示顺序控制导航按钮的显示顺序,根据实验的重要等级或操作频率调整顺序,运行过程中,用户可根据试验需要在不同的监控画面间进行切换显示。

所述步骤4中,分组容器模板库包括常规、图标、图片、报警、状态、互斥命令、在线标定、模拟量分组、离散量分组或在线参数修改;一个页面支持以上各类别一个或多个的分组模板控件。

所述步骤6中,分组的属性包括名称、大小、填充、是否显示标题、权限、分组参数或显示特性。

本发明的优点:在燃机控制系统开发和维护期间,利用组态平台提供的标准画面控件库,通过拖拽或菜单等二次开发的方式,完成燃机控制系统监控软件画面的组态与调试;用户通过简单培训即可,对开发技能要求低,不用编写任何代码,操作使用简单、所见即所得;使用户可专注于监控业务方面的工作,在不依赖厂家的情况下,自主进行维护,满足各种场景下二次组态开发的需求,满足用户自主维护的需求,提升监控画面的开发效率的同时并确保开发质量。

附图说明

图1为本发明画面组态分层组态的关系图。

图2为本发明画面组态分层嵌套关系图。

图3为本发明组态控件库类别以及包含关系图。

图4为本发明分组容器/控件元素拖拽组态的流程图。

具体实施方式

下面结合具体附图和实施例对本发明作进一步说明。

为了在不依赖厂家的情况下,自主进行维护,满足各种场景下二次组态开发的需求,提升监控画面的开发效率的同时并确保开发质量,本发明的画面组态方法包括如下步骤:

步骤1、在燃机控制系统的hmi组态软件中,根据实际需求进行页面划分,以得到所需的页面;

具体实施时,在画面组态前,已完成项目的创建,设备组态,以及设备接收发送协议的组态,项目创建、设备组态,以及设备接收发送协议的组态过程以及方式均与现有相一致,具体为本技术领域人员所熟知,此处不再赘述。

本发明实施例中,画面组态按照页面、分组、控件元素等层次结构进行信息的分类组织和组态,如图1所示。监控画面包含多个页面,每个页面包含一个或多个分组,每个分组包括一个或多个控件元素,其中页面和分组为容器类控件,并层层嵌套,实现对画面信息进行分类组织和展示,方便用户快速的查找和定位信息,如图2所示。

页面作为顶层容器,组态后的页面集合在活动分区可切换显示,能跟随导航分区的导航操作切换到不同的显示页面。页面根据系统需求,如辅机部件、试验科目、功能类别等,进行具体的内容划分,一个完整的燃机监控画面至少包含一个页面的画面内容,以满足燃机运行状态监视及控制等要求。

具体实施时,所述划分得到页面包括主页面、起动前检查页面或故障显示页面。

步骤2、对上述得到的页面进行属性组态;

具体地,页面属性包括名称、类别、权限、可见性或显示顺序;其中,页面名称会显示在导航按钮上,通过导航按钮可切换显示页面;类别分为导航类和弹出类,导航类页面可通过导航按钮浏览,弹出类页面在控件组态时通过设置页面id与具体控件进行绑定,当用户点击控件时触发页面弹出事件;可见性可控制页面是否显示,用户是否可以浏览并操作页面内容;显示顺序控制导航按钮的显示顺序,根据实验的重要等级或操作频率调整顺序,运行过程中,用户可根据试验需要在不同的监控画面间进行切换显示。

步骤3、页面组态后,将组态结果存储到配置区,并构建和实例化页面空间对象,根据页面组态属性,判断当前用户是否具备查看和操作该面板的权限,若具备操作权限则创建并初始化页面,分别完成页面容器、菜单及动作事件的创建,将创建好的页面控件放入hmi组态软件主框架的页面容器中,执行页面内容的预加载和初始化,页面若要支持分组控件的拖拽组态,要求页面控件在初始化时实现容器标识查询接口,页面标识“分组面板容器”;

具体地,新创建的页面内容为空,用于根据需要进行页面内容组态。

步骤4、分组组态,通过导航窗体进入新创建的组态页面,进行页面分组容器的组态;

具体地,分组容器模板库包括常规、图标、图片、报警、状态、互斥命令、在线标定、模拟量分组、离散量分组或在线参数修改;一个页面支持以上各类别一个或多个的分组模板控件。

根据燃机项目特征,将分组容器控件进行分类设计,不同类别有不同的显示风格,不同类别对应不同的数据显示格式和控件组织方式,每个分组容器中可包含一个或多个子控件模板,每个分组容器控件模板提供一个分组图标,图标应直观反馈分组容器控件的操作使用特征。分组容器控件库包含了常规、图表、图片、报警、状态、互斥命令、在线标定、模拟量分组、离散量分组和在线参数修改等分组,如图3所示,可通过拖拽和菜单等方式对分组容器控件进行动态创建。

不同的分组包含不同类别的控件子元素,有且只有在分组组态完成后,才可进行控件的组态。根据数据类型和输入输出方向进行控件分类,控件类型共划分为开关量输入、开关量输出、命令量、模拟量接收、模拟量发送、文本显示、字符串显示、字符串发送等模板类型,不同分组的控件不能交叉拖放;不同类别的分组容器模板库下都包含了各自可组态的控件元素模板集合。

步骤5、分组组态支持拖拽操作,当拖拽某个分组模板控件时,hmi组态软件实时更新鼠标拖动位置,同时查询该位置的容器id,若控件所要求的容器id与当前位置的容器id匹配,更新拖拽图标为允许添加图标,否则将图标更新为禁止添加图标;在释放拖拽操作时,hmi组态软件根据鼠标当前位置的有效性动态创建分组实例,并初始化分组实例的位置信息和默认信息,默认信息通常与控件模板配置一起存储在配置文件中;

具体地,画面组态平台提供了丰富且验证过的图形控件元素库,如仪表、趋势、告警等,提供丰富多样的组合显示方式。用户只须通过拖拽控件元素到指定的位置或者菜单的方式,在属性设置中关联数据源即可完成控件元素的添加。控件元素模板库的控件模板都有对应的图标以及控件元素的描述信息,用户在组态过程中,可通过控件图标或者控件上的描述信息,快速了解和定位控件,以提升控件元素组态效率。

控件元素属性用来表征控件的特性,在进行控件元素组态时,不同分组下包括的控件元素的属性不同。分组内的控件属性可继承分组的特性,如分组内控件的字体等。通过控件属性的设置以达到控件丰富的表现形式,满足多样化的监控要求。

步骤6、创建分组实例后,对弹出分组实例的属性配置窗口进行分组属性的设置,以定制化显示分组控件;

具体地,分组的属性包括名称、大小、填充、是否显示标题、权限、分组参数或显示特性。

步骤7:当属性定制完成后,hmi组态软件自动根据分组的实例化数据进行分组容器控件的创建、加载和显示,同时更新当前页面显示;hmi组态软件根据分组属性,判断当前用户是否具备查看和操作该分组控件的权限,若具备操作权限则创建并初始化分组,分别完成分组容器、菜单及动作事件的创建,根据分组模板控件配置信息,自动加载分组控件类库到程序域,保证当且仅当加载一次分组容器控件类库,通过动态的类库加载达到运行过程中控件库的热更新;当类库加载成功后,根据分组容器控件模板定义的属性内容,自动创建分组控件实例;将创建好的分组控件放入组态页面容器中,然后执行分组内容的预加载和初始化;分组若要支持控件元素的拖拽组态时,要求分组控件在初始化时实现容器标识查询接口,分组标识为实例化分组的分组类别;

步骤8:分组组态完成后,在对应分组类别的模板控件库下,查看当前分组类别下可组态的控件元素类别,不同分组包含的组态控件元素集合不同;

步骤9:找到要组态的控件元素模板项,拖拽该控件元素模板控件,拖拽过程中会跟踪显示鼠标拖动的轨迹和位置,同时实时判断拖动位置是否可放置当前控件模板,不同分组下的控件不能交叉拖放,拖拽释放后,根据位置有效性动态创建控件元素实例,并初始化控件元素实例的位置信息和默认信息,默认信息通常与控件模板配置一起存储在配置文件中;

步骤10:创建控件元素实例后,根据控件元素实例的特征,自动弹出控件元素实例的属性配置窗体,用户根据需要对控件元素的属性进行设置,以定制化显示控件元素;

具体地,除文本显示类控件,其它控件元素通常需要绑定到数据源,如引用到具体的信号字段;不同分组下包括的控件元素的属性不同,这里将控件的属性划分为基本属性和定制属性两大类,不同分组下控件的基本属性保持一致,基本属性通常包含大小、颜色、显示类别、通道类别、数据显示精度等;定制数据根据分组不同,内容会有差异,如常规分组包含弹出页面id、分组参数、文件路径等。

步骤11:当属性定制完成后,软件自动根据分组的实例化数据进行控件元素的创建、加载和显示,同时更新当前分组显示;软件根据分组控件属性,判断当前用户是否具备查看和操作该控件的权限,若具备操作权限则创建并初始化,分别完成控件、菜单及动作事件的创建,实现控件的动态创建和热更新,将创建好的控件放入分组容器中;

如图4所示,为控件元素拖拽、配置、动态创建的过程。具体流程为:

步骤11.1、选择分组容器/控件元素模板;

步骤11.2、启动拖拽;

步骤11.3、拖拽位置有效性实时判断,当拖拽位置为非有效时,则跳转至步骤11.2,否则,进入步骤11.4;

步骤11.4、释放拖拽;

步骤11.5、判断位置是否有效,当位置有效时,进入步骤11.6,否则,进入步骤11.14;

步骤11.6、判断控件库是否已成功加载,当未成功加载时,进入步骤11.7,否则,进入步骤11.8;

步骤11.7、加载控件库;

步骤11.8、查找模板控件构造属性;

步骤11.9、根据属性动态创建控件数据实例;

步骤11.10、弹出属性配置窗体;

步骤11.11、更新数据实例属性;

步骤11.12、动态创建控件;

步骤11.13、更新父容器控件;

步骤11.14、结束。

步骤12:重复以上步骤,完成所有页面、分组和控件元素组态后,实现对整个控制系统运行状态的监控。

具体地,在加载和运行过程中,自动加载画面组态配置,并绑定和监控对应的数据源地址,按照调度周期对控件元素的值和状态进行周期性的更新和控制输出。

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