2013-05-13 28 views
1

我在我的項目中爲simulink設計了一個控制系統。現在我需要將此設計轉換爲C代碼。但目前沒有具體的硬件處理器已經決定代碼將駐留在哪裏。所以我需要從matlab中運行我的代碼。我對這個行業非常陌生,所以我不瞭解將控制設計從simulink改爲嵌入式控制器的步驟。如何將控制設計從simulink轉換爲C

因爲我沒有關於我應該遵循的工作流程的實際經驗,所以我可以請獲得一些指導,說明爲達到我的要求必須完成的一般規範。

回答

2

工作流程推薦:

確保您的設計已通過仿真測試。當您控制真實的硬件時,您不想檢測簡單的錯誤。

調查/決定目標要求。你是否擁有有限的資源(內存/速度),並且必須定製生成的代碼以適合你應該使用嵌入式編碼器的目標接口。否則,Simulink編碼器就足夠了(如果你有嵌入編碼器的話就使用它)。

確保您的模型接口匹配您的目標預期考慮數據類型,大小什麼,記錄的數據和狀態。如果您對如何連接代碼有特殊要求,則需要設置信號和其他數據的存儲類別。如果你能使用默認的代碼界面,你的生活將會變得更加簡單。

設置配置參數/代碼生成/系統目標文件的正確目標。用於快速原型代碼的grt.tlc和用於嵌入代碼的ert.tlc。然後,您可以查看優化和代碼生成屬性並根據需要進行設置。如果您的目標具有特定的數據類型,則還應該更改嵌入式硬件實現以匹配目標上的數據類型。

生成代碼(ctrl-b)。

將代碼集成到您的目標項目中。首先調用_initialize,然後在基於時間的循環set輸入中調用_step並讀取輸出。

它也可以讓你自己定製的目標來定製代碼接口,並提供直接所需的輸出,包括編譯和downloadingn目標。這主要用於快速原型設計,我建議先手動幾次,然後決定是否值得自動化。

1

您可能要開始看一些例子或Simulink CoderEmbedded Coder視頻。 Simulink編碼器用於生成C/C++代碼,但不一定針對在嵌入式處理器上運行進行優化(例如,可能用於快速原型或硬件在環)。嵌入式編碼器是Simulink編碼器的附件,用於優化生成的代碼以在嵌入式硬件上運行。

您可能還需要註冊一些他們的一些網絡研討會上的主題或看一些記錄的人(也有很多選擇)。