主要内容

验证生成的可执行程序结果

验证生成的可执行程序结果是否与模型仿真结果相匹配。

配置验证模型

  1. 配置仪表板范围块来监视信号的值力量:f (t): 1X.双击仪表板范围块。在“块参数”对话框中确认:

    • 该块连接到信号力量:f (t): 1X.要将Dashboard块连接到一个信号,请在模型画布中选择该信号。在“阻塞参数”对话框中,选择信号名称。

    • 最小值被设置为-10

    • 马克斯被设置为10

    应用更改并关闭对话框。

  2. 配置旋钮块,以便您可以使用旋钮来改变阻尼增益的值。双击旋钮块。在“块参数”对话框中确认:

    • 块连接到参数阻尼:增益.要将Dashboard块连接到参数,请在模型画布中选择使用该参数的块。在“块参数”对话框中选择参数名称。

    • 最低被设置为200

    • 最大被设置为600

    • 蜱虫间隔被设置为One hundred.

    应用更改并关闭对话框。

  3. 打开模型配置参数对话框。在C代码选项卡上,单击设置

  4. 配置模型,如Simulink金宝app®以及在仿真数据检查器中生成的可执行程序日志工作区数据。点击数据导入/导出.确认模型配置了以下设置:

    参数选择 名称设置为
    时间 吹捧
    xout
    输出
    信号记录 logsout
    数据存储 dsmout
    在仿真数据检查器中记录已记录的工作区数据
  5. 配置模型以构建可执行程序。点击代码生成.确认参数只生成代码清除。

  6. 配置并验证用于构建可执行程序的工具链。确认参数工具链被设置为自动定位已安装的工具链.然后,搜索并点击验证工具链按钮。验证报告指示检查是否通过。

  7. 配置参数和信号,使数据存储在内存中,并可在可执行程序运行时访问。为了在C代码中有效地实现模型,您不需要为模型中的每个参数、信号和状态分配内存。如果模型算法不需要数据来计算输出,则代码生成优化消除了该数据的存储。要为数据分配存储空间,以便在原型开发期间访问数据,需要禁用一些优化。

    点击代码生成>优化.确认:

    • 默认参数的行为被设置为可调.使用此设置,块参数,如获得参数的获得块,在生成的代码中是可调的。

    • 信号存储重用清除。通过这个设置,代码生成器为各个信号线分配存储空间。在运行可执行程序时,可以监视信号的值。

  8. 配置代码生成器以生成非有限数据(例如,)及相关操作。点击代码生成>接口.确认参数金宝app支持:非谓语形式的数字被选中。

  9. 配置通信通道。为了让S金宝appimulink®与模型生成的可执行程序进行通信,模型必须包含对通信通道的支持。金宝app本例使用TCP/IP上的XCP作为通信通道的传输层。确认以下参数:

  10. 禁用MAT-file日志记录。将数据从MATLAB加载到仿真数据检查器中®基本工作空间。确认参数MAT-file日志清除。

  11. 应用您的配置更改,关闭模型配置参数对话框,并保存模型。

模拟模型和查看结果

  1. 从Simulink金宝app编辑器,在模拟选项卡上,单击运行.时钟在运行按钮表示开启模拟节奏。模拟节奏减慢了模拟的速度,这样你就可以观察系统的行为。以较慢的速度可视化模拟可以更容易地理解底层系统设计,并在演示接近实时的行为时识别设计问题。

    在模拟过程中仪表板范围块显示信号的行为力量:f (t): 1X

  2. 在Simuli金宝appnk编辑器中模拟选项卡上,单击数据检查.仿真数据检查器将打开,并导入来自模拟运行的数据。

  3. 展开运行(如果尚未展开)。然后,绘制数据,选择数据信号X力量:f (t): 1

将这些结果留在仿真数据检查器中。稍后,您将仿真数据与由模型生成的可执行程序生成的输出数据进行比较。

构建和运行可执行程序并查看结果

构建并运行模型可执行程序。

  1. 在Simuli金宝appnk编辑器中硬件选项卡上,单击监视和优化.金宝app仿真软件:

    1. 构建可执行程序。在构建过程中建筑出现在Simulink编辑器窗口的左下角。金宝app当代码生成报告出现并读取文本时准备好了,则该过程完成。

      • 在Windows中®,代码生成器创建并将这些文件放在当前工作文件夹中:

        • rtwdemo_secondOrderSystem.exe-可执行程序文件

        • rtwdemo_secondOrderSystem.pdb-调试参数和信号的符号文件

      • 在Linux中®,代码生成器在ELF可执行程序文件中创建并放置DWARF格式的调试信息,rtwdemo_secondOrderSystem,并将该文件置于当前工作文件夹中。

    2. 将可执行程序作为单独的进程部署到开发计算机上。

    3. 将Simulink模型连接金宝app到可执行程序。

    4. 运行模型可执行程序代码。

比较仿真和可执行程序的结果

使用仿真数据检查器将可执行程序结果与仿真结果进行比较。

  1. 在模拟数据检查器中,检查可执行程序运行的结果,2:运行rtwdemo_secondOrderSystem

  2. 点击比较

  3. 选择要比较的数据运行。对于本例,从基线列表中,选择1:运行rtwdemo_secondOrderSystem.从比较列表中,选择2:运行rtwdemo_secondOrderSystem

  4. 在“仿真数据检查器”的右上角,单击比较

  5. 仿真数据检查器指示的输出X力量:f (t): 1从可执行程序的代码是超出公差从模拟数据输出。来看看结果的图X下,文件比较,选择要执行的行X

  6. 检查比较图力量:f (t): 1.下文件比较,选择要执行的行力量:f (t): 1

  7. 通过指定一个绝对相对公差值来确定数字差异是否显著。对于本教程,设置全球Abs宽容1 e-12.然后,单击比较.的比较X力量:f (t): 1是在公差内。

    有关数值一致性验证和公差的更多信息,请参见模型与生成代码仿真结果的数值一致性

接下来,在程序执行期间调优参数。