主要内容

思科配置和运行模拟

有三种方法的硅和公益诉讼模拟运行。您可以使用:

  • 上面的模型。

  • 块模型。

  • 银和公益诉讼块创建子系统。

模拟与顶级模特

配置和运行一个顶级模特SIL或公益诉讼仿真:

  1. 在仿真软件金宝app®编辑器,打开你的模型。

  2. 应用程序选项卡上,单击银/公益诉讼经理

  3. 模式部分中,选择银/公益诉讼模拟

  4. 准备节中,设置被测系统顶级模特

  5. 银/公益诉讼模式字段中,选择Software-in-the-Loop(银)Processor-in-the-Loop(公益诉讼)。选择只支持ERT、GR金宝appT或AUTOSAR系统目标文件。看到模型配置参数:代码生成配置AUTOSAR代码生成(AUTOSAR Blockset)配置信息。

  6. 监控组件模型信号和状态数据和比较值和硅或公益诉讼模拟:

    1. 对于每一个信号,你想日志:

      1. 在模型编辑器中金宝app,选择信号。

      2. 银/公益诉讼选项卡上,单击监控信号。从画廊,选择这些选项:

        • 日志选择信号

        • 使选择信号测试点

        • 信号记录

    2. 登录状态数据,从监控信号画廊,选择状态日志

    3. 如果语言配置参数c++,在代码的映射编辑设置数据的可见性的信号、状态和内部数据模型元素类别公共

  7. 如果你配置一个SIL模拟、指定便携式字大小选项。你可以之间无缝切换的SIL和公益诉讼模式。在配置参数对话框中,选择使便携式文字大小复选框。

  8. 如果需要,配置:

  9. 运行的部分,停止时间字段中,指定仿真时间。

  10. 点击运行银/公益诉讼

  11. 在仿真结束时,结果部分中,点击数据检查查看仿真结果。

请注意

在Windows®操作系统,Windows防火墙可以阻止SIL或公益诉讼模拟。允许仿真,使用Windows安全警告对话框。例如,在Windows 7,点击允许访问

你不能:

  • 关闭仿真运行时模型。中断模拟,在命令窗口中,出版社Ctrl + C

  • 改变模型在模拟。你可以移动块和线条,只要它不改变模型的行为。

您可以运行一个顶级模特SIL或公益诉讼仿真命令sim卡(模型)。软件支持金宝appsim卡命令选项SrcWorkspace的价值“基地”

公益诉讼模拟,你控制代码编译和执行在目标环境中通过连接配置。

仿真与模型块

配置一个模型模拟块硅或公益诉讼:

  1. 在模型编辑器中金宝app,打开你的模型,例如,rtwdemo_sil_modelblock

  2. 右击你的模型块,例如,对抗。在上下文菜单中,选择块参数(ModelReference),打开功能块参数对话框。

  3. 模拟模式下拉列表中,选择所需的模式,例如,Software-in-the-loop(银)

  4. 代码接口下拉列表中,指定您想要测试的代码,例如,模型参考

  5. 点击好吧。软件显示模拟模式作为一个整体标签。

    如果您选择顶级模特,软件显示块的标签(SIL:顶部)

  6. 如果你配置一个SIL模拟、指定便携式字大小选项。你可以之间无缝切换的SIL和公益诉讼模式。在配置参数对话框中,选择使便携式文字大小复选框。

  7. 应用程序选项卡上,单击银/公益诉讼经理

  8. 模式部分中,选择银/公益诉讼模拟

  9. 准备节中,设置被测系统模型块硅/公益诉讼模式

  10. 高级模型模式字段中,选择正常的加速器

  11. 如果需要,配置:

  12. 运行部分:

    • 停止时间字段中,指定仿真时间。

    • 如果你想避免重建代码在最初的构建,点击快速启动。看到防止在多个模拟代码更改

    • 点击运行银/公益诉讼

  13. 在仿真结束时,结果部分,单击数据检查员查看仿真结果。

请注意

