2013-02-24 47 views
0

我如何開發在Simulink的模型,其上的代碼生成生成下列性質這需要一個參數作爲自變量的函數:在simulink中使用一個參數生成函數?

void DoProcessing(ReceiveEvent enEvent) 
{ 
    switch(enEvent) 
    { 
     case a: 
      abcd(); 
      break; 
     case b: 
      efgh(); 
      break; 
    } 
} 

因此,如何在功能Simulink中談到一個參數模型?

回答

0

我不知道,如果編譯Simulink模型,或者只是想在Simulink塊像你描述的行爲,所以這裏有兩種解決方案:

有在Simulink塊稱爲「Embebed Matlab code」裏你可以用Matlab語言編寫你想要的任何函數。它可以有任何你想要的輸入和輸出。

如果你正在做的是將simulink模型編譯爲「.c」文件,並且你想要一個塊來做到這一點,爲什麼不直接寫在C?

+0

嗨 感謝您的答覆。 我必須從模型中生成C代碼。但我更喜歡以圖形方式做而不寫實際的代碼。那麼主要目標是將所有東西都做成圖形,然後生成代碼,以便用戶不必手動編寫代碼。 有沒有一種方法可以使用'Simulink Library Browser'中可用的模塊完全圖形化地實現該功能? – GuiccoPiano 2013-02-25 10:31:25

+0

@GuiccoPiano有一個Matlab 2012b和laters,允許用戶在simulink中編寫matlab代碼,這個代碼叫做「Embebed Matlab code」。嘗試找到它。你可以用matlab編寫一個典型的函數,並將它轉換爲一個執行該函數的塊。 – 2013-02-25 10:33:44

+0

@GuiccoPiano對不起,我的意思是Matlab 2010b – 2013-02-25 10:45:26

0

我想這是非常接近(1,2,而不是A和B):

enter image description here

+0

謝謝,但也許我應該正確地重新構建問題: 請參考原始問題:ReceiveEvent是一個枚舉的對象,在我的系統中已經在matlab之外定義了,所以我不想在matlab中再次定義這個枚舉,所以簡而言之,我想從matlab以外的地方導入枚舉。一個類型爲ReceiveEvent的變量 現在我的問題是如何在matlab中設計一個模型或者需要做些什麼設置來獲得一個函數,該函數需要一個枚舉類型的參數(enum被定義在matlab的外部)代碼生成。 – GuiccoPiano 2013-03-01 15:48:41