[摘" " 要]介紹全方程熱流控制的基本流程和程序塊各FB子程序的功能,重點(diǎn)說(shuō)明“控制載荷譜塊”數(shù)據(jù)塊的建立。循環(huán)中斷組織塊中的各FB子程序通過(guò)“計(jì)數(shù)器”串聯(lián)在一起,保證程序按控制要求正確可靠執(zhí)行,為類(lèi)似編程提供一種解決方案。
[關(guān)鍵詞]全方程熱流控制;循環(huán)中斷組織塊;PLC程序
[中圖分類(lèi)號(hào)]V416 [文獻(xiàn)標(biāo)志碼]A
目前,國(guó)內(nèi)結(jié)構(gòu)熱試驗(yàn)控制方法多采用溫度控制或熱流密度控制。這兩種方法的共同點(diǎn)是需要預(yù)先給定溫度或熱流密度的時(shí)序命令曲線。溫度或熱流密度時(shí)序命令曲線通常是根據(jù)結(jié)構(gòu)件簡(jiǎn)單的一維熱分析模型計(jì)算得到的,無(wú)法將氣動(dòng)加熱與結(jié)構(gòu)熱響應(yīng)的耦合效應(yīng)考慮進(jìn)去。此外,由于缺乏某些材料的高溫?zé)嵛镄詤?shù),使計(jì)算得到的溫度或熱流密度時(shí)序命令與結(jié)構(gòu)件所承受的真實(shí)熱載荷相比有較大的誤差。根據(jù)不斷提高的試驗(yàn)任務(wù)要求,發(fā)展出一套模擬精度更高的結(jié)構(gòu)熱試驗(yàn)控制方法勢(shì)在必行,以此滿足不斷發(fā)展的結(jié)構(gòu)熱試驗(yàn)要求。
1 全方程熱流控制流程
考慮到傳統(tǒng)熱試驗(yàn)控制方法的不足,發(fā)展出新的結(jié)構(gòu)熱試驗(yàn)控制方法-全方程熱流控制方法。其控制流程:將當(dāng)前時(shí)刻結(jié)構(gòu)表面溫度實(shí)時(shí)測(cè)量值、飛行器軌道參數(shù)、相關(guān)的空氣動(dòng)力學(xué)參數(shù)及熱損失項(xiàng)等輸入控制計(jì)算機(jī);代入全方程熱流控制方程,計(jì)算出需施加給試驗(yàn)件的熱流;將計(jì)算得到的熱流值作為下一時(shí)刻的控制載荷命令值,與當(dāng)前時(shí)刻熱流密度反饋值進(jìn)行比較;根據(jù)二者之差產(chǎn)生的誤差信號(hào),調(diào)整電功率調(diào)節(jié)裝置的輸出電壓,進(jìn)而實(shí)現(xiàn)全方程熱流控制。該控制方法真正體現(xiàn)空氣動(dòng)力加熱與結(jié)構(gòu)熱響應(yīng)的實(shí)時(shí)耦合效應(yīng),可計(jì)及材料的高溫?zé)嵛镄詤?shù)隨溫度的變化,更加準(zhǔn)確地模擬結(jié)構(gòu)熱載荷環(huán)境,提高試驗(yàn)準(zhǔn)確性,彌補(bǔ)了傳統(tǒng)控制方法的不足,適用于溫度和熱流曲線無(wú)法準(zhǔn)確給定的復(fù)雜結(jié)構(gòu)。
2 程序結(jié)構(gòu)
本文以西門(mén)子S7-1500CPU為控制器,以TIA Portal V14作為編程和控制軟件,開(kāi)發(fā)出穩(wěn)定可靠的全方程熱流控制程序。程序是基于PLC的SCL編程語(yǔ)言進(jìn)行結(jié)構(gòu)化文本編程,包括主程序組織塊和循環(huán)中斷組織塊,其中主程序組織塊包含模擬量輸入塊、熱損失譜生成塊、控制載荷譜生成塊。循環(huán)中斷組織塊的循環(huán)掃描周期設(shè)為10ms,它是本次全方程控制的核心組織塊,包含熱損失斜率計(jì)算線性插值塊、載荷譜斜率計(jì)算塊、載荷譜線性插值塊、控制算法塊等FB功能塊。程序組織塊和功能塊的調(diào)用關(guān)系如圖1所示。
2.1 主程序組織塊
主程序組織塊主要用來(lái)完成全方程熱流控制前的準(zhǔn)備工作,創(chuàng)建飛行載荷譜和采集試驗(yàn)現(xiàn)場(chǎng)熱流、溫度等模擬量。
2.2 循環(huán)中斷組織塊
循環(huán)中斷組織塊主要用來(lái)完成載荷譜給定值生成,PIF控制算法計(jì)算和電壓輸出等任務(wù),流程如圖2所示。
第一步:如果有應(yīng)急,則將各相關(guān)狀態(tài)位置0,試驗(yàn)結(jié)束。
第二步:根據(jù)熱損失和當(dāng)前溫度插值計(jì)算熱損失項(xiàng)。
第三部:段時(shí)間是否小于0.01,如果是,則試驗(yàn)結(jié)束,否則進(jìn)行下一步。
第四步:段開(kāi)始上升沿時(shí)刻計(jì)算當(dāng)前段的斜率,段時(shí)間計(jì)數(shù)清零。
第五步:載荷譜插值,包括時(shí)間、冷壁熱流、恢復(fù)焓等相關(guān)參數(shù);開(kāi)始計(jì)數(shù),每一循環(huán)掃描周期段時(shí)間計(jì)數(shù)加1;PIF控制算法計(jì)算輸出電壓,輸出電壓值賦值給輸出通道。
第六步:當(dāng)段時(shí)間小于0.01s時(shí),試驗(yàn)結(jié)束,各狀態(tài)位置0,否則段計(jì)數(shù)加1,段開(kāi)始置1,進(jìn)行第四步。
2.3 創(chuàng)建飛行載荷譜
全方程中各參數(shù)為飛行器表面溫度Ts的函數(shù),或?yàn)殡S溫度變化的已知量,即輸入飛行器的熱流q,最終可表示為T(mén)s和時(shí)間的函數(shù)。飛行載荷譜包含以下兩個(gè)部分。
(1)排列對(duì)應(yīng)通道的控制載荷譜,即輸入同一時(shí)間點(diǎn)內(nèi)各通道對(duì)應(yīng)的載荷。
(2)排列熱損失譜,熱損失是關(guān)于飛行器表面溫度Ts的函數(shù)。
熱損失譜塊和控制載荷譜塊創(chuàng)建方法一樣。下面以創(chuàng)建控制載荷譜塊進(jìn)行說(shuō)明,控制載荷譜塊類(lèi)似于PLC中配方數(shù)據(jù)塊,步驟如下。
2.3.1 定義一個(gè)PLC數(shù)據(jù)類(lèi)型(UDT)
PLC數(shù)據(jù)類(lèi)型(UDT)是一種復(fù)雜的用戶自定義數(shù)據(jù)類(lèi)型,用于聲明變量,可以在程序中多次使用。它是一個(gè)由多個(gè)不同數(shù)據(jù)類(lèi)型元素組成的數(shù)據(jù)結(jié)構(gòu)。打開(kāi)項(xiàng)目樹(shù)的“PLC數(shù)據(jù)類(lèi)型”文件夾,雙擊“添加新數(shù)據(jù)類(lèi)型”,可以創(chuàng)建PLC數(shù)據(jù)類(lèi)型。定義好以后,可以在用戶程序中作為數(shù)據(jù)類(lèi)型使用。如圖3所示,創(chuàng)建“command_t qc hr”數(shù)據(jù)類(lèi)型。
2.3.2 新建控制載荷譜數(shù)據(jù)塊
創(chuàng)建一個(gè)數(shù)據(jù)類(lèi)型為command_t qc hr的載荷曲線數(shù)組,維度為21,如圖4所示。
2.3.3 新建活動(dòng)時(shí)間、冷壁熱流、恢復(fù)焓數(shù)據(jù)塊
圖5所示為excel中載荷曲線數(shù)據(jù)導(dǎo)入控制載荷譜的接口。point_c為控制載荷譜數(shù)據(jù)塊橫坐標(biāo)索引值,即控制載荷譜數(shù)據(jù)塊的行數(shù),channel_c為控制載荷譜數(shù)據(jù)塊縱坐標(biāo)索引值,即控制載荷譜數(shù)據(jù)塊的列數(shù)。
2.3.4 建立控制載荷譜塊功能塊
當(dāng)channel_c=1時(shí),活動(dòng)時(shí)間、冷壁熱流、恢復(fù)焓數(shù)據(jù)塊中數(shù)組C數(shù)據(jù)導(dǎo)入至控制載荷譜數(shù)據(jù)塊時(shí)間t序列;當(dāng)channel_c=2時(shí),數(shù)組C數(shù)據(jù)導(dǎo)入至控制載荷譜數(shù)據(jù)塊冷壁熱流qc序列;當(dāng)channel_c=3時(shí),數(shù)組C數(shù)據(jù)導(dǎo)入控制載荷譜數(shù)據(jù)塊恢復(fù)焓hr序列。
2.3.5 VBS語(yǔ)言開(kāi)發(fā)控制載荷譜數(shù)據(jù)導(dǎo)入PLC功能
控制載荷譜數(shù)據(jù)首先以excel文件形式存放并保存,通過(guò)VBS將excel數(shù)據(jù)導(dǎo)入至PLC控制載荷譜數(shù)據(jù)塊??刂戚d荷譜數(shù)據(jù)導(dǎo)入PLC功能流程如圖6所示,其中,HMI變量intex1、intex2、cc數(shù)組分別對(duì)應(yīng)PLC活動(dòng)時(shí)間、冷壁熱流、恢復(fù)焓數(shù)據(jù)塊point_c、channel_c、C數(shù)組。
2.3.6 熱損失斜率計(jì)算線性插值塊
熱損失功能塊的任務(wù)是根據(jù)當(dāng)前溫度值和熱損失譜塊,判斷當(dāng)前溫度值所在的段數(shù),然后計(jì)算出當(dāng)前所在段的斜率,再求解出熱流值,此熱流值為當(dāng)前溫度值下的熱損失項(xiàng)。熱損失斜率計(jì)算線性插值塊流程如圖7所示。
2.4 控制載荷斜率計(jì)算塊
控制載荷斜率計(jì)算塊流程如圖8所示,主要完成在段開(kāi)始的上升沿進(jìn)行當(dāng)前段的斜率計(jì)算任務(wù)。因?yàn)檠h(huán)中斷組織塊掃描周期為10ms,所以計(jì)算斜率公式為段斜率=(當(dāng)前段冷壁熱流-前一段冷壁熱流)/(當(dāng)前段時(shí)間值-前一段時(shí)間值)/100。因?yàn)楦↑c(diǎn)數(shù)精度問(wèn)題,所以端點(diǎn)值等于控制載荷譜的端點(diǎn)值。
2.5 控制載荷線性插值塊
控制載荷線性插值塊流程如圖9所示,主要完成的任務(wù)是在當(dāng)前段的段開(kāi)始給定值的基礎(chǔ)上,每個(gè)掃描周期自加當(dāng)前段的段斜率,完成線性插值任務(wù)。
2.6 控制算法
控制算法流程如圖10所示,主要完成的任務(wù)是依據(jù)全方程熱流控制試驗(yàn)特點(diǎn),根據(jù)當(dāng)前的誤差,按照比例積分前饋算法,輸出相應(yīng)電壓值,進(jìn)行閉環(huán)控制。為了提高熱流計(jì)響應(yīng)時(shí)間,前饋算法直接按一定比例作用在命令上,即前饋輸出為0.008×當(dāng)前命令值。
3 結(jié)束
根據(jù)全方程熱流控制試驗(yàn)特點(diǎn),在熱試驗(yàn)中,可測(cè)得試驗(yàn)件表面溫度和表面熱流,熱損失項(xiàng)通過(guò)“熱損失斜率計(jì)算線性插值塊”功能塊得到??刂品匠讨械钠渌麩嵛锢韰?shù)都是表面溫度的函數(shù),只要測(cè)得表面溫度,就能確定熱壁熱流值,進(jìn)而實(shí)現(xiàn)全方程熱流控制。
本次編程以TIA Portal V14軟件為平臺(tái),介紹全方程熱流控制的程序塊,主程序組織塊完成飛行載荷譜的導(dǎo)入,以及測(cè)量表面溫度和熱流值,循環(huán)中斷組織塊完成飛行載荷譜的生成,即閉環(huán)控制中命令熱壁熱流的生成。重點(diǎn)創(chuàng)建了熱損失譜塊和控制載荷譜塊數(shù)據(jù)塊,為FB功能塊用SCL語(yǔ)言間接尋址提供了變量名。
參考文獻(xiàn)
[1] 廖常初. S7-1200/1500 PLC應(yīng)用技術(shù)[M]. 北京:機(jī)械工業(yè)出版社,2017.
作者簡(jiǎn)介
張順利(1987—),男,天津人,本科,工程師,主要研究方向?yàn)轱w行器熱強(qiáng)度試驗(yàn)測(cè)控。