首页> 中国专利> 一种提高嵌入式图形用户接口系统实时性的方法

一种提高嵌入式图形用户接口系统实时性的方法

摘要

本发明公布了一种提高嵌入式图形用户接口系统实时性的方法。本发明将创建和撤销窗口时繁杂的对内存的操作,初始化操作放在系统初始化时做,系统稳定运行时,用耗时远远小于上述操作的在窗口关系网中移动节点的操作来代替上述操作。其中窗口关系网在系统初始化时由所有用到的窗口组建而成。同时在窗口节点上存储小量数据来缩短系统处理小量常用数据的时间。本发明的特点是实时性强,系统运行时系统反应快,结构清晰,易于裁减,移植或是更新。该方法可降低系统命令反映时间和信息传递时间,解决嵌入式GUI在工业控制系统领域应用时耗费过多时间资源的问题。

著录项

  • 公开/公告号CN101819527A

    专利类型发明专利

  • 公开/公告日2010-09-01

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN200910264572.X

  • 申请日2009-12-28

  • 分类号G06F9/44;G06F3/048;G05B19/02;

  • 代理机构南京经纬专利商标代理有限公司;

  • 代理人许方

  • 地址 214135 江苏省无锡市新区菱湖大道99号

  • 入库时间 2023-12-18 00:44:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-22

    未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20130213 终止日期:20151228 申请日:20091228

    专利权的终止

  • 2013-02-13

    授权

    授权

  • 2010-10-20

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20091228

    实质审查的生效

  • 2010-09-01

    公开

    公开

说明书

技术领域

本发明应用于嵌入式图形用户接口(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存储区,无需从其他存储空间读取数据。

本发明用于对界面人性化要求不太高,但是对系统实时性要求很严格,系统资源有限的嵌入式系统。例如它能很好的适用于低压系统领域和工业控制领域的嵌入式系统。它最大的特点是实时性强,省却了大量创建窗口,撤消窗口的时间。它结构清晰,易于裁减,移植或是更新。

以上借助实施例描述了本发明的具体实施方式,但是应该理解的是,前述具体的描述不应理解为对本发明的实质和范围的限定,本领域内的普通技术人员在阅读本说明书后对上述实施例作出的各种修改,都属于本发明所保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号