在Windows操作系统,Windows防火墙可以阻止SIL或公益诉讼模拟。允许仿真,使用Windows安全警告对话框。例如,在Windows 7,点击允许访问

公益诉讼模拟,你控制代码编译和执行在目标环境中通过连接配置。

与子系统仿真模块

您可以使用这些工作流之一:

  • 金宝app仿真软件测试™利用硅/公益诉讼如果你有一个模型,该模型包含的子系统,可以使用金宝app仿真软件测试和硅/公益诉讼经理执行单元测试代码产生的子系统。此工作流测试子系统生成的代码的一部分从母公司模型生成的代码。工作流细节,请参阅测试原子子系统生成的代码

    如果此工作流不支持一个子系统,使用硅或公益诉讼块工作金宝app流作为替代。

  • SIL或SIL或公益诉讼的公益诉讼块创建一个块的子系统,然后运行环境中的块或测试模式,供应或刺激输入测试向量。此工作流子系统生成和测试新的独立的代码。有关更多信息,请参见银或公益诉讼块模拟

公益诉讼模拟,你控制代码编译和执行在目标环境中通过连接配置。

测试原子子系统生成的代码

执行单元测试代码从一个原子生成子系统:

  1. 打开包含原子模型子系统。例如,在命令窗口中,输入:

    rtwdemo_sil_block

  2. 在一个新的文件夹,保存模型plant_model

  3. 不支持修改配置参数设置为这个工作流。金宝app在命令窗口中,输入:

    set_param (“plant_model”,“CreateSILPILBlock”,“没有”,“PreserveStaticInFcnDecls”,“关闭”);%对于这个示例,使用这些块参数的值。set_param (“plant_model /控制器”,“RTWSystemCode”,“那种一次性函数”,“RTWFileNameOpts”,“汽车”);
    关于限制的更多信息,请参阅原子子系统工作流的局限性

  4. 生成的代码模型包含原子子系统。在命令窗口中,输入:

    slbuild (“plant_model”)

  5. 创建一个测试工具的子系统。右键单击控制器子系统和选择测试工具>创建“控制器”

  6. 利用属性:

    • 的名字- - -controller_subsystem_harness

    • 源和汇:轮廓尺寸外港

    • 选择开放利用创建后

    点击好吧

    金宝app仿真软件测试创建的测试工具控制器子系统。

  7. 指定格式保存数据。在命令窗口中,输入:

    set_param (“controller_subsystem_harness”,“SaveFormat”,“数据集”)

  8. 在测试窗口,打开银/公益诉讼的经理。在应用程序选项卡上,单击银/公益诉讼经理

  9. 如果需要,配置代码覆盖率

  10. 连续运行模式和硅模拟:

    1. 模式部分中,选择自动验证

    2. 运行自动验证部分中,点击运行验证

  11. 结果画廊,您可以:

    • 使用模拟数据检查分析的结果。例如,比较controller_model_output从模型和硅模拟信号。

    • 出口一个等价测试用例。

    有关更多信息,请参见分析结果和导出测试用例

银或公益诉讼块模拟

创建一个银或公益诉讼块从一个子系统和使用此块测试子系统生成的代码:

  1. 配置参数>代码生成>验证>先进的参数>创建块下拉列表,选择公益诉讼

  2. 如果需要,配置代码执行分析。

  3. 点击好吧

  4. 在模型窗口中,右键单击您想要模拟的子系统。

  5. 选择C / c++代码>构建这个子系统

  6. 点击构建启动子系统的构建过程,创建了一个银或公益诉讼生成子系统的代码块。

  7. 生成的块添加到一个环境或测试工具模型,供应或刺激输入测试向量。

  8. 与环境或测试工具模型模拟运行。

请注意

在Windows操作系统,Windows防火墙可以阻止SIL或公益诉讼模拟。允许仿真,使用Windows安全警告对话框。例如,在Windows 7,点击允许访问

你不能创建一个银或公益诉讼块如果你下列之一:

  • 禁用CreateSILPILBlock财产。

  • 选择一个代码覆盖率工具。

