模拟系统以及用于模拟和验证控制系统的计算机实施的方法

文档序号:6499469阅读:293来源:国知局
专利名称:模拟系统以及用于模拟和验证控制系统的计算机实施的方法
技术领域
本发明涉及用于计算机实施的模拟和验证正在开发中的控制系统的一种模拟系统以及用于模拟和验证正在开发中的控制系统的一种计算机实施的方法。更加具体地说,本发明涉及用于动态系统如汽车、飞机、轮船等及其一部分的控制系统的所谓快速原形设计(prototyping)。进而,本发明涉及具有计算机可读介质的计算机程序产品和利用程序代码装置存储在计算机可读介质上的计算机程序,当计算机程序在计算机上运行时程序代码装置适合于实现这样一种处理。
背景技术
在汽车工业、航空等行业中通常使用控制系统的快速原形设计,以便早期验证正在开发中的控制系统的正确功能和实时行为。与此类似,用于动态系统诸如汽车或它的零件的控制策略和算法可以在实际环境条件下进行测试,不需要存在控制循环的最终实施。
快速原形设计系统的通常的特征在于它是一个混合的硬件/软件系统,通常由下面的主要部件组成·一个模拟目标,由一个或几个具有对应的存储模块的模拟处理器组成,每个模拟处理器基本上运行正在开发中的控制系统的模型的一部分;·输入接口,由设备(正在控制的外部世界)反馈的信号组成;·输出接口,由提供设备的信号组成;和·通信接口,用于分别从一个主机(经常是个人计算机)向模拟目标下载模块,控制模拟实验(开始和停止命令等),测量和校准模块信号和参数。
图1表示从现有技术已知的模型水平的一个常规的模拟系统10。从技术角度看,已知的模拟系统10包括具有对应的存储模块的一个或多个模拟处理器,在模拟处理器上运行的是正在开发中的控制系统模型的几个部分12a、12b、12c(或者所谓的子模型)。模拟系统10进一步还包括一个输入接口13a和一个输出接口13b,用于与所谓的外部世界交换信号。最后,模拟系统10包括一个通信接口,分别用于从主机向模拟目标下载模块,控制模拟实验,测量和校准模块信号和参数。图1为模型水平的附图,而不是技术水平的附图。标号14是所谓的激励信号,在得不到任何物理输入信号的地方使用。与其分开的是后面针对图3描述的通信接口。如果期望的话,本发明的通信接口可能附加到图1结构中。
输入和输出接口的信号可以是模拟的(例如温度或压力传感器)或者是数字的(例如通信协议,如CAN)。在模拟实验内,使用快速原形设计系统作为控制回路的主要部分,就象控制器(电控单元)最后所作的那样。
快速原形设计实验的准备在一般情况下包括如下步骤1.例如借助于行为模型工具(如MATLAB/SimulinkI或者ASCET-SD2)或者通过手动,产生控制系统的数学模型;2.用某种高级编程语言(如C语言)手动变换(手工编码)或自动变换(代码产生)所说模型为程序代码;3.编译和链接程序代码为可执行码;4.从主机经过主机-目标通信接口下载可执行码到模拟目标;和5.启动并从主机经通信接口调用所说实验。
来自一个或几个来源(如行为模型工具,手写的C码)的几个模型部分(在下面称之为模块)经常相互接合在一起,从而可以构成一个完整的控制系统模型。经过连接输入和输出端口(在图1中描绘成圆圈)的信号,实现在各个模块12a、12b、12c之间以及在模块和输入或输出接口13a、13b(按类似的方式在下面被认为是模块)之间的通信。
按常规方式,这一通信是通过相互连接的端口分享完全相同的存储位置(相同的高级语言变量)实现的,在这里,一个模块将信号的当前值写入指定的存储位置,另一个模块则从这里进行读出。
为了实现所述的情况,需要完成所说模型到可执行码的转换,完成的方式取决于实际的相互连接方案,例如指定模块A的输出端口a与模型B的输入端口b相连。在此例中,两个端口a和b需要静态映射到模拟目标上的完全相同的存储位置,以便可以进行模块之间的通信。
利用这种常规的静态相互连接的方式,信号与端口以不可分开的方式相互连接。在信号之间的一个或几个连接无论何时建立、修改或切断,都需要完成模型到代码的转换、编译和链接、可执行的下载、实验的建立和调用的整个过程。对于真实世界的模型,这个过程是非常耗费时间的,可能要花费几十分钟,或者甚至于更长。尤其是当校正不可避免地要产生的故障连接时,当前的周转时间太大。进而,实验一旦下载和开始,连接就不得有任何改变、增加、或删除。
如以前所述的,控制系统的快速原形设计通常用于汽车、航空等行业,用于正在开发中的控制系统的正确功能和实时行为的早期验证。与此类似,可以在真实世界条件下测试动态系统如汽车或其零件的控制策略和算法,而不需要存在控制回路的最终实施方案。
在快速原形设计之后,对于控制系统的最终软件进行开发。其结果是所追求的电子控制单元可以执行的一个生产质量的软件。具体来说,这个阶段涉及的是编码所说的软件,在真实世界的条件下测试和观察它,并且校准它的参数,以便按照指定的要求调谐它的行为。后边两个步骤的基础是测量和校准(M&C)技术。
测量和校准技术可与主机/目标体系结构一起使用,在这里·主机在一般情况下是运行测量和校准工具的个人计算机;·目标在多数情况下是运行控制器的嵌入式计算机,例如·用于快速原形设计的专用实验硬件,或·用于软件开发的电控单元(ECU);和·主机和目标通过专用的测量和校准通信接口相互连接。
在主机和目标当中,在分布式测量和校准系统中可以涉及几个例子。
测量和校准工具通常完成例如如下的任务·用控制系统软件测量变量的值,以图形仪器的形式(如范围、拨盘、仪表、或数字显示器)显示它们,并且在盘上记录它们;以及·通过以图形输入装置(如滑块、按钮、扳钮、曲线图和三维图、或数字显示)的形式显示参数值来校准这些参数值,如标量、数组、或内插图,并发送由用户产生的当前值的任何改变到控制系统软件。
测量和校准工具依靠一系列标准化的测量和校准接口,这些测量和校准接口或者是真的标准或者是事实上的标准,尤其是在汽车工业中。在汽车的硬件中,可以假定这些接口可用于快速原形设计或软件开发这二者之中,尤其是用于步骤A和步骤B的电控单元中。在这方面,用于快速原形设计的实验环境还被认为是测量和校准工具,当然,这种测量和校准工具有一定的限制或者说具有部分不同的功能。
测量和校准接口在主机上以及在目标上需要得到软件和硬件这两者的支持。这两者经过运行某个通信协议的某个物理相互连接彼此连接。在主机上的测量和校准工具在一般情况下使用软件驱动器来达到这项目的,而目标硬件运行专用的协议处理器。测量和校准协议的例子是CCP、XCP、KWP2000或INCA1、ASAP1b2/L11、和Distab1协议。物理相互连接例如是CAN、ETK3、以太网、FlexRay、USB、K-Line、WLAN(IEEE802.11)或蓝牙。
为了开发嵌入式控制系统,经常使用行为模型工具,如ASCET4、MATLAB/Simulink5、Statemate MAGNUMTM6、和UML或SDL工具。这些工具在一般情况下提供某一图表用户接口,用于借助于块图、状态机、消息顺序图、流程图等描述控制系统的结构和行为。这样,就可以建立控制系统的一个数学模型。
注解1INCA,L1和Distab协议是属于ETAS GmbH(a Robert Bosch GmbH补充)的通信协议2ASAP1b通信协议已经由ASAM协会标准化3ETK是属于物理相互连接的ETAS4ASCET是ETAS GmbH的一个产品系列5MATLAB,Simulink,和Real-Time Workshop是Mathworks公司的注册商标6Statemate MAGNUMTM是I-Logix公司的注册商标一旦可以获得模型,就可以或者对于快速原形设计或者作为产品质量的电控单元软件,实现用某种高级编程语言(例如C语言)并且最终用可执行程序将模型自动转换(代码产生)成程序代码。
作为测试和调试控制系统软件或者模型本身的常规方法,许多模型工具在模型的模拟或执行期间通过可视化其行为,例如通过下述方式提供用于直观显示((animation))模型的装置·在信号线顶部显示当前的信号值;·在图形仪器上显示当前的信号值;·直接在模拟环境内加亮有效的和以前有效的状态机的状态。
像这样,不需要任何单独的实验环境。某些工具提供经过模拟环境直接校准参数值的可能性,其中使用了模型工具的正常的用户接口。
至于今天,模型直观显示和模型内的校准的常规的处理方案只在实验硬件上可以利用,例如在同时运行(离线模拟)模型工具和实验这两者的个人计算机上利用或者与专用的快速原形设计硬件一起利用(在线模拟)。此外,使用专有的通信协议,例如MATLAB/Simulink的外部模式协议或者ASCET的L1协议。
在图6中表示出了以上所述的这种常规的处理方案。
通常,快速原形设计系统的特征在于它是一个混合的硬件/软件系统,在一般情况下由以下的主要部件组成·模拟目标,由具有相应的存储模块的一个或几个模拟处理器构成,每个处理器基本上运行正在开发中的控制系统的模型或程序代码的一个部分;·输入接口,由设备(受控制的外部环境)提供的信号组成;·输出接口,由提供设备的信号组成;以及·通信接口,分别用于从主机(经常是个人计算机)向模拟目标下载控制程序,控制模拟实验(启动和停止命令等),测量和校准信号和参数。
输入和输出接口的信号可以是模拟的(如温度或压力传感器),或者是数字的(例如通信协议,如CAN)。在模拟实验内,使用快速原形设计系统作为控制回路的主要部分,就象控制器(电控单元)最终要实现的方式那样。
在模拟目标上的控制系统代码通常在操作系统OS上运行,尤其是在实时操作系统(RT-OS7)上运行,提供并控制应用程序的实时行为。为此,在与平台软件的其余部分协同动作中,实时操作系统在一般情况下例如完成如下的任务调度、资源管理、I/O管理、或通信和网络管理。在汽车工业中,主要使用OSEK/VDX8顺应操作系统,如ERCOSEK9。
在图8中表示出这样一个系统。其中例如描述了微控制器硬件(μController Hardware)83、具有平台软件的高速装入器84a的实时操作系统84、诊断装置84b、通信和网络管理装置84c、调度器84d、和硬件抽象层84e。用标号85表示实时操作系统84和微控制器硬件83之间的接口。用接口86将包含模块87a、87b、和87c的应用程序软件连接到实时操作系统84。
应用程序通常分割为一系列任务(如OSEK/VDX)、线程、或过程,它们当中的每一个都有相关的优先权、调度模式、执行周期和偏差、中断源、完成的死期等。按照这些数据,实时操作系统的调度程序分配、调用、和控制这些任务,以便提供期望的实时行为。
注解7OS操作系统8OSEK/VDX用于实时操作系统的汽车标准9ERCOSEK是ETAS GmbH(Robert Bosch GmbH的补充)的一种产品用于嵌入式控制的许多控制系统,特别是OSEK/VDX顺应控制系统,都是静态配置的。这就意味着,操作系统的配置是借助于由某种操作系统配置器的实用性产生的C码产生的。这样的操作系统配置器将某种指定的操作系统规范(如对于OSEK/VDX的OIL10描述)转换成代表操作系统内部数据结构和功能的C码,例如,由调度程序调用的包含功能指针的任务载体和任务表、中断掩码和处理器、优先权调度和任务的FIFO11队列、定时器、或堆栈。
与动态可配置的操作系统不同,静态可配置的操作系统在一般情况下要求所有的配置都是在编译时间通过静态存储分配和初始化进行的,从而可以在计算速度和存储消费方面得到较好的实时性能。另一方面,与动态可配置的操作系统相比,静态操作系统配置在运行时不作任何修改。但是,即使是动态可配置的操作系统通常也只在系统启动时由应用程序本身配置一次,而不是在运行时间进行配置。在这种正常情况下,操作系统的配置或者是通过手工编码进行的,或者是从操作系统的规范产生代码。快速原形设计实验的准备通常包括如下步骤1、用某种高级编程语言(如,C语言)手动实现(手动编码)或(从某种数学模型)自动代码产生所说控制系统的程序代码;2、产生操作系统规范,手动产生或者由某种文本或图形的应用所支持;3、借助于代码产生配置实时操作系统;4、将程序代码与实时操作系统以及它的配置一起编译和链接成可执行码;5、从主机经主机-目标通信接口下载可执行码到模拟目标;6、从主机经所说通信接口建立并调用实验。
注解10OILOSEK/VDX的实施语言;11FIFO先进先出如以上所述,对于这个常规的操作系统的配置方案,一旦已经建立了可执行码,实时行为就不可能再有任何改变。程序代码和实时操作系统以不可分割的方式相互关联。无论何时,控制系统的一个或多个实时性质发生了变化,都需要完成操作系统规范、经过代码产生的配置、编译和链接、可执行的下载、实验的建立和调用的整个过程。对于真实世界的控制系统,这个过程是极其耗费时间的,可能要花费几十分钟或者甚至于更长。尤其是当校正不可避免要产生的故障操作系统的设定值时,当前的周转时间太长。此外,一旦实验已经下载并且开始,实时行为就不可能再有任何一点改变。
据我们所知,直到今天的常规处理方案都是由快速原形设计系统使用的,例如ETAS GmbH(ASCET-SD产品系列)的系统,Mathworks公司(MATLAB/Simulink,Real Time Workshop,xPC Target)生产,还可能有其它的公司。
在图2a中可以观察到从现有技术中可知的这样一种静态相互连接。图2a表示第一模块12d和第二模块12e,它们共享存储在静态存储位置81的一个变量。

