基于規(guī)則的反應(yīng)器控制方案
基于語(yǔ)言規(guī)則的控制方案能夠解決一些控制問題,特別是在系統(tǒng)缺乏穩(wěn)定有效的測(cè)量手段的情況下。
運(yùn)用基于語(yǔ)言規(guī)則的方法來解決控制領(lǐng)域的問題”,這種想法是為了滿足以下需求而產(chǎn)生的——即要求處理那些“由于這樣或那樣的原因而難以進(jìn)行精確的數(shù)學(xué)描述的問題”。傳統(tǒng)的基本調(diào)節(jié)控制(BRC)和先進(jìn)調(diào)節(jié)控制(ARC)技術(shù),都是假設(shè)來自現(xiàn)場(chǎng)儀表的信號(hào)是穩(wěn)定有效的,可以為系統(tǒng)提供其需要的測(cè)量值。但是,這些信號(hào)未必一直是準(zhǔn)確的,并且其提供的測(cè)量信息也可能不夠完全。
另外,過程值的絕對(duì)值還不是我們必須考慮的唯一關(guān)鍵因素。測(cè)量的變化率可能更為重要。有時(shí),過程值或測(cè)量方法還需參照其它條件來考慮。那些用以指示條件狀態(tài)的布爾邏輯量,比如像顯示工藝設(shè)備是否運(yùn)行的參數(shù),往往是很重要的。對(duì)一套控制系統(tǒng)的合理操作,有時(shí)也取決于系統(tǒng)使用的時(shí)間、系統(tǒng)的清潔度和維修狀況以及其它的一些因素。還有,不是所有的誤差都同等重要
。有些時(shí)候,對(duì)于某個(gè)方向的誤差需要較慢或較弱的響應(yīng)速度,而對(duì)于另外一個(gè)方向的誤差卻需要較強(qiáng)或較快的響應(yīng)速度。
基本概要表明,對(duì)于有些控制問題,有時(shí)需要以邏輯集合的方式,同時(shí)考慮好幾種條件。而且,以上提到的所有問題,都難以用數(shù)學(xué)方式來描述。在這種情況下,基于規(guī)則的控制方案有時(shí)可以發(fā)揮出它的優(yōu)勢(shì)。
規(guī)則,算法
應(yīng)用在基本及先進(jìn)調(diào)節(jié)控制中的集散型控制系統(tǒng)(DCS)的控制模塊,其核心部分就是一些可編程的數(shù)學(xué)等式或算法模塊,這些算式或模塊都以預(yù)定義的時(shí)間間隔重復(fù)執(zhí)行。例如,一個(gè)PID(比例-積分-微分)控制的經(jīng)典(非交互作用)算式如下:
輸出= KP(e+KI ∫ edt-KDdc/dt)
此處:
輸出=控制輸出信號(hào)值
e=控制器的輸入偏差(測(cè)量值-設(shè)定值)
c=控制器的測(cè)量信號(hào)值
KP=比例增益
KI=積分增益
KD=微分增益
對(duì)控制工程師來說,這是一個(gè)非常清楚的關(guān)系公式。不同DCS廠商提供的PID算法,盡管在很多方面有所不同,而且對(duì)于諸如濾波和報(bào)警、選擇性以及外部積分反饋等功能都有不同的功能塊,但是這個(gè)基本算式實(shí)際上是通用的。除了控制功能外,一個(gè)DCS應(yīng)用平臺(tái)還可以提供各種各樣的、可用作“功能塊”算法的其它有用功能。設(shè)計(jì)一套傳統(tǒng)的控制系統(tǒng),從本質(zhì)上說,就是“輸入輸出信號(hào)的互連”和“適用功能”的安裝集合。對(duì)以上這些軟硬件結(jié)構(gòu)進(jìn)行組態(tài)和文件歸檔的軟件工具,其功能開發(fā)一定是完善的、全面的。
在“模糊控制”和“專家系統(tǒng)”中應(yīng)用的“規(guī)則”,其實(shí)也是一些重復(fù)執(zhí)行的算法,只不過是以“語(yǔ)言和數(shù)值相結(jié)合的混合方式”來表達(dá)的。一個(gè)應(yīng)用在溫度控制規(guī)則上的簡(jiǎn)例如下:
“如果測(cè)量到的溫度低于設(shè)定值以下超過5°F,則將蒸汽閥門開到10%。”
就此規(guī)則本身而言,是簡(jiǎn)單且精確的。但同時(shí)它又是不完整的,其定義的范圍僅限于一種情況,而留下了大量的相關(guān)問題未予以明確的回答,比如:
■ 當(dāng)控制誤差小于5°F時(shí),該如何操作?
■ 當(dāng)控制誤差大到什么程度時(shí),才可以對(duì)控制閥采取更大的動(dòng)作?
■ 當(dāng)測(cè)量值大于目標(biāo)設(shè)定值時(shí),該如何操作?
另外,還有大量的操作性的和界面性的問題沒有解決,諸如:
■ 操作工如何為溫度回路輸入目標(biāo)設(shè)定值?
■ 對(duì)于整定好的系統(tǒng),其響應(yīng)速度該是如何?
■ 操作工如何手動(dòng)控制輸出給調(diào)節(jié)閥的信號(hào)?
一個(gè)完整的控制方案可能需要數(shù)以百計(jì)的規(guī)則,以便涵蓋應(yīng)用中可能遇到的各種情況,并且還要包含每種情形所需的功能。在任何情況下,一套基于規(guī)則的控制系統(tǒng)都是以定期的時(shí)間間隔來執(zhí)行整個(gè)規(guī)則庫(kù)的,來決定下一步該干什么。
一般而言,基于規(guī)則的控制系統(tǒng)可以粗分為兩大類:“模糊邏輯系統(tǒng)”和“專家系統(tǒng)”。這兩種系統(tǒng)都提供了必要的手段,可以將“非數(shù)學(xué)的概念和條件”整合進(jìn)控制系統(tǒng)的解決方案中?!澳:壿嬒到y(tǒng)”是一個(gè)數(shù)學(xué)與非數(shù)學(xué)概念的混合體,而“專家系統(tǒng)”幾乎一直是在一個(gè)“為處理語(yǔ)言而設(shè)計(jì)”的環(huán)境中開發(fā)的。
有關(guān)“模糊邏輯系統(tǒng)”和“專家系統(tǒng)”的技術(shù)細(xì)節(jié),有很多不錯(cuò)的參考資料,以下的鏈接就給各位提供了一個(gè)清單,其中列出了模糊控制的一般信息來源和相關(guān)的研究機(jī)構(gòu)名稱:http://www.cse.dmu.ac.uk/~rij/general.html。
模糊邏輯的概念
人的認(rèn)知和判斷往往并不精確。人的一個(gè)典型想法可能就是一個(gè)條件語(yǔ)句,例如:
“假如產(chǎn)品的溫度低,并且產(chǎn)量也低,那么將蒸汽閥門稍微開大一點(diǎn)。假如產(chǎn)品的溫度低,但產(chǎn)量高,那么將蒸汽閥門多開大一點(diǎn)。”
這樣一種語(yǔ)句包含了幾種不夠精確的概念,比如像“低”、“大”,對(duì)人而言,這種定義是由其經(jīng)驗(yàn)轉(zhuǎn)化而來的。模糊邏輯就是為了在過程控制系統(tǒng)中不必依賴于經(jīng)驗(yàn)、就能應(yīng)用這些規(guī)則而開發(fā)的方法。
最后,我們還需特別提到一些事情?!澳:壿嬁刂萍夹g(shù)”的基本貢獻(xiàn)就是將“模糊化決策的概念”與“精確的控制測(cè)量和控制輸出動(dòng)作”結(jié)合在一起。以上功能是通過模糊控制系統(tǒng)的三個(gè)組成部分來實(shí)現(xiàn)的:
■ 一個(gè)“模糊化接口”,將精確的過程測(cè)量值轉(zhuǎn)化成“模糊化輸入變量”;
■ 一個(gè)“推理引擎”,能夠用“模糊化輸入變量”來執(zhí)行邏輯條件測(cè)試,以生成“模糊化輸出變量”;
■ 一個(gè)“反模糊化接口”,將“模糊化輸出變量”轉(zhuǎn)化成精確的控制輸出動(dòng)作。
模糊化:在物理領(lǐng)域,過程變量是以帶有工程單位的精確數(shù)值形式來測(cè)量的,比如°F。但在模糊控制領(lǐng)域中,過程變量是以相對(duì)的條件描述來表達(dá)測(cè)量值的,例如高,低,或正常。這些“條件描述”涵蓋了非常廣的數(shù)值范圍,并且不同的“條件描述”所涵蓋的范圍可以重疊。圖1模糊化函數(shù)說明了一個(gè)“當(dāng)測(cè)量溫度為130°F且溫度范圍在50-150°F時(shí),如何進(jìn)行模糊化”的簡(jiǎn)例。

圖1:“修改常數(shù)”是一種對(duì)模糊邏輯控制系統(tǒng)的性能進(jìn)行細(xì)調(diào)的方法。
當(dāng)測(cè)量值已經(jīng)到達(dá)量程的限值時(shí),該測(cè)量數(shù)值被定義成完全的“低”或完全的“高”。如介于高低限之間,則每種情況均被定義成部分的“低”、“高”或“正常”。假設(shè)現(xiàn)在的溫度測(cè)量值是130°F,應(yīng)該定義為值得關(guān)注的“高”。很明確的是,此測(cè)量條件介于量程范圍的0~1(0%~100%)以內(nèi),所以,130°F這個(gè)值應(yīng)該定義為0.85權(quán)數(shù)的“高”,0.2權(quán)數(shù)的“正?!?,0.075權(quán)數(shù)的“低”。這些權(quán)值就是對(duì)于每一種定義條件的隸屬度,也就是溫度測(cè)量的模糊化輸入值。
給每一種條件定義隸屬度的線性或非線性曲線,即被稱為隸屬函數(shù)。該曲線也可以使用一些能夠決定曲線形狀的常數(shù)來進(jìn)行數(shù)學(xué)意義上的表達(dá)。改變這些常數(shù)也就改變了模糊化函數(shù)的特性,同時(shí),這種修改常數(shù)的方法也是對(duì)模糊邏輯控制系統(tǒng)的性能進(jìn)行細(xì)調(diào)的一種手段。
推理功能:“推理引擎”以一種數(shù)學(xué)化的方法,用上述已經(jīng)模糊化的輸入值來評(píng)估定義好的邏輯條件語(yǔ)句。諸如‘與’、‘或’以及‘非’這樣的邏輯操作,它們被用來定義“如何將不同的模糊化變量結(jié)合起來,以生成數(shù)字式的計(jì)算結(jié)果”。例如,“模糊推理引擎”可以通過獲取“溫度低”與“流量低”這兩種條件的隸屬度權(quán)值中的最小值,來對(duì)條件子句“如果產(chǎn)品溫度低,并且產(chǎn)量也低”進(jìn)行評(píng)估。(即系統(tǒng)先將兩個(gè)條件中隸屬度權(quán)值較小的進(jìn)行評(píng)估,如果這個(gè)隸屬度較小的條件都可以達(dá)到原先定義的要求,那么另外一個(gè)隸屬度權(quán)值較大的條件更可以達(dá)到要求?!澳:评硪妗庇袝r(shí)是用這種方法來實(shí)現(xiàn)邏輯‘與’運(yùn)算功能)?!澳:评硪妗边€要進(jìn)一步評(píng)估規(guī)則庫(kù)中的其它條件子句,以獲得“能夠代表大量而又必需的變化數(shù)值”的模糊變量。
反模糊化:模糊控制運(yùn)算的最后一步就是“將模糊推理生成的模糊輸出再進(jìn)行反模糊轉(zhuǎn)化,以重新生成一個(gè)精確的控制輸出信號(hào)”。每種條件子句都需要相應(yīng)的控制作用輸出值,而該輸出值無(wú)論系統(tǒng)的控制誤差是在哪個(gè)方向上,都可以用模糊化變量來進(jìn)行量化,并且此模糊化變量又是以‘部分大’、‘部分小’的隸屬度權(quán)數(shù)來表達(dá)的。以上這個(gè)處理過程與測(cè)量值的處理過程一樣。
“反模糊化”功能塊的處理方式如下:先將這些權(quán)值進(jìn)行整合處理后,再生成單一的輸出值。這個(gè)輸出值就是最終送往末端執(zhí)行機(jī)構(gòu)的信號(hào)。
設(shè)計(jì)一個(gè)應(yīng)用
“模糊化、推理和反模糊化功能”是模糊邏輯控制中最容易混淆的部分,但是這些細(xì)節(jié)對(duì)于模糊控制系統(tǒng)的性能而言,并非是最為關(guān)鍵的。另外幾種基本因素對(duì)模糊控制的性能和復(fù)雜性的影響更大。因此,在實(shí)際應(yīng)用中就不可避免地必須對(duì)系統(tǒng)的性能和復(fù)雜性有所取舍。
變量的類型:“模糊決策邏輯”對(duì)于過程變量是以“條件判斷語(yǔ)句”的方式來表達(dá)的。這種方式無(wú)法提供更為高階的數(shù)學(xué)運(yùn)算功能,比如積分和微分功能,甚至連更簡(jiǎn)單的‘開平方根’功能都無(wú)法實(shí)現(xiàn)。如果某模糊控制的邏輯設(shè)計(jì)又要使用或依靠這些功能,那么就必須在此模糊控制系統(tǒng)的環(huán)境以外來分別獨(dú)立地完成。例如,假設(shè)一個(gè)模糊控制系統(tǒng)需要對(duì)過程變量的變化率有所響應(yīng),就需要先在模糊系統(tǒng)以外計(jì)算出過程變量的變化增量,然后再加給輸入變量。
與此情況類似的是:基于測(cè)量信號(hào)絕對(duì)值的“條件判斷語(yǔ)句”,也只有在系統(tǒng)的期望值或設(shè)定值從不改變的前提下,才是準(zhǔn)確的。這樣,我們唯有在系統(tǒng)以外,以獨(dú)立方式來計(jì)算系統(tǒng)的控制誤差,才能在系統(tǒng)的設(shè)定值改變的情況之下,仍然能夠保證相應(yīng)的控制精度。
子庫(kù)的數(shù)量:“過程測(cè)量值和控制輸出值所涵蓋的范圍”可以細(xì)分成很多的子庫(kù)。確定子庫(kù)的數(shù)量也是模糊控制系統(tǒng)設(shè)計(jì)的一部分。如圖1模糊化函數(shù)中的例子,就僅僅使用了三種條件:低、正常、高。但這樣可能無(wú)法對(duì)各種情況進(jìn)行足夠細(xì)的劃分—或者說不能夠提供足夠高的分辨率。如想劃分得更細(xì),子庫(kù)家族可以包括非常低、低、正常、高以及很高。我們甚至可以用到更多的子庫(kù)。
例如像控制誤差這樣的變量,由于其數(shù)值既可能為正值,也可能為負(fù)值,因此就需要兩種符號(hào)的子庫(kù),同時(shí)用一種子庫(kù)來代表“零”。如果過程測(cè)量值偏離設(shè)定值的誤差在某個(gè)方向上的分布大于另外一個(gè)方向,那么兩種符號(hào)的子庫(kù)的數(shù)量并不需要一定以“零”為中心對(duì)稱分布。
其實(shí)并非所有的變量都需要結(jié)合在一起來統(tǒng)籌考慮,整套的邏輯集合通??梢员淮蛏⒓?xì)分成更多的邏輯子集。
如果已定義子庫(kù)的數(shù)量不夠,并且其涵蓋范圍沒有重疊,那么在輸入變量?jī)H有微小變化的情況下,模糊控制系統(tǒng)就有可能無(wú)法對(duì)此產(chǎn)生響應(yīng)-即無(wú)法產(chǎn)生相應(yīng)的輸出變化。這種情形就如同系統(tǒng)末端的執(zhí)行機(jī)構(gòu)存在的時(shí)間滯后,并且可能導(dǎo)致控制系統(tǒng)的持續(xù)振蕩。在生產(chǎn)過程中,當(dāng)以上情況又與多重交互作用的因素同時(shí)發(fā)生時(shí),那么一個(gè)變量的振蕩就會(huì)波及到系統(tǒng)中其它的很多變量。
規(guī)則庫(kù)結(jié)構(gòu):定義更多的子庫(kù)可以為控制決策提供更細(xì)的分辯精度。但是模糊控制系統(tǒng)可能存在的邏輯判斷,其數(shù)量是依據(jù)于排列組合規(guī)律而增長(zhǎng)的。例如,假設(shè)溫度參數(shù)和流量參數(shù)都有5個(gè)子庫(kù),也就是每種參數(shù)都有對(duì)應(yīng)于5個(gè)子庫(kù)的隸屬度,那么在其規(guī)則庫(kù)的結(jié)構(gòu)中就需定義25種組合。如增加任何一個(gè)具有5個(gè)子庫(kù)的變量,則“需要在規(guī)則庫(kù)中定義的狀況”的數(shù)量就會(huì)上升為125。
在控制輸出方面,其信號(hào)范圍也可分成一些子庫(kù)。假設(shè)有3個(gè)控制輸出,且每個(gè)輸出又有5個(gè)子庫(kù),那么在規(guī)則庫(kù)中就需要為控制輸出定義125種不同的組合。
設(shè)計(jì)規(guī)則庫(kù)一般有兩種辦法。一種是依據(jù)于“輸入變量中所有可能的組合方式”來設(shè)計(jì)規(guī)則。另外一種是依據(jù)于“輸出變量中所有可能的組合方式”來設(shè)計(jì)規(guī)則。哪種方法更容易實(shí)現(xiàn),這取決于受控變量與操縱變量的相對(duì)數(shù)量。前饋?zhàn)兞恳脖仨氂?jì)入輸入變量。
然而,依據(jù)于生產(chǎn)過程中各因素交互作用的關(guān)聯(lián)程度大小,有時(shí)“對(duì)所有變量的各種組合都進(jìn)行定義”顯得并沒有什么意義,事實(shí)上并非所有的變量都需要結(jié)合在一起來統(tǒng)籌考慮,整套的邏輯集合通??梢员淮蛏⒓?xì)分成更多的邏輯子集。
生產(chǎn)過程交互作用:由生產(chǎn)過程中不同變量交互作用而導(dǎo)致的問題依然存在。當(dāng)該作用不僅存在,而且對(duì)生產(chǎn)過程有較大影響時(shí),規(guī)則庫(kù)中的邏輯結(jié)構(gòu)應(yīng)該考慮以下方法:即為了對(duì)不同的過程響應(yīng)進(jìn)行解耦,需要采取必要的協(xié)調(diào)動(dòng)作。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。