趙建勇, 湯加鈺, 孫 丹, 年 珩, 吳 敏, 盧慧芬
(浙江大學電氣工程學院,杭州 310027)
當前正值“雙一流”戰略加快發展之際,實驗教學作為“雙一流”建設的重要內容,對于高校人才培養、科學研究、社會服務功能的實現都是重要的技術支撐和有力保障。電力電子技術、電機控制等課程是電氣工程專業的主干專業課程,有極強的工程實踐性,該類課程的實驗設置尤為重要[1-2]。隨著實驗項目和學生人數的增多,傳統實驗室的實驗儀器數量和質量都很難滿足實驗的需求,在教學和學生使用上的不便之處也慢慢凸現出來。
在實驗教學中,主要采取實物實驗和虛擬實驗的實驗方式。實物實驗受到實驗空間、設備等資源的限制,往往存在:建設費用昂貴、部署空間受限、設備維護工作量大、難以靈活實現電路和電機參數的變更等問題,實驗人數和課程設計的靈活性受到制約[3]。因此,探究虛擬仿真實驗的相關平臺開發對實驗教學具有積極的現實意義。
現階段,伴隨著虛擬仿真技術的提升,電氣工程相關專業課程陸續開發了多項虛擬仿真實驗。如電力電子技術課程的“單相橋式半控整流電路”、電機控制課程的“晶閘管雙閉環直流調速系統”、電氣裝備計算機控制系統課程的“數據采集計算機控制技術”等。這些虛擬仿真實驗內容的開發,提升了相關課程實驗教學范圍的廣度和實驗教學內容的深度,為提升實驗教學質量提供了有力支撐。
在開設虛擬仿真實驗的同時也碰到了許多問題。例如:各門課程的實驗未能使用統一平臺,使實驗開設的復雜程度加大;仿真軟件復雜的使用方法耗費了大量的實驗時間;各實驗內容的差異導致實驗學時數無法均衡等多項問題。因此,需要充分梳理各門課程的實驗內容,將實驗內容形成體系,歸納到統一的實驗平臺,并設置合理可行的使用方法,以此提高虛擬仿真實驗課程的教學效率和學生受益率。
虛擬仿真教學近幾年在國內外發展十分迅速,國內多所高校的電氣學科都在建設不同類型的虛擬仿真教學系統?,F在虛擬仿真實驗教學從架構上分類可以如圖1所示,主要有3類。

圖1 虛擬仿真實驗教學分類
(1)場景演示類。該類實驗多以錄像或動畫演示為主,學生通過各功能鍵可觀看實驗系統圖像及各類運行畫面,部分實驗提供了VR演示,該類型多針對規模大、系統復雜的實驗,缺點是學生操作空間小,實驗教學受益指數低。
(2)仿真軟件類。該類實驗一般借助不同的仿真軟件實現,學生通過仿真軟件自帶的功能完成相應的實驗,該類實驗應用較廣,可完成從基礎到綜合創新的各類實驗。缺點是系統性差、部分軟件操作復雜、需開發改造。
(3)虛實結合類。該類實驗以遠程網絡平臺控制現場實驗裝置為主,學生可通過網絡平臺遠程完成實驗操作,該類實驗多針對信號處理、通信等弱電類實驗。缺點是實現較復雜、現場維護量大、建設費用高、電機控制及電力電子類強電實驗內容較難實現。
目前,面向電氣工程的專業課程虛擬仿真實驗平臺主要提供場景演示類實驗。結合專業軟件開發一套具備電氣工程類專業課程建模、調試及控制策略研究的虛擬仿真實驗系統,將是對現有實驗體系的有效補充和完善。
在電氣工程虛擬仿真實驗中,Matlab是最具影響的仿真軟件之一,由于本科實驗教學課時較少,而該軟件部分功能使用復雜,學生不易上手,增加了本科實驗教學中使用該軟件的難度。因此,需要研究如何降低本科學生群體使用該軟件進行虛擬仿真實驗的入門門檻,提高其學習效率。Matlab/GUI提供的簡單便捷可視化界面功能,為基于Matlab虛擬仿真實驗平臺搭建提供了良好的基礎。通過GUI可以將各項實驗內容規整到統一的使用平臺,在該平臺設計豐富的人機交互功能后可與實物實驗互補,解決因教學資源不足、傳統實驗方式過于刻板、實驗室教學和維護費時費力的問題。[4-6]
目前國內外已有部分基于Matlab/GUI的仿真實驗探究案例,大多是針對特定的實驗內容,實驗項目固定,缺少可拓展性。尚未出現結合多門專業課程、具備多種實驗模式的綜合性虛擬仿真實驗平臺。同時,現有相關文獻大多以實驗內容的設計思路為主題,對實驗平臺構建技術要點并未介紹。本文將以現有各類虛擬仿真實驗研究工作為基礎,以Matlab各類仿真模型為理論和實踐依據,借助Matlab/GUI功能,構建一套多課程、多層級、多功能綜合虛擬仿真實驗系統[7-9,11]。
實驗系統在設計時以Matlab M函數、Simulink以及GUI人機界面功能為基礎。M函數和simulink部分主要編寫和提供各實驗內容搭建模型必須的模塊,GUI用于設計虛擬仿真系統的整體功能、各層級界面以及子層級功能[10]。
面向GUI的虛擬仿真實驗系統需包含多門課程的實驗架構和多個層次的實驗體系,通過主界面選項框或菜單進入不同層次的虛擬仿真實驗子界面?;A仿真實驗層級:通過大量基礎實驗的仿真,使學生加深理解課程基本理論知識,掌握基礎模塊建模仿真、軟件調試的方法和技能,逐步培養學生自主學習能力。探究性實驗層級:通過自主建模仿真、圖形分析,增強學生專業技能知識,強化學生綜合實驗能力。綜合創新實驗層級:引入各類科研熱點內容,結合專業特色,使學生接觸行業前沿,了解技術發展趨勢,激發學生探索創新精神,提升學生科學研究素養。圖2為實驗平臺設計流程圖。

