在默认配置下,Simulink 模型自动生成的 C 代码的函数原型都是 void model_step(void) 的形式。但是,集成代码时,函数原型通常都需要满足指定的形式。
如何配置 Simulink 模型
才能使生成代码满足指定的函数原型?
点击末尾的 “阅读原文” 下载本文的案例模型
设置模型自动生成的代码的函数原型
要得到:
double myFun(double u1[10], double u2, double *y1)。
return y2
怎么做:
通过代码生成的接口配置界面 Interface 的 Configure Model Functions 来自定义 Simulink 模型所生成的 C 代码的函数原型。
举个例子
1. 模型
使用上一篇的模型:
默认配置生成代码的函数原型如下,数据传递都使用全局变量:
2. 配置
端口数据类型都设置为指定的 double:
接着配置函数原型为指定形式,如下图:
根据菜单设置,配置所需要的函数原型,最后使用Validate按钮来帮助检查:
如 Validate 后下方的红色文字所示,需要把 Base Workspace 里输入输出信号对象的 Storage Class 设置为 Auto。
另外,只能设置 return 一个变量。如果一定要返回多个值,可以考虑设置成结构体的形式。
因为模型里的 u1 是一个数组,所以在菜单里不能如上图设置为 Value。
3. 结果
最后得到的代码的函数原型:
总结
通过代码生成的接口配置界面 Interface 的 Configure Model Functions 页面来自定义模型代码的函数原型。
全部0条评论
快来发表一下你的评论吧 !