李 鋒,楊軍鋒,徐 建
(中國華陰兵器試驗中心,華陰 714200)
武器裝備從生產、運輸、裝卸到儲存、使用整個過程中都經歷著各種復雜的自然環境和誘發環境,只有能經受各種惡劣環境條件考驗的產品才是合格的產品,也才能發揮其應有的效能[1]。高溫濕熱模擬試驗是在人工模擬的濕熱環境條件下以考核試品對高溫濕熱環境的適應性,是武器裝備必須通過的考核項目。
溫度-濕度實驗箱(簡稱濕熱箱)可以很好地模擬濕熱環境,其主體為一個密封金屬罐,通過外圍設備可以模擬真實環境中溫度、濕度等環境條件。GJB150A對武器裝備在濕熱環境考核中的溫、濕度控制精度提出了嚴格的要求,這就對測控系統的硬件要求相當高,既要達到要求的精度,又要及時反映系統的真實情況,同時升降溫速率的要求使得實驗艙內溫度變化必須能夠實現線性控制,這是整個測控系統中的難點[2]。基于此,設計和實現了一套用于濕熱箱的濕熱環境過程控制的測控系統。
測控系統硬件設計結構如圖1所示。系統采用現場級響應、下位級控制、上位級管理以及遠程級監控的分布式測控系統,以工業控制計算機為核心,配合以單元組合儀器及微處理器,對試驗系統進行集中管理分散控制[3-4]。

圖1 測控系統結構圖Fig.1 Structure diagram of measurement and control system
濕熱測控系統現場級由溫度、濕度、轉速等傳感變送器組成,變送后的信號傳送至下位機的智能儀表進行測量與控制。
同為現場級的還有執行機構,包括電加熱器、渦輪等,它們均由下位控制級根據當前狀態與設定狀態的關系,以一定的算法來進行控制。
下位控制級由智能調節控制儀組成,完成對現場級執行機構的控制。智能儀表可以同時顯示所控制狀態參量的當前值,通過(4~20)mA的信號輸出控制執行機構,達到控制的目的。
下位機同時與上位機通過RS485串口(半雙工通信模式)與上位機通信,既可以將測量結果傳給上位機,又可以接收上位機傳輸來的命令,無擾實現上下位機控制的轉換。下位機同時具有硬件報警功能,當有參數報警時,可以通過硬件電路的切斷保護設備。
上位管理級為工控機,工控機通過串口與下位機通信,實現數據采集與系統控制。工控機PCI插槽同時插有DI、DO、AD板,測量數字量輸入、輸出,以及通過AD板卡采集數據[5]。同時還可以動態監控試驗狀況,管理試驗數據,生成各種報表、曲線以及向遠程監控計算機發送實驗數據。
遠程監控級由局域網內遠程監控計算機組成,試驗過程中,作為客戶端,可以接收從上位機傳送過來的數據,實時監控試驗的狀態。
系統軟件采用VC++6.0開發,功能模塊均封裝成特定的動態鏈接庫或者用ActiveX控制,方便以后不需重新編譯便可以升級軟件功能。軟件整體結構如圖2所示。

圖2 測控系統軟件結構圖Fig.2 Software structure diagram of measurement and control system
軟件分為4個界面:流程圖界面、實時數據界面、曲線界面以及歷史數據表格界面。
流程圖界面繪制了整個系統的流程,在流程圖上相應的設備處顯示當前的狀態參數值,讓使用者可以一目了然地明白整個系統的工作狀況,而且還可以在本界面上實現上位機與下位機的通信,控制整個系統。
實時數據界面實時顯示了系統所有狀態參數當前的值。正常情況下數據以黑色顯示。當有狀態參數處于報警狀態時,此數據以紅色顯示,可以很清楚看出報警的變量。
曲線界面可以繪制任一參數從開始實驗到當前狀態的曲線圖。曲線的參數范圍可以任意調節,橫坐標默認是時間,也可以改為其它的參數,觀察2個參數之間的函數關系。
歷史數據表格界面保存了從實驗開始的每個周期所有參數的值,當在實驗過程中需要查詢之前的任一周期的狀態值時,均可從此表格中讀出參數的具體數值。
采集控制模塊負責與下位機通信,對下位機發送控制信號并從下位機讀取測量值,主要完成串口通信部分的設計。
數據處理模塊對采集的數據進行一定的處理,如對受到干擾的數據進行數據濾波,把采集到的相關數據經過運算后得到一項綜合實驗參數等。此模塊還負責數據存盤的工作,在每個周期采集到數據的同時,通過SQL語句操作數據庫實現數據的存儲。當實驗過程中需要查閱歷史數據時,還可以從數據庫中調取需要的數據。
使用socket套接字,通過UDP技術將上位機的實驗數據發送至遠程監控計算機。
任務調度模塊負責各個模塊(線程)間的同步問題。采用事件變量調度各個模塊,提高系統運行效率,并通過設置臨界區變量,實現對數據區的安全讀寫。
為了滿足GJB150A中對環境試驗控制精度的要求,并且對于無自平衡能力的系統,要防止超調現象的發生,本文運用專家PID溫度控制策略。專家PID控制算法是建立在經典PID控制算法基礎上的一種控制算法。其實質是基于受控對象和控制規律的各種知識并以智能的方式利用這些知識來設計控制器。根據偏差及其變化,可設計專家PID控制器。本文提出的控制器按以下6種情況進行設計:
①當∣e(k)1∣>M1時,說明誤差的絕對值比較大。此時,應考慮較強的控制作用,即控制器的輸出應該按最大或最小方向輸出,以達到迅速調整誤差的目的,使誤差絕對值以最大速度減小。M1為設定的誤差界限。
②當 e(k)Δe(k)≥0 時,說明誤差在朝誤差絕對值增大方向變化,或誤差為常值,未發生變化。如果此時∣e(k)∣≥M2,說明誤差也較大,可考慮由控制器實施較強的控制作用。如果∣e(k)∣<M2,則說明盡管誤差朝絕對值增大的方向變化,但誤差絕對值本身并不很大,可實施一般的控制作用。M2為設定的誤差界限。
③當 e(k)Δe(k)<0、Δe(k)Δe(k-1)>0 時,說明誤差在朝減小的方向變化。此時比例作用應該同步減小,微分作用應該加強,從而使控制器提前作用,以抑制系統的超調。
④當 e(k)Δe(k)<0、Δe(k)Δe(k-1)<0 時,說明誤差處于極值狀態,對于溫控系統這類時滯慢過程來說有很大的影響,若∣e(k)∣≥M2,則采用較強的比例微分控制作用。反之則采用較弱的控制作用。
⑤當∣e(k)∣<ε,ε為任意小的正數。說明此時誤差的絕對值很小,可考慮加入積分環節,減少穩態誤差。
⑥當e(k)=0時,說明系統已經達到平衡狀態,此時可考慮維持當前控制量不變。
上位機通過串口與智能儀表,溫度采集模塊、濕度采集模塊等進行通信,串口通信部分是軟件的重要組成部分[6-7]。
首先選擇串口通信的接口方式,現在主要有RS232,RS422,RS485 三種工作方式[4]。 RS232 采用三線半雙工工作方式,由于總線不能并聯,只能單臺點對點工作,因此在此不能采用。RS422用差動兩線發送,兩線接收的四線全雙工工作方式,RS485是RS422的變型,采用差動兩線發送,兩線接收的雙向數據總線兩線制半雙工工作方式。這里RS485通信速度可達到要求,所以采用更為簡便的RS485接口。
串口通信軟件設計主要有2種辦法:一種是使用MSComm控件,雖簡單易用,但是這個控件較大,使用時會同時加入許多并不需要的功能,存有實時性不高、高速通信時準確率較差和處理速度較慢等問題,而且一個控件只能進行一個串口操作,這樣很不方便,故一般不采用這種方法。
第二種是使用Windows API函數的方法[5],以文件方式來進行串口的讀寫操作,具有很強的靈活性。與儀表進行通信,要采集它的數據,對其發送控制量和設定值等,對溫度采集模塊也要讀取它的數值,若每次通信都要再寫串口通信代碼,這樣非常不方便。為了使用方便,可以把與串口通信有關的操作全部封裝到一個類中,在類中把通信的功能全部實現,這樣在每次使用時就很方便了。經過封裝的串口通信類如下(參數均略去):
class CCommunicate:public CObject
{
public:
BOOL ReadADAM();//讀取 ADAM 模塊
BOOL SetPID();//設置儀表 PID 參數
BOOL SetCommStates();//設置通信狀態
BOOL SetToAuto();//儀表設為自動控制
BOOL SetToMan();//儀表設為手動控制
BOOL CloseCom();//關閉串口
void GetValue();//讀取儀表測量值
BOOL GetStatus();//獲取儀表狀態
BOOL WriteCom();//寫串口
BOOL CtrlValue();//發送控制量
BOOL SetValue();//發送設定值
BOOL SetToLocal();//設置儀表本地狀態
BOOL InitCom();//初始化串口
CCommunicate();//構造函數
virtual ~CCommunicate();//析構函數
HANDLE m_hComm;//串口句柄
DCB m_dcb;//DCB 結構體
char m_ComOut[100];//發送命令數組
char m_ComIn[100];//接收數據數組
};
本系統是一個比較復雜的多變量系統,并且具有滯后性和耦合性等特點,通過聯調聯試,確定了PID控制器的比例系數Kp、積分時間Ti、微分時間Td和采樣周期Ts的數值等參數。圖3為按照國軍標150A中規定的濕熱曲線運行效果圖。

圖3 溫濕度試驗曲線Fig.3 Temperature and humidity test curves
目前,測控系統已經調試完畢,正式投入使用。從使用情況來看,該測控系統具有響應速度較快,控制精度高,串口通信誤碼率低等特點,很好地滿足了高速率數據采集的要求。系統還具有一定的通用性,經過少量的修改后便可以應用于同類的測控系統中。
[1]GJB150.7A-2009軍用設備環境試驗方法[S].國防科學技術工業委員會,2009.
[2] 馬利英,任慶昌,李建維.溫濕度解耦在變露點控制中的應用研究[J].建筑熱能通風空調,2008,27(6):41-42.
[3] 盧祖炎.基于PLC的環境模擬試驗控制系統研究[D].南京理工大學碩士論文,2013:7-15.
[4] 周洪煜,彭其潤,田彬.基于PLC與專家PID控制器的電解槽預焙燒控制系統[J].計算機測量與控制,2004,12(12):1175-1177.
[5] 劉彪.基于WinCC的環境模擬試驗監控系統設計與實現[D].南京理工大學碩士論文,2013:9-18.
[6] 王建文,任慶昌.串級控制在空調水系統控制中的應用研究與仿真[J].自動化技術與應用,2010,20(1):60-62.
[7] 宋艷蘋,蔣建飛,王萬召.DMPIC-PID串級過熱汽溫控制系統[J].河南城建學院學報,2009,18(5):45-48. ■