技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > WinCC中數(shù)據(jù)濾波算法的優(yōu)化與實現(xiàn)

WinCC中數(shù)據(jù)濾波算法的優(yōu)化與實現(xiàn)

時間:2008-10-16 11:04:00來源:ronggang

導(dǎo)語:?由WinCC、可編程控制器及相應(yīng)傳感器組成自動化控制系統(tǒng)中,可利用上位機對現(xiàn)場采集的數(shù)據(jù)進(jìn)行濾波的優(yōu)化與實現(xiàn)。并介紹了將數(shù)據(jù)處理方法嵌入WinCC環(huán)境中的多種實施方案
摘 要:由WinCC、可編程控制器及相應(yīng)傳感器組成自動化控制系統(tǒng)中,可利用上位機對現(xiàn)場采集的數(shù)據(jù)進(jìn)行濾波的優(yōu)化與實現(xiàn)。并介紹了將數(shù)據(jù)處理方法嵌入WinCC環(huán)境中的多種實施方案。 關(guān)鍵詞:WinCC PLC 人機界面 數(shù)據(jù)濾波 Abstract:Computer can be used to optimize and realize filtering algorithm in automation system consist of WinCC PLC and sensor. This paper introduces some methods to optimize and realize filtering algorithm in WinCC. Key Words:WinCC PLC HMI Filtering Algorithm for Data 1 引言   隨著工業(yè)自動化程度的日益提高,人機界面 (Human Machine Interface, HMI)技術(shù)在工業(yè)生產(chǎn)中應(yīng)用的越來越普及。組態(tài)軟件的出現(xiàn)使得利用計算機可以更加高效地對現(xiàn)場數(shù)據(jù)進(jìn)行處理,從而實現(xiàn)工業(yè)現(xiàn)場的優(yōu)化控制。其中德國Siemens公司的Windows Control Center (簡稱WinCC)以其良好的操作性和強大的功能而著稱,在工業(yè)領(lǐng)域得到了廣泛應(yīng)用。 [align=center] 圖1 系統(tǒng)總體結(jié)構(gòu)[/align]   某鋼廠高爐除塵控制系統(tǒng)采用西門子公司的WinCC、PLC以及網(wǎng)絡(luò)技術(shù),來代替?zhèn)鹘y(tǒng)的繼電器、接觸器組成的傳統(tǒng)的控制電路。該控制系統(tǒng)不僅提高了高爐除塵系統(tǒng)的工作質(zhì)量,延長了電氣設(shè)備的有效運行周期,降低了故障率,而且大大縮短了故障維修時間,降低了生產(chǎn)成本和崗位操作工的勞動強度,優(yōu)化了整個生產(chǎn)管理過程。   為充分利用計算機的強大處理能力,提高PLC的效率,在控制系統(tǒng)的軟件設(shè)計中,將大量的數(shù)據(jù)處理放置在IPC中進(jìn)行,在WinCC中實現(xiàn)了濾波算法的多種優(yōu)化計算,提高了設(shè)備利用率和系統(tǒng)運行速度。 2 系統(tǒng)構(gòu)成   系統(tǒng)的總體設(shè)計框圖如圖1所示。采用西門子公司的S7-300型PLC構(gòu)成現(xiàn)場控制級控制器,實現(xiàn)對所有現(xiàn)場模擬信號和數(shù)字信號的采集,同時控制現(xiàn)場電氣設(shè)備的運行,保證現(xiàn)場設(shè)備運行的穩(wěn)定性和控制精度;上下位機通過Profibus-DP總線進(jìn)行通信連接,WinCC安裝在IPC上,經(jīng)由通訊卡CP5611連接Profibus-DP總線采集數(shù)據(jù),并進(jìn)行計算處理,操作人員可以通過組態(tài)軟件的圖形界面直觀地了解設(shè)備的運行狀態(tài)、掌握重要參數(shù)的實時和歷史數(shù)據(jù)、所有報警點的參數(shù)等信息,同時通過WinCC可以對系統(tǒng)的運行參數(shù)實現(xiàn)實時檢測和在線干預(yù)。 3 WinCC中典型數(shù)據(jù)濾波處理的優(yōu)化實現(xiàn)   3.1WinCC的C腳本   鋼鐵廠工作環(huán)境惡劣,干擾源眾多,除了在硬件系統(tǒng)構(gòu)成上進(jìn)行抗干擾問題外,對采集上來的各類數(shù)據(jù)進(jìn)行必要的濾波處理是必須的。由于高爐除塵系統(tǒng)工藝復(fù)雜,數(shù)據(jù)量大,如在現(xiàn)場及控制器PLC內(nèi)部進(jìn)行現(xiàn)場級數(shù)據(jù)濾波算法的處理,將極大地增加PLC的負(fù)擔(dān)。為降低現(xiàn)場控制級PLC的負(fù)擔(dān),充分利用計算機高速計算的優(yōu)勢,本系統(tǒng)設(shè)計中,包括全部模擬量在內(nèi)的各類過程值數(shù)據(jù)的濾波處理大都被放在了WinCC中完成。   WinCC集成了C腳本功能,其6.0版本進(jìn)一步引進(jìn)了VBS腳本功能。其中C腳本遵守標(biāo)準(zhǔn)C語言規(guī)范,并提供了基于C腳本規(guī)范的系統(tǒng)函數(shù),支持組態(tài)工程師進(jìn)行全開放的自由編程,進(jìn)行深層次的二次開發(fā)。這為在WinCC中引進(jìn)滿足實際需求的各種濾波算法提供了基礎(chǔ)的編輯平臺。   WinCC的全局腳本編輯器(Globe Script)為組態(tài)工程師提供了C腳本開發(fā)環(huán)境。它將函數(shù)分成項目函數(shù)、標(biāo)準(zhǔn)函數(shù)和內(nèi)部函數(shù)三種類型,其中項目函數(shù)是組態(tài)工程師自己開發(fā)的符合C語言規(guī)范的函數(shù),編譯后的項目函數(shù)允許用戶在整個項目內(nèi)像調(diào)用C語言內(nèi)部函數(shù)一樣自由使用;標(biāo)準(zhǔn)函數(shù)是WinCC系統(tǒng)自帶的在C語言基礎(chǔ)上開發(fā)的若干組態(tài)常用函數(shù),允許組態(tài)工程師對之進(jìn)行更改;內(nèi)部函數(shù)是C語言自帶的系統(tǒng)函數(shù),不允許組態(tài)工程師編輯修改。組態(tài)工程師可以在組態(tài)畫面中利用函數(shù),實現(xiàn)各組件的動態(tài)化??梢姡庉嬒鄳?yīng)的項目函數(shù)是實現(xiàn)不同用戶系統(tǒng)獨立功能的一個主要途徑和技術(shù)手段。   此處以風(fēng)機系統(tǒng)軸溫的采集處理為例,說明WinCC中如何利用腳本實現(xiàn)數(shù)據(jù)濾波功能??刂葡到y(tǒng)要求對高壓風(fēng)機軸承溫度實現(xiàn)實時在線觀測、實現(xiàn)上下限報警、進(jìn)行數(shù)據(jù)歸檔、報表打印等功能。   為獲取正確軸承溫度,WinCC在對采集的數(shù)據(jù)進(jìn)行線性標(biāo)定前,必須對PLC采集進(jìn)來的溫度值進(jìn)行濾波,以剔除干擾數(shù)據(jù)。為實現(xiàn)此目的,在系統(tǒng)程序中編寫了濾波算法函數(shù),并利用畫面組態(tài)動態(tài)化和動作腳本兩種方法實現(xiàn)了濾波,分別介紹如下。   在系統(tǒng)硬件構(gòu)成中,現(xiàn)場溫度傳感器,將軸承溫度對應(yīng)的電信號經(jīng)由模擬量輸入模塊(AI)送入PLC,而上位機則通過該PLC網(wǎng)絡(luò)地址和該AI端口地址獲取軸承溫度的對應(yīng)信號值。   為了獲取現(xiàn)場數(shù)據(jù),需要在WinCC中建立與外部設(shè)備對應(yīng)的數(shù)據(jù)通道,這種通道的連接在WinCC是通過定義外部變量的方式實現(xiàn)的。這里定義外部變量gyfj_plc,通過地址賦值,使之與PLC中采集高壓風(fēng)機軸承溫度傳感器信號的AI端口相連。除此之外在WinCC中定義了一個對應(yīng)的內(nèi)部變量gyfj_inner用以存儲濾波后最終的處理結(jié)果。   3.2項目函數(shù)的創(chuàng)建   在利用WinCC提供的Globe Script編輯器創(chuàng)建了新的項目函數(shù)濾波函數(shù)lb( )。   濾波函數(shù)流程如圖2所示,為節(jié)省篇幅,這里采用平滑濾波算法,取6次實時信號求平均作為正確信號。在Globe Script中新建項目函數(shù),保存為lb.fct,在函數(shù)內(nèi)輸入如下腳本:   void lb( char*ID_InName,char*ID_SavetempName)  ?。?   double result,temp;   static double tmp[7];   static int count=0;   int i;   char * name;   count=count+1;   if (count<=6 )  ?。鹴mp[count]=GetTagDouble(ID_InName);   printf("tmp[%d]=%f\n",count,tmp[count]);  ?。?   else  ?。?temp=0;   for (i=1;i<=6;i++)  ?。鹴emp=temp+tmp[i];  ?。?   temp=temp/6;   SetTagDouble(ID_SavetempName,temp);   count=0;  ?。?   } [align=center][b] 圖2 處理方法流程圖[/b][/align]   為使該濾波具有通用性,在函數(shù)名定義部分引入了兩個char類型的形參,用以傳遞將要處理的變量名稱,其中第一個形參ID_InName為濾波前的過程變量名稱,第二個形參為濾波后存儲信號的標(biāo)簽名稱。通過該函數(shù),將受干擾的信號進(jìn)行濾波后,存入新的變量中。   3.3畫面組態(tài)動態(tài)化 [align=center] 圖3 I/O域動態(tài)化實現(xiàn)濾波[/align]   在組態(tài)畫面時,即可通過周期性或非周期性調(diào)用項目函數(shù)lb ( )對準(zhǔn)備進(jìn)行濾波的數(shù)據(jù)通道進(jìn)行濾波保證內(nèi)部變量gyfj_inner存儲為正確的過程信號值。在此利用一I/O域進(jìn)行該函數(shù)的周期性調(diào)用。只需對該I/O域“Output Value”屬性進(jìn)行C-Action動態(tài)化,在彈出的“Edit Action”窗口中正確調(diào)用上面創(chuàng)建的濾波項目函數(shù)lb( )即可,如圖3所示,調(diào)用中依次傳遞了含干擾的過程值變量名稱gyfj_plc和濾除干擾后的過程值存儲變量名稱gyfj_inner。為了實現(xiàn)周期性的自動進(jìn)行濾波處理,只需要設(shè)置C-Action的觸發(fā)條件為符合實際需要的周期即可。   3.4優(yōu)化的WinCC動作腳本   在3.3中所示方法雖可以實現(xiàn)濾波要求,但是只有當(dāng)包含了lb( )函數(shù)動態(tài)化的畫面為當(dāng)前畫面時,才能執(zhí)行濾波函數(shù),如果切換到其它不含有l(wèi)b ( )動態(tài)化的畫面,對應(yīng)通道的數(shù)據(jù)濾波處理將停止。這樣在一些變化比較快的模擬量的顯示采集過程中顯而易見是存在比較大的缺陷的,必須進(jìn)行優(yōu)化。   除了函數(shù)之外,WinCC腳本編輯器還允許用戶編寫一類被稱之為“動作”的腳本,在“動作”腳本中,組態(tài)工程師可以調(diào)用任何函數(shù)或者根據(jù)需要編寫新的處理功能。與函數(shù)功能不同之處在于,函數(shù)功能必須得在組態(tài)畫面中進(jìn)行函數(shù)調(diào)用才能得以實現(xiàn),而“動作”在定義之初即可指定觸發(fā)(即執(zhí)行該腳本)條件,只要WinCC項目被激活,“動作”將一直判斷指定的觸發(fā)是否滿足,只要滿足,即執(zhí)行改“動作”腳本代碼所描述的內(nèi)容,組態(tài)工程師可以以時間(周期)形式或者以變量形式指定觸發(fā)條件。   動作腳本,為取保預(yù)定通道的數(shù)據(jù)處理能夠獨立于畫面運行提供了可能。該方法需建一個新的全局動作,全局動作定義格式如下:   #include "apdefap.h"   int gscAction( void )  ?。?   lb("gyfj_plc","gyfj_inner");   }   選擇時間周期或選擇預(yù)處理通道對應(yīng)外部變量作為的觸發(fā)器,這樣一旦系統(tǒng)激活,函數(shù)體內(nèi)的程序就會周期性執(zhí)行該動作或一旦PLC傳過來的數(shù)據(jù)發(fā)生變化就執(zhí)行動作??梢娫摲椒▽⒉辉僖蕾囉诋嬅娴膭討B(tài)化去進(jìn)行數(shù)據(jù)的處理,對于需進(jìn)行實時處理的數(shù)據(jù),使用動作腳本將會取得更好的效果。   通過以上述方法,可以根據(jù)用戶需要,在IPC端對現(xiàn)場數(shù)據(jù)進(jìn)行包括濾波在內(nèi)的各種復(fù)雜的處理,以得到合理的、準(zhǔn)確的數(shù)據(jù),為其他應(yīng)用提供可靠數(shù)據(jù)源。 4 結(jié)束語   進(jìn)入二十一世紀(jì)后,工業(yè)自動化水平日益提高,人機界面技術(shù)在國內(nèi)外的工業(yè)生產(chǎn)、自動化控制等領(lǐng)域已得以越來越多的認(rèn)可,其中組態(tài)軟件以其開發(fā)周期短、功能強大等特點在業(yè)界得以廣泛的關(guān)注。本文通過實際項目簡述了利用組態(tài)軟件WinCC進(jìn)行數(shù)據(jù)處理的基本思路和優(yōu)化方法,指明了如何利用WinCC后臺強大的腳本功能實現(xiàn)各種數(shù)據(jù)處理算法的一般過程。實踐證明,該方法不僅有效的節(jié)約了系統(tǒng)資源而且能夠?qū)崟r顯示和跟蹤數(shù)據(jù)變化,滿足現(xiàn)場使用的要求。   本文作者創(chuàng)新點:將人機界面引入自控系統(tǒng),實現(xiàn)了良好的人機交互;利用計算機運行速度快、容量大的特點,把包括數(shù)據(jù)濾波的各類復(fù)雜的數(shù)據(jù)處理放在了WinCC中進(jìn)行,提高了設(shè)備利用率,增快了響應(yīng)速度,降低了PLC數(shù)據(jù)處理的開銷。 參考文獻(xiàn)   [1] 王碩禾,萬健如.矩陣電路實現(xiàn)PLC輸出口的擴展[J]《電氣應(yīng)用》,2005(6):51-53   [2] 王碩禾.袋式除塵器計算機控制系統(tǒng)設(shè)計[J]《微計算機信息》,2005(9):77-79   [3]西門子(中國)有限公司自動化與驅(qū)動集團. SIMATIC WinCC V5 基礎(chǔ)手冊[M]. 1997   [4]西門子(中國)有限公司自動化與驅(qū)動集團. SIMATIC WinCC V5 通訊手冊[M]. 1997   [5]西門子(中國)有限公司自動化與驅(qū)動集團. SIMATIC WinCC V5 全局腳本手冊[M]. 1997

標(biāo)簽:

點贊

分享到:

上一篇:基于GPRS的開關(guān)磁阻電機控制...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號