摘 要:本文介紹了S7-300的基本功能和模糊控制的基本原理,詳細(xì)闡述了如何利用step 7編寫用戶自行開發(fā)的模糊PID控制算法和如何利用組態(tài)王6.5對(duì)供水管網(wǎng)水壓進(jìn)行監(jiān)控。通過組態(tài)王和S7-300之間的通信,采用模糊PID控制算法實(shí)時(shí)調(diào)節(jié)P、I、D參數(shù),實(shí)現(xiàn)了對(duì)供水管網(wǎng)水壓的控制。
關(guān)鍵字:組態(tài)王6.5,水壓控制,模糊PID控制算法,S7-300PLC,多點(diǎn)接口網(wǎng)絡(luò)MPI
1 引言
近年來,隨著工業(yè)自動(dòng)化技術(shù)的發(fā)展,人們對(duì)自動(dòng)化監(jiān)控系統(tǒng)的要求越來越高,這就需要一套使用方便,功能強(qiáng)大,性能優(yōu)異、穩(wěn)定可靠的監(jiān)控軟件。而西門子公司的SIMATIC S7的PLC網(wǎng)絡(luò)具有多點(diǎn)接口網(wǎng)絡(luò)(MPI),可實(shí)現(xiàn)S7-300與工控組態(tài)軟件組態(tài)王的通信,實(shí)現(xiàn)計(jì)算機(jī)的自動(dòng)控制。本文就組態(tài)王6.5和S7-300 在恒壓供水系統(tǒng)控制中的應(yīng)用進(jìn)行研究。
2 組態(tài)王簡介
“組態(tài)王”是在PC機(jī)上建立工業(yè)控制對(duì)象人機(jī)接口的一種智能軟件包,它以Windows 98/Windows 2000/ Windows NT4.0中文操作系統(tǒng)作為其操作平臺(tái),具有圖形功能完備,界面一致友好,易學(xué)易用的特點(diǎn)。該軟件包由工程管理器(ProjManager)、工程瀏覽器 (TouchExplorer)、畫面運(yùn)行系統(tǒng)(TouchVew)三部分組成。ProjManager用于新建工程、工程管理,并能對(duì)已有工程進(jìn)行搜索、備份及有效恢復(fù),實(shí)現(xiàn)數(shù)據(jù)字典的導(dǎo)入和導(dǎo)出。TouchExplorer是“組態(tài)王”軟件的核心部分和管理開發(fā)系統(tǒng),是應(yīng)用工程的開發(fā)環(huán)境,內(nèi)嵌畫面開發(fā)系統(tǒng),可完成對(duì)畫面的設(shè)計(jì)、動(dòng)畫的連接等工作。TouchVew是“組態(tài)王”軟件的實(shí)時(shí)運(yùn)行環(huán)境,用于顯示畫面開發(fā)系統(tǒng)中建立的動(dòng)畫圖形畫面,并負(fù)責(zé)數(shù)據(jù)庫與I/O服務(wù)程序的數(shù)據(jù)交換,通過實(shí)時(shí)數(shù)據(jù)庫管理從一組工業(yè)控制對(duì)象采集到的各種數(shù)據(jù),并把數(shù)據(jù)的變化用動(dòng)畫的方式形象地表示出來,同時(shí)完成報(bào)警、歷史記錄、趨勢曲線等監(jiān)視功能,并可生成歷史數(shù)據(jù)文件。在TouchExplorer的畫面開發(fā)系統(tǒng)中設(shè)計(jì)開發(fā)的畫面應(yīng)用程序必須在TouchVew運(yùn)行環(huán)境中才能運(yùn)行。
3 S7-300簡介
S7—300系PLC是西門子公司較新開發(fā)的工控產(chǎn)品之一,在西門子工控領(lǐng)域應(yīng)用中占有重要地位。S7—300系列PLC軟硬件功能強(qiáng)大,采用模塊化設(shè)計(jì),系統(tǒng)配置方便,在一塊機(jī)架底板上可安裝電源、CPU、各種信號(hào)模板、通信處理器等多種特殊功能模塊,各種模塊安裝方便,系統(tǒng)帶有強(qiáng)大的Profibus現(xiàn)場總線接口及MPI接口,MPI接口既是編程接口,又是數(shù)據(jù)通信接口,通過此接口,PLC與PLC之間、或PLC與上位機(jī)之間都可以通過MPI協(xié)議進(jìn)行通信,從而組成MPI網(wǎng)絡(luò)。然而S7—300系列PLC所自帶的組態(tài)功能,遠(yuǎn)遠(yuǎn)達(dá)不到客戶的要求,可視化效果較差,自然就需要與之相匹配的組態(tài)軟件來實(shí)現(xiàn)其監(jiān)控功能。
使用S7-300要進(jìn)行硬件組態(tài)。此時(shí)計(jì)算機(jī)作為PLC的編程裝置,打開S7-300編程軟件包STEP 7,對(duì)S7-300 的機(jī)架號(hào)、電源、CPU、分布式I/O等各種模塊,按其實(shí)際物理位置進(jìn)行組態(tài),其中,分布式I/O模塊的地址一般根據(jù)模塊旁的撥盤開關(guān)來設(shè)定。最后將組態(tài)程序表下載到PLC并確認(rèn)。在西門子的軟件包STEP7 中,可用梯形圖、語句表或功能塊圖進(jìn)行編程。
4 模糊PID控制算法的實(shí)現(xiàn)及應(yīng)用
自動(dòng)控制理論中的分析和設(shè)計(jì)方法主要是建立在被控對(duì)象的線性定常數(shù)學(xué)模型的基礎(chǔ)上的。該模型忽略了實(shí)際系統(tǒng)中的非線性和時(shí)變性,與實(shí)際系統(tǒng)有較大的差距。對(duì)于許多工業(yè)控制對(duì)象,根本就無法建立較為準(zhǔn)確的數(shù)學(xué)模型,因此自動(dòng)控制理論中的設(shè)計(jì)方法很難用于大多數(shù)控制系統(tǒng)。模糊控制適合于對(duì)象模型難以建立、過程特性缺乏一致性、具有非線性、但可以總結(jié)出操作經(jīng)驗(yàn)的系統(tǒng)【2】。而水壓控制具有非線性、時(shí)變性和滯后性,因此將模糊PID控制算法應(yīng)用于恒壓供水控制系統(tǒng)中。
4.1 恒壓供水控制系統(tǒng)的組成及工作過程
本系統(tǒng)以PLC為控制核心,通過上位機(jī)自由設(shè)定所需水壓,當(dāng)水壓設(shè)定好后,根據(jù)變頻恒壓供水原理,利用安裝在供水管網(wǎng)上的壓力傳感器,對(duì)供水管網(wǎng)水壓進(jìn)行數(shù)據(jù)采樣,并將水壓信號(hào)轉(zhuǎn)換為電信號(hào)送人PLC,PLC根據(jù)實(shí)際水壓值與設(shè)定水壓值進(jìn)行比較和運(yùn)算,并將運(yùn)算結(jié)果轉(zhuǎn)換為電信號(hào),輸出送到變頻器的信號(hào)給定端,變頻器根據(jù)給定信號(hào),調(diào)節(jié)水泵電機(jī)的電源頻率,從而調(diào)整水泵的轉(zhuǎn)速,以維持供水管網(wǎng)中水壓值在設(shè)定的水壓范圍內(nèi),從而達(dá)到恒壓供水的目的。另一方面,PLC又與計(jì)算機(jī)進(jìn)行通信,通過組態(tài)畫面實(shí)時(shí)監(jiān)控壓力變化。
本恒壓供水系統(tǒng)包括研華工控機(jī)(上位機(jī))、S7-300PLC、變頻器、水泵電機(jī)、液位傳感器和水箱等。軟件部分為在WINDOWS平臺(tái)上運(yùn)行的STEP 7,其基本功能是協(xié)助用戶完成應(yīng)用軟件任務(wù)[5]。
此恒壓供水系統(tǒng)采用了一臺(tái)變頻器控制三臺(tái)泵的工作方式。工作過程如下:先由變頻器起動(dòng)1#水泵運(yùn)行,如工作頻率已經(jīng)達(dá)到50Hz,而壓力仍不足時(shí),將1#泵切換成工頻運(yùn)行,再由變頻器去起動(dòng)2#水泵,供水水泵處于“1工1變”的運(yùn)行狀態(tài);如變頻器的工作頻率又已經(jīng)達(dá)到50Hz,而壓力仍不足時(shí),將2#泵也切換成工頻運(yùn)行,再由變頻器去起動(dòng)3#水泵,供水水泵處于“2工1變”的運(yùn)行狀態(tài)。如果變頻器的工作頻率已經(jīng)下降到下限頻率,而壓力仍偏高時(shí),則將1#泵停機(jī),供水水泵又處于“1工1變”的運(yùn)行狀態(tài);如果變頻器的工作頻率又已經(jīng)下降到下限頻率,而壓力仍偏高時(shí),則將2#泵停機(jī),供水水泵又處于3#泵變頻運(yùn)行狀態(tài)。這樣安排,具有使3臺(tái)泵的工作時(shí)間比較均勻的優(yōu)點(diǎn)。
4.2 模糊控制原理
最基本的模糊控制系統(tǒng)結(jié)構(gòu)如圖1所示。圖中y[sub]r[/sub]為系統(tǒng)設(shè)定值,y為系統(tǒng)輸出值,它們都是清晰量。從圖中可以看出,它和傳統(tǒng)的控制系統(tǒng)結(jié)構(gòu)沒有多大的區(qū)別,只是用模糊控制器代替?zhèn)鹘y(tǒng)的數(shù)字控制器。
[align=center]

