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

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