袁泉,劉小勇,施仁
(西安交通大學自動控制系,陜西西安710049)
[摘 要] 針對電力監控系統底層通信數據量大、實時性要求高的特點,進行了兩方面的改進。在軟件結構上,提出了將數據通信軟件與監控軟件分離的方法;在硬件上,使用多路雙口RAM智能通信卡擴展通信端口,提高底層通信的速度。這些措施有效地減輕了監控軟件的數據處理負擔,確保了現場儀表與監控計算機之間準確快速的數據通信,保證了整個系統的安全高效運行。
[關鍵詞] 電力系統;串行通信;多線程;智能通信卡
1 引 言
電力系統中,現場數據不但包括功率、電壓、電流等測量數據,還包括分合閘、過流、速斷等操作及事故所產生的事件數據。當發生事故而導致跳閘時,還要記錄現場的故障錄波數據,可見,需要通信的數據量是一般工業控制中所無法比擬的。由于電力系統現場數據的變化非常快,一次過流可能只維持十幾毫秒,數據稍縱即逝,所以對數據的實時性、通信速度的要求是非常高的。
監控系統底層數據可靠、高效的通信是系統可靠性的關鍵,是設計監控軟件的重點。一些現有的軟件,將數據通信、處理和監控都做在一個軟件中,雖然顯得直觀緊湊,但系統的升級改進卻十分不便,一個微小的改動都要對全部系統進行重新整理,因此,采取模塊化結構是比較好的一種選擇。
筆者在一個大型電力監控系統設計中,硬件上采用通信站和監控站分開的獨立方式,軟件上將底層通信軟件從監控軟件中分離出去,在通信站中獨立工作,通信站專門負責底層現場實時數據的采集,并和上層監控站進行雙向數據通信。由于通信站的獨立,使上層監控站的任務大大減輕,不但提高了底層的通信速率,還加快了監控界面的數據刷新速度。如果下層儀表數量很多,可以在通信站上采用多路雙口RAM智能通信卡,并擴充為多個串口,進一步提高底層通信速度。
2 系統結構
圖2-1給出了一種典型的系統結構,這種結構綜合了以上討論的特點。其中,兩個通信站組成雙機冗余熱備,保證系統的安全運行,現場儀表的數據通過RS-485/422串口傳送給通信站,通信程序讀取串口的數據,解析后一方面將數據存入數據庫,作為歷史數據加以保存,另一方面通過TCP/IP協議,將數據打包后傳遞給上位機,在監控軟件中進行運接送上以太網,也利于遠程監測和故障診斷。
由于通信站和監控站是分離的,只要都支持TCP/IP通信協議,編寫監控系統的工具語言不需要與通信站相同,這樣就給用戶提供了靈活的平臺選擇,可以利用一些圖像功能強大而硬件功能相對弱的組態軟件編寫監控軟件,以提供直觀漂亮的操作畫面。
對于一些特殊的下層儀表,如果通信協議不同,只需在通信軟件中改變相應的協議即可,不需要對監控軟件作出任何修改。用這種方法,可以非常靈活的兼容各種不同通信協議的儀表。這樣,系統的升級和擴展就會相當方便。
3 提高通信速度的措施
3.1 硬件措施
通信站與上層監控站間的通信是通過以太網傳輸的,通信速度快,實時性很好。而現場儀表與通信站之間是通過串口讀寫數據的,在儀表傳輸速率與傳輸數據量一定的條件下,當現場儀表的數量多到一定程度,由于總數據量過大而造成通信時間過長,可能會成為限制實時性的瓶頸,為了解決這個問題,硬件上可以采取以下的改進。
3.1.1 多串口數據通信
串行通信具有連接簡單、使用靈活方便、數據傳遞可靠等優點,在數據采集和實時控制系統中得到了廣泛應用。
一般情況下,多臺下層儀表連在一條通信總線上,通信站通過其一個串口連接一條通信總線,從而實現通信站與儀表的串行通信。這時,通信站對全部下層儀表作一次數據通信的時間等于通信站與每個儀表的通信時間之和。
在電力系統中,隨著系統規模的增大,下層儀表數目增多,掃描周期將相應增大,從而使操作員難以及時掌握現場的運行狀況,系統安全性得不到保證。由此可以看出,上下層通信速度極大的影響著整個系統的實時性,制約電力監控系統的規模及發展。
為解決這個問題,可將一個串行通信過程分成多個串行通信過程,以提高工作效率。如圖3-1所示,硬件上通過使用多串口通信卡,軟件上對各個串口同時掃描,實現多串口通信的并行工作方式。
這時下層儀表分別連在多條通信總線上,因為Windows操作系統支持多任務管理,計算機可同時對多個串口進行讀寫。假定有100臺儀表,使用5個串口通信所需要的時間是用1個串口所需時間的1/5,這樣就使通信速度大大提高。
3.1.2 多串口智能通信卡
智能通信卡是一種具有微處理器和雙口RAM的高速通信接口板,可插在計算機的I/O擴展槽內使用,其主要作用是減輕計算機CPU處理通信任務的工作量,有助于提高系統數據刷新速度。
在使用多串口智能通信卡后,系統程序下發給儀表的命令可通過寫硬件端口的方式存儲在智能通信卡的RAM中,由通信卡利用自帶的CPU,通過串行通信向儀表發送;另一方面通信卡利用自帶的CPU接收儀表返回的數據,存儲在其RAM中,系統程序通過讀硬件端口的方式獲得通信卡中的信息。
由此原本計算機與儀表之間繁重的串行通信工作,改由智能通信卡完成。這樣計算機CPU的工作量大大減輕,與底層儀表的通信速度會大大加快。
3.2 軟件的優化
現在計算機的運行速度大大超過底層數據的硬件傳輸速度,如果簡單的進行一發一收式的順序讀寫控制,計算機大部分時間都會處于等待數據的狀態,浪費了大部分的計算機資源。
在Windows環境下,微軟基類庫(MFC)提供了對多線程的支持。在軟件中可以使用多線程技術,每一個串口的讀寫對應一個線程,和上層程序的通信也用一個獨立的線程,這樣,上層程序對儀表的操作可以快速的顯現出來。從宏觀的角度上看,程序同時在對多個任務進行操作,CPU的運行速度得到了最大限度的發揮,充分的利用了計算機資源。
實踐證明,采用多線程技術,從軟件著手充分利用計算機CPU的速度優勢,加快整個控制系統的上下層通信速度,非常有助于提高整個系統的實時性。
4 結束語
該文的方法在工程項目中采用后,不僅有效的提高了數據的通信速度,而且由于軟件的模塊化結構,下層通信程序的獨立性,可以自由適應于不同的系統規模和各種類型的儀表,面對不同的需求,上層的監控程序不需要改動,只要將下層通信程序的通信協議改為對應儀表的即可。此方法不僅適用于電力系統監控,而且對其它大型工業測控系統具有廣泛的應用價值。
[參考文獻]
[1] C.D.Maciel,C.M.Ritter.TCP-IP Networking in ProcessControl Plants[J].Computers and Industrial Engineering.1998,35(3-4):611-614.
[2] 賈宏宇,施仁.大型通用工控軟件設計研究[J].信息與控制.2001,30(1):30-35