UPS远程监测报警系统的开发_第1页
UPS远程监测报警系统的开发_第2页
UPS远程监测报警系统的开发_第3页
UPS远程监测报警系统的开发_第4页
UPS远程监测报警系统的开发_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、UPS远程监测报警系统的开发1、Snmp协议在UPS等设备上的应用原理简介 SNMP(Single Network Manage ment Protocol网络管理协议是一个基于TCP/IP的Internet标准的网络管理协议。随着Internet所使用的TCP/IP协议族成为事实上的网络间互连协议标准,SNMP也成为计算机网络管理方面大家实际遵循的标准。目前这种网络管理协议应用很广,几乎所有的网络厂商推出的网络管理系统都支持SNMP协议并开发了与SNMP有关的产品投放市场。 在SNMP管理模型中有三个基本组成部分:管理者(Manager),被管代理(Agent)和管理信息库(MIB)。管理站

2、一般是一个单机设备或一个共享网络中的一员,它是网络管理员和网络管理系统的接口,能将网络管理员的命令转换成对远程网络元素的监视和控制,同时从网上所有被管实体的MIB (管理信息库 中提取出信息数据。 该所开发的UPS电源管理软件以电脑网络操作为平台,能在机房电脑屏幕上对UPS室的UPS进行远程监视。其中SNMP卡是UPS网络接口的全权代理(Agent),它平时一直监视着UPS的状态,如果远程网络监控管理计算有查询、控制等请求过来时,经由它认证确认后,再解释传达给UPS执行,而一旦UPS发生某些故障状态时,它会马上向指定的远程监控计算机发出报警信息,说明UPS现在发生了什么故障状态,让值班人员及时

3、了解状况,进行处理。 2、UPS监测系统主要组件介绍 本系统主要由UPS、SNMP适配器、路由器、网卡、IBM PC机组成,通过网络通讯线联接,其物理联接图如下: (1)60KVA MGEUPS 梅日梅兰MGEUPS银河Galaxy系列在该站使用两年来运行状态良好。UPS为后级负载提供优质稳定的电源,并有足够的后备时间在外电中断时为设备运行提供电源保障。是我站电力重要组成部分。 (2)SNMP Adapter (SNMP适配器) UPS附加的外接式SNMP Adapter或内接式SNMP界面卡让UPS马上具有上网功能。网络管理人员可通过网络平台进行远端监控和管理UPS。 SNMP Adapte

4、r或内接式SNMP界面卡会将UPS的讯息转换成SNMP MIB兼容规格的讯息,通过网络(甚至Internet网传给相关的网管工作站(NMS。当电源发生不正常状态时,网络管理员可根据传来的信息得知事件发生,并进行处理。适配器具有HTTP功能,用户通过普通的浏览器(Netscape Browser、Microsoft Internet Explorer即可对Internet上的UPS进行访问。 厂家提供的SNMP View等界面是为网络操作平台专门开发的电源管理软件,能在屏幕上远程监视UPS的工作状态,但不能进行参数报警。我们通过开发集成在SNMP Adapter的协议可进行界面定制及报警功能的实

5、现。 (3)IBM PC机 IBM PC机作为本系统软件运行的平台,配上Windows操作系统是我们最常用的微机配置。 (4路由器或HUB 路由器或HUB用来连接多个UPS适配器。方便由一台电脑集中管理多台设备。 (5网卡 使用通用PCI网卡即可。为了保证通讯速度,推荐用100M以上的网卡。 3、开发程序的实现 本系统由VC+与Broland Delphi结合开发。可应用由Windows9X,WindowsXP系统。其流程图如下: (1利用IdIcmpClient组件的ping命令来检测UPS地址通讯联接是否正常 判断当前计算机有没有连接到网络,主要是在物理连网下使用IdIcmpClient组

6、件的ping命令来实现。ping是一个基本的网络命令,用来确定网络上具有某个特定IP地址的主机是否存在以及是否能接收请求。ping命令通过向计算机发送ICMP回应报文并且监听回应报文的返回,以校验与远程计算机或本地计算机的连接。对于每个发送报文,ping最多等待1秒,并打印发送和接收。把报文的数量,比较每个接收报文和发送报文,以校验其有效性。默认情况下,发送四个回应报文,每个报文包含64字节的数据(周期性的大写字母序列)。我们可以使用Ping实用程序测试计算机名和IP地址。如果能够成功校验IP地址却不能成功校验计算机名,则说明名称解析存在问题。当ping命令返回值小等于0时,我们就判断网络设备

7、无法联接或无响应。就等下一个时钟指命到来时再进行判断通讯是否正常。 (2)利用vc+计算oid节点 OID是MIB树上面的节点,形如.2.1.每个数字表示MIB树的一层,向下递推。MIB分两种,一种是标准MIB,是有国际标准的MIB-1、MIB-2,可查看RFC文档,另一种是私有MIB,由设备生产商定。我们利用厂商提供的UPS的RFC文档,使用vc+计算出oid节点,然后在oid节点返回的数据采集就是我们所需要的UPS的参数值。 由UPS的MIB库访问实现的研究管理信息库(MIB)定义了由USP代理者维护的各种变量,它们由管理者来进行存取操作,从而实现具体的网络管理。对MIB库变

8、量访问利用VC+程序是比较容易实现的。 UPS可以通过SNMP 操作直接与管理代理通信,获得即时的设备信息,对网络设备进行远程配置管理或者操作;也可以通过对数据库的访问获得网络设备的历史信息,以决定网络配置变化等操作。SNMP管理代理指的是用于跟踪监测被管理设备状态的特殊软件或硬件,每个代理都拥有自己本地的MIB。实际上,SNMP 的管理任务是移交给管理代理来执行的。代理翻译来自管理站的请求,验证操作的可执行性,通过直接与相应的功能实体通信来执行信息处理任务, 同时向管理站返回响应信息。 UPSMIB对象定义格式:ASN.1是一种用于描述结构化客体的结构和内容的语言,基于编码规则BER(Bas

9、ic Encoding Rules)是ASN.1标准定义的一种传送文法。每个MIB变量格式是SMI规定的,用ASN.1描述如下表: OBJECTNAME是被管对象的名字,ASN.1要求所有对象的名字在MIB中必须是唯一的,JECT-TYPE是每一个节点对象所必需的关键字; DESCRIPTION是对被管对象的功能、特征等进行描述的关键字,(description)是被管对象的文本描述; UNITS是参数的单位; SYNTAX是被管对象类型的关键字,随后跟着的是一个类型(syntax); ACCESS是被管对象的访问方式关键字,在SNMP 第2版中为MAX-ACCESS 关键字,(access)

10、是被管对象的访问方式,可为如下列举值之一:read-only、read-write、no-accessible,SNMP第2版中又增加了read-create; STATUS是被管对象关键字,(status)是被管对象的状态,如必备的、可选的或废弃的; 在:=(Parent)number 中,Parent表示位于MIB树中的父节点,number表示是第几个子节点。 UPS MIB树:每个MIB对象都用对象标识符(OID)来唯一的标识,这是用定义在ASN.1语法中的树型结构来组织的可用信息,其中每个可用信息是一个带标号的节点,每个节点用数字和字符两种方式显示,其中对象标识符OID是由句点隔开的一

11、组整数,也就是从根节点通向它的路径,它命名节点并指示它在ASN.1树中的准确位置。一个带标号节点可以拥有包含其它带标号节点为它的子树,如果没有子树它就是叶子节点,它包含一个值并被称为对象。图3是带有ASN.1编号的MIB树实例:可以看出MIB-的OID是:.2.省略.ernet.mgmt.mib2。在SNMP中,实现应用到的MIB对象都是MIB-的子树节点。如UPS电池充放电电流OID为..2.6,其中.2.1为MIB-的OID分支,后面的.是指UPS中的叶子结点。 以上阐述了对MIB的读取实现,通过VC+

12、计算,首先要写底层的读取MIB的类, 服务器端主要是读取网络设备的MIB值,存放在数据库中,或者从数据库中读取记录,并进行分析考虑到命令模块的可重用性,此方法开发的网络管理系统基模块具备了发送网络管理查询请求到远程设备的能力,实现了对动态管理数据的收集,只有很好的实现对MIB的存取,网络管理系统才能更好的发挥作用,若对MIB进行深入的分析,可以将其应用到流量监控、性能分析、访问控制等重要的网络管理功能。 (3)利用INDY组件进行数据采集 INDY的全名是Internet Direct(也叫Winshoes),它是一套开放源代码的Internet控件集,它支持大部分流行的Internet协议,

13、包括TCP、UDP、DNS、ICMP、FINGER、FTP、GOPHER、HTTP、POP3、SMTP、TELNET、WHOIS等,支持BASE64、MD2、MD4、MD5等编解码,提供INTERNET流行协议的客户端和服务器控件。INDY控件集的客户端和服务器控件都有完整、详细的源代码例程和帮助文件,用户可以根据这些例子,简单方便快速的建造各种服务器程序,例如WEB服务器、TELNET服务器、IRC服务器、TCP、UDP服务器等,而这些服务器都是支持多线程的。用户也可以很简单的编写出各种客户端程序,例如EMAIL、FINGER、FTP、PING、TELNET等。有了INDY你可以使用UDP服

14、务器和UDP客户端写出各种网络通讯应用程序。 INDY在Broland软件公司的已是标准化组件。INDY是完全基于SOCKET阻塞工作模式的开发库,现在已经支持BORLAND DELPHI、C+ BUIDER和最新的Kylix(LINUX里的DELPHI)等开发平台。目前,INDY的最新正式发行版本是8.0版,最新BETA版本是8.1版。INDY8.0支持DELPHI 4、DELPHI 5、C+BUIDER 4、C+BUIDER 5、Kylix等版本。Kylix已经把INDY作为标准组件打包到发行包里了。而且DELPHI 7.0把INDY作为它的INTERNET基本组件,INDY为程序员提供更

15、便捷的开发组件。 INDY中QuickSend对UPS参数访问实现,QuickSend命令可通过输入计算好的oid节点取得返回参数值。QuickSend由管理站去获取代理管理信息库的值,通过发送消息来实现。管理站通过发送QuickSend报文从拥有SNMP管理代理的网络设备中获取指定对象的信息。 UPS MIB 对象及变量:UPS MIB是一树形结构的数据库,MIB-I定义了8个管理信息类别,MIB-是在MIB-I基础上的扩展,增加了SNMP和CMOT两项。System(关于实体所在系统的数据);Interface(用于管理的网络接口信息);AT(地址转换信息);IP(网络协议);ICMP(为

16、IP设备携带错误和控制的协议);TCP(传输控制协议);UDP(用户数据报协议);EGP(外部网关协议);CMOT(公共管理信息与服务协议);SNMP(简单网络管理协议)。 MIB库中每一个变量都符合ASN.1语法规则,MIB库中只使用了ASN.1诸多类型中的INTEGER,OCTET STRING,OBJECT IDENTIFIER,NULL作为基本类型,同时定义了IpAddress、Counter、Gauge、TimeTicks、Opaque类型,大体上说,MIB中变量可分为两大部分,简单变量(Simple variable)和表格(Table)。简单变量是常见的整型及字符串,也包括一些数

17、据集合,通过在变量的对象标识符末尾附加.0来引用。表格对应一组数组,可包含变量的多个实例,表格中的每个表项可以用多个字段,这些字段本身可能是简单变量也可能是表格,表格不能直接进行存取,对于表格变量通过在变量的对象标识符末尾附加.1.2.3来引用。 访问流程及原理:首先根据自变量接收一个要访问的被管理对象主机名,并接收要查询的对象标识符的简略定义形式。过程首先生成SNMP报文,一旦报文生成,再把报文简单反转过来发送出去。这其中要将请求标识符段内容及标识符长度保存起来,留待以后进行匹配检查。生成SNMP报文后,建立代理地址,创建套接字连接,以便代理能将响应发回。然后,启动警告信号处理器,将SNMP

18、请求报文发给代理,等待一个响应的到来。因为SNMP是工作在UDP之上的,所以在SNMP应用实体间通信时,无需先建立连接,这样虽降低了系统开销,但UDP传输是不可靠的,为此,网络管理站采取了相应的超时和重发策略。本系统在发出请求报文之后,启动超时计数器,等待响应的到来,并设置重发次数为3。若3次之后仍没有收到响应,则关闭套接字,并返回一个“接收失败”错误代码。反之,若确定收到一个响应,则调用过程来把响应转换成为内部表示形式,即对SNMP报文进行译码。再用已保存的Request-id与响应Request-id段进行比较,来验证这个报文是否是刚才发出的请求报文的响应。若是,就调用另一个过程,把每段对

19、象标识符的ASN.1表示形式转换成自己的内部形式,并显示其值。由于SNMP报文对各个段都使用可变长度编码,这就使得即便是从SNMP报文中提取简单整数段,也要进行许多计算,因而,所开发的系统原码程序中包含了一个语言较长、结构复杂的特殊句法分析程序,用于提取报文的各个段并进行译码,此句法分析软件必须把一指针移遍报文中所有各段,以找出各段长度并提取其数值。 (4)利用Acess数据库保存记录 Access数据库是MS Office 程序的一个主要应用程序,由于与Windows同是微软的产品,所以在Windows XP中可以免安装数据引擎,是个绿色的数据库。目前大多计算机都预装了该软件。本系统把报警开

20、始和结束时间自动记录在Access数据库中,当系统检测到故障信号,计数器开始计数,当计数达到设定值且信号恢复正常时,系统会自动检测到并触发记录模块,将信号故障类型、时间和长度记录到数据库文件中保存。操作者可以方便打数据库进行编辑,并可拷贝到Word、Excel中来生成报表。记录并分析历史数据,对当地电网情况综合分析,可打印资料和记录档案。 (5)程序计算电池充放电电流、输入电压值作为报警参数 本系统除了实现UPS参数界面友好显示,更主要的想在UPS出现电源事件时进行报警,提醒值班人员注意输入、输出电压、电流和频率、UPS的电池组充电和放电、UPS输出功率及有关故障、报警信息等。 当外电停电时,本系统通过采用判别输入电压是否低于设定值作为报警信号。 当该站两路外电切换时,本系统通过采用判别电池是否进行充放电作为报警信号。 当UPS电池放电是否过深,本系统通过采用判别电池带载时间作为报警信号。 (6)Mci mmsystem库作语音报警 电脑声音报警是采用Window API函数MciSendString来播放Wav格式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论