收稿日期:2014-05-22
作者簡介:葉強(qiáng)(1988-),男,遼寧撫順人,碩士研究生,主要研究方向: 工業(yè)過程的先進(jìn)控制。
摘要:針對(duì)電阻爐溫度系統(tǒng)具有非線性、大慣性、大滯后等特點(diǎn),結(jié)合常規(guī)PID控制器和模糊控制器各自的長處,以MATLAB為計(jì)算平臺(tái),通過OPC技術(shù)實(shí)現(xiàn)MATLAB和ECS-700之間的數(shù)據(jù)交換。提出了基于OPC技術(shù)的自適應(yīng)模糊PID控制方案。自適應(yīng)模糊PID控制器由MATLAB中的模糊工具箱設(shè)計(jì),ECS-700主要負(fù)責(zé)數(shù)據(jù)采集和設(shè)備驅(qū)動(dòng)。實(shí)驗(yàn)結(jié)果表明,電阻爐溫度控制系統(tǒng)的性能令人滿意,該方法調(diào)節(jié)時(shí)間短、超調(diào)量小、波動(dòng)小,OPC通信的性能非常有效可靠,可以有效應(yīng)用于電阻爐溫度控制系統(tǒng)中。
關(guān)鍵詞:電阻爐; PID控制; 自適應(yīng)模糊PID控制; OPC; 中控ECS-700
中圖分類號(hào):TP302文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-2163(2014)03-0049-04
The Design of Resistance Furnace
Temperature Control System based on OPC and MATLAB
YE Qiang
(School of Information and Control Engineering, Liaoning Shihua University, Fushun Liaoning 113001, China)
Abstract:For resistance furnace temperature system has the characteristics of nonlinear, big inertia, great lag, combined with respective strengths of the conventional PID controller and fuzzy controller, and taking MATLAB as computing platform,the data exchange between MATLAB and ECS-700 is realized by OPC technology. The paper puts forward the adaptive fuzzy PID control scheme based on OPC technology. The adaptive PID controller is developed by the fuzzy toolbox in MATLAB. The data acquisition and devices driving are also realized by ECS-700.The experimental results show that the performance of resistance furnace temperature control system is satisfactory and the method has short setting time,small overshoot and fluctuation,simultaneously the performance of OPC communication is very efficient and reliable ,which determines the system can be effectively applied in a resistance furnace temperature system.
Key words:Resistance Furnace; PID Controller; Adaptive Fuzzy PID Controller; OPC; SUPCON ECS-700
0引言
電阻爐是熱處理工業(yè)中常用的設(shè)備,實(shí)驗(yàn)室中的電阻爐是一種開放式的加熱系統(tǒng),并且具有非線性、大慣性、大滯后、易受環(huán)境干擾等特點(diǎn)[1]。常規(guī)的爐溫控制器多采用PID控制,這種控制器較為傳統(tǒng),而因其簡單性,就使得在范圍廣泛的各類操作中獲得了普遍應(yīng)用。但是其超調(diào)量大、響應(yīng)時(shí)間長,卻又使其很難滿足迅速升溫的實(shí)驗(yàn)與工作需求。與此同時(shí),模糊邏輯控制器和智能控制器能夠模擬人類的知識(shí)和推理,并將其應(yīng)用到控制器中,進(jìn)而獲得了更好的控制性能。只是這類控制器卻仍然只是具備著常規(guī)控制器的一部分優(yōu)點(diǎn)以及自有的缺點(diǎn)。其中的自適應(yīng)模糊PID控制就是結(jié)合傳統(tǒng)的PID 控制理論和模糊控制理論的特性進(jìn)行構(gòu)造并實(shí)現(xiàn)的一種控制器[2]。還應(yīng)看到,MATLAB擁有強(qiáng)大的工程計(jì)算和編程能力,易于實(shí)現(xiàn)復(fù)雜的控制算法。MATLAB 7.0及其以上的版本均已集成了OPC工具箱[3],ECS-700 DCS也支持OPC技術(shù)。已有很多研究利用OPC技術(shù)進(jìn)行了仿真平臺(tái)設(shè)計(jì),但還沒能在一個(gè)實(shí)時(shí)的控制系統(tǒng)中集成并運(yùn)用該方法。因此,本文通過成熟的OPC技術(shù),將由MATLAB編寫的自適應(yīng)模糊PID控制和ECS-700相結(jié)合,允許兩者之間的必要數(shù)據(jù)交換,進(jìn)而完成對(duì)電阻爐溫度的實(shí)時(shí)控制。
1控制系統(tǒng)結(jié)構(gòu)
電阻爐溫度控制系統(tǒng)結(jié)構(gòu)如圖1所示。由圖1可見,系統(tǒng)的硬件實(shí)體主要包括電阻爐、熱電偶、A/D轉(zhuǎn)換器、工控機(jī)、可控硅控制電路等幾部分?,F(xiàn)對(duì)其進(jìn)行如下分析。
(1)電阻爐為常壓三相45KW的電加熱爐,包含內(nèi)膽和夾套兩部分。內(nèi)膽裝有電加熱裝置和一路供水裝置提供的循環(huán)水,夾套則裝有供水裝置提供的另一路冷卻水;
(2)檢測裝置。檢測裝置由熱電偶和A/D轉(zhuǎn)換器兩部分組成;
(3)執(zhí)行器??梢越邮誆CS-700 DCS控制信號(hào),并將其轉(zhuǎn)化為相應(yīng)的電壓增減來改變加熱體的功率,從而實(shí)現(xiàn)對(duì)溫度的控制;
(4)工控機(jī)。負(fù)責(zé)將接收的數(shù)據(jù)在內(nèi)部的MATLAB應(yīng)用軟件中進(jìn)行計(jì)算、處理,再將控制信號(hào)傳送給操作設(shè)備。
系統(tǒng)的工作原理:熱電偶在檢測到電阻爐內(nèi)的溫度后,通過A/D轉(zhuǎn)換器將模擬量數(shù)據(jù)信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)傳送到ECS-700 DCS中,組態(tài)軟件中的實(shí)時(shí)數(shù)據(jù)庫更新實(shí)時(shí)數(shù)據(jù),再通過OPC技術(shù),將數(shù)據(jù)庫中的數(shù)據(jù)傳送至MATLAB 的OPC客戶端。在MATLAB模糊工具箱中實(shí)行先進(jìn)控制,計(jì)算出反饋溫度與設(shè)定溫度的偏差,并運(yùn)用自適應(yīng)模糊PID控制算法得出控制量,同時(shí)將控制量參數(shù)再通過OPC回傳給組態(tài)軟件中,控制可控硅的導(dǎo)通,從而調(diào)節(jié)加熱電阻絲兩端電壓,實(shí)現(xiàn)了電阻爐的實(shí)時(shí)控制。
圖1系統(tǒng)結(jié)構(gòu)圖
Fig.1The structure of control system第3期葉強(qiáng):基于OPC和MATLAB的電阻爐溫度控制系統(tǒng)設(shè)計(jì)智能計(jì)算機(jī)與應(yīng)用第4卷
2系統(tǒng)組態(tài)設(shè)計(jì)
ECS-700系統(tǒng)是浙江中控技術(shù)股份有限公司設(shè)計(jì)研發(fā)的WebField系列控制系統(tǒng)之一,支持OPC、DDE、ODBC等方式與其它應(yīng)用程序交換數(shù)據(jù)。ECS-700的實(shí)時(shí)和歷史數(shù)據(jù)庫可以方便地將數(shù)據(jù)傳送給通用辦公軟件;而其它系統(tǒng)也可以通過標(biāo)準(zhǔn)接口將數(shù)據(jù)寫到DCS中。VirsualFieldV3.10系統(tǒng)軟件是用于ECS-700進(jìn)行系統(tǒng)組態(tài)設(shè)計(jì)和監(jiān)控的軟件包。利用VirsualField設(shè)置控制系統(tǒng)各項(xiàng)軟硬件參數(shù)來得到系統(tǒng)組態(tài)。系統(tǒng)組態(tài)主要工作流程如圖2所示。
圖2系統(tǒng)組態(tài)工作流程
Fig.2The workflow of the system configuration
由圖2可知,系統(tǒng)組態(tài)工作流程中每一步的具體內(nèi)容現(xiàn)描述如下:
(1)工程設(shè)計(jì):工程設(shè)計(jì)包括測點(diǎn)清單設(shè)計(jì)、常規(guī)(或復(fù)雜)對(duì)象控制方案設(shè)計(jì)、系統(tǒng)控制方案設(shè)計(jì)、流程圖設(shè)計(jì)、報(bào)表設(shè)計(jì)以及相關(guān)設(shè)計(jì)文檔編制等。
(2)系統(tǒng)結(jié)構(gòu)組態(tài):即通過系統(tǒng)結(jié)構(gòu)組態(tài)軟件(VFSysBuilder)來完成,主要實(shí)現(xiàn)系統(tǒng)結(jié)構(gòu)以及管理權(quán)限組態(tài)。
(3)控制站硬件的組態(tài):根據(jù)系統(tǒng)設(shè)計(jì)、測量要求在硬件配置軟件中完成通訊模塊和I/O模塊組態(tài)。
(4)位號(hào)組態(tài):在位號(hào)組態(tài)軟件中進(jìn)行,主要根據(jù)測點(diǎn)的設(shè)計(jì)要求完成I/O位號(hào)的組態(tài),定義上下位機(jī)間交互所需的變量。
(5)用戶程序組態(tài):通過FBD或者LD等編程語言實(shí)現(xiàn)簡易控制方案的要求。
(6)編譯下載:將控制站運(yùn)行需要的信息全部下載到對(duì)應(yīng)控制器中,方便試驗(yàn)調(diào)用。
(7)操作域組態(tài):設(shè)置操作域的通用組態(tài)。包括操作員權(quán)限、面板權(quán)限、報(bào)警顏色等。操作小組的設(shè)置主要是簡化操作人員的操作,并且不同的操作員具有各自的操作職責(zé),這樣才能突出監(jiān)控重點(diǎn)。
(8)資源文件組態(tài):資源文件主要包括流程圖和調(diào)度,制作流程圖用于顯示過程控制的工藝流程及實(shí)時(shí)運(yùn)行狀況,并設(shè)置自定義變量數(shù)值。
(9)組態(tài)發(fā)布:將服務(wù)器上的工程組態(tài)發(fā)布到相應(yīng)操作域的服務(wù)器或者操作站。
3OPC通信平臺(tái)設(shè)計(jì)
3.1OPC通信原理
OPC是OLE (Object Linking and Embedding) for Process Control 的縮寫,OPC是一種技術(shù)規(guī)范,即定義了一套工業(yè)標(biāo)準(zhǔn)的軟件接口,主要基于微軟的OLE /COM(組件對(duì)象模型)和DCOM(分布式組件對(duì)象模型)技術(shù),其中包括了自動(dòng)化應(yīng)用中需要的一整套的接口、屬性和方法的標(biāo)準(zhǔn)[4]。OPC規(guī)范的應(yīng)用使得數(shù)據(jù)交換成為可能,進(jìn)而使得現(xiàn)場設(shè)備,控制系統(tǒng)和生產(chǎn)管理軟件之間的互操作性獲得了實(shí)現(xiàn)。
MATLAB 7.0及其以上版本集成了OPC工具箱,以方便與其他軟件共享OPC服務(wù)器的互操作性。利用OPC工具箱,可以創(chuàng)建OPC客戶應(yīng)用程序輕松實(shí)現(xiàn)MATLAB和OPC服務(wù)器之間的通信,并快速實(shí)現(xiàn)數(shù)據(jù)分析、測量和控制[5]。OPC 服務(wù)器由三類對(duì)象組成,包括服務(wù)器(server)、組(group) 和數(shù)據(jù)項(xiàng)( item),具體關(guān)系如圖3所示。
圖3OPC服務(wù)器3種層次對(duì)象的關(guān)系
Fig.3The relationship of the three objects in OPC server
OPC的數(shù)據(jù)傳輸主要包括同步傳輸和異步傳輸。在同步傳輸模式下,OPC客戶端首先向服務(wù)器發(fā)送同步調(diào)用請(qǐng)求,服務(wù)器接受客戶端的請(qǐng)求后即進(jìn)行數(shù)據(jù)訪問操作,而在服務(wù)器執(zhí)行操作期間客戶程序一直處于等待狀態(tài),直到服務(wù)器將數(shù)據(jù)訪問結(jié)果返回后再進(jìn)行其他的操作。異步傳輸與同步傳輸類似,OPC客戶端先發(fā)送異步調(diào)用請(qǐng)求,不同的是服務(wù)器接到客戶端的請(qǐng)求后立即將特定方法返回給客戶端,客戶程序轉(zhuǎn)向執(zhí)行其他數(shù)據(jù)任務(wù),而不需要等待服務(wù)器端的執(zhí)行結(jié)果。本文則采用異步傳輸實(shí)現(xiàn)MATLAB的OPC 工具箱與ECS-700的OPC服務(wù)器的數(shù)據(jù)交換[6]。
3.2OPC通信的實(shí)現(xiàn)
ECS-700的OPC設(shè)置:首先在ECS-700實(shí)時(shí)數(shù)據(jù)庫中設(shè)置三個(gè)變量Tem.pv、Set.pv、Out.pv,以便從MATLAB中訪問數(shù)據(jù)。其中,Tem.pv是從設(shè)備采集的溫度值,Set.pv是溫度設(shè)定值,Out.pv為在MATLAB自適應(yīng)模糊PID控制算法下的輸出值。數(shù)據(jù)訪問時(shí),應(yīng)開啟ECS-700組態(tài)軟件確保ECS-700實(shí)時(shí)數(shù)據(jù)庫處于運(yùn)行狀態(tài)。
MATLAB的OPC工具箱的設(shè)置:OPC客戶端和OPC服務(wù)器之間建立連接的方法有兩種。一種是命令方式,另一種是圖形用戶界面的方法。兩種方法都可以實(shí)現(xiàn)MATLAB和工藝設(shè)備之間的實(shí)時(shí)通信。本文選擇了命令方式。在MATLAB和ECS-700實(shí)時(shí)通信程序設(shè)計(jì)之前,需要通過命令:opcregister (‘install’) 來安裝OPC核心組件[7]。
MATLAB OPC客戶端和ECS-700 OPC服務(wù)器之間建立實(shí)時(shí)通信的主要步驟可概述為:首先,創(chuàng)建客戶對(duì)象連接到OPC服務(wù)器。然后,通過ADDGROUP功能將組添加到客戶端。最后,項(xiàng)目對(duì)象添加到該組。該流程的具體實(shí)現(xiàn)如下所示:
(1)創(chuàng)建OPC服務(wù)器
da=opcda(’localhost’ ,’SUPCON.SCRTCore.1’);
(2)添加組,并命名為Group
grp = addgroup(da,’Group’);
(3)添加項(xiàng)
itm1 = additem(grp, ’Tem.pv’);
itm2 = additem(grp, ’Set.pv’);
Itm3 = additem(grp, ’Out.pv’);
(4)從ECS-700 DCS中讀取測量值、設(shè)定溫度值
tem=get(itm1, ’Value’);
set=get(itm2, ’Value’);
(5)在自適應(yīng)模糊PID控制器中計(jì)算輸出值
Out=FuzzyPIDControl(tem,set)
6)將輸出值寫入ECS-700
Writeasync(itm3,out)
4自適應(yīng)模糊PID控制器設(shè)計(jì)
4.1模糊PID控制器的結(jié)構(gòu)
自適應(yīng)模糊PID控制器是一個(gè)同時(shí)結(jié)合PID控制和模糊控制的混合控制器[8]。自適應(yīng)模糊PID控制器的結(jié)構(gòu)原理則如圖4所示。
傳統(tǒng)的PID控制器是將偏差的比例、積分、微分通過線性組合構(gòu)成控制量;其微分方程如公式(1)表示為:
u(t)=Kpe(t)+Kit∫0 e(τ)dτ+Kdde(t)/dt(1)
其中,Kp,Ki,Kd是不隨時(shí)間變化的PID增益常量。圖4自適應(yīng)模糊PID控制器原理圖
Fig.4Structure of the adaptive fuzzy PID controller
但是,因?yàn)闇囟瓤刂葡到y(tǒng)具有隨時(shí)間變化的特性,動(dòng)態(tài)響應(yīng)也可能依賴于溫度設(shè)定,所以很難確定相應(yīng)的PID增益常量。采用自適應(yīng)模糊PID控制器,并根據(jù)預(yù)先設(shè)定的模糊推理機(jī)制,進(jìn)行模糊推理運(yùn)算,可以對(duì)ΔKp,ΔKi,ΔKd三個(gè)參數(shù)進(jìn)行實(shí)時(shí)調(diào)整,從而得到一個(gè)理想的系統(tǒng)動(dòng)靜態(tài)性能。
模糊PID控制器的模糊部分中具體包括了以下過程:模糊化、模糊規(guī)則庫、模糊推理和解模糊化。一般情況下,是將實(shí)際溫度值和測量溫度值的偏差e以及偏差的變化率ec作為模糊控制器的輸入,并通過模糊推理,使得偏差e和偏差的變化率ec與PID參數(shù)形成一種非線性映射關(guān)系[9]。
4.2模糊推理系統(tǒng)設(shè)計(jì)
系統(tǒng)設(shè)計(jì)中,可根據(jù)模糊控制器結(jié)構(gòu)將偏差e和偏差變化率ec作為模糊控制器的輸入, PID控制器的三個(gè)參數(shù)ΔKp、ΔKi、ΔKd作為輸出。
選取輸入信號(hào)偏差e和偏差變化率ec,輸出信號(hào)ΔKp、ΔKi、ΔKd模糊集均為{NB,NM,NS,ZO,PS,PM,PB},模糊論域均為{-6,-5,-4,-3,-2,-1 ,0, 1 ,2,3,4,5,6},其隸屬函數(shù)如圖5所示。
圖5隸屬度函數(shù)
Fig.5Membership functions
模糊控制器設(shè)計(jì)的最重要一步就是建立合適的模糊規(guī)則。一般來說,模糊規(guī)則依賴被控對(duì)象的特性,不同的控制器,在實(shí)際操作時(shí)也表現(xiàn)出其特殊的經(jīng)驗(yàn)性[10]。
模糊推理塊,使用Mamdani模糊推理模型得到模糊輸出值ΔKp、ΔKi、ΔKd[11]。這些模糊的參數(shù)必須經(jīng)過去模糊化,才能得到精確值,本文用重心法來實(shí)現(xiàn)去模糊化,然后作為實(shí)數(shù)值,來進(jìn)一步調(diào)整PID參數(shù)[12]。Kp0,Ki0,Kd0作為PID調(diào)整前的增益,具體計(jì)算如公式(2)所示。
Kp=Kp0+ΔKp
Ki=Ki0+ΔKi
Kd=Kd0+ΔKd(2)
5實(shí)驗(yàn)驗(yàn)證
5.1對(duì)象特性測試
電阻爐是一個(gè)具有熱容量的對(duì)象,當(dāng)系統(tǒng)加電后,爐絲的溫度逐漸升高,通過爐壁熱傳遞使?fàn)t膛內(nèi)溫度也逐漸升高,電阻爐有一定的容量滯后,其余環(huán)節(jié)可視為比例環(huán)節(jié)。所以,該系統(tǒng)即處理成一個(gè)一階慣性環(huán)節(jié)附加一個(gè)滯后環(huán)節(jié),即系統(tǒng)模型可綜合表示為:G(s)=KTs+1×e-τs的形式[13]。采用實(shí)驗(yàn)法制作溫度飛升曲線以確定模型參數(shù)。最終確定實(shí)驗(yàn)研究的電阻爐被控對(duì)象的近似數(shù)學(xué)模型為:
G(s)=2.682480s+1×e-260s
5.2電阻爐常規(guī)PID控制
對(duì)于一個(gè)典型的PID控制器,其傳遞函數(shù)為:
G(s)=Kp(1+1Tis+Tds)
Ziegler 和 Nichols 在 1942 年首次針對(duì)一階慣性加純延遲的被控對(duì)象提出了Z-N整定法,經(jīng)驗(yàn)公式如式(3)所示:
Kp=1.2TKτ
Ti=2τ
Td=0.5τ(3)
據(jù)此方法整定的模型PID控制的參數(shù)為:Kp=4.27,Ti=520,Td=130。
ECS-700的PID控制很容易實(shí)現(xiàn),只要通過用戶程序組態(tài)編程即可實(shí)現(xiàn)。實(shí)驗(yàn)時(shí)需要手動(dòng)寫入Kp=4.27,Ti=520,Td=130。其控制效果如圖6所示。
圖6傳統(tǒng)PID控制器和自適應(yīng)模糊PID控制器的輸出比較
Fig.6Comparison of traditional PID controller
and Adaptive Fuzzy PID controller
5.3自適應(yīng)模糊PID控制
在進(jìn)行自適應(yīng)模糊PID控制前要確保OPC通信正常,即保證ECS-700的數(shù)據(jù)庫正常運(yùn)行,并將ECS-700的PID控制模塊切換到手動(dòng)控制。工控機(jī)通過OPC采集得到的數(shù)據(jù)在工作狀態(tài)已經(jīng)就緒的MATLAB中運(yùn)行,利用設(shè)計(jì)的控制器進(jìn)行模糊自適應(yīng)控制試驗(yàn),并將運(yùn)行的結(jié)果再通過OPC傳回ECS-700實(shí)現(xiàn)控制操作。圖6即為電阻爐的常規(guī)PID控制和自適應(yīng)模糊PID控制階躍響應(yīng)曲線。
6結(jié)束語
通過采用OPC建立MATLAB和ECS-700之間的通訊的方法,將控制實(shí)驗(yàn)中的實(shí)時(shí)數(shù)據(jù)采集到MATLAB中。經(jīng)過MATLAB處理的數(shù)據(jù)再通過OPC傳送給ECS-700進(jìn)行控制。通過對(duì)比結(jié)果可以清楚看到,基于OPC技術(shù)的自適應(yīng)模糊PID控制與常規(guī)的PID控制器相比,其模糊控制器在響應(yīng)速度和超調(diào)量大小等方面都有著明顯的改進(jìn),由此而必將具有良好的實(shí)際應(yīng)用前景。
參考文獻(xiàn):
[1]李先鋒. 基于模糊PID的電阻爐溫度控制系統(tǒng)研究[D].銀川:寧夏大學(xué),2010.
[2]吳杰,湯偉. 基于OPC和MATLAB的模糊PID在DCS中的應(yīng)用[J]. 計(jì)算機(jī)測量與控制, 2010,18( 10):2275-2277.
[3]The Math works Inc. OPC Toolbox for use with Matlab [ EB /OL ].[2008-08-02]. http://www.mathworks.cn/products/opc/
[4]ZULFATMAN M F, RAHMAT. Application of self-tuning Fuzzy PID controller on industrial hydraulic actuator using system identification approach[J]. International Journal on Smart Sensing and Intelligent Systems, 2009,2(2): 246-26l.
[5]郭紅曉,莫德舉. OPC 技術(shù)及其軟件的開發(fā)[J].北京化工大學(xué)學(xué)報(bào):自然科學(xué)版, 2002( 3) : 73- 75,80.
[6]劉金琨.先進(jìn)PID 控制及其Matlab仿真[M]. 北京:電子工業(yè)出版社, 2003:67-70.
[7]HUANG Qingbao, SHE Qianzhong, LIN Xiaofeng. Adaptive Fuzzy PID Temperature Control System based on OPC and Modbus/TCP Protocol[J]. 2010 2nd International Asia Conference on Informatics in Control,Automation and Robotics,2010.
[8]ASTROM K J, HAGGLUND T, The future of PID control[J]. Control Engineering Practice,2001(9):1163-1175.
[9]RADAKOVIC Z R, MILOSEVIC V M, RADAKOVIC S B. Application of temperature fuzzy controller in an indirect resistance furnace[J]. Applied Energy,2002, 73(2): 167-182.
[10]伍鐵斌,劉祖潤.一種新型電阻爐溫度控制系統(tǒng)的設(shè)計(jì)[J].自動(dòng)化與儀表,2006,21(6):42-45.
[11]PATHMANATHAN E, IBRAHIM R. Development and implementation of fuzzy logic controller for flow control application[J]. Intelligent and Advanced Systems (ICIAS), 2010 International Conference on , 15-17 June 2010:1-6.
[12]HU B G, MANNAND G K L, GOSLNE R G. A systematic study of fuzzy PID controllers - function-based evaluation approach[J]. IEEE Transactionson Fuzzy Systems,2001, 9 (5): 699 - 712.
[13]楊綠.熱處理電阻爐爐溫的自適應(yīng)模糊PID控制[J].貴州工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,35(3):36-39.