使用 Rational Rhapsody 建立 Simulink S-function

IBM® Rational® Rhapsody® 可用於建立 Simulink S-function,隨後即可將其插入 Simulink 模型。

關於這項作業

註: 此特性僅適用於 IBM Rational Rhapsody Developer for C

程序

若要在 Rational Rhapsody 中建立 Simulink S-function,然後在 Simulink 中使用它:

  1. 建立 Rational Rhapsody 專案。
  2. 將 Simulink 設定檔匯入您的專案。
  3. 建立配置,然後將 S-FunctionConfig 模板套用至該配置。
  4. 將新建立的配置設定為作用中配置。
  5. 建立類別,然後將 S-FunctionBlock 模板套用至該類別。
  6. 將送入的流程埠新增至該類別,以代表送入的資料。
  7. 將送出的流程埠新增至該類別,以代表送出的資料。
  8. 針對您已新增的每個流程埠,在該類別中各新增一個屬性,以代表該流程埠。該屬性的名稱及類型必須與對應的流程埠相同。
  9. 為該類別實作狀態圖。
  10. 為您建立的配置產生程式碼。
  11. 配置的輸出目錄包括下列項目:
    • 為模型產生的原始檔
    • Rational Rhapsody 架構檔案(來自 Rational Rhapsody IDF 架構)
    • 稱為 RhapsSFunc_(您提供給區塊的名稱).c 的 Simulink C 範本檔案
    • 稱為 MexOpts.txt 的 mex 選項檔案
    • 稱為 RhapSFunc_(您提供給區塊的名稱)_Model.mdl,且代表 S-function 區塊的 Simulink 模型檔
  12. 開啟 MATLAB,然後跳至包含 Rational Rhapsody 程式碼的輸出目錄。
  13. 執行 mex @MexOpts.txt 指令。

結果

建立 S-function 輸出

S-FunctionConfig 配置產生程式碼時,Rational Rhapsody 會執行下列動作:

使用 Rational Rhapsody 產生的選項檔案執行 mex 指令時,MATLAB MEX 編譯器會建立可供 Simulink 使用的二進位檔。

計時及 S-function

對於與時間相關的事件,Rational Rhapsody 會使用目標作業系統的計時機制。由於 Simulink 具有自己的計時機制,Rational Rhapsody 在產生 S-function 程式碼時,將會考量此情況。它會將 Simulink 時鐘作為輸入新增至 S-function。在 Rational Rhapsody 中,使用者將看不到此時鐘,但將產生的檔案匯入 Simulink 之後,除了代表所定義 S-function 的元素以外,您還會看到一個時鐘元素。


回饋