摘 要:本文基于MATLAB/RTW的功能研究,設計了一種半實物仿真系統,系統采用的方法是快速原型設計實現技術,這種技術集軟件開發、硬件開發和算法設計與實現這三個階段于一體,提供了一個快速開發的方法,利用這種方法可開發和研究工程實踐中的產品(如PID控制器)。具體方法是利用Matlab/Simulink/RTW提供的實時的開發環境,使用RTW進行實時仿真和目標代碼生成功能,用戶可以縮短產品開發周期,降低成本。RTW可以支持基于模型的實時控制及調試,適用于加速仿真過程和快速原型化,為控制系統開發提供了一種快速開發的實用方法。
關鍵詞:MATLAB/SIMULINK/RTW PID控制 半實物仿真 實時控制
引言
現代市場對產品的需求呈現多樣性和快速性的趨勢,對控制系統安全性和可靠性的要求也與日俱增,為了在激烈的市場競爭中取勝,必須不斷地縮短新產品開發與投入市場的周期,這就出現了企業新產品面臨著多樣性的需求和快速開發之間的矛盾。為了設計可靠的控制系統,滿足用戶的多樣化需求,縮短項目開發周期,降低產品開發費用,需要采用先進的開發工具來加速設計流程。使用快速原型設計技術來進行控制系統開發的目的就是為了縮短開發周期,在行業競爭中能夠快速開發新產品,從而獲得最大的經濟效益和市場益。
在本文介紹的基于RTW的半實物仿真系統中,RTW是MATLAB圖形建模和仿真環境Simulink的一個重要的補充功能模塊,它能直接從Simulink的模型中產生優化的、可移植的和個性化的代碼,并根據目標配制自動生成多種環境下的程序。利用它可加速仿真過程,或生成可在不同的快速原型化實時環境下的程序。通過使用RTW,我們可以將主要精力集中在系統設計上,從而縮短了為控制器開發研發周期,提高了工作效率。基于RTW的半實物仿真如圖1所示。

采用Matlab提供的工具箱建立PID控制模型,當模型實驗完成后,通過RTW直接生成代碼,通過整合、交叉編譯、下載到目標機,宿主機監控目標機,按實際要求實時修改參數,開發出符合實際要求的控制器。
1 系統組成及原理
1.1 硬件組成
計算機是半實物仿真系統的核心,負責各種參數的實時采集和數據處理,并根據數據處理結果進行決策,產生控制信息,從而控制被控對象的運行狀態。為了提高系統實時仿真的能力,本研究采用主、目標機結構,如圖2所示。

宿主機:是帶有以太網卡和通訊端口的臺式計算機,其上安裝Windows操作系統,并安裝MATLAB、Simulink、RTW(Real TimeWorkshop)、xPCTarget以及相應的C語言編譯器等軟件。主要用于實現仿真前期準備和仿真過程中的實時交互任務,具體擔負著編譯仿真源程序、啟動仿真運行、在運行過程中提供交互控制等任務。
目標機:當控制系統比較復雜時常采用帶ISA插槽和以太網卡的工控機;當控制系統控制對象單一、簡單且要求不高,為了節約成本采用單片機;它用于實時運行仿真程序,具體負責執行仿真目標程序、通過I/O通道與外部實物進行數據交換、實現半實物實時仿真。
主機和目標機通過RS232或TCP/IP協議進行通信。
外圍設備:是實際的工業被控對象,在仿真過程中,先在主計算機上用Simulink建立仿真模型,通過RTW的編譯變為可執行代碼,然后通過連接好的網絡下載到目標機上運行。目標機可以通過各種I/O板接入被控對象進行半實物仿真。
1.2 軟件環境
操作系統為Windows,所用的程序為MATLAB7.0/Real-time Workshop/Real-time Windows Target、相應的C語言編譯器。
1.3 系統原理
基于RTW的半實物仿真的過程如圖3所示:

首先,用Simulink建立模型,然后利用RTW分析模型,并將其轉化為C語言對應的代碼;
然后,由相應的C語言編譯器生成代碼之后,再轉換為xPC Target平臺下的可執行代碼;
最后,生成的可執行程序通過網絡傳送到目標機上,主機發出指令即可運行程序,副計算機同時將仿真過程中的信號傳回到主機。
在實際的工業控制器開發中,用Simulink和xPC Target對工業被控系統進行半實物仿真時,既要通過數據采集卡D/A接口將仿真工控機的計算結果送往被控系統,還要通過數據采集卡采集信號送到仿真工控機。xPC Target提供了將這些I/O接口接入計算機的各種驅動程序。避免直接用RTW進行半實物仿真方案時,需用C語言編寫接口程序等工作,簡化半實物仿真的工作量。在建立Simulink仿真模型時,直接將所用到的板卡功能對應的模塊拖入Simulink仿真模型中,并在實際仿真工控機中插入相應板卡,然后編譯模型文件,模型文件中的板卡信息被編譯為可執行代碼,下載到目標機并執行和I/O板建立了聯系,將實際的板卡連到仿真回路中,在仿真過程中可從數據采集卡輸入輸出數據,進行半實物仿真。
2 半實物仿真實驗
2.1 首先實現PC對PC的實時代碼生成
通過實現PC對PC的實時代碼生成,驗證用RTW進行半實物仿真是可行、可靠、便捷的。
實驗硬件組成:
宿主機是運行Matlab、Simulink和Real-Timeworkshop的計算機,實時可執行代碼的生成以及實時控制參數調整就是在宿主機上完成的;
目標機是運用Real-Time Workshop生成的代碼的PC機;
主、目標機是網絡通信。
實現PC對PC實時監控的具體步驟:
(1) 建立正弦發生器Simulink仿真模型:

