導(dǎo)讀:本期文章主要介紹一種C集成的Simulink類型的MATLAB仿真,這種仿真類似于半實物仿真,更好的貼合硬件實物。以SVPWM模塊的C集成實現(xiàn),來簡單介紹一下C MEX工作原理。
一、C MEX S_Function模塊介紹
S-Function(系統(tǒng)函數(shù))為擴展Simulink的性能提供了一個有力的工具。S-Function 可以使用MATLAB,C,C++,Ada,或Fortran 語言來編寫。使用MEX 實用工具,將C,C++,Ada,和Fortran 語言的S-Function 編譯成MEX-文件,在需要的時候,它們可與其它的MEX-文件一起動態(tài)地連接到MATLAB 中。
S-Function 使用一種特殊的調(diào)用格式讓你可以與Simulink 方程求解器相互作用,這與發(fā)生在求解器和內(nèi)置Simulink 塊之間的相互作用非常相似。S-Function 的形式是非常通用的,且適用于連續(xù)、離散和混合系統(tǒng)。
1.1在模型中使用S-Function
為了將一個 S-function 組合到一個Simulink 模型中,首先從Simulink 用戶定義的函數(shù)塊庫中拖出一個S-Function 塊,然后在S-Function 塊對話框中的S-Function name 區(qū)域指定明確的S-Function 的名字。如下圖所示:
圖1-1S-function 塊、對話框、及決定塊功能的源文件之間的關(guān)系
1.2 S-Function的工作原理
要創(chuàng)建 S-function,你必須了解S-function 是如何工作的。要了解S-function 如何工作,則需要了解Simulink 是如何進行模型仿真的,那么又需要了解塊的數(shù)學(xué)公式。因此,本節(jié)首先從一個塊的輸入、狀態(tài)和輸出之間的數(shù)學(xué)關(guān)系開始介紹。
1.2.1 Simulink塊的數(shù)學(xué)關(guān)系
Simulink 塊包含一組輸入、一組狀態(tài)和一組輸出。其中,輸出是采樣時間、輸入和塊狀態(tài)的函數(shù)。
u:S-Function模塊的輸入;y:S-Function模塊的輸出;x:就是S-Function要實現(xiàn)什么功能所對應(yīng)的函數(shù)。
1.2.2 C MEX S-Function的一般格式
二、SVPWM模塊C MEX實現(xiàn)
圖2-1 C集成SVPVM仿真系統(tǒng)
圖2-2基于C MEX建模方法的仿真結(jié)果
表2-1 N與扇區(qū)的對應(yīng)關(guān)系
為了驗證C MEX模型的正確性,圖2-2給出了SVPWM模塊的仿真結(jié)果。由圖2-2的第一通道可知,扇區(qū)N的值為3à1à5à4à6à2且交替變換,與表2-1所示的結(jié)果相同;由圖2-2的第二通道可知,由SVPWM模塊得到的調(diào)制波呈馬鞍波,這樣有利于提高直流電壓的利用率,有效抑制諧波;由圖2-2的第三通道可以看出,得到的相電壓為6拍階梯波,與實際理論相符。因此以上的仿真結(jié)果驗證了C MEX SVPWM模塊的正確性和可行性。
-
matlab
+關(guān)注
關(guān)注
185文章
2976瀏覽量
230534 -
仿真
+關(guān)注
關(guān)注
50文章
4087瀏覽量
133648 -
模型
+關(guān)注
關(guān)注
1文章
3248瀏覽量
48864
原文標題:C集成的MATLAB/Simulink類型仿真學(xué)習(xí)總結(jié)
文章出處:【微信號:淺談電機控制,微信公眾號:淺談電機控制】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論