创建块似乎暗了下来。

配置硬件实现设置

SIL模拟,您必须配置硬件实现设置,使生成的代码编译您的开发计算机。这些设置可以不同于硬件实现设置构建的模型时,您使用您的生产硬件。使用这些方法之一。

方法 细节
便携式文字大小

银和公益诉讼模式之间切换不需要重新生成代码。你使用相同的SIL模拟生成的源代码文件在您的开发生产计算机和部署在目标平台上。

配置一个模型使用便携式字大小,设置:

  • ProdEqTarget“上”

  • PortableWordSizes“上”

当你为一个模型生成代码与便携式字大小指定,代码生成器conditionalizes数据类型定义rtwtypes.h:

# ifdef PORTABLE_WORDSIZES / * PORTABLE_WORDSIZES定义* /其他…# / * PORTABLE_WORDSIZES没有定义* /…# endif / * PORTABLE_WORDSIZES * /

模板使用makefile构建目标必须不包含代码PORTABLE_WORDSIZES定义。

模板makefile和建筑规范的工具链方法,指定的软件-DPORTABLE_WORDSIZES编译器只对基于主机的构建。

信息模板makefile和建筑规范的工具链方法,明白了配置工具链或模板Makefile构建过程

考虑一下这种情况:你的目标使用代码,开发计算机不能编译。当你从公益诉讼模式转换到银模式,试图模拟模型中,你可以看到编译错误。你可以试着解决这个问题通过添加源代码文件SkipForSil组在构建信息对象RTW.BuildInfo。SIL建立在主机平台不编译源文件中SkipForSil组。信息如何将源代码文件添加到一个组在构建对象的信息,见:

数值结果可以在生成的代码中执行之间不同的SIL模拟和生成的代码执行生产硬件的条件下:

  • 你的模型包含块在薄层色谱中实现,C积分促销在MATLAB之间的表达式可以表现不同®主机硬件和生产目标。正常和公益诉讼仿真结果匹配,但SIL仿真结果可以不同。

  • 生产硬件实现了舍入地板上签署了整数的除法,分歧在您的模型中使用舍入模式天花板,地板上,简单的,或。正常和公益诉讼仿真结果匹配,但SIL仿真结果可以不同。

  • 生产硬件的字节顺序大端字节序。正常和公益诉讼仿真结果匹配,但SIL仿真结果可以不同。例如,当生成的代码取决于字节顺序生成的生产代码,目的是实现模拟,其行为与正常行为。

  • 与Stateflow您使用自定义代码®产品。在本例中,类型转换语句不插入定制代码,在主机需要哪个目标溢出行为。正常和公益诉讼仿真结果匹配,但SIL仿真结果可以不同。

测试硬件

使用这种方法只有当你想要解决一个便携式字大小的限制。

设置:

  • PortableWordSizes“关闭”

  • ProdEqTarget“关闭”

  • TargetHWDeviceType“自定义处理器- > MATLAB主机处理器”

生产硬件

使用这种方法只有当生产硬件设置匹配您的计算机体系结构发展。

设置:

  • PortableWordSizes“关闭”

  • ProdEqTarget“上”

  • ProdHWDeviceType以匹配您的计算机体系结构发展。

测试和生产目标的信息,请参阅配置运行时环境的选择

日志组件的信号

银和公益诉讼组件输出可用于观察和比较与其他模拟模式输出。如果你想检查一个内部信号,您可以启用日志记录为顶级模特或内部信号模型块硅或公益诉讼。与信号记录,您可以:

  • 收集日志SIL /公益诉讼期间输出模拟信号,例如,logsout

  • 日志的内部信号和SIL /公益诉讼的root输出组件。

  • 管理SIL /公益诉讼信号记录与仿真软件信号设置日志记录选择器。金宝app

  • 使用模拟数据检查:

    • 观察流信号在正常、银和公益诉讼模拟。

    • 比较记录信号正常,银,公益诉讼的模拟。

