您可以使用 IBM® Rational® Rhapsody® 来创建
Simulink S-function,然后,可以将这些 S-function 插入到 Simulink 模型中。
关于此任务
此功能只有在
IBM Rational Rhapsody Developer for C 中才适用。
过程
- 创建一个 Rational Rhapsody 项目。
- 将 Simulink 概要文件导入到项目中。
- 创建配置并对其应用 S-FunctionConfig 构造型。
- 将新创建的配置设置为活动配置。
- 创建一个类,并将 S-FunctionBlock 构造型应用于该类。
- 对这个类添加传入流端口以表示传入数据。
- 对这个类添加传出流端口以表示传出数据。
- 对于您添加的每个流端口,对这个类添加一个属性以表示该流端口。此属性的名称和类型都必须与相应的流端口相同。
- 为这个类实现状态图。
- 生成已创建的配置的代码。
- 此配置的输出目录将包含下列各项内容:
- 为此模型生成的源文件
- Rational Rhapsody 框架文件(来自 Rational Rhapsody IDF 框架)
- 名为 RhapsSFunc_您对块指定的名称.c 的 Simulink C 模板文件(例如 RhapsSFunc_BlockSFA.c)
- 名为 MexOpts.txt 的 mex 选项文件
- 名为 RhapSFunc_您对块指定的名称_Model.mdl 的 Simulink 模型文件,此文件表示 S-function 块(例如 RhapsSFunc_BlockSFA_Model.mdl)
- 打开 MATLAB 并转到 Rational Rhapsody 代码所在的输出目录。
- 运行命令 mex @MexOpts.txt。
结果
S-function 创建输出
为 S-FunctionConfig 配置生成代码时,Rational Rhapsody 将执行以下操作:
- 完成 Simulink 提供的 sfuntmpl_basic.c 模板,并将其重命名以反映您对 S-function 块指定的名称。
- 将您为 S-function 块输入的信息引入项目,并使用您对 S-function 块指定的名称来创建相应的 Simulink 模型文件。
- 生成 Mex 选项文件(此文件包含必需的编译器开关以及要使用的源文件的列表)。
使用 Rational Rhapsody 生成的 Mex 选项文件来运行 Mex 命令时,MATLAB MEX 编译器将创建可供 Simulink 使用的二进制文件。
计时与 S-function
对于与时间相关的事件,Rational Rhapsody
将使用目标操作系统的计时机制。由于 Simulink 有自己的计时机制,因此
Rational Rhapsody 在生成 S-function 代码时将考虑这一点。Simulink
时钟将被添加为 S-function 的输入。这对 Rational Rhapsody
中的用户不可视,但将生成的文件导入到 Simulink
时,您将看到时钟元素以及表示所定义的 S-function 的元素。