嚴粵鋒
摘 ?要: 為了使組態軟件能夠良好地控制人機界面,且便于投用、操作及維護,分析基于自調節模糊控制算法的組態軟件。在研究過程中,首先,分析控制技術和工程中經常使用的控制算法原理和設計方法;然后,結合案例對開發過程中所使用的組態技術原理進行闡述。針對過程控制系統的特點,結合組態思想,利用組態技術設計控制算法模塊;最后,在過程控制實驗裝置中對其可行性進行測試。測試結果表明,基于組態軟件的自調節模糊控制算法能夠滿足實際使用需求。
關鍵詞: 組態軟件; 自調節模糊控制算法; 算法設計; 過程控制; PID控制; 隸屬度函數
中圖分類號: TN911.1?34 ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2019)15?0123?04
Design and implementation of self?tuning fuzzy control algorithm
applied to configuration software
YAN Yuefeng
(Guangdong Open University, Guangzhou 510091, China)
Abstract: In order to create a good advanced control man?machine interface for the configuration software and make it easy to put into use, operate and maintain, the configuration software based on self?adjusting fuzzy control algorithm is analyzed. The principle and design method of control algorithm commonly used in control technology and engineering are analyzed. The configuration technology principle used in the development process is elaborated with a case. The idea of configuration is combined to design the control algorithm module by using configuration technology. The feasibility of the system is tested in the process control experimental device. The testing results show that the self?adjusting fuzzy control algorithm based on the configuration software can meet the demands of actual application.
Keywords: configuration software; self?adjusting fuzzy control algorithm; algorithmic design; process control; PID control; membership function
0 ?引 ?言
現代科學技術的不斷發展促進了自動化技術的發展。在現代工業生產中使用自動化技術,能夠保證工業生產的安全性、高效性、連續性及高質量。自動化技術歷經三次革命,在第三次變革的過程中,現場總線技術成為全新自動化領域中的主導技術。隨著控制技術的不斷發展,工業生產規模的不斷擴大,控制系統也越來越依賴軟件系統。組態軟件目前被廣泛應用到工業控制中,其具備豐富的圖像顯示、對象連接及數據庫處理等功能,為使用人員提供了方便。然而,組態軟件自身并沒有控制組態的功能,都是通過上位機設置從而實現功能,控制功能是通過單回路調節器和可編程控制器實現的,無法充分展現組態軟件的設計思想。為了能夠有效簡化工程人員工作量,降低重復性工作,本文提出通用空間控制工程的策略。
1 ?模糊控制算法分析
模糊控制是在20世紀70年代出現的,控制過程不適用數學模型,主要通過現場人員操作思維和實驗進行控制,使用現代理論無法充分發揮控制作用。
模糊集合是控制模型的數學基礎,控制經驗作為控制知識模型,適應性比較強,并且不會依賴于精準數學模型,還具有良好魯棒性。圖1為模糊控制系統結構。
模糊控制系統具有常規計算機控制系統結構,由輸入輸出接口、被控對象、模糊控制器、測量裝置和執行結構構成。在使用過程中,要求用戶能夠給出控制輸出量及誤差,基于模塊將誤差上下限及輸出上下限定義為控制屬性。其次,利用用戶實現控制對象檢測信號值、控制輸出及設定值的控制,其能夠實現空間屬性的定義。

模糊控制器為控制系統的主要部分,還是模糊控制的核心內容,結構所使用的推理算法、推理規則和模糊決策等方法都會影響到模糊控制系統的性能。圖2為典型模糊控制器結構,其包括模糊推理、模糊化、知識庫及模糊決策。

2 ?組態軟件的體系結構
組態軟件由多組件構成,使用組件的數量逐漸提高,功能也有所加強,各種組態軟件都是利用面向對象編程和設計的方法,從而便于軟件學習及掌握,提高功能。組態軟件包括運行系統和組態系統,其主要目的就是通過系統特性需求配置系統,利用運行系統、組態配置信息控制工業現場功能,組態系統屬于組態軟件的重點。
工控軟件能夠收集數據,并且存儲到數據庫中,對數據進行分析處理之后呈現給用戶。另外,利用控制算法輸出信號,從而實現現場合理控制。共性穩定,通過組態技術實現可變性,從而滿足不同工業現場需求。工控軟件可變性指的是采集信號性質、處理數據的方法和呈現給用戶的方式等。圖3為組態軟件的構成。

