文档

模型参考仿真目标

模拟的目标

一个模拟目标,或SIM目标实现一个参考模型,是一个MEX-file加速器模式执行。万博1manbetx动态仿真模块®根据需要调用仿真目标在模拟计算行为和参考模型的输出。万博1manbetx仿真软件使用相同的模拟目标给定参考模型的所有加速器模式实例在层次结构的引用。

如果你有一个万博1manbetx仿真软件编码器™许可证,小心不要混淆引用模型的模拟目标与这些其他类型的目标:

  • 硬件的目标——一个平台万博1manbetx仿真软件编码器生成的代码

  • 告诉系统目标——一个文件万博1manbetx仿真软件编码器如何为特定目的生成代码

  • 快速模拟目标(RSim)——一个系统目标文件提供万博1manbetx仿真软件编码器

  • 模型参考目标——包含一个库模块万博1manbetx仿真软件编码器代码引用的模型

万博1manbetx模型创建一个模拟的目标只是一个参考模型,有一个或多个加速器模式实例的引用层次结构。执行一个参考模型,只有在正常模式总是解释的和不使用模拟目标执行。当一个或多个实例的引用模式执行在正常模式下,在加速器和一个或多个实例执行模式:

  • 万博1manbetx模型创建一个加速器模拟目标模式实例。

  • 正常模式实例不使用模拟的目标。

因为加速器模式需要代码生成,它强加了一些要求和限制并不适用于普通模式。除了这些限制,您通常可以忽略模拟目标和细节当你执行一个参考模型在加速器模式。看到模拟的局限性获取详细信息。

构建模拟目标

万博1manbetx仿真软件默认生成所需的目标从参考模型:

  • 如果一个模拟的目标不存在的一个模拟世界中

  • 当你父母的执行更新图模型

如果仿真目标的存在,那么在默认情况下仿真软件检查是否引用模型生成的目标是去年以来结构性变化。万博1manbetx如果是这样,仿万博1manbetx真软件再生目标,以反映变化的模型。详情如何仿真软件检测是否重建模型参考目标,看万博1manbetx到重建参数文档。

你可以改变这种默认行为修改重建标准或指定模型总是或从不重建目标。万博1manbetx看到重建获取详细信息。

为加速器模式生成仿真目标交互模型,引用做这些步骤之一:

  • 更新的图模型,直接或间接引用的模型加速器模式

  • 执行slbuildMATLAB命令以适当的参数®命令行

生成一个模拟的目标时,在MATLAB仿真软件显示状态消息命令行让你监控目标生万博1manbetx成过程。代需要生成和编译代码和链接目标编译后的目标代码的编译后的代码标准代码库来创建一个可执行文件。

减少检查时间改变

可以减少仿真软件花费的时间检查任何或所有模拟目标是否需要重万博1manbetx建通过设置配置参数值如下:

  • 在所有引用的模型在整个层次结构,设置信号的分辨率配置参数明确的只没有一个。(见信号的分辨率。)

  • 尽量减少检测时间改变,考虑设置重建选项配置参数如果检测到已知的任何变化依赖关系在上面的模型。看到重建

这些参数值存在的配置设置引用的模型,而不是个人模型块。要么值设置为任何引用的模型集的实例模型的所有实例。

模拟目标输出文件控制

万博1manbetx模型创建仿真目标slprj子文件夹的文件夹。如果slprj不存在,模型创建它。万博1manbetx

请注意

万博1manbetx仿真软件编码器还使用生成代码slprj文件夹中。子文件夹中slprj提供独立的仿真代码不同,万博1manbetx仿真软件编码器代码和其他文件。有关详细信息,请参见构建过程管理文件夹(万博1manbetx仿真软件编码器)。

默认情况下,生成的文件更新模型图和模型构建是放置在一个建立文件夹,根的万博1manbetx当前工作目录(松材线虫病)。然而,在某些情况下,您可能希望生成的文件去根文件夹以外的当前工作目录。例如:

  • 保持生成的文件独立于模型和其他来源的材料用于生成它们。

  • 你想重用或分享之前构建的模拟目标,而无需设置当前工作目录回到先前的工作目录。

你可以单独生成模拟工件从生成的产品代码。

允许您控制图生成的输出文件的位置更新和模型构建,您可以指定为这些文件分别建立文件夹。的模拟缓存文件夹是将工件的根文件夹用于仿真。

