模拟 CruiseControlSystem 示例

可以遵循 CruiseControlSystem 模拟示例,以激活 并运行对动态模型的模拟。

开始之前

将 Simulink 组件集成到 Rational® Rhapsody® 模型中需要以下软件:
  • 必须提供具有许可证并带 Simulink V6 的 Matlab 7 以及从 Simulink 模型中生成 C 和 C++ 代码的 Real-Time Workshop。
  • Rational Rhapsody V7 或更高版本的产品。

过程

  1. 打开使用 C 或 C++ 代码的新 Rational Rhapsody 模型或现有模型。
  2. 可选:添加 SysML 概要文件。
  3. 在概要文件使用 C 语言的情况下,添加 SimulinkSimulinkInC
  4. 创建一些新块,并为这些块指定 SimulinkBlock 构造型。 这些块表示连续的子系统。
  5. 右键单击每个 SimulinkBlock 并选择导入/同步 Simulink 模型

    “接受时间事件”按钮

  6. 在“导入/同步 Simulink 模型”中,选择 Simulink 模型,然后单击导入/同步按钮。

    “接受时间事件”按钮

  7. 创建一些新块并实现这些块的行为。这些块是离散的子系统。
  8. 创建一个将作为构建器块的新块,并为其指定 SimulinkStructureBlock 构造型。
  9. 打开 SimulinkStructureBlock 的特征对话框窗口,再打开标记选项卡,然后填写 Simulink 模拟所需要的信息。

    “接受时间事件”按钮

  10. 创建 SimulinkStructureBlock内部块图 (IBD),添加 Rhapsody 和 SimulinkBlocks 的部件,然后通过连接符(链接)来连接部件流端口

    “接受时间事件”按钮

  11. 右键单击 SimulinkStructureBlock 或在内部块图 (IBD) 中单击右键,然后选择 Simulink 子菜单下面四个选项中的一个
    • 生成:生成 SimulinkStructureBlock 作为 Simulink 模型。将不会检测 Rhapsody 所生成的代码。
    • 生成和模拟:生成 SimulinkStructureBlock 作为 Simulink 模型,然后自动启动 Simulink 模拟。
    • 生成动画:生成 SimulinkStructureBlock 作为 Simulink 模型。您将看到的只有 Rhapsody 块的动画。
    • 生成和模拟动画:生成 SimulinkStructureBlock 作为 Simulink 模型,然后自动启动 Simulink 模拟。

    “接受时间事件”按钮

    最后,Matlab 将打开,创建并编译一个新的 SFunction,并且出现了表示 SimulinkStructureBlock 的新 Simulink 模型。SimulinkBlockPropFeedbackEnvironmentReaction 以常规 Simulink 子系统的形式存在,而且所有 Rhapsody 块都被转换为一个通过 Rhapsody 生成的代码实现的 SFunction

    “接受时间事件”按钮

结果

现在,可以在 Simulink 中对系统进行模拟。左侧的作用域图像表示 desiredSpeed 模拟示例,而右侧的图像表示 actualSpeed 模拟示例。

“接受时间事件”按钮


反馈