发明内容
因此,本发明的一个目的是提供至今碰到的静态连接的更加灵活的相互连接,以使已经完成的模拟能够很容易地校正、截取、或改变。本发明的另一个目的是改进模拟系统的单个部件之间的通信以及模拟模型的单个模块之间的通信,以便提供运输工具的控制系统的快速原形设计。
这些目的是通过提出一种模拟系统以及用于模拟和验证具有对应的独立权利要求的特征的控制系统的一种计算机实现的方法。
本发明的优点与按照以上所述的现有技术的处理方案相比,本发明的动态相互连接处理方案不依赖相互连接方案的特定的模型到代码的转换。相反,这种转换完全独立于正在使用的实际的模块相互连接。而是以显式方式使用不同的存储位置代替共享的存储位置以及当需要时还要从一个存储位置向另一个存储位置拷贝或复制信号值来完成模块之间的通信。
有益地,提供用于计算机实施的模拟和验证正在开发中的控制系统的模拟系统,所说模拟系统包括一个主机-目标体系结构,其中,通过主机并经过专用于目标的操作系统的应用程序编程接口,重新配置代表控制系统的至少一部分的目标的操作系统。借助于这样一种模拟系统和计算机程序用于模拟和验证正在开发中的控制系统的计算机实施的方法也是本发明的一部分,所说计算机程序具有程序编码装置,当计算机程序在计算机上运行时和具有计算机可读的介质(如RAM、DVD、CD-ROM、ROM、EPROM、EPROM、EEPROM、闪存等)的计算机程序产品和存储在计算机可读介质上的对应的计算机程序也在计算机上运行的时候,所说程序编码装置适合于实现这种方法。
在这种模拟系统中,操作系统是实时操作系统,在向目标下载了一个可执行软件以后,要重新配置操作系统,以便可以确定或改变目标的软件的实时行为。
有益地,使用操作系统的应用程序编程接口,或者使用第二个可配置的应用程序编程接口来代替操作系统的应用程序编程接口。
这样一种模拟系统,其中的主机包含至少一个模拟工具并且在控制系统的目标软件上执行所说工具,其中使用一个目标服务器,以连接模拟工具与目标,目标服务器包含用于与目标通信的通信协议的协议驱动器。
根据权利要求4所述的模拟系统,其中至少某些模块是动态可配置的,用于经过不同的存储位置进行通信。
在一个附加的实施例中,所示的模拟系统包括具有对应的存储器和接口模块的多个模拟过程,这些模块包括不同的用于模块间通信的存储位置,并且其中通过运行一个控制系统模拟模型来实现模拟,所说的模拟模型包括一系列子模型,它们分别在多个模块之一上实现,其中至少某些模块是动态可配置的,用于经过不同的存储位置进行通信。
用于计算机实施的模拟和验证正在开发中的控制系统的模拟系统的主机也是本发明的一部分,所说模拟系统包括主机-目标体系结构,其中,通过主机并经过专用于目标的操作系统的应用程序编程接口来重新配置代表控制系统的至少一部分的目标的操作系统。
由于相互连接方案不是由仅仅可执行的模拟反映出来,因此需要以不同的方式将其传送到模拟目标。这是在已经下载了可执行的之后的实验建立期间通过动态建立实际的模块相互连接并且经过主机-目标通信接口实现的。
按照对应的相互连接方案实现信号值的交换。如同静态存储分配方案一样需要有关明显命名惯例或同类的东西。相反,通过从与输出端口有关的存储位置明显读出所说信号值然后将所说信号值复制到对应于相关输入端口的任何存储位置,将指定信号的当前值从输出端口分配到任何与之相连的输入端口。
这种处理方案的主要优点(在本说明书中将要详细描述这些优点)是·改变操作系统规范后的周转时间明显减小,这是因为不必重复如下所述的操作系统配置的耗费时间的过程代码产生、编译和链接、和可执行的下载。这将强烈地支持快速原形设计的实际应用。
·即使在运行实验期间也能建立、修改、或删除操作系统目标,例如任务、过程、应用模式、报警、事件、或消息,在这当中没有可感觉到的延迟。这将允许出现全新的使用情况,例如以下所述的情况(得到了某种操作系统监视应用的最好支持,测量处理器负荷、任务抖动、总的和净的运行时间、违反最终期限等,或者甚至于显示图形跟踪信息,例如以甘特图的形式显示)·在空中校正故障设定值,甚至于不要中断实验;·在连续地建立最终的实时行为的同时,通过使整个控制系统的各个部分一点一点地投入操作,逐渐地建立实验;·按照控制系统的需要反复地调节任务周期、偏差、和最终期限;·通过将任务移入休闲阶段,拉平处理器负荷;·通过试凑法的重新配置,识别稳定的和功能校正的行为的可允许值的范围;·在计算加强应用的情况下,通过“切断”当前非必要的功能来平衡负荷;·通过在空中产生和激励任务自发地触发部分控制系统;·通过掩蔽或抑制相应的任务或过程,使控制系统的一些部分去激励;·将一个过程从内部调用切换到真实世界的输入中断,如曲轴同步信号,并且切换回来;或·通过交替地允许和禁止模块的对应的控制系统部分,比较并行运行的相同模块的一系列实施变量;·由于不需要重复如以下所述的耗费时间的过程模型到代码的转换、编译和链接、以及可执行的下载,所以明显减小了改变相互连接方案后的周转时间。这强烈地支持了快速原形设计的实际应用;·即使在运行实验期间,也可以建立、修改、或删除信号连接端口,没有可以感觉到的延迟。这将允许如以下所述的应用的全新可能性·在空中校正故障连接,甚至于不要中断实验;
·在连续地建立最终的相互连接方案的同时,通过一点一点地使整个模型的各个部分进入操作状态,逐渐地建立实验;·通过建立到输入端口的连接自发地模拟该模块;·将输入端口从预定的激励模块切换到真实世界的输入信号;·通过交替地切换模块的输出到所说设备,比较并行运行的相同模块的一系列实施变量,或·将输入或输出虚拟地在工具水平上交换到快速原形设计系统,而不是在物理电缆连接内首先拉出而后再插入。
因此,按照本发明,运行一个模拟模型,以便模拟和验证在开发期间的控制系统,模拟模型包括一系列子模型,这些子模型在模拟系统的相同的或不同的节点(处理器)上运行。在模拟模型的对应的模块和模拟系统之间的通信是经过不同的并且是分开的存储位置完成的,这些模块是动态相互连接的。
在本发明的优选实施例中,借助于纵横开关一致地复制数据和/或信号。优选地,这种复制是在实时条件下实现的。
在本发明的另一个实施例中,各个模块经过相互连接节点自动连接并且复制数据。
在实时情况或条件下数据的一致复制可经过通信变量进行。如以上所述的纵横开关提供用于在达到一致状态后一致复制输出信号值到通信变量的装置。纵横开关提供在对应的模块继续进行计算之前用于一致地传送这些值到所连接的输入信号上的装置。根据模拟系统的对应的实时体系结构和/或实时操作系统的建立,通过精细的复制过程、阻塞中断等可实现一致的复制机制。在由对应的实时环境设定值确定的某些情况下,信号变量或者通信变量可以是已废弃的,然后对其进行优化,以便得到较好的性能。
按照本发明的一个可替换的实施例,一种分布式处理方案可以用于模块相互连接的动态重新配置代替如以上所述的集中式处理方案。在这个可替换的实施例中,端口本身可以连接到它们对应的配对对象,并且负责信号值的复制。
本发明还覆盖具有程序代码装置的计算机程序,程序代码装置当计算机程序在计算机上运行时适合于实现按照本发明的以上所述的过程。计算机程序本身以及在计算机可读介质上存储的计算机程序是要求保护的对象。
从说明书和附图,本发明的另外的特征和实施例将变得显而易见。
应该理解,不仅可以在规定的组合中而且还可以在其它的组合中或者在其本身中使用上述的特征以及下面将要描述的特征,这样作不会偏离本发明的范围。
在附图中借助于实施例并且通过实例示意地描述了本发明,下面将要参照附图详细说明本发明。应该理解,这种描述决不会限制本发明的范围,并且只是本发明的优选实施例的说明。


