码迷,mamicode.com
首页 > 编程语言 > 详细

Qt调用simulink自动生成的C++代码

时间:2017-10-16 15:03:10      阅读:429      评论:0      收藏:0      [点我收藏+]

标签:有一个   structure   期望   代码   分享   image   .cpp   time   文件夹   

simulink自带工具用于生成C和C++代码,其中C代码可以无需修改用于C工程中,由于生成的C++代码为标准值代码,而Qt为C++的实现,调用simulink生成的C++程序也可正常工作。

软件版本:

simulink:2016a

Qt:5.7

1,搭建一个简单的数学运算模型,本模型没有输入,只有一个输出。如下:

技术分享

2,配置模型

2.1 设置模型为固定步长,运行结束时间inf。

2.2设置输出格式为“Structure”,也可设置为其他,如Array

技术分享

2.3选择代码生成语言C++,具体设置如下,其中目标文件为grt.tlc,即Generic real-time Target。

技术分享

2.4 设置代码接口在 C++ Class中,在Qt调用中可以避免一些莫名其妙的错误。

技术分享

2.5 检查设置,在2.3步骤中单击“check Model”按钮,检查配置是否正确,如果有错误或警告,则按照推荐的设置,最后结果如下:

技术分享

3,编译模型,Ctrl+B或者单击如下按钮

技术分享

4,编译后会在当前目录下生成后缀grt_rtw的文件夹,里面即是编译后的程序。

5,在Qt中创建一个简单的widght程序,名字为testModel.

6,将步骤4中生成的.h,.cpp文件添加到Qt工程中,并把所有依赖的.h文件一并加入(在MATLAB安装文件中),最终增加的如下:

技术分享

7,在mainwindow.cpp的构造函数中增加如下代码(相关的变量声明未单独列出):

  pModel = new testModelClass();

    pModel->initialize();
    pModel->step();
    qDebug()<<"simulink output:"<<pModel->test_Y.Out2;

8,运行Qt程序输出结果如下,和期望的一致:

simulink output: 12

 

以上表明Qt是可以调用simulink的C++代码的,进一步的可以将模型的输入在也Qt程序中设置。

Qt调用simulink自动生成的C++代码

标签:有一个   structure   期望   代码   分享   image   .cpp   time   文件夹   

原文地址:http://www.cnblogs.com/Pan-Z/p/7676310.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!