CN103279376B - 将可执行代码并入健康维护系统的方法和可重新配置系统 - Google Patents
将可执行代码并入健康维护系统的方法和可重新配置系统 Download PDFInfo
- Publication number
- CN103279376B CN103279376B CN201210595870.9A CN201210595870A CN103279376B CN 103279376 B CN103279376 B CN 103279376B CN 201210595870 A CN201210595870 A CN 201210595870A CN 103279376 B CN103279376 B CN 103279376B
- Authority
- CN
- China
- Prior art keywords
- data
- algorithm
- node
- function
- bcd
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及将可执行代码并入健康维护系统的方法和可重新配置系统。提供了一种在无需重新编译和重新链接可执行代码的情况下重新配置复杂系统健康监控系统的节点的系统。该系统包括:包含预先编译的指令来完成多个不同标准化函数之一的软件模块,以及包括处理器和多个软件对象的计算节点,该处理器被配置为执行预先编译的指令。该系统还包括被配置为向该软件模块提供静态和动态数据的配置文件,该配置文件包括动态数据存储器(DDS)、静态数据存储器(SDS)和二进制码数据库(BCD)。该BCD包括可由该软件模块调用的外部编译的可执行算法的库。该BCD被配置为具有与外部编译的可执行算法的库相关联的数据库标识和检索数据结构。
Description
技术领域
本发明总体上涉及用于基于状况的健康维护系统的体系结构,更具体而言,涉及可以由用户灵活地重新配置以反映被监控资产的物理结构以及资产如何被监控的体系结构。
背景技术
车辆复杂性的增加和伴随而来的维护费用的增加已经导致了工业上广泛投资到基于状况的健康管理(condition based health management,CBM)领域中。这些努力已经引起工业或设备专用过程方案的开发。然而,常规CBM系统总体上是被刚性配置的,需要用户容忍繁琐的性能或支付显著的改装费用。
图1是示例性多级健康维护过程10的简化框图,该过程可能在监控复杂系统(未示出)中有用。在这里讨论的复杂系统可以是任何类型的车辆、飞行器、制造过程或机器,其可以使用传感器、换能器或其它数据源来监控复杂系统的各种组件和参数。传感器/换能器通常位于组件或过程测量级20处,用于通过各种数据驱动的输入/输出(input/output,I/O)设备测量、收集和传递原始数据。这种原始数据可表示故障指示器、参数值、过程状态和事件、可消耗的使用和状态、交互性数据等等。非限制性其它数据源的例子可包括串行数据文件、视频数据文件、音频数据文件和内置测试设备。
一旦测量到复杂系统的参数,通常将测量数据转送到处于处理提取级30的更精密的设备和系统。在提取级30,更高级别的数据分析和记录可出现,诸如确定或推导趋向以及其它症状标记。
进一步处理症状标记并将其传递给解释级40,在那里合理编程的计算设备可诊断、预测默认指示或跟踪可消耗的使用和消耗。也可以确定和跟踪原料以及其它使用数据。
然后可以通过处于动作级50的维护计划、分析和调协软件应用程序来编译和组织处于解释级40合成的数据,用于在交互级60的报告以及其它与各种用户的交互。
虽然实现CBM系统所需的过程变得更为公知,CBM系统的复杂度级别仍然很高,并且开发这些方案的成本也相应地很高。尝试生成一种花费不多的与将监控的复杂系统的设计无关的通用CBM方案还是不那么令人满意。这正是因为其中复杂系统可能发生故障的方式以及通过其表明故障的症状的组合和排列高度依赖于系统设计。
类似地,修改CBM方案的成本也很高,常常需要重新链接和重新编译基础系统代码以适应新变量、算法和用于新变量的参数以及标识这些新变量值的存储位置。对于某些应用程序来说,存在某些无需重新编译的更新主要行代码的插件方案。然而,这种方案被限制于已经编码到主要行代码中的变量和变量参数。
相应地,开发一种足够灵活以支持复杂系统范围的健康维护系统体系结构是合乎需要的。此外,开发一种能够易于由用户实时重新配置以包括不受限制范围的新变量、算法以及其它功能从而免除过高的重新编程成本和延迟的健康维护系统是合乎需要的,此外,根据结合附图和本发明背景进行的后续的发明的详细说明和所附权利要求书,本发明的其它合乎需要的特征和特性将变得清楚。
发明内容
提供了一种用于在不重新编译和重新链接可执行代码的情况下重新配置复杂系统健康监控系统的节点的系统。该系统包括软件模块,该软件模块包含执行多个不同标准化函数之一的预先编译的指令。该系统还包括计算节点,该计算节点包括处理器和多个软件对象。处理器被配置为执行预先编译的指令,所述多个软件对象包括促进执行预先编译的指令的实用函数以及内部算法。该系统还包括配置文件,该配置文件被配置为给软件模块提供静态数据和动态数据。配置文件包括动态数据存储器(dynamic data store,DDS)、静态数据存储器(static data store,SDS)和二进制码数据库(binary code database,BCD)。BCD由外部编译的可由软件模块调用的可执行算法的库组成。BCD被配置有与外部编译的可执行算法的库相关联的数据库标识和检索数据结构。
提供了一种用于在无需重新编译和重新链接可执行代码的情况下重新配置复杂系统健康监控系统的节点的方法。该方法包括在节点处接收包含编译算法和实用程序的二进制码数据库(BCD)以及调用返回在BCD中可用的所有函数的列表的驻留在BCD中的第一函数。然后该方法创建驻留在标准化可执行应用模块(standardized executableapplication module,SEAM)和在节点内驻留的框架服务两者中的函数的列表。利用BCD内可用的所有函数的列表,在标准化可执行应用模块(SEAM)和框架服务两者中的函数的列表创建用于节点的可用算法和实用程序的修改列表。然后该方法将该修改列表存储动态数据存储器(DDS)中用于由来自BCD和框架服务的调用来访问。
提供了一种计算机可读存储介质,其具有记录在其上的指令,这些指令在执行时执行各个步骤。这些步骤包括:从动态数据存储器调用BCID和相关函数参数列表,以及检索实现来自静态数据存储器的任务所需的已编译的算法和实用程序的列表。这些步骤还包括:从动态数据存储器检索已编译的算法和实用程序所需的参数值,以及运行完成任务所需的每个已编译的算法和实用程序。这些步骤还包括返回已编译的算法和实用程序的结果来完成任务。
附图说明
以下将结合下列附图来描述本发明,其中相同的数字表示相同的元件,并且:
图1是示例性多级健康维护过程的简化框图;
图2是分级结构实施例的简化功能框图;
图3是用于优化分级的基于状况的维护系统的运行时间性能的示例性可重新配置系统的简化示意图;
图4-6是示出了用于配置分级结构内计算节点的GUI的示例性屏幕截图;
图7-9是示出了用于配置可执行应用模块的GUI的示例性屏幕截图;
图10是用于配置/重新配置正在监控复杂系统的各种组件的计算节点的分级结构的示例性方法的流程图;
图11是按照实施例的示例性计算节点(诸如EHM)的简化框图;
图12是工作流程服务、seam和配置文件之间的组件关系的框图;
图13是按照实施例的用于协调具有配置文件以完成任务的计算设备的功能的示例性方法的简化逻辑流程图;
图14是启动二进制码数据库的方法的简化逻辑流程图;以及
图15是图13的简化逻辑流程图的扩展,包括在算法执行单元、BITE执行单元和二进制码数据库之间的示例性协作。
具体实施方式
以下的详细说明实际上只是示例性的,而不意味着限制本发明或者本发明的应用和使用。正如此处使用的那样,词语“示例性”意思是“用作例子、实例或例证说明。”因此,此处被描述为“示例性”的任何实施例不必解释为相对其他实施例是更优选的或有利的。此处所描述的所有实施例是示例性实施例,其被提供以使本领域技术人员能完成或使用本发明,并且其并不限制由权利要求限定的本发明的范围。此外,不意味着被先前的技术领域、背景技术、发明内容或随后的具体实施方式中所呈现的任何明示或暗示理论所约束。
本领域技术人员会理解的是,可以作为电子硬件、计算机软件或两者的组合来实现结合此处公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤。下面根据功能块和/或逻辑块组件(或模块)和各个处理步骤描述一些实施例和实现方式。然而,应该理解的是,这种块组件(或模块)可以由被配置为执行规定功能的任何数目的硬件、软件和/或固件组件实现。为了清楚地示出硬件和软件的这种可交换性,在此处总体上根据它们的功能描述各种说明性组件、块、模块、电路和步骤。这种功能是被实现为硬件还是软件取决于施加于整个系统的具体的应用和设计限制。技术人员可以不同的方式为每个具体的应用实现所描述的功能,但是这种实现决策不应该被解释为导致偏离本发明的范围。例如,系统或组件的实施例可采用各种集成电路组件(例如存储元件、数字信号处理元件、逻辑元件、查找表等等),其可在一个或多个微处理器或其他控制设备的控制下执行各种功能。此外,本领域技术人员会理解的是,此处所描述的实施例仅仅是示例性的实现方式。
可以用通用处理器、控制器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、离散硬件组件或者是设计成执行此处所描述功能的它们的任何组合来实现或执行结合此处公开的实施例描述的各种说明性逻辑块、模块以及电路。通用处理器可以是微处理器,但是在替换方式中,处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、结合DSP核的一个或多个微处理器或任何其他这种配置。此处词语“示例性”排他地用来意指“用作例子、实例或例证说明。”此处被描述为“示例性”的任何实施例不必解释为相对于其他实施例是优选的或有利的。
结合此处公开的实施例描述的方法或算法的步骤可以直接地包含在硬件中、在由处理器执行的软件模块中或在这两者的组合中。软件模块可以驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动盘、CD-ROM或者本领域已知的任何其他形式的计算机可读存储介质中。示例性计算机可读存储介质是如上所述的处理器或被耦合至该处理器,这样处理器可以从存储介质读取信息和写入信息到存储介质。在替换方式中,存储介质可与处理器成一体。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方式中,处理器和存储介质可作为离散组件驻留在用户终端中。
在本文中,诸如第一和第二等等之类的关系术语可仅仅用来区别一个实体或者动作与另一个实体或动作,而不必要求或者暗含这种实体或动作之间的任何实际这种关系或者顺序。数值序数(诸如“第一”、“第二”、“第三”等)仅仅表示多个中的不同单个并且不暗含任何顺序或排序,除非由权利要求语言明确地限定。除非由权利要求的语言明确地限定,在任何权利要求中正文的排序不暗含过程步骤必须以按照这种排序的时间顺序或逻辑顺序被执行。在不脱离本发明范围的情况下,只要这种互换不同权利要求语言矛盾并且不是逻辑上无意义的,过程步骤可以依照任何顺序进行互换。
此外,根据上下文,用于描述不同元件之间关系的词语(诸如“连接”或“耦合至”)不意味着在这些元件之间必须进行直接的物理连接。例如,两个元件可以通过一个或多个附加元件物理地、电子地、逻辑上或以任何其他方式连接至彼此。
虽然将在随后本发明的详细说明中给出至少一个示例性实施例,应该理解的是,存在大量变化。还应该理解的是,一个示例性实施例或多个示例性实施例仅仅是举例,而不意图以任何方式限制本发明的范围、应用性或者配置。更确切地,下列详细说明将提供给本领域技术人员实现本发明的示例性实施例的方便的路线图。可以理解的是,在不脱离所附权利要求阐述的本发明范围的情况下,可以在示例性实施例中描述的元件的功能以及设置方面做出各种改变。
图2是可由用户适时重新配置的分级结构200的实施例的简化功能框图。这可通过经由数据驱动建模工具171改变配置数据180的集合来实现,该数据驱动建模工具171还可以描述为基于模型的配置装置。配置数据180可以存储为驻留在静态数据存储器(例如ROM)中的静态数据、驻留在动态数据存储器(例如RAM)中的动态数据中的任何一个,或者存储为数据库中的指令作为已编译的代码或算法。
考虑到可由下面此处所描述的实施例监控的过多复杂系统和可在复杂系统中任一点期望的多种功能,下列的描述包含此处公开的主题的非限制性例子。可补充下列示例性实施例的复杂系统的具体的非限制性例子可以是如对David Goldstein而言共同拥有、共同待审的申请12/493,750所描述的车辆。
为了简洁性和简明性起见,将假定当前的例子只有五个不同处理级或“应用层。”应用层(120-160)是编程到驻留在一个或多个计算节点中的运行时间软件中的函数或服务的集合,共享特定的分级级别并适于满足涉及特定的健康管理实现方式的用户需要。作为非限制性例子,应用层可以是设备健康管理器(Equipment Health Manager,EHM)层120、区域健康管理器(Area Health Manager,AHM)层130、车辆健康管理器(Vehicle HealthManager,VHM)层140、维护者层150或企业层160。
然而,在此处讨论的等价实施例中,分级结构200可以具有任何数目的应用层(120-160)级。应用层(120-160)可包括任何数目的计算节点,其是计算设备。由复杂系统的复杂度和用户期望的监控的复杂性确定出节点的数目。在一些实施例中,多个节点(120-160)可以驻留在一个计算设备中。基于设备的层(EHM层120、AHM层130、VHM层140、维护者150和企业160)的计算节点还可以称为EHM120′、AHM130′、VHM140′、维护者节点150′和企业节点160′。
在此处公开的这些示例性实施例中,EHM120′是计算设备,该计算设备提供计算机系统单个组件的状态集成视图,包括分级结构200的最低分级。EHM120′可以具有他人所偏爱的不同命名。例如,在等价实施例中EHM120′还被称为组件区域管理器(Component AreaManager,CAM)。复杂系统可需要大量EHM(120′),每个EHM可包括多重时间序列生成源,诸如传感器、换能器、内置测试设备(Built-In-Test-Equipment,BITE)等等。在一些实施例中,BITE可以是实时可重编程的。EHM(120′)优选地位于电子靠近时间序列数据生成源,以便当它们出现时检测症状时间序列模式。
AHM130′是位于分级结构200的下一更高分级级别的计算设备,并且可接收和处理从多个EHM120′以及其它节点(130′-160′)接收的消息、命令和数据输入。AHM130′可报告并接收来自分级结构200的更高级别或更低级别组件的命令和数据。AHM130′处理数据并提供所监控复杂系统的单个子系统的健康集成视图。AHM130′可以具有他人所偏爱的不同命名。例如,在等价实施例中AHM130′还被称为子系统区域管理器(Sub-system Area Manager,SAM)。在一些实施例中,AHM130′可以具有它自己的可编程BITE。
VHM140′是位于分级结构200的下一更高分级级别的计算设备,并且可接收和处理从多个EHM120′和AHM130′接收的消息、命令和数据输入。VHM140′也可报告并从分级结构200的更高级别组件接收命令和数据。VHM130′处理数据并提供所监控的整个复杂系统的健康集成视图。VHM140可以具有他人所偏爱的不同命名。例如,在等价实施例中VHM140′还被称为系统级控制管理器(system level control manager,SLCM)。在一些实施例中,VHM140′可以具有它自己的可编程BITE。
维护者层150包含一个或多个计算节点(150′),其分析从EHM(120′)、AHM130′和(多个)VHM140′接收的数据并支持本地现场维护行为。维护者级计算系统的非限制性例子是美国新泽西州莫里斯镇霍尼韦尔国际公司的一间附属公司智能自动化公司生产的 PC地面站(PC-GBS)软件;或者美国军队平台士兵任务准备系统(PS-MRS)。维护者层系统可以具有他人所偏爱的不同命名。节点150′还从更高级别节点160′接收数据、命令和消息。在一些实施例中,维护者节点150′可以具有它自己的可编程BITE。
企业层160包含一个或多个计算节点(160′),其分析从EHM120′、AHM130′、(多个)VHM140′和维护者层150接收的数据。企业级支持大量或一队资产的维护、后勤和操作。企业层160计算系统的非限制性例子是来自霍尼韦尔国际公司的ZINGTM系统和预测趋向监控及诊断系统。企业层系统160’可以具有他人所偏爱的不同命名。
按照此处公开的主题的规则,可以单独地且适时地由用户通过数据驱动建模工具171配置或重新配置分级结构200每级的每个计算节点(120′-160′)。数据驱动建模工具171允许用户直接改变配置数据180,其转而经由模型驱动GUI170(见图2)给驻留在分级结构200的每个计算节点(120′-160′)中的一个或多个标准化可执行应用模块(SEAM)(221-264)提供具体的指导和数据和/或启动所述SEAM。在随后的描述中,术语“配置”和“提供具体的指导和数据”可以进行同义使用。
SEAM(221-264)的数目不受限制并且可以被扩大超过此处讨论的数目。类似地,在不脱离此处公开范围的情况下,可以将此处讨论的SEAM(221-264)如可能需求的那样组合为更少的模块或分解为组件模块。SEAM(221-264)是可从一个或多个重复使用库(220-260)选择的服务、运行时间软件、固件和知识管理工具的集合并随后被引导以满足用户的健康管理实现方式需求。每个SEAM(221-264)包含可执行代码,该可执行代码包括定义设计成执行可在稍后的时间被引导和重新引导以执行特定功能的基本功能的标准化子例程的逻辑步骤的集合。
在这里讨论24个示例性SEAM(221-264),其被分解为5个不受限制的示例性库(220、230、240、250和260)。SEAM(221-264)是基础的不可修改的模块软件对象,其被引导为在将标准化可执行软件模块(221-264)填充到分级结构200内之后经由配置数据180完成特定的任务。结合可执行应用程序(221-264)经由将包含配置数据180的配置文件185递送到节点实现配置数据180。一旦被配置,则节点内的SEAM(221-264)可以对从复杂系统收集的数据协同地执行特定的函数集合。特定的函数集合的一个非限制性例子可以是操作在节点内操作的BITE的健康监控算法或指令。
然而,在一些等价实施例中,操作在节点内(120-160)操作的BITE的已编译指令(即已编译二进制码)库不是SEAM(221-264)的一部分,而是正在配置节点的配置文件185的一部分或驻留在正在配置节点的配置文件185中。这些指令可以被称为驻留在二进制码数据库(BCD)350(c)中的二进制码数据。BCD350c包括外部生成的算法和子例程的库,还包括将在下面进一步讨论的数据库元件。在一些实施例中,可以从配置文件185可独立加载BCD350c。在其它实施例中,BCD350c连同DDS350b和SDS350a一起是配置文件的不可缺的组件。限于使用应用编程接口(Application Programming Interface,API)的每个已编译二进制码可以从框架服务301调用其他已编译二进制码和函数或实用程序。
作为非限制性例子,测量库220可包括获取SEAM221。获取SEAM221功能可提供用于通过包含外部可调用接口的定制适配器325而将数据输入到计算节点(120’-160’)中的主通道。定制适配器325将数据块推入获取SEAM221,然后其解析数据块并将数据块排队以供另一个可执行应用程序(222-264)后续处理。
测量库220可包括感测SEAM223。感测SEAM223可提供次级通道用于通过系统启动的从物理I/O设备(即串行数据端口、传感器I/O接口等)读取数据的请求而将数据输入到计算节点(120′-160′)中。感测SEAM223,然后解析数据块并将数据块排队以供另一个可执行应用程序(222-264)后续处理。
测量库220可包括解码SEAM222。解码SEAM222可采用由获取SEAM221或感测SEAM223进行排队的数据并将这些数据变换为其他可执行应用程序能处理的可用形式(即症状和/或变量)。解码SEAM222也可以使循环缓冲器填充有获取SEAM221进行排队的数据块以使能快照或数据登记功能。
提取库230可包括评估SEAM231。评估SEAM231可执行复杂系统的状态变量的周期性评估来触发数据收集、设置约束状况并基于通过控制安装在其节点(120-160)内的可重编程的BITE收集的实时或近似实时数据来检测复杂系统事件。为了这样做,评估SEAM231可包括与可驻留在安装在节点120-160中的配置文件185内的BCD350(c)交互的接口。BCD350(c)包括对BITE的算法和二进制指令,引导测试做什么以及如何提取和解释所收集的数据。实际上,与它的评估SEAM231一起作用的BCD350(c)为本地节点(120-160)创建本地故障模型,其适合于从来自测量库220的本地安装的SEAM接收本地数据并且评估该数据以得出关于节点监控的复杂系统的组件的状态和该数据的本地化结论。对于评估模块231的附加描述,参见共同待审的、共同拥有的名称为“用于分布诊断推理的方法和系统(Methods andSystems for Distributed Diagnostic Reasoning)”的申请13/273,984,将该篇申请的内容在此通过引用整体并入本文。
提取库230可包括记录SEAM234。记录SEAM234可评估已解码的症状和变量来确定何时要执行快照/数据登记器功能。如果快照/数据登记功能已经被触发,记录SEAM234可创建特定的快照/数据记录并将它们发送到动态数据存储器(DDS)350b。可以由另一个可执行应用程序(221-264)或由外部系统(未示出)触发快照。
提取库230可包括分析SEAM232。分析SEAM232可运行使用变量值和趋向数据的一个或多个算法,趋向SEAM233可能已经集合了该变量值和趋向数据并随后将其存储在动态数据存储器(DDS)350b中,以确定特定的症状状态和/或提供所关心的不可测参数值的估计。DDS350b是由数据存取器304访问的配置文件185中的数据存储位置。
分析SEAM232可包括与驻留在配置文件185内的BCD350(c)交互的接口。配置文件185经由框架数据存取器304被安装在节点120-160中。BCD350(c)包括对BITE的指令,引导测试做什么以及如何提取和分析所收集的数据。实际上,与评估SEAM231以及其它SEAM一起作用的BCD350(c)可创建本地故障模型,其适合于从来自测量库220的SEAM接收本地数据并评估该数据以得出关于节点监控的复杂系统的组件的状态和该数据的本地化结论。对于分析SEAM232的附加描述,参见共同待审的、共同拥有的名称为“用于分布诊断推理的方法和系统”的申请13/273,984。
解释库240可包括分配SEAM241。分配SEAM241可执行对症状集合的约束处理、级联效应消除和时间延迟处理,然后将症状分配给适当的一个或多个故障状况,该一个或多个故障状况被指定用于所监控的设备或子系统。分配SEAM241也可以基于与故障状况相关联的任何特定症状的状态变化而更新每个故障状况的状态。对于分配SEAM241的附加描述,参见共同待审的、共同拥有的名称为“用于分布诊断推理的方法和系统”的申请13/273,984。
解释库240可包括诊断SEAM242。诊断SEAM242可安排系统用户、所监控资产和诊断推理之间的交互以减少对于给定有效故障状况的不明确的故障模式的数目,直到维护程序被标识,其将解析故障状况的根本原因。对于诊断SEAM242的附加描述,参见共同待审的、共同拥有的名称为“用于分布诊断推理的方法和系统”的申请13/273,984。
解释库240可包括分级SEAM243。分级SEAM243可在已经完成诊断推理之后分级顺序潜在的故障模式。根据存储在静态数据存储器(SDS)350a中的预定义标准,将与特定的有效故障状况相关联的故障模式、有关的纠正动作(corrective actions,CA)和相关测试程序进行分级。SDS是由框架数据存取器304访问的配置文件185中的静态数据存储位置。对于分级SEAM243的附加描述,参见共同待审的、共同拥有的名称为“用于分布诊断推理的方法和系统”的申请13/273,984。
解释库240可包括预测SEAM244。预测SEAM244可对存储在DDS350b中的趋向数据运行预测算法,以便确定可出现的潜在的未来故障并提供预测的时间估计。
解释库240可包括消耗监控SEAM245。消耗监控SEAM245可监控消耗指示器和/或可对存储在DDS350b中的趋向数据运行预测算法,其被配置为跟踪复杂系统中的易腐/寿命有限的供应材料的消耗,然后预测何时将需要再供应。可以由工作流程服务310调用消耗监控功能,其是内部可调用接口300的组件功能并将在下面进一步进行讨论。
解释库240可包括使用监控SEAM246。使用监控SEAM246可监控存储在DDS350b中的趋向数据来跟踪所监控设备或子系统的使用以便估计对预防性维护以及其它维护操作的需要。可由工作流程服务310调用使用监控功能,其是内部可调用接口300的组件功能。
解释库240可包括汇总SEAM247。汇总SEAM247可将从由应用层及其下级层(120-160)监控的所有子系统接收的健康数据融合到资产状态报告的分级集合中。这种报告可表示使用的物理或功能可用性。资产状态报告可以在GUI170上以一系列图形或数据树显示,其以允许用户更详细地向下逐层追溯到CBM层的方式汇总了数据的分级性质。可以由工作流程服务310调用汇总功能。可以响应于表示多个SEAM中另一个SEAM已经更新了诊断结论的事件,触发这种调用。可以由用户通过用户界面调用资产状态的显示。
动作库250可包括调度SEAM251。调度251调度最佳时间,在这个时间需要或建议的维护动作(maintenance actions,MA)应该按照预定标准执行。用于评估时序的数据包括规定优先级和所需资产的可用性,所需资产诸如维护人员、部件、工具、专业化维护设备和设备/子系统本身。可以由工作流程服务310调用调度功能。
动作库250可包括协调SEAM252。协调SEAM252协调动作的执行与应用层120-160之间和各层与它们所监控设备/子系统之间的那些动作结果的报告。示例性的非限制性动作包括启动BIT或快照功能。使用包含外部可调用接口的定制适配器325a-e可以将动作推入协调SEAM252并可以将结果从协调SEAM252中推出。定制适配器325a-e可以是对称的,使得当向上传递分级结构时可以使用与当向下传递分级结构时相同的通信协议。
动作库250可包括报告SEAM253。报告SEAM253可生成要发送给分级结构中下一更高应用程序和/或外部用户的指定数据块。可以由定制适配器325a-e从报告SEAM253中提取报告数据。报告SEAM253可生成包括所监控资产的健康状态概要的数据。
动作库250可包括跟踪SEAM254。跟踪SEAM254可与用户交互来显示用户被分配的动作并允许工作被实现或重新分配。
动作库250可包括预报SEAM255。预报SEAM255可确定对材料、劳动、机构以及其它资源的需要,以便支持后勤服务的优化。可以由工作流程服务310调用预报功能。
动作库250可包括登记SEAM256。登记SEAM256可保存所选数据项的日志以及在所选时间段上如何已经确定这些数据项。可以为任何所需数据项执行登记。非限制性例子包括维护动作、所报告的故障、事件等等。
交互库260可包括再现SEAM262。再现SEAM262可构造用于显示、输出或递送给用户的报告、表格式数据、结构化数据和HTML页面。
交互库260可包括响应SEAM261。响应SEAM261可再现数据用于显示给用户,从而描绘复杂系统的总体健康,并支持详细视图来允许“向下追溯(drill down)”用于显示概要证据、所建议动作和对话框。可以由工作流程服务310启动显示数据的再现;但是可以经由可调用接口300从再现SEAM262推出这些数据。响应SEAM261也可以接收和处理来自用户的命令,然后路由这些命令到适当节点中的适当SEAM用于执行和处理。可以经由可调用接口300将这些命令推入响应SEAM。
交互库260可包括图表SEAM263。图表SEAM263可提供图形数据以供再现SEAM262在GUI170上的用户显示之用。图形数据可包括快照的静态内容和趋向文件或可动态地更新循环缓冲器中的数据内容。
交互库260可包括调用SEAM264。调用SEAM264可检索要显示给维护者的文档或与外部文档服务器系统(未示出)交互,以引起外部所管理的文档被输入并显示。
为了重申,从不修改上述每个SEAM(221-264)。将SEAM(221-264)加载到分级系统200的任何计算节点(120′-160′)中并且可以将任何数目的SEAM加载到单个节点中。一旦被安装,每个SEAM(221-264)可被用户通过改变驻留在数据库190中的配置数据180来初始化、引导和重新引导,以执行有关其主机计算设备或平台的特定任务。虽然在分析SEAM232和评估SEAM231的上下文中明确地讨论了BCD350c,为了简洁起见,BCD350c可以被配置为伴随任何SEAM(221-264)操作。
可调用接口300促进在节点内SEAM(221-264)之间的通信。可调用接口300驻留在分级结构200的每个计算节点(120′-160′)中。可调用接口300可以具有多个子模块(302-310),其可以共同驻留在计算节点(120′-160′)的单个计算设备中。可调用接口300的示例性子模块可包括作为可调用接口300的组件的框架执行程序301、工作流程服务310、错误报告服务器302、调试服务器303、框架数据存取器304、运行时间共享数据管理器305和通用实用程序306。本领域普通技术人员将意识到的是,在等价实施例中,“模块”、“子模块”、“服务器”或“服务”可包括软件、硬件、固件及其组合。
计算节点的框架执行程序301提供将节点集成到分级系统200内的功能。框架执行程序301和配置文件185一起协同初始化包括SEAM(221-264)的每个节点和允许执行不由定制适配器325触发的功能的其他服务模块301-310。在一些实施例中,在所有应用层中的计算节点可以具有框架执行程序301。在其它实施例中,在除例如EHM层120之外的大部分应用层中的节点将具有框架执行程序301。在这种实施例中,EHM层120中的计算节点120′可依赖它的主机平台(即计算设备)操作软件以执行框架执行程序的功能。
错误报告服务302提供报告分级结构200内节点(120-160)中运行时间错误的功能。错误报告服务器302将应用程序错误转换为之后作为任何其他故障症状进行处理的症状,将应用程序错误报告给调试服务器303并且将应用程序错误报告给持久性数据管理器(未示出)。
调试服务303收集并报告测试、集成、验证或预先维护服务期间的SEAM(221-264)的调试状态。该服务器可允许用户设置DDS350b中的变量数值并断言工作流程事件。
通过计算节点(120′-160′)中的SEAM(221-264),框架数据存取器304提供对SDS350a的读访问和对DDS350b的读/写访问(每个被存储在存储器190中)。经由包括GUI170的数据建模工具171实现对SDS350a的写访问。一个或多个框架数据存取器304拥有存储在SDS350a和DDS350b中的各种数据和算法的位置信息。
运行时间共享数据管理器305管理所有节点存储器内运行时间易腐数据结构,其在不存储于DDS350b中的SEAM(221-264)之间被共享,但不包括高速缓存静态数据。作为易腐数据结构的非限制性例子可包括I/O队列和循环缓冲器。
框架通用实用程序306可包括通用消息编码/解码、时间戳和表达式评价函数,以供安装在计算节点中的SEAM(221-264)使用。在一些实施例中,通用实用程序306可包括算法执行单元(Algorithm Execution Unit,AEU)333。AEU333是软件对象(例如接口),其注册可存在于BCD350c中的各种定制算法和实用程序,然后调用(例如标准C++调用)返回BCD350c内所有可用函数、它们的二进制码ID和传递参数列表的特殊函数。换言之,AEU333为驻留在框架执行程序301(例如通用实用程序306)中的函数创建函数引用列表。AEU333是促进BCD350c和SEAM(221-264)之间交互的接口。AEU333确定通过引用驻留在SDS350a内的静态数据将要执行来自BCD350c的何种外部算法或通用实用程序306内的何种内部算法以及算法将要与驻留在DDS350b内的何种数据配合工作。可以按任何顺序执行内部和外部算法并可以混合内部和外部算法。
在一些实施例中,通用实用程序306可包括BITE执行单元(BITE Execution Unit,BEU)334。BEU334是软件对象,其注册操作可存在于BCD350c中的任何BITE的各种定制算法和实用程序,然后调用(例如标准C++调用)返回BCD350c内所有可用BITE函数、它们的二进制码ID和传递参数列表的特殊函数。换言之,BEU334为驻留在框架执行程序301(例如通用实用程序306)中的函数创建BITE函数引用列表。BEU334是促进BCD350c和SEAM(221-264)之间交互的另一接口。BEU334确定通过引用驻留在SDS350a内的静态数据将要执行来自BCD350c的何种外部BITE算法或通用实用程序306内的何种内部算法以及算法将要与驻留在DDS350b内的何种数据配合工作。可以按任何顺序执行内部和外部算法并可以混合内部和外部算法。
工作流程服务310是逻辑指令的标准集合,其使能将由节点内各种SEAM(221-264)执行的计算节点内的任务的数据驱动流程。工作流程服务310充当计算节点内的通信控制点,在这里通过节点的工作流程服务310引导到一个SEAM(221-264)或来自一个SEAM(221-264)的涉及程序执行的所有通信。换句话说,节点(120-160)的工作流程服务310安排刚好驻留在节点中的各种SEAM(221-264)当中的工作流程顺序。在一些实施例中,工作流程服务310可以是状态机。
图3是简化的可优化分级结构200的运行时间性能的已配置分级结构200的示例性示意图。图3的示例性实施例特征在于包括五个示例性分级层(120-160)的分级结构200,虽然在其它实施例中,分级层的数目可从单个层至任何数目层变化。每个分级层(120-160)包括一个或多个节点(120′-160′),该节点包含被从可重用库(220-260)之一复制和加载到层中计算节点(120′-160′)内的SEAM(221-264)。用户210可以通过修改它的相应可加载配置文件185来配置每个SEAM(221-264)。可加载配置文件185包括静态数据、动态数据和编译代码数据库(即BCD350(c))的任何一种或所有,并且使用编译器、链接器和数据驱动建模工具171构造可加载配置文件185(参见图3),数据驱动建模工具171使用来自数据库350的数据。存储在SDS350a和DDS350b内的特定数据的位置被一个或多个数据存取器304所知。
为了简单起见,将根据它们各自的库在下面讨论SEAM(221-264)。SEAM(221-264)的组合和排列的数目较大,并且致使利用SEAM的特定组合的讨论带来不必要的麻烦。
在EHM层120,可以有多个EHM节点120′,每个由耦合至复杂系统的特定组件的一个或多个传感器和/或激励器(未示出)的特定主机计算设备操作。作为非限制性例子,复杂系统的组件可以是由温度传感器、振动传感器、BITE、传感器和转速计监控的辊轴承,每个传感器被可通信地耦合至计算设备(即节点)。作为非限制性例子,复杂系统的EHM120′的主机计算设备可以是计算机驱动的组件区域管理器(“CAM”)(即节点)。对于可适用于作为EHM节点的CAM的非限制性例子,参见对Goldstein而言共同拥有、共同待审的美国专利申请12/493,750。
在此例子中,每个EHM(120′)主机计算设备由主机软件应用程序330操作。主机软件应用程序330可以是专有程序、定制设计程序或现有程序。除了操作主机设备之外,主机软件应用程序还可经由框架服务310通过充当在EHM120′之间和在EHM120′与位于更高级的其它节点之间的通信接口装置来支持SEAM(221-264)的任何一个或所有。每个EHM120′可包括可重编程的BITE以供复杂系统故障诊断之用。
图3的示例性实施例示出了EHM120′的主机软件应用程序330可托管(即协作)来自测量库220的一个或多个SEAM220e、来自提取库230的一个或多个SEAM230e和来自动作库250的一个或多个SEAM250e。SEAM220e、230e和250e等同于可驻留在分级结构200中的任何其他级中的任何另一节点中的它们的对等SEAM。只有在被配置文件185e引导时,一个或多个SEAM(221-264)会在性能方面不同于已经被配置用于并驻留在分级结构200中的另一节点中的它的对等SEAM。一旦被配置/被引导,SEAM(221-264)成为专用SEAM。
在AHM级130,可以有多个AHM节点130′。每个AHM节点与可以耦合至复杂系统的一个或多个特定组件或子系统的一个或多个传感器和/或激励器的特定主机计算设备相关联,并能操作地与其他AHM节点130′、与各种EHM节点120′以及与更高级别节点(例如,参见图5-6中的501、502、601和602)通信。作为非限制性例子,复杂系统的AHM的主机计算设备可以是在它自身的操作系统(未示出)下操作的计算机驱动的子系统区域管理器(“SAM”)(即节点)。对于可适用于用作AHM节点的SAM的非限制性例子,参见对Goldstein而言共同拥有、共同待审的专利申请12/493,750。每个AHM130′可包括可重编程的BITE以供复杂系统故障诊断之用。
图3的示例性AHM节点130′示出了AHM130′具有在此例子中仍未配置到EHM120′中的附加解释功能240d。这不是说EHM120′无法接受或执行来自解释库240的功能,而是系统用户210已经选择不用通用功能填充EHM节点120′。另一方面,AHM节点130′软件托管来自测量库220的一个或多个SEAM220d、来自提取库230的一个或多个SEAM230d和来自动作库250的一个或多个SEAM250d。在它们的未被配置或未被引导的状态下,SEAM220d、230d和250d等同于可驻留在分级结构200中任何其他级中的任何另一节点中的它们的对等SEAM。
与示例性EHM节点120′不同,示例性AHM节点130′可包括不同通信接口装置,诸如定制适配器325d。定制适配器325是与任何SEAM(221-264)不相关的服务、运行时间软件、硬件和软件工具的集合。定制适配器325被配置为弥补分级CBM系统软件和计算设备操作软件诸如主机应用软件(未示出)之间的任何通信或实现方式的差距。每个计算节点(120′-160′)可以被作为其主机应用软件的其自身操作系统操作。为了清楚起见,图3只示出了用于EHM120′的主机应用软件330。然而,主机应用软件存在于所有计算节点(120′-160′)中。
特别地,定制适配器325提供计算节点之间和不同级别计算节点之间的对称通信接口(例如通信协议)。定制适配器325a-d允许遍及从最低的EHM层120到最高的企业层160的整个分级结构200使用通用通信协议以及与存储器190使用通用通信协议。
在VHM层140,可以有多个VHM节点140′,每个VHM节点与特定主机计算设备相关联,该设备能操作地经由EHM120与复杂系统的一个或多个特定组件的一个或多个传感器和/或激励器通信或对复杂系统的子系统通信并且操作地经由它们各自的AHM130′通信。作为非限制性例子,VHM140′可以是计算机驱动的系统级控制管理器(“SLCM”)(即也是节点)。对于可适用于用作VHM节点的SLCM的非限制性例子,参见对Goldstein而言共同拥有、共同待审的专利申请12/493,750。每个VHM140′可包括可重编程的BITE以供复杂系统故障诊断之用。
在示例性分级结构200中可以只有一个VHM140′,其可以与监控复杂系统的子系统的任何数目的AHM130′和EHM120′相关联。在其它实施例中,可以有驻留在复杂系统内的一个以上的VHM140′。作为非限制性例子,复杂系统可以是与每台卡车中的多个EHM120′和与多个AHM130′通信的在每台卡车中具有一个VHM140′的一队卡车。也可以在分级结构200中处理在卡车中的每组EHM120′和AHM130’。
图3进一步示出了示例性VHM140′具有仍未被加载到EHM120′中或到AHM130′中的附加交互功能260c。这不是说这些较低层节点无法接受或执行交互功能260,而是系统用户210已经选择不用该功能填充较低层节点。另一方面,例如,VHM140′的主机软件托管来自测量库220的一个或多个SEAM220c、来自提取库230的一个或多个SEAM230c、来自解释库240的一个或多个SEAM240c和来自动作库250的一个或多个SEAM250c。来自交互库的可执行应用程序允许系统用户210经由GUI170直接访问VHM140′和浏览其指导。在它们未被引导的状态下,SEAM220c、230c、240c和250c与可驻留在分级结构200中任何其他级中的任何另一节点中的它们的对等SEAM完全相同。标准化可执行应用程序220c-260c被引导来经由配置文件185c执行特定功能。
与示例性AHM节点130′相同,示例性VHM节点140′包括定制适配器325c。定制适配器325c还被配置为弥补在VHM140′内操作的分级系统软件和计算设备操作软件之间的任何通信或实现方式的差距。
在维护者(MNT)层150,可以有多个MNT节点150′,每个MNT节点与特定主机计算设备相关联,该设备能操作地经由EHM120′与复杂系统的一个或多个特定组件的一个或多个传感器和/或激励器通信、对复杂系统子系统通信以及能操作地经由它们各自的AHM130′、并且对VHM140′通信。每个MNT节点150′可包括可重编程的BITE以供复杂系统故障诊断之用。作为非限制性例子,MNT节点150’可以是与分级结构200的通信系统9有线或无线通信的膝上型计算机。
图3示出了示例性MNT节点150′可以具有一些或所有可执行应用程序(221-264)的功能。这不是说这些较低层节点无法接受或执行任何可执行应用程序(221-264),而是系统用户210已经选择不用该功能填充较低层节点。如同示例性VHM140′,来自交互库的一个或多个可执行应用程序260b允许系统用户210经由GUI170直接访问维护者节点150′并可浏览其指导。在它们的未被引导的状态下,SEAM220b、230b、240b和250b与可驻留在分级CBM结构200中任何其他级中的任何另一节点中的它们的对等SEAM完全相同。SEAM220b-260b被引导经由配置文件185b执行特定功能。
如同示例性AHM节点130′和VHM节点140′,MNT节点150′包括定制适配器325b。定制适配器还被配置为弥补在分级结构200各种节点内操作的分级系统软件和计算设备操作软件之间的任何通信或实现方式的差距。
在企业(ENT)层160,可以是多个ENT节点160′,每个ENT节点与特定主机计算设备相关联,该设备能操作地经由EHM120′与复杂系统的一个或多个特定组件的一个或多个传感器和/或激励器通信、对复杂系统子系统通信以及能操作地经由它们各自的AHM模块130′、VHM140′和MNT节点150′通信。作为非限制性例子,ENT节点160′可以是与分级结构200的通信系统9有线或无线通信的通用计算机。
图3还示出了ENT160’可以具有如用户选择和配置的一些或所有SEAM(221-264)的功能。如同示例性VHM节点140′,来自交互库的一个或多个SEAM260a允许系统用户210经由GUI170直接访问ENT160′。在它们的未被引导的状态下,SEAM220a、230a、240a和250a与可驻留在分级结构200中任何其他级中的任何另一节点中的它们的未被引导的对等SEAM(221-264)完全相同。SEAM220a-260a被配置/被引导经由配置文件185a执行特定功能。
如同示例性AHM节点130′、VHM节点140′和MNT节点150′,ENT节点160′包括定制适配器325a。定制适配器325a还被配置为弥补在ENT节点内操作的分级系统软件和主机计算设备软件之间的任何通信或实现方式的差距。
在各种实施例中,没有计算节点(120′-160′)能够直接彼此通信。因此,所有计算节点(120′-160′)经由定制适配器(325)通信。在其它实施例中,大多数计算节点120′-160′可经由定制适配器(325)通信。例如,异常可以是EHM120′,其可经由其主机执行软件330通信。
如同SEAM(221-264),其自身节点的工作流程服务310控制每个定制适配器325的操作。工作流程服务310将调用一个或多个SEAM(221-264)和服务(302、303、306)以使数据可用于定制适配器325,其在可执行应用程序(221-264)之一的引导下提供来自节点的数据到通信系统9的数据总线上和从总线推出数据。例如,获取SEAM221或报告SEAM253执行这些通信功能。
通信系统9可以是本领域中已知的或将来可能开发的任何适当的有线或无线通信装置。示例性、非限制性通信装置包括CAN总线、以太网总线、火线总线、空间线总线、内联网、互联网、蜂窝电话网络、分组电话交换网等等。
通用输入/输出前端接口(未示出)的使用可以被包括在每个计算节点(120′-160′)中作为定制适配器325或作为定制适配器325的补充。通用输入/输出(I/O)前端接口的使用使接口背后的每个节点对该节点正利用其进行通信的通信系统是不可知的。通用I/O接口的例子可以在对Fletcher而言共同拥有的申请12/750,341和12/768,448中被找到,并且是通信接口装置的例子。
可以使用其讨论超出本公开范围之外的本领域中已知的多种方法来填充分级结构200的各种计算节点(120′-160′)。然而,示例性方法包括将预先标识的、预先选择的标准化可执行应用程序经由磁盘或诸如闪存驱动器的其他存储器设备传递并安装到复杂系统的一个或多个数据加载器。其他方法包括使用复杂系统模型181、表格生成器183和GUI170直接从远程计算机通过有线或无线网络下载并安装可执行应用程序。
数据建模工具171、表格生成器183和GUI170可以由本领域中已知的任何适当的HMS计算机系统的子系统驱动,或者是本领域中已知的任何适当的HMS计算机系统的子系统。这种HMS系统的非限制性例子是由新泽西州莫里斯敦的霍尼韦尔国际公司使用的知识维护系统,并且是基于模型的配置装置的非限制性例子。数据建模工具171允许主题专家关于输入、输出、接口、错误等建模其分级系统200。然后表格生成器283将系统模型信息压缩成紧凑数据集(即配置文件185),该紧凑数据集在运行时间时配置或引导分级系统200的各种SEAM(221-264)的功能。
GUI170再现多个控制屏幕给用户。由HMS系统生成控制屏幕,该控制屏幕向系统用户210提供接口来配置每个SEAM(221-264)以执行与复杂系统相关联的特定的监控、解释和报告功能(参见,例如,图4-9)。
图4-7示出了来自示例性KMS基于模型的配置装置的一组相关示例性屏幕截图,其可以经由GUI170再现给用户,然后可以用来配置分级结构200中的计算节点(120′-160′)。例如,通过编辑一个或多个配置文件185来配置EHM120′,包括SDS部分350a、DDS部分350b和来自存储在KM主数据库中故障模型内容的BCD350c。在图4-7中,监控泵压力的EHM120′正在进一步被配置为从对泵的高压力供应中过滤噪声。
图4是可用来为液压系统VHM140′创建配置文件185的示例性GUI屏幕截图400。图4的GUI允许系统用户210定义父关系401和子关系402给分级结构200内的其他计算节点。然后将此处定义的信息可以存储在存储器190中KMS数据库中的适当位置。
图5是信息浏览器的示例性GUI屏幕截图500,其允许用户210浏览图4的VHM140′和较低级别EHM120′之间的特定关系501,其从各种传感器间接或直接地提供复杂系统症状信息502(即操作数据)。VHM140′可以被配置为从分级结构200内的任何源接收所报告的症状。
图6是图4的VHM140′的示例性GUI屏幕截图500的后续页。后续页600定义将怎样的消息601从VHM140′发送到分级结构200中的其他计算节点(120-160),并且它定义VHM140′从分级结构中其它地方接收到怎样的消息602。例如,VHM140′发送周期性状态报告到维护者级150。VHM140′还从AHM130′接收状态报告。
图7是第一示例性GUI屏幕截图400,用于为监控泵的控制器第3222号的EHM120′配置功能。窗口705允许包括表达式702的步骤的函数定义701。函数定义701可以从下拉函数列表710中选择。将输入到函数701的变量(716、718和719)也可以从包括输入变量716、所计算输出变量(717、718)和函数常量719的下拉变量列表715中选择。
在图7的示例性屏幕截图中,LowPassFilterTustin函数已经从下拉菜单710中选择。示例性函数使用输入信号“Signal_1Pump High Pressure Supply_1_Signal NoisyDiscrete2”716,常量“PC FreqCut”和“Pressure Controller SNR_th”,并且产生变量“Value_PressureController_LowPassFilter_X0”718和“PumpHighPressureMeasured_1_Vector_PumpHighPressureSupplyNoisy_Snapshot_LPF417”的值。
图8-9是可以由GUI170再现的示例性屏幕截图,GUI170向系统用户210提供可浏览的驻留在存储器190中KMS数据库中的配置记录。更具体地说,图8-9中的视图给出了压力控制器的“Pressure Sensor Signal Noisy”算法的示例性记录。
图8是包括窗口810的示例性GUI800,窗口810示出了对算法“PressureController Pressure Sensor Signal Noisy”的父关系。在此例子中,通过压力控制器中的数据快照“PumpHighPressureNoisyPumpHighPressureSupplyNoisy”811触发算法。正如通过对窗口810的检查可以看到的那样,算法也可以被配置为由数据趋向触发。窗口820示出了“PumpHighPressureNoisyPumpHighPressureSupplyNoisy”811的后续算法或子算法。在此例子中,存在三种子算法,“Pressure Controller Pressure Sensor Signal Noisy”是父算法,诸如“PressureController_SNR_Computation”、“PressureController_LowPassFIlterNoiseRemovingLow PassFilter Noise Removing”和“PressureController_CompareSNR LE Compare that computed Signal Noise Ratio isless than constant”821。
图9是示例性GUI900,其示出了来自用于压力控制器的示例性可加载配置文件185的数据,并包括示出了用于“PressureController_SNR_Computation”921子算法的特定配置数据的窗口910。窗口910列出了算法的输入变量、输出变量和顺序。
图10是用于配置/重新配置包括正监控复杂系统各种组件的计算节点(120-160)的分级结构200的示例性方法1000的流程图。可以有任何数量的不同类型计算节点级和不同类型计算节点级的任何组合。
在过程1010,这种方法开始于建立计算节点的分级结构200。由有关的复杂系统的性质和结构以及所需复杂系统的监控复杂度确定出计算节点的分级结构200。如上所述,在一些实施例中,可以有与每个组件、与每个子系统和/或与整个复杂系统相关联的一个或多个计算节点(120′-160′)。此外,可以有与更高维护者层(150)以及与通用企业层(160)相关联的计算节点(120′-160′)。一个计算节点(120′-160′)可以物理地且电子地不同于在相同层(120-160)上或在不同分级上的另一计算节点。在其它实施例中,计算节点可以和所有其他计算节点完全相同。图4是允许用户根据复杂系统模型来建立父与子节点关系的GUI170的示例性屏幕截图(参见图2)。
在过程1040,用期望的框架服务(302-310)创建并定义标准化框架执行模块301。将标准化框架执行模块301填充到所有分级计算节点(120′-160′)。
在过程1020,开发并建立标准化可执行应用程序的库220-260。如上所述,写入每个SEAM(221-264)来执行标准功能类,诸如获取数据、趋向数据和报告数据。
在过程1050,系统用户210用一个或多个SEAM(221-264)和标准化框架执行模块301填充每个计算节点(120′-160′)。基于期望的功能或潜在功能,填充在特定计算节点(120′-160′)内的标准化可执行应用程序的数量和组合整个地在系统设计师的判断内。可以由本领域中已知的任何适当装置将SEAM(221-264)填充计算节点(120′-160′)或从计算节点(120′-160′)中移走。用于填充计算节点(120-160)的一些装置的非限制性例子包括维护负载、本地数据加载器以及经由网络与通信系统9加载。
在过程1030,将复杂系统建模在数据建模工具171上。标识每个计算节点(120′-160′)并将其与特定组件、子组件和子系统相关联,这可能是希望的以实现特定监控级。给每个计算节点(120′-160′)分配特定SEAM(221-264)集合,该集合是实现所期望计算节点的监控功能需要的(参见图4)。
在过程1060,用户210创建多个配置文件185。配置文件185包括静态数据部分(SDS)350a和动态数据部分(DDS)350b。配置文件185包含可编辑数据特定逻辑顺序的集合,其生成由工作流程服务310用来响应于从SEAM接收数据和消息来执行特定功能的消息和数据。例如,SEAM X与已经完成任务的工作流程服务310通信。工作流程服务310从配置文件检索下一动作,然后命令下一SEAM Y用特定的数据执行它的标准化函数。换言之,配置文件包含特定的数据值并编程在数据值之间的关系/函数,以使能/禁用和配置每个标准可执行应用程序来实现一个或多个特殊目的。在等价实施例中,配置文件中包含的可编辑数据特定逻辑顺序可以是状态机的集合。
因此,这些配置文件提供允许SEAM操作和与彼此交互的信息。特别地,经由获得来自配置文件185的所有其指令的工作流程服务来控制交互,以使能或禁用SEAM功能并提供对节点(120-160)内数据的处理。同样的SEAM可以用于所有节点,因为配置文件185和工作流程服务310引导执行节点内的SEAM并提供在节点之间移动功能的能力。
配置文件185包含每个计算节点(120′-160′)的定义。这包括给定节点将处理的信息,节点如何与其他节点交互,以及运行在给定节点内的特殊操作。配置文件包含用以处理数据、生成信号、诊断故障、预测故障、监控使用、监控消耗及以其他方式支持维护、操作和数据分析的信息。
例如,配置文件规定节点能够与其交互的一个或多个其他节点(参见图5#501),规定节点能够处理的信号(参见图5#502),规定症状(参见图6#601),规定所发送数据(参见图6#602)和所接收数据。配置文件还规定可由该节点(参见图9#900)执行的算法,规定如何解释或处理数据,规定要对输入数据或所处理数据执行的动作,以及规定如何与其他节点和用户界面设备交互。
因此,填充以标准化可执行应用程序(221-264)的计算节点(120′-160′)成为能够基于其填充可执行应用程序和它们的后继由配置文件185进行的指导而执行各种特定任务的专用计算节点。图5-9是可以由系统设计者使用来配置示例性计算节点(诸如VHM140′)以执行更多特定功能之一的GUI170的示例性屏幕截图。
如果系统用户210希望为分级结构200的特定计算节点(120′-160′)增加特定功能、删除特定功能或重新定义特定功能,则如在过程1060可期望的那样,用于特定计算节点(120′-160′)中的特定可执行应用程序(221-264)的配置文件185在KMS主数据库180内被修改,然后在过程1070将其重新生成和安装在其有关计算节点(120′-160′)处。因此,原先驻留在一个计算节点(120′-160′)中的特定功能可以被增加、删除、修改或它可以移动到任何其他分级级别的另一计算节点。
例如,由与特定的组件的温度相关联的EHM120′实现的数据“趋向(Trending)”功能可以通过增加标准化“趋向”可执行应用程序到VHM140′(或通过使能已经在位的休眠的“趋向”功能)并且然后配置VHM中的“趋向”可执行应用程序来执行操作而从EHM120′转移到VHM140’。为完成该过程,EHM120′中的趋向功能可以改变为移除温度趋向功能或禁用趋向可执行应用程序。进一步,经由通信系统9重引导来自该组件的温度数据到VHM140′。照此,仍然可以在EHM120′获取和分析在EHM120′处趋向的数据,但然后将其从EHM发送到VHM140′用于趋向。
如上面段(第12页第29行“为了重申...”-第18页第1行“...应用程序220c-260c被引导来经由配置文件185c执行特定功能”以及第21页第13行“图8-9是可以由GUI170再现的示例性屏幕截图...”-第22页第17行“...诸如获取数据、趋向数据和报告数据”)所讨论的,当结合其对应配置文件185进行操作时,可以填充在特定计算节点(120′-160′)内的各种SEAM(221-264)均可执行一种或多种特定功能。工作流程服务模块310协调在每个SEAM(221-264)和配置文件185之间的通信/数据转送。
图11和12是示例性计算节点(120′-160′)及其组件(此处刚好是EHM120′)的简化框图。每个计算节点(120′-160′)使用其自身的主机执行软件330。主机执行软件330执行主机EHM120′的正常操作功能;但是,也可以提供用于托管驻留在填充计算节点的任何SEAM(221-264)中的健康维护功能的平台。
如上所述,此处公开了24个SEAM(221-264)。然而,可以包括具有附加功能的其他SEAM。照此,此处任何讨论意在扩展到将来可以创建的任何SEAM。然而,为了下列讨论的简洁和清楚起见,SEAM(221-264)的数目已经被限于获取SEAM221、解码SEAM222、评估SEAM231、记录SEAM234和分析SEAM232,因为可以将这些SEAM看作提供为驻留在分级结构的每个计算节点(120′-160′)中的每个SEAM所共用的一些基础功能。
除了SEAM(221-264)之外,每个计算节点(120′-160′)还包括配置文件185和工作流程服务模块310。配置文件185包括DDS350b、SDS350a和独立可加载的BCD350c。在其他数据结构中,DDS350b可包括事件队列(EVQ)351、高优先级队列(HPQ)352、时间延迟队列(TDQ)353、周期队列(PQ)354和异步队列(PQ)355。然而,本领域普通技术人员将理解的是,可以定义和重新定义队列的数目、它们的分类和它们的优先级来满足特定应用程序的需要。
参照图12,DDS350b也可以包括已经填充到EHM120′中的每个SEAM(221-264)的至少一个消息缓冲区360。然而,在一些实施例中,只有测量库内的SEAM可以具有消息缓冲区。DDS350b也可以包括多个记录快照缓冲器370和循环缓冲器380,其存储从复杂系统中获得的特定动态数据值从而由各种SEAM(221-264)用于如由配置文件185所提供的各种计算。使用可以是本领域中已知的任何适当数据存取器软件对象的框架数据存取器(304)来访问存储在消息缓冲器360、快照缓冲器370和循环缓冲器380中的每个中的数据。用于消息缓冲器160、循环缓冲器380和快照缓冲器370的DDS350b中的特定数据结构和位置被预先确定并在运行时间时被确立在存储器设备中。
BCD350c是具有集成数据库功能(例如文件指针表)的已编译可执行指令或算法的库,当被SEAM(221-264)调用时,该集成数据库功能允许框架数据存取器304定位配置文件185内期望的已编译可执行代码。每个SEAM(221-264)通过查询位置数据的BCD350c来定位函数。已编译可执行指令可包括驱动其所在的节点内BITE的指令。
当将BCD350c作为配置文件185的一部分加载到节点时,AEU333检测BCD350c存在和调用驻留在BCD中的特殊函数,其返回在BCD中可用的所有函数、它们的二进制码ID(BCID)、参数列表、目标平台和二进制码版本号。AEU为驻留在驻留在节点中的各种软件组件中的所有函数(诸如通用实用程序306)创建函数引用列表。将列表存储在将由BCD350c调用使用的共享存储器中。可以通过正常C++或其他已知的协议处理作为BCD调用结果的往返于框架数据存取器304、工作流程服务310和SEAM(221-264)传递的参数。因此,在不必修改和重新编译SEAM的情况下可以经由BCD350c将附加功能添加到任何特定的SEAM(221-264)。
SDS350a是可以被表明或定义为将由工作流程服务模块310从事件队列(EVQ)351读取的特定事件362映射到特定响应记录363(即事件/响应关系)的一个或多个状态机361的持久性软件对象。然后状态机361分配响应队列(352-355)到为了工作流程服务模块310最后读取和执行而将要由工作流程服务模块310把响应记录363放置到的地方中。SDS350a中持久性数据的结构和位置被预先确定并在运行时间时被确立在存储器设备中。
可以响应于由计算节点(120′-160′)的定制适配器325依照主机执行软件330所引导的那样来处理的来自外部源的消息而将事件362接收到EVQ351中。也可以在他们完成任务和产生事件362时从任何驻留在计算节点(120′-160′)中的所填充SEAM(221-264)接收事件362。
在诸如感测223、获取221、解码222和评估231的更多基础SEAM中,存储在SDS350a内的事件/响应关系没有趋向于分支或者以其他方式包含重大的有状况逻辑。照此,事件362和响应记录363的流程是相对直观的。然而,诸如协调252、预报255和响应261的更精密的SEAM可利用产生复杂的消息/响应流程的精密算法,并且为了简洁和清楚起见,在此不会被进一步讨论。
作为操作的例子,主机执行软件330可将从外部源接收的输入消息推到EHM120′中。主机执行软件330调用定制适配器325,其转而基于消息中包括的数据调用驻留在EHM120′中的适当SEAM(221-264)。例如,所调用SEAM可以是获取SEAM221。当被调用时,获取SEAM221将输入消息放置到消息缓冲器360(例如获取输入消息缓冲器)中,生成事件362并将该事件放置到EVQ351中。事件362可包含来自另一节点或来自本地传感器的关于复杂系统的数据。为了解释的简明和清楚起见,第一事件362将被假定为“获取数据”消息,并且从输入消息生成的事件362此处将被称为AQel。在其它实施例中,可以由SEAM(221-264)生成输入消息AQl并由SEAM将事件AQel推入EVQ351中。
一旦输入消息AQ1被置于消息队列360中并且其对应事件362被置于EVQ351中,然后获取SEAM221退出并经由返回消息364返回控制到工作流程服务模块310。在这个简单例子中,假定只有单个处理器处理单个命令。因此,虽然处理器正在执行特定的SEAM(221-264),工作流程服务模块310以及没有别的SEAM在操作。类似地,虽然工作流程服务模块310正在被处理器操作,没有SEAM(221-264)处于操作中。这是因为顺序地执行操作的所有步骤。然而,在其它实施例中,可以使用多个处理器,由此允许将并行操作的多个线程(即多个工作流程服务模块310)使用同样的所填充SEAM(221-264)集合和同样的配置文件185。
当接收返回消息364时(参见图13)时,在这个例子中工作流程服务模块310先恢复操作并读取事件AQel,因为事件AQel是EVQ351中的第一事件362。如此是因为EVQ351是最高优先级队列并且因为工作流程服务模块310可以先进先出(FIFO)方式顺序地读取事件。因此本领域普通技术人员将理解的是,转而由工作流程服务器在FIFO基础上将读取存储在EVQ351中的任何后续事件。然而,以FIFO方式读取事件仅仅是示例性的。在等价实施例中,工作流程服务模块可以被配置为以某种其它顺序的或优先化的方式读取事件。
一旦事件AQel被读取,工作流程服务模块310查阅SDS350a中的持久性数据结构来确定对事件AQel的所需响应记录363。例如,SDS350a提供的响应记录363可以是引导解码SEAM222以处理从输入消息AQl接收的数据的解码响应记录DECrl,其现在被存储在DDS350b中的存储位置中。SDS350a还引导工作流程服务模块310以将响应记录DECrl放置到响应队列352-355之一(诸如HPQ352)中,并分配响应队列中的位置,其中基于所分配优先级放置该响应。SDS350a可基于输入消息类型、输入消息中的数据和基于诸如优先级数据域的其他数据来确定适当的队列及其在队列中的优先级位置。工作流程服务模块310将响应记录DECrl放置到在适当优先化位置的HPQ352中并返回以读取EVQ351中的下一事件。
因为EVQ351是最高优先级事件/响应队列,工作流程服务模块310继续读取事件362并张贴响应记录363直到EVQ为空。当EVQ351为空时,工作流程服务模块310开始处理响应记录363,开始于最高优先级响应队列(352-355),在此例子中其为HPQ352。
在此例子中,HPQ352中的第一优先化响应记录是DECrl响应(即解码响应)。当被读取时,工作流程服务模块310调用(经由调用365)解码SEAM222的响应处理器接口,用于解码SEAM以对DECr1响应记录363中引用的数据进行操作。
在被工作流程服务模块310调用后,解码SEAM222查阅具有响应记录DECrl的SDS350a,以确定它应该对与DECrl相关联的数据执行怎样的操作并执行它。依照上面公开的,SDS350a基于消息类型和DECrl内引用的数据将事件DECrl映射到预定响应记录363。与事件DECrl相关联的数据可驻留在记录快照缓冲器370、循环缓冲器380的任何一个中,或可以不得不从位于示例性EHM120′外部的源查询这些数据。
解码SEAM222对数据进行操作、生成事件362和将事件放置到EVQ351中并且将消息放置到消息队列360中。例如,解码SEAM222生成的响应记录363可以是表示将要由评估SEAM231执行下一过程的EVALel。然后解码SEAM222退出并发送返回信息364回到工作流程服务模块310以恢复它的操作。该过程重新开始于读取EVQ351的工作流程服务模块310,因为现在存在已经添加到队列中的新事件(包括EVALe1)。
在正常过程中,工作流程服务模块310最终读取事件EVALel并查阅SDS350a来确定适当的响应记录363及哪个响应队列放置它和处于响应队列内的何种优先级。在此例子中,响应EVALel还置于HPQ352中并处于第一优先级,因为响应记录DECrl将已经被操作并退出队列。然后工作流程服务从EVQ351读取下一事件,并且该过程继续。
图13是用于协调计算节点(120’-170’)内的各种SEAM(221-264)操作的方法1300的简化流程图。然而,本领域普通技术人员将理解的是,使用多个处理器会允许并行处理多个线程。
在过程1310,由定制适配器325或者在一些EHM120′的情况下由主机执行软件330将事件362推入到系统中。在一些实施例中,主机执行程序330可完成对SEAM(221-264)的函数调用1311来接受事件消息,诸如获取SEAM221。在过程1330,已调用Seam(221-264)依照事件记录被接收的顺序将事件记录362置于EVQ351中,并且SEAM(221-264)将输入消息存储在驻留在DDS350b中的消息缓冲器360或队列中。然后SEAM(221-264)发送返回命令1312到定制适配器325并且退出。
在该简单例子中,假定工作流程服务模块310没有其它事件或响应记录要处理。因此,在过程1340工作流程服务模块310可重新开始,虽然其可以在其例程中任一点重新开始。在过程1340,工作流程服务模块310试图从EVQ351读取FIFO顺序的下一事件记录。在判定点1341,如果确定EVQ351不为空,则工作流程服务模块310从EVQ读取下一事件362,然后查阅具有事件362的SDS350a中的持久性数据(例如状态机)。
在过程1360,SDS350a接收事件362为输入并且产生预定响应记录363。SDS350a还表示响应记录363将要被放置到其中的响应队列(352-355),并且还表示用于响应队列中响应记录的优先级位置。将任何与事件/响应记录相关联的数据存储在DDS350b的共享数据结构中,诸如在循环缓冲器380中或在记录快照缓冲器370中。
在过程1370,工作流程服务模块310将响应记录363存储到依照其优先级顺序分配的响应队列(352-355)中,然后返回到过程1340以读取下一事件362。
当SDS350a分配响应队列时,最高优先级响应记录363被按照它们的指定优先级顺序而不在FIFO基础上置于HPQ352中。较小优先级的响应记录363,诸如需要时间延迟的响应记录,可以置于TDQ535中。更小优先级的响应记录363可以置于PQ354中。例如,PQ354中的这种响应记录363可能需要只在周期性基础上进行选址。最小优先级的响应记录363被分配给AQ355,并可以当较高优先级响应队列许可时异步地进行选址。进一步,响应记录363根据SDS350a分配的处理优先级被置于响应队列353-355之一中,并且可能或可能不在FIFO基础上进行放置。只要在EVQ351中存在事件362,上述循环(1340、1360、1370)继续。
在判定点1341如果EVQ351被确定为空,则工作流程服务模块310进行到包含响应记录363的最高优先级响应队列(352-355),并在过程1350读取最高优先级响应记录(例如第一或下一响应记录)。当响应记录363被读取时,工作流程服务模块310发布函数调用365给响应记录363中引用的SEAM(221-264),以对响应记录363中表示的数据执行其功能并且然后退出。
在过程1380,所调用SEAM(221-264)查阅SDS350a来确定将由SEAM执行的任务。虽然不严格地需要简单SEAM功能(诸如获取SEAM221),例如,更复杂的SEAM(诸如预报SEAM255或协调SEAM252)可以具有可被执行的各种替换的算法或有状况逻辑。照此,SDS350a可引导关于显式功能或算法要执行的SEAM。
在过程1390,所指定SEAM对与响应记录363相关联的数据执行其功能或任务。一旦SEAM221-264执行其功能,方法1300进行到其中新事件记录被生成并且置于EVQ351中的过程1320,并且方法1300重复。
图14是根据实施例的用于初始化BCD350c的方法1400的简化的示例性逻辑流程图。方法1400开始于其中当配置文件被加载时BCD350c或者单独或者和DDS350b以及SDS350a一起被加载的过程1410。如上所述,BCD350c是可以由各种SEAM(221-264)用来执行它们所需任务的外部函数的库。BCD350c不是如本领域中可能已知的DLL文件。
因为它们是外部函数,所以在不需要重新编译节点当前配置的情况下它们可以被随时添加到节点(120-160)。在过程1420,在检测BCD350c之后框架306调用AEU333和/或BEU334。在过程1425,AEU333和/或BEU334检索并寄存存储在BCD350c中的所有外部函数、BCID和参数。在过程1430,AEU333和/或BEU334将BCID和它们的相关参数存储在DDS350b中用于以后的检索,然后返回到过程1410来等待新的配置文件185或新的BCD350c。
图15是图13的续图,并且示出了用于结合BCD350c、SDS350a、SEAM(221-264)和框架数据存取器304操作AEU333的示例性方法1500。在过程1390,已调用的SEAM(221-264)对与响应记录363相关联的数据执行其函数或任务。然而,为了执行其函数,SEAM可能需要存储在SDS350a中的关于复杂系统200的组件的静态数据(参见图3),并可能查找存储在BCD350c中的外部定制可执行指令。因此,在过程1510,SEAM(221-264)调用通用实用程序AEU333和/或BEU334以在BCD350c中定位任何可用的外部函数。在过程1520,AEU333和/或BEU334从它们在DDS350b中的存储位置检索BCID寄存器和它们涉及的参数。在过程1530,AEU和/或BEU运行和/或从BCID寄存器调用在初始化期间在过程1430存储在DDS350b中的已编译代码(例如算法)(参见图14)。在过程1540,AEU333与或BEU334执行与通用实用程序306一起存储的外部算法(参见图2)。
为确定内部和外部函数执行的顺序,在过程1550,AEU333和/或BEU334指的是存储在SDS350a中的静态SEAM函数并且指的是诸如BCID参数的动态数据以及DDS350b中的其它动态数据。在过程1560,从SDS350a检索其中将被执行来支持SEAM任务的内部和外部函数的标识和顺序,并在过程1570检索动态数据值。在过程1580,框架数据存取器调用外部函数的执行结果,其返回结果到AEU333和/或BEU334。然后在过程1390,AEU333和/或BEU334返回结果到用于完成SEAM任务的SEAM。
虽然已经在发明的上述详细说明中呈现了至少一个示例性实施例,但是应该理解的是,还存在许许多多的变化。还应该理解的是,单个示例性实施例或多个示例性实施例仅仅是举例,而不意图于以任何方式限制本发明的范围、应用性或者配置。更确切地,上述详细说明为本领域技术人员提供方便的路线图来实现本发明的示例性实施例。应理解的是,在不脱离所附权利要求阐述的本发明范围的情况下,可以在示例性实施例中描述的元件的功能以及设置方面做出各种改变。
Claims (11)
1.一种用于在无需重新编译和重新链接可执行代码的情况下重新配置复杂系统健康监控系统的节点的系统,包括:
不可修改的软件模块,包含用于执行多个不同标准化函数之一的预先编译的指令;
计算节点,包括处理器和多个软件对象,该处理器能操作地与该软件模块通信并被配置为执行该预先编译的指令,该多个软件对象包括促进执行该预先编译的指令的实用函数和内部算法;以及
配置文件,被配置为提供静态数据和动态数据给该软件模块,该配置文件包括动态数据存储器DDS、静态数据存储器SDS和二进制码数据库BCD,该BCD包括该软件模块可调用和可执行的外部编译的可执行算法的库,该BCD被配置有与外部编译的可执行算法的库相关联的数据库标识和检索数据结构。
2.如权利要求1所述的系统,其中该多个软件对象包括第一软件对象,该第一软件对象当被该软件模块调用时检索来自BCD的所有预先编译的指令和所有外部编译的可执行算法并创建函数引用的合并列表。
3.如权利要求2所述的系统,其中该软件对象引用该SDS来确定应该由该软件模块执行来自该合并列表的哪些预先编译的指令和外部编译的可执行算法以及应该以何种顺序执行它们。
4.如权利要求1所述的系统,其中该数据库标识和检索数据结构的每个包括用于每个外部编译的可执行算法的二进制码ID BCID和BCID参数列表。
5.如权利要求4所述的系统,其中BCID参数列表包含唯一地标识外部编译的可执行算法的动态标识ID。
6.一种用于在无需重新编译和重新链接可执行代码的情况下重新配置复杂系统健康监控系统的节点的方法,包括:
在节点处接收包含编译算法和实用程序的二进制码数据库BCD;
调用驻留在BCD中的第一函数,其返回在BCD中可用的所有函数的列表;
创建驻留在标准化可执行应用模块SEAM和在节点内驻留的框架服务两者中的函数列表连同在BCD中可用的所有函数的列表,由此创建用于该节点的可用算法和实用程序的修改列表;以及
在动态数据存储器DDS中存储该修改列表,以由来自BCD和框架服务的调用访问。
7.如权利要求6所述的方法,其中返回在BCD中可用的所有函数的列表包括返回BCD中可用的每个函数的二进制码标识BCID和参数列表,其中函数的参数列表包含为执行该函数所需的所有参数并且唯一地标识该函数。
8.如权利要求7所述的方法,还包括调用驻留在BCD中的第二函数,其返回在BCD中可用的所有内置测试设备BITE函数的列表。
9.如权利要求6所述的方法,其中当需要SEAM来执行任务时:
从该动态数据存储器调用BCID和相关函数参数列表;
从静态数据存储器检索为实现该任务所需的编译算法和实用程序的列表;
从动态数据存储器检索编译算法和实用程序所需的参数值;
运行为完成该任务所需的每个编译算法和实用程序;以及
返回编译算法和实用程序的结果来完成该任务。
10.如权利要求9所述的方法,其中返回编译算法和实用程序的结果作为指向已返回参数列表的指针。
11.一种用于在无需重新编译和重新链接可执行代码的情况下重新配置复杂系统健康监控系统的节点的设备,包括:
用于从动态数据存储器调用BCID和相关函数参数列表的装置,所述BCID和相关功能参数列表被配置为使得任务能够由特定的编译算法集合协作完成,所述编译算法不包括重新编译,动态链接库,和在运行时重新链接;
用于从静态数据存储器检索为实现任务所需的编译算法和实用程序的列表的装置;
用于从动态数据存储器检索编译算法和实用程序所需的参数值的装置;
用于运行为完成该任务所需的每个编译算法和实用程序的装置;以及
用于返回编译算法和实用程序的结果来完成该任务的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/274911 | 2011-10-17 | ||
US13/274,911 US8990840B2 (en) | 2011-10-17 | 2011-10-17 | Methods and reconfigurable systems to incorporate customized executable code within a condition based health maintenance system without recompiling base code |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103279376A CN103279376A (zh) | 2013-09-04 |
CN103279376B true CN103279376B (zh) | 2018-04-27 |
Family
ID=47435691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210595870.9A Expired - Fee Related CN103279376B (zh) | 2011-10-17 | 2012-10-16 | 将可执行代码并入健康维护系统的方法和可重新配置系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8990840B2 (zh) |
EP (1) | EP2584465A1 (zh) |
CN (1) | CN103279376B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751777B2 (en) | 2011-01-28 | 2014-06-10 | Honeywell International Inc. | Methods and reconfigurable systems to optimize the performance of a condition based health maintenance system |
US8990770B2 (en) | 2011-05-25 | 2015-03-24 | Honeywell International Inc. | Systems and methods to configure condition based health maintenance systems |
US8726084B2 (en) | 2011-10-14 | 2014-05-13 | Honeywell International Inc. | Methods and systems for distributed diagnostic reasoning |
US8832649B2 (en) * | 2012-05-22 | 2014-09-09 | Honeywell International Inc. | Systems and methods for augmenting the functionality of a monitoring node without recompiling |
US8832716B2 (en) | 2012-08-10 | 2014-09-09 | Honeywell International Inc. | Systems and methods for limiting user customization of task workflow in a condition based health maintenance system |
US9037920B2 (en) | 2012-09-28 | 2015-05-19 | Honeywell International Inc. | Method for performing condition based data acquisition in a hierarchically distributed condition based maintenance system |
GB2517174B (en) * | 2013-08-14 | 2021-02-10 | Bae Systems Plc | Assessment of structural health |
CN103729226A (zh) * | 2014-01-26 | 2014-04-16 | 广州视源电子科技股份有限公司 | 一种软件正确配置方法及工具 |
US9363311B1 (en) | 2014-12-05 | 2016-06-07 | Tealium Inc. | Delivery of instructions in host applications |
US10748352B2 (en) * | 2015-03-17 | 2020-08-18 | Sikorsky Aircraft Corporation | Systems and methods for remotely triggered data acquisition |
US10175682B2 (en) * | 2016-03-10 | 2019-01-08 | Honeywell International Inc. | Automation control system point configuration from controller program files |
CN108304189B (zh) * | 2016-08-29 | 2021-03-12 | 迈普通信技术股份有限公司 | 多镜像设备软件编译方法、装置及设备 |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
GB2558366B (en) * | 2016-10-24 | 2022-08-10 | Fisher Rosemount Systems Inc | Systems and methods for merging modular control systems into a process plant |
CN107222527B (zh) * | 2017-05-16 | 2020-05-05 | 浙江工业大学 | 一种通过配置文件控制物联网设备分模式运行的方法 |
CN107290967B (zh) * | 2017-08-07 | 2018-08-31 | 合肥工业大学 | 一种液压机服务功能的自动加载方法及系统 |
CN111309327A (zh) * | 2018-12-12 | 2020-06-19 | 厦门雅迅网络股份有限公司 | 应用程序的自动编译方法及计算机可读存储介质 |
CN109889404B (zh) * | 2019-01-31 | 2021-06-01 | 北京英力恒达科技发展有限公司 | 一种基于时间戳的高速数据网络监测方法与系统 |
CN110347434A (zh) * | 2019-05-31 | 2019-10-18 | 口碑(上海)信息技术有限公司 | 一种针对计算设备应用的处理方法以及装置 |
DE102019209336A1 (de) * | 2019-06-27 | 2020-12-31 | Siemens Mobility GmbH | Verfahren zur Verwaltung von Diagnosemeldungen und -informationen, Softwarepaket, Server oder Servernetzwerk, System und Verwendung |
EP4086754A1 (de) * | 2021-05-03 | 2022-11-09 | Siemens Aktiengesellschaft | Verfahren zur rechnergestützten konfiguration eines endgeräts, endgerät und betriebsverfahren für das endgerät |
CN113342319B (zh) * | 2021-05-24 | 2024-03-22 | 重庆长安汽车股份有限公司 | 一种can故障诊断的软件代码自动生成的方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007145954A2 (en) * | 2006-06-07 | 2007-12-21 | Wms Gaming Inc. | Processing metadata in wagering game systems |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6070252A (en) | 1994-09-30 | 2000-05-30 | Intel Corporation | Method and apparatus for interactive built-in-self-testing with user-programmable test patterns |
US6397385B1 (en) | 1999-07-16 | 2002-05-28 | Excel Switching Corporation | Method and apparatus for in service software upgrade for expandable telecommunications system |
US7409685B2 (en) | 2002-04-12 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | Initialization and update of software and/or firmware in electronic devices |
JP2004030765A (ja) | 2002-06-25 | 2004-01-29 | Fujitsu Ltd | 自己診断機能内蔵の半導体記憶装置 |
US7739679B2 (en) | 2004-04-06 | 2010-06-15 | Hewlett-Packard Development Company, L.P. | Object ordering tool for facilitating generation of firmware update friendly binary image |
WO2005114403A1 (en) | 2004-05-21 | 2005-12-01 | Computer Associates Think, Inc. | Method and apparatus for reusing a computer software library |
US7293199B1 (en) | 2004-06-22 | 2007-11-06 | Sun Microsystems, Inc. | Method and apparatus for testing memories with different read/write protocols using the same programmable memory bist controller |
US7284167B2 (en) | 2005-01-24 | 2007-10-16 | Spansion Llc | Automated tests for built-in self test |
US7590504B2 (en) | 2005-08-16 | 2009-09-15 | Asset Intertech, Inc. | Graphical user interface for creation of IBIST tests |
US7840770B2 (en) | 2005-12-02 | 2010-11-23 | The Boeing Company | Methods and systems for managing computer system configuration data |
US7490280B2 (en) | 2006-02-28 | 2009-02-10 | International Business Machines Corporation | Microcontroller for logic built-in self test (LBIST) |
US7886285B2 (en) * | 2006-03-14 | 2011-02-08 | International Business Machines Corporation | Combining software executable libraries |
US20080163172A1 (en) * | 2006-12-29 | 2008-07-03 | Ncr Corporation | Creating a self-service application in a self-service terminal |
US7743283B1 (en) | 2007-04-27 | 2010-06-22 | Netapp, Inc. | Dynamically modifying parameters for servicing of storage devices |
US20090138874A1 (en) | 2007-11-27 | 2009-05-28 | The Boeing Company | Software Maintenance Tool |
US8509990B2 (en) * | 2008-12-15 | 2013-08-13 | Panasonic Avionics Corporation | System and method for performing real-time data analysis |
FR2943152B1 (fr) | 2009-03-13 | 2019-03-15 | Airbus Operations | Procedes et dispositifs de telechargement automatise de logiciels, dans un appareil tel qu'un aeronef, comprenant la mise a jour de la documentation associee |
-
2011
- 2011-10-17 US US13/274,911 patent/US8990840B2/en not_active Expired - Fee Related
-
2012
- 2012-10-05 EP EP12187549.6A patent/EP2584465A1/en not_active Ceased
- 2012-10-16 CN CN201210595870.9A patent/CN103279376B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007145954A2 (en) * | 2006-06-07 | 2007-12-21 | Wms Gaming Inc. | Processing metadata in wagering game systems |
Also Published As
Publication number | Publication date |
---|---|
US8990840B2 (en) | 2015-03-24 |
US20130097414A1 (en) | 2013-04-18 |
EP2584465A1 (en) | 2013-04-24 |
CN103279376A (zh) | 2013-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103279376B (zh) | 将可执行代码并入健康维护系统的方法和可重新配置系统 | |
CN102799755B (zh) | 用于配置基于状况的健康维护系统的系统和方法 | |
CN102708033B (zh) | 优化基于条件的健康维护系统的性能的方法和可重配置系统 | |
US8726084B2 (en) | Methods and systems for distributed diagnostic reasoning | |
US8615773B2 (en) | Systems and methods for coordinating computing functions to accomplish a task using a configuration file and standardized executable application modules | |
JP5124374B2 (ja) | プロセス性能監視とプロセス装置監視および制御への統合 | |
US9037920B2 (en) | Method for performing condition based data acquisition in a hierarchically distributed condition based maintenance system | |
CN105051760B (zh) | 数据建模工作室 | |
CN104144204B (zh) | 一种进行工业自动化系统的模拟的方法及系统 | |
CN103676924B (zh) | 限制任务工作流程的用户定制的系统和方法 | |
CN101273314B (zh) | 用于利用监控数据与关键程度评估数据执行加工厂中的功能的方法和装置 | |
CN101278246B (zh) | 利用监控数据与校正措施数据监控和执行加工厂中的校正措施的方法和装置 | |
CN107085415A (zh) | 过程控制网络中的规则构建器 | |
CN113900416A (zh) | 生成人机接口应用的方法、系统和非暂态计算机可读介质 | |
CN107408226A (zh) | 资产健康评分及其使用 | |
US20160132538A1 (en) | Crawler for discovering control system data in an industrial automation environment | |
US20130318529A1 (en) | Systems and methods for augmenting the functionality of a monitoring node without recompiling | |
CN109597364A (zh) | 过程控制资产管理系统内的项目 | |
CN107077114A (zh) | 在可编程逻辑控制器中使用软传感器 | |
CN109643483A (zh) | 用于呈现系统状态的可定制的图形视图以识别系统故障的系统和方法 | |
US20200210881A1 (en) | Cross-domain featuring engineering | |
Li et al. | Challenges in developing a computational platform to integrate data analytics with simulation-based optimization | |
Myers et al. | People Centred Intelligent Predict and Prevent (PCIPP) A novel approach to Remote Condition Monitoring | |
Hästbacka et al. | Empowering industrial maintenance personnel with situationally relevant information using semantics and context reasoning | |
Guillén López et al. | A framework for effective management of CBM programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180427 Termination date: 20211016 |