專利名稱::一種分布式控制系統(tǒng)的事件處理方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及工業(yè)自動化控制
技術(shù)領(lǐng)域:
,更具體地說,涉及一種分布式控制系統(tǒng)的事件處理方法及系統(tǒng)。
背景技術(shù):
:目前,DCS(DistributedControlSystem,分布式控制系統(tǒng))已經(jīng)廣泛應(yīng)用于核電、火電、化工等領(lǐng)域,在這些領(lǐng)域中,實時、準(zhǔn)確地上報報警事件能及時通知工作人員趕到現(xiàn)場處理問題、排除隱患,避免安全事故的發(fā)生。同時,詳細(xì)、規(guī)范地記錄各種事件,可以有利于操作員清晰、明了地監(jiān)視系統(tǒng)的運行情況,快速分辨各種事件。諸如此類,不難看出,提供實時、高效、穩(wěn)定、功能完善的事件處理技術(shù)是DCS系統(tǒng)中數(shù)據(jù)和事件實時處理的中心環(huán)節(jié),其所能達(dá)到的技術(shù)指標(biāo)和運行效果對工控現(xiàn)場安全具有舉足輕重的作用。事件處理技術(shù)主要是根據(jù)控制站上傳的現(xiàn)場采集數(shù)據(jù)、算法運算結(jié)果以及工程組態(tài)數(shù)據(jù)來判斷產(chǎn)生的事件類型,比如開關(guān)量的報警或變位、模擬量的限值報警、現(xiàn)場模塊和通道的儀控故障。同時,也將提供事件的存儲、查詢和報警的確認(rèn)等功能。目前國內(nèi)外大多DCS系統(tǒng)都具有事件處理過程,但是其實現(xiàn)機制和達(dá)到的技術(shù)指標(biāo)各不相同。和本發(fā)明比較相近的實現(xiàn)方案如圖1所示,在事件的產(chǎn)生和處理過程中,DCS控制站程序根據(jù)采集到的現(xiàn)場數(shù)據(jù)以及工程組態(tài)數(shù)據(jù),產(chǎn)生相應(yīng)的事件,之后將事件號和變量數(shù)據(jù)發(fā)送給實時DCS服務(wù)器。實時DCS服務(wù)器在接收到事件號之后,調(diào)用事件處理函數(shù)產(chǎn)生并記錄事件,同時響應(yīng)操作員站對事件的訪問和操作??刂普疽獙⒉杉默F(xiàn)場數(shù)據(jù)、算法運算結(jié)果和事件號一起上傳給DCS實時處理任務(wù)。雖然控制站的處理速度很高,但是在控制站上進行事件判斷,無疑降低了其處理效率。同時,事件號的上傳增大了網(wǎng)絡(luò)數(shù)據(jù)包,這必然增加網(wǎng)絡(luò)負(fù)荷、提高通信出錯率。此外,實時處理任務(wù)在接收到上傳數(shù)據(jù)后,一方面要處理變量數(shù)據(jù)并將其更新到數(shù)據(jù)庫中,另一方面要對事件進行處理和存儲等操作。同時,實時處理任務(wù)還要響應(yīng)操作員對實時數(shù)據(jù)和事件等請求。這種將數(shù)據(jù)管理和事件處理合二為一的設(shè)計模式嚴(yán)重影響系統(tǒng)的性能,無法滿足DCS系統(tǒng)對實時處理、穩(wěn)定運行、吞吐高效等性能要求。
發(fā)明內(nèi)容有鑒于此,本發(fā)明實施例提供一種分布式控制系統(tǒng)的事件處理方法及系統(tǒng),以便提高分布式控制系統(tǒng)對于事件處理的效率。本發(fā)明實施例提供一種分布式控制系統(tǒng)的事件處理方法,所述方法包括分布式控制系統(tǒng)DCS服務(wù)器接收控制站上傳的變量數(shù)據(jù);所述DCS服務(wù)器判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件,如果是,則DCS服務(wù)器根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理。優(yōu)選的,所述DCS服務(wù)器在對所述事件進行相應(yīng)處理之后,所述方法還包括所述DCS服務(wù)器存儲對所述事件進行處理時所產(chǎn)生的實時數(shù)據(jù)。優(yōu)選的,所述DCS服務(wù)器判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件,包括所述DCS服務(wù)器比較所述變量數(shù)據(jù)對應(yīng)的當(dāng)前項值與已存儲的項值是否相同,如果否,則確定產(chǎn)生新的事件。優(yōu)選的,所述DCS服務(wù)器根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理,包括所述DCS服務(wù)器獲得當(dāng)前事件對應(yīng)的標(biāo)識信息;所述DCS服務(wù)器根據(jù)所述標(biāo)識信息,獲得預(yù)置的事件處理規(guī)則中對應(yīng)所述標(biāo)識信息的處理規(guī)則;所述DCS服務(wù)器根據(jù)所述處理規(guī)則,對當(dāng)前數(shù)據(jù)進行相應(yīng)處理。優(yōu)選的,所述預(yù)置的事件處理規(guī)則以配置文件的方式進行設(shè)置。優(yōu)選的,所述方法還包括所述DCS服務(wù)器檢測已存儲的實時數(shù)據(jù)中對于同一事件是否存在重復(fù)寫入的數(shù)據(jù),如果是,則將所述重復(fù)寫入的歷史數(shù)據(jù)進行刪除。一種分布式控制系統(tǒng)的事件處理系統(tǒng),所述系統(tǒng)包括DCS服務(wù)器和控制站,所述控制站用于向所述DCS服務(wù)器上傳變量數(shù)據(jù),所述DCS服務(wù)器包括接收模塊,用于接收控制站上傳的變量數(shù)據(jù);判斷模塊,用于判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件;事件處理模塊,用于如果確定產(chǎn)生新的事件,則根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理。優(yōu)選的,所述DCS服務(wù)器還包括實時數(shù)據(jù)存儲模塊,用于在對所述事件進行相應(yīng)處理之后,存儲對所述事件進行處理時所產(chǎn)生的實時數(shù)據(jù)。優(yōu)選的,所述判斷模塊進一步包括當(dāng)前項值獲取子模塊,用于獲取所述變量數(shù)據(jù)對應(yīng)的當(dāng)前項值;比較子模塊,用于通過比較所述當(dāng)前項值與已存儲的項值是否相同,如果否,則確定產(chǎn)生新的事件。優(yōu)選的,所述事件處理模塊進一步包括標(biāo)識信息獲取子模塊,用于獲得當(dāng)前事件對應(yīng)的標(biāo)識信息;規(guī)則獲取子模塊,用于根據(jù)所述標(biāo)識信息,獲得預(yù)置的事件處理規(guī)則中對應(yīng)所述標(biāo)識信息的處理規(guī)則;執(zhí)行處理子模塊,用于根據(jù)所述處理規(guī)則,對當(dāng)前數(shù)據(jù)進行相應(yīng)處理。優(yōu)選的,所述系統(tǒng)還包括檢驗?zāi)K,用于檢測所述已存儲的數(shù)據(jù)中對于同一事件是否存在重復(fù)寫入的數(shù)據(jù);刪除模塊,用于當(dāng)確定存在重復(fù)寫入的數(shù)據(jù)時,將所述重復(fù)寫入的數(shù)據(jù)進行刪除。同現(xiàn)有技術(shù)相比,本發(fā)明提供的技術(shù)方案通過將判斷事件的過程由傳統(tǒng)的控制站中移植到DCS中的上層DCS服務(wù)器中,從而能夠減小控制站上傳的網(wǎng)絡(luò)數(shù)據(jù)包,提高網(wǎng)絡(luò)傳輸?shù)男剩淮送?,DCS服務(wù)器將實時變量數(shù)據(jù)管理和事件處理功能進行合理劃分,能夠達(dá)到降低模塊間耦合、提高系統(tǒng)性能的目的。為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)中的提供的一種DCS系統(tǒng)事件處理示過程示意圖;圖2為本發(fā)明實施例提供的一種DCS的事件處理方法流程示意圖;圖3為本發(fā)明實施例提供的一種事件產(chǎn)生以及事件處理的整體流程示意圖;圖4為本發(fā)明實施例提供的一種DCS系統(tǒng)事件處理系統(tǒng)結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例提供的另一種DCS系統(tǒng)事件處理系統(tǒng)結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例提供的又一種DCS系統(tǒng)事件處理系統(tǒng)結(jié)構(gòu)示意圖。具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍?,F(xiàn)有技術(shù)中所述的事件處理實現(xiàn)流程中,控制站要將采集的現(xiàn)場數(shù)據(jù)、算法運算結(jié)果和事件號一起上傳給DCS實時處理任務(wù)。雖然控制站的處理速度很高,但是在控制站上進行事件判斷,無疑降低了其處理效率。同時,事件號的上傳增大了網(wǎng)絡(luò)數(shù)據(jù)包,這必然增加網(wǎng)絡(luò)負(fù)荷、提高通信出錯率。此外,實時處理任務(wù)在接收到上傳數(shù)據(jù)后,一方面要處理變量數(shù)據(jù)并將其更新到數(shù)據(jù)庫中,另一方面要對事件進行處理和存儲等操作。同時,實時處理任務(wù)還要響應(yīng)操作員對實時數(shù)據(jù)和事件等請求。這種將數(shù)據(jù)管理和事件處理合二為一的設(shè)計模式嚴(yán)重影響系統(tǒng)的性能,無法滿足DCS系統(tǒng)對實時處理、穩(wěn)定運行、吞吐高效等性能要求。為了解決現(xiàn)有技術(shù)中存在的上述缺陷,本發(fā)明將判斷事件的過程移植到上層DCS服務(wù)器處理,這樣可以減小控制站上傳的網(wǎng)絡(luò)數(shù)據(jù)包,提高網(wǎng)絡(luò)傳輸?shù)男?;同時,DCS服務(wù)器將實時變量數(shù)據(jù)管理和事件處理功能合理劃分,以求達(dá)到降低模塊間耦合、提高系統(tǒng)性能的目的。下面首先對本發(fā)明提供的DCS的事件處理方法進行說明,參照圖2所示,為該方法的步驟流程示意圖,主要包括以下步驟步驟201、DCS服務(wù)器接收控制站上傳的變量數(shù)據(jù);本發(fā)明技術(shù)方案中,控制站接收到實時的變量數(shù)據(jù)后,并不進行是否產(chǎn)生新事件的判斷處理,而是將變量數(shù)據(jù)直接發(fā)送至DCS服務(wù)器,這樣,可以大大減小控制站上傳的網(wǎng)絡(luò)數(shù)據(jù)包,提高網(wǎng)絡(luò)傳輸?shù)男?,因此,能夠縮短對變量數(shù)據(jù)進行處理的時間。步驟202、所述DCS服務(wù)器判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件,如果是,則DCS服務(wù)器根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理。可見,根據(jù)實時的變量數(shù)據(jù)判斷是否產(chǎn)生新的事件由DCS服務(wù)器處理,當(dāng)產(chǎn)生新的事件時,服務(wù)器會自動根據(jù)預(yù)置的事件處理規(guī)則,進行正確的事件處理。由于在判斷是否產(chǎn)生新的事件的過程中,需要結(jié)合具體的變量數(shù)據(jù),而實時的變量數(shù)據(jù)正是存儲在DCS服務(wù)器中,因此,可以避免現(xiàn)有技術(shù)中的DCS服務(wù)器同控制站之間的變量數(shù)據(jù)訪問,從而,依據(jù)高內(nèi)聚低耦合的原則,不僅能減少進程間的通信,而且,事件處理效率大大提高。在DCS服務(wù)器在對所述事件進行相應(yīng)處理之后,可以根據(jù)具體應(yīng)用場景需要,由DCS服務(wù)器存儲在所述事件處理過程中產(chǎn)生的歷史數(shù)據(jù),存儲方式可以采用常用的日志形式。同時,DCS服務(wù)器能夠響應(yīng)外界對事件數(shù)據(jù)的查詢請求。本發(fā)明實施例中,DCS服務(wù)器判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件的實現(xiàn)方式為DCS服務(wù)器比較所述變量數(shù)據(jù)對應(yīng)的當(dāng)前項值與已存儲的項值是否相同,如果否,則確定產(chǎn)生新的事件。為了便于系統(tǒng)數(shù)據(jù)管理,通常對系統(tǒng)運行過程中的變量數(shù)據(jù)進行定義,不同變量數(shù)據(jù)屬于不同的變量類型且對應(yīng)不同的項值,不同項值對應(yīng)不同的事件。因此,DCS服務(wù)器接收到控制站上傳的變量數(shù)據(jù)后,能夠根據(jù)變量數(shù)據(jù)獲得其對應(yīng)的當(dāng)前項值,同時比較當(dāng)前項值與已存儲的項值是否相同,如果兩者不同,則可以確定產(chǎn)生了新的事件。此外,DCS服務(wù)器根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理的實現(xiàn)方式可以為DCS服務(wù)器獲得當(dāng)前事件對應(yīng)的標(biāo)識信息;DCS服務(wù)器根據(jù)所述標(biāo)識信息,獲得預(yù)置的事件處理規(guī)則中對應(yīng)所述標(biāo)識信息的處理規(guī)則;DCS服務(wù)器根據(jù)所述處理規(guī)則,對當(dāng)前數(shù)據(jù)進行相應(yīng)處理。這里所述的標(biāo)識信息是為了區(qū)分不同的事件而預(yù)置的,可以有不同的表示方式,例如傳統(tǒng)的事件號,對此,本發(fā)明不做具體限定。通常,對應(yīng)不同的事件,具有不同的事件處理規(guī)則。當(dāng)DCS服務(wù)器獲得事件的標(biāo)識信息之后,便可根據(jù)預(yù)置的事件處理規(guī)則中相應(yīng)該標(biāo)識信息的處理規(guī)則,從而對當(dāng)前事件進行相應(yīng)的處理。本發(fā)明實施例中的事件處理規(guī)則主要采用配置文件的方式,可根據(jù)不用的項目需求編寫配置文件,避免程序的改動。這種方式很好的體現(xiàn)了軟件的平臺性、開放性、擴展性。當(dāng)然,在由DCS服務(wù)器存儲在所述事件處理過程中產(chǎn)生的實時數(shù)據(jù)過程中,為了避免DCS服務(wù)器對同一事件進行重復(fù)的歷史數(shù)據(jù)記錄,可以設(shè)置相應(yīng)的檢測機制,當(dāng)確定存在重復(fù)寫入的歷史數(shù)據(jù)時,將所述重復(fù)寫入的歷史數(shù)據(jù)進行自動刪除,從而避免重復(fù)數(shù)據(jù)對DCS服務(wù)器內(nèi)存資源的浪費。為了便于對本發(fā)明進一步的理解,下面結(jié)合本發(fā)明的具體實施方式對本發(fā)明進行詳細(xì)描述。根據(jù)采集信號的不同,需要設(shè)定不同的變量類型(比如開關(guān)量輸入/輸出類型、模擬量輸入/輸出類型等)。每一種變量類型包含多個項,項也具有多種數(shù)據(jù)類型,比如開關(guān)量的當(dāng)前值項為bool類型、模擬量的當(dāng)前值項為float類型、開關(guān)量的報警項為bool類型、模擬量的報警項為BYTE類型。定義為某一變量類型的變量點可能代表一個現(xiàn)場設(shè)備,該點的某一項可能代表設(shè)備的某個數(shù)字信號或?qū)傩?比如溫度、報警屬性等)。表1給出了AVI4的變量類型以及包含的部分項。表1、AVI4的變量類型<table>tableseeoriginaldocumentpage8</column></row><table>DCS服務(wù)器負(fù)責(zé)接收控制站上傳的變量數(shù)據(jù),將變量數(shù)據(jù)更新到數(shù)據(jù)庫中,同時判斷當(dāng)前變量數(shù)據(jù)對應(yīng)的新項值和已有的原項值是否相同。如果項值發(fā)生了變化,則確定產(chǎn)生新的事件。針對項值類型的不同,判斷事件產(chǎn)生的過程中將參照不同的項名事件表例如B00L類型項名事件表和BYTE類型項名事件表。表2給出了項值類型為B00L的事件示例,此表定義的事件是項值在0和1之間變化的事件。如果DCS服務(wù)器判斷項值是B00L類型,首先在B00L類型項名事件表中查找該項所屬變量點的類型。如果存在,判斷該變量點類型是否配置了此項的事件。如果配置了,則根據(jù)新項值獲得對應(yīng)的事件號。比如DCS服務(wù)器判斷接收到的變量點的類型為DVI2類型、項名為DV且DV值由0->1,對照表2即可以獲得事件號為21(開關(guān)量0->1變位事件);如果DV值由1_>0,對照表1即可以獲得事件號為22(開關(guān)量1_>0變位事件)。如果是DVI2類型的點的項ALM由0->1,對照表2即可以獲得事件號為3(開關(guān)量報警事件);如果ALM值由1->0,對照表2即可以獲得事件號為4(開關(guān)量報警恢復(fù)事件)表2、B00L類型項名事件表示例<table>tableseeoriginaldocumentpage9</column></row><table>表3給出了項值類型為BYTE的事件示例。項的BYTE數(shù)據(jù)中的每一位變化(O和1)都可以代表一類事件。如果實時庫管理任務(wù)判斷項值是BYTE類型,首先在BYTE類型項名事件表中查找是否配置了此項的事件。如果配置了,判斷BYTE數(shù)據(jù)中的哪幾位發(fā)生了變化,然后根據(jù)變化位所對應(yīng)的十六進制數(shù)和變化值(O->1或1->0)獲得事件號。比如項ASS是模擬量報警的狀態(tài)字項,Vall=Oxl表示ASS的最低位發(fā)生變化,當(dāng)最低位由O變?yōu)?時,將觸發(fā)19號事件(模擬量低4限報警);當(dāng)最低位由1變?yōu)镺時,將觸發(fā)20號事件(模擬量低4限報警恢復(fù))。表3、BYTE類型項名事件表示例<table>tableseeoriginaldocumentpage10</column></row><table>BOOL類型項名事件表和BYTE類型項名事件表都以配置文件的形式提供。由于各個項目的變量類型不同,以及每一項的變化所代表的含義不同,因此每一個項目都可以根據(jù)自己的需求對項名事件表進行配置,而不用修改程序代碼。在獲得事件號后,需要在事件定義列表中查找對應(yīng)的事件定義。事件定義列表定義了每一類事件的產(chǎn)生前提條件、事件描述的輸出內(nèi)容及格式、事件進入日志/表格的標(biāo)識以及事件特殊處理標(biāo)識等。事件進入日志/表格的標(biāo)識以及事件特殊處理標(biāo)識是事件處理任務(wù)在處理事件中所用到的。表4列出了開關(guān)量報警事件的定義和開關(guān)量變位事件的定義。其中事件的產(chǎn)生前提條件可以規(guī)定此類事件觸發(fā)的條件范圍。比如開關(guān)量的報警事件在沒有報警級的情況下是不需要產(chǎn)生的,通過判斷這個前提條件,在生成事件的過程中就可以對報警事件起到屏蔽限制作用;事件描述的輸出內(nèi)容和格式是為了使事件的內(nèi)容統(tǒng)一規(guī)范,方便操作員清晰明了地查看事件內(nèi)容。輸出格式包括輸出偏移、輸出長度以及輸出方式。輸出偏移規(guī)定了內(nèi)容在事件描述的第幾位開始輸出,輸出長度規(guī)定了內(nèi)容占多少字節(jié)長度,輸出方式是程序化的,程序中已事先對所有規(guī)定的格式做好了處理;事件進入日志/表格的標(biāo)識可以方便事件處理任務(wù)將該類事件寫入哪類日志和表格的;此處,日志和表格均是用于記錄事件處理過程中產(chǎn)生的數(shù)據(jù)。由于一些事件可能需要特殊處理,所以在事件規(guī)范中加入特殊處理標(biāo)識可以為處理事件提供極大的方便。表4事件定義列表示例<table>tableseeoriginaldocumentpage11</column></row><table>事件定義列表也是以配置文件的形式提供的?,F(xiàn)以表3中的示例說明該表的使用方法。假如當(dāng)獲得了事件號3后,步驟1在事件定義列表中查找事件號為3的事件,將事件號3、變量點名、項名(ALM)以及時間寫入記錄中;步驟2判斷需要處理的數(shù)據(jù)庫項的個數(shù)(ItemNum)是否不為0,如果不為0,逐項處理。首先從數(shù)據(jù)庫中讀取每一項的值,之后根據(jù)輸出格式(OutFormat)進行處理。第一項報警級DAT的輸出偏移和長度都為0,表示該項的內(nèi)容是不需要在事件描述中顯示的。輸出方式26在程序中已經(jīng)做了處理,26輸出方式的處理含義是當(dāng)從數(shù)據(jù)庫讀取的項值為O時自動丟棄此事件。其他項處理類似。第二項KA點名KAPN的輸出偏移為O、輸出長度為32,表示該項的內(nèi)容在事件描述(Format)的第O位開始輸出且占32個字節(jié)的長度。輸出方式8也在程序中做了處理,8輸出方式的處理含義是讀取的項值以字符串的格式輸出;步驟3由于該事件定義了報警級項AlarmLevellName,因此讀取報警級DAT的值,將其寫入事件記錄中;步驟4根據(jù)變量點名從數(shù)據(jù)庫中讀取每一個事件都應(yīng)包括的信息點說明、點類型、工藝系統(tǒng)名、區(qū)域號、站號等。到此就產(chǎn)生了一條完整的事件記錄(事件記錄的格式如表5所示)ο根據(jù)實際需要,可以按照此事件定義的規(guī)范對事件進行拼接、整理,最后得出一條完整的事件信息記錄。表5事件記錄結(jié)構(gòu)<table>tableseeoriginaldocumentpage12</column></row><table>DCS實時服務(wù)器的主要功能在于實時數(shù)據(jù)管理和事件處理,當(dāng)實時數(shù)據(jù)管理任務(wù)中產(chǎn)生事件后,在將事件發(fā)送給事件處理任務(wù)的過程中,,舍棄了方便簡單的共享內(nèi)存方式而采用了網(wǎng)絡(luò)傳輸方式,目的是減小模塊間的耦合、提高模塊的獨立性、降低相互干擾的風(fēng)險。事件處理任務(wù)支持多種日志和表格,根據(jù)項目的實際需求可配置日志/報警的種類、數(shù)量以及每種日志/報警的最大信息條數(shù),詳見表6。在日志的種類中必須存在一種類型一一“全日志”類型,所有的事件必須進入此日志。全日志采用了hash索引算法檢測寫入事件是否已經(jīng)存在以防止重復(fù)寫入,這大大提高了系統(tǒng)的處理能力(系統(tǒng)規(guī)定1秒可處理1500個事件)。由于報警的特殊性只能記錄點的一個同類事件(一個點的報警和報警恢復(fù)就是同類事件),新事件將替換該點的同類事件,因此報警表采用雙索引結(jié)構(gòu)時序索引和點名索引,有利于報警的快速寫入和報警的時序讀取。日志和報警表都支持循環(huán)寫入事件,當(dāng)達(dá)到滿容量時,新的事件記錄將覆蓋老的記錄。此外報警表寫入還可以配置成另一種方式表滿容量時,新事件將被丟棄。表6日志和表格配置表<table>tableseeoriginaldocumentpage13</column></row><table>事件處理任務(wù)在接收到事件數(shù)據(jù)后,對事件進行處理。首先根據(jù)事件記錄中的事件號,在事件定義列表中獲得進入日志/表格的標(biāo)識以及特殊處理的標(biāo)識。進入日志/表格的標(biāo)識是十六進制數(shù),從高位開始判斷,如果此位為1表示事件將進入第幾號日志/表格。比如=EnterLog=0x8200,從高位開始,第1位和第7位不為0,則事件將進入1號和7號日志。在將事件寫入日志/表格后,事件處理任務(wù)將對此事件的特殊要求做特殊處理。圖3即是上述事件產(chǎn)生以及事件處理的整體流程圖,主要包括步驟301、控制站向DCS服務(wù)器上傳實時變量數(shù)據(jù);步驟302、DCS服務(wù)器獲取所述變量數(shù)據(jù)對應(yīng)的項值;步驟303、DCS服務(wù)器判斷所述變量數(shù)據(jù)對應(yīng)的項值是否與已存儲的歷史項值相同,如果否,則繼續(xù)步驟304;步驟304、DCS服務(wù)器根據(jù)所述項值查找項名事件表;步驟305、DCS服務(wù)器判斷是否產(chǎn)生新的事件,如果是,則繼續(xù)步驟306;步驟306、DCS服務(wù)器根據(jù)事件定義列表確定產(chǎn)生何事件;步驟307、DCS服務(wù)器進行事件記錄;步驟308、DCS服務(wù)器根據(jù)相應(yīng)事件記錄,從事件定義列表中獲得進入日志/表格的標(biāo)識和特殊處理標(biāo)識;步驟309、DCS服務(wù)器將所述事件寫入制定的日志/表格;步驟310、DCS服務(wù)器根據(jù)特殊處理標(biāo)識判斷是否需要對所述事件進行特殊處理,如果是,則繼續(xù)步驟311;如果否,則繼續(xù)步驟312;步驟311、DCS服務(wù)器對所述事件進行特定的特殊處理;步驟312、DCS服務(wù)器對所述事件進行相應(yīng)處理。可見,本發(fā)明實施例中的事件產(chǎn)生的判斷在DCS服務(wù)器中完成,而不是在控制器中,使得控制站不用上傳事件號,減小了控制站和服務(wù)器間傳輸?shù)臄?shù)據(jù)包,因此,減少了控制站和服務(wù)器的數(shù)據(jù)通信,降低了網(wǎng)絡(luò)負(fù)荷。由于在事件產(chǎn)生過程中要向數(shù)據(jù)庫讀取實時變量數(shù)據(jù),因此將事件產(chǎn)生的處理放在DCS服務(wù)器中完成,也減少了模塊間的數(shù)據(jù)訪問,降低任務(wù)處理的復(fù)雜度,同時也降低了模塊間的耦合度。此外,事件產(chǎn)生機制主要采用配置文件的方式,可根據(jù)不用的項目需求編寫配置文件,而不必對每一個項目都重寫一個處理程序,避免程序的改動,這種方式提高了代碼的重用性,減小了開發(fā)周期,很好的體現(xiàn)了軟件的平臺性、開放性、擴展性。相應(yīng)本發(fā)明上述分布式控制系統(tǒng)的事件處理方法實施例,該實施例提供了一種分布式控制系統(tǒng)的事件處理系統(tǒng),如圖4所示,為該系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)主要包括DCS服務(wù)器40和控制站41,所述控制站41用于向所述DCS服務(wù)器40上傳變量數(shù)據(jù),其特征在于,所述DCS服務(wù)器40包括接收模塊401,用于接收控制站41上傳的變量數(shù)據(jù);判斷模塊402,用于判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件;事件處理模塊403,用于如果確定產(chǎn)生新的事件,則根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理??梢?,根據(jù)實時的變量數(shù)據(jù)判斷是否產(chǎn)生新的事件由DCS服務(wù)器處理,當(dāng)產(chǎn)生新的事件時,服務(wù)器會自動根據(jù)預(yù)置的事件處理規(guī)則,進行正確的事件處理。由于在判斷是否產(chǎn)生新的事件的過程中,需要結(jié)合具體的變量數(shù)據(jù),而實時的變量數(shù)據(jù)正是存儲在DCS服務(wù)器中的DCS實時數(shù)據(jù)庫中,因此,可以避免現(xiàn)有技術(shù)中的DCS服務(wù)器同控制站之間的變量數(shù)據(jù)訪問,從而,依據(jù)高內(nèi)聚低耦合的原則,不僅能減少進程間的通信,而且,事件處理效率大大提高。優(yōu)選的,所述判斷模塊進一步包括當(dāng)前項值獲取子模塊,用于獲取所述變量數(shù)據(jù)對應(yīng)的當(dāng)前項值;比較子模塊,用于通過比較所述當(dāng)前項值與已存儲的項值是否相同,如果否,則確定產(chǎn)生新的事件。本發(fā)明實施例中,DCS服務(wù)器判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件的實現(xiàn)方式為DCS服務(wù)器比較所述變量數(shù)據(jù)對應(yīng)的當(dāng)前項值與已存儲的項值是否相同,如果否,則確定產(chǎn)生新的事件。為了便于系統(tǒng)數(shù)據(jù)管理,通常對系統(tǒng)運行過程中的變量數(shù)據(jù)進行定義,不同變量數(shù)據(jù)對應(yīng)不同的項值,不同項值對應(yīng)不同的事件。因此,DCS服務(wù)器接收到控制站上傳的變量數(shù)據(jù)后,能夠根據(jù)變量數(shù)據(jù)獲得其對應(yīng)的當(dāng)前項值,同時比較當(dāng)前項值與已存儲的歷史項值是否相同,如果兩者不同,則可以確定產(chǎn)生了新的事件。所述事件處理模塊進一步包括標(biāo)識信息獲取子模塊,用于獲得當(dāng)前事件對應(yīng)的標(biāo)識信息;規(guī)則獲取子模塊,用于根據(jù)所述標(biāo)識信息,獲得預(yù)置的事件處理規(guī)則中對應(yīng)所述標(biāo)識信息的處理規(guī)則;執(zhí)行處理子模塊,用于根據(jù)所述處理規(guī)則,對當(dāng)前數(shù)據(jù)進行相應(yīng)處理。通常,對應(yīng)不同的事件,具有不同的事件處理規(guī)則。當(dāng)DCS服務(wù)器獲得事件的標(biāo)識信息之后,便可根據(jù)預(yù)置的事件處理規(guī)則中相應(yīng)該標(biāo)識信息的處理規(guī)則,從而對當(dāng)前事件進行相應(yīng)的處理。優(yōu)選的,在本發(fā)明的另一個實施例中,如圖5所示,所述DCS服務(wù)器還可以包括實時數(shù)據(jù)存儲模塊404,用于在對所述事件進行相應(yīng)處理之后,存儲對所述事件進行處理時所產(chǎn)生的實時數(shù)據(jù)。在DCS服務(wù)器在對所述事件進行相應(yīng)處理之后,可以根據(jù)具體應(yīng)用場景需要,由DCS服務(wù)器中的歷史數(shù)據(jù)存儲模塊存儲在所述事件處理過程中產(chǎn)生的歷史數(shù)據(jù),存儲方式可以采用常用的日志形式。除此之外,如圖6所示,所述系統(tǒng)還可以包括檢驗?zāi)K405,用于檢測已存儲的實時數(shù)據(jù)中對于同一事件是否存在重復(fù)寫入的數(shù)據(jù);刪除模塊406,用于當(dāng)確定存在重復(fù)寫入的數(shù)據(jù)時,將所述重復(fù)寫入的數(shù)據(jù)進行刪除。在由DCS服務(wù)器存儲在所述事件處理過程中產(chǎn)生的實時數(shù)據(jù)過程中,為了避免DCS服務(wù)器對同一事件進行重復(fù)的數(shù)據(jù)記錄,可以設(shè)置相應(yīng)的檢測機制,當(dāng)確定存在重復(fù)寫入的數(shù)據(jù)時,將所述重復(fù)寫入的數(shù)據(jù)進行自動刪除,從而避免重復(fù)數(shù)據(jù)對DCS服務(wù)器內(nèi)存資源的浪費。對于系統(tǒng)實施例而言,由于其基本相應(yīng)于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-OnlyMemory,ROM)或隨機存儲記憶體(RandomAccessMemory,RAM)等。對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明實施例的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明實施例將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。權(quán)利要求一種分布式控制系統(tǒng)的事件處理方法,其特征在于,所述方法包括分布式控制系統(tǒng)DCS服務(wù)器接收控制站上傳的變量數(shù)據(jù);所述DCS服務(wù)器判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件,如果是,則DCS服務(wù)器根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理。2.根據(jù)權(quán)利要求1所述的分布式控制系統(tǒng)的事件處理方法,其特征在于,所述DCS服務(wù)器在對所述事件進行相應(yīng)處理之后,所述方法還包括所述DCS服務(wù)器存儲對所述事件進行處理時所產(chǎn)生的實時數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的分布式控制系統(tǒng)的事件處理方法,其特征在于,所述DCS服務(wù)器判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件,包括所述DCS服務(wù)器比較所述變量數(shù)據(jù)對應(yīng)的當(dāng)前項值與已存儲的項值是否相同,如果否,則確定產(chǎn)生新的事件。4.根據(jù)權(quán)利要求1所述的分布式控制系統(tǒng)的事件處理方法,其特征在于,所述DCS服務(wù)器根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理,包括所述DCS服務(wù)器獲得當(dāng)前事件對應(yīng)的標(biāo)識信息;所述DCS服務(wù)器根據(jù)所述標(biāo)識信息,獲得預(yù)置的事件處理規(guī)則中對應(yīng)所述標(biāo)識信息的處理規(guī)則;所述DCS服務(wù)器根據(jù)所述處理規(guī)則,對當(dāng)前數(shù)據(jù)進行相應(yīng)處理。5.根據(jù)權(quán)利要求4所述的分布式控制系統(tǒng)的事件處理方法,其特征在于,所述預(yù)置的事件處理規(guī)則以配置文件的方式進行設(shè)置。6.根據(jù)權(quán)利要求2-5中任一項所述的分布式控制系統(tǒng)的事件處理方法,其特征在于,所述方法還包括所述DCS服務(wù)器檢測已存儲的實時數(shù)據(jù)中對于同一事件是否存在重復(fù)寫入的數(shù)據(jù),如果是,則將所述重復(fù)寫入的數(shù)據(jù)進行刪除。7.一種分布式控制系統(tǒng)的事件處理系統(tǒng),所述系統(tǒng)包括DCS服務(wù)器和控制站,所述控制站用于向所述DCS服務(wù)器上傳變量數(shù)據(jù),其特征在于,所述DCS服務(wù)器包括接收模塊,用于接收控制站上傳的變量數(shù)據(jù);判斷模塊,用于判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件;事件處理模塊,用于如果確定產(chǎn)生新的事件,則根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理。8.根據(jù)權(quán)利要求7所述的分布式控制系統(tǒng)的事件處理系統(tǒng),其特征在于,所述DCS服務(wù)器還包括實時數(shù)據(jù)存儲模塊,用于在對所述事件進行相應(yīng)處理之后,存儲對所述事件進行處理時所產(chǎn)生的實時數(shù)據(jù)。9.根據(jù)權(quán)利要求7所述的分布式控制系統(tǒng)的事件處理系統(tǒng),其特征在于,所述判斷模塊進一步包括當(dāng)前項值獲取子模塊,用于獲取所述變量數(shù)據(jù)對應(yīng)的當(dāng)前項值;比較子模塊,用于通過比較所述當(dāng)前項值與已存儲的項值是否相同,如果否,則確定產(chǎn)生新的事件。10.根據(jù)權(quán)利要求7所述的分布式控制系統(tǒng)的事件處理系統(tǒng),其特征在于,所述事件處理模塊進一步包括標(biāo)識信息獲取子模塊,用于獲得當(dāng)前事件對應(yīng)的標(biāo)識信息;規(guī)則獲取子模塊,用于根據(jù)所述標(biāo)識信息,獲得預(yù)置的事件處理規(guī)則中對應(yīng)所述標(biāo)識信息的處理規(guī)則;執(zhí)行處理子模塊,用于根據(jù)所述處理規(guī)則,對當(dāng)前數(shù)據(jù)進行相應(yīng)處理。11.根據(jù)權(quán)利要求8-10中任一項所述的分布式控制系統(tǒng)的事件處理系統(tǒng),其特征在于,所述系統(tǒng)還包括檢驗?zāi)K,用于檢測已存儲的實時數(shù)據(jù)中對于同一事件是否存在重復(fù)寫入的數(shù)據(jù);刪除模塊,用于當(dāng)確定存在重復(fù)寫入的數(shù)據(jù)時,將所述重復(fù)寫入的數(shù)據(jù)進行刪除。全文摘要本發(fā)明公開了一種分布式控制系統(tǒng)的事件處理方法和系統(tǒng),其中,所述方法包括分布式控制系統(tǒng)DCS服務(wù)器接收控制站上傳的變量數(shù)據(jù);所述DCS服務(wù)器判斷所述變量數(shù)據(jù)是否產(chǎn)生新的事件,如果是,則DCS服務(wù)器根據(jù)預(yù)置事件處理規(guī)則,對所述事件進行相應(yīng)處理。通過本發(fā)明,能夠提高分布式控制系統(tǒng)對于事件處理的效率。文檔編號G05B19/418GK101799684SQ201010153089公開日2010年8月11日申請日期2010年4月20日優(yōu)先權(quán)日2010年4月20日發(fā)明者宋曉玉,施波,王常力,羅斌,馬建新申請人:杭州和利時自動化有限公司