(廣東電網公司物流中心,廣東 廣州 510630)
陳煥怡
(北京四方繼保自動化股份有限公司,北京 100085)劉 炬
陳煥怡(1980-)女,廣東南海人,輸配電及用電工程工程師,工學學士,管理學碩士,現就職于廣東電網公司物流中心,從事電力系統設備選型、采購、供應管理工作。
摘要:根據Modbus通信協議的特點以及繼電保護裝置中對通信可靠性的要求,提出了支持雙通信網絡、雙主站的Modbus通信在繼電保護裝置中的應用。簡介了Modbus通信協議,系統冗余和單元冗余的概念。給出了雙網雙主站的通信方案,說明了為支持冗余在主站和子站設計上應該注意的問題,定量分析了采用單元冗余、系統冗余混合冗余的方式為系統可靠性提高帶來的影響。說明了Modbus協議傳輸繼電保護裝置信息的數據交換過程和應當注意的問題,如鏡像數據區定義,TCP粘連包的問題等。
關鍵詞:Modbus協議;冗余;主機冗余;網絡冗余;繼電保護;TCP/IP
Abstract: In this paper, according to the features of Modbus protocol and the reliability requirement of the relay communication, we propose a Modbus communication protocol which supports the working style of dual-networks,dual master. The Modbus protocol and the concept of system redundancy and unit redundancy are also introduced in this paper. The communication scheme supporting dual-networks, dual-master is described, and some remarks about how to design the master and slave of this scheme is also given. In addition, we quantitatively analyze the effect to system reliability of mixed redundancy of system redundancy and unit redundancy, and explain the information exchange procedure when Modbus is used in protection relays communication. Finally some tips are given such as mapping data, TCP conglutination packet.
Key words: Modbus protocol; Redundancy; Mainframe redundancy; Network redundancy; Protection relay; TCP/IP
1 引言
IEC61850標準和IEC60870-5-103通信協議在繼電保護裝置中已經廣泛使用,但應用于電廠的繼電保護裝置由于經常要與各種自動化和控制系統通信,這些系統大多遵循工業自動化的Modbus通信標準,因此有必要對繼電保護裝置中的Modbus通信協議進行研究。
本文基于對繼電保護裝置通信可靠性的要求提出支持雙冗余通信網絡、雙冗余主站的Modbus通信方案,并說明了在Modbus繼電保護裝置通信中應當注意的一些問題。
2 背景知識簡介
2.1 Modbus通信協議簡介
Modbus通信協議是由Modicon公司在1979年首次提出的,它是一個標準的、開放的、在工業自動化領域應用廣泛的網絡通信協議,很多工業自動化領域的設備和軟件都支持Modbus協議。
中華人民共和國國家質量監督檢驗檢疫總局和中國國家標準化管理委員會已于2004年9月發布了三個標準化指導性技術文件,于2008年2月對此作了修訂并作為國家標準發布,標準號為GB/T19582.1/2/3-2008[1-3]。
2.2 冗余技術簡介
冗余,IEEE可靠性協會的定義是“在需要時運行并完成指定功能的備用措施”。
IEEE安全系統標準委員會將冗余系統定義為“一設備或者系統與另一設備或者系統的基本功能完全相同,他們不管其中一個是運行還是故障,另一個都可以執行要求的功能”。
按照冗余應用的范圍可分為系統冗余和單元冗余,系統冗余是指以完成某個功能的系統整體作冗余,而單元冗余是指以組成系統的單元作冗余。圖1為系統冗余和單元冗余的可靠度分析的示意圖,從圖中不難定性地分析出:單元冗余要比系統冗余的可靠度高,但單元冗余要比系統冗余實現的軟硬件成本高。
3 雙通信網絡、雙主站支持的Modbus通信方案
3.1 系統通信方案
Modbus通信一般是單通信網絡、單主站,但是在可靠性要求比較高的場合如變電站自動化系統中尤其是測量保護一體化裝置中,單網絡單主站不能滿足可靠性的要求,通過采用冗余技術,配置雙冗余的通信網絡,雙冗余的主站系統確保系統的可靠性。
圖2為雙網絡雙主站的Modbus通信方案示意圖,網1和網2為由2臺Modbus主站和多臺子站組成的雙總線型通信網絡,可以是RS485網絡,也可以是工業以太網;主站A和主站B均可實現與各個子站的通信。由于Modbus標準中沒有定義在雙網絡雙主站中的應用,因此主站和子站在支持雙網絡雙主站的同時必須兼容單網絡單主站的情況。
圖2 雙網絡雙主站的Modbus通信方案示意圖
3.2 雙主站的支持
由于Modbus通信是問答式的通信方式,同時只能有1個主站,因此必須在雙主站之間通過競爭選擇一個工作主站,另外1個為備用主站。當工作主站失效時備用主站接管工作主站的工作。只有工作主站和各個子站通信,并和其上一級的設備如人機交互接口(HMI)或者遠方控制中心(RCC)等進行數據交互。當工作主站異常時主動或者由備用主站選擇切換工作主站。
備用主站檢測當前網絡上是否有工作主站,判斷的途徑有:
(1)可在雙主站之間建立單獨的“握手”通道交換雙主站之間競爭和選擇信息。
(2)對于RS485網絡,可以從網絡上“偵聽”是否有合法的問訊數據發送。
(3)對于以太網TCP/IP網絡,可在網絡上采用未用的端口號交換雙主站之間競爭和選擇信息。也可采用和串口一樣“偵聽”的方法,但需要交換機支持端口鏡像功能,軟硬件要求都比較高。
為了防止主站之間的“握手”通道故障時由于雙主站均認為自己是工作主站,出現2個主站同時發送問訊數據的情況而產生沖突,“握手”通道應該采用2個途徑,如單獨“握手”通道和“偵聽”通道同時使用。
3.3 雙網絡的選擇
雙網通信有平衡模式和非平衡模式。平衡模式下在主子站之間建立2個完全獨立的通信過程和交互數據庫,最終由主站選擇其中1套數據入庫,此時子站需要通過不同的物理支持不同的主站即可。在非平衡模式下,主站和子站之間同時只建立一個通信過程和交互數據庫,當這個通信過程失敗時再通過另外的網絡建立另外一個通信過程,這種情況下需要子站支持通過不同的通信口連接相同的主站,訪問同一個數據庫。由于后者占用的資源少建議采用后者。
3.4 系統通信可靠性分析
根據本文2.2節關于系統冗余和單元冗余概念的定義,將子站網絡、主站網絡、主站裝置看作整個系統的多個單元,根據雙總線網絡結構的特點,我們按照單元冗余和系統冗余的混合冗余模式設計整個系統,如圖3所示,n臺子站的網絡分別為A、B、……H,主站網絡為I,主站裝置為J,其物理意義是:雙網中至少有1個網絡中的所有節點都是可用的,雙主站至少有1個是可用的。
定量分析如下:若子站單裝置網絡故障率為α,主站裝置網絡故障率為β,主站單裝置的故障率為γ,則在沒有網絡和主站冗余情況下系統的可用率為:
ρ0 =(1-α)n×(1-β) ×(1-γ)
而在網絡和主站都按照雙冗余設計的情況下系統的可用率為:
ρ1 ={1-[1-(1-α)n×(1-β)]2} ×(1-γ2)
為了定量地分析冗余對系統可靠性帶來的效果,表1給出了在n=8,α、β、γ在不同值的情況下ρ0、ρ1的比較,從表1可以看出增加雙網雙主站冗余后系統的可用率大大提高,系統的可靠性大大增強.
4 Modbus協議應用于繼電保護裝置應當注意的問題
通信協議的實現主要有兩部分工作:報文解釋和通信過程定義。Modbus協議為通用的工業系統設計,是典型的一問一答式的通信協議,每一次問答過程均完成一次完整的數據交換過程,而繼電保護裝置中根據電力系統的運行習慣和規范往往數據交換過程比較復雜,因此在保護裝置中實現Modbus協議除了將繼電保護裝置中的各種信息與Modbus作映射外更主要的工作是定義各種信息數據交換的過程。
4.1 繼電保護裝置中各類信息在Modbus協議中的表示方式
表2為繼電保護裝置中各類信息采用的功能碼列表,以下對各種信息的定義和傳輸過程作詳細說明。
4.1.1 遙信量
遙信量包括開關刀閘位置信號、保護動作、保護告警、保護內部狀態、保護自檢、開關量輸入狀態等信息,這些信息中可分為實際輸入信號和由裝置內部通過邏輯運算產生的信號。其中實際的輸入信號按照Modbus協議中的離散輸入量定義,只讀;裝置內部產生的信號按照Modbus中的線圈定義,是可讀可寫的,但是否允許通過通信方式來寫要根據其物理含義來決定。若遙信量需要品質則需要擴展品質線圈來表示,實際輸入信號使用02功能碼來讀,內部信號使用01功能碼來讀。
4.1.2 遙測量
遙測量包括裝置實際采集的信號和裝置內部計算量,由于繼電保護裝置都采用交流采樣,遙測量幾乎全部都是計算出來的,因此遙測量按照寄存器定義。一般為整型數,可以是規一化值、標度化值,也可采用浮點數來處理,用兩個寄存器(4字節)表示一個遙測量數據。若遙測量需要品質信息則需要對表示遙測量的寄存器進行擴展,增加品質寄存器,遙測量使用03功能碼來讀。
4.1.3 隊列信息
隊列信息包括SOE、事件、帶時標的測量等信息,這些信息為不可覆蓋的信息,傳輸過程應該保證這些信息不被丟失,主站讀取之后要有確認過程,主站確認后子站才從隊列中刪除這些信息。
隊列信息的處理采用如下過程:
(1)主站發03命令讀取子站的狀態或者指針信息判斷隊列中是否有數據;
(2)若隊列中有數據則主站發03命令讀取響應的寄存器區;
(3)主站正確收到隊列信息后發06/16命令寫狀態區或者指針進行確認,子站從隊列中刪除已上傳信息。
4.1.4 電度信息
電度信息的訪問有凍結、讀取、解凍、預置等功能。凍結、解凍采用06功能碼寫1特定的寄存器,讀取采用03功能碼,預置采用16功能碼。讀取的信息為已經凍結的數據,而預置為正在累積的數據,所以讀取和預置應采用不同的寄存器地址。
4.1.5 定值的訪問
定值的訪問包括讀取、下裝、固化、切換等功能。由于定值讀取時要指定定值區號,采用23功能碼,寫入讀取的定值區號,讀取定值數據區。下裝定值采用16功能碼,寫入要下裝的定值區號及定值數據,所以定值區號寄存器和定值數據寄存器應連續配置。固化和切換按設定過程,參見4.1.7節描述。
4.1.6 遙控
遙控對象包括一次設備(開關、刀閘)和二次設備(軟壓板等),電力系統中一般是手動遙控操作,為了防止誤操作遙控采用“選擇—執行”的過程。在Modbus協議中一個控制對象定義兩個線圈,分別對應選擇和執行操作。
復歸是一類特殊的遙控,不需要選擇,用寫線圈實現。
遙控采用05功能碼來實現。
4.1.7 設定
設定的對象包括遠方調節的信息,如AGC中發電機的出力等,定值的切換固化等也可以用設定過程來實現。設定采用“選擇—執行”過程,一個設定對象定義兩個寄存器,分別對應選擇和執行操作。設定采用06或者16功能碼實現。
4.1.8 時鐘信息
用連續的幾個寄存器表示時間,通過功能碼03和16來訪問。
4.1.9 裝置ID
通過17功能碼訪問。
4.1.10 錄波
錄波數據按照標準COMTRADE文件格式存儲,Modbus協議提供了讀取指定文件號的文件的功能碼20/06。為了實現完整的文件傳輸過程,需要定義錄波文件列表上送和刪除機制,通過03功能碼由子站向主站上送錄波文件列表,由主站通過20/06功能碼選擇讀取列表中的錄波文件,之后通過16功能碼確認讀取的文件。子站再通過03功能碼繼續上送新的錄波列表,再由主站讀取……
4.2 其他需要說明的問題
本節列出Modbus協議應用于繼電保護裝置中需要特殊注意和說明的問題。
4.2.1 利用數據鏡像功能提高通信效率
由于Modbus通信完全由主站來控制,如果子站端的信息定義比較分散會使得無用的數據占用大量帶寬或者增加通信問訊的次數導致通信效率降低,為了提高通信效率,定義鏡像數據區,將分散的數據集中到一段連續的數據區,可減少問訊次數,通過定義鏡像地址區的內容來定義鏡像數據,鏡像區包括鏡像地址區和鏡像數據區,鏡像數據區的內容是由鏡像地址區來定義,如將8800H、4002H、4003H寫入鏡像地址區,則相應的鏡像數據區的內容即為8800H、4002H、4003H的信息。
4.2.2 系統狀態數據區
將系統的一些標志如SOE標志、SOE溢出標志、初始化標志等放在集中的系統狀態數據區,并定義到鏡像數據區,在問訊遙信、遙測時同時讀取這個數據區,當有相應的標志時如SOE標志時再去讀取相應的數據,這樣可以提高通信效率。
4.2.3 初始化命令
定義01命令碼的系統初始化命令,只有主站發送初始化命令之后,子站的SOE、事件等才開始放入系統的隊列,這樣才能保證將合適的信息上送主站。
4.2.4 TCP模式下粘連包問題
在Modbus/TCP模式下,由于TCP是一個面向字節流的協議,“粘連包”的問題在理論上是不可避免的,粘連包處理模塊能夠處理從Socket獲得的數據是多包、半包、多包加半包等各種情況。否則會將正常合法的數據丟棄導致通信問題。
4.2.5 避免同一服務長時間占用帶寬
由于Modbus協議由主站控制通信的數據流,當有長時間占用帶寬的服務時,為了防止在處理大數據量的信息時(如故障錄波數據、定值數據)占用實時性要求比較高的數據(如遙信、遙測)的帶寬,主站應該主動釋放部分帶寬,去問訊其他數據,而子站也應該在保證數據訪問完整性的情況下支持這些數據區的間斷性訪問,如在問訊錄波過程中插入問訊遙信遙測過程。
5 結束語
在簡介Modbus協議和冗余技術的基礎上,給出了支持雙網雙主站的Modbus協議在繼電保護裝置中的通信方案,定量分析了方案的可靠性,說明了Modbus應用于繼電保護裝置中應注意的問題。目前該方案已在繼電保護裝置的設計中采用并應用于實際工程中,效果良好。
其他作者:劉炬(1970-),男,河北樂亭人,工學碩士,現就職于北京四方繼保自動化股份有限公司,從事變電站自動化系統研究工作。
參考文獻:
[1] GB T 19582.1-2008,基于Modbus協議的工業自動化網絡規范,第1部分: Modbus應用協議[S].
[2] GB T 19582.2-2008,基于Modbus協議的工業自動化網絡規范,第2部分: Modbus協議在串行鏈路上的實現指南[S].
[3] GB T 19582.3-2008,基于Modbus協議的工業自動化網絡規范,第3部分: Modbus協議在TCP/IP上的實現指南[S].
[4] 賀春,任春梅,張冉. Modbus協議在電動機保護裝置中的應用[J]. 繼電器,2006,34(12): 73-76.
[5] 姚致清. 通信規約實現與系統可靠性、安全性[J]. 繼電器,2008,36(6):68-70.
[6] 劉炬,鄭蔚,劉曉明. 冗余技術在廠站端自動化系統中的典型應用[J].繼電器,2007,35(10): 45-47,51.
摘自《自動化博覽》2010年第五期