一種基於組態元件的分布式控制器之間的數據共享方法與流程
2023-09-18 03:53:31 1

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