指定模拟缓存文件夹,使用一个这些方法:

  • 使用CacheFolderMATLAB会话参数。

  • 万博1manbetx仿真软件首选项>一般对话框中,使用模拟缓存文件夹偏好。这种偏好提供了最初的MATLAB会话参数的默认值。

控制输出位置模型模拟构建构件

控制模型图生成的输出文件的位置更新万博1manbetx万博1manbetx仿真软件首选项>一般对话框中,使用模拟缓存文件夹偏好。指定文件的根文件夹位置由仿真软件生成图的更新,设置首选项值通过输入或浏览到一个文件夹路径,例如:万博1manbetx

您所指定的文件夹路径为MATLAB会话提供了最初的默认参数CacheFolder。当你发起一个模型图更新生成的文件放置在一万博1manbetx个构建在根文件夹中指定的位置CacheFolder,而不是在当前工作目录(松材线虫病)。

例如,使用一个32位Windows®主机平台,如果你设置模拟缓存文件夹“C: \ \ mymodelsimcache工作”然后模拟模型rtwdemo_capi、文件到指定的文件夹中生成如下:

替代使用仿真软件首选项设置万博1manbetx模拟缓存文件夹,你也可以从命令行获取和设置首选项的值get_paramset_param。例如,

> > get_param (0, CacheFolder) ans = " > > set_param (0 ' CacheFolder fullfile (C:,‘工作’,‘mymodelsimcache’)) > > get_param (0, ' CacheFolder) ans = C: \ \ mymodelsimcache工作

同样,你可以选择覆盖模拟缓存文件夹偏好值为当前MATLAB会话。

覆盖建立文件夹设置

仿真软件万博1manbetx首选项模拟缓存文件夹代码生成的文件夹为MATLAB会话提供初始默认值的参数CacheFolderCodeGenFolder图,确定仿真软件生成的文件更新和模型构建。万博1manbetx然而,您可以覆盖这些构建文件夹设置当前MATLAB会话期间,使用万博1manbetxSimulink.fileGenControl函数。您可以使用此函数操纵MATLAB会话参数(例如,覆盖或恢复初始默认值)。您设置的值万博1manbetxSimulink.fileGenControl当前MATLAB会话结束时到期。更多信息和详细的例子,请参阅万博1manbetxSimulink.fileGenControl函数引用页面。

减少更新时间为参考模型

并行构建大型模型引用层次结构

在并行计算环境中,你可以增加的速度图更新模型包含大型模型引用层次通过构建模型,引用配置在加速器模式并行只要条件允许。例如,如果你有并行计算工具箱™软件,更新每个引用的模型可以分布在多核的核心主机电脑。另外,如果你有MATLAB分布式计算服务器™软件,更新每个引用的模型可以分布在偏远的工人在你MATLAB分布式计算服务器配置。

使用并行实现的性能更新引用模型的建立取决于几个因素,包括:

  • 有多少并行模型可以建立对于一个给定的模型引用层次

  • 被引用的模型的大小

  • 并行计算资源,如可用的本地或远程的工人数量和本地和远程机器的硬件属性(RAM,核心数量,等等)

对配置要求可以适用于并行计算环境,明白了并行构建配置需求

为构建引用通用工作流模型的描述并行只要条件允许,明白了更新模型在并行计算环境中

并行构建配置需求

这些要求适用于使用并行构建更新模型参考层次结构:

  • 为当地的游泳池,主机需要适量的RAM用于支持当地工人的数量(MATLAB会话),您计划使用。万博1manbetx例如,使用parpool (4)创建一个平行池有四个工人结果在MATLAB 5个交易日在您的机器上,每一个在启动时使用大约120 MB的内存。

  • 远程MATLAB分布式计算服务器工人参与并行构建必须使用一个通用平台和编译器。

  • 建立一个一致的MATLAB环境对于每一个MATLAB工人会话和MATLAB客户机会话。例如,使用一致的共享基础工作空间变量,MATLAB路径设置,等等。一种方法是使用PreLoadFcn回调的模型。如果你配置模型加载前模型与每个MATLAB职工会议,其预加载功能可用于任何MATLAB工人会话设置。

更新模型在并行计算环境中