1) 數據庫組態。實現收集信號的配置,主要包括物理名稱、序號、物理地址、信號類型、數據類型、采集頻率、量程上下限及測量精度等,將其作為基礎生成相應數據庫表格,實現各種實時數據及歷史數據的存儲。
2) 系統組態。配置收集信號的硬件板卡和端口地址。
3) 流程圖組態。利用圖元組件制作,對圖元組件流程關聯數據及位置關系進行記錄。通過運行系統中收集信息的狀態展現流程圖,包括壓力、流量、水泵啟停、閥門開關等。另外,要求圖元組件具備動態連接屬性,包括動態變化方式及數據源。
4) 報警組態。實現報警優先級、上下限及方式的配置。
5) 控制組態。實現控制算法、參數及物理量的配置。
6) 通信組態。實現通信方式及應用層用戶協議的配置。
7) 報表組態。實現報表數據統計方式、數據源、打印方式及格式的配置。
3 ?先進控制算法的實現
3.1 ?ActiveX控件技術
ActiveX空間技術指的是將COM及OLE作為基礎創建的應用技術,其屬于編碼及API協議,并且能夠為不同語言及平臺組件的跨越提供框架。ActiveX控件主要包括三個特性,分別為方法、事件及屬性。ActiveX空間利用事件對控件進行控制,常用事件包括鍵盤輸入數據、單擊控件等。ActiveX控件利用觸發控件容器進行通信,容器能夠利用方法及屬性和控件進行通信。屬性及方法能夠提供空間,將其作為控件容器使用輸出接口,方法和腳本函數類似,都能夠在容器中調用。
3.2 ?制作控件
本文使用VC設計ActiveX控件,具體步驟為:
1) 通過MFC創建工程,并且為工程及控件命名,此時MFC能夠自動成為控件創建程序框架,用戶只要將程序代碼輸入到框架中。
2) 控件外觀設計。在Ondraw函數中繪制控件外觀,利用畫刷及畫筆畫出控件外觀,還能夠編輯位圖,之后在OnDraw中實現LoadBitamp函數的調用。
3) 屬性的添加。在MFC中選擇控件類,單擊AddProperty實現屬性添加。
4) 編輯屬性頁。用戶能夠瀏覽屬性頁,還能夠對Activex控制屬性值進行更改,其屬于空間數據和容器數據兩者交換的重要界面。用戶的訪問是利用空間屬性對話框實現的,屬性對話框中有一個或者多個屬性頁,用戶可以對屬性圖形化界面進行瀏覽、控制和編輯。在工作區中雙擊條目,打開顯示屬性頁對話框,在對話框中設計屬性頁外觀。之后,對DoData函數進行自定義。
嵌入控件之后,在使用時還要連接組態軟件數據,從而傳輸現場數據及空間模塊數據,利用控件算法對控制量計算,到現場傳輸。將現場數據設置成組態軟件數據庫點,空間和現場數據連接也是數據庫點連接。首先,設計的組態界面要和實際設備相一致,利用特殊功能菜單控制管理中選擇算法控件。啟動組態軟件數據庫組態,創建模擬點I/O點,雙擊控件就會彈出動畫連接主對話框,選擇雜項/一般動作屬性,將ActiveX事件腳本編輯器打開,圖4為ActiceX控件腳本編輯器界面,通過控制腳本編輯器能夠實現控制屬性、變量及方法的查看,還能夠編輯腳本。在腳本編輯器中編輯腳本語言,在數據庫中實現I/O點值及空間數據的相互交換。

3.3 ?算法計算機實現
3.3.1 ?模糊控制算法實現
在模糊控制算法模塊中將誤差及誤差變化率作為輸入量的二維模糊控制器,并且添加可變論域及動態環節,圖5為控制算法程序框圖。
圖5中,[e]指的是誤差,[ec]指的是誤差變化率,[Ke],[Kec],[Ku]指的是比例因子,[m]指的是論域等級。限制在論域等級中[E]和[EC]的誤差及誤差變化率不超過論域等級范圍。計算調整因子[a]為:
根據圖5的流程實現算法程序代碼的編輯,之后添加到OnTimer函數中,在控件運行的過程中,每通過一個采樣周期,就會運行一次OnTimer函數,算法為周期運行。在屬性頁中設置算法,圖6為模糊控件器的屬性頁。


