跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application

本文介绍创建和运行第一个Real Time Application的详细步骤,木木大哥尽量详细点,图文并茂。

一、创建Simulink模型

- (1)在本地硬盘上创建一个空白文件夹

    创建一个空白文件夹专门存放本示例生成的文档,方便管理,我的目录为E:\rtw\simulink\demo1

- (2)切换当前路径

    启动MATLAB并将当前路径切换到E:\rtw\simulink\demo1 ,后面编译程序的时候生成的各种文件都会保存到该目录下,如下图所示:
跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application_第1张图片

- (3)新建Simulink模型

    单击工具栏上的创建,在弹出的下拉菜单中选择Simulink Model,打开模型的编辑界面,在MATLAB工具栏上单击Simulink库,弹出Simulink Library Browser,在左侧树型面板中依次单击Simulink - Source,在右侧界面中选择Sine Wave并将其拖到模型编辑界面中,依照这个方法再添加一个Scope,路径是Simulink Real Time - Displays and Logging - Scope,在模型编辑界面中将这两个元件用线相连,最后的效果如下图所示:
跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application_第2张图片
    双击Sine Wave元件,弹出Source Block Parameters,在Amplitude一栏输入10000(我这里输一个比较大的数,方便之后观察波形),Frequency一栏输入50
最后将模型保存到目录E:\rtw\simulink\demo1

二、修改Simulink模型参数

- (1)修改Solver

    单击Simulation - Model Configuration Parameters,弹出Configuaration Parameters界面,单击左侧树型菜单的Solver,右侧的Solver optionsType选择Fixed-step,Solver选择ode4 (Runge-Kutta),Fixed-step size (fundamental sample time)取0.000250,其他选项取默认值即可,如下图所示:
跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application_第3张图片
    单击左侧树型菜单的Code Generation,右侧的System target file选择slrt.tlc,可通过单击右侧的Browse按钮查找,选择slrt.tlc后,Make commandTemplate makefile自动变为make_rtw和slrt_default_tmf,其它选项取默认值,Simulink Real-Time options还有一些选项需要根据实际情况选择,在此不做解释,最后的效果如下图所示:
跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application_第4张图片

    单击菜单栏的Simulink - Mode - External,如下图所示:
跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application_第5张图片
    此时,模型编辑器的工具栏发生了变化,如下图所示:
跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application_第6张图片

三、编译和运行

- (1)编译模型

    单击菜单栏 Code - C/C++ Code - Build Model,开始编译模型,如果编译过程中有错误,Simulink会弹出错误提示信息,如果没有错误则目标主机(Target)会出现如下界面:
跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application_第7张图片

- (2)运行

    单击菜单栏的Simulink - Connect To Target,开始连接目标主机,如果连接成功,则工具栏上的Run按钮将变为可用状态,如下图所示:
跟木木大哥学Simulink Real Time之- 创建和运行第一个Real Time Application_第8张图片
    单击工具栏上的Run按钮开始运行,目标主机屏幕上会出现一个正弦波形。
如果完全按照上面的设置,模型运行10秒钟后自动停止。

你可能感兴趣的:(simulink)