隨著Simulink模型的產品化開發進程,許多模型開發人員會關心模型的建模自動化問題。比如如何對模型中的元素進行批量查找和修改;如何構建自己的建模規則對模型進行檢查;如何實現測試自動化等。在這些使用場景中我們都需要了解一些Simulink函數,或者稱之為Simulink API。以下我們通過兩個小例子來演示Simulink常見函數的功能吧。
案例一:自動創建并保存Simulink模型
% 新建一個名為‘mymodel’的模型,并返回句柄值h
h = new_system('mymodel');
% 打開剛才新創建的模型
open_system(h);
% 保存模型并重命名為‘newsysname’
save_system('mymodel', 'newsysname.slx');
% 或者做一些防錯處理,如在MATLAB路徑中發現已有待保存的同名模型時給出命令行提示
save_system('mymodel','newsysname.slx','ErrorIfShadowed',true);
接下來可以創建MATLAB快捷方式,取名為‘createModel’,將上述代碼作為快捷方式的回調函數,這樣在需要快速新建一個模型,直接點擊該快捷方式即可。
案例二:批量查找并修改Simulink模塊
%創建一個名為setBlocks的函數,用于批量修改模型中的所有輸入模塊的數據類型
function setBlocks(sys)
%查找模型中所有模塊類型為Inport的模塊,并將結果保存到blk中
blk = find_system(sys,'BlockType','Inport');
blk會返回查找到的所有符合條件的模塊對象:
%在for循環中依次修改所得模塊的屬性
for n=1:length(blk)
set_param(blk{n},'OutDataTypeStr','int16')
end
最后在命令行中調用上述函數,輸入參數為模型名。
>>setBlocks('test')
調用setBlocks前的test模型如下:
調用setBlocks后的test模型:
小貼士
在需要察看模塊具備哪些屬性時,可將鼠標單擊該模塊并在命令行輸入:
>>inspect (gcbh)
即可打開如下屬性觀測器:
在上述案例中我們用到了Simulink的new_system, open_system, save_system, find_system, set_Param等API, 此外更多的API可以在MATLAB的幫助文檔中找到,靈活運用這些API可以幫助提高建模效率,實現許多很酷又實用的功能。
精彩技術文章
老胡專欄:自動生成的代碼支持哪些硬件平臺?
怎樣生成我想要的C代碼系列
解鎖隱藏技能 | 使用Stateflow調用外部C代碼
-
數據
+關注
關注
8文章
7252瀏覽量
91715 -
自動化
+關注
關注
29文章
5772瀏覽量
84661
發布評論請先 登錄
是德頻譜分析儀的遠程控制與自動化測試方案詳解

概倫電子目標驅動模型提取自動化平臺SDEP介紹

HFSS 自動化建模工具
自動化水廠監控系統
Simulink與 Simscape的結合使用
Simulink中的狀態機建模方法 Simulink數據可視化與分析功能
Simulink自定義模塊開發教程 Simulink 在控制系統中的應用
PLC在工業自動化的應用及解決方案

工業自動化的發展歷程與未來趨勢
工控自動化電流信號隔離柵

Matlab/Simulink/Stateflow建模開發及仿真測試
邊緣計算在工業自動化中的應用
開關電源自動化測試設備:如何實現自動化測試?

評論