2017-02-09 144 views
0

所以我想要做的是這樣的:我有一個simulink狀態流模型。爲了從這個模型中顯示一些東西,我構建了一個GUI。在這個GUI中,我有一個按鈕,應該在按下時將標誌設置爲true,我想在我的stateflow模型中使用它來啓動轉換。所以每當我在stateflow中進入一個特定的狀態時,我將該標誌的值設置爲false,並且當我按下按鈕時,我希望它設置爲true。不幸的是我找不到任何方法來從GUI回調函數中設置stateflow中的本地參數。我試過使用數據存儲塊,但即使我可以從stateflow模型中設置值,但我無法從GUI的回調函數中設置值。從Matlab腳本寫入DataStore

幫助將非常感激!

回答

0

我曾經構建過一個類似的GUI,我爲Simulink模型添加了一個測試工具。 爲了使這項工作成爲可能,而不是過多地將Simulink設計作爲「Level 2 Matlab S函數」來實現。

這確實意味着som接口開銷(設置端口及其參數),但是您可以從stateflow圖中獲取任何信號進入或退出狀態到這樣的塊(您可能需要az^- 1個反饋迴路,如果你們都想獲得輸出和控制輸入)。

可以從開始塊調用GUI代碼,並在「更新」段中讀取值。如果按鈕被激活,則將其保存在輸出功能中評估的變量中,然後設置輸出端以指示此事件(如果需要,使用復位邏輯)。

查看Level 2 Matlab S函數的在線幫助,特別是msfuntmpl_basic.m以便開始使用。

希望這會有所幫助。我想指出的是,這要求您將交互限制爲stateflow具有輸入/輸出的那些交互。