梁樹甜 沈楓 王孟蓮,2 張麗
(1. 中國船舶重工集團公司第七一二研究所,武漢 430064; 2. 武漢理工大學(xué)能源與動力工程學(xué)院,武漢 430063)
計算機仿真技術(shù)是近四十年來發(fā)展起來的一門綜合性很強的新興技術(shù)學(xué)科,它結(jié)合了系統(tǒng)工程、現(xiàn)代數(shù)學(xué)和計算機技術(shù),用計算機求解來反映實際系統(tǒng)的數(shù)學(xué)模型的過程,以達到研究、開發(fā)、使用和檢測實際的或設(shè)想的系統(tǒng)的目的[1]。對于復(fù)雜系統(tǒng)的研究,采用系統(tǒng)仿真的方法,在計算機上構(gòu)建仿真模型,對仿真對象進行反復(fù)多次的實驗,既可以取代耗資大的真實物理對象的物理模擬和實驗,同時又具有投資少、效益高、風(fēng)險小、可重復(fù)、周期短等特點,目前它已成為船舶電力推進領(lǐng)域研究必不可少的工具。本文采用計算機仿真技術(shù)設(shè)計船舶交流電力推進系統(tǒng)的故障仿真軟件,以其降低電力推進系統(tǒng)條件變化帶來的成本和風(fēng)險,提高實際系統(tǒng)安裝之前發(fā)現(xiàn)可能出現(xiàn)的問題的可能性,也可以為電力推進系統(tǒng)故障診斷的研究提供數(shù)據(jù)。
作為一種軟件開發(fā)規(guī)范,面向?qū)ο蟮能浖_發(fā)過程和建模方法能夠建立復(fù)雜的、大規(guī)模的、分布式的軟件系統(tǒng),其核心是類(Class)概念及其實例對象(Object)的應(yīng)用,具有模塊化、抽象化、封裝性、重用性等特點。在眾多的面向?qū)ο蟪绦蛟O(shè)計的語言中,Visual C++將程序設(shè)計方法與可視的軟件開發(fā)環(huán)境完美地結(jié)合,再加上其優(yōu)秀的數(shù)值計算能力,以及對 C、C++語言的兼容性,使得Visual C++在科學(xué)計算及其可視化方面具有無與倫比的優(yōu)越性[2]。本文即應(yīng)用 Visual C++6.0 對船舶電力推進系統(tǒng)故障仿真軟件進行設(shè)計。
仿真軟件采用模塊化設(shè)計方法[3],主要包括主程序模塊、模型控制模塊、變壓器模型模塊、變頻器模型模塊、電動機模型模塊、仿真控制模塊、基本參數(shù)設(shè)置模塊、故障現(xiàn)象設(shè)置模塊、參數(shù)顯示模塊、通信模塊等,仿真軟件的體系結(jié)構(gòu)如圖1所示。
圖1 仿真軟件體系結(jié)構(gòu)
圖2 仿真軟件流程圖
如圖2所示,仿真軟件流程為:
1) 仿真開始,判斷是否進行基本參數(shù)設(shè)置,若設(shè)置基本參數(shù),進入第2步,否則進入第3步;
2) 設(shè)置變壓器、變頻器、電動機、推進工況等基本參數(shù),進入第4步;
3) 基本參數(shù)取一組默認值,進入下一步;
4) 順序合閘,進入下一步;
5) 判斷是否進行故障設(shè)置,如果要設(shè)置故障,進入第6步,否則進入第7步;
6) 設(shè)置變壓器、變頻器、電動機的運行參數(shù)和典型故障,進入下一步;
7) 主程序模塊中的定時器響應(yīng)函數(shù),完成模型控制模塊、參數(shù)顯示模塊、通信模塊的基本功能,進入下一步;
8) 判斷是否停機,如不停機,返回第5步,否則進入下一步;
9) 順序分閘,仿真結(jié)束。
下面具體介紹各軟件模塊的設(shè)計。
系統(tǒng)模型示意圖如圖3所示。
圖3 電力推進系統(tǒng)模型示意圖
3.1.1 變壓器模型
類 CTransformer是變壓器的模型,輸入是發(fā)電機組的輸出電壓和電流,輸出是變頻器的輸入電壓和電流,建立模型的基本公式為:
式中:U1、U2——變壓器原、副邊電壓;I1、I2——變壓器原、副邊電流;N1、N2——變壓器原、副邊繞組匝數(shù);k——變壓器變比。
3.1.2 變頻器模型
變頻器的出現(xiàn)是船舶電力推進取得長足發(fā)展和廣泛應(yīng)用的關(guān)鍵因素。通過調(diào)節(jié)變頻器的輸出頻率和電流值即可達到調(diào)節(jié)推進電動機輸出轉(zhuǎn)速和轉(zhuǎn)矩的目的,繼而使螺旋槳輸出船舶航行所需的推進功率。類 CConverter是變頻器的模型,輸入是變壓器的輸出電壓和電流,輸出是電動機的輸入電壓和電流。
3.1.3 電動機模型
推進電動機由推進變頻器供電,直接驅(qū)動螺旋槳。類CMotor是電動機的模型,輸入是變頻器輸出電壓和電流,輸出是轉(zhuǎn)速,建立模型的基本公式有[4,5]:
式中:n——異步電動機轉(zhuǎn)速,f——輸入頻率,s——轉(zhuǎn)差率,p——極對數(shù),P1——電動機從電源吸收的功率,UN、IN——定子相電壓、相電流,cosφ——功率因數(shù),P2——電動機輸出功率,η——電動機效率,T——電動機轉(zhuǎn)矩,I——電動機回轉(zhuǎn)部分的轉(zhuǎn)動慣量,Tp——螺旋槳上的水阻力矩,KQ——螺旋槳扭矩系數(shù),ρ——海水密度,D——螺旋槳直徑。運用上述公式建立電動機運動模型。
模型控制模塊完成系統(tǒng)模型運行及流程控制、參數(shù)輸入輸出等工作,模型控制模塊與模型模塊類圖如圖4所示。
如圖 4所示,類 CTransformer、CConverter、CMotor繼承于虛基類 CEquipment,COperator對象包含一個或多個派生于 CEquipment的對象。類COperator維護模型控制的相關(guān)信息,提供模型控制的相關(guān)行為。COperator對象通過接口CEquipment來訪問、操作具體模型對象(如CTransformer對象)。仿真過程中,需要經(jīng)常根據(jù)仿真結(jié)果修改模型,這種設(shè)計充分運用了 C++的多態(tài)性,屏蔽模型類的實現(xiàn)細節(jié),將模型類變化對軟件的影響降低。
圖4 模型控制模塊與模型模塊類圖
接口層是軟件和用戶及外部系統(tǒng)之間進行交互的接口,主要包括人機接口和通信模塊,其中人機接口包括主程序模塊、基本參數(shù)設(shè)置模塊、故障現(xiàn)象設(shè)置模塊、仿真控制模塊、參數(shù)顯示模塊。仿真軟件主畫面如圖5所示。
圖5 仿真軟件主畫面
主程序模塊是仿真軟件中最重要的部分,其定時器響應(yīng)函數(shù)通過訪問模型控制模塊來驅(qū)動模型程序運行,同時調(diào)用通信模塊完成與外部系統(tǒng)的交互。這里,由于窗口定時器精度存在限制,且其定時消息的優(yōu)先權(quán)太低,而多媒體定時器不依賴于消息機制, 而是用函數(shù)產(chǎn)生一個獨立的線程,定時精度可達1ms,又由于模型程序?qū)崟r性要求較高,所以定時器采用多媒體定時器。
基本參數(shù)設(shè)置模塊完成基本參數(shù)的設(shè)置,這些參數(shù)是電力推進系統(tǒng)運行所需的最基本的參數(shù),并且在仿真過程中不能再設(shè)置,所以要在仿真開始前進行設(shè)置,設(shè)置對話框如圖6所示。
圖6 基本參數(shù)設(shè)置對話框
圖7 故障現(xiàn)象設(shè)置對話框
故障現(xiàn)象設(shè)置模塊完成仿真中故障現(xiàn)象[6,7]的設(shè)置,故障現(xiàn)象的設(shè)置分為兩種,一種為典型現(xiàn)象的設(shè)置,一種為參數(shù)的設(shè)置,如圖 7所示。由于仿真系統(tǒng)分為左右推進系統(tǒng),所以故障現(xiàn)象設(shè)置中變壓器、變頻器、電動機各分左右兩個。設(shè)置的數(shù)據(jù)也是經(jīng)主程序模塊傳遞到各模型模塊,各模型模塊根據(jù)故障設(shè)置進行系統(tǒng)故障仿真。
參數(shù)顯示模塊包括推進系統(tǒng)主要參數(shù)顯示、系統(tǒng)單線圖顯示(如圖 5所示)、左右變壓器參數(shù)顯示、左右變頻器參數(shù)顯示、左右電動機參數(shù)顯示。此模塊負責(zé)把模型運行中的數(shù)據(jù)取出并顯示,以此反映系統(tǒng)的運行狀況。
基本參數(shù)默認值采用某實船的數(shù)據(jù)。
推進電機正常運行的轉(zhuǎn)速仿真曲線如圖 8所示。
圖8 推進電機正常運行轉(zhuǎn)速仿真圖
本軟件主要功能是進行故障模型的仿真。例如設(shè)置左變頻器“輸出頻率低”現(xiàn)象,此時推進電機轉(zhuǎn)速仿真曲線如圖9所示。
圖9 系統(tǒng)故障時推進電機轉(zhuǎn)速仿真圖
與實船測量數(shù)據(jù)比較,本仿真軟件能模擬實際電力推進系統(tǒng)的運行狀況。
本文在分析船舶電力推進想系統(tǒng)運行原理的基礎(chǔ)上,在 Visual C++6.0中建立了船舶電力推進系統(tǒng)的運行仿真模型,設(shè)計了船舶電力推進系統(tǒng)故障仿真軟件。通過試驗分析并與實際系統(tǒng)比較,證明軟件可以仿真船舶電力推進系統(tǒng)正常和故障情況下系統(tǒng)各參數(shù)的變化。本故障仿真軟件可以作為船舶電力推進系統(tǒng)設(shè)計和研究的參考,也可以為船舶電力推進系統(tǒng)故障診斷的研究提供數(shù)據(jù)。
[1]季振洲, 李東, 姚鴻勛. 計算機組成技術(shù)[M]. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2003.
[2]孫鑫, 余安萍. VC++深入詳解[M]. 北京: 電子工業(yè)出版社,2006.
[3]潘潔, 王月忠. 基于 VC++的空間電磁環(huán)境仿真軟件設(shè)計[J]. 微計算機信息,2005,21(8):112-113.
[4]宋世全. 應(yīng)用 Matlab進行船舶電力推進系統(tǒng)仿真[J].實驗室研究與探索,2008,27(12):168-172.
[5]梅曉榕, 柏桂珍, 張卯瑞. 自動控制元件及線路[M].北京: 科學(xué)出版社,2005.
[6]王孟蓮, 馬丹, 沈楓, 龍飛. 船舶電力推進系統(tǒng)故障診斷技術(shù)研究[J]. 船電技術(shù),2010,30(12):1-4.
[7]馬丹, 王孟蓮, 沈楓. 船舶電力推進系統(tǒng)故障診斷專家系統(tǒng)設(shè)計[J]. 船電技術(shù),2010,30(12):9-11.