我是靠谱客的博主 眯眯眼溪流,这篇文章主要介绍搭建Simulink模型,现在分享给大家,希望可以做个参考。

完成设置后就可以搭建模型了。
Code Generation 的模板一般采用Function-Call Generator模块。(也有直接对subsystem直接采用 build This Subsystem的形式生成代码,这里不推荐)如下:模型
生成文件
按照上篇文章描述进行的设置会生成以子系统名为名的.c和.h文件,以及rtwtypes.h。如下:
这里写图片描述
Model.c即函数的源文件。
Model.h为声明文
rtwtypes.h为数据位类型定义文件(该文件即生成代码与标准C之间的接口定义)
函数接口
生成的接口函数名为Function-Call Generator中子系统部分的命名(上的命名)以及模型系统名分别加上尾缀构成,如下:

复制代码
1
2
3
4
extern void Model_initialize(void); extern void AdddFunc(vcoid); extern void Model_terminate(void); );

其中 Model_initialize 供初始化调用,
AddFunc 供周期性调用,
Model_terminate供函数生命周期结束后调用。
变量接口
变量传递的方式一般式通过全局变量的形式进行的,如果没有对信号变量进行定义(在信号线上定义),模型中具体为函数
生成的接口变量以结构体形式存在:

复制代码
1
2
3
4
5
6
7
8
9
10
11
/* External inputs (root inport signals with auto storage) */ typedef struct { real_T a; /* '<Root>/a' */ real_T a1; /* '<Root>/a1' */ } ExtU_Model_T; /* External outputs (root outports fed by signals with auto storage) */ typedef struct { real_T b; /* '<Root>/b' */ } ExtY_Model_T;

可以通如下两种方式实现

1 在信号上命名,通过修改信号线的属性实现
信号
2 在信号线上命名,
这里写图片描述
如上,勾选Signal name must …,然后在Model Explorer
中定义
这里写图片描述
点击1,修改2的name和dataType,选择3处的变量存储类型即可。
注意,该处定义的变量需要保存,每次运行模型前需要加载数据至Workspace中。可以保存为.mat和.m两种格式:.mat用save命令即可;.m可以通过右键的形式完成
:模型可以参考我上传的资源

最后

以上就是眯眯眼溪流最近收集整理的关于搭建Simulink模型的全部内容,更多相关搭建Simulink模型内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部