利用并行构建的模型参考等级:

  1. 建立一个本地和/或远程池MATLAB工人并行计算环境中。

    1. 确保并行计算工具箱软件许可和安装。

    2. 使用远程员工,确保MATLAB分布式计算服务器软件许可和安装。

    3. 发出MATLAB命令设置工人池,例如,parpool (4)

  2. 从参考模型的层次结构模型,打开配置参数对话框。去模型参考窗格中,选择支持并行模型参考构建选择。这个选择使参数MATLAB职工构建的初始化

    MATLAB职工构建的初始化中,选择以下值之一:

    • 没有一个——软件执行任何特殊工人的初始化。指定这个值如果孩子模型在模型中引用层次结构不依赖任何工作区底部超出他们明确设置(例如,使用一个模型加载函数)。

    • 复制基本工作空间——软件试图基本工作空间复制到每个工人。指定这个值如果使用设置脚本准备的基工作区使用多个模型。

    • 负载顶级模特——软件加载模型每个工人。指定这个值如果顶部模型在模型中引用层次处理所有基本工作空间设置(例如,使用一个模型加载函数)。

    请注意

    支持并行模型参考构建唯一的顶级模特参考其应用到层次结构模型。

  3. 可选地,打开详细信息模拟构建。如果您选择详细的构建,构建消息报告每个并行的发展构建模型的名称。

    打开详细信息为模拟目标构建、配置参数对话框,并选择详细的加速器的构建

    详细的加速器的构建选择控件构建消息的冗长MATLAB命令窗口和并行构建日志文件。

  4. 可选地,检查模型参考层次结构来确定,基于模型的依赖性,这将建立并行模型。例如,您可以使用模型依赖模型查看器万博1manbetx分析>模型的依赖性菜单。

  5. 更新您的模型。消息在MATLAB命令窗口记录每个并行或串行构建开始和结束。

    如果你需要更多的信息关于一个平行的构建,例如,如果构建失败,明白了定位并行构建日志

定位并行构建日志

当你更新一个并行模型引用的模型构建,如果打开详细的构建,在MATLAB命令窗口消息记录当每个并行或串行构建开始和结束。例如,

# # #为并行模型初始化并行的工作参考。# # #平行工人初始化完成。# # #开始并行模型参考SIM建立“bot_model001”# # #开始并行模型参考SIM建立“bot_model002”# # #开始并行模型参考SIM建立“bot_model003”# # #开始并行模型参考SIM建立“bot_model004”# # #完成并行模型参考SIM建立“bot_model001”# # #完成并行模型参考SIM建立“bot_model002”# # #完成并行模型参考SIM建立“bot_model003”# # #完成并行模型参考SIM建立“bot_model004”

获得更详细的信息关于一个平行的构建,您可以检查并行构建日志。为每个引用的并行模型构建,构建过程生成一个文件命名模型_buildlog.txt,在那里模型的名字是被引用的模型。这个文件包含完整的构建日志的模型。

如果一个并行构建完成后,您可以找到相对应的在构建子文件夹建立日志文件被引用的模型。例如,对于引用模型的构建bot_model004,寻找构建日志文件bot_model004_buildlog.txt参考模型中的子文件夹build_folder/ slprj / sim / bot_model004

如果并行构建失败,你可以看到类似于下面的输出:

# # #为并行模型初始化并行的工作参考。# # #平行工人初始化完成。# # #开始并行模型参考SIM建立“bot_model002”# # #开始并行模型参考SIM建立“bot_model003”# # #完成并行模型参考SIM建立“bot_model002”# # #完成并行模型参考SIM建立“bot_model003”# # #开始并行模型参考SIM建立“bot_model001”# # #开始并行模型参考SIM建立“bot_model004”# # #完成并行模型参考SIM建立“bot_model004”# # #以下错误发生在并行模型参考SIM建立“bot_model001”:遇到错误(s)在构建模型“bot_model001”# # #清理工人平行。

如果并行构建失败,你可以找到在引用模型建立日志文件文件夹下建立子文件夹/ par_mdl_ref /模型。例如,对于一个失败的并行构建的模型bot_model001,寻找构建日志文件bot_model001_buildlog.txt在子文件夹build_folder/ par_mdl_ref / bot_model001 / slprj / sim / bot_model001

相关的话题

这个主题有帮助吗?