Qt調用simulink自動產生的C++代碼

來源:互聯網
上載者:User

標籤:有一個   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++代碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.