圖1 模糊控制系統(tǒng)結(jié)構(gòu)圖[/align]
一般說來,模糊控制器有三個(gè)主要的功能模塊。
?。?)模糊化
模糊化是將模糊控制器輸入量的確定值轉(zhuǎn)換為相應(yīng)模糊語言變量值的過程,此相應(yīng)語言變量值均由對(duì)應(yīng)的隸屬度來定義。
?。?)模糊推理
模糊推理包括三個(gè)組成部分:大前提、小前提和結(jié)論。大前提是多個(gè)多維模糊條件語句,構(gòu)成規(guī)則庫;小前提是一個(gè)模糊判斷句,稱為事實(shí)。以已知的規(guī)則庫和輸入變量為依據(jù),基于模糊變換推出新的模糊命題作為結(jié)論的過程叫做模糊推理。
(3)清晰化
清晰化是將模糊推理后得到的模糊集轉(zhuǎn)換為用作控制的數(shù)字值的過程。
4.3 模糊PID控制算法的實(shí)現(xiàn)及應(yīng)用
本文主要討論組態(tài)王6.5和S7-300在壓力控制中的應(yīng)用。在S7-300編程軟件包STEP 7中編寫用戶程序,用模糊PID控制器代替?zhèn)鹘y(tǒng)的PID控制器,采用中斷的方式來執(zhí)行模糊PID控制算法。利用STEP 7實(shí)現(xiàn)智能算法選擇適當(dāng)?shù)腜ID參數(shù),通過改變PLC中PID模塊中的PID參數(shù)實(shí)現(xiàn)系統(tǒng)的控制。這樣PLC集成的PID編程模塊語句和智能控制有機(jī)地結(jié)合起來,提高了系統(tǒng)的控制精度和速度,實(shí)現(xiàn)了對(duì)系統(tǒng)的有效智能控制。在這里我們以查詢規(guī)則表的方式利用模糊控制實(shí)現(xiàn)對(duì)系統(tǒng)控制參數(shù)P、I、D的選擇。由于被控參數(shù)水壓變化較快,故本控制系統(tǒng)的采樣時(shí)間為5秒。
模糊PID控制算法中的參數(shù)由如下方法確定:

