使用 Rational Rhapsody 来创建 Simulink S-function

您可以使用 IBM® Rational® Rhapsody® 来创建 Simulink S-function,然后,可以将这些 S-function 插入到 Simulink 模型中。

关于此任务

注: 此功能只有在 IBM Rational Rhapsody Developer for C 中才适用。

过程

要在 Rational Rhapsody 中创建 Simulink S-function,然后在 Simulink 中使用该 S-function,请完成下列步骤:

  1. 创建一个 Rational Rhapsody 项目。
  2. 将 Simulink 概要文件导入到项目中。
  3. 创建配置并对其应用 S-FunctionConfig 构造型。
  4. 将新创建的配置设置为活动配置。
  5. 创建一个类,并对其应用 S-FunctionBlock 构造型。
  6. 对这个类添加传入流端口以表示传入数据。
  7. 对这个类添加传出流端口以表示传出数据。
  8. 对于您添加的每个流端口,对这个类添加一个属性以表示该流端口。此属性的名称和类型都必须与相应的流端口相同。
  9. 为这个类实现状态图。
  10. 生成已创建的配置的代码。
  11. 此配置的输出目录将包含下列各项内容:
    • 为此模型生成的源文件
    • Rational Rhapsody 框架文件(来自 Rational Rhapsody IDF 框架)
    • 名为 RhapsSFunc_(您对块指定的名称).c 的 Simulink C 模板文件
    • 名为 MexOpts.txt 的 Mex 选项文件
    • 名为 RhapSFunc_(您对块指定的名称)_Model.mdl 的 Simulink 模型文件(此文件表示 S-function 块)
  12. 打开 MATLAB 并转到 Rational Rhapsody 代码所在的输出目录。
  13. 运行命令 mex @MexOpts.txt

结果

S-function 创建输出

S-FunctionConfig 配置生成代码时,Rational Rhapsody 将执行下列操作:

使用 Rational Rhapsody 生成的 Mex 选项文件来运行 Mex 命令时,MATLAB MEX 编译器将创建可供 Simulink 使用的二进制文件。

计时与 S-function

对于与时间相关的事件,Rational Rhapsody 将使用目标操作系统的计时机制。由于 Simulink 有自己的计时机制,因此 Rational Rhapsody 在生成 S-function 代码时将考虑这一点。Simulink 时钟将被添加为 S-function 的输入。这对 Rational Rhapsody 中的用户不可视,但将生成的文件导入到 Simulink 时,您将看到时钟元素以及表示所定义的 S-function 的元素。


反馈