韓 亮
(山西機(jī)電職業(yè)技術(shù)學(xué)院電子電氣工程系,山西 長治 046011)
PLC在閉環(huán)控制系統(tǒng)中計(jì)算偏差信號(hào)的方法
韓 亮
(山西機(jī)電職業(yè)技術(shù)學(xué)院電子電氣工程系,山西 長治 046011)
閉環(huán)控制系統(tǒng)中,控制器將給定信號(hào)與反饋信號(hào)進(jìn)行比較后得到偏差信號(hào),再將偏差按照一定的控制規(guī)律進(jìn)行運(yùn)算,實(shí)現(xiàn)對(duì)過程參數(shù)的自動(dòng)控制。針對(duì)模擬式控制器,需要硬件電路轉(zhuǎn)換屬于不同量綱的給定與反饋才能計(jì)算偏差的特點(diǎn),提出一種不需要轉(zhuǎn)換電路,通過PLC的軟件設(shè)計(jì),直接計(jì)算偏差信號(hào)的方案。重點(diǎn)考慮PLC對(duì)模擬量信號(hào)的滑動(dòng)平均值濾波與縮放處理。實(shí)踐證明,該方案不僅節(jié)省硬件資源,而且增強(qiáng)了抗干擾能力,可廣泛應(yīng)用于工業(yè)閉環(huán)控制系統(tǒng)中。
PLC;模擬量信號(hào);滑動(dòng)平均值濾波;縮放
由于擾動(dòng)的影響,使閉環(huán)控制系統(tǒng)中的被控參數(shù)偏離了給定值,產(chǎn)生了偏差信號(hào)??刂破鲗⑵畎凑找欢ǖ臄?shù)學(xué)關(guān)系轉(zhuǎn)換為控制量,并作用于被控對(duì)象,以校正擾動(dòng)對(duì)控制系統(tǒng)造成的影響。
偏差信號(hào)由給定信號(hào)與反饋信號(hào)進(jìn)行比較后得到。在工業(yè)現(xiàn)場(chǎng),由變送器檢測(cè)被控參數(shù),并將其轉(zhuǎn)換成電信號(hào)作為反饋信號(hào)。給定信號(hào)分為內(nèi)給定和外給定。內(nèi)給定由模擬式控制器內(nèi)部的內(nèi)給定電路直接給定,而外給定是由外部的變送器,或是電位器來給定。[1]
模擬式控制器由輸入電路計(jì)算偏差。[2]控制器的輸入電路接收給定與反饋,當(dāng)二者是同一量綱時(shí)直接相減獲得偏差;如果不是同一量綱(電壓、電流),需要電壓/電流轉(zhuǎn)換器將其轉(zhuǎn)換為同一量綱,再計(jì)算偏差。使用數(shù)字式控制器,可以通過軟件設(shè)計(jì)對(duì)采集到的不同量綱的模擬量信號(hào)進(jìn)行縮放處理,直接計(jì)算偏差,這種方法不需要硬件轉(zhuǎn)換電路,節(jié)省了硬件資源,而且能耗低。
本文給出一種以PLC為數(shù)字式控制器的解決方案。使用2個(gè) PLC的模擬量擴(kuò)展模塊EM235,1塊配置成電壓型的輸入,1塊配置成電流型的輸入。利用PLC的軟件設(shè)計(jì)算法,對(duì)模擬量信號(hào)進(jìn)行縮放處理,將不同量綱的給定與反饋,直接通過CPU計(jì)算出偏差。考慮到EM235進(jìn)行模數(shù)轉(zhuǎn)換時(shí)存在干擾,為提高模數(shù)轉(zhuǎn)換精度,采用滑動(dòng)平均值濾波算法對(duì)EM235的采樣值進(jìn)行濾波處理。
PLC具有極高的可靠性、豐富的擴(kuò)展模塊、豐富的內(nèi)置集成功能等特點(diǎn),在工業(yè)現(xiàn)場(chǎng)有著廣泛的應(yīng)用。PLC除了可以對(duì)數(shù)字量信號(hào)進(jìn)行處理外,還可以通過模擬量擴(kuò)展模塊,對(duì)采集到的模擬量信號(hào)進(jìn)行處理。
選用西門子的S7-226 CPU模塊作為主控制器,EM235作為CPU模擬量擴(kuò)展模塊。S7-226 CPU集成了24輸入/16輸出共40個(gè)數(shù)字量I/O點(diǎn),而且最多可連接7個(gè)擴(kuò)展模塊,具有13 kB程序和數(shù)據(jù)存儲(chǔ)空間。EM235具有4路模擬量輸入,1路模擬量輸出。針對(duì)不同的輸入信號(hào),通過DIP開關(guān),可將EM235設(shè)置為電壓?jiǎn)螛O性輸入、電壓雙極性輸入與電流輸入。EM235是高速12位模擬量輸入模塊,它可直接與變送器相連,在149 μs內(nèi)將模擬量輸入轉(zhuǎn)換成相應(yīng)的數(shù)字值。
工業(yè)現(xiàn)場(chǎng)存在的各種被控參數(shù)(如,溫度、壓力、流量、液位等),通過相應(yīng)的變送器,轉(zhuǎn)變?yōu)殡娏骰螂妷骸M235采集來自變送器的模擬量,并將其轉(zhuǎn)換成數(shù)字量。如果配置EM235的輸入范圍是單極性的,則EM235將模擬量信號(hào)轉(zhuǎn)換為0~32 000的數(shù)字量;如果配置成雙極性的,則將模擬量信號(hào)轉(zhuǎn)換為-32 000~+32 000的數(shù)字量。
由于控制現(xiàn)場(chǎng)存在諸多干擾因素,使EM235轉(zhuǎn)換出的數(shù)字量明顯偏離了真值,信號(hào)的模數(shù)轉(zhuǎn)換存在較大誤差。為此,采用數(shù)字濾波算法,對(duì)EM235采集到的模擬量進(jìn)行濾波處理,以提高模數(shù)轉(zhuǎn)換的精度。
PLC常用的數(shù)字濾波算法是平均值計(jì)算法[3],即對(duì)EM235采樣得到的N個(gè)數(shù)字量求加權(quán)平均值,此平均值作為EM235轉(zhuǎn)換的最終結(jié)果。基本的平均值算法有算術(shù)平均值法、滑動(dòng)平均值法和抗干擾平均值法。[4]
算術(shù)平均值法是利用EM235對(duì)模擬量信號(hào)采樣N次,然后對(duì)N次模數(shù)轉(zhuǎn)換得到的數(shù)字量求平均值,該值作為EM235模數(shù)轉(zhuǎn)換的最終結(jié)果。該算法實(shí)現(xiàn)簡(jiǎn)單,適用于被控參數(shù)在某一值附近上下波動(dòng),且波動(dòng)幅度不大的情況,但缺點(diǎn)是響應(yīng)速度慢,每得到1次模數(shù)轉(zhuǎn)換的結(jié)果,需要等待N次模擬量采樣結(jié)束??垢蓴_平均值法與算術(shù)平均值法類似,只是將N次采樣到的模擬量轉(zhuǎn)換為數(shù)字量后,舍去最大值與最小值,然后對(duì)剩余的(N-2)個(gè)數(shù)字量求平均值。這在一定程度上提高了模數(shù)轉(zhuǎn)換精度,但是仍然存在實(shí)時(shí)性不高的問題。
滑動(dòng)平均值濾波法與算術(shù)平均值法相比,每采樣1次模擬量信號(hào),即可計(jì)算出本次模數(shù)轉(zhuǎn)換的最終結(jié)果,是實(shí)時(shí)性較好的數(shù)字濾波算法。在PLC的V存儲(chǔ)區(qū)開辟一數(shù)據(jù)隊(duì)列,數(shù)據(jù)隊(duì)列的長度固定為N。如果是第一次采樣,則將該采樣值賦值給存儲(chǔ)區(qū)內(nèi)的所有隊(duì)列變量。然后每進(jìn)行1次新的采樣,就將存儲(chǔ)區(qū)隊(duì)列中除了隊(duì)首的(N-1)個(gè)數(shù)據(jù)依次向前移位,把最新采樣的結(jié)果存放在存儲(chǔ)區(qū)隊(duì)列的末尾,將原來位于隊(duì)首的采樣結(jié)果擠出存儲(chǔ)區(qū)。此時(shí),產(chǎn)生了一新的數(shù)據(jù)隊(duì)列,將此隊(duì)列中的N個(gè)數(shù)據(jù)進(jìn)行算術(shù)平均計(jì)算,就可得到最新的模數(shù)轉(zhuǎn)換結(jié)果。[5]EM235每采樣1次,數(shù)據(jù)隊(duì)列便隨之更新,并且隊(duì)列中保留了最新的采樣結(jié)果。經(jīng)過濾波后,可有效降低干擾所產(chǎn)生的誤差,提高模數(shù)轉(zhuǎn)換的精度?;瑒?dòng)平均值濾波算法程序流圖如圖1所示。
圖1 滑動(dòng)平均值濾波算法程序流圖
給定信號(hào)反映了被控參數(shù)的期望值,反饋信號(hào)反映了變送器檢測(cè)被控參數(shù)的實(shí)際值。當(dāng)給定與反饋屬于不同量綱時(shí),通過PLC對(duì)模擬量信號(hào)進(jìn)行縮放處理,縮放處理后得到的數(shù)字量通過CPU直接相減得出偏差信號(hào)。
為得出縮放公式,首先設(shè)置以下變量,設(shè)Ov為縮放后的數(shù)字量輸出值;Iv為模擬量輸入值;Osh、Osl分別為縮放后輸出的數(shù)字量高限值與低限值;Ish、Isl分別為輸入的模擬量高限值與低限值。當(dāng)EM235采集到模擬量信號(hào)后,可根據(jù)Ov=[(Osh-Osl)(Iv-Isl)/(Ish-Isl)]+Osl縮放公式對(duì)模擬量信號(hào)進(jìn)行縮放處理:
使用2塊EM235模塊。將第一塊配置成電壓?jiǎn)螛O性輸入,采集來自變送器的0~10 V模擬量信號(hào),EM235將其按線性比例關(guān)系轉(zhuǎn)換為0~32 000的數(shù)字量。該數(shù)字量作為閉環(huán)控制系統(tǒng)的給定信號(hào),不作縮放處理,直接送入V存儲(chǔ)區(qū)。將第二塊配置成電流輸入,采集來自變送器的4~20 mA模擬量信號(hào),EM235將其按線性比例關(guān)系轉(zhuǎn)換為64 00~32 000的數(shù)字量。該數(shù)字量需要PLC對(duì)其進(jìn)行縮放處理后,才能作為閉環(huán)控制系統(tǒng)的反饋信號(hào)。
主程序由子程序SBR_0和子程序SBR_1組成。使用首次掃描時(shí)為1的特殊存儲(chǔ)器字節(jié)的狀態(tài)位SM0.1調(diào)用子程序SBR_0。SBR_0用于數(shù)據(jù)初始化。設(shè)置VD1=32 000、VD4=0,用來存放縮放后輸出的數(shù)字量高限值與低限值(Osh、Osl);設(shè)置 VD8=32 000、VD12=6 400,用來存放模擬量輸入的高限值與低限值(Ish、Isl)。
子程序SBR_1用于計(jì)算偏差。電壓信號(hào)由EM235轉(zhuǎn)換成數(shù)字量后存入AIW0,然后轉(zhuǎn)換為雙字類型送入V存儲(chǔ)區(qū)作為給定值;而電流信號(hào)由EM235采集后存入AIW6,將其轉(zhuǎn)換為雙字類型后送入V存儲(chǔ)區(qū),然后通過縮放公式計(jì)算出縮放后的數(shù)字量輸出值 Ov??s放處理后,4~20 mA的模擬量對(duì)應(yīng)的數(shù)字量不再是6 400~32 000,而是同比例縮放的數(shù)字量0~32 000。此時(shí),將Ov作為反饋值,可直接與給定值相比較計(jì)算出偏差。得到的偏差信號(hào)是數(shù)字量,通過PLC按照預(yù)先設(shè)置的算法對(duì)偏差進(jìn)行數(shù)學(xué)運(yùn)算,可以校正擾動(dòng)對(duì)控制系統(tǒng)造成的影響,PLC的程序流程圖如圖2所示。
圖2 PLC的程序流程圖
針對(duì)模擬式控制器,需要硬件電路轉(zhuǎn)換屬于不同量綱的給定與反饋才能計(jì)算偏差的特點(diǎn),提出一種不需要轉(zhuǎn)換電路,通過PLC在軟件中對(duì)采集到的模擬量進(jìn)行縮放處理,直接計(jì)算出偏差的方案。為減小模數(shù)轉(zhuǎn)換的誤差,提高模數(shù)轉(zhuǎn)換的實(shí)時(shí)性,采用PLC對(duì)模擬量信號(hào)的滑動(dòng)平均值濾波處理。實(shí)踐證明,該方法不僅節(jié)省了硬件資源,而且降低了信號(hào)采集過程中的干擾因素,可廣泛應(yīng)用于工業(yè)閉環(huán)控制系統(tǒng)當(dāng)中。
[1]丁煒,曹秀敏,荊珂,等.過程控制儀表與裝置[M].北京:電子工業(yè)出版社,2011:59-68.
[2]吳勤勤.控制儀表及裝置[M].北京:化學(xué)工業(yè)出版社,2010:20-22.
[3]任克強(qiáng),劉暉.微機(jī)控制系統(tǒng)的數(shù)字濾波算法[J].現(xiàn)代電子技術(shù),2003(3):15 -18.
[4]鄭濤,石秀華,許暉.數(shù)字濾波新方法嘗試與驗(yàn)證[J].測(cè)控技術(shù),2004,23(4):19 -20.
[5]楊克遠(yuǎn),周麗佩,趙越,等.一種改進(jìn)的數(shù)字濾波方法[J].大慶石油學(xué)院學(xué)報(bào),2003,27(2):45 -46.
The Calculation Method of Deviation Signal for Closed-loop Control System Based on PLC
HAN Liang
(Department of Electronic and Electrical Engineering,Shanxi Institute of Mechanical and Electrical Engineering,Changzhi 046011)
In the closed-loop control system,reference signal and feedback signal are compared by the controller to generate deviation signal,and then the deviation is calculated according to the control law to realize the automatic control of the process parameters.When the reference signal and feedback signal belong to different dimensions,the analog controller needs the hardwired connection as a converter to calculate the deviation.This paper proposes a method directly calculating the deviation signals by designing PLC software rather than relying on a converter.The moving average filtering and scaling of analog signals are particularly elaborated upon.Practice shows that the method can save hardware resources,improve the capacity of resisting disturbance,and thus be widely applicable in industrial control system.
PLC;analog signal;moving average filtering;scaling
TP274+.2
A
1671-0436(2012)06-0021-03
2012-12-05
韓亮(1981— ),男,碩士,助教。
責(zé)任編輯:張秀蘭