基于多串口通信的柴油發(fā)電機組遠程監(jiān)控平臺
柴油發(fā)電機組在無市電供應及需要不間斷供電的地方,如電信系統(tǒng)、電力系統(tǒng)、廣播電視系統(tǒng)的機站、機房,銀行、醫(yī)院等單位的供電系統(tǒng)等得到了廣泛應用。在電信系統(tǒng)內,通常一個縣級局要管理多個供電機房,這些機房有的位于市區(qū),有的位于偏僻的高山,有的有人值守,有的無人值守,但都需要不間斷供電,一般每個機房有一至數臺柴油發(fā)電機組,作為市電供電的備用電源,或是幾臺機組互為主備供電。對這些柴油發(fā)電機組實現計算機自動監(jiān)控和統(tǒng)一管理就顯得很重要,這樣有助于減少值班人員的工作強度,提高工作效率,提高管理水平。在縣級局內設集中監(jiān)控中心,監(jiān)控主機通過公用電話網實現對各個下級機站柴油發(fā)電機組的遠程實時自動監(jiān)控和管理,系統(tǒng)構建方便,實現簡單,使用可靠,適合實際的需求,得到了廣泛應用。
1 系統(tǒng)結構
柴油發(fā)電機組遠程監(jiān)控平臺的系統(tǒng)結構如圖1所示。
柴油發(fā)電機組經MODEM與電話線路相連,在電話線路的另一端再經MODEM與監(jiān)控主機的RS-232串口相連。
很多縣級局和下級機站之間都有SDH信道相通,如果有附加的RS-232串口,也可以通過SDH信道傳輸數據,從而省掉電話線路兩邊的MODEM,等同于RS-232串口電纜直接相連。
如果一個下級機站內有多臺柴油發(fā)電機組需要監(jiān)控,在電話線路允許的情況下,可以為每臺機組分配一條電話線,各占用監(jiān)控主機的一個RS-232串口。如果電話線路有限,也可將機站內的各臺柴油發(fā)電機組通過RS-485總線連成一個網絡,經過RS-485/RS-232轉換器,再接MODEM(見圖2),通過一條電話線路與監(jiān)控主機相連,只占用監(jiān)控主機的一個RS-232串口,每個機組分配一個地址,監(jiān)控主機依靠地址來區(qū)分機組,輪流通過同一條電話線路監(jiān)控各臺機組,但這樣一來會降低監(jiān)控系統(tǒng)的反應速度。
RS-485總線為兩線半雙工串口總線,使用雙絞線以平衡差分方式傳送數據,其主要特點有:傳送速率快,最快達每秒10M位;傳送距離遠,最遠達1200米;抗干擾能力強,在噪聲環(huán)境下長距離驅動32個節(jié)點。
2 柴油發(fā)電機組監(jiān)控模塊
每臺柴油發(fā)電機組配一個監(jiān)控模塊,就可以通過串口對柴油發(fā)電機組進行計算機監(jiān)控,各種信號從柴油發(fā)電機組電控箱內取。
我們選用80C552單片機作監(jiān)控模塊控制****,采用大規(guī)模集成電路,并結合了先進的設計技術。監(jiān)控模塊帶有雙看門狗電路,確保系統(tǒng)在意外死機時能自動恢復工作,這在無人值守的情況下是極其重要的。
柴油發(fā)電機組監(jiān)控模塊測量機組輸出三相電壓、三相電流、機組頻率、機組轉速、機油壓力、冷卻水溫、燃油油位、機組啟動電池電壓、輸出功率等運行參數并根據需要發(fā)送至監(jiān)控主機。冷卻水溫、機油油壓等參數的測量傳感器一般都不是線性的,而且不同柴油發(fā)電機組生產廠家選用的傳感器差異很大,監(jiān)控模塊保存監(jiān)控主機發(fā)來的數據表格,并根據表格對采來的冷卻水溫、機油油壓等參數進行線性化處理,以適應不同的傳感器。監(jiān)控模塊有不掉電存儲器,可以保存大量的工作、控制參數。
當測量的運行參數超出設定的上下限報警值,監(jiān)控模塊根據復雜的控制邏輯控制柴油發(fā)電機組的各種動作:起動、停機、ATS轉換等,并將各種報警信息以及柴油發(fā)電機組的各種狀態(tài)(自動/手動狀態(tài)、運行/停機狀態(tài)、市電/油機ATS狀態(tài)、油機/油機ATS狀態(tài))報告監(jiān)控主機。
監(jiān)控主機也可根據需要遙控機組開機、關機、緊急停機、市電/油機ATS轉換或油機/油機ATS轉換等。
柴油發(fā)電機組監(jiān)控模塊的所有設置都可以在現場通過面板鍵盤完成,或者由監(jiān)控主機在遠處通過串口進行。監(jiān)控模塊提供RS-232和RS-485兩種接口,有電信總局協議和MODBUS協議兩種型號,采用10位異步串行通信方式(起始1位,數據8位,停止1位,無校驗位),數據傳輸率1.2kb/s—19.2kb/s可選,監(jiān)控主機和監(jiān)控模塊之間采用嚴格的主從方式交換數據(監(jiān)控模塊只有在收到監(jiān)控主機的命令后才會返回相應的數據,而不會主動發(fā)送數據給監(jiān)控主機)。這樣的設計非常適合構建我們的柴油發(fā)電機組遠程監(jiān)控平臺。
柴油發(fā)電機組監(jiān)控模塊根據功能的強弱不同,已經形成了系列產品,以適應不同的需求。監(jiān)控模塊本身結構靈活,功能擴充也很方便。
3 通信協議
我們使用兩種通信協議:電信總局通信協議和MODBUS通信協議。
電信總局通信協議參照電信總局《通信局(站)電源、空調及環(huán)境集中監(jiān)控管理系統(tǒng)前端智能設備通信協議》,編碼方式為ASCII碼。信息傳輸方式為異步方式,起始位1位,數據位8位,停止位1位,無校驗。傳輸波特率為19.2KB/S,9.6KB/S,2.4KB/S,1.2KB/S,0.6KB/S,0.3KB/S可選。
MODBUS通信協議的編碼方式、信息傳輸方式與電信總局通信協議要求相同。
MODBUS協議描述如下:
命令格式:AA,CC,SSSS,WWWW,LRC,CR,LR
AA: 地址(兩字節(jié));
CC: 命令(兩字節(jié));
SSSS: 數據地址(四字節(jié));
WWWW:數據(四字節(jié));
LRC: 校驗碼(兩字節(jié));
CR: 回車;
LR: 換行。
響應格式:AA,CC,RENUM,DATA,LRC,CR,LR
RENUM:返回響應數據字節(jié)數;
DATA: 返回數據;
其余解釋與命令格式相同。
4 串口擴充
通常一個縣級局管理著幾個下級機站,如果采用監(jiān)控中心只用一條電話線路,由監(jiān)控主機撥號接通一個下級機站,監(jiān)控一下,掛斷連接,再撥號接通另一個機站的輪流分時監(jiān)控的方案,在機站較多時,系統(tǒng)反應時間太慢,難以做到實時監(jiān)控,所以監(jiān)控中心為每個下級機站分配一條電話線路,同時連接監(jiān)控所有機站。但是用作監(jiān)控主機的系統(tǒng)計算機一般只有兩個RS-232串口,不夠使用,需要擴充。
采用MOXA公司生產的系列多串口卡(使用較多的是C168H八串口卡)可以很方便地將RS-232串口擴充至需要的數量,而且這些擴充的串口的操作相互獨立。多串口卡本身附帶了豐富的函數庫和多種工具,支持VB、 Delphi、C++等流行編程語言,使用時可以直接調用,方便編程,但應注意,函數庫只支持串口卡上的串口。使用編程平臺提供的通信控件,可以同等地操縱串口卡上和計算機本身的RS-232串口。
由于Windows操作系統(tǒng)本身具有多任務的特點,所以可以通過精心設計監(jiān)控平臺軟件同時操縱這些RS-232串口并行地監(jiān)控各個下級機站,做到實時監(jiān)控(如果某下級機站有不止一臺的柴油發(fā)電機組需要監(jiān)控而采用RS-485方式相連,那么對這些機組仍需分時監(jiān)控)。
5 遠程監(jiān)控平臺軟件
柴油發(fā)電機組遠程監(jiān)控平臺對分布的柴油發(fā)電機組進行遙控、遙信和遙測,實時監(jiān)視其運行參數,監(jiān)測和處理故障,記錄和處理相關數據,從而實現設備少人或無人值守及集中維護。
遠程監(jiān)控平臺軟件包括兩部分:監(jiān)控軟件和界面構造軟件,整套軟件用Delphi5.0編制。遠程監(jiān)控平臺軟件同樣可以用來監(jiān)控別的設備。
遠程監(jiān)控平臺軟件按照通信協議區(qū)分有兩個版本:版本A符合電信總局通信協議,版本B符合MODBUS通信協議,適用于對不同協議型號的監(jiān)控模塊監(jiān)控。
遠程監(jiān)控平臺軟件對軟、硬件環(huán)境要求不高,普通的奔騰機,16M內存,中文版Windows95以上版本就可正常運行。
5.1 界面構造軟件
由于我們的柴油發(fā)電機組監(jiān)控模塊是一系列化產品,監(jiān)控的參數有一些差別,而且即使使用同一型號的監(jiān)控模塊,不同的用戶在監(jiān)控的參數上也有數量和名稱的不同,為了避免重復開發(fā)監(jiān)控軟件,以及現場安裝調試的方便,我們開發(fā)了一套界面構造軟件。
根據提供的軟件使用說明書和相應的通信協議,即使是用戶也能方便地針對某一臺需監(jiān)控的柴油發(fā)電機組設計一個監(jiān)控界面,監(jiān)控的參數數量,參數的名稱,以及字體,顏色,背景畫面等,都可以根據需要和自己的喜好設定。設計一個監(jiān)控界面,并生成界面文件后,指定每一個監(jiān)控對象對應的界面文件,監(jiān)控軟件自動調入這些界面文件轉化成界面并監(jiān)控相應的柴油發(fā)電機組。
5.2 監(jiān)控軟件
監(jiān)控軟件的功能框圖如下(圖3):
在完成必要的參數設置后,監(jiān)控軟件分別撥號與需要監(jiān)控的柴油發(fā)電機組建立連接,同時操縱多個RS-232串口發(fā)送、接收數據,監(jiān)控柴油發(fā)電機組,反應時間與只監(jiān)控一個機組的反應時間是一致的,約2秒完成一次實時數據刷新。如果一個機站內有多臺機組連成RS-485網絡通過一條電話線路與監(jiān)控主機相連,則監(jiān)控軟件對這幾臺機組輪流分時監(jiān)控,數據刷新時間= (同一RS-485網絡上的機組數X 2)秒。監(jiān)控軟件收集各個柴油發(fā)電機組的報警信息,產生報表文件以供打印保存或上報。
主監(jiān)控機組選擇:
導航樹窗口清晰地顯示出整個監(jiān)控平臺系統(tǒng)的構造:系統(tǒng)內有多少個機站,每個機站內有多少臺柴油發(fā)電機組,機站與監(jiān)控中心監(jiān)控主機之間是通過MODEM撥號通信還是RS-232串口電纜直接相連,目前有多少臺機組正處于監(jiān)控狀態(tài)等。點擊某機組圖標,則其監(jiān)控界面彈至最前,作為主監(jiān)控界面,此時可以監(jiān)視機組狀況,并完成控制、參數設置等任務。
撥號和掛機:
對所有需監(jiān)控的機站按各自設定的電話號碼進行撥號連接,工作結束后,將所有已撥號連接的機站斷開撥號通信連接??梢运袡C站同時自動操作,也可各個機站獨立操作。系統(tǒng)設有定時自動監(jiān)控功能,按設定的時間自動撥號連接,監(jiān)控時間到后,斷開撥號通信連接。
如果通過SDH信道傳輸數據,則相當于用RS-232串口直接電纜相連,不需撥號和掛機功能。
系統(tǒng)參數設置:
設置需要監(jiān)控的機站,以及電話號碼、機組地址、定時撥號、對應RS-232串口、通信波特率等參數。
模塊參數設置:
對每一個柴油發(fā)電機組監(jiān)控模塊,要使其按預定的功能正常工作,必須設置許多參數:機組地址、通信波特率、上下限報警值、傳感器線性化參數、監(jiān)控模塊系統(tǒng)參數等以及其他許多與柴油發(fā)電機組工作控制有關的參數。
報警記錄:
當某臺柴油發(fā)電機組有報警信息產生時,其對應的監(jiān)控界面彈至最前,成為主監(jiān)控界面,同時發(fā)出聲音報警,保存報警記錄。報警日志以文本形式保存在“報警記錄”文件夾中,每天產生一個報警文件,以當天的日期做文件名。報警文件定期清除。
報表打?。?br />
可以單獨打印每一個報警日志,也可以將當天所有機組的報警日志按一定的格式歸總生成報表再打印,作為當天的工作日志存檔或上報。
6 結束
我們開發(fā)的柴油發(fā)電機組遠程監(jiān)控平臺系統(tǒng)投入使用以來,已經先后在廣西、安徽、新疆等?。▍^(qū))的多個縣級局內安裝使用,雖然因為各地區(qū)的具體情況有些不同,系統(tǒng)的構建也有些差異,但就用戶反饋回來的信息來看,各個遠程監(jiān)控平臺系統(tǒng)操作簡單,工作穩(wěn)定,提高了工作效率和管理水平,用戶反應還是比較滿意的。相信隨著電信系統(tǒng)對原有柴油發(fā)電機組進行計算機自動監(jiān)控改造工作的逐步展開,該柴油發(fā)電機組遠程監(jiān)控平臺系統(tǒng)的使用量還會有較大數量的增長。
評論