用于隔离被加载到人机界面应用中的内容中的问题的装置和方法

文档序号:6479420阅读:81来源:国知局
专利名称:用于隔离被加载到人机界面应用中的内容中的问题的装置和方法
技术领域
本发明涉及用于隔离被加载到人机界面应用中的内容中的问题的装置和方法
背景技术
处理设施常常使用过程控制系统来管理。示例性的处理设施包括制造厂、化工厂、 原油炼油厂、以及矿石加工厂。通常,除了操作之外,过程控制系统还管理下列操作电机、 阀门以及该处理设施中的其它工业设备的使用。在常规的过程控制系统中,使用人机界面(HMI)应用来生成如下图形显示其提 供与所监测的过程相关联的内容。HMI应用理想地给操作人员提供所监测过程的连续视图 (view)。这例如可以允许操作人员保证所述过程的正确运行并且识别和解决所出现的任何 问题。总的来说,HMI应用执行的中断可能导致丢失对过程的操作员视图。这常常是不期 望的,因为这阻止了操作人员成功监测和/或控制所述过程。然而,开放系统过程控制HMI 应用常常允许将来自各个提供商的内容加载到HMI应用中。而且,HMI应用的提供商常常 不能控制被加载到HMI应用中的内容(或者验证所述内容的安全性或者质量)。结果,被加 载HMI应用中的内容可能干扰HMI应用的运行,这可能干扰对所监测过程的视图或者导致 丢失所述视图。

发明内容
本公开提供有用于隔离被加载到人机界面(HMI)应用中的内容中的问题的装置 和方法。在第一实施例中,一种方法包括从池中选择多个视图组件(viewcomponent)之 一;将内容加载到所选视图组件中;以及使用所选视图组件将所述内容呈现给用户。该方 法还包括检测与被呈现给用户的内容和/或所选视图组件相关联的问题。该方法进一步 包括采取纠正动作以解决所述问题。在特定的实施例中,将所述内容呈现给用户包括将窗口呈现给用户,其中所述窗 口包括在所述视图组件之中的多个视图组件的范围内公共的组件。将所述内容呈现给用户 还包括将所述内容呈现在所述窗口内的显示区中。被呈现在所述显示区中的内容可以表 现得未位于单独的窗口中。在其它特定的实施例中,先前内容已经使用先前所选视图组件在窗口的显示区中 被呈现给用户。而且,将所述内容呈现给用户还包括将先前内容从所述显示区中去除并且 在所述显示区中将内容呈现给用户。该方法可以进一步包括从先前所选视图组件中卸载 先前内容,并且将先前所选视图组件返回到所述池。在又一特定的实施例中,检测所述问题包括检测至少一个与所选视图组件相关 联的执行错误。而且,采取纠正动作包括重新加载所选视图组件。所选视图组件可以表示网页,并且重新加载所选视图组件可以包括重新加载网页。所选视图组件可以在不需要用 户动作的情况下被自动重新加载。在另一特定的实施例中,被呈现给用户的内容包括与过程控制系统相关联的信息 和一个或多个控件(control)。在第二实施例中,一种装置包括至少一个存储器,所述存储器被配置为存储视图 组件,其中所述视图组件与图形呈现相关联。该装置还包括至少一个处理器,所述处理器被 配置为将内容加载到视图组件以及使用所述视图组件将所述内容呈现给用户。所述至少一 个处理器还被配置为检测与被呈现给用户的内容和/或所述视图组件相关联的问题。所述 至少一个处理器被进一步配置为采取纠正动作以解决所述问题。在特定的实施例中,所述至少一个存储器被配置为在池中存储多个视图组件。而 且,所述至少一个处理器被配置为从所述池中选择视图组件之一,其中所选视图组件被用 于将内容呈现给用户,并且之后被返回给所述池以供重用。在第三实施例中,一种计算机程序被包含在计算机可读介质上。该计算机程序包括 用于将窗口呈现给用户的计算机可读程序代码,其中所述窗口包括在多个视图组件的范围内 公共的组件。该计算机程序还包括如下计算机可读程序代码其用于选择所述多个视图组件 之中的第一视图组件,将第一内容加载到第一所选视图组件中,以及使用第一所选视图组件 在所述窗口的显示区中将第一内容呈现给用户。该计算机程序进一步包括如下的计算机可读 程序代码其用于选择所述多个视图组件之中的第二视图组件,将第二内容加载到第二所选 视图组件中,以及使用第二所选视图组件在所述窗口的显示区中将第二内容呈现给用户。在特定的实施例中,该计算机程序还包括用于检测与第二内容和/或第二所选视 图组件相关联的问题的计算机可读程序代码、以及用于重新加载第二所选视图组件以解决 所述问题的计算机可读程序代码。在其它的特定实施例中,所述多个视图组件形成池,并且该计算机程序包括用于 周期性地终止和重新启动所述池中的未被选择的视图组件的计算机可读程序代码。根据下面的附图、描述、以及权利要求书,其它的技术特征将变得对本领域的技术 人员而 .显而易见。


