王 捷 艾 紅
(1.北方工業(yè)大學(xué)電氣與控制工程學(xué)院,北京 100144;2.北京信息科技大學(xué)自動(dòng)化學(xué)院,北京 100192)
基于語(yǔ)句表和Profibus的水箱液位與進(jìn)水口流量串級(jí)控制系統(tǒng)
王 捷1艾 紅2
(1.北方工業(yè)大學(xué)電氣與控制工程學(xué)院,北京 100144;2.北京信息科技大學(xué)自動(dòng)化學(xué)院,北京 100192)
提出一種基于語(yǔ)句表和Profibus的水箱液位與進(jìn)水口流量串級(jí)控制方案。給出系統(tǒng)組成和設(shè)備硬件組態(tài),說(shuō)明使用符號(hào)地址訪問(wèn)數(shù)據(jù)塊中數(shù)據(jù)的方法。闡述了PID功能塊FB41的使用方法和主要參數(shù)說(shuō)明,給出了語(yǔ)句表主要程序段。相關(guān)測(cè)試結(jié)果表明:該系統(tǒng)響應(yīng)速度快,超調(diào)量小。
串級(jí)控制系統(tǒng) 水箱液位 進(jìn)水口流量 語(yǔ)句表 Profibus 符號(hào)表
Profibus是一種面向現(xiàn)場(chǎng)級(jí)和車間級(jí)的數(shù)字化通信總線標(biāo)準(zhǔn),可實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備層到車間級(jí)監(jiān)控的分散式數(shù)字控制和現(xiàn)場(chǎng)通信網(wǎng)絡(luò)[1~3],為實(shí)現(xiàn)工廠綜合自動(dòng)化和現(xiàn)場(chǎng)設(shè)備智能化提供了可行的解決方案[4]。
早期的液位控制系統(tǒng)采用模擬信號(hào)控制,這在系統(tǒng)比較簡(jiǎn)單時(shí)是一種可接受的方案。但是當(dāng)系統(tǒng)較復(fù)雜時(shí)則會(huì)在控制系統(tǒng)性能、集中管理、成本、可靠性及維護(hù)方便性等方面受到諸多限制。而使用Profibus設(shè)計(jì)液位控制系統(tǒng)可以在以上各方面取得平衡。
在此,筆者以液位控制系統(tǒng)為例,提出一種基于語(yǔ)句表(Statement List,STL)和Profibus的水箱液位與進(jìn)水口流量串級(jí)控制方案。
基于Profibus的液位控制系統(tǒng)組成如圖1所示。
系統(tǒng)以S7-300 CPU315-2DP為主控制器,配備了具有Profibus接口的液位、壓力、流量檢測(cè)、閥門定位器及變頻器等設(shè)備。系統(tǒng)所有控制信號(hào)之間的通信均由Profibus總線實(shí)現(xiàn)。系統(tǒng)使用Profibus-DP取代24V(DC)或4~20mA信號(hào)傳輸。Profibus-PA可使傳感器和執(zhí)行機(jī)構(gòu)連在一根總線上,因此在Profibus-PA總線上連接有壓力變送器、溫度變送器、電磁流量計(jì)和閥門定位器。
圖1 基于Profibus的液位控制系統(tǒng)組成
硬件組態(tài)的主要工作是利用Step7將控制系統(tǒng)的硬件進(jìn)行相應(yīng)配置,并在配置時(shí)對(duì)模塊參數(shù)進(jìn)行設(shè)定。創(chuàng)建:雙擊Hardware,添加軌道Rail,在右側(cè)SIMERTIC 300中找到RACK-300;雙擊Rail,點(diǎn)擊插槽1,在右側(cè)找到SIMERTIC 300中的PS-300;雙擊PS 307 5A,點(diǎn)擊插槽2,在右側(cè)找到SIMERTIC 300中的CPU 315-2 DP。加入Profibus-DP線:在彈出的對(duì)話框中選擇New,Subnet中將出現(xiàn)Profibus(1),選擇1.5Mbit/s。在插槽4中添加CP 343-1,在彈出的對(duì)話框中修改其IP address。建立以太網(wǎng)通信:雙擊CP 343-1查看屬性,若Networked為No則表示沒(méi)有以太網(wǎng)通信,點(diǎn)擊Properties進(jìn)行屬性修改,點(diǎn)擊New新建一個(gè)以太網(wǎng)連接,此時(shí)Subnet中出現(xiàn)Ethernet(1);若Networked為Yes則表示已建立了以太網(wǎng)通信。液位控制系統(tǒng)硬件組態(tài)如圖2所示。
圖2 液位控制系統(tǒng)硬件組態(tài)
3.1用戶程序模塊
數(shù)據(jù)塊(Data Block,DB)、組織塊(Organization Block,OB)、功能塊(Function Block,FB)、系統(tǒng)功能塊(System Function Block,SFB)、功能(Function,FC)和系統(tǒng)功能(System Function,SFC)都包含部分程序,如果要加入某種模塊,可在右邊窗口(即出現(xiàn)OB1的窗口)空白處單擊鼠標(biāo)右鍵選擇Insert New Object,然后在下拉菜單中單擊所需模塊即可。
3.2組織塊OB35
S7-300 PLC啟動(dòng)成功后,操作系統(tǒng)將循環(huán)執(zhí)行組織塊OB1。在OB1中可以調(diào)用FB、SFB、FC及SFC等用戶程序并使它們循環(huán)執(zhí)行。OB1默認(rèn)掃描監(jiān)控時(shí)間150ms。OB35是循環(huán)中斷組織塊,循環(huán)中斷的間隔時(shí)間在CPU屬性中設(shè)定。OB35默認(rèn)的循環(huán)中斷間隔時(shí)間100ms(定時(shí)范圍1~60 000ms),用戶可根據(jù)實(shí)際需要進(jìn)行修改。如果OB35的中斷時(shí)間為100ms,而OB35中的執(zhí)行程序時(shí)間為150ms,則會(huì)出現(xiàn)程序未運(yùn)行完畢,系統(tǒng)就發(fā)出第二次中斷,因此設(shè)置的中斷時(shí)間應(yīng)大于OB35中程序執(zhí)行的時(shí)間[5]。
3.3DB
DB分為共享數(shù)據(jù)塊(又稱全局?jǐn)?shù)據(jù)塊)和背景數(shù)據(jù)塊,是系統(tǒng)數(shù)據(jù)的存儲(chǔ)區(qū)域。在共享數(shù)據(jù)塊和全局符號(hào)表中聲明的變量都是全局變量。背景數(shù)據(jù)塊是專門指定給某個(gè)功能塊或者系統(tǒng)功能塊使用的數(shù)據(jù)塊,是FB或SFB運(yùn)行時(shí)的工作存儲(chǔ)區(qū)。當(dāng)用戶將DB與某一個(gè)功能塊相連時(shí),該DB即成為該功能塊的背景數(shù)據(jù)塊。用戶不能直接修改背景數(shù)據(jù)塊,只能通過(guò)對(duì)應(yīng)功能塊的變量聲明表來(lái)修改。訪問(wèn)數(shù)據(jù)塊中的數(shù)據(jù)時(shí)可以使用絕對(duì)地址也可以使用符號(hào)地址。數(shù)據(jù)塊中存儲(chǔ)單元的地址由兩部分組成:如DB1.DBX20.0,DB1表示數(shù)據(jù)塊的名稱,DBX20.0表示數(shù)據(jù)塊第20Byte的第0位;DB41.DBD72表示DB41數(shù)據(jù)塊的第72Byte開(kāi)始取雙字。
3.4符號(hào)表
在Step7程序中,可以訪問(wèn)使用地址,如I/O信號(hào)、位內(nèi)存、定時(shí)器、數(shù)據(jù)塊和功能塊;也可以訪問(wèn)符號(hào)地址,程序?qū)⒏菀组喿x。如在OB35編程時(shí)通過(guò)符號(hào)bzxs就可以知道,其要訪問(wèn)的相應(yīng)地址是比值系數(shù)。從符號(hào)表(表1)的內(nèi)容中可以看到,符號(hào)qkxs1的地址是MD28,表示位內(nèi)存地址從28開(kāi)始的一個(gè)DWORD雙字大小的內(nèi)存單元;CONT_C表示使用PID功能塊FB41。因此,使用符號(hào)地址更容易識(shí)別程序中的元素。
表1 符號(hào)表
(續(xù)表1)
Step7支持多種編程模式,如梯形圖、功能塊圖、順序功能圖、結(jié)構(gòu)化控制語(yǔ)言及STL等。
4.1STL
STL的每條語(yǔ)句都對(duì)應(yīng)CPU處理程序中的一步;多條語(yǔ)句可組成一個(gè)程序段,實(shí)現(xiàn)某些不能用梯形圖或功能塊圖表示的功能。用助記符L和T表示數(shù)據(jù)的裝入和傳送,裝入指令和傳送指令必須通過(guò)累加器進(jìn)行數(shù)據(jù)交換。L <地址>裝入指令,將原尋址單元中的內(nèi)容裝入累加器1中,累加器1再將原數(shù)據(jù)裝入累加器2。T <地址>傳送指令,將累加器1的內(nèi)容寫入目的地址存儲(chǔ)區(qū)中,而累加器1的內(nèi)容保持不變。數(shù)據(jù)長(zhǎng)度小于32位時(shí),數(shù)據(jù)在累加器中右對(duì)齊即低位對(duì)齊,其余各位補(bǔ)0。STL形式的條件跳轉(zhuǎn)指令是以運(yùn)算結(jié)果RLO的值或狀態(tài)字標(biāo)志位的狀態(tài)為跳轉(zhuǎn)條件的。
4.2PID功能塊FB41
功能塊FB41是連續(xù)PID模塊,其測(cè)量數(shù)據(jù)可以存放在數(shù)據(jù)塊DB43中。在符號(hào)表中將符號(hào)CONT_C分配給FB41。
設(shè)定值以浮點(diǎn)數(shù)格式在SP_INT處輸入。過(guò)程變量即反饋值可以用兩種方法輸入:一種是用PV_IN輸入浮點(diǎn)數(shù)格式的過(guò)程變量,這時(shí)控制輸入過(guò)程變量的開(kāi)關(guān)量PVPER_ON應(yīng)為0;另一種是從外設(shè)直接輸入過(guò)程變量到PV_PER,CRP_IN功能將從外設(shè)來(lái)的模擬量輸入模塊的采樣值PV_PER轉(zhuǎn)換成-100%~100%之間的浮點(diǎn)數(shù)格式,此時(shí)控制I/O輸入過(guò)程變量的開(kāi)關(guān)量PVPER_ON應(yīng)置為1,模擬量輸入模塊采樣值的最大值為27 648。CRP_IN功能根據(jù)CRP_IN的輸出=PV_PER×100/27648,將PV_PER轉(zhuǎn)換為-100%~100%之間的浮點(diǎn)數(shù)格式。PV_NORM功能根據(jù)PV_NORM的輸出=(CRP_IN的輸出)×PV_FAC+PV_OFF使CRP_IN的輸出規(guī)格化。
功能LMNLIMT用于對(duì)控制器的輸出值限幅。當(dāng)超過(guò)控制器的輸出值上限LMN_HLM時(shí),信號(hào)位QLMN_HLM(輸出超過(guò)上限)為“1”狀態(tài);低于下限值LMN_LLM時(shí),信號(hào)位QLMN_LLM(輸出低于下限)變?yōu)椤?”狀態(tài)。功能LMN_NORM根據(jù)LMN=LMNLIMIT的輸出×LMN_FAC+LMN_OFF,將限幅后的LMNLIMIT的輸出進(jìn)行格式化后輸出LMN(浮點(diǎn)數(shù)格式的控制器輸出量)。LMN_FAC和LMN_OFF可以調(diào)節(jié)控制器輸出量的范圍[6]。功能CRP_OUT將浮點(diǎn)數(shù)格式的輸出值LMN根據(jù)公式LMN_PER=LMN×100/27648轉(zhuǎn)換成能直接輸出到外設(shè)的值,即直接輸出給模擬量輸出模塊。
4.3水箱液位與進(jìn)水口流量串級(jí)控制STL
系統(tǒng)由主、副兩個(gè)回路組成。主被控變量為水箱的液位高度H;副被控變量是氣動(dòng)調(diào)節(jié)閥支路流量Q,它是一個(gè)輔助的控制變量。由于管道的時(shí)間常數(shù)小于水箱的時(shí)間常數(shù),因而當(dāng)主擾動(dòng)作用于副回路時(shí),通過(guò)副回路的快速調(diào)節(jié)作用可以消除擾動(dòng)影響。程序設(shè)計(jì)主要涉及3路信號(hào),其中兩路是現(xiàn)場(chǎng)測(cè)量信號(hào),即水箱液位和管道流量;另外一路是控制閥門定位器的控制信號(hào)。水箱液位與進(jìn)水口流量串級(jí)控制的主要程序如下:
sy10:L 5.000000e+000//將5.000000e+000送累加器1
T PQD 296//將累加器1的值送調(diào)節(jié)閥參數(shù)接口
CALL"CONT_C",DB41//連續(xù)調(diào)用PID控制器FB41,背景數(shù)據(jù)塊是DB41
COM_RST:=
MAN_ON:=FALSE//設(shè)置PID控制器為“自動(dòng)控制”模式
PVPER_ON:=TRUE//外設(shè)直接輸入過(guò)程變量到PV_PER
…
PV_PER:=PIW272//將水箱壓力賦給PV_PER
…
NOP 0
L PID 326//取進(jìn)水口流量測(cè)量值到累加器1中
L 2.778000e+002//將2.778000e+002送到累加器1
*R//進(jìn)水口流量測(cè)量值×2.778000e+002
T DB42.DBD 10//流量測(cè)量值×2.778000e+002并送到PV_IN
CALL"CONT_C",DB42//調(diào)用PID模塊FB41,使用背景數(shù)據(jù)塊DB42
…
PVPER_ON:=FALSE//PV_IN輸入浮點(diǎn)數(shù)格式的過(guò)程變量
…
SP_INT:=DB41.DBD72//DB41的控制器輸出值LMN送給內(nèi)部設(shè)定值SP_INT
…
水箱液位與進(jìn)水口流量串級(jí)控制程序中,通過(guò)連續(xù)PID控制器FB41分別調(diào)用了3個(gè)背景數(shù)據(jù)模塊DB41、DB42和DB43,其中DB41是主回路控制數(shù)據(jù)塊,DB42是副回路控制數(shù)據(jù)塊,DB43是變頻器控制數(shù)據(jù)塊。
主回路測(cè)量值來(lái)自水箱,此時(shí)主回路對(duì)應(yīng)的控制輸入過(guò)程變量的開(kāi)關(guān)量PVPER_ON應(yīng)為1,表示外設(shè)直接輸入過(guò)程變量到PV_PER。副回路流量測(cè)量值經(jīng)過(guò)一定運(yùn)算后送到PV_IN,此時(shí)控制輸入過(guò)程變量的開(kāi)關(guān)量PVPER_ON應(yīng)為0,表示副回路的PV_IN輸入浮點(diǎn)數(shù)格式的過(guò)程變量。根據(jù)串級(jí)控制規(guī)律,將主調(diào)節(jié)器的輸出作為副調(diào)節(jié)器的給定值,即DB42的設(shè)定值信號(hào)來(lái)自DB41的控制器輸出LMN,以實(shí)現(xiàn)主回路輸出傳送到副回路的給定[7]。
系統(tǒng)的主調(diào)節(jié)器選擇PI或PID控制,要求水箱液位穩(wěn)定在15mm,電磁閥支路上的手動(dòng)開(kāi)關(guān)放在30°,打開(kāi)電磁閥,加入階躍干擾。觀察水箱液位過(guò)渡過(guò)程,以響應(yīng)快和超調(diào)量小為控制目標(biāo)。水箱液位與流量的測(cè)量顯示界面如圖3所示。
圖3 水箱液位和流量顯示界面
筆者提出的基于STL和Profibus的水箱液位與進(jìn)水口流量串級(jí)控制系統(tǒng)以S7-300 PLC為控制器,應(yīng)用Step7的STL進(jìn)行編程,實(shí)現(xiàn)了數(shù)據(jù)采集、記錄、存儲(chǔ)、通信和數(shù)據(jù)狀態(tài)監(jiān)視。在雙容水箱裝置上進(jìn)行了水箱液位與進(jìn)水口流量串級(jí)控制測(cè)試,不同工況條件下(如改變水箱容積及施加不同外加干擾等)的多次測(cè)試結(jié)果表明:該系統(tǒng)響應(yīng)速度快,超調(diào)量小,實(shí)現(xiàn)了水箱液位與進(jìn)水口流量串級(jí)控制和界面顯示。
[1] 王佳,郝點(diǎn),袁金寧.煉廠催化車間離心空壓機(jī)噪聲測(cè)試研究[J].化工機(jī)械,2012,39(2):146~149.
[2] 寧金龍,楊海燕.ProfibusDP通信技術(shù)在DCS中的應(yīng)用[J].石油化工自動(dòng)化,2015,51(2):59~60.
[3] 任振寰.Profibus-PA總線在工程應(yīng)用中的探究[J].石油化工自動(dòng)化,2015,51(6): 14~16.
[4] 姜建芳.西門子S7-300/400 PLC工程應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2012.
[5] 馬秀坤,史運(yùn)濤,馬學(xué)軍.S7-200 PLC控制原理及工程應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2012:224~263.
[6] 黃婷婷.基于ProfiBus的過(guò)程控制系統(tǒng)的軟硬件組態(tài)[J].現(xiàn)代電子技術(shù),2014,37(1):160~162.
[7] 張素文,賀凱歌.基于Profibus-DP的PLC與交流變頻器通訊的實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2008,21(5):58~59.
CascadeControlSystemforWaterTankLevelandInletFlowBasedonStatementListandProfibus
WANG Jie1, AI Hong2
(1.CollegeofElectricalandControlEngineering,NorthChinaUniversityofTechnology,Beijing100144,China;2.CollegeofAutomation,BeijingInformationScience&TechnologyUniversity,Beijing100192,China)
A statement list and Profibus-based cascade control system for both water tank level and inlet flow was proposed; and the system composition and its hardware configuration were presented, including the method of using symbolic address to access the data in a data block, FB41 PID function block’s application and description of main parameters as well as the main segment of statement table STL. Testing results show that this system has fast response speed and smaller overshoot.
cascade control system, water tank level, inlet flow, statement list, Profibus, symbol table
TH862
A
1000-3932(2016)03-0285-05
2016-01-12(修改稿)