CN101819527B - 一种提高嵌入式图形用户接口系统实时性的方法 - Google Patents
一种提高嵌入式图形用户接口系统实时性的方法 Download PDFInfo
- Publication number
- CN101819527B CN101819527B CN200910264572XA CN200910264572A CN101819527B CN 101819527 B CN101819527 B CN 101819527B CN 200910264572X A CN200910264572X A CN 200910264572XA CN 200910264572 A CN200910264572 A CN 200910264572A CN 101819527 B CN101819527 B CN 101819527B
- Authority
- CN
- China
- Prior art keywords
- window
- node
- time
- network
- personal connections
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Digital Computer Display Output (AREA)
Abstract
本发明公布了一种提高嵌入式图形用户接口系统实时性的方法。本发明将创建和撤销窗口时繁杂的对内存的操作,初始化操作放在系统初始化时做,系统稳定运行时,用耗时远远小于上述操作的在窗口关系网中移动节点的操作来代替上述操作。其中窗口关系网在系统初始化时由所有用到的窗口组建而成。同时在窗口节点上存储小量数据来缩短系统处理小量常用数据的时间。本发明的特点是实时性强,系统运行时系统反应快,结构清晰,易于裁减,移植或是更新。该方法可降低系统命令反映时间和信息传递时间,解决嵌入式GUI在工业控制系统领域应用时耗费过多时间资源的问题。
Description
技术领域
本发明应用于嵌入式图形用户接口(GUI)系统领域和工业控制系统领域,能够缩短嵌入式GUI系统对外界命令的反映时间,提高系统实时性,解决嵌入式GUI在其应用领域使用耗费过多时间资源的问题。
背景技术
嵌入式GUI系统由于其使用方便,功能强大,在嵌入式系统开发中的应用广泛,是嵌入式系统的重要组成部分。
目前常用的嵌入式GUI系统大多由原先的PCGUI发展而来,基本I/O以窗口为中心,支持复杂的层叠式窗口和弹出式窗口,所有控件都看作子窗口,控件必须以窗口为控件包容器(Container)才能使用。为了有效地支持窗口,很多嵌入式GUI系统必须实现复杂的窗口管理器(WM)。此外为了保证其通用性,一般嵌入式GUI集成了诸多不必须的特性,如多窗口,窗口的覆盖,移动,动态改变窗口尺寸等,这些特性在一些对界面人性化程度要求不高的系统或是硬件条件不允许的系统中不仅发挥不了作用,还极大的消耗了系统的资源,增加了GUI应用程序开发的复杂性。
对于工业控制系统领域的大多数嵌入式系统来说,系统对实时动作和实时消息传递的要求很高,而系统留给嵌入式GUI系统的运作时间又很短。所以工控领域对应用其中的嵌入式GUI系统的实时性有很高的要求,但对界面本身仅要求简洁明了,使用方便。因此一般嵌入式GUI系统中的窗口管理器和部分特殊功能不是必须的,甚至系统硬件不支持这些功能。同时,应用在这些领域的嵌入式GUI系统本身需要具有尽可能小的命令反应时间和数据传递时间。
目前,多数适用于工业控制系统领域的嵌入式GUI系统,无论是过程驱动还是消息驱动,大多数采用窗口或控件控制模式。这种结构的运行过程一般是:上电后,创建窗口及其控件,通过获取命令值确定并进入当前窗口,为当前窗口设定一个命令选择开关,来选择命令值对该窗口的操作,然后进行具体操作。根据处理结果,创建并跳入相应子窗口。对于子窗口则执行与父窗口相似的操作。
该结构中窗口及其控件要到用时才创建,这样在系统正常运行时消耗了很多时间资源;其次,为每一次窗口设定一个命令选择开关,增加了代码的重复性和复杂度。
因此,针对这类应用需求,研究设计出一种能够减少嵌入式GUI系统时间资源消耗,提高系统实时性的方法越来越显示出其必要性和紧迫性。
发明内容
技术问题:本发明针对工业控制领域或自动化系统用嵌入式GUI存在的上述问题,提出了一种提高嵌入式GUI系统实时性的方法。系统运行时,这种高实时性的轻便嵌入式GUI系统能够实现显示窗口的快速创建和撤销,小量常用数据的快速处理以达到在不影响整个工控装置性能的前提下,系统对外界命令快速响应的目的。
技术方案:本发明为实现上述目的,采用如下技术方案:
本发明一种提高嵌入式图形用户接口系统实时性的方法,其特征在于:所述方法对所有要用到的窗口在系统初始化时进行预创建和初始化,并将所有窗口按照窗口之间的关联性连接成一张窗口关系网;每个窗口都是窗口关系网中的一个节点且所述每个节点都至多有上下左右四个相邻节点;窗口节点的内容包括三部分:一是标识窗口种类的标志位,用来区分该窗口是数据框、按钮或是动态显示的数据;二是用于连接其他窗口的指针,将所有窗口按照一定的顺序或是关系连接起来;三是数据存储区,用来存储常用的小量数据,具体步骤如下:
在系统初始化时创建窗口关系表并初始化窗口节点数据,在系统稳定运行时通过整个系统的命令选择开关选择的命令对窗口关系网进行操作,包括窗口节点的移动和窗口数据的处理;对窗口节点的移动操作包括:
创建一个新子窗口的操作转化为对窗口关系网上与当前窗口节点有联系的下一个节点窗口的显示操作;
撤销当前的窗口返回上一级菜单的操作转化为对窗口关系网上与当前窗口节点有联系的上一个节点窗口的显示操作;
创建一个窗口的同级下一页窗口的操作转化为对窗口关系网上与当前窗口节点有联系的右边一个节点窗口的显示操作;
撤销一个窗口返回同级上一页窗口的操作转化为对窗口关系网上与当前窗口节点有联系的左边一个节点窗口的显示操作。
有益效果:本发明提到的提高嵌入式GUI系统实时性的方法,将创建和撤销窗口时繁杂的对内存的操作,初始化操作放在系统初始化时做,系统稳定运行时用耗时远远小于上述操作的在窗口关系网中移动节点的操作来代替上述操作。打开一个窗口只需进行显示窗口的操作,而显示窗口的操作耗时只与硬件有关。上电运行稳定后,界面响应时间与窗口操作复杂度无关。因此,这种方法大幅提高了嵌入式GUI系统的实时性。同时,本发明提供的方法结构清晰,易于裁减,移植或是更新。
附图说明
图1是二级窗口关系网。父窗口A和父窗口B为相互联系的同一级窗口。子窗口A1,子窗口A2和子窗口A3是父窗口A的子窗口。子窗口B1,子窗口B2和子窗口B3是父窗口B的子窗口。子窗口A1,子窗口A2和子窗口A3为相互联系的同一级窗口。子窗口B1,子窗口B2和子窗口B3为相互联系的同一级窗口。
图2是提高嵌入式GUI系统实时性方法的运作流程。
具体实施方式
下面结合附图和实例详细说明本发明提供的具体方法和运行过程。
将提高嵌入式GUI系统实时性的方法应用到工业控制系统中的智能电动机保护装置中。这样的装置一般存在复杂的保护算法,留给嵌入式GUI系统的运行时间非常少。而在人机互动任务中,保护装置的内部信息必须及时反馈给人,同时人为的命令又必须尽可能及时的传达给保护装置。本发明提供的方法完全能够适用于这种对实时性要求严格的场合。
以此为例介绍这种高实时性的嵌入式GUI系统。在上电初始化时,同时执行嵌入式GUI的初始化操作。初始化操作过程包括初始化显示相关硬件系统,进行窗口预创建,创建窗口关系网和显示最初需显示的窗口。
初始化显示相关硬件系统与具体硬件驱动相关。
图1所示是一个由两个主窗口组成的小的二级窗口关系网的结构。以此为例详细说明窗口关系网的组织方法。其中:
父窗口A的下一个节点是子窗口A1,右边一个邻接节点是父窗口B;
父窗口B的下一个节点是子窗口B1,左边一个邻接节点是父窗口A;
子窗口A1的右边一个邻接节点是子窗口A2,上一个节点是父窗口A;
子窗口A2的右边一个邻接节点是子窗口A3,上一个节点是父窗口A,左边一个邻接节点是子窗口A1;
子窗口A3的上一个节点是父窗口A,左边一个邻接节点是子窗口A2;
子窗口B1的右边一个邻接节点是子窗口B2,上一个节点是父窗口B;
子窗口B2的右边一个邻接节点是子窗口B3,上一个节点是父窗口B,左边一个邻接节点是子窗口B1;
子窗口B3的上一个节点是父窗口B,左边一个邻接节点是子窗口B2;
按照这样的方法将系统中所有用到的窗口组织成一张N级窗口关系网。
初始化窗口和创建窗口关系网完成以后将最初需显示的窗口设为窗口关系网的入口。
如图2,上述过程为图中的步骤21。
系统正常运行的过程如下:
一般工业控制系统用的装置需要的控制命令比较单一,可以简单的将所有相似的操作加以整理分类,总结出最常用的操作过程如确定,退出,上移(光标上移或是数据修改时增大数据等等),下移(光标下移或是数据修改时减小数据等等),左移,右移等等操作。系统获得命令以后进入命令选择开关(23)。由命令选择开关做出正确的判断。
如果是无效命令(包括当前被屏蔽的命令和错误命令),系统会重新进入步骤22等待获取新的命令。
如果是有效命令,系统则根据命令进入相应的执行命令操作模块(24)。
执行命令操作模块的具体工作就是根据命令对窗口关系网(25)进行操作。
以图1中的父窗口A的操作为例对本发明中涉及方法的操作过程进行详细说明:假设子窗口A1为数据框,子窗口A3为数据显示框。
对父窗口A的操作有很多种,以如下几种典型操作为例:打开下一页父窗口B,点击进入子窗口A2,修改子窗口A1中的数据和显示子窗口A3中的数据等等。
系统在打开父窗口A时可以显示其子窗口中需显示的数据。窗口显示完毕后对数据显示框中的数据不能做修改。
当接收到打开下一页父窗口B的命令时,从窗口关系网中找到父窗口A的右边邻接节点窗口,调用显示模块直接显示窗口,无需临时为父窗口B分配内存和初始化数据结构。
当接收到点击进入子窗口A2的命令时,从窗口关系网中找到父窗口A的下一级节点,再根据下一级节点的左右邻接节点找到子窗口A2,调用显示模块直接显示窗口。
当接收到修改子窗口A1中的数据的命令时,从窗口关系网中找到父窗口A的下一级邻接节点窗口A1,读出A1存储区的数据,对数据进行修改,最后写回A1存储区,无需从其他存储空间读取数据。
本发明用于对界面人性化要求不太高,但是对系统实时性要求很严格,系统资源有限的嵌入式系统。例如它能很好的适用于低压系统领域和工业控制领域的嵌入式系统。它最大的特点是实时性强,省却了大量创建窗口,撤消窗口的时间。它结构清晰,易于裁减,移植或是更新。
以上借助实施例描述了本发明的具体实施方式,但是应该理解的是,前述具体的描述不应理解为对本发明的实质和范围的限定,本领域内的普通技术人员在阅读本说明书后对上述实施例作出的各种修改,都属于本发明所保护的范围。
Claims (2)
1.一种提高嵌入式图形用户接口系统实时性的方法,其特征在于:所述方法对所有要用到的窗口在系统初始化时进行预创建和初始化,并将所有窗口按照窗口之间的关联性连接成一张窗口关系网;每个窗口都是窗口关系网中的一个节点且所述每个节点都至多有上下左右四个相邻节点;窗口节点的内容包括三部分:一是标识窗口种类的标志位,用来区分该窗口是数据框或按钮;二是用于连接其他窗口的指针,将所有窗口按照一定的顺序或是关系连接起来;三是数据存储区,用来存储常用的小量数据,具体步骤如下:
在系统初始化时创建窗口关系表并初始化窗口节点数据,在系统稳定运行时通过整个系统的命令选择开关选择的命令对窗口关系网进行操作,包括窗口节点的移动和窗口数据的处理;对窗口节点的移动操作包括:
创建一个新子窗口的操作转化为对窗口关系网上与当前窗口节点有联系的下一个节点窗口的显示操作;
撤销当前的窗口返回上一级菜单的操作转化为对窗口关系网上与当前窗口节点有联系的上一个节点窗口的显示操作;
创建一个窗口的同级下一页窗口的操作转化为对窗口关系网上与当前窗口节点有联系的右边一个节点窗口的显示操作;
撤销一个窗口返回同级上一页窗口的操作转化为对窗口关系网上与当前窗口节点有联系的左边一个节点窗口的显示操作。
2.根据权利要求1所述的一种提高嵌入式图形用户接口系统实时性的方法,其特征在于:所述方法中整个系统只设置一个命令选择开关,将所有相似的操作归为一大类,每一大类组成一个操作执行模块;系统接到外部命令时通过命令选择开关选择一类操作,同时进入该操作执行模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910264572XA CN101819527B (zh) | 2009-12-28 | 2009-12-28 | 一种提高嵌入式图形用户接口系统实时性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910264572XA CN101819527B (zh) | 2009-12-28 | 2009-12-28 | 一种提高嵌入式图形用户接口系统实时性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101819527A CN101819527A (zh) | 2010-09-01 |
CN101819527B true CN101819527B (zh) | 2013-02-13 |
Family
ID=42654642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910264572XA Expired - Fee Related CN101819527B (zh) | 2009-12-28 | 2009-12-28 | 一种提高嵌入式图形用户接口系统实时性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101819527B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207868B (zh) * | 2011-06-01 | 2013-07-10 | 奇智软件(北京)有限公司 | 一种菜单显示方法 |
CN102866890B (zh) * | 2012-09-11 | 2015-03-11 | 哈尔滨商业大学 | 基于对象关联的Android嵌入式界面及程序框架的生成系统及生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441346A (zh) * | 2002-02-26 | 2003-09-10 | 三星电子株式会社 | 图形用户界面修改方法和记录介质 |
CN101060676A (zh) * | 2006-04-18 | 2007-10-24 | Lg电子株式会社 | 功能图标显示系统和方法 |
CN101251800A (zh) * | 2008-04-01 | 2008-08-27 | 北京中星微电子有限公司 | 图形用户界面生成方法及装置 |
EP1965301A1 (en) * | 2007-02-27 | 2008-09-03 | Abb Research Ltd. | Method and system for generating a control system user interface |
-
2009
- 2009-12-28 CN CN200910264572XA patent/CN101819527B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441346A (zh) * | 2002-02-26 | 2003-09-10 | 三星电子株式会社 | 图形用户界面修改方法和记录介质 |
CN101060676A (zh) * | 2006-04-18 | 2007-10-24 | Lg电子株式会社 | 功能图标显示系统和方法 |
EP1965301A1 (en) * | 2007-02-27 | 2008-09-03 | Abb Research Ltd. | Method and system for generating a control system user interface |
CN101251800A (zh) * | 2008-04-01 | 2008-08-27 | 北京中星微电子有限公司 | 图形用户界面生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101819527A (zh) | 2010-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9696972B2 (en) | Method and apparatus for updating a web-based user interface | |
CN101814024B (zh) | 一种跨平台3d界面设计系统和方法 | |
CN100492288C (zh) | 一种应用程序界面的处理方法及系统 | |
US5586317A (en) | Method and apparatus for implementing I/O in a frame-based computer system | |
CN104067225B (zh) | 对用于图形处理单元的具有相关联的纹理加载指令的控制流指令的判定 | |
CN103348323A (zh) | 动态二进制优化 | |
CN103729235A (zh) | Java虚拟机的编译方法和Java虚拟机 | |
CN109471626A (zh) | 页面逻辑结构、页面生成方法、页面数据处理方法及装置 | |
CN101894039A (zh) | 一种嵌入式设备驱动程序辅助生成方法及系统 | |
US20180088966A1 (en) | Electronic device and method thereof for managing applications | |
CN102087609A (zh) | 多处理器平台下的动态二进制翻译方法 | |
CN103645928A (zh) | 一种软件功能模块处理方法及系统 | |
CN114461204A (zh) | 一种将多层级对象数据翻译为原生代码的开发系统和方法 | |
CN102023805B (zh) | 一种软件界面文本信息的辅助浏览方法 | |
CN101819527B (zh) | 一种提高嵌入式图形用户接口系统实时性的方法 | |
CN101604286A (zh) | 一种关键字驱动表格生成方法 | |
CN103760965B (zh) | 一种能量受限嵌入式系统的算法源程序节能优化方法 | |
CN108920143A (zh) | 一种用于人机交互软件的快速开发方法 | |
CN101685396A (zh) | 对功能图标进行控制的系统及方法 | |
CN201237713Y (zh) | 嵌入式一体化工控机 | |
CN100472472C (zh) | Windows平台下基于MSAA的GUI测试驱动方法 | |
CN101335651A (zh) | 一种终端仿真测试系统及使用该系统扩充终端的方法 | |
CN109885396A (zh) | 一种游戏应用中的字符串构建方法和装置 | |
JP3863544B1 (ja) | 演算処理装置及び演算処理方法 | |
CN114791984A (zh) | 导航树显示方法、导航树显示装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130213 Termination date: 20151228 |
|
EXPY | Termination of patent right or utility model |