3.3.2 ?模糊PID控制算法實現
在模糊控制算法中,首先確定用戶變量,使其能夠定義空間屬性。模糊控制算法能夠使基本的論域轉變為模糊論域,要求用戶使用誤差輸出量及控制基本理論,在模糊中利用誤差上下限定義層位空間屬性輸出。其次,用戶在控件中利用控制對象檢測信號值、設定值及控制輸出,也就是空間屬性。然后,通過例數函數、模糊方式及控制規則實現模糊控制算法的轉變,使其作為空間方法。最后,定義時間函數,在時間函數中調用模糊控制算函數。通過三角形隸屬函數,使算法模塊轉變為模糊量,實現模糊量輸出,轉變為精確量。利用二維模糊控制器偏差[E]、偏差變化[EC]、平均判決法和控制器輸出[U]的相對模糊子集設置七檔。選擇模糊控制算法模塊中的比例因子及量化因子具有重要作用,通過實驗表示,比例因子和量化因子的大小和不同化因子代銷及模糊控制量控制性能具有密切的關系。對于量化因子和比例因子來說,不僅要對計算機字長進行考慮,還要對計算機輸入輸出接口中的D/A及A/D轉換精度和變化范圍考慮。圖7為基于模糊規則切換P?FUZZY?PID控制器程序框圖。


4 ?結 ?語
本文提出使用組態技術模糊控制算法實現組態軟件的二次開發,能夠有效豐富組態軟件的控制功能。另外,分析實際使用過程中的過程控制技術,對工程中常用的控制算法原理及設計方法進行研究,實現基于組件技術控制算法模塊的設計。通過實際使用分析表明,其在實際使用過程中具有一定效果。
參考文獻
[1] 張立廣,劉正中.城市隧道通風控制算法研究與實現[J].自動化技術與應用,2015,34(7):22?25.
ZHANG Liguang, LIU Zhengzhong. Research and implementation of ventilation control algorithms for urban tunnels [J]. Automation technology and application, 2015, 34(7): 22?25.
[2] 張弛,吳明亮,吳明永,等.基于S7?300PLC和模糊控制的鍋爐分布式控制系統設計[J].機械設計與制造工程,2018,47(4):85?86.
ZHANG Chi, WU Mingliang, WU Mingyong, et al. Design of boiler distributed control system based on S7?300 PLC and fuzzy control [J]. Mechanical design and manufacturing engineering, 2018, 47(4): 85?86.
[3] 王少林,劉公明,魏仁政,等.膠乳反應釜自動控制系統的設計與實現[J].自動化與儀器儀表,2015,15(2):43?44.
WANG Shaolin, LIU Gongming, WEI Renzheng, et al. Design and implementation of automatic control system for latex reactor [J]. Automation and instrumentation, 2015, 15(2): 43?44.
[4] 王泰華,王坤非,姚學召.基于Backstepping的自適應模糊控制算法研究[J].自動化儀表,2017,38(9):36?39.
WANG Taihua, WANG Kunfei, YAO Xuezhao. Research on adaptive fuzzy control algorithm based on backstepping [J]. Automation instrument, 2017, 38(9): 36?39.
[5] 李夏林,劉雅娟,朱武.超聲電源頻率自動跟蹤的模糊控制算法研究[J].應用聲學,2017,36(2):135?141.
LI Xialin, LIU Yajuan, ZHU Wu. Research on fuzzy control algorithms for automatic frequency tracking of ultrasound power supply [J]. Applied acoustics, 2017, 36(2): 135?141.
[6] 張坤,許倫輝.基于模糊控制的AGV差速轉向控制算法研究[J].自動化與儀表,2016,31(10):1?4.
ZHANG Kun, XU Lunhui. Algorithms for differential steering control of AGV based on fuzzy control [J]. Automation and instruments, 2016, 31(10): 1?4.
[7] 陳紅玉,肖連,李興海.自適應模糊控制在船舶定位中的設計與實現[J].艦船科學技術,2017,15(z2):40?42.
CHEN Hongyu, XIAO Lian, LI Xinghai. Design and implementation of adaptive fuzzy control in ship positioning [J]. Ship science and technology, 2017, 15(S2): 40?42.
[8] 張淵欽,李紅宇.基于微粒群算法的模糊PID控制器在BLDCM中的應用[J].儀表技術,2015,21(5):35?37.
ZHANG Yuanqin, LI Hongyu. Application of fuzzy PID controller based on particle swarm optimization in BLDCM [J]. Instrument technology, 2015, 21(5): 35?37.