技術頻道

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

WinCC中數據濾波算法的優(yōu)化與實現

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

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

標簽:

點贊

分享到:

上一篇:基于GPRS的開關磁阻電機控制...

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

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

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

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

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

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號