首页 / 专利库 / 软件 / 框架 / 支持实时数据动态绑定的用户界面设计和代码分离方法

支持实时数据动态绑定的用户界面设计和代码分离方法

阅读:995发布:2024-02-15

专利汇可以提供支持实时数据动态绑定的用户界面设计和代码分离方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种支持实时数据动态绑定的 用户界面 设计和代码分离方法,采用基于文本方式保存的XML文件描述用户界面,根据项目需求和特定场景、逻辑,绘制对应的图形化的用户界面模板;界面元素面向对象化地保存在所述用户界面模板的定义文件中,并为每个界面元素赋予一个唯一的名称;所述输入数据点信息和输出数据点信息动态绑定至对应用户界面模板中的同名界面元素;通过应用跨平台的人机用户界面 渲染 机制,对用户界面模板的读取、实时渲染及动态事件捕捉及执行。优点:实现一次编码、多场景灵活应用,具有跨平台运行的通用用户界面设计及呈现能 力 ,且能够有效应对GUI底层实现技术的迁移。,下面是支持实时数据动态绑定的用户界面设计和代码分离方法专利的具体信息内容。

1.一种支持实时数据动态绑定的用户界面设计和代码分离方法,其特征在于,采用基于文本方式保存的XML文件描述用户界面,根据项目需求和特定场景、逻辑,绘制对应的图形化的用户界面模板;
界面元素面向对象化地保存在所述用户界面模板的定义文件中,并为每个界面元素赋予一个唯一的名称;
读入用户界面模板并获取所有界面元素的名称,在对应的实时数据绑定文件中进行查找,读取相关的输入数据点信息,用于对界面元素的显示与刷新;读取相关的输出数据点信息,用于在用户交互事件触发后执行对实时数据库的写入,所述输入数据点信息和输出数据点信息动态绑定至对应用户界面模板中的同名界面元素;
通过应用跨平台的人机用户界面渲染机制,对用户界面模板的读取、实时渲染及动态事件捕捉及执行。
2.根据权利要求1所述的用户界面设计和代码分离方法,其特征在于,所述定义文件使用兼容QT框架的.ui文件格式。
3. 根据权利要求1所述的用户界面设计和代码分离方法,其特征在于,实时数据绑定文件对于输入数据点信息和输出数据点信息的描述均设置具有两层抽象结构的寻址方式DataPoint/Attribute,用于标识实时数据,其中 DataPoint标识具体的数据对象,Attribute标识其一个具体属性值,实时数据绑定配置文件在对于输出数据点信息的描述最后设置Value字段,用于给出响应界面元素被用户触发后写入实时数据库响应数据点的指令或参数的取值。
4.根据权利要求3所述的用户界面设计和代码分离方法,其特征在于,输入数据点信息一经读取,在用户界面模板上用本数据点实时值刷新显示的界面元素依据与其对应的实时数据库数据值进行动态的设定;输出数据点信息一经读取,在用户界面模板上用本数据点实时值刷新显示的的界面元素自动对与其绑定的实时数据库数据点执行写入,写入的具体内容由配置中的Value字段给出。
5.根据权利要求1所述的用户界面设计和代码分离方法,其特征在于,对于输入数据点信息,用户界面初始化时,从实时数据库中读取其绑定数据点的即时值,并用其初始化界面元素的显示,随后向底层SCADA系统注册该数据点的消息通知,并将持续地根据其值的动态变化来更新对应界面元素的显示;
对于输出数据点信息,用户界面初始化时,将输出数据点信息与支持用户UI操作的同名界面元素绑定,在程序执行过程中,使用者对于该界面元素的有效交互操作触发代码对底层实时数据库系统进行写入,具体参数值由双向实时数据绑定文件指定
6.根据权利要求1所述的用户界面设计和代码分离方法,其特征在于,基于实时数据库的SCADA系统中的所有功能模间的协同和联动均通过实时数据库中的数据来进行耦合与解耦合。

说明书全文

支持实时数据动态绑定的用户界面设计和代码分离方法

技术领域