圖2 實驗平臺設計流程圖
綜合分析各門課程實驗內容要求,尋找課程分界點和銜接點,對納入實驗平臺的實驗內容統一進行分層級規劃,結合課程教學計劃將實驗內容分為必做、選做、演示等多個類型。根據設計實驗體系架構分別在simulink環境下建立對應的仿真模型,驗證實驗的可行性,對于Simulink中無法提供的模塊,則通過M函數或S函數等方式編程建模。仿真模型調試完成后分別進行歸類,將學生自主建模部分的模型拆分為多個子模型,并將模型放入對應的模型庫,供學生實驗時選用,演示實驗則保留完整的實驗模型,同時預留參數整定等調節端口,便于學生學習。最后結合Matlab/GUI人機界面設計功能,根據實驗體系架構和實驗要求建立相應的操作界面,完成虛擬仿真實驗平臺設計。
為滿足電氣工程學科虛擬實驗教學的需求,實驗平臺需要具備以下功能:
(1)選擇實驗內容。實驗平臺能夠根據課程、實驗類型等選項,顯示和索引各個實驗,該功能將集成在一個具體的GUI界面;
(2)電路參數調節。實驗平臺能夠對實驗模型的特定參數進行修改,根據用戶輸入的參數更改模型并進行仿真,該功能將以GUI界面的形式進行體現;
(3)電路波形顯示。實驗平臺能在仿真完成后將仿真輸出數據繪制成曲線,顯示在實驗主界面中,并具有保存、編輯和上傳等功能;
(4)實驗講義和資料的嵌入。實驗平臺能將實驗相關的資料文件,如文檔、講義、圖片等,顯示或列于實驗界面相關菜單欄中,便于查看;
(5)自主建模。實驗平臺將具有打開、編輯實驗項目的simulink模型或新建模型的功能,并為用戶使用simulink建模時方便查找對應模塊提供便利。
按照設計思路,虛擬實驗仿真平臺主要由主界面、實驗界面、輸入參數編輯界面等部分構成,通過這些圖形化的用戶界面,用戶可以完成實驗選擇、進行參數仿真、自主建模和實驗內容編輯等諸多功能。
實驗系統主界面如圖3所示。該主界面左側部分為實驗選擇區,用戶可選擇位于目錄下的實驗課程、實驗類型和實驗名稱來查找到具體的實驗所在位置。該界面的右側部分為實驗內容,顯示該實驗需要的文件。在選定實驗后,該程序會識別并提取指定文件夾中的slx模型文件、mat數據文件作為輸入的實驗模型以及圖片、文檔等實驗信息。右下側按鈕提供新建simulink模型的“自主建?!惫δ芎痛蜷_指定模型、實驗信息的“參數整定”功能?!疤砑涌焖偎饕庇糜谔砑雍蛣h除自定義的庫文件,可為自主建模提供便利。

圖3 實驗平臺主界面
在主界面設計中,各項主要功能實現時的關鍵環節如下:
(1)實驗信息索引通過控件回調調用函數完成,分為實驗文件夾位置的索引和文件夾內信息的索引;
(2)檢索課程函數scan_course()和檢索實驗函數scan_exp()利用Matlab函數dir()列出當前文件夾中的文件和文件夾,得到下一級文件的內容;
(3)檢索文件后綴函數scan_model()在實驗名稱列表框控件值發生變化時被ValueChangedFcn()回調引用;
(4)加載自定義庫時使用了函數addpath()、sl_refresh_customizations,其中addpath()將自定義庫的slx模型文件和slblocks.m文件添加到Matlab的搜索路徑中,sl_refresh_customizations指令可更新庫瀏覽器的目錄順序,保障自定義庫出現在置頂位置。
圖4為參數整定實驗界面示例,打開實驗“單相橋式半控整流電路”。

圖4 參數整定實驗界面
界面布局可分為左、中、右3部分。界面左側部分提供了實驗相關的指導信息。界面左側上方為實驗原理圖,可通過上方的復選框查看多張原理圖;顯示在界面左側下方文本框內的文本為實驗講義,可通過左側中間菜單分別選擇查看實驗目的、實驗原理、實驗步驟、實驗要求等內容;同時,左側中間菜單欄還設計了其他相關實驗資料選擇功能,可通過該功能查看實驗相關的理論知識、仿真示例等資料。
界面中間部分是實驗仿真結果的輸出波形。波形顯示個數可以自由確定,具體個數由界面右下側相關菜單進行配置。波形數據來自simulink的示波器輸出,標題、圖例和坐標軸一并配置。仿真完成后,波形會自動繪制,通過右下面板可以更改波形的時間軸。
界面右側為參數和功能設置部分。其中右上側是實驗參數設置部分。參數的名稱、內容等可根據具體實驗要求任意配置。輸入參數的類型有文本框和下拉框2種,根據simulink模型元件中的參數類型自動選擇;右下側是實驗操作功能選擇部分,包括仿真指令、打開模型指令、繪圖指令以及獨立圖像繪圖指令等相關操作功能。
通過該界面中參數整定“編輯”和“保存”按鈕可打開參數編輯界面,如圖5所示,打開界面后,左側列表框為模型中所有模塊的名稱,中間列表框為選定的模塊的所有參數,右上側的列表框為選中的輸入參數,右下側文本框為選定的參數的相關信息。通過該界面選擇輸入參數并輸入名稱后,可將輸入參數返回到ExpUI界面,重新設置輸入參數。

圖5 參數編輯界面
在界面設計中,各項主要功能實現時的關鍵環節如下:
(1)實驗原理圖顯示在Image控件上,通過更改ImageSource屬性顯示圖片,通過復選框app.DropDown_scheme控件的回調ValueChangedFcn將圖片文件輸入Image控件的ImageSource屬性,達到修改文件名稱的目的;
(2)實驗文檔存儲為txt文件,顯示在文本框TextArea控件上,將相應文件內容打開后輸入控件Value屬性即可;
(3)實驗講義支持pdf、doc、ppt等形式,Matlab的open函數可以識別并選擇相應應用程序打開;
(4)實驗輸入參數存儲在mat文件para_in.mat中,通過輸入面板的控件進行顯示,參數整定界面ExpUI將會讀取para_in.mat的內容到ExpUI的屬性app.Exp_data.para_in,然后將數據賦予控件;
(5)模型加載主要通過在仿真界面初始化startupFcn,使用load_system()函數載入當前實驗的仿真模型。
此外,需要注意,實驗平臺界面中的uiaxe控件對應的波形圖像不能直接內部調用,輸出按鈕圖標較難調整,在圖像較小時難以選中??紤]到實驗用戶進一步查看和保存波形圖像的需求,可添加將圖像以如圖6所示的Figure獨立圖窗形式顯示的附加功能。

圖6 獨立圖窗顯示的波形
該實驗平臺通過Matlab Appdesigner編程環境開發,產生的程序代碼為mlapp格式??纱虬l布的格式有3種:Matlab App、Web App、獨立桌面App。
考慮到該實驗平臺主要針對Matlab/simulink仿真實驗,并且與simulink仿真軟件進行了大量的數據交互,如果打包為獨立于Matlab的App會需要安裝大量的功能包,對于該實驗平臺顯得不必要。因此考慮打包為Matlab App,在Matlab環境下安裝。
打包時,選取實驗選擇界面Homepage_new()作為主程序,加入實驗文件夾和庫文件夾作為共享文件,然后點擊打包選項,完成實驗程序的打包。
該實驗平臺具有通用性,可用于各類使用simulink仿真的實驗課程教學。作為電氣工程學科的虛擬實驗平臺,主要用于專業課程實驗教學。為檢驗平臺的效能,對電力電子技術、電機控制和電氣裝備計算機控制技術等課程的多個實驗進行效果測試。
該實驗基于圖7所示實驗模型(為節省篇幅,后續案例不再體現實驗模型圖)的“單相橋式半控整流電路”,可調節電源的頻率、電壓、觸發移相角、續流二極管以及負載等參數,仿真該電力電子電路的基本的工況。調整圖像時間軸范圍至幾個波形周期,點擊仿真按鈕,待運行完畢輸出仿真結果,如圖8所示,可看到在感性負載下,輸出電壓為缺塊的半波,缺塊為60°,由于模型使用的Pulse Generator(Thyristor,6-Pulse)模塊輸入α比實際電路小30°,與觸發脈沖匹配。輸出電流為帶有紋波的直流電流,同時可觀察到器件上的尖峰電流。實驗結果輸出符合該電力電子電路特性[12]。

圖7 單相橋式半控整流電路實驗模型

圖8 單相半控整流電路實驗界面
該實驗模型為“直流電動機雙閉環控制系統”,需要設置內外環的PI控制參數、速度的階躍指令給定以及負載的階躍擾動。將PI參數設置在可以穩定控制的數值。先后給定速度的階躍指令和負載的階躍擾動。運行該實驗,仿真結果如圖9所示,可見,該電動機模型可在經歷一次超調后穩定到給定速度。電樞電流在穩態時根據負載穩定在固定值附近,在電動機加速時和加載時出現不同電流峰值,體現電功率和機械功率的轉換。實驗結果符合雙閉環晶閘管電動機控制系統的特性[13]。

圖9 晶閘管雙閉環不可逆直流調速實驗界面
該實驗模型為“SVPWM電動機驅動系統”主要環節為三相異步調制波的生成,可設置三角載波的頻率與運行頻率。設置完成后,調節仿真時長至幾個周波開始仿真。得到結果如圖10所示,可觀察到三角波、載波和輸出的PWM信號,可將時間軸進一步縮短查看其波形的對應關系。此外,也可查看該PWM信號驅動下的電動機三相電壓、電流和電動機轉速。實驗結果符合異步電動機驅動系統的特性[14]。

圖10 SVPWM驅動電動機實驗界面
圖11為電氣裝備課程中的“繼電器、接觸器硬件電路實驗”。實驗內容是搭建電動機驅動系統模型以及通過繼電器和接觸器實現對電動機的啟停和正反轉控制。啟停和正反轉控制指令分別通過2個不同周期、占空比和相位的方波產生。設置指令的6個輸入參數后開始進行仿真,可觀察到電動機轉速的方向符合方向指令。電動機的轉速和電流對電動機啟停指令的響應,符合一般的電動機的電流和轉速特性。驗證了電動機繼電器硬件電路能夠有效控制該電動機的運行[15]。

圖11 繼電器、接觸器硬件電路實驗界面
Matlab/Simulink仿真是研究電氣工程模型、分析電路運行原理的有效手段。本文設計了一種基于Matlab/GUI的電氣工程虛擬仿真實驗平臺,平臺在實驗內容上可以支撐電力電子技術、電機控制、運動控制技術以及電氣裝備計算機控制技術等多門課程,具有實驗選擇、電路參數調節、電路波形顯示、實驗講義和資料的嵌入以及自主建模等多種功能。
從應用上,該平臺在使用中可很方便地新建、修改各種實驗項目,具有很強的二次拓展性。通過簡單的測試,該平臺對于從簡單的電力電子電路到異步電動機矢量控制模型的廣泛電氣工程仿真實驗模型都具有良好的適應性。該平臺在應用范圍上可進一步擴大到自動控制原理、電氣控制技術等課程。
從未來功能擴展而言,平臺在設計上考慮了二次優化開發的可能,實驗平臺依托Matlab/GUI環境運行,易于修改調整布局。后續可方便地開發虛擬網絡實驗,豐富自主建模庫等功能,提升實驗用戶的理論分析能力和虛擬仿真實踐能力,適合目前國內高校的實際狀況,對電氣工程實驗教學改革具有積極的促進意義。