基于TCP/IP的实时监控系统设计与实现
时间:09-17
来源:互联网
点击:
1、问题的提出
通信电源是通信网络的动力基础。随着我国电信事业的迅速发展,通信网络规模的不断扩大,需要操作与维护的设备种类和数量大幅度提高,设备的技术含量和复杂度也越来越高,以前的人工监测方式已无法满足正常的工作要求。上世纪90年代初原邮电部提出了对通信电源设备及环境进行集中监控的要求,即通过对通信电源及环境进行遥测、遥信和遥控,最终实现少人值守或无人值守,以提高设备维护质量,降低运行维护费用,同时保证系统处于良好的运行工作状态,从而大幅度提高整体运行效率,提高通信质量及电源系统的管理水平。
近年来,随着计算机互联网络的迅速发展,通信与计算机互相促进,越来越多的智能通信设备在通信局站投入使用,为通信电源的集中监控和科学管理打下了良好的基础。通过这些智能设备所提供的通信接口(如串口服务器)直接通过Internet将其接入通信电源集中监控管理系统,可实时获取设备运行的各种参数和实时数据,发送遥控命令,进行参数设置,同时获取设备的告警信息和运行状态,而不必再加额外的传感器、变送器和控制器,但这一切都需要精简高效的通信协议支持。
2、监控系统组成和体系结构
2.1监控系统的基本组成和结构
电源设备通过协议转换器将采集到的数据传到监控中心,监控中心再将数据存入数据库,以方便随时查询。监控系统的组成如图1所示。
图1监控系统的组成
2.2监控系统的网络结构
通信电源集中监控系统是由不同层次、不同功能的计算机和通信设备组成的一个计算机网络,采用Internet的数据传输模式,监控中心对各支局进行不间断的巡检,向串口服务器发送数据采集、遥测和遥控指令,串口服务器接受指令后将各监控模块采集的设备运行的各种参数和实时数据转化为服从TCP/IP协议的数据,发送回监控中心,存入数据库服务器以支持远程数据浏览和查询及数据统计工作,如设备出现故障可自动报警,其监控网络结构如图2所示。
图2监控网络结构
2.3监控系统的软件结构
通讯电源监控系统的界面如图3所示,其模块组成如图4所示。
图3 通讯电源监控系统的主界面
图4 通讯电源监控系统的功能模块
基础设定模块是用于人员的权限设置,监控中心和各局站的参数设置;实时监控模块主要是监测电源相关运行数据,例如电流、电压等,设备出现故障可进行声音和图像告警;数据采集模块是完成通信电源监测数据的采集并将其写入数据库;数据库维护模块则是完成数据库的管理;曲线图表模块是采用曲线的方式显示通信电源在某一段时间范围的实时数据,如电压、电流的变动情况;数据查询模块可根据用户要求查询通信电源的实时运行数据、告警信息、遥控命令、月统计和值班状况等信息,并可输出相关报表。
3、通信协议设计与实现
二十一世纪是一个以网络为核心的信息时代,TCP/IP Internet协议簇已经成为计算机工业中开放系统互联的事实上的标准。
3.1监控系统通信协议要求
监控系统的底层由硬件组成,为了更好的传输数据,将二进制数据转换为网络数据流,这一过程由串口服务器完成。
监控系统智能设备接入方式主要有直接接入方式和协议转换器接入方式。协议转换器简化监控系统前端处理过程,提高系统总体实时性。本系统采用的协议转换器即为串口服务器。
监控系统通讯协议对系统的性能影响非常大。制定协议主要考虑对监控量的数量和类别的要求;对实时性的要求;对可靠性的要求;对协议的可扩充性、兼容性的要求;对适用性的要求。通讯协议要无二义性,通讯协议必须能够提供可靠的、高效的通讯。
3.2通信协议的设计
为了统一智能设备通讯协议,方便接入监控系统,原电信总局于1999年颁布了《通信局(站)电源、空调及环境集中监控管理系统前端智能设备通讯协议》(中国电信交换[1999]625号)作为标准协议,2003年信息产业部又以该协议为基础制定监控系统智能设备通信协议的行业标准。
作为通讯电源的统一通讯标准,这一协议得到了广泛的应用。假设我们要传递的信息为00,则其信息帧的基本格式如下:
这种方式处理简单,仅用一条命令就可以获取大量的信息,但当监控系统仅需要了解其中少量数据内容时,许多无用的却依然占据着传输时间的数据,势必降低了效率。
因此很多公司有自己的通讯协议,他们直接采用二进制编码,即网络流中的数据不是ACSII格式的数据,而是数据本身,并且尽量减少冗余的数据。
3.3通信协议的实现过程
本系统的智能设备采用协议转换器(串口服务器)方式接入,传输协议采用《智能设备通讯协议》和企业自定义的传输协议(由于涉及企业的技术保密要求,本文中没作介绍),编程语言为C#,编程环境为Microsoft Visual Studio .NET 2003。
在Internet中,TCP连接是常见的方式,用这种连接方式可以方便地在互联网中传递数据,只要事先知道串口服务器的IP地址和端口,实现通讯协议的程序如下:
TcpClient myClient; //TCP连接套接字
NetworkStream myStream; //获取网络流
public bool ConectStation(string ip,int port)
{
//连接局站函数,连接成功返回true,失败则返回false
try
{
myClient= new TcpClient(ip,port);
myStream="myClient".GetStream();
return true;
}
catch
{
return false;
}
}
由于采用串口服务器,只需将传输数据的ASCII码转换为网络数据流,即可利用TCP/IP协议的可靠连接TCP连接传输二进制流,程序如下:
String stationNo; //局站号
String version; //版本号
AsyncCallback outcallback="new" AsyncCallback(this.OnCompleteWrite); //网络流传输的异步调用
public void SetDChksum (); //求CHKSUM
public void StartSend()
{
char soi=(char)0x7E; //开始字节
char eoi=(char)0x0D; //结束字节
string check="version"+stationNo+commandCode; //版本号+局站号+命令代码,需进行校验
string send="soi"+check+SetDChksum(check)+eoi; //发送数据字符串
byte[] outbuffer="Encoding".ASCII.GetBytes(send); //将数据字符串转化成字节数据流
try
{
myStream.BeginWrite(outbuffer,0,outbuffer.Length,outcallback,null);
}
catch
{
//发送数据失败的数据处理
}
}
通信电源是通信网络的动力基础。随着我国电信事业的迅速发展,通信网络规模的不断扩大,需要操作与维护的设备种类和数量大幅度提高,设备的技术含量和复杂度也越来越高,以前的人工监测方式已无法满足正常的工作要求。上世纪90年代初原邮电部提出了对通信电源设备及环境进行集中监控的要求,即通过对通信电源及环境进行遥测、遥信和遥控,最终实现少人值守或无人值守,以提高设备维护质量,降低运行维护费用,同时保证系统处于良好的运行工作状态,从而大幅度提高整体运行效率,提高通信质量及电源系统的管理水平。
近年来,随着计算机互联网络的迅速发展,通信与计算机互相促进,越来越多的智能通信设备在通信局站投入使用,为通信电源的集中监控和科学管理打下了良好的基础。通过这些智能设备所提供的通信接口(如串口服务器)直接通过Internet将其接入通信电源集中监控管理系统,可实时获取设备运行的各种参数和实时数据,发送遥控命令,进行参数设置,同时获取设备的告警信息和运行状态,而不必再加额外的传感器、变送器和控制器,但这一切都需要精简高效的通信协议支持。
2、监控系统组成和体系结构
2.1监控系统的基本组成和结构
电源设备通过协议转换器将采集到的数据传到监控中心,监控中心再将数据存入数据库,以方便随时查询。监控系统的组成如图1所示。
图1监控系统的组成
2.2监控系统的网络结构
通信电源集中监控系统是由不同层次、不同功能的计算机和通信设备组成的一个计算机网络,采用Internet的数据传输模式,监控中心对各支局进行不间断的巡检,向串口服务器发送数据采集、遥测和遥控指令,串口服务器接受指令后将各监控模块采集的设备运行的各种参数和实时数据转化为服从TCP/IP协议的数据,发送回监控中心,存入数据库服务器以支持远程数据浏览和查询及数据统计工作,如设备出现故障可自动报警,其监控网络结构如图2所示。
图2监控网络结构
2.3监控系统的软件结构
通讯电源监控系统的界面如图3所示,其模块组成如图4所示。
图3 通讯电源监控系统的主界面
图4 通讯电源监控系统的功能模块
基础设定模块是用于人员的权限设置,监控中心和各局站的参数设置;实时监控模块主要是监测电源相关运行数据,例如电流、电压等,设备出现故障可进行声音和图像告警;数据采集模块是完成通信电源监测数据的采集并将其写入数据库;数据库维护模块则是完成数据库的管理;曲线图表模块是采用曲线的方式显示通信电源在某一段时间范围的实时数据,如电压、电流的变动情况;数据查询模块可根据用户要求查询通信电源的实时运行数据、告警信息、遥控命令、月统计和值班状况等信息,并可输出相关报表。
3、通信协议设计与实现
二十一世纪是一个以网络为核心的信息时代,TCP/IP Internet协议簇已经成为计算机工业中开放系统互联的事实上的标准。
3.1监控系统通信协议要求
监控系统的底层由硬件组成,为了更好的传输数据,将二进制数据转换为网络数据流,这一过程由串口服务器完成。
监控系统智能设备接入方式主要有直接接入方式和协议转换器接入方式。协议转换器简化监控系统前端处理过程,提高系统总体实时性。本系统采用的协议转换器即为串口服务器。
监控系统通讯协议对系统的性能影响非常大。制定协议主要考虑对监控量的数量和类别的要求;对实时性的要求;对可靠性的要求;对协议的可扩充性、兼容性的要求;对适用性的要求。通讯协议要无二义性,通讯协议必须能够提供可靠的、高效的通讯。
3.2通信协议的设计
为了统一智能设备通讯协议,方便接入监控系统,原电信总局于1999年颁布了《通信局(站)电源、空调及环境集中监控管理系统前端智能设备通讯协议》(中国电信交换[1999]625号)作为标准协议,2003年信息产业部又以该协议为基础制定监控系统智能设备通信协议的行业标准。
作为通讯电源的统一通讯标准,这一协议得到了广泛的应用。假设我们要传递的信息为00,则其信息帧的基本格式如下:
这种方式处理简单,仅用一条命令就可以获取大量的信息,但当监控系统仅需要了解其中少量数据内容时,许多无用的却依然占据着传输时间的数据,势必降低了效率。
因此很多公司有自己的通讯协议,他们直接采用二进制编码,即网络流中的数据不是ACSII格式的数据,而是数据本身,并且尽量减少冗余的数据。
3.3通信协议的实现过程
本系统的智能设备采用协议转换器(串口服务器)方式接入,传输协议采用《智能设备通讯协议》和企业自定义的传输协议(由于涉及企业的技术保密要求,本文中没作介绍),编程语言为C#,编程环境为Microsoft Visual Studio .NET 2003。
在Internet中,TCP连接是常见的方式,用这种连接方式可以方便地在互联网中传递数据,只要事先知道串口服务器的IP地址和端口,实现通讯协议的程序如下:
TcpClient myClient; //TCP连接套接字
NetworkStream myStream; //获取网络流
public bool ConectStation(string ip,int port)
{
//连接局站函数,连接成功返回true,失败则返回false
try
{
myClient= new TcpClient(ip,port);
myStream="myClient".GetStream();
return true;
}
catch
{
return false;
}
}
由于采用串口服务器,只需将传输数据的ASCII码转换为网络数据流,即可利用TCP/IP协议的可靠连接TCP连接传输二进制流,程序如下:
String stationNo; //局站号
String version; //版本号
AsyncCallback outcallback="new" AsyncCallback(this.OnCompleteWrite); //网络流传输的异步调用
public void SetDChksum (); //求CHKSUM
public void StartSend()
{
char soi=(char)0x7E; //开始字节
char eoi=(char)0x0D; //结束字节
string check="version"+stationNo+commandCode; //版本号+局站号+命令代码,需进行校验
string send="soi"+check+SetDChksum(check)+eoi; //发送数据字符串
byte[] outbuffer="Encoding".ASCII.GetBytes(send); //将数据字符串转化成字节数据流
try
{
myStream.BeginWrite(outbuffer,0,outbuffer.Length,outcallback,null);
}
catch
{
//发送数据失败的数据处理
}
}
- 光缆结构及工艺的发展(03-04)
- 基于Zigbee的远程家庭监护系统的应用研究(04-08)
- 触摸屏基本原理(04-16)
- 无线传感器网络的服务质量保障技术(10-16)
- 网络自组织通信模式和技术研究综述(10-26)
- 视频传感器网络覆盖控制(Coverage Control)问题研究概述(11-24)