。
其中ke,kec分別為偏差e和偏差變化率ec的量化因子; e[sub]H[/sub],e[sub]L[/sub],ec[sub]H[/sub],ec[sub]L[/sub]分別為偏差e和偏差變化率ec的高限值和低限值[3]; 為把語言變量的論域從連續(xù)域轉(zhuǎn)換成有限的離散論域后,離散論域的邊界數(shù)值。對(duì)于偏差e和偏差變化率,把其物理論域通過量化變換到整個(gè)論域{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},即n為6。如果求出的模糊化所得值含有小數(shù),則采用四舍五入的方法對(duì)模糊化所得值取整數(shù)。
在組態(tài)王6.5中對(duì)水壓控制過程進(jìn)行組態(tài)監(jiān)控。設(shè)計(jì)中,組態(tài)王把每一臺(tái)下位機(jī)看作是一個(gè)外部設(shè)備,在開發(fā)過程中可根據(jù)“設(shè)備配置向?qū)А钡奶崾痉奖?、快捷地完成連接。在運(yùn)行期間,組態(tài)王通過驅(qū)動(dòng)程序和這些外部設(shè)備交換數(shù)據(jù),包括采集數(shù)據(jù)和發(fā)送數(shù)據(jù)指令。每一個(gè)驅(qū)動(dòng)程序都是一個(gè)COM對(duì)象,這種方式使通訊程序和組態(tài)王構(gòu)成一個(gè)完整的系統(tǒng)。其與下位機(jī)通信原理如圖2所示。本系統(tǒng)采用串口通訊的方式與S7-300PLC建立聯(lián)系。
當(dāng)建立了上位機(jī)和PLC之間通訊聯(lián)系后,為實(shí)現(xiàn)上位機(jī)對(duì)壓力控制系統(tǒng)的監(jiān)控功能,需要設(shè)置變量并進(jìn)行變量到PLC的連接。在組態(tài)王數(shù)據(jù)詞典中定義I/O變量,與預(yù)先在PLC中定義的中間變量相關(guān)聯(lián)。在進(jìn)行完數(shù)據(jù)變量設(shè)置后,便可進(jìn)行畫面組態(tài),根據(jù)系統(tǒng)監(jiān)控的實(shí)際
[align=center]