(2)生成目標代碼:
系統模型通過軟件仿真得到了預期正弦波,接下來就是將模型生成C代碼,便于移植到目標機上運行。
目標代碼生成的過程:
1)打開Simulink設置頁configuration Parameters
2)設置求解器步長為固定步長
3)設置工作方式為外模式
4)點擊Build生成代碼
(3)設置目標PC的IP地址,把宿主機已生成的代碼通過網絡傳到目標PC。
(4)啟動目標PC運行生成代碼,宿主機通過Scope監控目標PC。
2.2 宿主機生成代碼在單片機上實現
該實驗目標機為MCS-51(ADUC812)單片機,通過RS232串口線通信。
宿主機生成代碼在單片機上實現的步驟:
(1)將宿主機生成代碼下載到目標及系統;
(2)配置端口驅動:
Simulink的端口驅動是通過S函數來實現的。S函數使用一種特殊的調用規則來實現用戶與Simulink的內部解法器進行交互。
(3)實時仿真:
目標機接電源,主機通過Scope顯示正弦波,此時主機對目標機實時監控。
純軟件仿真圖與目標機的仿真圖:

通過對主機上純軟件仿真圖與目標機的仿真圖比較表明:
(1)主機完成了對目標機代碼的生成,并能夠對其進行實時監控、參數調整(通過調整純比例控制Kp實現),目標機能夠實時運行RTW代碼。
(2)用RTW進行半實物仿真是可行、可靠、便捷的。
以上試驗僅是把控制算法(純比例Kp控制)及系統模型轉化成C代碼下載到目標機上運行,還沒有連接被控對象。
下面對PID閉環控制系統進行半實物仿真平臺搭建,把PID控制器與被控對象連接,來深入研究半實物仿真平臺搭建,為實現復雜的工業PID控制系統開發提供方法。
2.3 PID閉環控制系統半實物仿真平臺搭建
該半實物仿真平臺控制器用實物,而受控對象使用計算機建立的數學模型。
圖7為一實際的PID控制半實物仿真框圖:

此框圖將控制器通過研華PCL-1710A卡和工控機模擬的被控對象連接起來,宿主機通過RS232串口線和控制器連接起來,這讓輸出的信號反饋回宿主機,這形成PID閉環半實物仿真平臺。
該閉環系統半實物仿真的方法及步驟是:首先要對系統建立較為精確的數學模型,依此作為被控對象,和實際的控制電路板組成半實物仿真模型,系統采集的信號通過PCL-1710A的A/D口送入工控機,控制信號由D/A口輸出。在SIMULINK仿真環境下,利用RTW的實時視窗目標(Real-Time Windows Target),在實驗條件下,較為精確的實時的再現系統的運行結果,通過對故障和正常等各種情況的比較,對控制參數實時調整,最終得到滿意的控制器。
鑒于該系統仿真具體實現與所做的實驗方法一致,本論文就不論述。
結論
基于RTW的PID算法及半實物仿真研究,整個過程得出以下結論:
① 實際實驗表明:采用RTW仿真的結果和實際實時控制實驗結果基本吻合,這證明RTW仿真模型和控制算法實現是可靠的。
② 相對于VC++等編程語言或組態軟件開發整套控制系統的傳統開發方式而言,基于RTW的快速一體化解決方法,可使系統設計人員把主要精力放在系統設計、模型搭建上,大大節省了開發時間,使開發效率大大提高。
③ 本課題的研究為基于RTW開發復雜過程控制系統、實時控制過程中測控儀器的開發提供了參考,具有實際的指導意義。
參考文獻:
[1]王偉,張晶濤,柴天佑.PID參數先進整定方法綜述.自動化學報,2000.26,(3):347-355.
[2]浙江大學化工自動化教研組.調節器的工程整定和校驗.北京:石油化學工業出版社,1976.
[3]陶永華.新型PID控制及其應用.北京:機械工業出版社,2002:233-235.
[4]金鑫,譚文,李志軍等.典型工業過程魯棒PID控制器的整定.(控制理論與應用待刊出).
[5]Astrom K J,Hangglund T,HangCete Automatic tuning and adaptation for PID controllers A survey.Control Engineer—ing Practice,1993,(1):699-714.