梁樹甜 沈楓 王孟蓮,2 張麗
(1. 中國船舶重工集團公司第七一二研究所,武漢 430064; 2. 武漢理工大學能源與動力工程學院,武漢 430063)
計算機仿真技術是近四十年來發展起來的一門綜合性很強的新興技術學科,它結合了系統工程、現代數學和計算機技術,用計算機求解來反映實際系統的數學模型的過程,以達到研究、開發、使用和檢測實際的或設想的系統的目的[1]。對于復雜系統的研究,采用系統仿真的方法,在計算機上構建仿真模型,對仿真對象進行反復多次的實驗,既可以取代耗資大的真實物理對象的物理模擬和實驗,同時又具有投資少、效益高、風險小、可重復、周期短等特點,目前它已成為船舶電力推進領域研究必不可少的工具。本文采用計算機仿真技術設計船舶交流電力推進系統的故障仿真軟件,以其降低電力推進系統條件變化帶來的成本和風險,提高實際系統安裝之前發現可能出現的問題的可能性,也可以為電力推進系統故障診斷的研究提供數據。
作為一種軟件開發規范,面向對象的軟件開發過程和建模方法能夠建立復雜的、大規模的、分布式的軟件系統,其核心是類(Class)概念及其實例對象(Object)的應用,具有模塊化、抽象化、封裝性、重用性等特點。在眾多的面向對象程序設計的語言中,Visual C++將程序設計方法與可視的軟件開發環境完美地結合,再加上其優秀的數值計算能力,以及對 C、C++語言的兼容性,使得Visual C++在科學計算及其可視化方面具有無與倫比的優越性[2]。本文即應用 Visual C++6.0 對船舶電力推進系統故障仿真軟件進行設計。
仿真軟件采用模塊化設計方法[3],主要包括主程序模塊、模型控制模塊、變壓器模型模塊、變頻器模型模塊、電動機模型模塊、仿真控制模塊、基本參數設置模塊、故障現象設置模塊、參數顯示模塊、通信模塊等,仿真軟件的體系結構如圖1所示。

圖1 仿真軟件體系結構

圖2 仿真軟件流程圖
如圖2所示,仿真軟件流程為:
1) 仿真開始,判斷是否進行基本參數設置,若設置基本參數,進入第2步,否則進入第3步;
2) 設置變壓器、變頻器、電動機、推進工況等基本參數,進入第4步;
3) 基本參數取一組默認值,進入下一步;
4) 順序合閘,進入下一步;
5) 判斷是否進行故障設置,如果要設置故障,進入第6步,否則進入第7步;
6) 設置變壓器、變頻器、電動機的運行參數和典型故障,進入下一步;
7) 主程序模塊中的定時器響應函數,完成模型控制模塊、參數顯示模塊、通信模塊的基本功能,進入下一步;
8) 判斷是否停機,如不停機,返回第5步,否則進入下一步;
9) 順序分閘,仿真結束。
下面具體介紹各軟件模塊的設計。
系統模型示意圖如圖3所示。

圖3 電力推進系統模型示意圖
3.1.1 變壓器模型
類 CTransformer是變壓器的模型,輸入是發電機組的輸出電壓和電流,輸出是變頻器的輸入電壓和電流,建立模型的基本公式為:

式中:U1、U2——變壓器原、副邊電壓;I1、I2——變壓器原、副邊電流;N1、N2——變壓器原、副邊繞組匝數;k——變壓器變比。
3.1.2 變頻器模型
變頻器的出現是船舶電力推進取得長足發展和廣泛應用的關鍵因素。通過調節變頻器的輸出頻率和電流值即可達到調節推進電動機輸出轉速和轉矩的目的,繼而使螺旋槳輸出船舶航行所需的推進功率。類 CConverter是變頻器的模型,輸入是變壓器的輸出電壓和電流,輸出是電動機的輸入電壓和電流。
3.1.3 電動機模型
推進電動機由推進變頻器供電,直接驅動螺旋槳。類CMotor是電動機的模型,輸入是變頻器輸出電壓和電流,輸出是轉速,建立模型的基本公式有[4,5]:

