技術(shù)頻道

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

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

時(shí)間:2008-10-16 11:04:00來(lái)源:ronggang

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

標(biāo)簽:

點(diǎn)贊

分享到:

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

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

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

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

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

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

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

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