图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:向串口写数据
数传电台间的点对点通信是靠电台的身份地址区分的。为实现对特定点的通信,主控机首先设置与分控点数传电台身份地址一致的主控站数传电台的目的地址,然后在向分控点发送数据和命令。数据通信程序实现的主要代码有:
向电台写控制命令
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事件中处理。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。