[0001] 本发明涉及一种支持实时数据动态绑定的用户界面设计和代码分离方法,属于自动化监控系统技术领域。

背景技术

[0002] 监控系统软件(SCADA)是各类自动化系统的监视、控制后台,负责实时生产数据的收集、传输、处理、存储与统计,及数据/信息的可视化呈现与自动/人工操作命令的即时下发。同时,SCADA系统也能够为高层数据分析与决策系统提供基础数据支持。
[0003] 典型的SCADA系统通常均包含一个人机操作界面(HMI)组态与实时显示子系统。工程用户可以根据项目需求,使用该子系统创建各种导航图、接线图、流程图、统计图、GIS信息图等用户画面。结合实时数据绑定,SCADA系统可以在线显示受控系统中各主要设备的运行模式、工作状态、实时参数等信息,对于部分符合各类工控标准定义的受控对象,SCADA系统还提供了对应的操作界面(如电SCADA中的遥控、遥调、保护定值操作等),用户在SCADA软件平台的支持下,可以通过人机界面程序完成各种标准化的监视、控制动作。
[0004] 在系统规模、硬件设备数字化程度、成本等多种因素的影响下,现实的自动化应用系统具有多变的用户需求,而相对标准化的SCADA人机界面组态能力并不能完整对其进行呈现。通常,自动化监控系统项目的实施方需要根据用户项目的定制需求,二次开发各种用户操作界面软件(如地综合监控系统中的联动功能等)以实现项目功能。接连不断的定制化开发,既增加了项目实施的难度和成本,也增加了系统维护的难度。

发明内容

[0005] 本发明所要解决的技术问题是克服现有技术缺陷,提供一种支持实时数据动态绑定的用户界面设计和代码分离方法。
[0006] 为解决上述技术问题,本发明提供一种支持实时数据动态绑定的用户界面设计和代码分离方法,采用基于文本方式保存的XML文件描述用户界面,根据项目需求和特定场景、逻辑,绘制对应的图形化的用户界面模板;
[0007] 界面元素面向对象化地保存在所述用户界面模板的定义文件中,并为每个界面元素赋予一个唯一的名称;
[0008] 读入用户界面模板并获取所有界面元素的名称,在对应的实时数据绑定文件中进行查找,读取相关的输入数据点信息,用于对界面元素的显示与刷新;读取相关的输出数据点信息,用于在用户交互事件触发后执行对实时数据库的写入,所述输入数据点信息和输出数据点信息动态绑定至对应用户界面模板中的同名界面元素;
[0009] 通过应用跨平台的人机用户界面渲染机制,对用户界面模板的读取、实时渲染及动态事件捕捉及执行。
[0010] 进一步的,所述定义文件使用兼容QT框架的.ui文件格式。具有跨平台兼容性,可以使用相关图形化用户界面设计工具轻松创建。
[0011] 进一步的,实时数据绑定文件对于输入数据点信息和输出数据点信息的描述均设置具有两层抽象结构的寻址方式DataPoint/Attribute,用于标识实时数据,其中DataPoint标识具体的数据对象,Attribute标识其一个具体属性值,实时数据绑定配置文件在对于输出数据点信息的描述最后设置Value字段,用于给出响应界面元素被用户触发后写入实时数据库响应数据点的指令或参数的取值。对于面向对象的实时数据库均能很好地映射也能够,也方便通过开发对应的数据适配模进行适配。
[0012] 进一步的,输入数据点信息一经读取,在用户界面模板上用本数据点实时值刷新显示的界面元素依据与其对应的实时数据库数据值进行动态的设定;输出数据点信息一经读取,在用户界面模板上用本数据点实时值刷新显示的的界面元素自动对与其绑定的实时数据库数据点执行写入,写入的具体内容由配置中的Value字段给出。实现输出类界面元素(控件)的全自动执行。
[0013] 进一步的,所述输入数据点信息和输出数据点信息动态绑定至对应用户界面模板中的同名界面元素;
[0014] 对于输入数据点信息,用户界面初始化时,从实时数据库中读取其绑定数据点的即时值,并用其初始化界面元素的显示,随后向底层SCADA系统注册该数据点的消息通知,并将持续地根据其值的动态变化来更新对应界面元素的显示;
[0015] 对于输出数据点信息,用户界面初始化时,将输出数据点信息与支持用户UI操作的同名界面元素绑定,在程序执行过程中,使用者对于该界面元素的有效交互操作触发代码对底层实时数据库系统进行写入,具体参数值由双向实时数据绑定文件指定。能够在配置层面实现实时数据点与界面元素的绑定,从而有效消除了常规软件设计方法中通过代码耦合两者代理的种种弊端,比如代码不易修改与维护等等。
[0016] 进一步的,基于实时数据库的SCADA系统中的所有功能模块(通讯协议服务器、HMI、事件报警、历史存储、统计计算、计算公式等)间的协同和联动均通过实时数据库中的数据来进行耦合与解耦合。结合针对不同宿主SCADA系统编写适配模块,可以实现与宿主SCADA系统的无缝集成。
[0017] 本发明所达到的有益效果:
[0018] 将自动化监控系统应用中不可避免的定制人机操作界面设计与SCADA后台的数据、逻辑驱动相关代码相隔离,从而实现一次编码、多场景灵活应用。不依赖具体SCADA平台支撑的实时数据库(或其他技术等价物)通用访问接口,具有较好的通用性。具有跨平台运行的通用用户界面设计及呈现能力,且能够有效应对GUI底层实现技术的迁移。附图说明
[0019] 图1是本发明的软件模块示意图。