圖2.組態(tài)王與下位機(jī)通信原理[/align]
要求,實(shí)現(xiàn)最終的上位機(jī)監(jiān)控功能。設(shè)計(jì)的軟件使用曲線圖來顯示參數(shù)的變化并且可以進(jìn)行實(shí)時(shí)曲線監(jiān)測和歷史曲線查詢[4]。
將以上算法應(yīng)用到實(shí)驗(yàn)中,實(shí)驗(yàn)控制效果如圖3所示,將傳統(tǒng)的PID算法應(yīng)用到試驗(yàn)中,實(shí)驗(yàn)效果如圖4所示。從圖3中可以看到水壓值在設(shè)定值變化時(shí),很快就可以回到設(shè)定值上,而且基本上沒有超調(diào)量,極少出現(xiàn)振蕩現(xiàn)象,控制取得很好的效果;而在圖4中,每次設(shè)定值發(fā)生變化時(shí)都出現(xiàn)了較長時(shí)間的振蕩。由此可見應(yīng)用模糊PID控制算法比傳統(tǒng)的PID算法取得更好的效果。
[align=center]

圖3 組態(tài)王在線趨勢圖(模糊PID控制)[/align]
[align=center]

圖4 組態(tài)王在線趨勢圖(PID控制)[/align]
5 小結(jié)
工控機(jī)運(yùn)用組態(tài)王與PLC進(jìn)行通訊,具有實(shí)時(shí)性好、速度快、可靠性高、運(yùn)行穩(wěn)定、調(diào)節(jié)靈活等優(yōu)點(diǎn)。系統(tǒng)人機(jī)界面友好而直觀,而且具有一定的靈活性,易于擴(kuò)充。本文結(jié)合恒壓供水系統(tǒng),提出了模糊PID控制算法,采用s7—300PLC編寫了模糊PID程序。利用此算法實(shí)時(shí)設(shè)定P、I、D參數(shù)、PLC利用集成的PID模塊快速輸出控制量,利用組態(tài)王軟件監(jiān)控恒壓供水系統(tǒng)的運(yùn)行情況,并應(yīng)用于實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明該方法在不增加系統(tǒng)任何成本的情況下,實(shí)現(xiàn)了系統(tǒng)的智能控制,具有控制精度高,穩(wěn)定性好的優(yōu)點(diǎn),為智能控制算法在工業(yè)過程控制中的應(yīng)用提供了一個(gè)新思路。
參考文獻(xiàn):
[1].北京亞控科技發(fā)展有限公司.組態(tài)王KINGVIEW 使用手冊[M].北京:2004.
[2].廖常初主編.S7-300/400 PLC應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2005
[3] .易繼凱,侯媛彬.智能控制技術(shù)[M].北京:北京工業(yè)大學(xué)出版社,1999.
[4]. 吳振綱,陳虎.PLC的人機(jī)接口與編程[J].微計(jì)算機(jī)信息,2005,8-1:21-23.
[5]. 秦健,國海東,譚雪峰 基于組態(tài)王的液位PLC控制系統(tǒng)的設(shè)計(jì)[J].吉林化工學(xué)院學(xué)報(bào),2006,23-1:56-58.
基于組態(tài)王和PLC的模糊PID水壓控制研究