为了更完全地理解本公开,现在结合附图参考下面的描述,其中图1示出了根据本公开的示例性的过程控制系统;图2示出了根据本公开的用于隔离被加载到HMI应用中的内容中的问题的示例性 人机界面(HMI)应用;图3示出了根据本公开的用于隔离被加载到HMI应用中的内容中的问题的示例性 图形显示;以及图4示出了根据本公开的用于隔离被加载到HMI应用中的内容中的问题的示例性方法。
具体实施例方式本专利文献下面中的下面所讨论的图1至4以及用于描述本发明原理的各个实施例仅仅是为了说明,并且无论如何不应当被解释成是限制本发明的范围。本领域的技术人 员能够理解,可以以任何类型的适当布置的设备或系统来实施本发明的原理。图1示出了根据本公开的示例性的过程控制系统100。图1中所示的过程控制系 统100的实施例仅仅是为了说明。可以在不偏离本发明的范围的情况下使用过程控制系统 100的其它实施例。在所述示例性的实施例中,过程控制系统100包括使得易于生产或处理至少 一种产品或其它材料的各个组件、比如一个或多个传感器102a以及一个或多个执行器 (actuator) 102b。传感器102a和执行器102b表示过程系统中的可能执行任何多种多样的 功能的组件。例如,传感器102可以测量过程系统中的多种多样的特性、比如温度、压力、或 者流速。而且,执行器102b可以改变过程系统中的多种多样的特性、比如加热器、电机、催 化裂化装置、或者阀门。传感器102a和执行器102b可以表示任何合适过程系统中的任何 其它或附加的组件。传感器102a之中的每个都包括用于测量过程系统中的一个或多个特 性的任何合适的结构。执行器102b之中的每个都包括用于操作或影响过程系统中的条件 的任何合适的结构。而且总的来说,过程系统可以表示被配置为以某种方式处理一种或多 种产品或其它材料的任何系统或其一部分。至少一个网络104耦合到传感器102a和执行器102b。网络104使得易于与传 感器102a和执行器102b相互作用。例如,网络104可以从传感器102a输送测量数据,并 且将控制信号提供给执行器102b。网络104可以表示任何合适的网络或者网络组合。作 为特定的例子,网络104可以表示以太网网络、电信号网络(比如HART或者FOUNDATION FIELDBUS (基金会现场总线)网络)、气动控制信号网络、或者任何其它或附加类型的网络。两个控制器106a_106b耦合到网络104。控制器106a_106b尤其是可以将来自传感 器102a的测量值用于控制执行器102b的运行。例如,控制器106a-106b可以从传感器102a 接收测量数据,并且将所述测量数据生成用于执行器102b的控制信号。控制器106a-106b 之中的每个都包括用于与传感器102a相互作用以及控制执行器102b的任何硬件、软件、固 件、或其组合。控制器106a-106b例如可以表示多变量控制器或者其它类型的控制器。作 为特定的例子,控制器106a_106b之中的每个都可以是运行Microsoft Windows操作系统 的计算设备。两个网络108耦合到控制器106a_106b。网络108比如通过将数据输送到控制器 106a-106b或者从控制器106a-106b输送数据来使得易于与控制器106a-106b相互作用。 网络108可以表示任何合适的网络或网络组合。作为特定的例子,网络108可以表示以太 网网络对或者以太网网络冗余对、比如来自HONEYWELL INTERNATIONAL INC.(霍尼韦尔国 际公司)的FAULT TOLERANT ETHERNET (容错以太网)(FTE)网络。至少一个交换机/防火墙110将网络108耦合到两个网络112。交换机/防火墙 110可以将业务量从一个网络输送到另一网络。交换机/防火墙110也可以阻塞一个网络 上的业务量使其不能到达另一网络。交换机/防火墙110包括用于提供网络之间的通信的 任何合适的结构、比如HONEYWELL CONTROL FIREWALL(霍尼韦尔控制防火墙)(CF9)设备。 网络112可以表示任何合适的网络、比如以太网网络或者FTE网络对。两个服务器114a_l 14b耦合到网络112。服务器114a_l 14b执行各个功能来支持对 控制器106a-106b、传感器102a、以及执行器102b的操作和控制。例如,服务器114a_114b
6可以记录由控制器106a-106b所采集或生成的信息、比如来自传感器102a的测量数据或者 用于执行器102b的控制信号。服务器114a-114b还可以执行控制控制器106a_106b的运行 的应用,由此控制执行器102b的运行。另外,114a-114b可以提供对控制器106a_106b的安 全访问。服务器114a-114b之中的每个都包括用于提供对控制器106a-106b的访问、控制 以及与控制器106a-106b相关的操作的任何硬件、软件、固件、或其组合。服务器114a-114b 之中的每个例如都可以表示运行Microsoft Windows操作系统的计算设备。一个或多个操作员站116耦合到网络112。操作员站116表示提供对服务器 114a-114b的用户访问的计算或通信设备,服务器114a-114b然后可以给用户提供对控制 器106a-106b的访问(并且可能给用户提供对传感器102a和执行器102b的访问)。作为 特定的例子,操作员站116可以允许用户使用由控制器106a-106b和/或服务器114a-114b 所采集的信息来审查传感器102a和执行器102b的运行历史。操作员站116还可以允许用 户调整传感器102a、执行器102b、控制器106a-106b、或者服务器114a_114b的运行。另外, 操作员站116可以接收和显示由控制器106a-106b或服务器114a_114b所生成的提醒、警 告、或者其它消息或显示。操作员站116之中的每个都包括用于支持对系统100的用户访 问和控制的任何硬件、软件、固件、或其组合。操作员站116之中的每个例如都可以是运行 Microsoftffindows操作系统的计算设备。在该例中,系统100还包括无线网络118,所述无线网络118可以用于使得易于与 一个或多个无线设备120进行通信。无线网络118可以使用任何合适的技术来传递比如射 频(RF)信号。而且,无线设备120可以表示执行任何合适的功能的设备。无线设备120例 如可以表示无线传感器、无线执行器、以及远程或便携式操作员站、或者其它用户设备。至少一个路由器/防火墙122将网络112耦合到两个网络124。路由器/防火墙 122包括用于提供网络之间的通信的任何合适的结构、比如安全路由器或者组合路由器/ 防火墙。网络124可以表示任何合适的网络、比如以太网网络或者FTE网络对。在该例中,系统100包括至少一个附加的耦合到网络124的服务器126。服务器 126执行各个应用以控制系统100的总体运行。例如,系统100可以用在加工厂或其它设施 中,并且服务器126可以执行用于控制所述厂或其它设施的应用。作为特定的例子,服务器 126可以执行诸如下列应用企业资源规则(ERP)、制造执行系统(MES)、或者任何其它或附 加的厂或过程控制应用。服务器126包括用于控制系统100的总体运行的任何硬件、软件、 固件、或其组合。一个或多个操作员站128耦合到网络124。操作员站128表示提供例如对服务器 114a-114b、126的用户访问的计算或通信设备。操作员站128之中的每个都包括用于支持 对系统100的用户访问和控制的任何硬件、软件、固件、或其组合。操作员站128之中的每 个例如都可以表示运行Microsoft Windows操作系统的计算设备。在特定的实施例中,各个服务器和操作员站可以表示计算设备。例如,服务器 114a-114b、126之中的每个都可以包括一个或多个处理器130和用于存储由一个或多 个处理器130所使用、生成、或者采集的数据和指令的一个或多个存储器132。服务器 114a-114b、126之中的每个还可以包括至少一个网络接口 134、比如一个或多个以太网接 口。而且,操作员站116、128之中的每个都可以包括一个或多个处理器136和用于存储由 一个或多个处理器136所使用、生成、或者采集的数据和指令的一个或多个存储器138。操作员站116、128之中的每个还包括至少一个网络接口 140、比如一个或多个以太网接口。在运行的一方面,操作员站116、128之中至少之一包括人机界面(HMI)应用142。 HMI应用142生成如下图形显示其呈现视觉上表示所监测和/或所控制的一个或多个过 程(或其部分)的内容。每个HMI应用142都包括用于生成表示所监测和/或所控制的过 程的至少一部分的图形显示的任何合适的硬件、软件、固件、或其组合。作为特定的例子, HMI 应用 142 可以使用来自 HONEYWELL INTERNATIONAL INC.的 HMIWEB 技术。HMIWEB 技术 使用超文本标记语言(HTML)并且允许用户建立被加载到操作员站116、128上的过程控制 显示(网页)。HTML显示可以使用INTERNET EXPLORER或者其它的浏览器技术来将网页的 功能扩展为允许显示过程信息并且允许操作员通过网页控制过程。在一些实施例中,HMI应用142由第一方提供并且由第二方使用。而且,一个 或多个第三方可以提供可以被加载到HMI应用142中的内容(比如具有过程控制的网 页)。通常,第一方具有极少或不具有对第三方所提供的内容的控制,并且不能验证所述 内容的安全性或质量。此外,由第三方所提供的内容可能存在各种问题、比如非法控制 (roguecontrol)或者执行错误。执行错误可以(尤其是)包括存储器泄漏、应用故障、以 及存储器损坏(corruption)错误。在常规的系统中,这些错误可能比如通过导致HMI应用 142终止而实际上影响HMI应用142,这中断操作员对所监测的过程的视图。根据本公开,HMI应用142被分成多个组件、即框架组件和一个或多个视图组件。 通常,框架组件包括为了生成图形显示所需的通用特性。例如,在Microsoft Windows操作 系统中,框架组件可以包括用于生成或支持菜单、工具栏、以及位于窗口的标题栏上的管理 按钮(比如关闭、最小化、最大化)的功能(function)。框架组件还可以包括专用全局功 能、比如发起和保持到服务器的连接、以及为安全起见而保留操作员证书。通常,每个视图 组件都包括用于将特定HMI内容加载到窗口中的功能。举例来说,视图组件可以显示表示 特定过程的过程变量的数据,这提供对所述特定过程的视图。视图组件还可以提供用于与 所述过程变量相互作用以及控制所述过程变量的控件。框架组件包括用于生成图形显示的 更通用或者更公共方面的任何硬件、软件、固件、或其组合。视图组件包括用于生成图形显 示的更特定或者更加定制的方面的任何硬件、软件、固件、或其组合。可以以任何合适的方式将HMI应用142的框架组件同HMI应用142的一个或多个 视图组件分离。例如,所述框架和视图组件可以被分成不同的可执行文件或模块,并且框架 可执行文件或模块可以负责调用合适的视图可执行文件或模块。通过分离框架和视图组 件,由使用视图组件所显示的内容或者由视图组件的运行造成的任何问题都可以被限制于 所述视图组件。换言之,这些问题不会影响操作员到过程的连接或者对过程的视图。举例来 说,如果视图组件发生执行错误或者其它问题,则框架组件可以检测到所述问题并且比如 通过重新加载与所述视图组件相关联的网页来重新发起对相同或另外的视图组件的执行。 通过这种方式,框架组件可以在不需要操作员采取任何动作的情况下无缝地恢复操作员对 过程的视图。此外,对框架和视图组件内的分离可以以对操作员不很明显的方式进行。例如, HMI应用142可以表现得与单个窗口应用、或者使用单个窗口来给用户呈现信息的应用(比 如单文档界面或“SDI”应用)无异。作为特定的例子,当使用HMI应用142时,操作员可能 看见如下的单个窗口 其具有菜单、工具栏、以及标题栏上的管理按钮(由框架组件提供)、以及与过程控制相关的内容(由视图组件提供)。操作员可以不知道两个不同的组件正在 为该操作员生成图形显示。通过以这种方式将HMI应用142划分成多个组件,各个执行错误和其它问题可以 被限制在系统100中。例如,如果视图组件发生存储器泄漏,使得所述视图组件有耗尽操作 员站或者其它设备上的可用资源的危险,或者实际上耗尽所述可用资源,则所述视图组件 可以被终止,并且新的组件可以被创建/执行以替代所述视图组件,而不需要重新启动框 架组件。作为另一例子,如果视图组件经历导致所述视图组件终止的应用故障,则所述故障 可以被限制于所述视图组件,并且不延伸到框架组件。框架组件可以检测到所述状况,并且 恢复所述视图组件,由此减少或最小化操作员视图的中断。作为第三个例子,视图组件在访 问存储器时可能发生的错误可能仅仅影响当前所加载的视图组件,并且不一定影响框架组 件。应当注意,应用故障可能发生在存储器损坏错误已经发生之后的未指定的时间(即受 影响的存储器最终被访问时)。为了防范这类问题,视图组件可以周期性地被终止,同时视 图组件“池”(下面将会描述)中的视图组件被重新启动。使用所述技术,可以显著地减低或者甚至消除某些错误和其它问题对操作员对所 监测的过程的视图的影响。视图组件中的错误和其它问题可以被框架组件检测,并且可以 由框架组件采取合适的措施、例如重新加载与视图组件相关联的网页。这可以有助于保持 操作员对过程的视图,并且可以几乎不或者不需要操作员输入。尽管图1示出了过程控制系统100的一个例子,但是可以对图1作出各种改变。例 如,控制系统可以包括任何数目的传感器、执行器、控制器、服务器、操作员站、网络、无线网 络、以及无线设备。而且,图1中的过程控制系统100的组成和布置仅仅是为了说明。可以 根据特定的需要以任何其它合适的配置添加、省略、或者放置组合组件。另外,图1示出了 在里面可以将HMI应用划分成多个组件的一种运行环境。所述功能可以被用在任何其它合 适的设备或系统中。图2示出了根据本公开的用于隔离被加载到HMI应用中的内容中的问题的示例性 人机界面(HMI)应用142。图2中所示的HMI应用142的实施例仅仅是为了说明。在不偏 离本公开的范围的情况下可以使用HMI应用142的其它实施例。而且,为了便于说明,相对 于图1的过程控制系统100中的操作员站来描述图2的HMI应用142。HMI应用142可以 被用在任何其它合适的设备或系统中。如图2所示,HMI应用142包括框架组件202。框架组件202支持用于生成图形显 示的通用特征。这可以包括用于创建菜单、工具栏、以及管理按钮的特征、以及用于执行专 用全局功能以及用于显示警报、状态以及其它通用信息的特征。框架组件202还选择可以 被用于将特定HMI内容和控件加载到窗口中的特定视图组件204。换言之,框架组件202用 于生成图形显示的通用部分(所述通用部分可能在多个图形显示的范围内是公共的),并 且所选视图组件204被用于定制图形显示。在该例中,所选视图组件204选自池206,所述池206含有多个视图组件208 (包 括所选视图组件204)。框架组件202可以运行以使所选视图组件204对操作员可见,而池 206中的其它视图组件208可以对操作员不可见或者被隐藏以使其对操作员不可见。未被 选择的视图组件208可以表示任何合适的组件、比如可以被保持(maintain)以及准备好以 供操作员在图形用户界面内导航(navigate)时使用的组件。
9
框架组件202可以以任何合适的方式选择所选视图组件204以用于呈现给操作 员。例如,框架组件202可以使用来自操作员的输入,其中所述输入定义操作员在图形用户 界面内的何处导航。基于所述信息以及任何其它合适的信息,框架组件202可以选择池206 中的视图组件208之一作为所选视图组件204。然后,框架组件202可以将所选视图组件 204加载到HMI应用142中。在一些实施例中,框架组件202可以对视图组件208执行附加的功能。例如,框架 组件202可以负责池206中的视图组件208的寿命管理。这可以包括框架组件202创建 表示视图组件208的可执行文件(比如在启动的时候),并且销毁所述可执行文件(比如在 关闭的时候)。框架组件202还可以随着操作员在过程显示的范围内导航而协调内容到每 个所选视图组件204中的加载和卸载。框架组件202可以进一步监测每个组件208的反应 性、资源使用、以及使用期(age),并且响应于某些事件(比如周期性地终止和重新启动池 206中的未被选择的视图组件208)采取适当动作。另外,如果所选视图组件204经历问题, 则框架组件202可以终止和创建替代视图组件(比如替代可执行文件)。示例性的问题可 以发生在所选视图组件204经历应用错误、停止响应、开始消耗过量资源、或者超过显示调 用(call-up)的最大数目(其中每个视图组件都可以在给定的时间段内被查看所指定的次 数)时。尽管图2示出了用于隔离被加载到HMI应用中的内容中的问题的HMI应用142的 一个例子,但是可以对图2作出各种改变。例如,操作员站或其它设备可以包括任何合适数 目的框架组件202、所选视图组件204、池206、以及视图组件208。而且,尽管被表示为在任 何给定时刻支持单个所选视图组件204,但是框架组件202可以支持同时使用任何数目的 所选视图组件204。图3示出了根据本公开的用于隔离被加载到HMI应用中的内容中的问题的示例性 图形显示300。图3中所示的图形显示300的实施例仅仅是为了说明。在不偏离本公开的 范围的情况下可以使用图形显示300的其它实施例。而且,为了便于说明,相对于图2中的 在图1中的过程控制系统100中的操作员站上执行的HMI应用142来描述图3的图形显示 300。图形显示300可以与任何其它合适的应用、设备、或者系统一起使用。如图3所示,图形显示300包括窗口 302,所述窗口 302包括显示区304。窗口 302 可以与HMI应用142中的框架组件202相关联并且被所述框架组件202控制。例如,框架 组件202可以负责生成或呈现窗口 302本身、菜单306、工具栏308、标题栏312中的管理按 钮310、以及用户/警报/状态信息314。框架组件202还可以呈现下拉菜单316,所述下拉 菜单316可以用于导航至图形用户界面中的不同显示(应当注意,工具栏308也可以含有 用于导航的按钮)。所选视图组件204可以负责生成或呈现显示区304的实际内容。在该例中,所选视 图组件204提供实施所监测过程的至少一部分的设备的图形表示318。所选视图组件204 还提供与所述设备的运行相关的过程信息320。另外,所选视图组件204提供控件322 (在 该例中为复选框),所述控件322可以用于控制所监测的过程的一个或多个方面。可以由框 架组件202从池206中选择不同的视图组件208以在图形显示300的显示区304内呈现不 同的过程控制信息。如上所述,所选视图组件204将内容加载到显示区304中以允许操作员查看过程并且具有对过程的控制。然而,所选视图组件204可能存在各种问题、比如存储器泄漏、应 用故障、存储器损坏错误、非法控制、或者其它类型的问题。为了减少或避免失去对所监测 过程的查看,框架组件202可以检测到所选视图组件204何时发生问题,并且采取适当的动 作、比如重新加载所选视图组件204或者选择不同的视图组件204。操作员可以不需要为了 恢复对所监测过程的视图而采取任何动作。为了使所选视图组件204无缝地表现为HMI应用窗口(主窗口 302)的一部分,所 选视图组件204可以比如通过对其窗口框架设置WS_CHILD样式(WS_CHILD style)来使其 标题栏和窗口框架组件隐藏。所选视图组件204也可以例如通过使用SetParentOWINDOW API调用而被设置成框架组件202的子体(child)。通过这种方式,所选视图组件204的内 容在显示区304内表现得好像其是窗口 302的不可分割的部分。用户可能完全不知道显示 区304的内容实际上来自HMI应用142中的单独的组件。尽管图3示出了用于隔离被加载到HMI应用中的内容中的问题的图形显示300的 一个例子,但是可以对图3最初各种改变。例如,图形显示300的内容和布置仅仅是为了说 明。还可以使用以任何合适的布局或格式含有任何合适的信息的其它图形显示。图4示出了根据本公开的用于隔离被加载到HMI应用中的内容中的问题的示例性 方法400。图4中所示的方法400的实施例仅仅是为了说明。在不偏离本公开的范围的情 况下可以使用方法400的其它实施例。而且,为了便于说明,相对于图2的在图1的过程控 制系统100中的操作员站上执行的HMI应用142来描述图4的方法400。方法400可以被 用在任何其它合适的应用、设备、或者系统中。在步骤402,对显示信息的请求被接收。这例如可以包括HMI应用142从操作员 接收输入。所述输入可以表示任何合适的信息、比如将被监测的过程的标识。所述输入也 可以以任何合适的方式、比如通过键盘、鼠标、或者其它输入设备来接收。在步骤404,新的视图组件被从视图组件的池中选出。这例如可以包括HMI应用 142中的框架组件202选择池206中的视图组件208之一作为新的所选视图组件204。框 架组件202可以以任何合适的方式、比如通过使用在步骤402所接收的输入来选择新的所 选视图组件204。新的所选视图组件204例如可以与操作员希望监测和/或控制的过程相 关联。在步骤406,确定当前的窗口是否显示先前所选视图组件406的信息。这例如可以 包括HMI应用142中框架组件202确定任何窗口 302当前是否被用于呈现使用先前所选 视图组件204被加载的内容。如果否,则在步骤408生成新的窗口。这例如可以包括框架 组件202生成具有如下项目的新窗口 302 合适的菜单306、工具栏308、管理按钮310、标题 栏312、用户/警报/状态信息314、以及下拉菜单316。否则,如果窗口 302已经被显示,则 在步骤410,所述显示的与先前所选视图组件相关联的内容被隐藏。这例如可以包括框架 组件202清除窗口 302中的显示区304。在步骤412,所述框架组件被设置成新的所选视图组件的母体(parent)。这例如 可以包括进行合适的WINDOWS API函数调用。在步骤414,加载新的所选视图组件204并 且使其可见。这例如可以包括框架组件202使新的所选视图组件204加载合适的内容。 这还可以包括框架组件202使新的所选视图组件204中的内容被显示在窗口 302的显示 区304中。这可以进一步包括框架组件202隐藏新的所选视图组件204的标题栏和窗口
11框架组件。通过这种方式,新的所选视图组件204表现为窗口 302的不可分割的部分、而不 是覆盖在窗口 302上的单独的窗口。此时,操作员可以自由地使用新的所选视图组件204 采取任何合适的动作、比如审查所呈现的过程信息以及在新的所选视图组件204中运行控 件。先前所选视图组件在步骤416被指示卸载其内容,并且在步骤418被返回给池。这 例如可以包括框架组件202清除来自先前所选视图组件的内容并且准备先前所选视图组 件以供未来使用。尽管图4示出了用于隔离被加载到HMI应用中的内容中的问题的方法400的一个 例子,但是可以对图4作出各种改变。例如,尽管被表示为一系列步骤,但是图4中的各个 步骤可以重叠、并行进行、以不同的顺序进行、或者多次进行。在一些实施例中,上述各个功能通过由计算机可读程序代码构成并且被包含在计 算机可读介质中的计算机程序来实施或支持。措辞“计算机可读程序代码”包括任何类型 的计算机代码、包括源代码、目标代码、以及可执行代码。措辞“计算机可读介质”包括任何 类型的能够被计算机访问的介质、比如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱 动器、光盘(CD)、数字视频光盘(DVD)、或者任何其它类型的存储器。可能有利的是,阐述贯穿本专利文献所使用的某些用语和措辞的定义。术语“耦 合”及其衍生词是指两个或两个以上元件在无论所述元件是否彼此物理接触的情况下所进 行的任何直接或间接通信。术语“应用”和“程序”是指适于以合适的计算机代码(包括源 代码、目标代码、或者可执行代码)来实施的一个或多个计算机程序、软件组件、指令集、过 程、函数、对象、类、实例、相关数据、或其一部分。术语“传输”、“接收”、以及“传递”、及其衍 生词涵盖直接和间接的传送。术语“包括”和“包含”、及其衍生词是指没有限制的包括。术 语“或”是包括性的,意思是和/或。措辞“与...相关联”、以及“与其相关联”、及其衍生词 可以指包括、被包括在...内、与...互连、包含、被包含在...内、连接到...或与...相 连接、耦合到...或者与...相耦合、可以与...通信、与...协作、交织、并置、接近于、被 捆绑到...或与...捆绑在一起、具有、具有...性质等等。术语“控制器”是指控制至少 一个操作的设备、系统、及其一部分。控制器可以以硬件、固件、软件、或其中至少二者的组 合来实现。与任何特定的控制器相关联的功能无论在本地或者远程都可以是集中的或分布 式的。尽管本公开已经描述了某些实施例以及总体上相关联的方法,但是对这些实施例 和方法的修改和置换对于本领域的技术人员而言将是显而易见的。因此,上面对示例性实 施例的描述并不限定或限制本公开。在不偏离本公开的由下面的权利要求书所限定的精神 和范围的情况下,也可以进行其它改变、替代和修改。
权利要求
一种方法,包括从池(206)中选择多个视图组件(208)之一;将内容加载到所选视图组件(204)中;使用所选视图组件将所述内容呈现给用户;检测与下列项目中的至少一个相关联的问题被呈现给用户的内容以及所选视图组件;以及采取纠正动作以解决所述问题。
2.根据权利要求1所述的方法,其中将所述内容呈现给用户包括将窗口(302)呈现 给用户,所述窗口包括在所述视图组件之中的多个视图组件的范围内公共的组件;以及将所述内容呈现在所述窗口内的显示区(304)中,其中被呈现在所述显示区中的内容 表现得未位于单独的窗口中。
3.根据权利要求1所述的方法,其中先前内容已经使用先前所选视图组件在窗口(302)的显示区(304)中被呈现给用户;以及将所述内容呈现给用户包括将先前内容从所述显示区中去除并且在所述显示区中将 内容呈现给用户。
4.根据权利要求3所述的方法,进一步包括 从先前所选视图组件中卸载先前内容,以及 将先前所选视图组件返回到所述池。
5.根据权利要求1所述的方法,其中 所选视图组件包括网页;检测所述问题包括检测至少一个与所述网页相关联的执行错误;以及 采取纠正动作包括在不需要用户动作的情况下自动重新加载所述网页。
6.根据权利要求1所述的方法,其中 框架组件(202)选择所选视图组件;以及进一步包括使所述框架组件充当所选视图组件的母体。
7.一种装置,包括至少一个存储器(138),被配置为存储视图组件(204),所述视图组件与图形呈现相关 联;以及至少一个处理器(136),所述处理器被配置为将内容加载到视图组件;使用所述视图组件将所述内容呈现给用户;检测与下列项目中的至少一个相关联的问题被呈现给用户的内容以及视图组件;以及采取纠正动作以解决所述问题。
8.根据权利要求7所述的方法,其中所述至少一个存储器被配置为在池(206)中存储多个视图组件(208);以及 所述至少一个处理器被进一步配置为从所述池中选择视图组件之一,其中所选视图组 件被用于将内容呈现给用户,并且之后被返回给所述池以供重用。
9.一种计算机程序,其被包含在计算机可读介质上,该计算机程序包括用于将窗口(302)呈现给用户的计算机可读程序代码,所述窗口包括在多个视图组件 (208)的范围内公共的组件;用于选择所述多个视图组件之中的第一视图组件的计算机可读程序代码, 用于将第一内容加载到第一所选视图组件中的计算机可读程序代码, 用于使用第一所选视图组件在所述窗口的显示区(304)中将第一内容呈现给用户的 计算机可读程序代码;用于选择所述多个视图组件之中的第二视图组件的计算机可读程序代码; 用于将第二内容加载到第二所选视图组件中的计算机可读程序代码;以及 用于使用第二所选视图组件在所述窗口的显示区中将第二内容呈现给用户的计算机 可读程序代码。
10.根据权利要求9所述的方法,进一步包括用于检测与下列项目中的至少一个相关联的问题的计算机可读程序代码第二内容以 及第二所选视图组件;以及用于重新加载第二所选视图组件以解决所述问题的计算机可读程序代码。
全文摘要
人机界面(HMI)应用(142)可以被分成框架组件(202)和一个或多个视图组件(204,208)。所述框架组件可以负责生成如下的窗口(302)其具有在所述视图组件之中的多个视图组件的范围内公共的组件。所述框架组件还从池中选择视图组件之一。内容可以被加载到所选视图组件(204)中,并且使用所选视图组件而被呈现在所述窗口的显示区(304)中。所述框架组件还检测与被呈现给用户的内容和/或所选视图组件相关联的问题、比如执行错误。另外,所述框架组件可采取纠正动作、例如通过重新加载所选视图组件(这可以自动进行)来解决所述问题。通过这种方式,与所选视图组件相关联的错误不会导致所述框架组件的终止以及所述框架组件的其它麻烦。
文档编号G06F19/00GK101918951SQ200880125086
公开日2010年12月15日 申请日期2008年11月16日 优先权日2007年11月20日
发明者D·J·库皮特 申请人:霍尼韦尔国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1