CN105102093A - 用于执行分布式模拟的可配置的模拟器 - Google Patents

用于执行分布式模拟的可配置的模拟器 Download PDF

Info

Publication number
CN105102093A
CN105102093A CN201480003111.6A CN201480003111A CN105102093A CN 105102093 A CN105102093 A CN 105102093A CN 201480003111 A CN201480003111 A CN 201480003111A CN 105102093 A CN105102093 A CN 105102093A
Authority
CN
China
Prior art keywords
configurable
module card
card
unit
simulator
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.)
Granted
Application number
CN201480003111.6A
Other languages
English (en)
Other versions
CN105102093B (zh
Inventor
米歇尔·加里博伊斯
亚尼克·科特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CAE Inc
Original Assignee
CAE Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CAE Inc filed Critical CAE Inc
Publication of CN105102093A publication Critical patent/CN105102093A/zh
Application granted granted Critical
Publication of CN105102093B publication Critical patent/CN105102093B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B9/00Simulators for teaching or training purposes
    • G09B9/02Simulators for teaching or training purposes for teaching control of vehicles or other craft
    • G09B9/08Simulators for teaching or training purposes for teaching control of vehicles or other craft for teaching control of aircraft, e.g. Link trainer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Business, Economics & Management (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Power Sources (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

本公开涉及一种用于执行分布式模拟的可配置的模拟器。所述模拟器包括模拟控制器和多个可配置的模块卡。所述模拟控制器确定所述卡的配置参数和重新配置参数,并与所述卡交换配置参数和重新配置参数。每个卡包括包含多个可配置的输入端/输出端的可配置的输入/输出单元,并且包括包含多个可配置的电源电路的电源。所述输入/输出单元与所述模拟控制器交换配置参数和重新配置参数。每个卡包括处理器,用于配置所述可配置的输入/输出单元的所述多个输入端和输出端和所述电源的所述多个电源电路,用于重新配置所述可配置的输入/输出单元的所述多个输入端和输出端和所述电源的所述多个电源电路,以及用于执行模拟代码来实现所述模拟器的功能。

Description

用于执行分布式模拟的可配置的模拟器
技术领域
本公开涉及模拟器领域。更特别地,本公开涉及用于执行分布式模拟的可配置模拟器。
背景技术
商务航空公司和空军使用飞行模拟器来训练其飞行员以面对各种类型的情况。因为每种飞机都有其特殊性,因此飞行模拟器通常被构建成在一种类型或者相近类型的飞机上来锻炼飞行员。
飞行模拟器分为几组组件,每组组件对应于飞机的一种特定功能。例如,第一组组件用于模拟显示器上显示的信息;第二组组件用于模拟飞机的运动;第三组组件用于模拟电子电路;另一组组件用于模拟液压回路等。该几组组件由一个或者几个处理器集中控制。
因此,需要用于执行分布式模拟的可配置的模拟器。
发明内容
根据第一方面,本公开提供了用于执行分布式模拟的可配置的模拟器。模拟器包括至少一个模拟控制器和多个可配置的模块卡。模拟控制器包括输入/输出单元,用于从多个可配置的模块卡接收广播消息,并将带有配置参数的广播响应消息发送至多个可配置的模块卡;以及用于从多个可配置的模块卡中的一个可配置的模块卡接收带有测试结果的测试通知,并将带有重新配置参数的重新配置请求发送至多个可配置的模块卡中的至少一个可配置的模块卡。模拟控制器还包括处理器,用于基于模拟器预定义的配置来确定多个可配置的模块卡的配置参数;以及用于基于之前确定的配置参数且基于测试结果来确定多个可配置的模块卡中的至少一个可配置的模块卡的重新配置参数。每个可配置的模块卡包括可配置的输入/输出单元和电源,该可配置的输入/输出单元包括多个可配置的输入端和输出端,该电源包括多个可配置的电源电路。每个卡还包括至少一个处理器,用于产生由可配置的输入/输出单元发送至模拟控制器的广播消息。基于由可配置的输入/输出单元接收的广播响应消息,处理器还执行输入/输出配置代码,以配置可配置的输入/输出单元的多个输入端和输出端。基于由可配置的输入/输出单元接收的广播响应消息,处理器进一步执行电源配置代码,以配置电源的多个电源电路。基于由可配置的输入/输出单元接收的重新配置请求,处理器执行输入/输出配置代码,以重新配置可配置的输入/输出单元的多个输入端和输出端。基于由可配置的输入/输出单元接收的重新配置请求,处理器还执行电源配置代码,以重新配置电源的多个电源电路。处理器进一步执行模拟代码来实现模拟器的功能。所执行的模拟代码基于以下中的一个来确定:由可配置的输入/输出单元接收的广播响应消息或者重新配置请求。
在特定的方面,几个可配置的模块卡的处理器执行实现模拟器的特定功能的几个分布式的子功能的模拟代码。
在另一个特定的方面,配置可配置的输入/输出单元的多个输入端和输出端包括执行输入端和输出端的网络配置。
在另一个其他的特定方面,配置可配置的输入/输出单元的多个输入端和输出端包括确定哪些输入端和输出端与至少一个其他模拟组件交换数据。
在又一个特定的方面,配置电源的多个电源电路包括确定以下中的至少一个:由特定的电源电路提供给电子元件的电力的特定的电流强度和特定的电压。
在另一个特定的方面,模拟器的功能包括几个子功能,并且配置可配置的输入/输出单元的多个输入端和输出端包括确定哪些输入端和输出端用于接收和发送与特定的子功能相关的数据。
附图说明
本公开的实施例将以仅参考附图实例的方式进行描述,其中:
图1是可配置模块卡的方框图;
图2是根据第一方面的包括图1中的几个可配置模块卡的可配置的模拟器的方框图;
图3是根据另一方面的包括图1中的几个可配置的模块卡的可配置模拟器的方框图;
图4是根据另一方面的图1中的可配置的模块卡的方框图;
图5示出了根据又一方面的用于操作包括图1中的多个可配置的模块卡的可配置的模拟器的方法;以及
图6示出了包括图1中的几个可配置模块卡的示例性飞行模拟器。
具体实施方式
通过阅读以下以只参考附图的实例给出的对本文中的说明性实施例的非限制性的描述,上述和其他特征将变得更加显而易见。相似的数字代表各个图中的相似特征。
本公开的各个方面大体上解决了具有用于执行模拟的多个计算组件的模拟器的一个或者多个问题。
在本公开中提及的模拟器可被用于不同的模拟目的。例如,第一种类型的模拟器可以由车辆的模拟器组成,如飞机模拟器、陆地车辆模拟器、船只模拟器、地铁模拟器,矿业模拟器或者核电站模拟器。
模拟器是复杂的系统,通常包括多个组件。第一种类型的组件由计算组件组成,该计算组件包括用于执行特定的模拟软件(模拟软件和模拟代码在本发明中互换使用)的处理器。计算组件通常接收数据、通过特定的模拟软件来处理接收到的数据以产生新的数据、并传输新的数据。计算组件可能还能够与一个或者几个专用硬件组件进行交互,该专用硬件组件如传感器、机械致动器、气动执行器、液压致动器、显示器、开关、灯、电气元件等。计算组件可以从专用硬件组件接收数据和/或者向专用硬件组件发送命令(例如,从传感器接收数据和向致动器发送致动命令)。计算组件还可以彼此相互交换数据以执行且同步模拟。
模拟器通常作为用于实现模拟器的多个功能的多个子系统来实施。每个子系统包括多个计算组件和多个专用硬件组件。计算组件由一个或者几个专用实体来集中控制,所述专用实体具有执行控制软件的处理器。计算组件通常由专用卡来实现,每个专用卡具有被设计为实现模拟器的特定功能或者子功能的特定电子元件。此外,每个专用卡可仅能够执行存储在特定卡的存储器中的专用的软件。因此,当这样的专用卡不能正常操作时,唯一的选择就是修复专用卡(可能中断模拟)或者用完全是同一类型的专用卡(其可能不能立即获得或者可能很贵)替换该专用卡。
本公开介绍了可配置的模块卡,其可以配置成起到上述的几个计算组件的作用。因此,模拟器不再依赖于多个专用卡,所述多个专用卡由可配置的模块卡的实例来替换。可配置的模块卡包括几个可配置的电子元件(比如,可配置的输入/输出单元、可配置的电源)。由特定的可配置的模块卡执行的模拟软件也是可配置的。可配置的模块卡由具有执行配置和控制软件的处理器的一个或者多个专用实体进行配置和控制。因此,当实现模拟器的关键功能的特定的可配置的模块卡工作不正常时,模拟器的另一个可配置的模块卡可以被重新配置以代替有缺陷的卡来实现关键功能。
图6示出了示例性的飞行模拟器600,该飞行模拟器600包括模拟控制器610和几个可配置的模块卡(631、632、641、642、652、661和671)。可配置的模块卡分层地实现飞行模拟器600的两个示例性子系统(发动机620和起落架650)。在之后的描述中将更详细的描述图6。
可配置的模块卡
现在参考图1,描述了用于模拟器中的可配置的模块卡100。
卡100包括板10和安装在板上的处理器20。尽管图1中示出了单个处理器20,但是卡100可以包括几个并行地运行的处理器,这在本领域中是众所周知的。此外,每个处理器可以是单核或者多核处理器。至少一个处理器可以执行模拟代码或者模拟代码的一部分以实现模拟器的功能。模拟器的功能的实例包括但不局限于:模拟显示器上显示的信息、模拟飞机的运动、模拟飞机的电子电路、模拟飞机的液压回路、模拟心跳、模拟身体机能、和/或者已知的任何其他类型的模拟规程。
卡100还包括安装在板10上并且与处理器20进行电子通信的存储器30。尽管图1中示出了单个存储器30,但是卡100还可以包括几个存储器或者几组存储器。卡100上存在的每个存储器可以专用于卡100的单个处理器或者可以由卡100的几个处理器共享。
卡100还包括可配置的输入/输出(I/O)单元40。由处理器20执行的模拟代码可以通过可配置的I/O单元40来接收。可配置的I/O单元40包括多个可配置的输入端和输出端。出于说明目的,图1中示出的可配置的I/O单元40包括可配置的输入端41、可配置的输出端42和可配置的输入端/输出端43。可配置的输入端41能够从未在图1中示出的一个或者几个其他组件接收数据。可配置的输出端42能够向未在图1中示出的一个或者几个组件传送数据。可配置的输入/输出端43能够与一个或者几个组件110交换(传送或者接收)数据。
可配置的I/O单元40还可以包括一个或者几个开关。例如,图1中示出的可选开关44。开关44完成以下中的至少一个:对可配置的输入/输出端43和其他模拟组件110之间交换的信号进行切换、复用和解复用。
只要可配置的I/O单元40与板10的大小和形状相容且与其他电子元件在板10上所留下的空间相容,那么可配置的I/O单元40就可以包括任意数量的可配置的输入端和输出端。可配置的I/O单元40中的每个可配置的输入端和输出端能够与单个或者与多个其他的模拟组件进行通信,比如,例如:面板、电子设备、传感器、发动机和致动器和/或者任何类型的飞机或者车辆的导航、航空电子设备等。
当处理器20执行模拟代码来实现模拟器的功能时,处理器20可以处理由可配置的I/O单元40从其他组件接收的数据,并产生由可配置的I/O单元40发送到其他组件的数据。
可配置的I/O单元40的可配置的输入端和输出端根据一种或者几种类型的通信协议为卡100提供通信能力。例如,可配置的I/O单元40可以包括至少一个以太网板用于通过以太网协议接收/传送数据。可选择地或者同时地,可配置的I/O单元40可以包括模拟的或者数字的输入/输出、串行输入/输出、USB输入、以太网输入、用于通过Wi-Fi协议接收/传送数据的无线保真(Wi-Fi)板、控制器局域网总线、I2输入/输出。可配置的I/O单元40还可以包括高清多媒体接口(HDMI)板,用于将视频(和音频)数据传送到屏幕。其他类型的输入端和输出端可以基于与卡100交换数据的各种类型的其他模拟组件(如110)由可配置的I/O单元40来实现。
可配置的I/O单元40还发送广播消息和接收广播响应消息。广播消息可以由可配置的I/O单元40的不同的输出来发送,且广播响应消息可以由可配置的I/O单元40的不同的输入来接收。另外,不同的通信协议可以被用于发送广播消息和接收广播响应消息。在一个特定的方面,可配置的I/O单元40具有用于发送广播消息的预定义输出端和用于接收广播响应消息的预定义输入端。在图1中示出的实施例中,通过输入/输出端43发送广播消息120和接收广播响应消息121。可选地,广播消息120可以通过输出端42进行发送,而广播响应消息121可以通过输入41进行接收。在另一个实施例中,广播消息120可以通过可配置的I/O单元40的以太网板进行发送,且广播响应消息121可以通过可配置的I/O单元40的Wi-Fi板进行接收。可选地,广播消息120可以通过可配置的I/O单元40的Wi-Fi板进行发送,且广播响应消息121可以通过可配置的I/O单元40的以太网板进行接收。
当卡100在被制造/在使用前预配置时,预定义输出端和预定义输入端可以被永久地存储在存储器30中。在卡100启动时,处理器20可以执行永久地存储在存储器中30的引导程序。引导程序包括通过存储的预定义输出端发送广播消息120,以及通过存储的预定义输入端接收广播响应消息121。
在特定的实施例中,广播消息120包括配置请求、卡100的标识(如,序列号)和预定义输入端的标识(如,以太网或者互联网协议(IP)地址)。广播消息120由配置组件接收。配置组件基于卡100的标识来确定配置参数。之后,配置组件通过被发送到预定义输入端的广播响应消息121,将配置参数传送至卡100。配置组件可以基于很多可能的变化(例如,所需要的替换卡、所要求的处理能力、待执行的模拟、物理I/O能力等)来确定配置参数。配置参数可以包括其他可配置的模块卡的清单,卡100必须与其通信以执行模拟。例如,配置参数可以包括卡及其相对应的子功能的清单,使得卡100在执行模拟时,通过从清单中识别由特定的卡来执行特定的子功能,可以直接与其他的卡进行通信。配置参数还可以包括专用硬件组件的清单,卡100必须与其通信以执行模拟。图1中示出的其他模拟组件110中的一个模拟组件可以实现配置组件。
由于卡100没必要知道配置组件,所以使用广播消息120。通过以广播模式发送消息120,卡100确保消息120由配置组件(以及由其他实体)接收。配置组件接收广播消息120、确定其为预期接收者、处理广播消息120并返回广播响应消息121。
卡100还包括总线50,其与可配置的I/O单元40、与板10的至少一个处理器20、以及与板10的至少一个存储器30电连接。总线50在它们之间提供电子数据交换。例如,处理器20通过总线50读取存储器30中的数据,处理数据,并通过总线50将处理的数据传送到可配置的I/O单元40(用于通过可配置的I/O单元40的输出进一步地传输到另一个模拟组件)。类似地,处理器20通过总线50从可配置的I/O单元40接收数据(由可配置的I/O单元40的输入从另一个模拟组件接收的数据),处理数据,并通过总线50将处理的数据传送到存储器30用于存储于其中。
输入/输出(I/O)配置代码(在图1中没有示出)存储在存储器30中。I/O配置代码通过处理器20执行,以基于接收到的广播响应消息121来配置可配置的I/O单元40的多个输入端和输出端(例如,41、42和43)。
可配置的I/O单元40的配置可以包括其输入端和输出端的网络配置。网络配置是本领域中所熟知的,而且取决于输入端和输出端的具体类型,并且取决于它们所支持的通信协议的具体类型。例如,以太网输入/输出的配置可以包括其IP地址的配置。Wi-Fi输入/输出的配置可以包括服务集标识符(SSID)和无线密钥以及其IP地址的配置。在这些实例中,IP地址、SSID和无线密钥是通过广播响应消息121传送到卡100的网络配置参数。
可配置的I/O单元40的配置可以包括其输入端和输出端的功能配置。例如,卡100的第一子功能与第一输入端/输出端相关联。当执行第一子功能时,与其他模拟组件(例如,110)交换的所有数据由第一输入端/输出端传送和接收。卡100的另一个子功能与第二输入端/输出端相关联。当执行第二子功能时,与其他模拟组件交换的所有数据由第二输入端/输出端传送和接收。例如,可配置的I/O单元40可以具有两个视频输出。第一视频输出连接到受训者的视频屏幕,而第二视频输出连接到指导员的视频屏幕。处理器20运行模拟软件,其产生用于受训者的特定视频数据(第一子功能),以及产生用于指导员的特定视频数据(第二子功能)。接收到的广播响应消息121提供以下配置:用于受训者的特定视频数据应该通过第一视频输出进行传送,而用于指导员的特定视频数据应该通过第二视频输出进行传送。
可选地,可配置的I/O单元40的输入端和输出端的功能配置可以在于确定多个输入端和输出端内的哪些输入端和输出端将被用于与另一个模拟组件交换数据。参考之前的可配置的I/O单元40在其中具有两个视频输出的实例,接收到的广播响应消息121提供以下配置:被发送到第一屏幕(例如,受训者的屏幕)的视频数据应该通过第一视频输出进行传送,而被发送到第二屏幕(例如,指导员的屏幕)的视频数据应该通过第二视频输出进行传送。广播消息的参数的实例还包括:声音数据、传感器数据、飞机协议数据、车辆协议数据等。
卡100还包括电源60。电源60接收输入电源65的预定义电压,且包括多个可配置的电源电路。出于说明目的,图1示出的电源60包括两个可配置的电源电路61和62。只要电源60与板10的大小和形状相容,并且与其他电子元件在板10上所留下的空间相容,则电源60就可以包括任意数量的可配置的电源电路。
可配置的电源电路为卡100的一个或者几个电子元件提供电力。此外,可配置的电源电路中的一些可配置的电源电路可以为一个或者几个其他的模拟组件(例如,110)的电子元件提供电力。出于说明目的,图1中示出的可配置的电源电路61为可配置的I/O单元40提供电力66,且可配置的电源电路62为处理器20提供电力67。基于实施优先权或者电源60的能力或者由卡100供电的其他组件的电力需求,使用与输入电源65具有相同电压和电流的电力的组件,可以从输入电源65直接接收电力,而不通过电源60,如在输入电源65和I/O单元40之间由虚线示出。为了简单起见,尽管未在图1中示出,但是可配置的电源电路61和62也可以为总线50、存储器30和其他模拟组件110提供电力。可选地,另外的可配置的电源电路可以用于为总线50、存储器30和其他模拟组件110提供电力。例如,其他模拟组件110可以包括一个或者几个用于显示数据的屏幕,这些屏幕从供电单元60的至少一个可配置的电源电路接收电力。
电源配置代码(图1中没有示出)存储在存储器30中。电源配置代码由处理器20执行,以基于接收到的广播响应消息121来配置电源60的多个电源电路(例如,61和62)。
每个特定电源电路的配置可以由特定的电流强度(电压与输入电源65类似)、特定的电压(电流强度与输入电源65类似)、脉宽调制功率或者电流强度和电压的特定组合组成,用于由特定的电源电路提供的电源。如果电源电路具有几个输出以用于为几个实体提供电力,则每个电源输出可以单独进行配置。
广播响应消息121包括对电源60的每个可配置的电源电路的电源配置参数(例如,电流强度和/或电压)。在图1中示出的实施例中,相同的广播消息120/广播响应消息121中的一个或者两个被用于配置可配置的I/O单元40和电源60。可选地,专用广播消息/广播响应消息可以用于分别地配置可配置的I/O单元40和电源60。
电源60中的一个或者几个电源电路可以具有默认配置,以允许卡100的正确操作直到接收到包含电源配置参数的广播响应消息121。一些电源电路的默认配置可被接收到的电源配置参数覆盖,同时一些电源电路的默认配置可以被保持。
当卡100在被制造/在使用前预配置时,配置代码(I/O配置代码和电源配置代码)可以被永久地存储在存储器30中。当卡100启动时,在接收到广播响应消息121之后,处理器30可以执行配置代码。配置代码也可以在其他时刻被执行:在卡100复位之后、在卡100故障(软件或者硬件)之后需要完整的重新配置等。通过广播响应消息121接收到的可配置的I/O单元40的配置参数和电源60的配置参数可以被永久地存储在存储器30中,以随时可供配置代码使用。
可选地,最初配置代码可以不在存储器30中,而是从外部实体下载(例如,其他模拟组件110中的一个),并存储在存储器30中用于进一步地使用。可配置的I/O单元40的预定义输出端和预定义输入端(例如,43)可以被用于执行配置代码的下载。广播消息120/广播响应消息121可以被用于此目的,或者可以使用专用于配置代码的下载的额外的广播消息/广播响应消息。
测试代码(图1中没有示出)存储在存储器30中。由处理器20执行测试代码以为基于广播响应消息121配置的可配置的I/O单元40的多个输入端和输出端产生测试信号。由处理器20执行的测试代码也可以为基于广播响应消息121配置的电源60的多个电源电路产生测试信号。
为可配置的I/O单元40的多个输入端和输出端产生的测试信号允许验证输入端和输出端的操作符合通过广播响应消息121所接收的配置参数。该验证可以包括输入端和输出端的网络配置的验证。例如,测试信号可以允许确定特定的输入或者特定的输出分别地能够以特定的吞吐量、以特定的延迟、以特定的丢包率等接收和传送数据。该验证也可以包括输入端和输出端与另一个模拟组件的网络连接的验证。
同时地或者可选地,验证还可以包括电压状态和电流状态的持续验证。为此目的,为电源60的多个电源电路产生的测试信号允许验证电源电路的操作符合通过广播响应消息121接收的配置参数。例如,测试信号可以允许确定特定的电源电路以额定电压和/或者电流强度工作。
类似于配置代码,当卡100在被制造/在使用前预配置时,测试代码可以被永久地存储在存储器30中。可选地,最初测试代码可以不在存储器30中,而是从外部实体下载(例如,其他模拟组件110中的一个),并存储在存储器30中用于进一步地使用。
如果有几个处理器安装在板10上,则配置代码和测试代码可以由相同的处理器或者由不同的处理器来执行。此外,测试代码可以被分为由不同的处理器并行地操作来执行的多个功能模块。
带有多个可配置的模块卡的可配置的模拟器
现在同时参考图1和图2,描述了带有多个可配置的模块卡的可配置的模拟器200。
模拟器200包括可配置组件210和多个可配置的模块卡101、102、103和104。多个可配置的模块卡101、102、103和104是先前参考图1已经描述的可配置的模块卡100的实例。尽管可配置的模块卡100的四个实例已经在图2中示出,但是模拟器200可以包括任意数量的这些卡。
配置组件210包括输入/输出(I/O)单元211和处理器212。配置组件210可以包括额外的电子元件,如额外的处理器、至少一个存储器、总线、供电单元,为了简化并没有在图2中示出。
配置组件210配置多个可配置的模块卡101、102、103和104。可配置的模块卡100的实例的配置先前参考图1已经进行了描述。每个可配置的模块卡(例如,101)发送广播消息(在其可配置的I/O单元40的预定义输出端上)到配置组件210。广播消息由配置组件210的I/O单元211进行接收并传送到处理器212。尽管图2示出了各个I/O单元间的物理连接,但是其间的连接能够是逻辑连接和/或无线连接。处理器212确定用于可配置的模块卡(例如,101)的配置参数,并将配置参数传送到I/O单元211。I/O单元211将带有配置参数的广播响应消息发送到可配置的模块卡(例如,101)。由可配置的模块卡(例如,101)的可配置的I/O单元40的预定义输入端接收广播响应消息。
基于接收到的广播响应消息,每个可配置的模块卡(例如,101)的处理器20执行其I/O配置代码来配置其可配置的输入/输出单元40的多个输入端和输出端。
基于接收到的广播响应消息,每个可配置的模块卡(例如,101)的处理器20执行其电源配置代码来配置其电源60的多个电源电路。
模拟器200可以包括多于一个配置组件210。例如,配置组件210可以负责配置可配置的模块卡101和102,而另一个配置组件(图2中没有示出)可以负责配置可配置的模块卡103和104。此外,可以由可配置的模块卡100来实现配置组件。例如,可配置的模块卡103可以由配置组件210进行配置,并为可配置的模块卡104实现配置组件的功能。
当模拟器200的可配置的模块卡(例如,101)被配置时,其处理器20能够执行模拟代码来实现模拟器200的功能。其可配置的I/O单元40能够与至少一个其他的模拟组件交换(接收和发送)数据。执行模拟代码以实现模拟器200的功能包括处理由可配置的I/O单元40接收的数据并产生由可配置的I/O单元40发送的数据。由处理器20执行的I/O配置代码来确定用于交换特定类型的通信数据或者用于与特定的其他模拟组件通信的可配置的I/O单元40的特定的输入端和输出端。
其他模拟组件可以由另一个可配置的模块卡100组成或者由与可配置的模块卡100不同的专用硬件组件220(例如,显示器、灯、机械致动器等)组成。例如,如图2所示,可配置的模块卡101与可配置的模块卡102交换数据。可配置的模块卡102与可配置的模块卡101和104交换数据。可配置的模块卡103与可配置的模块卡104以及专用硬件组件220交换数据。可配置的模块卡104与可配置的模块卡102和103交换数据。
专用硬件组件(例如,220),如显示器、灯、机械致动器,受一个或者几个可配置的模块卡(例如,103)控制。在这种情况下,它们之间所交换的数据包括由可配置的模块卡(例如,103)的处理器20执行的模拟软件所产生的命令。该命令被发送到专用硬件组件(例如,220)来触发代表了模拟的当前状态的事件。这些事件可以包括:在显示器上显示数据、打开或者关闭灯、激活机械致动器(例如,去移动受训者坐着的座位)、控制模拟式仪表(开动设备的仪表,比如,例如测高仪、泵浦表、压力表等)。可选地,专用硬件组件(例如,220)可以由传感器组成,并且在传感器和一个或几个可配置的模块卡(例如,103)之间交换的数据存在于通过传感器采集并发送到可配置的模块卡的数据中。
由可配置的模块卡(例如,103)的处理器20执行的电源配置代码配置其供电单元60的电源电路,以将电力提供到可配置的模块卡(例如,103)的电子元件(例如,处理器20、可配置的I/O单元40)。更具体地,配置包括确定提供至特定的电子元件的电源的至少一个特定的电流强度或者特定的电压。此外,供电单元60的一些电源电路可以被配置为将电力提供至另一个实体的电子元件。例如,可配置的模块卡103的供电单元60的一些电源电路可以被配置为将电力输出至可配置的模块卡104的电子元件或者输出至专用硬件组件220的电子元件。
具有分布式模拟功能的可配置的模拟器
现在同时参考图1和图3,描述了包括用于执行分布式模拟的多个可配置的模块卡的可配置的模拟器300。
模拟器300包括模拟控制器310和多个可配置的模块卡101、102、103和104。多个可配置的模块卡101、102、103和104是先前参考图1已经描述的可配置的模块卡100的实例。尽管可配置的模块卡100的四个实例已经在图3中示出,但是模拟器300可以包括任意数量的这些卡。
模拟控制器310与图2中示出的配置组件210相对应,但是具有用于管理分布式模拟和用于在适当的时候重新配置可配置的模块卡的额外的功能。
模拟控制器310包括输入/输出(I/O)单元311和处理器312。模拟控制器310可以包括额外的电子元件,如额外的处理器、至少一个存储器、总线、供电单元,为了简化的目的并没有在图3中示出。
模拟控制器310配置多个可配置的模块卡101、102、103和104。可配置的模块卡100的实例的配置先前参考图1已经进行了描述。每个可配置的模块卡(例如,101)发送广播消息到模拟控制器310。广播消息由模拟控制器310的I/O单元311接收并传送到处理器312。处理器312确定可配置的模块卡(例如,101)的配置参数,并将配置参数传送到I/O单元311。I/O单元311将带有配置参数的广播响应消息发送到可配置的模块卡(例如,101)。由可配置的模块卡(例如,101)的可配置的I/O单元40接收广播响应消息。
基于模拟器的预定义配置来确定配置参数。例如,如图3示出,模拟器300可以包括两个子系统350和360。第一子系统350实现模拟器的第一功能,例如,模拟飞机的运动。第二子系统360实现模拟器的第二功能,例如,模拟显示器上显示的信息。功能可以被划分为几个子功能,并且模拟器的预定义配置确定哪些可配置的模块卡实现哪些功能或者子功能。系统的实例包括:飞行控制、自动驾驶系统、导航系统、电源管理系统等。
每个可配置的模块卡(例如,101)的处理器20产生由其可配置的I/O单元40发送到模拟控制器310的广播消息。
基于由每个可配置的模块卡(例如,101)的可配置的I/O单元40接收到的广播响应消息(包括配置参数),每个可配置的模块卡(例如,101)的处理器20执行其I/O配置代码来配置其可配置的输入/输出单元40的多个输入端和输出端。
基于由每个可配置的模块卡(例如,101)的可配置的I/O单元40接收到的广播响应消息(包括配置参数),每个可配置的模块卡(例如,101)的处理器20执行其电源配置代码来配置其电源60的多个电源电路。
每个可配置的模块卡(例如,101)的处理器20执行模拟代码来实现模拟器的功能,所执行的模拟代码基于由每个可配置的模块卡(例如,101)的可配置的I/O单元40接收到的广播响应消息(包括配置参数)来确定。模拟代码可以通过包括与模拟中涉及到的每个硬件组件和硬件子组件相关的标记来将硬件与软件分离开。例如,对将要被使用的I/O单元40的输入端/输出端进行标记,而且参考的是在模拟代码中的标记,而不是输入端/输出端自身。通过标记模拟中涉及的硬件组件和硬件子组件,并参考在模拟代码中的标记,根据需要甚至在运行中或者动态地,使得通过简单地将标记重新分配给其他硬件组件和硬件子组件,来修改模块卡100以及模块卡与其他组件之间的交互变得可能。
当模拟器的特定功能被划分为几个子功能时,几个可配置的模块卡(例如,101和102,或者可选地,103和104)的处理器20执行模拟代码来实现模拟器的特定功能的几个分布式的子功能。
在图3中示出的实例中,由第一子系统350执行的模拟器的第一功能可以由两个分布式的子功能组成,该两个分布式的子功能由两个可配置的模块卡101和102的处理器20所执行的模拟代码分别实现。由第二子系统360实现的模拟器的第二功能可以由两个分布式的子功能组成,该两个分布式的子功能由两个可配置的模块卡103和104的处理器20所执行的模拟代码分别地实现。
模拟器300可以包括多于一个模拟控制器。例如,模拟控制器310负责控制子系统350和360的可配置的模块卡101、102、103和104;且另一个模拟控制器(在图3中没有示出)可以负责控制至少一个其他子系统(在图3中没有示出)的可配置的模块卡。此外,模拟控制器可以由可配置的模块卡100来实现。
模拟器300还可以包括由模拟控制器的层次结构控制的系统和子系统的层次结构。例如,第二子系统360可以包括至少一个低层次的子系统365。可配置的模块卡103可以实现类似于模拟控制器310的模拟控制器功能。因此,可配置的模块卡103由模拟控制器310进行控制,并且控制低层次的子系统365的可配置的模块卡(在图3中没有示出)。
由可配置的模块卡(例如,101)的处理器20执行的模拟代码可以最初存储在可配置的模块卡的存储器30中。模拟代码可以被划分在实现模拟器的各种功能和子功能的软件模块中。因此,对应于通过接收到的广播响应消息的配置参数所指明的功能或者子功能,处理器20可以选择执行特定的软件模块。可选地,特定的软件模块最初可以不存储在存储器30中,并且可配置的模块卡(例如,101)可能需要去下载它,例如,从预定义的软件服务器或者从模拟控制器310下载。
正如前面参考图1和图2所提到的,可配置的模块卡(例如,101)的可配置的I/O单元40能够与至少一个其他模拟组件交换(接收和发送)数据。
其他模拟组件可以由另一个可配置的模块卡100组成。例如,可配置的模块卡101和102交换由可配置的模块卡101和102的处理器20执行的模拟代码所产生的数据。每个模块卡101和102实现由子系统350所执行的全局功能的分布式的子功能。数据交换能够使得通过可配置的模块卡101和102分别实现的子功能同步。同样地,数据交换能够使得由可配置的模块卡103和104分别实现的子功能同步。每个模块卡103和104实现由子系统360实现的全局功能的分布式的子功能。尽管在图3中没有示出,但是不同子系统的可配置的模块卡(例如,102和103)也可以交换数据。
其他模拟组件也可以由专用硬件组件320、321和322组成。专用硬件组件(如显示器、灯、机械致动器)在一个或者几个可配置模块卡100的控制之下。在这种情况下,它们之间交换的数据由通过可配置的模块卡100的处理器20执行的模拟软件所产生的命令组成。所述命令被发送到专用硬件组件来触发代表模拟的当前状态的事件。可选地,专用硬件组件可以由传感器组成,并且在传感器和一个或几个可配置的模块卡100之间交换的数据存在于通过传感器采集并发送到可配置的模块卡的数据中。
在图3中示出的实例中,由第一子系统350实现的功能模拟了飞机的运动,且由第二子系统360实现的功能模拟了显示器上显示的信息。专用硬件组件321是用于移动受训者坐着的座位的机械致动器,该机械致动器由可配置的模块卡101控制。专用硬件组件322是代表在飞机的运动期间发生的各种事件的一盏灯或者一组灯,其由可配置的模块卡102来控制。专用硬件组件320是用于显示数据的显示器,其由可配置的模块卡103和104同时进行控制。本领域的技术人员将理解的是,所述功能并不限于图3中的实例,并且可以由本模块卡实现其他的功能和子系统,比如以下:车辆零部件、飞机零部件、航空电子设备、座舱面板、车辆面板等。
在特定的方面,模拟控制器310的I/O单元311从多个可配置的模块卡中的一个可配置的模块卡(例如,101)接收带有测试结果的测试通知。模拟控制器310的处理器312分析测试结果,确定可配置的模块卡(例如,101)的操作状态,并基于测试结果和先前确定的配置参数来确定重新配置参数。例如,如果负责控制机械致动器321的可配置的模块卡101工作不正常,则可以重新配置可配置的模块卡102以控制致动器321。可配置的模块卡102可以被重新配置以便只控制致动器321,或者可以被重新配置以同时地控制致动器321和灯322。可选地,其他子系统360的可配置的模块卡(例如,104)可以被重新配置以控制致动器321。因此,重新配置参数可以影响一个或者几个子系统(例如,350或者360)的一个或者几个可配置的模块卡(例如,102或者104)。
模拟控制器310的I/O单元311向需要被重新配置的可配置的模块卡(例如,102)发送带有重新配置参数的重新配置请求。
在可配置的模块卡(例如,102)的可配置的I/O单元40接收到重新配置请求时,可配置的模块卡的处理器20基于重新配置请求执行输入/输出配置代码以重新配置其可配置的I/O单元40的多个输入端和输出端。处理器20还基于重新配置请求执行电源配置代码以重新配置电源60的多个电源电路。处理器20进一步地执行模拟代码以实现模拟器的功能或者子功能,所执行的模拟代码将基于重新配置请求来确定。例如,可配置的模块卡102的处理器20执行模拟代码来控制致动器321,而不是执行先前执行的用于控制灯322的模拟代码。
现在参考图6,描述了用于执行分布式模拟的包括多个可配置的模块卡的模拟器的实例。图6示出了包括模拟控制器610和可配置的模块卡(631、632、641、642、652、661和671)的层次结构的飞行模拟器600。
飞行模拟器600包括用于模拟飞机的第一功能(如发动机)的第一子系统620。该子系统620包括用于分别地模拟飞机的左侧发动机和右侧发动机的两个低层次子系统630和640。
可配置的模块卡631和632负责模拟左侧发动机。卡631和632直接由模拟控制器610进行配置和控制。卡631和632控制几个专用硬件组件:显示器635、灯636(专用于左侧发动机模拟),以及座舱致动器635(在左侧发动机模拟和右侧发动机模拟之间共享)。
可配置的模块卡641和642负责右侧发动机的模拟。卡641和642直接由模拟控制器610进行配置和控制。卡641和642控制几个专用硬件组件:显示器645、灯646(专用于右侧发动机模拟)和座舱致动器635(在左侧发动机模拟和右侧发动机模拟之间共享)。
飞行模拟器600包括用于模拟飞机的第二功能(如起落架)的第二子系统650。该子系统650包括用于分别模拟飞机的左侧轮子和右侧轮子的两个低层次子系统660和670。
可配置的模块卡652负责起落架子系统650的常见功能的模拟。卡652直接由模拟控制器610进行配置和控制。卡652控制几个专用硬件组件:液压回路655和电子电路656。
模拟子控制器651负责子系统650的低层次子系统660和670的控制。模拟子控制器651直接由模拟控制器610进行配置和控制。模拟子控制器651可以与卡652交互以控制低层次子系统660和670。模拟子控制器功能651可以集成在卡652上。
可配置的模块卡661负责左侧轮子的特定功能的模拟。卡661由模拟子控制器651进行配置和控制。卡661控制几个专用硬件组件:灯665(专用于左侧轮子的模拟)和座舱致动器657(在左侧轮子模拟和右侧轮子模拟之间共享)。
可配置的模块卡671负责右侧轮子的特定功能的模拟。卡671由模拟子控制器651进行配置和控制。卡671控制几个专用硬件组件:灯675(专用于右侧轮子的模拟)和座舱致动器657(在左侧轮子模拟和右侧轮子模拟之间共享)。
带有集成的测试能力的可配置的模拟器
现在同时回顾图1和图3,在另一方面,模拟器300包括集成的测试能力。模拟控制器310管理由多个可配置的模块卡(101、102、103和104)在其控制下所执行的一系列的测试,并集中测试结果。
在一个实施例中,可配置的模块卡(例如,101)具有自动测试能力。它们自动地执行一系列的测试,并将测试结果报告给模拟控制器310。由可配置的模块卡(例如,101)的处理器20执行测试(测试代码的执行),并且测试结果通过测试通知被传送给模拟控制器310。测试通知由处理器20通过聚集测试结果而生成,并由可配置的模块卡(例如,101)的可配置的I/O单元40进行传送。
模拟控制器310的I/O单元311接收测试通知,且其处理器312处理存在于测试通知中的测试结果。处理对应于特定的可配置的模块卡(例如,101)的特定的测试结果允许确定特定的可配置的模块卡(例如,101)的操作状态。基于在其控制下从多个可配置的模块卡(101、102、103和104)接收到的测试结果,模拟控制器310保持所有的可配置的模块卡在其控制下的全局操作状态。
正如先前的描述,基于可配置的模块卡(101、102、103和104)的全局操作状态,模拟控制器310可以触发这些可配置的模块卡(101、102、103和104)中的一些在其控制下的重新配置。例如,由于通过在可配置的模块卡101上执行的一系列的测试检测到该卡的故障,可配置的模块卡102可以被重新配置以实现先前由可配置的模块卡101所实现的功能。
正如先前参考图1所描述的,由可配置的模块卡(例如,101)的处理器20所执行的测试代码包括产生测试信号到基于由可配置的I/O单元40接收到的广播响应消息所配置的其可配置的I/O单元40的多个输入端和输出端。由可配置的模块卡(例如,101)的处理器20执行的测试代码还包括产生测试信号到基于由可配置的I/O单元40接收到的广播响应消息所配置的电源60的多个电源电路。
此外,由可配置的模块卡(例如,101)的处理器20执行的测试代码进一步包括监控由处理器20执行的模拟代码的执行。
由处理器20执行的模拟代码实现模拟器300的功能。功能可以被划分为几个分布式的子功能,每个特定的子功能由特定的可配置的模块卡100来实现。因此,监控模拟代码的执行可以包括监控与特定的子功能相对应的代码。如果可配置的模块卡100实现几个子功能,那么测试代码可以只监控这些子功能的子集。
正如先前所描述的,由可配置的模块卡(例如,101)的处理器20执行的模拟代码可以包括通过以发送到该专用硬件组件(例如321)的控制命令的方式来控制专用硬件组件(例如,321)的代码。例如,专用硬件组件321是用于移动受训者坐着的座位的机械致动器。在这种情况下,执行测试代码进一步包括产生测试信号到专用硬件组件(例如,321)以验证该专用硬件组件正在根据它从控制它的可配置的模块卡(例如,101)已接收到的控制命令进行操作。
在另一个实施例中,可配置的模块卡(例如,101)执行由配置控制器310所确定的一系列的测试。通过从模拟控制器310接收到测试请求来触发通过特定的可配置的模块卡(例如,101)的处理器20对测试代码的执行。测试请求指定至少一个特定测试,其将通过由处理器20执行测试代码来实现。该至少一个特定测试包括以下中的一个:测试可配置的I/O单元40的输入端和输出端、测试电源60的多个电源电路、监控由处理器20对模拟代码的执行和产生测试信号到另一个模拟组件(例如,321)。
现在参考图4,示出了图1中的可配置的模块卡100的简化版,描述了卡100的配置参数和软件代码。卡100的存储器30存储配置参数、配置代码、模拟代码和测试代码。
卡100的配置参数最初存储在配置组件410的存储器(图4中没有示出)中;并且经由上述的广播消息120/广播响应消息121,通过卡100的可配置的I/O单元40传送到存储器30。配置组件410对应于以下中的一个:图2中示出的配置组件210或者图3中示出的模拟控制器310(具有配置能力)。
由卡100执行的模拟代码最初也存储在配置组件410的存储器中,且通过可配置的I/O单元40被传送到存储器30。上述的广播消息120/广播响应消息121可以用于此目的。另一种传送机制也可以用于此目的。可选地,模拟代码可以最初被存储在存储器30中,或者由软件服务器(图4中没有示出)进行传送。
存储器30存储由卡的处理器20所执行的配置代码。例如,存储在存储器30中的配置代码包括电源配置代码,当处理器20执行电源配置代码时,其基于与电源60相关的且存储在存储器30中的特定的配置参数来配置卡100的电源60。存储在存储器30中的配置代码也包括I/O单元配置代码,当由处理器20执行I/O单元配置代码时,其基于与可配置的I/O单元40相关的且存储在存储器30中的特定的配置参数来配置可配置的I/O单元40。
处理器20执行存储在存储器30中的模拟代码。模拟代码可以包括与几个模拟功能和子功能相对应的多个软件模块。特定的软件模块的执行及它们的执行顺序可以由与模拟流程相关的且存储在存储器30中的特定的配置参数来确定。
存储器30存储由处理器20执行的测试代码。测试代码可以最初被存储在存储器20中,或者由配置组件410或者由软件服务器(图4中没有示出)进行传送。例如,存储在存储器30中的测试代码包括电源测试代码,当由处理器20执行测试代码时,测试所述电源60。存储在所述存储器30中的所述测试代码还包括I/O单元测试代码,当由所述处理器20执行所述I/O单元测试代码时,测试可配置的I/O单元40。存储在存储器30中的测试代码进一步包括模拟测试代码,当由处理器20执行模拟测试代码时,监控模拟代码的执行。
用于操作包括多个可配置的模块卡的可配置的模拟器的方法
现在同时参考图4和图5,描述了用于操作包括多个可配置的模块卡的可配置的模拟器的方法500。
以方法500操作的可配置的模拟器可以与先前关于图2描述的模拟器200相对应或者与先前关于图3描述的模拟器300相对应。可配置的模拟器包括与先前关于图1和图4所描述的卡100相对应的多个可配置的模块卡。出于简化的目的,只有两个可配置的模块卡504和506在图5中示出,但是模拟器可以包括任意数量的可配置的模块卡。模拟控制器502在图5中示出,其与先前关于图2和图4所描述的配置组件210和410相对应,和/或与先前关于图3所描述的模拟控制器310相对应。模拟控制器502可以被集成到可配置的模拟器,或者可以是以通信协议(如以太网协议或者Wi-Fi协议)的方式与可配置的模拟器通信的外部组件。
方法500包括在模拟控制器502的存储器(没有示出)中存储510用于多个可配置的模块卡(504和506)的配置参数。
方法500包括在多个可配置的模块卡(504或者506)的存储器30中存储520配置代码、模拟代码和测试代码。在特定的方面,配置代码、模拟代码和测试代码中的至少一个可以被存储在模拟控制器502的存储器中,并从模拟控制器502被传送到卡(504或者506)。可选地,代码最初存在于卡(504或者506)的存储器30中。
方法500包括将用于特定的卡(504或者506)的特定的配置参数从模拟控制器502传送到卡(504或者506)。因此,每个卡(504或者506)可以具有其自己的特定的配置参数,该特定的配置参数在模拟控制器502中产生并存储。在特定的方面,传送特定的配置参数包括将广播消息从卡(504或者506)发送525到模拟控制器502,并在卡(504或者506)上接收526来自模拟控制器502的带有特定的配置参数的广播响应消息。
方法500包括在卡(502或者504)的存储器30中存储530接收到的特定的配置参数。
方法500包括通过卡(504或者506)的处理器20基于卡的特定的配置参数执行540配置代码。
执行配置代码包括基于卡的特定的配置参数来配置卡(504或者506)的可配置的输入/输出(I/O)单元40的多个输入端和输出端。
在特定的方面,配置可配置的I/O单元40的多个输入端和输出端包括执行输入端和输出端的网络配置。
在另一个特定的方面,可配置的I/O单元40与至少一个其他模拟组件交换数据。配置可配置的I/O单元40的多个输入端和输出端可以包括确定哪些输入端和输出端与至少一个其他模拟组件交换数据。至少一个其他模拟组件可以是另一个可配置的模块卡。例如,卡504和506可以通过它们各自的I/O单元40交换数据。可选地,至少一个其他模拟组件可以是由卡(502或者504)控制的专用硬件组件(图5中没有示出)。专用硬件组件可以是以下中的一个:传感器、显示器、灯、开关、机械致动器、气动执行器、液压致动器、电气元件等。
执行配置代码还包括基于卡的特定的配置参数来配置卡(504或者506)的电源60的多个电源电路。
在特定的方面,配置电源60的多个电源电路包括确定以下中的至少一个:由特定的电源电路提供到电子元件的特定电流强度和特定电压的电力。电子元件可以位于卡(504或者506)上或者位于由卡控制的专用硬件组件上。
方法500包括通过卡(504或者506)的处理器20执行550模拟代码以实现模拟器的功能。执行模拟代码以实现模拟器的功能可以包括以下中的至少一个:模拟显示器上显示的信息、模拟飞机的运动、模拟飞机的电子电路、模拟飞机的液压回路。通过处理器20执行的模拟代码还可以包括用于控制上述专用硬件组件的代码。
在特定的方面,几个可配置的模块卡(例如,504和506)从模拟控制器502接收用于配置它们各自的处理器20的特定的配置参数,以执行实现模拟器的特定功能的几个分布式的子功能的模拟代码。
卡(504或者506)的存储器30可以存储与模拟器的几个功能相对应的多个模拟代码。执行配置代码可以进一步包括基于卡的特定的配置参数,在存储在存储器30中的多个模拟代码之中确定由处理器20执行的模拟代码。
方法500包括通过卡(504或者506)的处理器20执行560测试代码。
执行测试代码包括生成测试信号到基于卡(504或者506)的特定的配置参数所配置的可配置的I/O单元40的多个输入端和输出端。
在特定的方面,生成到可配置的I/O单元40的多个输入端和输出端的测试信号允许验证输入端和输出端的网络配置。
在另一个方面,生成到可配置的I/O单元40的多个输入端和输出端的测试信号允许验证输入端和输出端与另一个模拟组件(例如,另一个可配置的模块卡或者专用硬件组件)的网络连接。
执行测试代码还包括生成测试信号到基于卡(504或者506)的特定的配置参数所配置的电源60的多个电源电路。
在特定的方面,生成到电源60的多个电源电路的测试信号允许验证电源电路工作于指定电压或者电流强度。
执行测试代码进一步包括监控模拟代码通过卡(504或者506)的处理器20的执行。
方法500可以包括通过卡(504或者506)的处理器20产生带有由卡的处理器20执行的测试代码的测试结果的测试通知565,其通过卡的可配置的I/O单元40被发送到模拟控制器502。
方法500还可以包括基于接收到的测试结果,在模拟控制器502处确定570用于多个可配置的模块卡中的至少一个(例如,504)的新的配置参数。新的配置参数被发送575到嵌入式(impacted)卡中的每一个(例如,504)。然后,每个嵌入式卡(例如,504)基于接收到的新的配置参数执行580其配置代码,并对自身进行重新配置。
方法500可以进一步包括通过从模拟控制器502接收测试请求来在卡(例如,504)上触发555测试代码的执行。
本公开已经介绍了包括多个可配置的模块卡的可配置的模拟器。这些卡的使用将极大的灵活性引入到模拟器的操作中。每个卡可被单独地配置(和重新配置),模拟器可以容易地被配置(重新配置)以适应卡的添加、卡的移除、卡的替换。模拟器也可以被重新配置以适应其中的一个或者几个卡出现故障。配置或者重新配置模拟器包括配置或者重配置其中的一个或者几个卡。因此,可以基于一组可配置的模块卡来设计完整的模拟器或者完整的模拟器的子系统。这一组可配置的模块卡被提供为具有通用硬件且没有初始的特定硬件和软件配置的一组通用卡。这一组可配置的模块卡随后如本公开所示被配置,以实现完整的模拟器的多个功能,或者,可选地,以实现完整的模拟器的子系统的特定功能。
尽管已经以其非限制性的、说明性的实施例的方式在上文中对本公开进行了描述,但是在不背离本公开的精神和实质的情况下,这些实施例可以在所附权利要求的范围内随意修改。

Claims (20)

1.一种用于执行分布式模拟的可配置的模拟器,包括:
至少一个模拟控制器,包括:
输入/输出单元,用于:
从多个可配置的模块卡接收广播消息,以及
将带有配置参数的广播响应消息发送给所述多个可配置的模块卡;
从所述多个可配置的模块卡中的一个可配置的模块卡接收带有测试结果的测试通知,以及
将带有重新配置参数的重新配置请求发送给所述多个可配置的模块卡中的至少一个可配置的模块卡;处理器,用于:
基于所述模拟器的预定义的配置来确定所述多个可配置的模块卡的配置参数;以及
基于之前确定的配置参数且基于所述测试结果来确定所述多个可配置的模块卡中的至少一个可配置的模块卡的所述重新配置参数;
所述多个可配置的模块卡,每个卡包括:
可配置的输入/输出单元,其包括可配置的多个输入端和输出端;
电源,其包括可配置的多个电源电路;以及
至少一个处理器,用于:
产生由所述可配置的输入/输出单元发送给所述模拟控制器的所述广播消息;
基于由所述可配置的输入/输出单元接收的所述广播响应消息,执行输入/输出配置代码以配置所述可配置的输入/输出单元的所述多个输入端和输出端;
基于由所述可配置的输入/输出单元接收的所述广播响应消息,执行电源配置代码以配置所述电源的所述多个电源电路;
基于由所述可配置的输入/输出单元接收的所述重新配置请求,执行所述输入/输出配置代码以重新配置所述可配置的输入/输出单元的所述多个输入端和输出端;
基于由所述可配置的输入/输出单元接收的所述重新配置请求,执行所述电源配置代码以重新配置所述电源的所述多个电源电路;以及
执行模拟代码以实现所述模拟器的功能,所执行的模拟代码基于以下中的一个来确定:由所述可配置的输入/输出单元接收的所述广播响应消息或者所述重新配置请求。
2.根据权利要求1所述的模拟器,其中,几个可配置的模块卡的处理器执行实现所述模拟器的特定功能的几个分布式的子功能的模拟代码。
3.根据权利要求1所述的模拟器,其中,配置所述可配置的输入/输出单元的所述多个输入端和输出端包括执行所述输入端和输出端的网络配置。
4.根据权利要求1所述的模拟器,其中,所述可配置的输入/输出单元与至少一个其他模拟组件交换数据。
5.根据权利要求4所述的模拟器,其中,配置所述可配置的输入/输出单元的所述多个输入端和输出端包括确定哪些输入端和输出端与至少一个其他模拟组件交换数据。
6.根据权利要求4所述的模拟器,其中,所述至少一个其他模拟组件是另一个可配置的模块卡。
7.根据权利要求4所述的模拟器,其中,所述至少一个其他模拟组件是由所述可配置的模块卡控制的专用硬件组件。
8.根据权利要求7所述的模拟器,其中,所述专用硬件组件是以下中的一种:传感器、显示器、灯、开关、机械致动器、气动执行器、液压致动器和电气元件。
9.根据权利要求7所述的模拟器,其中,通过所述可配置的模块卡的所述处理器执行的所述模拟代码包括用于控制所述专用硬件组件的代码。
10.根据权利要求1所述的模拟器,其中,执行所述模拟代码来实现所述模拟器的功能包括以下中的至少一个:处理由所述可配置的输入/输出单元接收的数据和产生由所述可配置的输入/输出单元发送的数据。
11.根据权利要求1所述的模拟器,其中,所述电源的特定的电源电路向所述卡的电子元件提供电力。
12.根据权利要求11所述的模拟器,其中,配置所述电源的所述多个电源电路包括确定以下中的至少一个:由所述特定的电源电路提供到所述电子元件的电力的特定的电流强度和特定的电压。
13.根据权利要求11所述的模拟器,其中,所述电子元件包括以下中的一个:所述卡的所述可配置的输入/输出单元、以及所述卡的所述至少一个处理器。
14.根据权利要求1所述的模拟器,其中,所述电源的特定的电源电路向另一个模拟组件的电子元件提供电力。
15.根据权利要求14所述的模拟器,其中,配置所述电源的所述多个电源电路包括确定以下中的至少一个:由所述特定的电源电路提供到所述电子元件的电力的特定的电流强度和特定的电压。
16.根据权利要求14所述的模拟器,其中,所述另一个模拟组件是另一个可配置的模块卡。
17.根据权利要求14所述的模拟器,其中,所述另一个模拟组件是由所述可配置的模块卡控制的专用硬件组件。
18.根据权利要求1所述的模拟器,其中,执行所述模拟代码来实现所述模拟器的功能包括以下中的至少一个:模拟显示器上显示的信息、模拟飞机的运动、模拟飞机的电子电路、模拟飞机的液压回路。
19.根据权利要求1所述的模拟器,其中,所述模拟器的功能包括几个子功能,并且配置所述可配置的输入/输出单元的所述多个输入端和输出端包括确定哪些输入端和输出端用于接收和发送与特定的子功能相关的数据。
20.根据权利要求1所述的模拟器,其中,所述模拟控制器是可配置的模块卡。
CN201480003111.6A 2014-03-26 2014-04-04 用于执行分布式模拟的可配置的模拟器 Active CN105102093B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/226,561 US8843660B1 (en) 2014-03-26 2014-03-26 Configurable simulator for performing a distributed simulation
US14/226,561 2014-03-26
PCT/CA2014/000323 WO2015143529A1 (en) 2014-03-26 2014-04-04 A configurable simulator for performing a distributed simulation

Publications (2)

Publication Number Publication Date
CN105102093A true CN105102093A (zh) 2015-11-25
CN105102093B CN105102093B (zh) 2017-04-12

Family

ID=51541682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480003111.6A Active CN105102093B (zh) 2014-03-26 2014-04-04 用于执行分布式模拟的可配置的模拟器

Country Status (8)

Country Link
US (1) US8843660B1 (zh)
EP (1) EP2939227B1 (zh)
JP (1) JP6091702B2 (zh)
KR (1) KR101552561B1 (zh)
CN (1) CN105102093B (zh)
CA (1) CA2888192C (zh)
TW (1) TWI676973B (zh)
WO (1) WO2015143529A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110462709A (zh) * 2017-02-15 2019-11-15 Cae有限公司 交互式计算机模拟系统中的虚拟模拟元素的可视化子系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114783B2 (en) 2014-03-26 2018-10-30 Cae Inc. Configurable input/output unit
CA2882009C (en) * 2014-03-26 2017-04-25 Cae Inc. Configurable input/output unit
US9640086B2 (en) * 2014-04-12 2017-05-02 The Boeing Company Voice communication system for simulated radio networks
CA2920981C (en) 2016-02-17 2018-05-01 Cae Inc A simulation server capable of creating events of a lesson plan based on simulation data statistics
US11462121B2 (en) * 2017-02-15 2022-10-04 Cae Inc. Visualizing sub-systems of a virtual simulated element in an interactive computer simulation system
JP6662489B2 (ja) * 2017-03-30 2020-03-11 東芝三菱電機産業システム株式会社 プレイバックシミュレーション試験システム
US10008031B1 (en) 2017-03-31 2018-06-26 Cae Inc. Heat rendering in an interactive computer simulation system
WO2018233891A1 (en) * 2017-06-23 2018-12-27 Robert Bosch Gmbh GRAPHIC USER INTERFACE TOOL FOR CONFIGURING AN INTRUSION DETECTION SYSTEM OF A VEHICLE
WO2021171300A1 (en) 2020-02-24 2021-09-02 Selec Controls Private Limited A modular and configurable electrical device group
US11682535B2 (en) 2021-03-12 2023-06-20 Essex Industries, Inc. Rocker switch
EP4309200A1 (en) 2021-03-15 2024-01-24 Essex Industries, Inc. Five-position switch

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111402A (en) * 1990-01-19 1992-05-05 Boeing Company Integrated aircraft test system
WO2000055697A1 (en) * 1999-03-15 2000-09-21 Siemens Energy & Automation, Inc. Programmable logic controller with short duration pulses detection capability
EP1571510A2 (en) * 2004-03-04 2005-09-07 Rockwell Automation Technologies, Inc. Intelligent self-determining I/O device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2175421B (en) * 1985-05-13 1989-11-29 Singer Link Miles Ltd Computing system
GB9418476D0 (en) * 1994-09-14 1994-11-02 Dunlop Ltd Sequential selective operation of aircraft brakes
US6232932B1 (en) * 1998-07-16 2001-05-15 Craig A. Thorner Apparatus and method for providing modular reconfigurable multi-function displays for computer simulations
US6269319B1 (en) * 1999-01-29 2001-07-31 The Mcdonnell Douglas Corporation Reconfigurable integration test station
US6270350B1 (en) * 1999-04-28 2001-08-07 I-Sim Corporation Reconfigurable hardware interface for vehicle driving simulators using a field-programmable gate array
JP2001034551A (ja) * 1999-07-22 2001-02-09 Takaoka Electric Mfg Co Ltd ネットワーク装置
JP2005532575A (ja) * 2000-09-08 2005-10-27 ハネウェル・インターナショナル・インコーポレーテッド パイロット向けインターネット実習システムおよび方法
JP2006311294A (ja) * 2005-04-28 2006-11-09 Matsushita Electric Ind Co Ltd 自動設定装置及びネットワーク対応装置のパラメータ設定方法
JP5342039B2 (ja) * 2011-06-15 2013-11-13 株式会社東芝 電子機器
JP2013093827A (ja) * 2011-10-06 2013-05-16 Kyoto Institute Of Technology 通信システム、通信装置、通信方法及び通信パラメータ決定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5111402A (en) * 1990-01-19 1992-05-05 Boeing Company Integrated aircraft test system
WO2000055697A1 (en) * 1999-03-15 2000-09-21 Siemens Energy & Automation, Inc. Programmable logic controller with short duration pulses detection capability
EP1571510A2 (en) * 2004-03-04 2005-09-07 Rockwell Automation Technologies, Inc. Intelligent self-determining I/O device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110462709A (zh) * 2017-02-15 2019-11-15 Cae有限公司 交互式计算机模拟系统中的虚拟模拟元素的可视化子系统

Also Published As

Publication number Publication date
EP2939227B1 (en) 2021-07-14
CN105102093B (zh) 2017-04-12
CA2888192A1 (en) 2015-09-26
CA2888192C (en) 2017-01-03
JP2016520863A (ja) 2016-07-14
EP2939227A1 (en) 2015-11-04
TWI676973B (zh) 2019-11-11
JP6091702B2 (ja) 2017-03-08
TW201539400A (zh) 2015-10-16
EP2939227A4 (en) 2016-03-09
KR101552561B1 (ko) 2015-09-11
US8843660B1 (en) 2014-09-23
WO2015143529A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
CN105102093A (zh) 用于执行分布式模拟的可配置的模拟器
CN105247594B (zh) 具有多个可配置模块卡的可配置模拟器
CA2946168C (en) A configurable simulator with testing capabilities
US10114783B2 (en) Configurable input/output unit
CN105102094B (zh) 在模拟器中使用的可配置的模块卡
CA2882009C (en) Configurable input/output unit
CA2888879C (en) A configurable modular card for use in a simulator
CA2887747C (en) A configurable simulator with a plurality of configurable modular cards
CN105116877A (zh) 供电控制管理处理机的测试系统及方法
CN115951146A (zh) 一种用于机电管理系统的通用座舱模拟平台
Boosnur et al. PXI-based specific-to-type test equipment for two-level testing of an airborne intelligent power management unit

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