具体实施方式

[0020] 下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0021] 1.创建用户界面(界面设计)
[0022] 为实现支持跨平台呈现的用户界面,对于用户界面的描述采用基于文本方式保存的XML文件。使用图形化的用户界面设计工具,用户可以根据项目需求和特定场景、逻辑,绘制对应的用户界面模板。界面元素诸如按钮、复选框、标签、下拉列表等控件,以及控件的位置、大小、前景/背景颜色、边框、布局、对齐等信息均可以面向对象化地保存在用户界面模板定义文件中。考虑到跨平台兼容性,当前用户界面模板定义文件使用兼容QT框架的.ui文件格式,可以使用相关图形化用户界面设计工具轻松创建。
[0023] 下面给出了用户界面设计工具生成的一个按钮控件在用户界面模板文件中的定义,可以看到,使用基于规范化XML结构描述的用户界面元素具有很好的可读性,便于应用程序解析,且文本格式本身使得模板本身可以被跨平台地传送、存储和使用,独立于平台相关代码,可以为用户自定义图形化应用程序界面给出通用的模板。
[0024]
[0025] 为每个界面元素赋予一个唯一的名称后(示例中的PushButton控件的name属性),用户界面模板解析与执行模块将以之为索引,在运行时自动为其搜索对应的数据绑定配置文件及数据配置项,实现实时数据库数据点与活动控件的一对一数据双向绑定。
[0026] 2.实时数据绑定
[0027] 在读入图形化用户界面模板并获取所有活动控件的name属性后,用户界面模板解析与执行模块将在对应的实时数据绑定文件(文本文件,扩展名使用.CFG)中进行查找,读取相关的输入数据点信息,用于对应界面控件的显示与刷新;读取相关的输出数据点信息,用于在用户交互事件触发后执行对实时数据库的写入。
[0028] 实时数据绑定文件中,输入点数据绑定格式描述如下所示。由于“支持实时数据动态绑定的用户界面设计/代码分离方法”的设计与实现并不依赖于具体的SCADA平台技术,实时数据绑定配置文件对于实时数据库数据点的描述给出了具有两层抽象结构的寻址方式:DataPoint/Attribute,以标识实时数据。DataPoint标识具体的数据对象,Attribute标识其一个具体属性值。改设计对于面向对象的实时数据库如国电南自DSC-9000U/W系列SCADA系统(使用对象ID/属性ID两级实时数据寻址)及maxDNA监控系统中的实时数据(使用Service/Member两级寻址),均能很好地映射。对于其他各类SCADA系统的实时数据,也能够通过开发对应的数据适配模块进行适配。DataType字段给出了数据点的数据类型。
[0029] ·输入数据点绑定
[0030] RD,ObjectName,DataPoint,Attribute,DataType
[0031] 字段说明:
[0032] RD:指示该数据点条目是一个输入数据点;
[0033] ObjectName:图形化用户界面模板.ui文件中用本数据点实时值刷新显示的控件名称;(支持标签控件、复选框控件、下拉列表等控件)
[0034] DataPoint:待绑定至具体控件的实时数据对象的地址信息(支持但不限于对象名称、对象地址、对象编号等);
[0035] Attribute:待绑定至具体控件的实时数据对象的属性(或其他种类的二级寻址标识,可忽略)名称;
[0036] DataType:待绑定至具体控件的数据点的数据类型;(支持INT、FLOAT、STRING、CHOICE等基本数据类型)。
[0037] 运行时,输入数据点配置信息一经读取,图形化用户界面模板上名为ObjectName的控件的实时状态及渲染将由用户界面模板解析与执行模块依据与其对应的实时数据库数据值进行动态的设定,从而实现输入类界面元素(控件)的全自动刷新。
[0038] 实时数据绑定文件中,输出点数据绑定格式描述如下所示。由于“支持实时数据动态绑定的用户界面设计/代码分离方法”的设计与实现并不依赖于具体的SCADA平台技术,实时数据绑定配置文件对于用于输出的实时数据库数据点的描述也采用了DataPoint/Attribute两层抽象结构的寻址方式。相较于输入数据点配置信息,输出点配置信息多出的Value字段用于给出响应UI控件被用户触发后写入实时数据库响应数据点的指令或参数的取值。
[0039] ·输出数据点绑定
[0040] WR,ObjectName,DataPoint,Attribute,DataType,Value
[0041] 字段说明:
[0042] WR:指示该数据点条目是一个输出数据点;
[0043] ObjectName:图形化用户界面模板.ui文件中用本数据点实时值刷新显示的控件名称;(支持复选框控件、按钮等控件);
[0044] DataPoint:待绑定至具体控件的实时数据对象的地址信息(支持但不限于对象名称、对象地址、对象编号等);
[0045] Attribute:待绑定至具体控件的实时数据对象的属性(或其他种类的二级寻址标识,可忽略)名称;
[0046] DataType:待绑定至具体控件的数据点的数据类型;
[0047] Value:对应(按钮)控件单击触发本数据点写操作的参数值。
[0048] 运行时,输出数据点配置信息一经读取,图形化用户界面模板上名为ObjectName的控件的用户触发事件(如按钮按下、复选框选中等)将指示用户界面模板解析与执行模块自动对与其绑定的实时数据库数据点执行写入,写入的具体内容由配置中的Value字段给出,从而实现输出类界面元素(控件)的全自动执行。
[0049] 3.用户界面模板的解析与执行(代码)
[0050] 图1给出了用户界面模板解析与执行模块的软件架构,该模块是“支持实时数据动态绑定的用户界面设计/代码分离方法”方案设计中的代码部分。该部分通过应用跨平台的人机用户界面渲染机制,实现对用户自定义图形界面的读取、实时渲染及动态事件捕捉及执行。
[0051] 用户界面模板解析与执行:
[0052] 人机用户界面渲染机制当前使用跨平台GUI开发框架QT实现,考虑到用户界面模板文件的文本属性(XML配置文件,可以使用前述第三方软件工具绘制,也可以手工创建),只要能够解析该类文件并进行用户UI的绘制和用户交互事件的处理,任何软件实现技术都可以被用以实现用户界面模板解析与执行功能。本专利方案中的该部分设计本身即具有跨平台特性。GUI技术的升级换代并不会影响用户绘制的图形用户界面模板的有效性,使用同样的解析模块并重新实现GUI界面渲染部分代码即可实现GUI底层实现机制的快速迁移,实现在不同技术栈支持下的通用用户界面的显示及动态运行。
[0053] 实时数据绑定:
[0054] 运行时,根据双向实时数据绑定文件中的配置,用户界面模板解析与执行模块将配置文件中给出的实时数据库数据点动态绑定至对应用户界面模板中的同名(name)图形控件。对于输入数据点,用户界面初始化时,用户界面模板解析与执行模块从实时数据库中读取其绑定数据点的即时值,并用其初始化控件的显示,随后用户界面模板解析与执行模块将向底层SCADA系统注册该数据点的消息通知,并将持续地根据其值的动态变化来更新对应控件的显示。对于输出数据点,用户界面初始化时,用户界面模板解析与执行模块将其与支持用户UI操作的同名控件绑定,在程序执行过程中,使用者对于该控件的有效交互操作(如按钮按下、复选框选取或清除等)将触发用户界面模板解析与执行模块代码对底层实时数据库系统进行写入,具体参数值由双向实时数据绑定文件(.CFG文件)指定。
[0055] SCADA适配:
[0056] 基于实时数据库的SCADA系统,各功能模块间的协同和联动均通过实时数据库中的数据来进行耦合与解耦合。应用程序可以通过对实时数据库中特定数据点进行读取,获知系统受控设备的各项状态及各应用进程发布的实时状态和参数;同时,应用程序也可以通过向实时数据库中指定的数据点执行写入,将自身状态、参数乃至控制指令信息通知给关联的其他应用进程(如通讯协议模块),实现对其他应用进程的影响及对受控设备的实时控制(如通过通讯协议模块下发操作指令、参数等)。
[0057] 结合针对不同宿主SCADA系统编写适配模块,可以实现与宿主SCADA系统的无缝集成。本设计方案对于具体的SCADA平台实现技术并不依赖,只要宿主SCADA系统提供实时数据的读、写及消息通知(数据写入/数据变化)应用开发接口API,即可对应开发SCADA适配模块实现对于宿主SCADA系统的双向实时数据交互。对于不能提供实时数据写入/变化消息通知的SCADA系统,可以采用定时读的方式实现实时数据的近似全时间段覆盖
[0058] 整合使用本设计方案来扩充既有SCADA系统,可以将自动化应用系统项目来带的众多用户定制二次开发工作简化为无需编写代码,仅通过分离的用户界面绘制及数据绑定配置,结合通用的用户界面模板解析与执行模块程序,就能快速、组态化地创建各种图形界面用户应用程序。
[0059] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0060] 本发明采用用户界面设计与代码解耦的核心设计理念,将自动化监控系统中不可避免的定制人机操作界面设计与SCADA后台的数据、逻辑驱动相关代码相隔离,从而实现一次编码、多场景灵活应用。且该方案不依赖具体SCADA系统的实时数据库实现(或其他技术等价物),具有较好的通用性。用户界面设计方面采用兼容QT框架的.ui对话框描述语言(XML文本文件),具有跨Windows/X11(Linux/Unix)平台运行的通用用户界面设计及呈现能力,且具备更换GUI底层实现技术时进行迁移的能力,即只需更新本设计中的图形显示基础代码部分就能实现在全新GUI技术栈下全功能驱动既有项目中已创建的图形界面用户应用。
[0061] 实现用户应用程序界面设计与数据驱动代码的分离,用户界面快速绘制,自动对其执行数据绑定和实时呈现;工业自动化实时数据(库)与应用程序用户界面元素的动态绑定,输入:使用实时数据库数据实时刷新用户界面元素显示;输出:用户界面操作触发实时数据库数据写入;不依赖具体GUI实现技术的通用化用户界面描述。
[0062] 与现有技术相比,本发明采用用户界面设计与代码解耦的核心设计理念,将自动化监控系统应用中不可避免的定制人机操作界面设计与SCADA后台的数据、逻辑驱动相关代码相隔离,从而实现一次编码、多场景灵活应用。且该方案通过SCADA适配模块实现不依赖具体SCADA平台支撑的实时数据库(或其他技术等价物)通用访问接口,具有较好的通用性。已实现的用户界面设计采用兼容QT框架的.ui对话框描述语言(XML文本文件),具有跨Windows/X11(Linux/Unix)平台运行的通用用户界面设计及呈现能力,且能够有效应对GUI底层实现技术的迁移。
[0063] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0064] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0065] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0066] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