李 鋒,楊軍鋒,徐 建
(中國華陰兵器試驗中心,華陰 714200)
武器裝備從生產(chǎn)、運(yùn)輸、裝卸到儲存、使用整個過程中都經(jīng)歷著各種復(fù)雜的自然環(huán)境和誘發(fā)環(huán)境,只有能經(jīng)受各種惡劣環(huán)境條件考驗的產(chǎn)品才是合格的產(chǎn)品,也才能發(fā)揮其應(yīng)有的效能[1]。高溫濕熱模擬試驗是在人工模擬的濕熱環(huán)境條件下以考核試品對高溫濕熱環(huán)境的適應(yīng)性,是武器裝備必須通過的考核項目。
溫度-濕度實驗箱(簡稱濕熱箱)可以很好地模擬濕熱環(huán)境,其主體為一個密封金屬罐,通過外圍設(shè)備可以模擬真實環(huán)境中溫度、濕度等環(huán)境條件。GJB150A對武器裝備在濕熱環(huán)境考核中的溫、濕度控制精度提出了嚴(yán)格的要求,這就對測控系統(tǒng)的硬件要求相當(dāng)高,既要達(dá)到要求的精度,又要及時反映系統(tǒng)的真實情況,同時升降溫速率的要求使得實驗艙內(nèi)溫度變化必須能夠?qū)崿F(xiàn)線性控制,這是整個測控系統(tǒng)中的難點(diǎn)[2]?;诖耍O(shè)計和實現(xiàn)了一套用于濕熱箱的濕熱環(huán)境過程控制的測控系統(tǒng)。
測控系統(tǒng)硬件設(shè)計結(jié)構(gòu)如圖1所示。系統(tǒng)采用現(xiàn)場級響應(yīng)、下位級控制、上位級管理以及遠(yuǎn)程級監(jiān)控的分布式測控系統(tǒng),以工業(yè)控制計算機(jī)為核心,配合以單元組合儀器及微處理器,對試驗系統(tǒng)進(jìn)行集中管理分散控制[3-4]。
圖1 測控系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of measurement and control system
濕熱測控系統(tǒng)現(xiàn)場級由溫度、濕度、轉(zhuǎn)速等傳感變送器組成,變送后的信號傳送至下位機(jī)的智能儀表進(jìn)行測量與控制。
同為現(xiàn)場級的還有執(zhí)行機(jī)構(gòu),包括電加熱器、渦輪等,它們均由下位控制級根據(jù)當(dāng)前狀態(tài)與設(shè)定狀態(tài)的關(guān)系,以一定的算法來進(jìn)行控制。
下位控制級由智能調(diào)節(jié)控制儀組成,完成對現(xiàn)場級執(zhí)行機(jī)構(gòu)的控制。智能儀表可以同時顯示所控制狀態(tài)參量的當(dāng)前值,通過(4~20)mA的信號輸出控制執(zhí)行機(jī)構(gòu),達(dá)到控制的目的。
下位機(jī)同時與上位機(jī)通過RS485串口(半雙工通信模式)與上位機(jī)通信,既可以將測量結(jié)果傳給上位機(jī),又可以接收上位機(jī)傳輸來的命令,無擾實現(xiàn)上下位機(jī)控制的轉(zhuǎn)換。下位機(jī)同時具有硬件報警功能,當(dāng)有參數(shù)報警時,可以通過硬件電路的切斷保護(hù)設(shè)備。
上位管理級為工控機(jī),工控機(jī)通過串口與下位機(jī)通信,實現(xiàn)數(shù)據(jù)采集與系統(tǒng)控制。工控機(jī)PCI插槽同時插有DI、DO、AD板,測量數(shù)字量輸入、輸出,以及通過AD板卡采集數(shù)據(jù)[5]。同時還可以動態(tài)監(jiān)控試驗狀況,管理試驗數(shù)據(jù),生成各種報表、曲線以及向遠(yuǎn)程監(jiān)控計算機(jī)發(fā)送實驗數(shù)據(jù)。
遠(yuǎn)程監(jiān)控級由局域網(wǎng)內(nèi)遠(yuǎn)程監(jiān)控計算機(jī)組成,試驗過程中,作為客戶端,可以接收從上位機(jī)傳送過來的數(shù)據(jù),實時監(jiān)控試驗的狀態(tài)。
系統(tǒng)軟件采用VC++6.0開發(fā),功能模塊均封裝成特定的動態(tài)鏈接庫或者用ActiveX控制,方便以后不需重新編譯便可以升級軟件功能。軟件整體結(jié)構(gòu)如圖2所示。
圖2 測控系統(tǒng)軟件結(jié)構(gòu)圖Fig.2 Software structure diagram of measurement and control system
軟件分為4個界面:流程圖界面、實時數(shù)據(jù)界面、曲線界面以及歷史數(shù)據(jù)表格界面。
流程圖界面繪制了整個系統(tǒng)的流程,在流程圖上相應(yīng)的設(shè)備處顯示當(dāng)前的狀態(tài)參數(shù)值,讓使用者可以一目了然地明白整個系統(tǒng)的工作狀況,而且還可以在本界面上實現(xiàn)上位機(jī)與下位機(jī)的通信,控制整個系統(tǒng)。
實時數(shù)據(jù)界面實時顯示了系統(tǒng)所有狀態(tài)參數(shù)當(dāng)前的值。正常情況下數(shù)據(jù)以黑色顯示。當(dāng)有狀態(tài)參數(shù)處于報警狀態(tài)時,此數(shù)據(jù)以紅色顯示,可以很清楚看出報警的變量。
曲線界面可以繪制任一參數(shù)從開始實驗到當(dāng)前狀態(tài)的曲線圖。曲線的參數(shù)范圍可以任意調(diào)節(jié),橫坐標(biāo)默認(rèn)是時間,也可以改為其它的參數(shù),觀察2個參數(shù)之間的函數(shù)關(guān)系。
歷史數(shù)據(jù)表格界面保存了從實驗開始的每個周期所有參數(shù)的值,當(dāng)在實驗過程中需要查詢之前的任一周期的狀態(tài)值時,均可從此表格中讀出參數(shù)的具體數(shù)值。
采集控制模塊負(fù)責(zé)與下位機(jī)通信,對下位機(jī)發(fā)送控制信號并從下位機(jī)讀取測量值,主要完成串口通信部分的設(shè)計。
數(shù)據(jù)處理模塊對采集的數(shù)據(jù)進(jìn)行一定的處理,如對受到干擾的數(shù)據(jù)進(jìn)行數(shù)據(jù)濾波,把采集到的相關(guān)數(shù)據(jù)經(jīng)過運(yùn)算后得到一項綜合實驗參數(shù)等。此模塊還負(fù)責(zé)數(shù)據(jù)存盤的工作,在每個周期采集到數(shù)據(jù)的同時,通過SQL語句操作數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的存儲。當(dāng)實驗過程中需要查閱歷史數(shù)據(jù)時,還可以從數(shù)據(jù)庫中調(diào)取需要的數(shù)據(jù)。
使用socket套接字,通過UDP技術(shù)將上位機(jī)的實驗數(shù)據(jù)發(fā)送至遠(yuǎn)程監(jiān)控計算機(jī)。
任務(wù)調(diào)度模塊負(fù)責(zé)各個模塊(線程)間的同步問題。采用事件變量調(diào)度各個模塊,提高系統(tǒng)運(yùn)行效率,并通過設(shè)置臨界區(qū)變量,實現(xiàn)對數(shù)據(jù)區(qū)的安全讀寫。
為了滿足GJB150A中對環(huán)境試驗控制精度的要求,并且對于無自平衡能力的系統(tǒng),要防止超調(diào)現(xiàn)象的發(fā)生,本文運(yùn)用專家PID溫度控制策略。專家PID控制算法是建立在經(jīng)典PID控制算法基礎(chǔ)上的一種控制算法。其實質(zhì)是基于受控對象和控制規(guī)律的各種知識并以智能的方式利用這些知識來設(shè)計控制器。根據(jù)偏差及其變化,可設(shè)計專家PID控制器。本文提出的控制器按以下6種情況進(jìn)行設(shè)計:
①當(dāng)∣e(k)1∣>M1時,說明誤差的絕對值比較大。此時,應(yīng)考慮較強(qiáng)的控制作用,即控制器的輸出應(yīng)該按最大或最小方向輸出,以達(dá)到迅速調(diào)整誤差的目的,使誤差絕對值以最大速度減小。M1為設(shè)定的誤差界限。
②當(dāng) e(k)Δe(k)≥0 時,說明誤差在朝誤差絕對值增大方向變化,或誤差為常值,未發(fā)生變化。如果此時∣e(k)∣≥M2,說明誤差也較大,可考慮由控制器實施較強(qiáng)的控制作用。如果∣e(k)∣<M2,則說明盡管誤差朝絕對值增大的方向變化,但誤差絕對值本身并不很大,可實施一般的控制作用。M2為設(shè)定的誤差界限。
③當(dāng) e(k)Δe(k)<0、Δe(k)Δe(k-1)>0 時,說明誤差在朝減小的方向變化。此時比例作用應(yīng)該同步減小,微分作用應(yīng)該加強(qiáng),從而使控制器提前作用,以抑制系統(tǒng)的超調(diào)。
④當(dāng) e(k)Δe(k)<0、Δe(k)Δe(k-1)<0 時,說明誤差處于極值狀態(tài),對于溫控系統(tǒng)這類時滯慢過程來說有很大的影響,若∣e(k)∣≥M2,則采用較強(qiáng)的比例微分控制作用。反之則采用較弱的控制作用。
⑤當(dāng)∣e(k)∣<ε,ε為任意小的正數(shù)。說明此時誤差的絕對值很小,可考慮加入積分環(huán)節(jié),減少穩(wěn)態(tài)誤差。
⑥當(dāng)e(k)=0時,說明系統(tǒng)已經(jīng)達(dá)到平衡狀態(tài),此時可考慮維持當(dāng)前控制量不變。
上位機(jī)通過串口與智能儀表,溫度采集模塊、濕度采集模塊等進(jìn)行通信,串口通信部分是軟件的重要組成部分[6-7]。
首先選擇串口通信的接口方式,現(xiàn)在主要有RS232,RS422,RS485 三種工作方式[4]。 RS232 采用三線半雙工工作方式,由于總線不能并聯(lián),只能單臺點(diǎn)對點(diǎn)工作,因此在此不能采用。RS422用差動兩線發(fā)送,兩線接收的四線全雙工工作方式,RS485是RS422的變型,采用差動兩線發(fā)送,兩線接收的雙向數(shù)據(jù)總線兩線制半雙工工作方式。這里RS485通信速度可達(dá)到要求,所以采用更為簡便的RS485接口。
串口通信軟件設(shè)計主要有2種辦法:一種是使用MSComm控件,雖簡單易用,但是這個控件較大,使用時會同時加入許多并不需要的功能,存有實時性不高、高速通信時準(zhǔn)確率較差和處理速度較慢等問題,而且一個控件只能進(jìn)行一個串口操作,這樣很不方便,故一般不采用這種方法。
第二種是使用Windows API函數(shù)的方法[5],以文件方式來進(jìn)行串口的讀寫操作,具有很強(qiáng)的靈活性。與儀表進(jìn)行通信,要采集它的數(shù)據(jù),對其發(fā)送控制量和設(shè)定值等,對溫度采集模塊也要讀取它的數(shù)值,若每次通信都要再寫串口通信代碼,這樣非常不方便。為了使用方便,可以把與串口通信有關(guān)的操作全部封裝到一個類中,在類中把通信的功能全部實現(xiàn),這樣在每次使用時就很方便了。經(jīng)過封裝的串口通信類如下(參數(shù)均略去):
class CCommunicate:public CObject
{
public:
BOOL ReadADAM();//讀取 ADAM 模塊
BOOL SetPID();//設(shè)置儀表 PID 參數(shù)
BOOL SetCommStates();//設(shè)置通信狀態(tài)
BOOL SetToAuto();//儀表設(shè)為自動控制
BOOL SetToMan();//儀表設(shè)為手動控制
BOOL CloseCom();//關(guān)閉串口
void GetValue();//讀取儀表測量值
BOOL GetStatus();//獲取儀表狀態(tài)
BOOL WriteCom();//寫串口
BOOL CtrlValue();//發(fā)送控制量
BOOL SetValue();//發(fā)送設(shè)定值
BOOL SetToLocal();//設(shè)置儀表本地狀態(tài)
BOOL InitCom();//初始化串口
CCommunicate();//構(gòu)造函數(shù)
virtual ~CCommunicate();//析構(gòu)函數(shù)
HANDLE m_hComm;//串口句柄
DCB m_dcb;//DCB 結(jié)構(gòu)體
char m_ComOut[100];//發(fā)送命令數(shù)組
char m_ComIn[100];//接收數(shù)據(jù)數(shù)組
};
本系統(tǒng)是一個比較復(fù)雜的多變量系統(tǒng),并且具有滯后性和耦合性等特點(diǎn),通過聯(lián)調(diào)聯(lián)試,確定了PID控制器的比例系數(shù)Kp、積分時間Ti、微分時間Td和采樣周期Ts的數(shù)值等參數(shù)。圖3為按照國軍標(biāo)150A中規(guī)定的濕熱曲線運(yùn)行效果圖。
圖3 溫濕度試驗曲線Fig.3 Temperature and humidity test curves
目前,測控系統(tǒng)已經(jīng)調(diào)試完畢,正式投入使用。從使用情況來看,該測控系統(tǒng)具有響應(yīng)速度較快,控制精度高,串口通信誤碼率低等特點(diǎn),很好地滿足了高速率數(shù)據(jù)采集的要求。系統(tǒng)還具有一定的通用性,經(jīng)過少量的修改后便可以應(yīng)用于同類的測控系統(tǒng)中。
[1]GJB150.7A-2009軍用設(shè)備環(huán)境試驗方法[S].國防科學(xué)技術(shù)工業(yè)委員會,2009.
[2] 馬利英,任慶昌,李建維.溫濕度解耦在變露點(diǎn)控制中的應(yīng)用研究[J].建筑熱能通風(fēng)空調(diào),2008,27(6):41-42.
[3] 盧祖炎.基于PLC的環(huán)境模擬試驗控制系統(tǒng)研究[D].南京理工大學(xué)碩士論文,2013:7-15.
[4] 周洪煜,彭其潤,田彬.基于PLC與專家PID控制器的電解槽預(yù)焙燒控制系統(tǒng)[J].計算機(jī)測量與控制,2004,12(12):1175-1177.
[5] 劉彪.基于WinCC的環(huán)境模擬試驗監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[D].南京理工大學(xué)碩士論文,2013:9-18.
[6] 王建文,任慶昌.串級控制在空調(diào)水系統(tǒng)控制中的應(yīng)用研究與仿真[J].自動化技術(shù)與應(yīng)用,2010,20(1):60-62.
[7] 宋艷蘋,蔣建飛,王萬召.DMPIC-PID串級過熱汽溫控制系統(tǒng)[J].河南城建學(xué)院學(xué)報,2009,18(5):45-48. ■