本發(fā)明涉及工業(yè)自動化控制技術(shù)領(lǐng)域,尤其涉及一種基于組態(tài)元件的分布式控制器之間的數(shù)據(jù)共享方法。
背景技術(shù):
復(fù)雜工業(yè)控制系統(tǒng)通常采用分布式的網(wǎng)絡(luò)架構(gòu)將現(xiàn)場傳感器、控制器及執(zhí)行器有效地集合,使得區(qū)域內(nèi)不同地址的工作站之間可以實現(xiàn)資源共享和協(xié)同操作。由于復(fù)雜系統(tǒng)的控制問題復(fù)雜、控制器節(jié)點繁多,如何利用分布式通信網(wǎng)絡(luò)實現(xiàn)地域上分布的各個物理控制單元之間信息和控制信號的有效共享是該領(lǐng)域面臨的一項重要問題。針對這一問題,現(xiàn)有的控制系統(tǒng)往往出于用戶友好界面的考慮,會將數(shù)據(jù)共享的代碼任務(wù)屏蔽掉,僅為工程師提供控制應(yīng)用程序開發(fā)的功能。然而隨著控制系統(tǒng)功能日趨復(fù)雜化、并行程序開發(fā)等新需求的出現(xiàn),控制工程師們所關(guān)心的問題已發(fā)生了轉(zhuǎn)變,他們不僅僅關(guān)心控制算法的設(shè)計和組態(tài)等控制應(yīng)用的開發(fā),也極其注重復(fù)雜控制程序的數(shù)據(jù)同步及其通信效率。
對于分布式控制器之間的數(shù)據(jù)共享,現(xiàn)有技術(shù)中控制系統(tǒng)開發(fā)商所提供的組態(tài)軟件工具通常使用廣播通信的技術(shù)手段對局域網(wǎng)內(nèi)控制器間的所有全局變量及其實時數(shù)據(jù)執(zhí)行數(shù)據(jù)同步更新,這種方式的主要缺點在于:
1、存在許多不必要的網(wǎng)絡(luò)通信,特別是針對復(fù)雜的控制任務(wù)和并行的控制任務(wù),大規(guī)??刂乒?jié)點間不當?shù)臄?shù)據(jù)共享后所帶來的問題是數(shù)據(jù)傳輸量增加導(dǎo)致網(wǎng)絡(luò)時延增大,進而造成系統(tǒng)整體控制性能下降,實時性降低,甚至影響控制系統(tǒng)的正常運行。
2、數(shù)據(jù)共享的功能模塊已預(yù)先集成在組態(tài)軟件中,工程師只能通過指定特定的網(wǎng)段或控制器節(jié)點的IP地址來介入數(shù)據(jù)共享配置,其操作自主程度和靈活性仍不理想。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題,在于提供一種基于組態(tài)元件的分布式控制器之間的數(shù)據(jù)共享方法,解決現(xiàn)有技術(shù)中工程師難以靈活配置分布式控制器之間的數(shù)據(jù)共享策略,以及控制器間的數(shù)據(jù)共享對系統(tǒng)網(wǎng)絡(luò)負荷、控制器性能影響大的技術(shù)問題;有效地提高控制器間數(shù)據(jù)共享的靈活程度,也可減少不必要的數(shù)據(jù)共享對系統(tǒng)網(wǎng)絡(luò)負荷、控制器性能的影響。
本發(fā)明是這樣實現(xiàn)的:一種基于組態(tài)元件的分布式控制器之間的數(shù)據(jù)共享方法,在各個分布式控制器內(nèi)設(shè)置共享內(nèi)存,通過共享元件,判定哪些數(shù)據(jù)進入共享內(nèi)存,并與其他分布式控制器節(jié)點進行數(shù)據(jù)同步;所述共享元件直接與分布式控制器IO通道關(guān)聯(lián),共享元件的內(nèi)部數(shù)據(jù)存儲于對應(yīng)分布式控制器指定的共享內(nèi)存區(qū)域;共享元件通過圖形元件有序連接的方式,直接參與控制邏輯的組態(tài)編程過程,共享元件的實時值動態(tài)地呈現(xiàn)在組態(tài)畫面中,通過共享元件實現(xiàn)對指定共享數(shù)據(jù)的獲取和輸出,且共享數(shù)據(jù)透明,能在線監(jiān)測;每個分布式控制器節(jié)點的共享數(shù)據(jù)通過廣播通信的方式同步到其他節(jié)點中對應(yīng)的共享內(nèi)存存儲區(qū)。
進一步的,所述組態(tài)元件是執(zhí)行模擬量或邏輯量操作的控制功能模塊,多個元件之間的有序連接形成系統(tǒng)的邏輯組態(tài)程序,不同類型的元件通過元件符號標識來區(qū)分,多個同類型的元件通過元件下標號來區(qū)分;所述組態(tài)元件包括輸入元件、輸出元件、策略元件以及共享元件;所述輸入元件、輸出元件、策略元件用于編寫常規(guī)的邏輯組態(tài)程序;所述共享元件包括共享輸入元件和共享輸出元件。
進一步的,所述共享輸入元件和共享輸出元件:均包括模擬量輸入/輸出元件、數(shù)字量輸入/輸出元件、中間模擬量輸入/輸出元件和中間數(shù)字量輸入/輸出元件;所述中間模擬量/數(shù)字量輸入元件位于輸入側(cè),可將內(nèi)部數(shù)據(jù)傳遞至策略元件或輸出元件;所述中間模擬量/數(shù)字量輸出元件位于輸出側(cè),用于讀取和存儲中間邏輯的計算結(jié)果;所述共享輸入元件和共享輸出元件:均能加入到邏輯組態(tài)畫面中參與邏輯組態(tài)程序的編輯;邏輯組態(tài)程序運行時,均能在組態(tài)畫面中動態(tài)地顯示自身的實時數(shù)據(jù);在邏輯組態(tài)的過程中,同類的元件都會自動地生成唯一的下標號。
進一步的,所述共享輸入/輸出元件是與工業(yè)控制系統(tǒng)中對應(yīng)控制器的IO通道關(guān)聯(lián),并與控制器中特定的物理共享內(nèi)存地址相對應(yīng);通過共享輸入/輸出元件,操作人員能自主地選擇特定的數(shù)據(jù)載入共享內(nèi)存,并與其他分布式控制器進行數(shù)據(jù)交互;所述共享輸入/輸出元件與普通的輸入/輸出元件在內(nèi)存分配存儲上按照分區(qū)的方式進行管理和區(qū)分,每個分區(qū)在控制器內(nèi)存中均有開辟對應(yīng)的存儲區(qū)域與之對應(yīng)。
進一步的,控制器層中多個分布式控制器間的數(shù)據(jù)共享方式如下:對每個控制器節(jié)點配置全局共享內(nèi)存區(qū)域,所述全局共享內(nèi)存區(qū)域包含所有分布式控制器節(jié)點的共享數(shù)據(jù)信息,即每個控制器節(jié)點的全局共享區(qū)既包含本地節(jié)點提供的共享數(shù)據(jù),也包含源自其他節(jié)點的共享數(shù)據(jù);
采用物理內(nèi)存統(tǒng)一編址的方式,對所有分布式控制器的全局共享內(nèi)存空間進行定義;所述共享內(nèi)存的數(shù)據(jù)同步策略是各個控制器節(jié)點的共享數(shù)據(jù)采用廣播通信的方式,同步到其他節(jié)點中共享內(nèi)存區(qū)相應(yīng)的物理內(nèi)存地址上,同時執(zhí)行周期性數(shù)據(jù)刷新操作。
進一步的,所述方法中共享數(shù)據(jù)是通過共享輸入元件從對應(yīng)分布式控制器的共享內(nèi)存中獲取,具體為:S1、編輯邏輯組態(tài)程序,確定需要接收共享數(shù)據(jù)的組態(tài)元件M;
S2、采用圖形元件有序連接的組態(tài)方式,拖動共享輸入元件到邏輯組態(tài)畫面,連接到所述組態(tài)元件M中;
S3、配置所述共享輸入元件的關(guān)聯(lián)信息,鏈接到對應(yīng)的控制器指定的共享內(nèi)存地址上;
S4、運行邏輯組態(tài)程序,從所述指定的共享內(nèi)存地址處周期性地讀取實時共享數(shù)據(jù),動態(tài)地更新到邏輯組態(tài)畫面中,并將其實時值顯示在共享輸入元件的一側(cè)。
進一步的,所述方法中共享數(shù)據(jù)是通過共享輸出元件寫入到對應(yīng)分布式控制器的共享內(nèi)存相應(yīng)區(qū)域,具體為:S1、編輯邏輯組態(tài)程序,選擇需要共享數(shù)據(jù)的組態(tài)元件N,將其輸出數(shù)據(jù)作為共享數(shù)據(jù);
S2、采用圖形元件有序連接的組態(tài)方式,拖動共享輸入元件到邏輯組態(tài)畫面,連接到所述組態(tài)元件N中;
S3、配置共享輸出元件的關(guān)聯(lián)信息,鏈接到對應(yīng)控制器指定的共享內(nèi)存地址上;
S4、運行邏輯組態(tài)程序,將共享輸出元件的實時數(shù)據(jù)傳送并存儲到所述指定的共享內(nèi)存地址;
S5、將所述指定的共享內(nèi)存地址中的共享數(shù)據(jù)周期性地同步到其他控制器節(jié)點相應(yīng)的內(nèi)存區(qū)域。
本發(fā)明具有如下優(yōu)點:1、工程師能夠自主地決定哪些控制器、哪些數(shù)據(jù)參與分布式數(shù)據(jù)共享,從而有效地避免因不當?shù)臄?shù)據(jù)共享所造成的網(wǎng)絡(luò)負荷增大、控制性能顯著降低等問題;
2、數(shù)據(jù)共享操作簡單靈活,符合工程師的組態(tài)編程習慣,并且通信數(shù)據(jù)高度透明,可視化程度高,支持在線監(jiān)測。
附圖說明
下面參照附圖結(jié)合實施例對本發(fā)明作進一步的說明。
圖1為本發(fā)明的分布式控制器間的數(shù)據(jù)共享方法的原理圖。
圖2為本發(fā)明共享數(shù)據(jù)的獲取方法流程示意圖。
圖3為本發(fā)明共享數(shù)據(jù)的輸出方法流程示意圖。
具體實施方式
請參閱圖1至圖3所示,一種基于組態(tài)元件的分布式控制器之間的數(shù)據(jù)共享方法,在各個分布式控制器內(nèi)設(shè)置共享內(nèi)存,通過共享元件,判定哪些數(shù)據(jù)進入共享內(nèi)存,并與其他分布式控制器節(jié)點進行數(shù)據(jù)同步;所述共享元件直接與分布式控制器IO通道關(guān)聯(lián),共享元件的內(nèi)部數(shù)據(jù)存儲于對應(yīng)分布式控制器指定的共享內(nèi)存區(qū)域;共享元件通過圖形元件有序連接的方式,直接參與控制邏輯的組態(tài)編程過程,共享元件的實時值動態(tài)地呈現(xiàn)在組態(tài)畫面中,通過共享元件實現(xiàn)對指定共享數(shù)據(jù)的獲取和輸出,且共享數(shù)據(jù)透明,能在線監(jiān)測;每個分布式控制器節(jié)點的共享數(shù)據(jù)通過廣播通信的方式同步到其他節(jié)點中對應(yīng)的共享內(nèi)存存儲區(qū)。
本發(fā)明的一種面向組態(tài)數(shù)據(jù)的共享元件的設(shè)計方法,用于連接用戶編寫的控制邏輯和所對應(yīng)的控制器的共享內(nèi)存。
具體功能特征如下:
1、所述組態(tài)元件是執(zhí)行模擬量或邏輯量操作的控制功能模塊,多個元件之間的有序連接形成系統(tǒng)的邏輯組態(tài)程序,不同類型的元件通過元件符號標識來區(qū)分,多個同類型的元件通過元件下標號來區(qū)分。所述組態(tài)元件包括輸入元件、輸出元件、策略元件和共享元件。所述輸入元件、輸出元件、策略元件用于編寫常規(guī)的邏輯組態(tài)程序。所述共享元件是一種特殊的組態(tài)元件,包括共享輸入元件和共享輸出元件。
2、所述共享輸入/輸出元件和普通的輸入/輸出元件的相同點:
①均包括模擬量輸入/輸出元件、數(shù)字量輸入/輸出元件、中間模擬量輸入/輸出元件和中間數(shù)字量輸入/輸出元件;所述中間模擬量/數(shù)字量輸入元件位于輸入側(cè),可將內(nèi)部數(shù)據(jù)傳遞至策略元件或輸出元件;所述中間模擬量/數(shù)字量輸出元件位于輸出側(cè),用于讀取和存儲中間邏輯的計算結(jié)果。
②均可加入到邏輯組態(tài)畫面中參與邏輯組態(tài)程序的編輯;
③邏輯組態(tài)程序運行時,均可在組態(tài)畫面中動態(tài)地顯示自身的實時數(shù)據(jù);
④在邏輯組態(tài)的過程中,同類的元件都會自動地生成唯一的下標號;
例如,第101號加法運算器元件可表示為ADD 101,其對應(yīng)的控制器也將為其分配相應(yīng)的內(nèi)存空間。
3、所述共享輸入/輸出元件和普通的輸入/輸出元件的不同之處在于:
①所述普通的輸入/輸出元件是與系統(tǒng)工藝設(shè)備對應(yīng)的IO數(shù)據(jù)點關(guān)聯(lián),負責從現(xiàn)場工藝設(shè)備或設(shè)備仿真模型中讀取/輸出實時控制數(shù)據(jù),該部分數(shù)據(jù)并不完全參與分布式控制器的數(shù)據(jù)共享;
②所述共享輸入/輸出元件是與系統(tǒng)中對應(yīng)控制器的IO通道關(guān)聯(lián),并與控制器中特定的物理共享內(nèi)存地址相對應(yīng)。通過共享輸入/輸出元件,工程師可以自主地選擇特定的數(shù)據(jù)載入共享內(nèi)存,并與其他分布式控制器進行數(shù)據(jù)交互。
③所述共享輸入/輸出元件與普通的輸入/輸出元件在內(nèi)存分配存儲上按照分區(qū)的方式進行管理和區(qū)分,每個分區(qū)在控制器內(nèi)存中均有開辟對應(yīng)的存儲區(qū)域與之對應(yīng)。
例如,可以將所有的輸入/輸出元件按照A-Z 26個字母符號進行分區(qū),并指定S區(qū)為共享輸入/輸出元件的存儲區(qū)域,其余分區(qū)用于存儲普通的輸入/輸出元件相應(yīng)的數(shù)據(jù),可提供S區(qū)數(shù)據(jù)用于數(shù)據(jù)共享。進一步的,AO 003可以用于表示第003號普通的模擬量輸出元件;AOS 005可以用于表示第005號S區(qū)模擬量輸出元件,即第005號模擬量共享輸出元件。
(二)、本發(fā)明提供的基于組態(tài)元件的分布式控制器之間的數(shù)據(jù)共享方法,另一主要特征在于:采用圖形元件有序連接的組態(tài)方式,通過共享輸入和輸出元件實現(xiàn)對指定共享數(shù)據(jù)的獲取和輸出,且共享數(shù)據(jù)透明可見,能夠在線監(jiān)測。
具體實現(xiàn)方法如下:
1、本發(fā)明中控制器層多個分布式控制器間的數(shù)據(jù)共享方法如下:
①對每個控制器節(jié)點配置全局共享內(nèi)存區(qū)域,所述全局共享內(nèi)存區(qū)域包含所有分布式控制器節(jié)點的共享數(shù)據(jù)信息,即每個控制器節(jié)點的全局共享區(qū)既包含本地節(jié)點提供的共享數(shù)據(jù),也包含源自其他節(jié)點的共享數(shù)據(jù)。
②采用物理內(nèi)存統(tǒng)一編址的方法,對所有分布式控制器的全局共享內(nèi)存空間進行定義。
③所述共享內(nèi)存的數(shù)據(jù)同步策略是各個控制器節(jié)點的共享數(shù)據(jù)采用廣播通信的方式,同步到其他節(jié)點中共享內(nèi)存區(qū)相應(yīng)的物理內(nèi)存地址上,同時執(zhí)行周期性數(shù)據(jù)刷新操作。
2、本發(fā)明中指定共享數(shù)據(jù)是通過共享輸入元件從對應(yīng)控制器的共享內(nèi)存中獲取的。
具體步驟方法如下:
S1、編輯邏輯組態(tài)程序,確定需要接收共享數(shù)據(jù)的組態(tài)元件M;
以圖1為例,策略元件B’001即為待接收共享數(shù)據(jù)的組態(tài)元件。
S2、采用圖形元件有序連接的組態(tài)方式,拖動共享輸入元件到邏輯組態(tài)畫面,連接到所述組態(tài)元件M中;
S3、配置所述共享輸入元件的關(guān)聯(lián)信息,鏈接到對應(yīng)的控制器指定的共享內(nèi)存地址上;
以圖1為例,將工作站K中的共享輸入元件“SI 001”關(guān)聯(lián)到控制器節(jié)點K上節(jié)點1所對應(yīng)的共享內(nèi)存地址,即可實現(xiàn)對控制器節(jié)點1共享數(shù)據(jù)的共享配置;
S4、運行邏輯組態(tài)程序,從所述指定的共享內(nèi)存地址處周期性地讀取實時共享數(shù)據(jù),動態(tài)地更新到邏輯組態(tài)畫面中,并將其實時值顯示在共享輸入元件的一側(cè)。
3、本發(fā)明中指定共享數(shù)據(jù)是通過共享輸出元件寫入到對應(yīng)控制器的共享內(nèi)存相應(yīng)區(qū)域的。
具體步驟方法如下:
S1、編輯邏輯組態(tài)程序,選擇需要共享數(shù)據(jù)的組態(tài)元件N,將其輸出數(shù)據(jù)作為共享數(shù)據(jù);
S2、采用圖形元件有序連接的組態(tài)方式,拖動共享輸入元件到邏輯組態(tài)畫面,連接到所述組態(tài)元件N中;
以圖1為例,策略元件B 001和輸入元件D’002即為提供共享數(shù)據(jù)的組態(tài)元件。
S3、配置共享輸出元件的關(guān)聯(lián)信息,鏈接到對應(yīng)控制器指定的共享內(nèi)存地址上;
以圖1為例,將工作站1中的共享輸出元件“SO 001”關(guān)聯(lián)到控制器節(jié)點1中用于存儲節(jié)點1共享數(shù)據(jù)的內(nèi)存區(qū)域,即可實現(xiàn)對策略元件B 001數(shù)據(jù)的共享配置;將工作站K中的共享輸出元件“SO’002”關(guān)聯(lián)到控制器節(jié)點K中用于存儲節(jié)點K共享數(shù)據(jù)的內(nèi)存區(qū)域,即可實現(xiàn)對輸入元件D’002數(shù)據(jù)的共享配置。
S4、運行邏輯組態(tài)程序,將共享輸出元件的實時數(shù)據(jù)傳送并存儲到所述指定的共享內(nèi)存地址;
S5、將所述指定的共享內(nèi)存地址中的共享數(shù)據(jù)周期性地同步到其他控制器節(jié)點相應(yīng)的內(nèi)存區(qū)域。
總之,本發(fā)明不僅繼承了廣播通信數(shù)據(jù)同步方法的優(yōu)點,同時也克服了現(xiàn)有技術(shù)的上述不足。該方法中不同物理控制器間的數(shù)據(jù)共享策略是通過組態(tài)元件的方式在上位機中操作實現(xiàn)的,工程師能夠更加自主地決定信息共享策略,選擇指定的數(shù)據(jù)在多控制器節(jié)點間進行數(shù)據(jù)交互,這種方式不僅可以有效地提高控制器間數(shù)據(jù)共享的靈活程度,也可減少不必要的數(shù)據(jù)共享對系統(tǒng)網(wǎng)絡(luò)負荷、控制器性能的影響。
雖然以上描述了本發(fā)明的具體實施方式,但是熟悉本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)當理解,我們所描述的具體的實施例只是說明性的,而不是用于對本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應(yīng)當涵蓋在本發(fā)明的權(quán)利要求所保護的范圍內(nèi)。