使信号记录到MATLAB工作区和信号仿真数据流检查员在硅或公益诉讼模拟:

  1. 您希望监视的每个信号:

    1. 在模型编辑器中金宝app,选择信号。

    2. 银/公益诉讼选项卡上,单击监控信号。从画廊,选择这些选项:

      • 日志选择信号

      • 使选择信号测试点

      • 信号记录

  2. 如果语言配置参数c++,在代码的映射编辑设置数据的可见性的信号、状态和内部数据模型元素类别公共

您可以使用其他方法来检查内部硅或公益诉讼组件的信号:

  • 手动信号路由到顶层。

  • 使用全局数据存储访问内部的信号:

    1. 在组件内部,连接数据存储写块所需的信号。

    2. 外的组件,使用数据存储读取阻止访问信号值。

  • 使用MAT-file日志记录。注意:

    • MAT-file日志不支持日志记录的信号。金宝app如果启用了日志记录信号,logsout但不是存储在MAT-file产生。

    • 目标环境公益诉讼,必须支持MAT-file日志记录。金宝app

有关更多信息,请参见:

防止在多个模拟代码更改

使用模型块硅/公益诉讼或银/公益诉讼块与快速重启当你想运行多个SIL或公益诉讼模拟:

  • 不同的测试向量(参数设置和输入数据)。

  • 生成的代码不变,没有模拟再生或重建的代码在最初的构建。例如,您希望避免增量代码生成一个初始值变化可以触发。

模型块硅/公益诉讼,您还可以使用这些方法之一:

  • 在您的测试模型,在配置参数对话框中,设置重建从来没有。如果模型代码接口参数是模型参考,软件不重建模型代码引用。(如果代码接口参数是顶级模特,软件忽略了重建设置)。

  • 创建一个受保护的模型和生成源代码或二进制代码。然后,插入保护模型在你的测试模型。使用此方法,您可以验证名模代码(独立代码接口)或模型参考代码。

替代方法的运行模型块硅/公益诉讼,下表总结了代码生成行为在最初的构建。

银和公益诉讼的方法 代码生成初始构建后的行为
模型 重建配置参数设置为测试工具的模型从来没有
  1. 组件(算法)代码从最初的构建不是再生。

  2. 组件代码makefile不叫。

  3. 银/公益诉讼程序文件从最初的构建不再生。

  4. 银/公益诉讼程序makefile。

模型块(保护模型) 从保护模型源代码。 你观察相同的行为,除了功能2。在这种情况下,组件代码运行makefile。组件代码重新编译和链接产生新的对象代码。
从保护模型二进制代码。 你观察的特性1 - 4。

有关更多信息,请参见:

加速测试

如果你的模型有银/公益诉讼或块模型块硅/公益诉讼模式,您可以加快硅/公益诉讼测试:

  • 的顶级模特模拟运行加速器模式。这种模式加速仿真模型组件的SIL或公益诉讼模式。

  • 打开快速启动。第一次模拟后,您可以调整参数,重新运行仿真模型重新编译。银/公益诉讼提供了一个经理快速启动按钮。

请注意

银和公益诉讼仿真模式并非设计用于减少模型模拟。如果你想加快您的模型的仿真,使用快速加速模式。有关更多信息,请参见加速度是什么?

模拟与函数调用

使用金宝app仿真软件的功能块和函数调用者块当你想:

  • 生成代码,使函数调用外部代码,例如,司机或遗留代码。

  • 提供一个子系统,像正常的外部代码,银或公益诉讼模拟。

中的例子AUTOSAR NVRAM配置调用管理器服务(AUTOSAR Blockset)展示了如何配置客户端调用基本软件(BSW正在)NVRAM经理(NvM)从你的AUTOSAR软件组件的服务接口。在仿真中,仿真软件实现了NvM B金宝appSW正在通过电话金宝app仿真软件的功能和预配置函数调用者块。最后系统,你链接函数调用存根与外部函数的代码运行在AUTOSAR BSW正在运行时环境(RTE)。

有关更多信息,请参见金宝app仿真软件的功能模块和代码生成

相关的话题