城市路燈無線監控軟件設計(圖)
上傳人:admin 上傳時間: 2008-08-19 瀏覽次數: 628 |
城市路燈自動監控系統以計算機為核心,通過無線通信技術實現公布式數控采集監控的系統,其監控系統結構如圖1所示。中心控制計算機(主控站)和終端控制器(分控點)是各自獨立的系統,同時它們又通過數傳電臺聯系起來構成三遙系統,即遙測、遙控、遙信。
圖1城市路燈監控系統結構圖
1、系統實現的功能
城市路燈監控系統是以城市地圖為主顯示界面,其主要功能有
1)控制功能。系統提供開/關燈控制功能,主控站自動將每天的燈控時間傳送給分控點,分控點根據收到的燈控時間進行開關燈控制。主控站可手動執行群控 開/關燈,也可全天候對任一終端執行開/關燈。主控站通過GPS對時功能獲得準確的時間并自動對分控點校對,保證節點有統一的時間基準。
2)數據采集功能。主控站根據數據采集周期自動采集各個分控點的數據,這些數據包括三相電壓、支路電流、支路燈的開關狀態、支路的報警信息(電流高高 限、電流高限、電流低限、支路短路、開關跳閘、電壓缺相、電壓上限和電壓下限)、電度計量等。如果分站點出現報警,則分站向主控站提出報警,主控 站中斷當前巡檢,處理報警信息。
3)統計管理功能。系統具有完善的數據統計、分析、管理功能。分控點采集的上述數據通過數傳電臺發理后,以直觀的圖形或表格形式提供給用戶。這些數據 包括亮燈率統計、線路狀態顯示、報警列表、各種數據自動保存到數據庫中,對所需的數據自動形成各類所需格式報表,報表可以顯示和打印。
4)圖形顯示功能。整個城市的路燈控制點以地圖方式顯示,在地圖上表示分控點的位置和分控點的狀態(開燈狀態和報警狀態),界面直觀方便。點擊各站點 標記,可以直接查看分控點當前信息。
5)參數設置功能。參數設置包括分控點參數、系統參數、分控點標志管理、用戶管理和燈控時間等。
2 軟件設計主要實現方法
該系統軟件采用C++Builder5.0可視化開發工具編寫,C++Builder具有和Delphi一樣的組件庫,但編譯語言采用C++編譯器,是快速應用程序開發工具。下面是軟件主要部分實現方法。
1)無線通信。城市路燈監控系統是通過數傳電臺實現數據采集和控制的。數傳電臺與計算機連接采用的是RS232接口,因此程序需要實現串行通信。C++Builder沒有提供串行通信控件,可以采用Windows-Apl編程方法控制串口或使用第三方串口控件,采用控件方法實現串行通信簡單,同時也符合可視化編程思想。本系統使用SPCOmm控件,SPCOmm控件是用Delphi編寫的控件,可以在C++Builder中安裝使用,SPCOmm控件提供的屬性、方法和事件主要有:
DtrControl:Dtr信號控制屬性
SendDataEmpty:發送緩沖區空標志
StartComm:打開串口
StopComm:關閉串口
WriteCommData:向串口寫數據
OnReceiveData串口有接收數據時的事件
數傳電臺間的點對點通信是靠電臺的身份地址區分的。為實現對特定點的通信,主控機首先設置與分控點數傳電臺身份地址一致的主控站數傳電臺的目的地址,然后在向分控點發送數據和命令。數據通信程序實現的主要代碼有:
向電臺寫控制命令
Comm1->Dtrcontrol=DtrEnable;//控制串DTR端,表明串口數據為發送給電臺的命令
if(Comm1->SendDataEmpty)
Comm1->WriteCommData(SendBuffer,Length);//S-end-Buffer數據指針,Length為數據長度
發送數據或命令
Comm1->DtrControl=DtrDisable; //控制串口的DTR端,表明串口數據為通過電臺發送的數據
if(Comm1->SendDataEmpty)
Comm1->WriteCommData(SendBuffer,Length);
收到的串口數據在OnReceiveData事件中處理。
用戶名: 密碼: