高宏巖,卞瑤瑤,韓 斌
(山東科技大學電氣與自動化工程學院,山東青島 266590)
2018 年教育部印發的《高等學校人工智能創新行動計劃》通知中,明確指出重視人工智能與計算機、控制、數學等學科專業教育的交叉融合,探索“人工智能+X”的人才培養模式[1]。智能控制課程作為人工智能與控制技術結合的一門課程[2],已經成為自動化相關本科專業和控制類研究生重要的專業課程。智能控制課程主要講授模糊控制、神經網絡控制、專家控制以及優化算法等知識[3],具有理論強、應用難的特點。在實際教學過程中,由于缺乏具有應用背景的實踐環節,使得學生對課程理論知識掌握不透徹。此外,由于智能控制算法復雜,其工程實現上具有一定的難度。針對上述存在的問題,利用SMPT-1000 高級過程控制實驗裝置設計了智能控制綜合實驗方案。通過實驗研究,使學生加深對智能控制理論的理解,掌握智能控制在工程實際中的應用方法。
智能控制綜合實驗采用高級過程控制實驗裝置。該過程控制實驗裝置由SMPT-1000 仿真對象、西門子S7-400PLC和工程師站組成[4]。SMPT-1000 仿真對象與S7-400PLC之間采用Profibus DP通信協議通信,S7-400PLC與工程師站之間采用以太網通信,工程師站采用PCS7 軟件進行控制工程組態[5]。綜合實驗以該裝置提供的聚合反應過程為研究對象,該聚合反應過程的工藝流程為:原料A與原料B分別由進料泵輸送進入混合罐,混合物料經預熱器升溫后與催化劑C 按照一定比例進入反應器,反應生成物進入閃蒸罐分離提純。閃蒸罐頂部的混合生成物經冷凝后再送回混合罐循環利用,閃蒸罐底部的混合生成物經輸送泵加壓后送到下游工序分離提純,以分離出產品D[6]。
綜合實驗要求學生能夠靈活運用自動控制原理、過程控制、智能控制相關理論設計控制方案,并能夠在過程控制實驗裝置上對所設計的控制方案加以實施。實驗結果應滿足以下性能指標要求:①原料A、原料B和催化劑C進料流量比約為9∶3∶1;②混合罐的液位、反應器液位、閃蒸罐液位和冷凝罐液位控制在某一恒定液位值,穩態誤差±1%之內;③反應器溫度控制在某一恒定溫度值,穩態誤差±2 ℃之內;④閃蒸罐壓力控制在某一恒定壓力值,穩態誤差±1 kPa 之內;⑤閃蒸罐底部出口產品D 的濃度大于80%。通過實驗使學生掌握智能控制算法的原理和實現方法,提高學生解決自動化領域復雜工程問題的能力。
根據性能指標要求,設計如圖1 所示的控制方案,該控制方案中包括多個控制回路。①進料流量比值控制回路:該控制回路以物料B 為主動量、物料A 和催化劑C為從動量設計比值控制回路,其設計目的是使物料A、物料B和催化劑C 進料比約為9∶3∶1。②混合罐液位控制回路:以混合罐液位為被控量、混合罐物料出口流量為操縱量設計單回路控制方案。③預熱器物料出口溫度控制回路:混合物料經過預熱器進行加熱,加熱后的物料進入反應器進行反應,預熱環節對于物料的反應至關重要[7],設計以預熱器物料出口溫度為被控量,以熱水流量為操縱量的單回路控制方案,使預熱器混合物料出口溫度維持在恒定溫度。④反應器液位控制回路:反應器的液位高度影響反應物停留時間,進而影響反應速率和反應的全程轉化率,因此設計以反應器液位為被控量、反應器混合物料出口流量為操縱量的單回路控制方案。⑤反應器溫度控制回路:反應器溫度影響反應速率和反應的全程轉化率,因此設計以反應器溫度為主被控量、冷卻水流量為副被控量、冷卻水流量為操縱量的串級控制回路。⑥閃蒸罐液位控制回路:以閃蒸罐液位為被控量、閃蒸罐底部物料出口流量為操縱量設計單回路控制方案。⑦閃蒸罐壓力控制回路:閃蒸罐壓力對產品濃度影響較大,因此設計以閃蒸罐壓力為被控量、閃蒸罐頂部真空泵頻率為操縱量的單回路控制方案。⑧冷凝器物料出口溫度控制回路:以冷凝器物料出口溫度為被控量、冷卻水流量為操縱量設計單回路控制方案。⑨冷凝罐液位控制回路:以冷凝罐液位為被控量、冷凝罐物料出口流量為操縱量設計單回路控制方案。

圖1 聚合反應過程控制方案
在上述設計的控制回路中,控制器常常采用經典PID控制規律。經典PID控制規律表示為
式中:Kp、Ki和Kd為PID控制規律中需要整定的3 個參數,稱之為比例、積分和微分系數;e(k)為k時刻的給定值r(k)與實際輸出值y(k)的偏差,即e(k)=r(k)-y(k);u(k)為k時刻的控制量。
PID 3 個參數通常由人工按照衰減曲線法、臨界比例度法等進行整定,但是人工整定過程具有耗時長、參數不能在線調整等缺點,因此出現了具有優化調整PID參數功能的模糊PID、神經網絡PID等智能控制算法。神經網絡PID是在經典PID 控制規律基礎上,神經網絡根據系統的運行狀態,通過自身學習、加權系數調整來尋找某種性能指標最優的PID參數。若將Kp、Ki和Kd視為依賴于系統運行狀態的可調參數時,可以將式(1)描述為[8]:
式中,f(·)是與Kp、Ki、Kd、u(k-1)、e(k)、e(k-1)、e(k-2)等有關的非線性函數,由于神經網絡具有較強的非線性映射能力,因此可以利用神經網絡自身訓練和學習在線整定PID 3 個參數。本實驗對閃蒸罐壓力控制回路采用BP-PID 控制,其結構示意如圖2 所示,采用3 層網絡結構的BP 神經網絡,其輸入層節點分別為k時刻的設定值r(k)、實際輸出值y(k)、誤差e(k)和外部偏置值;隱含層設定為5 個節點;輸出層為3 個節點,分別為PID控制器的比例系數Kp、積分系數Ki和微分系數Kd。BP神經網絡在線整定PID的步驟為[9]:①初始化神經網絡權值ωij(0)、ωli(0)和相關參數,k=1;②采集閃蒸罐壓力設定值r(k)和實際輸出值y(k),計算誤差e(k);③由神經網絡計算Kp(k)、Ki(k)和Kd(k);④由式(1)計算u(k)作為真空泵頻率控制信號;⑤在線調整神經網絡權值ωij(k)和ωli(k);⑥令k=k+1,返回步驟②,直至性能指標E(k)滿足要求。

圖2 閃蒸罐壓力BP-PID控制結構示意圖
通過實驗研究表明,反應器液位、反應器溫度變化對閃蒸罐壓力產生影響[10],即3 個控制回路之間存在耦合關系。為了削弱回路之間的耦合作用,分別采用PID神經網絡解耦控制和無模型自適應神經網絡解耦控制對3 個回路進行解耦控制設計。
反應器液位、反應器溫度和閃蒸罐壓力控制回路構成3 輸入3 輸出控制系統,設計如圖3 所示的PID神經網絡解耦控制方案[11]。圖3 中PID 神經網絡控制器由3 個PID神經子網絡組成,每個神經子網絡是一個具有3 層結構的前向神經網絡,輸入層有2 個節點,分別為設定值和系統實際輸出值,隱含層有3 個節點,分別為比例神經元、積分神經元和微分神經元,輸出層有1 個節點,為控制量。3 個PID 神經子網絡的輸入層與隱含層各自單獨連接,隱含層與輸出層之間相互連接。由PID神經網絡控制器計算輸出的控制量u1(k)作用于冷卻水進水管線閥門,u2(k)作用于變頻真空泵,u3(k)作用于反應器底部物料出口管線閥門。

圖3 聚合反應過程PID神經網絡解耦控制
無模型自適應神經網絡解耦控制無需已知對象數學模型,通過設計神經網絡補償器實現解耦。通過實驗研究可知,反應器液位、反應器溫度對閃蒸罐壓力產生單向耦合關系,設計聚合反應過程無模型自適應神經網絡解耦控制如圖4 所示,圖4 中ND1、ND2 是神經網絡解耦補償器。無模型自適應神經網絡解耦控制設計分為兩部分:各回路無模型自適應控制器設計和神經網絡解耦補償器設計。

圖4 聚合反應過程無模型自適應神經網絡解耦控制
(1)無模型自適應控制器設計。無模型自適應控制無需建立對象數學模型,利用被控系統的I/O 數據在線估計系統偽偏導數(Pseudo Partial Derivative,PPD),設計加權一步向前的控制器,實現基于數據驅動的無模型自適應控制[12]。針對聚合反應過程的3個控制回路設計無模型自適應控制器時,依據單回路設計原則,不考慮變量之間的耦合作用。以圖4 中反應器溫度單回路控制系統設計為例說明設計過程,該非線性系統可以表示為:
式中,f(·)表示非線性函數。當滿足一定約束條件時,式(3)表示的非線性系統的緊格式動態線性化數據模型為[13]:
式中,φ1(k)稱為PPD的時變參數,實際應用時需要利用被控系統的I/O數據對參數φ1(k)進行在線估計,得到φ1(k)的估計值(k)。由此得到反應器溫度控制器表達式:
式中:ρ∈(0,1)為步長因子;λ >0 為權重因子。
(2)神經網絡解耦補償器設計。ND1、ND2 神經網絡解耦補償器都采用動態時延神經網絡,以ND1 解耦補償器設計為例加以說明。采用4-6-1 結構的神經網絡,輸入層有4 個節點,分別為控制量u1(k)、延遲信號u1(k-1)、神經網絡解耦器輸出量延遲信號q1(k-1)、q1(k-2);隱含層有6 個節點;輸出層的輸出為q1(k)。采用BP 算法進行網絡訓練。ND2 解耦補償器設計與ND1 相類似。經解耦補償后得到作用于真空泵的頻率控制量
基于OPC 技術的實施方案是將智能控制算法在Matlab中編程實現。該方案采用OPC 作為PCS7 和Matlab之間的通信接口,將PCS7 作為OPC 服務器、Matlab作為OPC客戶端[14],實現PCS7 和Matlab之間數據的傳輸。
(1)AS 站硬件配置。①在PCS7 軟件中啟動SIMATIC Manager 軟件,新建工程并在新工程下面建立SIMATIC 400 自動化站,然后對自動化站進行硬件配置。②在HW-Config視圖中組建機架,根據設備型號和訂貨號將電源模塊、CPU、通信模塊配置到機架的相應卡槽。③新建Profibus DP 總線并在總線上組態PM125 模塊。④根據實際I/O 點數組態I/O 模塊的起始地址、字或字節長度。
(2)OPC 服務器配置。①在SIMATIC Manager軟件的組件視圖中,添加OS 站,即新建SIMATIC PC Station。②在虛擬機架相應卡槽上插入監控軟件WinCC Application、通信模塊IE General 和OPC Server。③配置PC 站后,在站管理器SCE(Station Configuration Editor)中出現上述3 個組件。④建立AS站和OS站之間的通信連接。
使用OPC Scout工具檢測數據通信是否成功。在OPC Scout找到需要檢測通信的變量地址,如圖5 所示。如果“Quality”顯示“good”,則代表通信成功,“Value”中會顯示檢測變量的數值。

圖5 OPC通信測試
(3)OPC 客戶端配置。本實驗在Matlab 中編寫如下程序建立Matlab與OPC Server通信:
Obj =opcda(′localhost′,′OPC.SimaticNET′);%構造OPC數據訪問對象Obj
connect(Obj);%使用connect 函數將Obj 連接到服務器
當建立PCS7 和Matlab 之間的OPC 通信后,在Matlab中編寫程序讀取傳感器數據:
grp =addgroup(Obj);%建立數組讀取數值
detectp1 =additem(grp,′SIMATIC 400(1).CPU 412-5 H PNDP.PI1103′);%讀取OPC Server 的閃蒸罐壓力數據到Matlab
detectValuep1 =read(detectp1);%將數據轉化到本地中
因為PCS7 采集的數據為十六進制,所以在Matlab中需要編寫程序進行數值轉換,轉換后的壓力數值與給定值比較得到偏差e,在Matlab中編寫神經網絡PID控制算法程序,在線整定PID 參數并根據式(1)計算控制量u,用writeasync語句把控制量u寫入OPC服務器,在PCS7 軟件中設置DB 數據塊,在CFC 程序中通過DB數據塊將控制量u傳輸給變頻真空泵作為其頻率控制信號。
SCL(Structured Control Language)是結構化控制語言,具有PLC 典型元素和高級編程語言的特點,適用于實現復雜運算和過程優化,因此可以采用SCL 編寫程序實現智能控制算法。以實施BP-PID控制為例,說明程序編寫過程。
(1)在所建工程的S7 Program Source下插入SCL Source。
(2)雙擊SCL Source進入SCL編程環境,插入FB塊后出現FB塊的基本編程模板界面。
(3)在FB塊的模板中,首先將塊編號為FB1,將FB1 塊命名為BP-PID,然后定義FB1 塊的輸入、輸出和中間變量。FB1 塊中定義輸入變量的部分程序為[15]:
由于定義中間變量的程序較多,在此不再一一列出。
(4)根據3.1 節所述的神經網絡PID 整定過程,采用IF、FOR等高級編程語言的方式編寫BP-PID 程序,限于篇幅,僅列出隱含層到輸出層權值調整程序:
(5)程序編譯無誤后生成FB1 塊,在CFC中直接調用FB1 塊,編寫CFC 程序實現閃蒸罐壓力BP-PID控制,如圖6 所示。

圖6 閃蒸罐壓力BP-PID控制程序
為了對比BP-PID控制效果,首先進行所有控制回路PID控制實驗,實驗結果如圖7(a)所示。然后進行閃蒸罐壓力單回路BP-PID實驗研究,其他控制回路仍采用PID控制,采用SCL語言編寫BP-PID 程序,實驗結果如圖7(b)所示。圖7 中TI1103 表示反應器溫度,AI1101 表示產品D 的濃度;LI1102 表示反應器液位,PI1103 表示閃蒸罐壓力。由圖7 可知,閃蒸罐壓力在PID控制下的最大偏差約為41 kPa,從開車到進入穩態(60 kPa)的時間約為600 s;閃蒸罐壓力在BPPID控制下的最大偏差約為13 kPa,從開車到進入穩態的時間約為390 s。由此可見:與閃蒸罐壓力PID控制相比,BP-PID控制使控制系統超調量減小,過渡過程比較平穩,進入穩態時間減小。

圖7 閃蒸罐壓力PID和BP-PID控制實驗結果
采用OPC 技術進行PID 神經網絡解耦控制和無模型自適應神經網絡解耦控制實驗研究,兩種解耦控制算法均采用Matlab 編程實現。實驗首先設置反應器溫度TI1103 的設定值為95 ℃、反應器液位LI1102的設定值為50%、閃蒸罐壓力PI1103 的設定值為60 kPa。在各個變量控制在穩態后,分別進行4 次設定值階躍實驗。實驗1:反應器液位正向設定值階躍實驗,將反應器液位設定值由50%變為60%。實驗2:反應器液位反向設定值階躍實驗:將反應器液位設定值由60%變為50%。實驗3:反應器溫度正向設定值階躍實驗:將反應器溫度設定值由95 ℃變為100 ℃。實驗4:反應器溫度反向設定值階躍實驗:將反應器溫度設定值由100 ℃變為95 ℃。不同控制方案下設定值階躍實驗結果如圖8 所示,以下對4 次實驗結果進行分析。

圖8 解耦控制實驗結果
(1)實驗1。反應器液位設定值由50%變為60%時,無解耦控制下,閃蒸罐壓力在25.33~77.40 kPa之間波動,經155 s后恢復到設定值60 kPa;PID 神經網絡解耦控制下,閃蒸罐壓力在28.50~68.55 kPa 之間波動,經155 s后恢復到設定值60 kPa;無模型自適應神經網絡解耦控制下,閃蒸罐壓力在47.68~66.23 kPa之間波動,經150 s后恢復到設定值60 kPa。
(2)實驗2。反應器液位設定值由60%變為50%時,無解耦控制下,閃蒸罐壓力在65.91~58.80 kPa之間波動,經240 s后恢復到設定值60 kPa;PID 神經網絡解耦控制下,閃蒸罐壓力在65.13~59.32 kPa 之間波動,經240 s后恢復到設定值60 kPa;無模型自適應神經網絡解耦控制下,閃蒸罐壓力在64.33~59.32 kPa之間波動,經210 s后恢復到設定值60 kPa。由此可見,解耦控制使反應器液位變化對閃蒸罐壓力的影響減小。
(3)實驗3。反應器溫度設定值由95 ℃變為100℃時,無解耦控制下,閃蒸罐壓力偏離設定值的最大偏差為7.24 kPa,經440 s后恢復到設定值60 kPa;PID神經網絡解耦控制下,閃蒸罐壓力偏離設定值的最大偏差為6.94 kPa,經440 s后恢復到設定值60 kPa;無模型自適應神經網絡解耦控制下,閃蒸罐壓力偏離設定值的最大偏差為3.89 kPa,經265 s 后恢復到設定值60 kPa。
(4)實驗4。反應器溫度設定值由100 ℃變為95℃時,無解耦控制下,閃蒸罐壓力偏離設定值的最大偏差絕對值為5.12 kPa,經580 s 后恢復到設定值60 kPa;PID 神經網絡解耦控制下,閃蒸罐壓力偏離設定值的最大偏差絕對值為4.87 kPa,經575 s 后恢復到設定值60 kPa;無模型自適應神經網絡解耦控制下,閃蒸罐壓力偏離穩態值的最大偏差絕對值為3.82 kPa,經340 s后恢復到設定值60 kPa。由此可見,解耦控制削弱了反應器溫度控制回路對閃蒸罐壓力控制回路的耦合作用。
上述分析可知,解耦控制能在一定程度上減小控制回路之間的耦合作用,兩種智能解耦控制算法相比,無模型自適應神經網絡解耦控制比PID神經網絡解耦控制取得更好的解耦控制效果。
本文設計的智能控制綜合實驗將復雜控制算法與工程應用緊密結合,為智能控制算法應用于工程實踐提供了實施方法。學生通過實驗研究,可以提高學生解決自動化領域復雜工程問題的能力。