楊東偉
某船舶研究所為實(shí)現(xiàn)對(duì)汽輪機(jī)調(diào)速系統(tǒng)控制算法的驗(yàn)證以及相關(guān)調(diào)節(jié)機(jī)構(gòu)的功能檢驗(yàn),需要展開一系列的試驗(yàn)工作。然而,由于各方面因素的限制,在試驗(yàn)現(xiàn)場(chǎng)沒有條件將實(shí)際的船舶汽輪機(jī)運(yùn)用于試驗(yàn)工作。在這種情況下,開發(fā)調(diào)速實(shí)時(shí)仿真系統(tǒng)替代實(shí)際汽輪機(jī),成為了解決這一問題的有效方法。
調(diào)速實(shí)時(shí)仿真系統(tǒng)能夠在內(nèi)部實(shí)現(xiàn)對(duì)汽輪機(jī)的準(zhǔn)確仿真,在外部實(shí)現(xiàn)與汽輪機(jī)一致的外圍接口,并且在性能上滿足實(shí)時(shí)性和可靠性,從而相關(guān)子系統(tǒng)在與本系統(tǒng)交聯(lián)試驗(yàn)下得出的試驗(yàn)結(jié)果具有一定的實(shí)際意義,能夠準(zhǔn)確地反應(yīng)出控制算法及調(diào)節(jié)機(jī)構(gòu)的效果和特性。
汽輪機(jī)調(diào)速實(shí)時(shí)仿真系統(tǒng)通過(guò)圖形化的軟件設(shè)計(jì)實(shí)現(xiàn)了系統(tǒng)建模、數(shù)據(jù)記錄以及友好的人機(jī)交互等功能,通過(guò)模塊化的硬件平臺(tái)實(shí)現(xiàn)了模擬信號(hào)以及數(shù)字信號(hào)的輸入與輸出,從而在功能上起到了在相關(guān)試驗(yàn)的過(guò)程中,對(duì)汽輪機(jī)調(diào)速系統(tǒng)相關(guān)環(huán)節(jié)的替代作用,并在性能上滿足實(shí)時(shí)性和可靠性的要求。
調(diào)速實(shí)時(shí)仿真系統(tǒng)的硬件平臺(tái)由美國(guó)國(guó)家儀器公司工業(yè)化總線PXI 平臺(tái)的硬件設(shè)備、外圍接口電路等組成,軟件平臺(tái)包括操作系統(tǒng)、基于LabVIEW的應(yīng)用程序開發(fā)平臺(tái)、外部設(shè)備驅(qū)動(dòng)程序等。
調(diào)速實(shí)時(shí)仿真系統(tǒng)可分為上位機(jī)管理系統(tǒng)和下位機(jī)實(shí)時(shí)仿真系統(tǒng)兩大部分,上位機(jī)采用安裝了Windows XP 操作系統(tǒng)以及LabVIEW 開發(fā)平臺(tái)的普通PC,用于進(jìn)行人機(jī)交互,用戶可通過(guò)上位機(jī)進(jìn)行查看運(yùn)行數(shù)據(jù)、設(shè)置模型參數(shù)、配置通道、選擇系統(tǒng)仿真模式以及管理數(shù)據(jù)等操作;下位機(jī)是安裝了實(shí)時(shí)操作系統(tǒng)的PXI 系統(tǒng),用以實(shí)現(xiàn)信號(hào)輸入與輸出、模型迭代等功能。上、下位機(jī)之間通過(guò)以太網(wǎng)實(shí)現(xiàn)通信,上位機(jī)將通道配置、參數(shù)設(shè)置等信息傳遞給下位機(jī),下位機(jī)將輸入輸出信號(hào)、模型運(yùn)行結(jié)果等數(shù)據(jù)傳遞給上位機(jī)用以顯示及保存。
在運(yùn)行模式的選擇上,系統(tǒng)能夠基于內(nèi)部控制算法及數(shù)學(xué)模型獨(dú)立仿真運(yùn)行,從而單獨(dú)驗(yàn)證控制算法或模型的正確性及有效性;也可以接入實(shí)際系統(tǒng)中實(shí)現(xiàn)半物理的實(shí)時(shí)仿真,從而真正應(yīng)用于相關(guān)試驗(yàn)與開發(fā)工作。調(diào)速實(shí)時(shí)仿真系統(tǒng)框圖如圖1所示:
圖1 調(diào)速實(shí)時(shí)仿真系統(tǒng)框圖
當(dāng)調(diào)速實(shí)時(shí)仿真系統(tǒng)獨(dú)立仿真運(yùn)行時(shí),用戶可通過(guò)上位機(jī)主界面設(shè)置轉(zhuǎn)速設(shè)定值、控制器、模型參數(shù),下位機(jī)實(shí)時(shí)進(jìn)行控制器以及系統(tǒng)模型的迭代,運(yùn)行結(jié)果通過(guò)數(shù)值或波形在主界面顯示;當(dāng)調(diào)速實(shí)時(shí)仿真系統(tǒng)接入實(shí)際運(yùn)行系統(tǒng)進(jìn)行半物理仿真時(shí),用戶可以選擇需要接入的一個(gè)或多個(gè)實(shí)際系統(tǒng),從而確定系統(tǒng)的具體運(yùn)行模式,系統(tǒng)可以接收實(shí)際電子調(diào)節(jié)器控制信號(hào)、油動(dòng)機(jī)位移、GC 信號(hào)等實(shí)際模擬量、數(shù)字量信號(hào),通過(guò)模型實(shí)時(shí)運(yùn)算,輸出轉(zhuǎn)速信號(hào)、調(diào)節(jié)級(jí)壓力、發(fā)電機(jī)有功功率、開大閥、并網(wǎng)等實(shí)際模擬量、數(shù)字量信號(hào)。
調(diào)速實(shí)時(shí)仿真系統(tǒng)的硬件系統(tǒng)主要由上位機(jī)、下位機(jī)兩部分組成。上位機(jī)采用普通的PC,下位機(jī)是NI的PXI 系統(tǒng)。PXI 系統(tǒng)由PXI 機(jī)箱、PXI 嵌入式控制器以及PXI 外部模塊組成。調(diào)速實(shí)時(shí)仿真系統(tǒng)的硬件結(jié)構(gòu)圖,如圖2所示:
圖2 調(diào)速實(shí)時(shí)仿真系統(tǒng)硬件結(jié)構(gòu)圖
PXI 機(jī)箱采用NI PXI-1050,帶集成SCXI的PXI 機(jī)箱。NI PXI-1050 是一款8 插槽PXI 機(jī)箱,帶有4 個(gè)用于SCXI模塊的插槽,適用于需多路復(fù)用、濾波、隔離、放大、切換等附加信號(hào)調(diào)理的PXI 測(cè)量系統(tǒng),以及需在一個(gè)機(jī)箱內(nèi)結(jié)合高精度測(cè)量和信號(hào)調(diào)理功能的應(yīng)用。
PXI 嵌入式控制器選用 NI PXI-8110,這是一款2.26GHz 四核PXI 嵌入式控制器。通過(guò)使用NI LabVIEW的內(nèi)在并行機(jī)制,可以將處理負(fù)擔(dān)分配到4 個(gè)CPU 內(nèi)核上,充分利用多核控制器的性能。
PXI 外部模塊共包含三種不同類型的PXI 板卡:
1)NI PXI-6704:16 位靜態(tài)更新模擬輸出模塊。模塊可提供16 路電壓輸出和16 路電流輸出以及8 條數(shù)字I/O線,可將每路輸出通道在±10V 或0 到20mA的范圍內(nèi)分別設(shè)定;
2)NI PXI-6624:用于PXI 系統(tǒng)的定時(shí)和數(shù)字I/O模塊。該模塊包括8 個(gè)32 位計(jì)數(shù)器/定時(shí)器,并帶有通道間有光學(xué)隔離,可支持高達(dá)高達(dá)48 VDC 輸入和輸出信號(hào),可執(zhí)行事件計(jì)數(shù)、周期/頻率測(cè)量以及脈沖序列生成等測(cè)量任務(wù);
3)NI PXI-6238:帶隔離的多功能數(shù)據(jù)采集板卡,提供2 路模擬輸出 (0mA 到20mA),16 位分辨率,采樣率達(dá)500 kS/s,此外,還提供6 路數(shù)字輸入和4 路數(shù)字輸出,源極電壓可達(dá)到24V。
在調(diào)速實(shí)時(shí)仿真系統(tǒng)中,上位機(jī)與下位機(jī)之間通過(guò)以太網(wǎng)實(shí)現(xiàn)實(shí)時(shí)通信,PXI 外部模塊通過(guò)相應(yīng)的接線端子盒,與外圍試驗(yàn)設(shè)備連接,實(shí)現(xiàn)信號(hào)的輸入與輸出。
調(diào)速實(shí)時(shí)仿真系統(tǒng)的軟件平臺(tái)包括安裝于上位機(jī)的Windows XP 操作系統(tǒng)、LabVIEW 應(yīng)用程序開發(fā)平臺(tái)、LabVIEW的控制設(shè)計(jì)與仿真模塊、實(shí)時(shí)模塊、設(shè)備驅(qū)動(dòng)程序以及安裝于下位機(jī)的實(shí)時(shí)操作系統(tǒng)。
通過(guò)LabVIEW 實(shí)時(shí)模塊以及實(shí)時(shí)操作系統(tǒng),能夠創(chuàng)建RT 項(xiàng)目。在RT 項(xiàng)目?jī)?nèi)包含項(xiàng)目信息、上位機(jī)程序、下位機(jī)程序以及共享變量庫(kù)。RT 項(xiàng)目能夠通過(guò)以太網(wǎng)將下位機(jī)程序部署到實(shí)時(shí)操作系統(tǒng)中,并在部署完畢后自動(dòng)運(yùn)行。
共享變量不但可以在不同的VI 之間傳遞數(shù)據(jù),還可以在不同的程序、甚至不同的計(jì)算機(jī)以及硬件設(shè)備間傳遞數(shù)據(jù)[1]。在實(shí)際應(yīng)用中,共享變量主要用于網(wǎng)絡(luò)上不同VI的數(shù)據(jù)共享。共享變量可以選擇FIFO、網(wǎng)絡(luò)緩存等特性用以保證數(shù)據(jù)傳遞的可靠性。共享變量有單進(jìn)程、網(wǎng)絡(luò)發(fā)布以及事件觸發(fā)3 種,其中,單進(jìn)程的共享變量用于下位機(jī)程序內(nèi)部數(shù)據(jù)的傳遞,而網(wǎng)絡(luò)發(fā)布的共享變量用于上位機(jī)程序與下位機(jī)程序之間的數(shù)據(jù)傳遞,運(yùn)行示意圖,如圖3所示:
圖3 RT 項(xiàng)目結(jié)構(gòu)與運(yùn)行示意圖
上位機(jī)程序的主要功能包括數(shù)據(jù)顯示、系統(tǒng)仿真模式選擇、數(shù)據(jù)保存與管理、參數(shù)設(shè)置、硬件通道配置以及與下位機(jī)之間的實(shí)時(shí)通信,上位機(jī)的軟件結(jié)構(gòu)圖,如圖4所示:
圖4 上位機(jī)軟件結(jié)構(gòu)圖
當(dāng)上位機(jī)程序開始運(yùn)行時(shí),程序先對(duì)上位機(jī)、下位機(jī)程序中的變量進(jìn)行初始化操作,隨后開始并行運(yùn)行等待界面相應(yīng)、共享變量數(shù)據(jù)傳遞、數(shù)據(jù)顯示、數(shù)據(jù)保存、檢測(cè)下位機(jī)程序是否正常運(yùn)行等循環(huán)任務(wù)。
當(dāng)用戶在主界面選擇啟動(dòng)模型仿真時(shí),程序先將參數(shù)設(shè)置、通道配置、仿真模式等信息通過(guò)共享變量傳遞至下位機(jī),等待這一過(guò)程完成,再發(fā)出指令,開始下位機(jī)模型的迭代。
在下位機(jī)模型運(yùn)行周期為10ms,并且包含多個(gè)模擬量數(shù)據(jù)的情況下,需要保存的數(shù)據(jù)量非常龐大。因此,數(shù)據(jù)保存采用高效的、專門用于信號(hào)數(shù)據(jù)存儲(chǔ)的文件格式TDMS。當(dāng)待保存的數(shù)據(jù)準(zhǔn)備就緒,下位機(jī)程序通過(guò)標(biāo)志位通知上位機(jī)程序,上位機(jī)程序從共享變量提取相應(yīng)的數(shù)據(jù),并采用TDMS 格式保存至硬盤。上位機(jī)程序主界面,如圖5所示:
圖5 上位機(jī)程序主界面
下位機(jī)的主要功能包括實(shí)時(shí)仿真系統(tǒng)模型迭代、讀取相關(guān)硬件板卡的輸入信號(hào)、將計(jì)算得到的結(jié)果在相應(yīng)硬件通道上輸出以及與上位機(jī)之間的實(shí)時(shí)通信。
在上位機(jī)程序開始運(yùn)行后,下位機(jī)程序收到相應(yīng)指令以及初始化命令,開始進(jìn)行變量的初始化以及硬件板卡的啟動(dòng)工作。隨后等待上位機(jī)的模型仿真啟停命令,當(dāng)收到啟動(dòng)模型仿真指令后,首先通過(guò)共享變量讀取上位機(jī)發(fā)送的參數(shù)設(shè)置、硬件通道配置等信息,然后并行運(yùn)行模型迭代、信號(hào)輸入輸出、向上位機(jī)發(fā)送需顯示及保存的數(shù)據(jù)等循環(huán)任務(wù)。當(dāng)收到停止模型迭代的命令后,則繼續(xù)等待上位機(jī)的命令,直到接收到退出指令。下位機(jī)程序運(yùn)行流程圖,如圖6所示:
圖6 下位機(jī)程序運(yùn)行流程圖
根據(jù)試驗(yàn)工作的需求,模型迭代的周期設(shè)置為10ms。為保證模型迭代的實(shí)時(shí)性,基于實(shí)時(shí)操作系統(tǒng)以及多核處理器,在程序設(shè)計(jì)中利用了定時(shí)循環(huán)結(jié)構(gòu),不僅可以設(shè)置循環(huán)的周期,還可以指定處理該循環(huán)所使用的處理器以及優(yōu)先級(jí)。通過(guò)這一設(shè)置,可以優(yōu)先保證高優(yōu)先級(jí)工作的實(shí)時(shí)性不受低優(yōu)先級(jí)工作的影響,從而在本設(shè)計(jì)中,保證了模型的實(shí)時(shí)迭代這一關(guān)鍵工作的實(shí)時(shí)性能夠符合試驗(yàn)與開發(fā)工作的要求。
經(jīng)過(guò)現(xiàn)場(chǎng)調(diào)試,調(diào)速實(shí)時(shí)仿真系統(tǒng)在系統(tǒng)功能上以及實(shí)時(shí)性、可靠性等性能上,都能夠滿足該研究所在相關(guān)開發(fā)及試驗(yàn)過(guò)程中的要求,并且,友好的人機(jī)交互與開放的設(shè)置平臺(tái)都為試驗(yàn)工作帶來(lái)一個(gè)靈活、便捷的環(huán)境。
[1]阮奇楨.我和LabVIEW[M].北京:北京航空航天大學(xué)出版社,2009:126-127。
[2]豐偉偉,楊世文,南金瑞等。LabVIEW 中TDMS 文件和SQLSQL 數(shù)據(jù)庫(kù)數(shù)據(jù)處理速度的研究。[j]儀器儀表與分析監(jiān)測(cè),2011(1)。
[3]劉鵬,郭智威,基于LabVIEWLabVIEW的振動(dòng)信號(hào)采集與分析系系統(tǒng)的開發(fā),[j]科技信息2010,(18)。