在附图中,图1是在现有技术以及本发明的模型级别的模拟系统的示意方块图;图2a是现有技术的静态相互连接的示意图;图2b是按照本发明的动态相互连接的优选实施例;图3是按照本发明的使用按照图2b的动态相互连接的模拟系统的优选实施例;图4是按照本发明在实时情况下经过通信变量的协调复制的一个例子;图5是按照本发明的相互连接方案的一个可替换实施例;图6表示模型直观显示和模型内校准的体系结构;图7是本发明的模型直观显示和利用目标服务器的模型内校准的处理方案的一个例子;图8描述具有应用程序和平台软件的实时操作系统的相互作用;图9由图9a和图9b组成,描述了在实时操作系统(RT-OS)重新配置之前(9a)和之后(9b)的一个任务调度甘特图;图10表示实时操作系统(RT-OS)重新配置的体系结构。
具体实施例方式
按照本发明并且与如以上参照图2a描述的从现有技术已知的静态连接相对照,提供一种经过不同的存储位置的动态相互连接处理方案。在图2b中可以观察到按照本发明的动态相互连接的原理,其中,借助于动态复制20在第二模块2e的一个不同的存储位置复制第一模块2d的数据81a由此作为数据81a’。
可以设想有几种基于动态重新配置处理方案的体系结构。参照附图3,下面描述按照本发明的模拟系统30的第一个例子,即所谓的集中式的处理方案。
集中式处理方案模拟系统30的主要组成部分是利用相互连接方案11的一个所谓的纵横开关10。模拟系统30进一步还包括多个模块2a、2b、2c、输入接口3a、输出接口3b、激励发生器模块4、以及实时操作系统7。
如由在图3中的双头箭头所形象化的,模拟系统30的所有部件都经过纵横开关彼此相互连接,其中的相互连接方案11确定了在模拟目标上模块的哪一个输入和输出端口彼此连接。相互连接方案对应于方块图中连接的总体性,其中的每个方块对应于集成在模拟目标30上模块之一。
相互连接方案11可以被认为是一个两维的开关矩阵,其中的两维代表模块的端口,矩阵的值确定对应的端口是否相互连接(以及可能的信号流动方向)。
模拟主机5经过主机-目标通信接口6与纵横开关10连接,并且构成了通向快速原形设计系统的人-机接口。
主机5允许相互连接方案的配置和重新配置,最好可以得到某个图形用户接口的支持。
主机-目标通信接口6连接模拟主机5与模拟目标30。在一般情况下,所说的接口基于某种有线的或者无线的连接(串行接口、以太网、蓝牙等)以及标准化的或专用的通信协议(如ASAP1b,L1)。所说的接口至少提供如下的功能·从主机5下载可执行模拟到模拟目标30;和·下载确定相互连接方案11的配置数据。
此外,所说接口提供的功能可以用于·控制实验,例如用于启动和停止模拟;·测量模型信号、相互连接信号、和输入及输出信号的值;·校准模型参数,等等。
纵横开关10在模拟目标上运行,并且·经过主机-目标通信接口6与模拟主机5相连;·与代表正在开发中的控制系统的模型部分或子模型的模块2a、2b、2c相连;·与代表到控制系统的设备的输入和输出接口的模块3a、3b相连;·与用作到模型的激励发生器的模块4相连;·最好与基于模拟实验的实时操作系统7相连。
在启动一个模拟实验之前,经过主机-目标通信接口6从主机5向纵横开关10内下载初始的相互连接方案11。
在运行实验期间,纵横开关10通过从输出端口向输入端口复制信号值在模块和部件之间实现实际的通信。完成这个复制过程的方式由相互连接方案11确定。
在中断以后,或者甚至于在运行模拟期间,可以重新配置相互连接方案11。于是,模块的相互连接可以在空中改变,而没有可感觉到的延迟。
现在参照附图4,其中说明了按照本发明的信号和/或数据传输的一个优选的替换方案。借助于动态复制40,可以对于第一模块2f的信号和/或数据值82a、82e在不同的存储位置分别作为通信变量82b、82f进行缓存。借助于另外的动态复制40,第二和第三模块2g、2h分别接收对应的信号和/或数据值82c、82g和82d、82h。
于是,可以保证在实时环境内的数据一致性。每个模块2f、2g、2h可以例如以不同的速率或者在中断触发时进行计算,并且借助于缓存当前信号值的通信变量82b、82f来完成数据复制40。于是,可以保证作为整体构成一个有效状态的几个输出信号的值能够一致地被复制,以使由这些输出信号反馈的模块本身可以依赖有效的状态。
如以上所述,纵横开关10提供·用于在达到一致状态后向通信变量一致复制输出信号的值的装置;·用于在对应的模块继续计算之前一致地传送这些值到所连接的输入信号的装置。
通过精细的(atomic)复制过程、阻塞中断等可以实现如以上所述的一致复制机制,这取决于所依据的实时体系结构和操作系统。
在由对应的实时环境设定值确定的某些情况下,信号变量或者通信变量可能过时,然后可以对所说的变量进行优化以便得到较高级的性能。
上述的动态重新配置处理方案可以通过信号调节装置进行扩充。为了实现这一扩充,在模块之间通信期间,在从源存储位置读出原始值之后,或者在向目标存储位置写入之前,都要以预先确定的方式影响每个信号值。
可能的信号调节操作是·实施公式自适应(例如比例或偏差的修改、饱和);或·基本的数学运算(例如,信号的和、差、乘积,利用内插、常数值的经查找表或特性曲线的映射)。
所用的这类运算以及对应的参数都被认为是相互连接方案的一部分。它们中的每一个都可以以动态的方式进行配置和重新配置,就象模块的相互连接一样。这种增强措施极大地扩大了动态重新配置处理方案的使用性。
现在参照附图5,图5描述的是模块相互连接的动态重新配置的分配式处理方案,使用分配式处理方案可以代替在目标上使用不同纵横开关部件的集中式处理方案。如果没有集中式部件复制信号值,端口可将它们自己连接到它们对应的配对端口并且负责信号值复制。
例如,这可能通过使模块2j和2k的输入端口92a、92b和93b在连接时在模块2i的输出端口服务器91a、91b上记录它们本身来实现,每个服务器代表一个指定的输出端口。通信可以遵循拉出方法(输入端口询问信号值)或者推入方法(由输出端口调用的信号值的多点播送)来实现。于是,将数值复制的智能化分布在系统的各个部件上,而不是将其集中在中央纵横开关部件内。
用于快速原形设计和软件开发的通用模型直观显示和模型内的校准接口(图7)用于快速原形设计和软件开发的通用模型直观显示和模型内的校准接口,它使用具有主机-目标体系结构和对应的模拟系统和方法的测量和校准技术。
基本概念与在背景技术中描述过的方法对照,作为本发明的主题的通用模型直观显示和模型内的校准接口不依靠专用的模拟、或快速原形设计硬件、或专用的通信协议。相反,使用的是标准的测量和校准技术。
如以上所述,本处理方案的主要优点是·由于这种方法基于标准的解决方案,所以可以认为以测量和校准技术形式出现的所需的接口可以用在相关的硬件和软件中;·不需要向目标硬件和物理相互连接的每种组合转送任何软件,否则要花费巨大的努力;·在离线或在线实验期间以及在电控单元操作期间,对于模型直观显示和模型内的校准可使用同一个模型工具接口;·由于不需要附加的专用协议处理器,所以在目标硬件上既没有存储开销又没有运行时间开销;·由于不运行任何附加的专用协议,所以在物理相互连接上没有任何带宽开销;·由于对于通信来说不需要后台处理任务或类似任务,所以在目标硬件上模型的运行时间行为不受影响;·因此,尤其是,按理想的方式支持了电控单元(通常提供极低的存储资源和运行时间资源,并且本质上以大量的硬件和接口变量支持测量和校准技术);·支持记录和重放的离线调试功能;·对于通用模型直观显示,这些标准接口可用于控制系统软件的直观显示,或者用于控制系统的模型的直观显示,或者用于可视化控制系统的行为;·对于模型内的校准,这些标准接口用于在控制系统的模型内校准控制系统软件的参数;·对于记录和重放,这些标准接口用于在主机上记录测量数据,以便后来向用于直观显示和可视化的模拟工具透明重放记录的测量数据;·在大多数相关的硬件系统(目标、主机、和它们之间的相互连接的组合)上,使用标准接口是可能的,因此,不需要对于软件的自适应或进出端口作出任何附加的努力;·对于在主机上的模拟或者快速原形设计以及对于电控单元的操作,可以使用相同的标准接口;
·由于使用可以得到的标准接口,所以可以避免存储、运行时间、和带宽的开销。
离线调试装置,例如在线实验期间的离线调试装置,首先将测量数据记录到主机的存储器或硬盘上。在此之后,以离线模式向模拟工具重放所说数据,模仿先前连接的快速原形设计硬件或者运行中的电控单元。这可以对于模拟工具完全透明地实现。此外,这种方法允许的公共调试特征是由所用的模拟工具支持的单步执行和模型断点。
在图7中,示出了模型工具70a、70b和任选的测量和校准工具71。在这些模型工具70a、70b、任选的测量和校准工具71和目标80之间定位一个模型直观显示接口72。具有协议驱动器74(例如CCP74a、XCP74b、KWP2000 74c、INCA74d、ASAP74c、Distab74f、usw)的目标服务器73或类似物与物理相互连接75相连。在目标80中的标准测量和校准接口76将这个物理相互连接75连接到模型77a、77b。在作为正在开发中的控制系统的至少一部分的目标或目标处理器上,执行应用程序SW。这个体系结构是本发明的模拟系统的一个实例。可以设想出基于通用模型直观显示和模型内的校准处理方案的几种体系结构。作为一个例子,在下面将要描述基于这种目标服务器的处理方案。它的主要部件是在主机计算机上运行的并且在主机的模拟工具和目标的硬件之间建立桥梁的目标服务器。
作为与一个物理相互连接相连的单个目标的替换方案,可以设想出经过各种各样的通信信道连接的几个不同的硬件目标,它们构成了一个分布式系统。进而,每个模型工具都可以用于在某个时间对在目标上的任何数目的模型的直观显示和校准。
功能目标服务器目标服务器是通用模型直观显示和模型内的校准处理方案的中心部件。它的作用是目标硬件和通信抽象的作用。目标服务器的主要任务是以透明的方式连接模拟工具与目标硬件的测量和校准接口。
照此,模拟工具不需要知道用作目标的相应硬件,或者不需要知道用作主机/目标接口的通信协议或物理相互连接。为此目的,目标服务器可以包含用于每个得到支持的通信协议的一个专用的协议驱动器或类似的驱动器,以便实现从与通信有关的模型直观显示到测量和校准特定协议的编译。
目标服务器的另一个任务是将测量数据记录在主机的存储器或硬盘上,以便在后来的离线调试重放中使用所说的数据。
模型工具模型工具经过它的模型直观显示接口访问目标服务器。照此,模型直观显示所需的数据就从目标传送到模拟工具。进而,沿另外一个方向,从模拟工具向目标硬件传送校准的数据。
一旦使用目标服务器进行目标访问而不是专用的通信协议,就可以在模拟工具内得到基本模型直观显示和模型内的校准。对于先进的记录和重放特征,例如单步调试和模型断点,认为模型工具可以提供附加的功能。
测量和校准(M&C)工具测量和校准工具可以与模拟工具并行地运行,其中要使用完全相同的测量和校准接口以及通信信道。然而,这不是通用模型直观显示和模型内的校准的先决条件,而是为了说明常规的测量和校准处理方案进行的描述。
在多个工具(模型工具或测量和校准工具)试图同时校准一个相同的参数组的情况下,则必须使用仲裁方案来获得安全和数据一致性。这个仲裁方案例如可以使用一个或多个下面的技术·例如,通过使用只读参数,锁定除用于校准指定的参数组(主/从原理)的一个工具以外全部工具;·在校准指定组的参数后,通知所有的另外的工具;或·通过所有受到影响的工具并且经过周期性地测量指定的参数组进行参数更新(轮询)。
应用程序软件在目标上运行的应用程序软件主要由模型代码、调用模型代码的实时操作系统或调度程序、允许模型输入和输出的硬件和通信驱动器、等组成。
从模拟的模型产生的代码按照模型规定的行为完成计算。通过标准的测量和校准接口访问(读出和写入)代码中的数据结构,以便分别完成常规的测量和校准或模型直观显示和模型内的校准。
标准的测量和校准接口在目标上的标准测量和校准接口构成了应用程序软件和目标服务器之间的链接。标准测量和校准接口访问模型数据以便进行测量和校准,并且经过物理相互连接与主机相连。
·对于测量,测量和校准接口从应用程序软件读出数据,并且通过测量和校准协议将所说数据传送到目标服务器,目标服务器将所说数据传递到模拟工具和测量和校准工具(如果可以应用的话);·对于校准,模拟工具或测量和校准工具经过目标服务器和测量和校准协议将新的参数值发送到测量和校准接口,测量和校准接口在目标上用应用程序软件更新这些参数值。
作为标准的测量和校准接口,例如根据CAN、以太网、FlexRay、USB、或者K-Line,可以使用CCP、XCP、KWP2000、INCA、或ASAP1b协议作为物理相互连接。
替换方案分散式处理方案如果不使用集中式的目标服务器部件,每个模型以及测量和校准工具可以自动地引入主机一侧的测量和校准接口自适应。照此,还可以维持从目标硬件的提取,同时可以将从通信信道的提取传送到所涉及的工具。
出于这个理由,目标访问可能不太透明,并且所支持的测量和校准接口的数目可能较小。此外,支持记录和重放离线调试的成本可能更高。另一方面,另外不是所有的模型与测量和校准接口都需要满足目标服务器部件的一个相同的接口。
测量和校准工具接口处理方案如果不让模拟工具直接访问目标服务器,则可以使用一个测量和校准工具作为中间工具。为此,模型直观显示接口可能不包含在目标服务器中,而是包含在测量和校准工具中,例如在用于快速原形设计的一个实验环境中。模拟工具随后可以连接到这个接口上。
这种处理方案可能更容易对校准仲裁提供支持,这是因为·在校准相同组参数过程中,通常只有测量和校准工具与单个模拟工具竞争;和·测量和校准工具可以从模拟工具接收校准命令,为其自己使用中断所说校准命令(更新显示值、数据存储等),并且将这些命令传送到目标服务器以便进行实际的校准过程。
实时操作系统在快速原形设计上的动态重新配置(图9和10)基本概念与上述的处理方案对照,作为本发明的主题的动态重新配置处理方案不依赖借助于代码产生或手动编码的OS(操作系统)配置。相反,配置和积分过程与所用的实际操作系统规范完全无关。而且,在实时操作系统和应用程序之间的关联性是通过在下载后配置操作系统并且在如图9所示的运行时间之前或者甚至于就在运行时间正确组装操作系统与应用程序而产生的。要说明的是,这种处理方案解决了静态的以及动态的可配置的实时操作系统这两者的问题。
由于操作系统规范不只受可执行模拟的影响,所说规范需要以不同的方式传送到模拟目标。这是在实验建立期间并且在已经下载了可执行的以后,通过动态地和外部建立的实际操作系统尤其是实时操作系统的配置,并且经过主机-目标通信接口实现的。根据基本的操作系统的能力,甚至于在实验的运行期间也可以发生动态操作系统重新配置。在图9a和9b中,这是由任务Tbg、T1、T2、T3表示的,它们的程序P1、P2、P3、P4、P5、P6是随时间t(0-100时间单位)变化的。通过比较图9a和9b中程序和它们的位置以及中断行为,在此例中的重新配置过程是显而易见的。
对于动态可配置的操作系统,这是经过现有的操作系统API实现的。估计可能不需要任何修改。静态可配置的操作系统在一般情况下需要利用操作系统重新配置ASI进行扩充,以便至少在操作系统启动期间或者在操作系统建立期间以及在它关断之后是可以访问的。这可能意味着,操作系统内部数据结构的分配和初始化要从静态转变到动态。
在下面,为简单起见,使用典型形式的ERCOSEK操作系统(对于本发明应用到不同的实时操作系统不含限制)。ERCOSEK支持的任务包含作为调度程序实体并且同时可以协同动作和优先调度的过程(空白/空白C的功能)。
假定以下面的操作系统目标的形式出现的具体的实时性质已经变为动态重新配置的对象(以下的列举被认为是不完整的)·任务的种类(由软件调用的或者在应用模式初始化时的周期,ISR);·任务优先级和调度模式(协同动作、优先、或非优先);·任务周期和偏差;·任务的最终期限和最大的激励数;·任务的内容任务内的过程和它们的顺序;·操作系统的应用模式;·资源、报警、和计数器;·输入/输出的配置(驱动器、硬件、提取层等)以及网络管理;·事件和通信消息;以及·它们的关联性。
这种处理方案的主要优点是·由于操作系统配置不必重复经过代码产生、编译和链接、以及可执行下载的耗费时间的过程,所以在改变操作系统规范之后的周转时间次数明显减小。这强烈地支持快速原形设计的实际应用;·即使在运行实验期间,也能建立、修改、或删除操作系统的目标,如任务、过程、应用模式、报警、事件、或消息,没有可感觉到的延迟。这将允许出现如以下所述的全新的使用情况(得到了某种操作系统监视应用的最好支持,测量处理器负荷、任务抖动、总的和净的运行时间、违反最终期限等,或者甚至于显示图形跟踪信息,例如以甘特图的形式显示)·在空中校正故障设定值,甚至于不要中断实验;·在连续地建立最终的实时行为的同时,通过使整个控制系统的各个部分一点一点地投入操作,逐渐地建立实验;·按照控制系统的需要反复地调节任务周期、偏差、和最终期限;·通过将任务移入休闲阶段,拉平处理器负荷;·通过试凑法的重新配置,识别稳定的和功能校正的行为的可允许值的范围;·在计算加强应用的情况下,通过“切断”当前非必要的功能来平衡负荷;·通过在空中产生和激励任务自发地触发部分控制系统;·通过掩蔽或抑制相应的任务或过程,使控制系统的一些部分去激励;·将一个过程从内部调用切换到真实世界的输入中断,如曲轴同步信号,并且切换回来;或·通过交替地允许和禁止模块的对应的控制系统部分,比较并行运行的相同模块的一系列实施变量。
体系结构可以设想出基于动态重新配置处理方案的几种体系结构。作为一个例子,在下面描述一种基于静态可配置的OSEK/VDX顺应实时操作系统的处理方案。它的主要部件是在模拟目标上运行的实时操作系统,它利用重新配置API(应用程序编程接口)进行补充。
在图10中表示出这样一个系统。图10例如描述了一个微控制器硬件(μController Hardware)93、具有平台软件的实时操作系统94,所说平台软件例如包含快速装载器94a、诊断装置94b、通信和网络管理94c、调度程序94d、和硬件提取层94e。利用标号95表示实时操作系统94和微控制器硬件93之间的接口。利用接口96将包含模块97a、97b、和97c的应用程序软件99连接到实时操作系统94。使用API(应用程序编程接口)102并且经过通信接口100(例如如图7所示)将主机101连接到目标上,尤其是连接到实时操作系统上。这可能是实时操作系统的API(应用程序编程接口),而不是重新配置的API。
功能实时操作系统实时操作系统管理模拟目标的资源并且完成应用程序的实时调度。在下载控制系统的可执行的到模拟目标以后,可以改变它的配置。因此,认为内部操作系统的数据结构是经过动态分配和初始化的,从而可以在运行时扩充或修改它们。数据结构的实际实施方案强烈地依赖对应的实时操作系统。
与实时操作系统连接的是·模拟目标硬件,它们借助于硬件服务和资源进行连接;·构成控制系统的程序代码的应用程序软件,它由一系列模块组成;·重新配置API。
模拟主机模拟主机构成到快速原形设计系统的人-机接口。模拟主机经过主机-目标通信接口与模拟目标连接。主机允许配置和重新配置实时操作系统,很可能得到了某种图形用户接口的支持。
主机-目标通信接口主机-目标通信接口连接模拟主机与模拟目标。在一般情况下,这种连接是基于某种有线的或无线的连接(串行接口、以太网、蓝牙等)以及标准的或专用的通信协议(如ASAP1b12、L113)。主机-目标通信接口至少提供如下的功能·从主机下载模拟可执行的到模拟目标;和·下载用于确定实时操作系统的行为的配置数据。
此外,主机-目标通信接口提供的功能用于·控制实验,如用于启动和停止模拟;·监视和跟踪实时操作系统和内部状态;或者·测量信号和校准控制系统的参数,等等。
操作系统重新配置的API操作系统重新配置的API在模拟目标上运行并且扩充实时操作系统,可从模拟可执行的外部访问重新配置功能。重新配置API经过主机-目标通信接口连接实时操作系统与模拟主机。
·在开始模拟实验之前,从主机经过主机-目标通信接口以及重新配置的API向实时操作系统内下载初始的操作系统配置;·在运行实验期间,实时操作系统通常完成调度和资源管理。通过操作系统配置确定这样做的方式;·在中断之后,或者甚至于在运行模拟期间,重新配置所说的实时操作系统。借此,可以在空中改变操作系统的设定,没有可感觉到的延迟。
注解12ASAP1b通信协议已经由ASAM协会标准化13L1通信协议专用于ETAS GmbH本发明的优点和最重要的特征
1、实时操作系统的动态重新配置允许在建立和下载其可执行的到目标后确定和改变控制系统软件的实时行为;2、在控制系统软件运行时间之前或者甚至于在所说软件运行时间,可正确地重新配置所说的实时行为;3、从目标外部产生动态重新配置,动态重新配置是经过主机和目标之间的某种相互连接实现的;4、在操作系统配置期间的灵活性有相当大的增加;5、在改变操作系统规范之后的周转时间明显减小。
替换方案动态可配置的操作系统的重新配置对于动态可配置的实时操作系统,估计不需要重新配置的API,这是因为可以认为它的功能是现有的实时操作系统的API的一部分。在这种情况下,初始的实时操作系统的API只需要与主机-目标通信接口连接,以使模拟主机能够访问实时操作系统的API。
权利要求
1.一种用于计算机实施的模拟和验证正在开发中的控制系统的模拟系统,所说模拟系统包括一个主机-目标体系结构,其中,通过主机并经过专用于目标的操作系统的应用程序编程接口,重新配置代表控制系统的至少一部分的目标的操作系统。
2.根据权利要求1所述的模拟系统,其中操作系统是实时操作系统。
3.根据权利要求2所述的模拟系统,其中在向目标下载了可执行的软件后重新配置操作系统,以便确定或改变目标的软件的实时行为。
4.根据权利要求1所述的模拟系统,其中使用操作系统的应用程序编程接口。
5.根据权利要求1所述的模拟系统,其中使用第二可重新配置的应用程序编程接口来代替操作系统的应用程序编程接口。
6.根据权利要求1所述的模拟系统,其中主机包含至少一个模拟工具,并且在控制系统的目标软件上执行所说模拟工具。
7.根据权利要求6所述的模拟系统,包括一个目标服务器以连接模拟工具与目标。
8.根据权利要求7所述的模拟系统,借此,目标服务器包含通信协议的协议驱动器,用于与目标通信。
9.根据权利要求1所述的模拟系统,包括具有对应的存储器和接口模块的多个模拟过程,这些模块包括不同的存储位置,用于模块间的通信。
10.根据权利要求9所述的模拟系统,其中模拟是通过运行控制系统的模拟模型实现的,模拟模型包括多个子模型,子模型是分别在多个模块之一上实现的。
11.根据权利要求9所述的模拟系统,其中至少某些模块是可动态重新配置的,用于经过不同的存储位置进行通信。
12.一种用于计算机实施的模拟和验证正在开发中的控制系统的模拟系统的主机,所说模拟系统包括一个主机-目标体系结构,其中,通过主机并经过专用于目标的操作系统的应用程序编程接口,重新配置代表控制系统的至少一部分的目标的操作系统。
13.一种借助于按照权利要求1所述的模拟系统模拟和验证正在开发中的控制系统的计算机实施的方法。
14.一种具有程序编码装置的计算机程序,所说的程序编码装置适合于当计算机程序在计算机上运行时实施根据权利要求13所述的方法。
15.一种具有计算机可读介质和存储在所说计算机可读介质上的根据权利要求13所述的计算机程序的计算机程序产品。
全文摘要
一种用于计算机实施的模拟和验证正在开发中的控制系统的模拟系统和方法,所说模拟系统包括一个主机-目标体系结构,其中,通过主机并经过专用于目标的操作系统的应用程序编程接口,重新配置代表控制系统的至少一部分的目标的操作系统。
文档编号G06F11/36GK1879110SQ200480033145
公开日2006年12月13日 申请日期2004年11月10日 优先权日2003年11月10日
发明者K·斯特雷尔 申请人:罗伯特.博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1