部件級(jí)建模實(shí)踐指南)
簡(jiǎn)介面向航空發(fā)動(dòng)機(jī)建模與仿真場(chǎng)景的T_MATS工具箱安裝包基于MATLAB環(huán)境運(yùn)行用于搭建JT9D渦扇發(fā)動(dòng)機(jī)等熱力系統(tǒng)模型并開(kāi)展性能分析。壓縮包共400個(gè)文件整體大小5.8MB包含106個(gè)slx模型文件、104個(gè)m腳本、92個(gè)html說(shuō)明文檔、55個(gè)c源文件等覆蓋建模模塊、計(jì)算函數(shù)、示例模型與參考文檔便于快速配置Simulink環(huán)境并完成從模型搭建到動(dòng)態(tài)仿真的全過(guò)程。已有1659人學(xué)習(xí)下載。借助該資源讀者可直接獲得T_MATS庫(kù)函數(shù)、示例模型與配套源碼結(jié)合MATLAB圖形化建模工具開(kāi)展JT9D推力控制、燃油效率優(yōu)化和故障診斷等研究并可通過(guò)附帶的html、pdf、docx等材料理解熱力學(xué)系統(tǒng)的建模思路與參數(shù)設(shè)置方法。1. T_MATS不是黑匣子給MATLAB用戶(hù)的航發(fā)部件級(jí)建模工具箱做航空發(fā)動(dòng)機(jī)整機(jī)性能仿真的工程師對(duì)T_MATS這個(gè)名字大概率不陌生。這是一套基于MATLAB/Simulink的熱力系統(tǒng)建模工具箱把進(jìn)氣道、壓氣機(jī)、燃燒室、渦輪、噴管這些部件封裝成可直接拖拽的Simulink模塊核心價(jià)值是讓MATLAB用戶(hù)在航發(fā)模型這條路上不用從零寫(xiě)熱力計(jì)算代碼。它自帶熱力學(xué)屬性查詢(xún)、部件特性插值和穩(wěn)態(tài)求解框架省掉的不是建模思路而是重復(fù)造輪子的時(shí)間。適合兩類(lèi)人一類(lèi)是接了航發(fā)模型任務(wù)但還沒(méi)想好從哪里下手的MATLAB使用者另一類(lèi)是手上已有部件數(shù)據(jù)、想快速搭整機(jī)模型做性能分析的從業(yè)者。下面這篇筆記把安裝、庫(kù)結(jié)構(gòu)、建模流程和常見(jiàn)坑一次性過(guò)一遍。2. 安裝與環(huán)境校驗(yàn)從解壓到跑通自帶Demo的完整路徑2.1 拿到安裝包后先別急著點(diǎn)“安裝”T_MATS和一般商業(yè)工具箱不一樣安裝包里沒(méi)有setup.exe也沒(méi)有所謂的一鍵安裝程序。它本質(zhì)是一套目錄結(jié)構(gòu)分明的源碼包下載后解壓就能用前提是讓MATLAB在啟動(dòng)時(shí)能找到它。最常見(jiàn)的做法是把整個(gè)目錄放到你平時(shí)放工程文件的位置比如C:\EngineTools\T_MATS然后在MATLAB命令行里做路徑注冊(cè)。tMatsRoot C:\EngineTools\T_MATS; % 換成你自己的實(shí)際目錄 addpath(genpath(tMatsRoot)); savepath;這里addpath把根目錄加入MATLAB搜索路徑genpath負(fù)責(zé)遞歸展開(kāi)所有子目錄確保工具箱內(nèi)部各個(gè)子庫(kù)都能被找到。savepath把當(dāng)前路徑列表寫(xiě)入pathdef.m這樣下次啟動(dòng)MATLAB時(shí)路徑仍然有效。如果只執(zhí)行addpath而不savepath下一次新建會(huì)話(huà)時(shí)模塊庫(kù)又會(huì)消失這是第三方工具箱最常見(jiàn)的“裝完就丟”問(wèn)題。注意安裝路徑不要帶中文和空格。某些版本在帶空格的路徑下能打開(kāi)庫(kù)瀏覽器但加載S-Function時(shí)會(huì)因?yàn)槁窂浇馕龀鲥e(cuò)而報(bào)錯(cuò)排查起來(lái)非常浪費(fèi)時(shí)間。2.2 檢查依賴(lài)模塊與版本兼容性T_MATS是開(kāi)源工具箱發(fā)布時(shí)間和MATLAB官方版本并不同步所以裝完路徑后第一件事是確認(rèn)手里的MATLAB環(huán)境滿(mǎn)足依賴(lài)。核心依賴(lài)是Simulink缺了它庫(kù)瀏覽器都打不開(kāi)。其次看是否裝了Optimization Toolbox因?yàn)門(mén)_MATS自帶的設(shè)計(jì)點(diǎn)求解腳本會(huì)用到fsolve或fmincon這類(lèi)函數(shù)如果沒(méi)裝穩(wěn)態(tài)收斂就只能自己手寫(xiě)迭代。ver(simulink) which fminconver(simulink)返回值里能看到當(dāng)前Simulink版本號(hào)which fmincon如果返回的是完整路徑說(shuō)明優(yōu)化工具箱可用如果提示“未找到”或返回空說(shuō)明缺依賴(lài)。版本太新時(shí)Simulink對(duì)老式S-Function的編譯行為會(huì)有變化我一般會(huì)先跑一個(gè)自帶Demo驗(yàn)證一下而不是直接搭大模型。另外解壓后注意看目錄里有沒(méi)有Examples文件夾里面的示例模型和初始化腳本是驗(yàn)證環(huán)境是否合格的關(guān)鍵。2.3 用自帶Demo驗(yàn)證環(huán)境環(huán)境是否真的裝好了不看路徑列表而是看模型能不能跑起來(lái)。打開(kāi)Examples目錄先用dir列出文件dir(C:\EngineTools\T_MATS\Examples)看到.slx或.mdl文件后不要急著雙擊建議在MATLAB里用open_system打開(kāi)同時(shí)確認(rèn)模型回調(diào)里是否綁定了初始化腳本。如果直接運(yùn)行模型報(bào)“變量未定義”多半是沒(méi)執(zhí)行對(duì)應(yīng)的初始化腳本。更穩(wěn)妥的做法是先運(yùn)行Examples目錄下的初始化.m文件它會(huì)在工作區(qū)里生成設(shè)計(jì)點(diǎn)結(jié)構(gòu)體再打開(kāi)模型。跑通Demo的標(biāo)準(zhǔn)是仿真能推進(jìn)到結(jié)束轉(zhuǎn)速、燃油流量等信號(hào)不出現(xiàn)NaN量級(jí)合理。到這一步環(huán)境才算真正合格。別說(shuō)“能打開(kāi)模型就是裝好了”打開(kāi)和跑通是兩回事。3. 拆解T_MATS模型庫(kù)三個(gè)物理域與部件級(jí)建模邏輯3.1 先從庫(kù)瀏覽器認(rèn)識(shí)T_MATS安裝成功后在命令行輸入slLibraryBrowser左側(cè)庫(kù)列表里會(huì)出現(xiàn)T_MATS對(duì)應(yīng)的條目。展開(kāi)后能看到按功能劃分的若干子庫(kù)氣動(dòng)熱力學(xué)屬性庫(kù)、進(jìn)氣道與噴管、風(fēng)扇與壓氣機(jī)、燃燒室、渦輪、以及一些輔助控制元件。T_MATS把航空發(fā)動(dòng)機(jī)部件級(jí)建模需要的模塊全部集中在這里不需要去Simulink自帶庫(kù)東翻西找。這里的命名和常規(guī)Simulink庫(kù)不一樣它不是按信號(hào)處理或連續(xù)系統(tǒng)來(lái)分類(lèi)而是按航空發(fā)動(dòng)機(jī)的氣路部件來(lái)分。建模時(shí)你思考的維度是“從進(jìn)氣道進(jìn)空氣經(jīng)壓氣機(jī)壓縮到燃燒室加熱再到渦輪膨脹做功、噴管排氣”而不是“這里放一個(gè)傳遞函數(shù)那里放一個(gè)積分器”。這決定了整個(gè)建模思路和普通控制系統(tǒng)仿真完全不同。3.2 三個(gè)物理域氣路、軸系與信號(hào)T_MATS模塊的端口和普通Simulink模塊有明顯區(qū)別它定義了三個(gè)物理域。氣路域傳遞總溫、總壓、流量和氣體組分參數(shù)用于連接進(jìn)氣道、壓氣機(jī)、燃燒室、渦輪、噴管等部件機(jī)械軸域傳遞轉(zhuǎn)速和扭矩用于連接轉(zhuǎn)子、負(fù)載等模塊信號(hào)域則傳遞燃油流量、放氣指令、可調(diào)導(dǎo)葉角度等控制量。連線(xiàn)時(shí)最容易出的問(wèn)題是端口類(lèi)型不匹配。把普通Saber信號(hào)線(xiàn)直接接到氣路端口上Simulink會(huì)報(bào)“Port type mismatch”這時(shí)候不是模塊壞了而是你把三個(gè)域搞混了。我的習(xí)慣是連線(xiàn)前先雙擊模塊端口查看端口類(lèi)型和數(shù)據(jù)維度確定是Flow端口還是Mech端口再接。氣路端口在T_MATS內(nèi)部是按順序封裝的連接時(shí)也要注意進(jìn)、出口方向接反了模型能編譯但結(jié)果完全錯(cuò)誤。3.3 核心部件模塊與計(jì)算邏輯T_MATS里的壓氣機(jī)和渦輪都基于特性圖插值用換算轉(zhuǎn)速和換算流量查表得到壓比與效率從而計(jì)算出口總溫和功率需求。燃燒室做的是熱平衡計(jì)算根據(jù)燃燒效率、油氣比和燃料熱值求出口總溫。進(jìn)氣道和噴管則相對(duì)簡(jiǎn)單主要用總壓恢復(fù)系數(shù)和流量系數(shù)做修正。這些模塊后臺(tái)都是S-Function性能參數(shù)通過(guò)Mask對(duì)話(huà)框設(shè)置。參數(shù)可以填具體數(shù)值也可以引用工作區(qū)變量后一種方式對(duì)批量仿真非常重要。模塊核心參數(shù)示例主要輸出進(jìn)氣道總壓恢復(fù)系數(shù)出口總溫、總壓、流量風(fēng)扇/壓氣機(jī)壓比、效率、特性圖出口總溫、總壓、軸功率需求燃燒室燃燒效率、總壓恢復(fù)出口總溫、總壓渦輪效率、流量函數(shù)出口總溫、總壓、軸功率噴管流量系數(shù)、喉道面積推力、排氣速度我一般會(huì)把設(shè)計(jì)點(diǎn)參數(shù)提前寫(xiě)到一個(gè)結(jié)構(gòu)體里然后在Mask里引用結(jié)構(gòu)體字段這樣改設(shè)計(jì)點(diǎn)只需要改一個(gè)腳本不用逐個(gè)打開(kāi)模塊對(duì)話(huà)框。這也是T_MATS用得熟不熟的分水嶺。3.4 工作區(qū)變量綁定從硬編碼到結(jié)構(gòu)體參數(shù)化新手往往直接在Mask對(duì)話(huà)框里填數(shù)字比如壓比填1.5效率填0.89。這種做法在單次仿真中沒(méi)問(wèn)題一旦要做工況掃描或設(shè)計(jì)點(diǎn)迭代就要打開(kāi)幾十個(gè)模塊逐個(gè)改參數(shù)效率極低還容易漏改。常見(jiàn)做法是定義一個(gè)設(shè)計(jì)點(diǎn)結(jié)構(gòu)體design.mdot 120; % 核心流量 kg/s design.fan.PR 1.6; % 風(fēng)扇增壓比 design.fan.eta 0.89; % 風(fēng)扇效率 design.comb.PR 0.95; % 燃燒室總壓恢復(fù) design.HPC.PR 12; % 高壓壓氣機(jī)壓比 design.HPC.eta 0.86; design.HPT.eta 0.89; design.LPT.eta 0.91; design.nozzle.Cv 0.98; % 噴管流量系數(shù)然后在模塊Mask參數(shù)里填寫(xiě)design.fan.PR這樣的表達(dá)式模型運(yùn)行前先執(zhí)行這個(gè)腳本。這樣設(shè)計(jì)點(diǎn)參數(shù)集中在同一個(gè)文件里改壓比、改流量都一目了然為后面做批量掃描和動(dòng)態(tài)仿真打下了基礎(chǔ)。4. 從零搭一個(gè)雙軸渦扇模型設(shè)計(jì)點(diǎn)、穩(wěn)態(tài)與動(dòng)態(tài)仿真流程4.1 拖模塊與連線(xiàn)氣路、軸路分開(kāi)走T_MATS搭模型不是從空白的Simulink模型開(kāi)始而是直接從庫(kù)瀏覽器拖模塊。以常規(guī)雙軸渦扇為例需要拖出的模塊有進(jìn)氣道、風(fēng)扇、高壓壓氣機(jī)、燃燒室、高壓渦輪、低壓渦輪、噴管再加上高壓轉(zhuǎn)子和低壓轉(zhuǎn)子兩個(gè)軸系模塊。氣路連接順序是固定的進(jìn)氣道出口接風(fēng)扇入口風(fēng)扇出口接壓氣機(jī)入口壓氣機(jī)出口接燃燒室入口燃燒室出口接高壓渦輪入口高壓渦輪出口接低壓渦輪入口低壓渦輪出口接噴管入口。軸路則按物理關(guān)系連接高壓壓氣機(jī)和高壓渦輪共用一根高壓軸接到高壓轉(zhuǎn)子模塊風(fēng)扇和低壓渦輪共用一根低壓軸接到低壓轉(zhuǎn)子模塊??刂菩盘?hào)里燃油流量從信號(hào)源接到燃燒室的燃油入口。連線(xiàn)時(shí)如果氣路端口對(duì)不齊通常是因?yàn)槟K方向不一致或者兩個(gè)模塊的端口維度定義不同。庫(kù)瀏覽器里有些模塊有多個(gè)變體連接前先看模塊圖標(biāo)上的端口標(biāo)注總溫總壓流量的順序不能想當(dāng)然。4.2 設(shè)計(jì)點(diǎn)初值先有腳本后有模型模塊拖完、線(xiàn)連好之后不要急著點(diǎn)運(yùn)行。T_MATS模型的運(yùn)行依賴(lài)工作區(qū)里的設(shè)計(jì)點(diǎn)結(jié)構(gòu)體和初值沒(méi)有這些東西模型一運(yùn)行就會(huì)報(bào)“變量未定義”。第一步是執(zhí)行設(shè)計(jì)點(diǎn)參數(shù)腳本把壓比、效率、流量等參數(shù)寫(xiě)入工作區(qū)。第二步是給氣路模塊賦初值比如壓氣機(jī)進(jìn)口總溫、總壓、換算轉(zhuǎn)速。這些初值從哪里來(lái)最簡(jiǎn)單的方法是參考同類(lèi)發(fā)動(dòng)機(jī)的公開(kāi)設(shè)計(jì)參數(shù)或者用Demo模型里的值先跑通再逐步改成自己的工況。% 穩(wěn)態(tài)求解前的初值猜測(cè) x0 [12.0, 1.6, 0.86, 0.89]; % 高壓壓比、風(fēng)扇壓比、壓氣機(jī)效率、渦輪效率這個(gè)x0是給穩(wěn)態(tài)求解器用的迭代初值物理意義對(duì)應(yīng)設(shè)計(jì)點(diǎn)未知量。如果初值給得離真實(shí)解太遠(yuǎn)求解器會(huì)跑到特性圖外插區(qū)域結(jié)果直接發(fā)散。4.3 穩(wěn)態(tài)求解讓流量和功率平衡雙軸渦扇的穩(wěn)態(tài)求解要做兩件事一是讓氣路各截面流量連續(xù)二是讓高低壓軸上的渦輪功率與壓氣機(jī)消耗功率平衡。T_MATS提供了求解框架核心是一個(gè)殘差函數(shù)把各截面流量差和軸功率差收斂到零。options optimoptions(fsolve, Display, iter, MaxIterations, 100); solution fsolve(steadyResidual, x0, options);這里的steadyResidual是殘差函數(shù)句柄內(nèi)部會(huì)調(diào)用Simulink模型計(jì)算各截面參數(shù)然后返回流量不平衡量。優(yōu)化工具箱的fsolve用數(shù)值迭代逼近收斂點(diǎn)MaxIterations控制最大迭代次數(shù)Display設(shè)為iter可以在命令行看到每一步的殘差變化。收斂后得到的solution就是設(shè)計(jì)點(diǎn)對(duì)應(yīng)的壓比和效率組合寫(xiě)回工作區(qū)后再跑一次模型就能得到穩(wěn)態(tài)解。如果沒(méi)有Optimization Toolbox可以手寫(xiě)一個(gè)簡(jiǎn)單的Newton迭代但收斂速度和對(duì)初值的敏感度都差不少建議還是用自帶求解器。4.4 動(dòng)態(tài)仿真從穩(wěn)態(tài)解出發(fā)穩(wěn)態(tài)模型跑通后動(dòng)態(tài)仿真的關(guān)鍵是加入轉(zhuǎn)子慣量并設(shè)置合理的仿真步長(zhǎng)。把高壓轉(zhuǎn)子和低壓轉(zhuǎn)子的轉(zhuǎn)動(dòng)慣量填進(jìn)對(duì)應(yīng)模塊轉(zhuǎn)動(dòng)慣量的量級(jí)直接影響動(dòng)態(tài)響應(yīng)快慢——慣量太大轉(zhuǎn)速變化慢響應(yīng)遲鈍慣量太小模型容易高頻振蕩甚至發(fā)散。set_param(mysim/HPC_Rotor, J, 2.5); % 高壓轉(zhuǎn)子慣量 kg·m^2 set_param(mysim/LPC_Rotor, J, 8.0); % 低壓轉(zhuǎn)子慣量 kg·m^2set_param是Simulink命令行設(shè)置模塊參數(shù)的標(biāo)準(zhǔn)接口第一個(gè)參數(shù)是模塊路徑第二個(gè)是要設(shè)置的參數(shù)名第三個(gè)是參數(shù)值。這里把高低壓轉(zhuǎn)子慣量分別設(shè)為2.5和8.0。動(dòng)態(tài)仿真前先運(yùn)行穩(wěn)態(tài)求解腳本把穩(wěn)態(tài)解作為動(dòng)態(tài)仿真的初值然后給燃燒室燃油信號(hào)接一個(gè)階躍輸入比如從慢車(chē)狀態(tài)階躍到巡航狀態(tài)。求解器建議用ode15s這類(lèi)變步長(zhǎng)剛性求解器因?yàn)門(mén)_MATS中的氣動(dòng)熱力學(xué)屬性計(jì)算在部分工況下會(huì)產(chǎn)生剛性特征。5. 避坑清單T_MATS安裝與仿真中的五個(gè)典型問(wèn)題5.1 庫(kù)瀏覽器里看不到T_MATS條目現(xiàn)象slLibraryBrowser打開(kāi)后左側(cè)列表完全沒(méi)有T_MATS像沒(méi)裝一樣。原因路徑?jīng)]有持久化。只在當(dāng)前會(huì)話(huà)執(zhí)行了addpath沒(méi)有執(zhí)行savepathMATLAB重啟后路徑丟失或者解壓后的目錄沒(méi)有包含子目錄模塊庫(kù)無(wú)法被掃描到。解決重新執(zhí)行addpath(genpath(...))并savepath然后完全重啟MATLAB再看庫(kù)瀏覽器。這一步看似基礎(chǔ)但每換一臺(tái)機(jī)器、每更新一次MATLAB版本都會(huì)遇到別嫌簡(jiǎn)單。5.2 Demo模型打開(kāi)后模塊圖標(biāo)是灰色問(wèn)號(hào)現(xiàn)象模型能打開(kāi)但是大量模塊顯示成灰色問(wèn)號(hào)雙擊看不到參數(shù)對(duì)話(huà)框。原因S-Function對(duì)應(yīng)的文件沒(méi)有被找到。常見(jiàn)于安裝包解壓不完整或者后期手動(dòng)移動(dòng)過(guò)目錄導(dǎo)致相對(duì)路徑失效。Simulink在加載模型時(shí)按模型文件里記錄的路徑找S-Function路徑變了就找不到。解決先確認(rèn)目錄完整性再重新執(zhí)行addpath(genpath(...))。如果移動(dòng)過(guò)安裝目錄一定要重新注冊(cè)路徑。還不行就把模型里的S-Function模塊刪除后重新從庫(kù)瀏覽器拖入。5.3 穩(wěn)態(tài)迭代發(fā)散或報(bào)NaN現(xiàn)象fsolve迭代沒(méi)幾步殘差變成NaN模型運(yùn)行時(shí)間步內(nèi)出現(xiàn)非有限值。原因迭代初值離真實(shí)解太遠(yuǎn)熱力學(xué)屬性查表越界。T_MATS內(nèi)置的屬性表都有溫度和壓力范圍換算轉(zhuǎn)速給得太低或太高壓氣機(jī)特性圖插值時(shí)超出邊界就會(huì)向外推數(shù)據(jù)造成焓熵計(jì)算發(fā)散。解決把初值范圍縮小用Demo里同類(lèi)型部件的參數(shù)作為參考先跑通再調(diào)整。給屬性庫(kù)模塊設(shè)置合理的邊界檢查讓越界時(shí)停止仿真而不是繼續(xù)外推。這個(gè)問(wèn)題的本質(zhì)是初值猜測(cè)不在模型本身。5.4 批處理仿真結(jié)果全部相同現(xiàn)象循環(huán)里修改了燃油流量并重新仿真但輸出的推力曲線(xiàn)沒(méi)有變化像參數(shù)沒(méi)改一樣。原因工作區(qū)變量沒(méi)有更新。如果您把燃油流量定義為工作區(qū)變量在循環(huán)里修改了變量值但Simulink模型參數(shù)仍然引用著上一次編譯時(shí)的值或者模型參數(shù)被直接寫(xiě)成了常數(shù)沒(méi)有引用變量。解決用set_param顯式修改模型里的參數(shù)值而不是只改工作區(qū)變量。每次循環(huán)結(jié)束后用sim重新運(yùn)行并用SimulationOutput保存結(jié)果避免不同case之間的數(shù)據(jù)串?dāng)_。5.5 動(dòng)態(tài)仿真計(jì)算速度極慢現(xiàn)象一個(gè)10秒的動(dòng)態(tài)過(guò)程仿真跑了十幾分鐘才推進(jìn)不了一點(diǎn)。原因求解器步長(zhǎng)太小。T_MATS的S-Function經(jīng)過(guò)多次數(shù)據(jù)映射容易產(chǎn)生高頻數(shù)值振蕩導(dǎo)致變步長(zhǎng)求解器不斷縮小步長(zhǎng)或者模型里存在代數(shù)環(huán)每次循環(huán)都要額外迭代。解決換用ode15s剛性求解器在求解器配置中把零交叉檢測(cè)關(guān)閉適當(dāng)放寬相對(duì)誤差容限。另外檢查模型中是否有不該存在的代數(shù)環(huán)必要時(shí)在信號(hào)通道里加一個(gè)內(nèi)存模塊切斷代數(shù)循環(huán)。6. 進(jìn)階實(shí)操批量工況掃描與控制律驗(yàn)證6.1 批量工況掃描讓模型自己跑上百個(gè)點(diǎn)T_MATS建好的模型最大的價(jià)值是做性能分析。比如要掃燃油流量從慢車(chē)到最大狀態(tài)的整條推力曲線(xiàn)可以寫(xiě)一個(gè)循環(huán)用set_param逐次修改燃油流量參數(shù)然后用sim運(yùn)行并提取結(jié)果。fuelCases [0.02, 0.03, 0.04, 0.05]; % 燃油流量序列 for i 1:length(fuelCases) set_param([bdroot /Fuel], Value, num2str(fuelCases(i))); simOut sim(bdroot); thrust(i) simOut.logsout.get(Thrust).Values.Data(end); sfc(i) simOut.logsout.get(SFC).Values.Data(end); end plot(fuelCases, thrust, o-);bdroot返回當(dāng)前模型名/Fuel是模塊路徑set_param把燃油模塊參數(shù)改為當(dāng)前case的值sim運(yùn)行模型logsout.get從仿真日志中提取信號(hào)。這段代碼跑完就能畫(huà)出推力隨燃油流量的變化曲線(xiàn)。掃描前務(wù)必把設(shè)計(jì)點(diǎn)結(jié)構(gòu)體重新加載一遍否則第5.4節(jié)的坑又會(huì)出現(xiàn)。6.2 控制律驗(yàn)證把轉(zhuǎn)速閉環(huán)起來(lái)另一個(gè)常見(jiàn)需求是驗(yàn)證控制器參數(shù)。在T_MATS模型的基礎(chǔ)上把燃油信號(hào)改為PID控制器的輸出轉(zhuǎn)速信號(hào)反饋到PID輸入端就可以做閉環(huán)仿真。open_system(mysim/PID_Controller); set_param(mysim/PID_Controller, P, 5.2, I, 0.8);P和I分別對(duì)應(yīng)PID模塊的比例和積分增益先給一組保守初值跑通閉環(huán)再逐步增大增益觀察振蕩邊界。這一步做完T_MATS就從單純的性能模型變成了一個(gè)可以支持控制系統(tǒng)設(shè)計(jì)的仿真平臺(tái)。自從有一次批量掃描因?yàn)楣ぷ鲄^(qū)殘留變量導(dǎo)致結(jié)果全部作廢之后我每次跑掃描前都會(huì)強(qiáng)制走一遍clear variables→ 重新加載設(shè)計(jì)點(diǎn) → 再進(jìn)仿真循環(huán)。別嫌這幾步麻煩它救過(guò)我太多次。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取