式中:n——異步電動機轉速,f——輸入頻率,s——轉差率,p——極對數,P1——電動機從電源吸收的功率,UN、IN——定子相電壓、相電流,cosφ——功率因數,P2——電動機輸出功率,η——電動機效率,T——電動機轉矩,I——電動機回轉部分的轉動慣量,Tp——螺旋槳上的水阻力矩,KQ——螺旋槳扭矩系數,ρ——海水密度,D——螺旋槳直徑。運用上述公式建立電動機運動模型。
模型控制模塊完成系統模型運行及流程控制、參數輸入輸出等工作,模型控制模塊與模型模塊類圖如圖4所示。
如圖 4所示,類 CTransformer、CConverter、CMotor繼承于虛基類 CEquipment,COperator對象包含一個或多個派生于 CEquipment的對象。類COperator維護模型控制的相關信息,提供模型控制的相關行為。COperator對象通過接口CEquipment來訪問、操作具體模型對象(如CTransformer對象)。仿真過程中,需要經常根據仿真結果修改模型,這種設計充分運用了 C++的多態性,屏蔽模型類的實現細節,將模型類變化對軟件的影響降低。

圖4 模型控制模塊與模型模塊類圖
接口層是軟件和用戶及外部系統之間進行交互的接口,主要包括人機接口和通信模塊,其中人機接口包括主程序模塊、基本參數設置模塊、故障現象設置模塊、仿真控制模塊、參數顯示模塊。仿真軟件主畫面如圖5所示。

圖5 仿真軟件主畫面
主程序模塊是仿真軟件中最重要的部分,其定時器響應函數通過訪問模型控制模塊來驅動模型程序運行,同時調用通信模塊完成與外部系統的交互。這里,由于窗口定時器精度存在限制,且其定時消息的優先權太低,而多媒體定時器不依賴于消息機制, 而是用函數產生一個獨立的線程,定時精度可達1ms,又由于模型程序對實時性要求較高,所以定時器采用多媒體定時器。
基本參數設置模塊完成基本參數的設置,這些參數是電力推進系統運行所需的最基本的參數,并且在仿真過程中不能再設置,所以要在仿真開始前進行設置,設置對話框如圖6所示。

圖6 基本參數設置對話框

圖7 故障現象設置對話框
故障現象設置模塊完成仿真中故障現象[6,7]的設置,故障現象的設置分為兩種,一種為典型現象的設置,一種為參數的設置,如圖 7所示。由于仿真系統分為左右推進系統,所以故障現象設置中變壓器、變頻器、電動機各分左右兩個。設置的數據也是經主程序模塊傳遞到各模型模塊,各模型模塊根據故障設置進行系統故障仿真。
參數顯示模塊包括推進系統主要參數顯示、系統單線圖顯示(如圖 5所示)、左右變壓器參數顯示、左右變頻器參數顯示、左右電動機參數顯示。此模塊負責把模型運行中的數據取出并顯示,以此反映系統的運行狀況。
基本參數默認值采用某實船的數據。
推進電機正常運行的轉速仿真曲線如圖 8所示。

圖8 推進電機正常運行轉速仿真圖
本軟件主要功能是進行故障模型的仿真。例如設置左變頻器“輸出頻率低”現象,此時推進電機轉速仿真曲線如圖9所示。

圖9 系統故障時推進電機轉速仿真圖
與實船測量數據比較,本仿真軟件能模擬實際電力推進系統的運行狀況。
本文在分析船舶電力推進想系統運行原理的基礎上,在 Visual C++6.0中建立了船舶電力推進系統的運行仿真模型,設計了船舶電力推進系統故障仿真軟件。通過試驗分析并與實際系統比較,證明軟件可以仿真船舶電力推進系統正常和故障情況下系統各參數的變化。本故障仿真軟件可以作為船舶電力推進系統設計和研究的參考,也可以為船舶電力推進系統故障診斷的研究提供數據。
[1]季振洲, 李東, 姚鴻勛. 計算機組成技術[M]. 哈爾濱:哈爾濱工業大學出版社,2003.
[2]孫鑫, 余安萍. VC++深入詳解[M]. 北京: 電子工業出版社,2006.
[3]潘潔, 王月忠. 基于 VC++的空間電磁環境仿真軟件設計[J]. 微計算機信息,2005,21(8):112-113.
[4]宋世全. 應用 Matlab進行船舶電力推進系統仿真[J].實驗室研究與探索,2008,27(12):168-172.
[5]梅曉榕, 柏桂珍, 張卯瑞. 自動控制元件及線路[M].北京: 科學出版社,2005.
[6]王孟蓮, 馬丹, 沈楓, 龍飛. 船舶電力推進系統故障診斷技術研究[J]. 船電技術,2010,30(12):1-4.
[7]馬丹, 王孟蓮, 沈楓. 船舶電力推進系統故障診斷專家系統設計[J]. 船電技術,2010,30(12):9-11.