IBM® Rational® Rhapsody® 可用於建立 Simulink S-function,隨後即可將其插入 Simulink 模型。
關於這項作業
註: 此特性僅適用於
IBM Rational Rhapsody Developer for C。
程序
若要在 Rational Rhapsody 中建立 Simulink S-function,然後在 Simulink 中使用它:
- 建立 Rational Rhapsody 專案。
- 將 Simulink 設定檔匯入您的專案。
- 建立配置,然後將 S-FunctionConfig 模板套用至該配置。
- 將新建立的配置設定為作用中配置。
- 建立類別,然後將 S-FunctionBlock 模板套用至該類別。
- 將送入的流程埠新增至該類別,以代表送入的資料。
- 將送出的流程埠新增至該類別,以代表送出的資料。
- 針對您已新增的每個流程埠,在該類別中各新增一個屬性,以代表該流程埠。該屬性的名稱及類型必須與對應的流程埠相同。
- 為該類別實作狀態圖。
- 為您建立的配置產生程式碼。
- 配置的輸出目錄包括下列項目:
- 為模型產生的原始檔
- Rational Rhapsody 架構檔案(來自 Rational Rhapsody IDF 架構)
- 稱為 RhapsSFunc_(您提供給區塊的名稱).c 的 Simulink C 範本檔案
- 稱為 MexOpts.txt 的 mex 選項檔案
- 稱為 RhapSFunc_(您提供給區塊的名稱)_Model.mdl,且代表 S-function 區塊的 Simulink 模型檔
- 開啟 MATLAB,然後跳至包含 Rational Rhapsody 程式碼的輸出目錄。
- 執行 mex @MexOpts.txt 指令。
結果
建立 S-function 輸出
為 S-FunctionConfig 配置產生程式碼時,Rational Rhapsody 會執行下列動作:
- 完成 Simulink 提供的 sfuntmpl_basic.c 範本,並為其重新命名,以反映您指派給 S-function 區塊的名稱。
- 提取您為專案中 S-function 區塊輸入的資訊,然後使用您指派給 S-function 區塊的名稱,建立對應的 Simulink 模型檔。
- 產生 mex 選項檔案,其中包含必要的編譯器參數以及要使用的原始檔清單。
使用 Rational Rhapsody 產生的選項檔案執行 mex 指令時,MATLAB MEX 編譯器會建立可供 Simulink 使用的二進位檔。
計時及 S-function
對於與時間相關的事件,Rational Rhapsody 會使用目標作業系統的計時機制。由於 Simulink 具有自己的計時機制,Rational Rhapsody 在產生 S-function 程式碼時,將會考量此情況。它會將 Simulink 時鐘作為輸入新增至 S-function。在 Rational Rhapsody 中,使用者將看不到此時鐘,但將產生的檔案匯入 Simulink 之後,除了代表所定義 S-function 的元素以外,您還會看到一個時鐘元素。