在某些方面,模拟使用模型引用的模型与模拟不使用模型引用的独立模型有所不同。
模拟模型引用层次结构有一些限制。有关详细信息,请参见模拟的局限性和信号的局限性.
万博1manbetx®在模型引用层次结构中执行顶层模型的方式与在没有模型引用的情况下执行模型的方式相同。所有的Simul万博1manbetxink仿真模式均可用于顶级模型。要在模型引用层次结构中更快地执行顶级模型,可以使用Simulink加速器或快速加速器模式。万博1manbetx加速器模式的详细信息请参见加速度文档。有关快速加速器模式的信息,请参见利用RSim系统目标文件在上位机上对混合动态系统进行加速、优化和测试(万博1manbetx仿真软件编码器)。
当您在Simulink加速器或快速加速器模式下执行顶级模型时,所万博1manbetx有引用模型都在加速器模式下执行。
你可以在以下模式中模拟一个被引用的模型:
正常的
加速器
Software-in-the-loop(银)
Processor-in-the-loop(公益诉讼)
有关使用这些模拟模式作为参考模型的更多信息,请参见参考模型的仿真模式比较.
参考模型使用的仿真模式取决于父模型的仿真模式。有关详细信息,请参见父模型和参考模型仿真模式.
的模型块控制实例的模拟模式。设置或更改引用模型的模拟模式:
的块参数对话框模型块。
设置模拟模式参数。
点击好吧或应用.
您可以为模型引用层次结构中的顶级模型使用快速加速模式,但不能为被引用的模型使用。
参考模型的不同模拟模式共享许多功能和技术,但它们有不同的实现、需求和限制。
加速器模式执行的引用模型不同于:
一个独立或顶级模型的加速模式执行,如加速度.
快速加速器模式执行的独立或顶级模型,如所述利用RSim系统目标文件在上位机上对混合动态系统进行加速、优化和测试(万博1manbetx仿真软件编码器)。
有关所引用模型的加速器模式执行的详细信息,请参见模型参考仿真目标.
模拟模式 | 描述 | 什么时候使用 |
---|---|---|
正常的 | 解释性地执行引用的模型。 | 万博1manbetxSimulink解释性地执行一个普通模式引用的模型。与其他仿真模式相比,普通模式:
您可以对引用模型的多个实例使用普通模式。有关详细信息,请参见使用多个引用的模型实例来模拟模型. |
加速器 | 通过为被引用的模型创建一个mex -文件(模拟目标)来执行被引用的模型,然后运行mex -文件。 有关更多信息,请参见模型参考仿真目标. |
|
银 | 通过生成生产代码执行引用模型。此代码是为主机平台编译的,并在主机平台上执行。 需要嵌入编码器®软件有关更多信息,请参见SIL和PIL的限制(嵌入式编码)数值等价测试(嵌入式编码)。 |
SIL模式提供了一个方便的替代PIL模拟时,目标硬件是不可用的。 |
公益诉讼 | 通过生成生产代码执行引用模型。这段代码是为目标处理器或等效指令集模拟器交叉编译的,并在目标处理器或等效指令集模拟器上执行。 需要嵌入式编码器软件。有关更多信息,请参见SIL和PIL的限制(嵌入式编码)数值等价测试(嵌入式编码)。 |
|
给定模型在正常模式和加速模式下的仿真结果几乎相同。根据您使用的优化和库的不同,可能会出现微小的差异。
配置参数设置要求和行为可能因模拟模式而异。有关详细信息,请参见加速模拟和代码生成更改设置和加速模式下被忽略的诊断信息.
加速器模式下忽略诊断配置参数。对于在加速模式中引用的模型,如果您将这些配置参数设置设置为非加速模式的值,则Simul万博1manbetxink将忽略它们的值没有一个
:
数组边界超过(ArrayBoundsChecking
)
Inf或NaN块输出(SignalInfNanChecking
)
模拟范围检查(SignalRangeChecking
)
奇异矩阵除法(CheckMatrixSingularityMsg
)
包装上溢出(IntegerOverflowMsg
)
此外,对于在加速模式中引用的模型,当您将它们设置为非加速模式的值时,Simulink将忽略这些配置万博1manbetx参数禁用所有
.有关详细信息,请参见数据存储诊断.
写前检测读(ReadBeforeWriteMsg
)
读后检测写(WriteAfterReadMsg
)
写后检测写(WriteAfterWriteMsg
)
您可以使用Model Advisor来识别在加速模式中引用的模型,对于这些模型,Simulink会忽略这些配置参数。万博1manbetx
在Simuli万博1manbetxnk编辑器中,选择分析>模型的顾问.
选择按照任务.
运行检查在加速模型参考模拟期间忽略的诊断设置检查。
若要查看带有生成警告或错误设置的已识别诊断的运行结果,请在正常模式下模拟该模型。检查诊断警告,然后在加速模式下进行模拟。
可用于引用模型的仿真模式取决于其父模型的仿真模式。
母模型仿真模式 | 参考模型仿真模式 |
---|---|
正常的 |
|
加速器 |
|
银 |
|
公益诉讼 |
|
当您第一次模拟或执行构建Simulink加速器目标、快速加速器目标或引用模型仿真(SIM)目标的模型的更新图时,构建过程将创建一个Simulink缓存文件来存储构建工件。万博1manbetx使用缓存文件:
加快首次构建的速度,以便自己或他人以后使用。
避免在不使用支持占位符模型的变体的情况下为引用模型的子集重新构建成本。
加速并行模拟。
在每个平台上创建缓存文件后,在不同平台(例如UNIX和Windows)上使用相同的缓存文件。
避免手动更新与设置重建配置参数从来没有
.该设置阻止SIM目标的建立和缓存文件的更新。
有关详细信息,请参见重用模拟构建以实现更快的模拟.
您可以运行条件引用模型的独立模拟。独立模拟对于单元测试很有用,因为它在数据类型、维度和示例时间方面提供了跨模拟的一致数据。使用普通、加速或快速加速模式来模拟条件模型。
触发、启用以及触发和启用模型需要外部输入来驱动触发或启用块。在信号的属性面板的触发或启用块对话框中,指定信号数据类型、维度和采样时间的值。
要运行独立模拟,请使用配置参数>数据导入/导出>输入参数。如何指定输入请参见信号加载技术比较.使用时,适用以下条件输入触发器参数和使能块输入:
为触发器使用最后的数据输入或启用输入。对于被触发和启用的模型,使用最后的数据输入作为触发器输入。
如果不提供任何输入值,模拟将使用0作为默认值。
您可以记录数据以确定是哪个信号导致模型运行。为触发或启用块,主要窗格中,选择显示输出端口.
当您模拟一个函数调用模型时,它模拟的好像是一个函数调用以系统驱动函数调用块的最快速度。您还可以配置模型,使用可变步长求解器在特定时间计算输出(参见变量步长求解器要导出的示例).
您可以启用或抑制关于a和b之间不匹配的警告消息模型块及其引用模型,方法是在诊断窗格:模型引用.
在父模型中使用Simulink D万博1manbetxebugger,您可以在以下位置设置断点模型块边界。控件的输入和输出值可以通过设置断点查看模型块。但是,您不能在模型中设置断点模型块引用。看到万博1manbetx仿真软件调试器为更多的信息。
在两种情况下,Simulin万博1manbetxk不会将基于0或基于1的索引信息传播到连接到以下块的引用模型根级端口:
接受索引(例如赋值块)
生成索引(例如对迭代器块)
接受索引的块的一个例子是赋值块。产生索引的块的一个例子是对迭代器块。
这两种情况导致缺乏传播,从而导致Simulink无法检测不兼容的索引连接。万博1manbetx这两种情况是: