?

基于CCS與MATLAB/Simulink聯合仿真平臺的構建與實現*

2016-11-28 06:12渠博崗易映萍
電子技術應用 2016年4期
關鍵詞:固態控制算法步長

渠博崗,易映萍

(上海理工大學 光電信息與計算機工程學院,上海 200093)

基于CCS與MATLAB/Simulink聯合仿真平臺的構建與實現*

渠博崗,易映萍

(上海理工大學 光電信息與計算機工程學院,上海 200093)

為了快速驗證電力電子控制系統中 DSP(Digital Signal Processor)控制算法,提高控制算法開發效率,提出了CCS(Code Compose Studio)與MATLAB/Simulink聯合仿真。介紹了CCS與MATLAB/Simulink聯合仿真基本原理,給出了聯合仿真平臺的構建方法與聯合仿真實現的方法;著重給出了CCS IDE腳本文件編寫關鍵步驟和基于Level_2的S-Functon函數的編寫關鍵步驟。最后以混合式固態開關為例,在Simulink環境下構建了混合式固態開關模型,并通過聯合仿真實現了混合式固態開關的功能,驗證了方案的正確性。

DSP;CCS;Simulink;聯合仿真;混合式固態開關

0 引言

在現代電力電子控制系統的開發中,DSP芯片以其優越的運算性能在控制算法領域得到了越來越廣泛的應用。在對DSP的開發過程中,往往首先使用MATLAB/Simulink等軟件對控制系統進行仿真,然后再進行程序設計,最后再將程序執行結果與仿真結果對比并對程序進行修改,且控制算法程序的驗證與調試都需要完整的電力電子硬件系統,并有硬件電路工程師的配合才能較為順利地進行,然而這種傳統的方法效率低下,且不具有靈活性?;诖?,提出了CCS與MATLAB/Simulink聯合仿真的思想,可先在MATLAB/Simulink中搭建硬件系統,應用MATLAB/Simulink中的CCSLink工具,來實現MATLAB/Simulink與DSP開發環境CCS的互聯,從而通過CCS與 MATLAB/Siumlink聯合仿真來實現對控制算法的驗證和調試。不僅可以實現仿真與程序調試的交互,而且還在硬件系統未準備就緒的情況下實現控制算法程序的驗證與調試,同樣的方法不僅適用于電力電子控制系統,還適用于其他基于DSP實現的控制系統。因此,CCS與MATLAB/Simulink的聯合仿真不僅可以快速驗證控制算法,也可使仿真與開發同時進行,提高開發效率[1]。

1 MATLAB/Simulink與CCS聯合仿真的基本原理

1.1Simulink仿真原理

Simulink進行動態仿真,需要借助Simulink求解器來實現[2]。求解器分為離散求解器和連續求解器。Simulink對離散系統的仿真核心是對離散系統差分方程的求解,且結果精確。而對連續系統進行仿真時,則通過對連續系統微分或偏微分方程進行求解,且解為近似解,因此Simulink的連續求解器分為定步長求解器和變步長求解器。對于定步長求解器,不存在誤差控制的問題,而對于變步長求解器,仿真步長會受到絕對誤差和相對誤差的控制,只有求解誤差滿足相應誤差范圍,才會進行下一步仿真[3]。

然而在實際系統中,很少存在單純的離散系統或者連續系統,多為混合式系統,而連續變步長求解器可以同時滿足離散系統和連續系統的求解。連續變步長求解器先以最大步長進行求解,若該仿真區間內有離散狀態更新,步長便減小到與離散狀態的更新相吻合,之后再計算積分誤差以控制求解,若求解誤差滿足誤差范圍,則進行下一步仿真,否則縮小時間間隔,重復此過程進行求解仿真。

Simulink求解器雖然是 Simulink進行動態仿真的核心,但求解器計算出的系統狀態和仿真步長與系統模型的直接交互也非常重要。交互的核心是事件通知,而過零檢測則用來檢測系統中是否有事件發生。當系統在前一仿真步長時間內發生了過零事件,變步長求解器就會縮小仿真步長,目的是判定事件發生的準確時間。交互原理見圖1。

圖1 Simulink與求解器的交互原理

1.2MATLAB/Simulink與CCS聯合仿真原理

DSP在對系統進行控制時,一般以一定頻率采集系統中的電量參數,運算后輸出控制信號。在 MATLAB/Simulink與 CCS進行聯合仿真時,MATLAB可以將Simulink仿真模型中每一仿真步長的仿真電量參數通過CCSlink傳遞給 CCS,再通過CCS傳遞給 DSP板,DSP板經過運算后輸出控制信號通過 CCS傳輸給 Simulink作為下一仿真步長中仿真模型的控制量。如此循環直至仿真結束[4]。仿真流程見圖2。

圖2 MATLAB/Simulink與CCS聯合仿真流程圖

2 MATLAB與CCS聯合仿真平臺的構建

2.1MATLAB與CCS的連接接口

為了實現聯合仿真,首先需要使用CCSLink工具來實現MATLAB與CCS的連接。MATLAB/Simulink與 CCS之間的關系如圖3所示,CCSLink工具提供了 3種連接接口,即CCS IDE、RTDX和嵌入式對象[5]。

圖3 MATLAB/Simulink與 CCS之間的關系

(1)CCS IDE:該接口允許MATLAB在命令窗口中啟動和停止目標DSP中的程序,并與目標DSP進行數據交互、監視目標DPS狀態等。用戶也可以編寫MATLAB程序腳本來實現CCS與MATLAB交互和分析的自動化。

(2)RTDX(Real Time Data Exchange):該接口可實現MATLAB與目標DSP的實時數據交互。通過打開、使能、關閉或禁止目標DSP的RTDX通道,來實現MATLAB通過該通道向目標DSP進行操作或讀取數據,且交互過程中不需要停止目標DSP程序的執行。RTDX連接對象只是CCS連接對象的一個子類,在創建CCS連接對象的同時創建RTDX連接對象,它們不能分別創建。

(3)嵌入式對象:該接口可在MATLAB中創建一個對象,該對象代表嵌入在目標C程序中的變量。利用嵌入式對象可直接訪問目標DSP中存儲器和寄存器中的變量,即把目標C程序中的變量作為MATLAB中的一個變量來對待[4]。

2.2CCS IDE腳本文件關鍵編寫步驟

CCS IDE提供了ccsdsp函數和ticcs函數來建立CCS操作對象,即將CCS映射為MATLAB中的一個操作對象,這樣就可以通過調用相關MATLAB函數來控制CCS軟件實現對DSP目標板上的程序進行在線調試。腳本文件編寫關鍵步驟如下[1]:

(1)仿真前需安裝 CCS 3.3軟件及 MATLAB R2009a以上版本。

(2)打開CCS3.3,在Code Coposer Studio Setup中設置所使用的目標DSP型號及仿真器型號。若需要使用CCS的軟件仿真功能,可在Platform下選擇Simulator。

(3)打開 MATLAB,在命令窗口輸入 ccsboardinfo,則會顯示DSP和仿真器型號,選擇與所使用相符合的DSP和仿真器型號,并記錄下相應的仿真器編號Board Num與DSP編號Proc Num。

(4)使用步驟(3)得到的 Board Num與 Proc Num,通過ticcs建立CCS對象,并顯示調試界面:

(5)在 MATLAB中加載 CCS工程文件夾,并在編譯后加載可執行文件。函數中需要標示出.prj與.out文件路徑,示例如下:

(6)MATLAB與CCS數據交互的設置。MATLAB只能識別與調用CCS中的全局變量。所以可利用函數list (cc,'globlevar')通過 MATLAB的命令窗口顯示出 CCS所有的全局變量以便調用。如若需要添加新的交互變量,可使用 symbolInfo語句關聯到 tgtSymbol。如下示例便實現了使CCS全局變量a作為交互量:

(7)MATLAB與CCS的數據交互,需要在CCS程序中設置斷點,設置斷點所用函數為 cc.insert();且一般斷點都設置在DSP采樣或運算完成后。當程序運行到斷點處時MATLAB將數據傳遞給CCS,所用函數為cc.write();若變量為結構體變量,則在 tgtsymble后輸入結構體變量名,在number后輸入結構體成員名,示例如下:

(8)由于斷點一般都設置在DSP采樣或運算完成后,所以可控制程序運行到斷點處。此時程序暫停執行,可通過CCS讀取DSP更新后的控制信號,供MATLAB下一步仿真使用,示例如下:

3 MATLAB與CCS聯合仿真的實現

3.1S-Function函數的原理

在MATLAB與CCS的聯合仿真中,不僅算法設計較為復雜,每一個仿真步需要精確定位,且每次仿真中都需要輸入大量的指令,MATLAB提供的 Simulink仿真模塊已無法滿足這些需求。所以需要在MATLAB中以編程的方式即S-Function(System Function系統函數)來實現。

S-Function是 MATLAB提供的可以讓用戶自定義Simulink模塊的功能。用戶可通過 S-Function設計出Simulink來實現算法設計,并將其嵌入到系統模型中,最終在仿真中與 Simulink自帶的其他模塊實現對復雜系統的仿真[6]。MATLAB與 CCS聯合仿真框圖如圖4所示。

圖4 MATLAB與CCS聯合仿真框圖

S-Function有兩種類型,一種是基于 MATLAB語言的M文件,分為Level_1和Level_2兩種。另一種是基于C語言,C++語言或者FORTRAN語言等編寫的MEX文件。S-Function函數對比見表1。

表1 S-Function函數對比

鑒于 Level_1類型的 S-Function在數據處理上的局限性和 MEX文件形式的 S-Function在編寫上較為復雜,且編譯后的后續設置也比較復雜,文章使用了 Level_2類型的S-Function。

3.2基于Level_2的S-Function函數的關鍵編寫步驟

Level_2的S-Function包含三部分,分別是:主函數、模塊設置函數和功能子函數。其中功能子函數為可選函數。關鍵編寫步驟如下[7]:

(1)主函數的定義。主函數函數名可自定義,在調用時只需輸入該M文件的文件名即可,示例如下:

(2)模塊設置函數的定義。模塊設置函數可對輸入和輸出端口數量及數據屬性、采樣時間、參數輸入中的參數數量與屬性、注冊各功能函數等進行設置,示例如下:

(3)功能子函數的定義。功能子函數的使用必須在模塊設置函數注冊后才能被Simulink使用。功能子函數的名稱可自定義,無需與相應的子函數注冊名相同。以Terminate終止函數為例,示例如下:

4 基于CCS與Simulink聯合仿真的混合式固態開關

4.1混合式固態開關工作原理

在當前的輸配電領域中,機械式斷路器仍被大規模應用。但由于機械式斷路器在通斷過程中容易產生涌流和電弧。為此開發了混合式固態開關,該種開關將電子開關與旁路斷路器并聯,合閘時電子開關先導通,在電壓過零時旁路斷路器合閘,隨后電子開關關斷,旁路斷路器長期導通;當分閘時電子開關導通,在電流過零時旁路斷路器分閘,隨后電子開關關斷。這就實現了開通關斷無涌流無電?。?]。圖5所示為混合式固態開關拓撲結構。

圖5 混合式固態開關拓撲結構

4.2混合式固態開關模型的構建

Simulink構建的混合式固態開關模型,一次系統模型包括三相交流電網、高壓側斷路器、變壓器、隔離開關、接地開關、混合式固態開關和阻性負載;二次系統模型包括控制模塊、電壓電流檢測模塊、上位機模塊、顯示模塊和開入開出模塊。

控制模塊是混合式固態開關二次系統的核心,而其中的由S-Function函數編寫的自定義模塊Simulink-CCS則是實現聯合仿真的核心??刂颇K功能是將混合式固態開關主電路的電壓、電流、開入信號及上位機模塊的起停等信號通過CCSLink傳遞給CCS軟件,CCS軟件將這些信號傳遞給目標DSP來進行處理和執行相應算法,隨后目標DSP將隔離斷路器動作、接地開關動作和旁路斷路器動作等開出信號和晶閘管觸發等控制信號反饋到 CCS,CCSLink再讀取這些信號給開出模塊和控制主電路。

4.3聯合仿真結果

圖6為DSP發送給A相晶閘管觸發脈沖與A相電壓的波形圖。當混合式固態開關開通信號發出后,a觸發脈沖立刻發出,從圖中可見開通脈沖在相電壓接近零值時給出,這就避免了合閘涌流,a脈沖一直持續到旁路斷路器可靠閉合信號發出為止。當混合式固態開關關閉信號發出后,b觸發脈沖立即發出,持續到旁路斷路器可靠斷開信號發出為止,此后晶閘管在電流過零時自然關斷。B、C相原理同A相。

圖6 A相晶閘管觸發脈沖與A相電壓關系

圖7為混合式固態開關啟動時A、B、C三相電流波形,從圖中可看出三相電流均從接近零值開始變化,證明了開通時無涌流。

圖7 混合式固態開關開通時三相電流波形

圖8為混合式固態開關關斷時A、B、C三相電流波形,從圖中可看出三相均在電流過零時自然關斷。

圖8 混合式固態開關關斷時三相電流波形

5 結論

本文針對在傳統電力電子控制系統開發過程中,仿真與控制算法的實現存在無交互性、開發效率低下等問題,提出了基于CCS與 MATLAB/Simulink聯合仿真的思想,介紹了聯合仿真的基本原理,并給出了聯合仿真平臺的構建方法和聯合仿真實現的方法。著重介紹了CCS IDE腳本文件編寫與基于 Level_2的 S-Functon函數編寫的關鍵步驟。最后通過混合式固態開關在聯合仿真下的研究,驗證了聯合仿真思想、仿真平臺的構建及實現方法的正確性。也證明了聯合仿真可提高控制算法開發效率,在電力電子控制系統等領域具有較高的實用價值。

[1]YUAN S,SHEN Z.The design of MATLAB-DSP development environment for control system[C].Digital Manufacturing and Automation(ICDMA),2012 Third International Conference on.IEEE,2012:903-906.

[2]齊鑫,秦永元,朱新穎,等.基于 MATLAB/Simulink的捷聯慣性導航系統仿真[J].計算機測量與控制,2008,16 (8):1161-1163.

[3]李謹,鄧衛華.AMESim與MATLAB/Simulink聯合仿真技術及應用[J].情報指揮控制系統與仿真技術,2004,26 (5):61-64.

[4]段國強,陳月云.MATLAB輔助DSP設計的研究與實現[J].微計算機信息,2007,23(7-2):130-132.

[5]冷斌,李學勇,劉建華.一種基于MATLAB的DSP調試及直接代碼生成方法[J].現代電子技術,2008,31(20):68-70.

[6]HEIBERGER R M,BECKER R A.Design of an S function for robust regression using iteratively reweighted least squares[J].Journal of Computational and Graphical Statistics,1992,1(3):181-196.

[7]CHENG H D,CHEN Y H,SUN Y.A novel fuzzy entropy approach to image enhancement and thresholding[J].Signal Processing,1999,75(3):277-301.

[8]王松岑,湯廣福,于坤山,等.新型中壓固態切換開關的研究[J].電網技術,2006,30(S2):311-315.

Construction and implementation of co-simulation platform based on CCS and MATLAB/Simulink

Qu Bogang,Yi Yingping
(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)

In order to validate the DSP algorithm of power electronic control system and improve the development efficiency,this paper puts forward the co-simulation based on CCS and MATLAB/Simulink.This paper introduces the basic principle of co-simulation and gives the construction and implementation of co-simulation platform.The key steps of compilation of CCS IDE script file and S_Function based on Level-2 are also given.Finally,the Hybrid Solid State Switch(HSSS)model was constructed under Simulink,and the basic functions of HSSS were realized through co-simulation,which verifiedthe validity of the scheme.

DSP;CCS;Simulink;co-simulation;hybrid solid state switch

TP391.9

A

10.16157/j.issn.0258-7998.2016.04.030

滬江基金(B14002/D14002,C14002)

2015-12-18)

渠博崗(1990-),男,碩士研究生,主要研究方向:電力電子與電氣傳動。

易映萍(1967-),女,副教授,主要研究方向:電力電子與電氣傳動,電網大數據。

中文引用格式:渠博崗,易映萍.基于 CCS與 MATLAB/Simulink聯合仿真平臺的構建與實現[J].電子技術應用,2016,42 (4):106-110.

英文引用格式:Qu Bogang,Yi Yingping.Construction and implementation of co-simulation platform based on CCS and MATLAB/Simulink[J].Application of Electronic Technique,2016,42(4):106-110.

猜你喜歡
固態控制算法步長
基于Armijo搜索步長的BFGS與DFP擬牛頓法的比較研究
固態Marx發生器均流技術研究
Sn摻雜石榴石型Li7La3Zr2O12固態電解質的制備
透明陶瓷在固態照明中的應用進展
基于隨機森林回歸的智能手機用步長估計模型
紡織機械手專利瞄準控制算法
基于Armijo搜索步長的幾種共軛梯度法的分析對比
基于ARM+FPGA的模塊化同步控制算法研究
基于動態步長的無人機三維實時航跡規劃
寬禁帶固態功放在導航衛星中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合