首页 > 范文大全 > 正文

机房温湿度远程监控程序的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇机房温湿度远程监控程序的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:提出了远程监控机房温湿度的必要性并讨论了可编程温湿度传感器的选型和介绍,最后给出了LTM9950D传感器的数据发送和采集的实现过程。

关键词:机房;温湿度;监控;编程

中图分类号:TP308文献标识码:A文章编号:1009-3044(2012)08-1844-04

Design and Implementation for Remote Monitoring of Room Temperature and Humidity

YU Peng, LI Li

(South West Air Traffic Management Bureau.CAAC, Chengdu 610202, China)

Abstract: Raised the need for remote monitoring computer room temperature and humidity, and discussed the selection and introduction of the programmable temperature and humidity sensors, and finally given how to program.

Key words: computer room; temperature humidity; monitor; program

机房建设中机房环境监控是个很重要且必不可少的部分,当前小型机房的发展趋势是逐步服务器机架化,刀片式服务器的数量日益增多。机架化UPS系统已经越来越多。空间节省了,但是功率密度越来越高。机房整体温度和机柜温度都迅速升高,机架内部环境威胁着IT系统的整体可用性。众所周知,系统的稳定性除了电力因素外,最大的相关因素就是环境温度因素。据统计,在基准温度情况下,温度每升高10℃计算机的可靠性就下降25%,机房过热情况如果不能及时处理,将会可能造成机器损坏、数据丢失甚至引起电源短路、火灾等事故。目前国内多数中小机房无24小时值班,一般用巡查方式,温湿度数据不能远程传输,不能第一时间发现隐患,非上班时间、节假日等存在安全隐患。温湿度远程监控模块就是在这一需求下产生的,它的作用就是读取温湿度传感器的数值,并通过网络实时远程显示,达到对机房温湿度进行监控的功能。

1 LTM9950D介绍

LTM9950D是由北京长英科技公司开发的一款温湿度数据采集单元,是以太网模式温湿度一体化监测系统的重要组成单元。借助以太网传输技术,LTM9950D将其测量点的温湿度信息传到网络上,无论在局域网内还是互联网上的任何一台计算机(INTERNET远程)都可以通过终端随时查看监测到的LTM9950D的温湿度值。其外观如图1所示。

图1 LTM9950D外观

LTM9950D出厂时有缺省IP地址,一般为:0.0.0.0(子网掩码:0.0.0.0),接入网络时,可通过DHCP自动获取IP.。连接完毕后,可在网络上的某台PC机上运行NET程序搜索和显示温湿度数据。

LTM9950D的数据通信协议采用Modbus协议的ASCII模式。

1)数据读取指令(LTM9950x)

(均为ASCII字符表示的十六进制数据,共17个字符)

: 0 0 0 4 5 0 8 0 0 0 0 8 S1 S2 CR LF

依照数据的顺序所代表的含义依次时

:帧起始符

0 0 LTM9950地址(2个字符)

0 4读取命令(2个字符)

5 0 LTM9950内存起点高位(2个字符)

8 0 LTM9950内存起点低位(2个字符)

0 0读取数据数量高位(2个字符)

0 8读取数据数量低位(2个字符)

S1 S2校验和(2个字符)

CR LF数据帧结束符

2)数据应答:(均为ASCII字符表示的16进制数据,共43个字符)

(用X1,X2表示一个数据的高4位字节字符及低4位字节字符)

: A1 A2 0 4 1 0 5 0 V1 V2 TH1 TH2 TL1 TL2 HH1 HH2 HL1 HL2 R1 R2 R3 R4

DI1 DI2 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 S1 S2 CR LF

:帧起始符

A1 A2LTM9950地址(2个字符)(注:此地址无具体意义,仅为协议保留,区分不同LTM9950x模块可根据其IP地址或MAC码)。

0 4命令符(2个字符)

1 0数据数量(2个字符)(注:10h,即16个字节,32个字符)

5 0类型码(2个字符)

V1 V2传感器版本号(2个字符)

TH1 TH2温度数据高位(2个字符)

TL1 TL2温度数据低位(2个字符)

HH1 HH2湿度数据高位(2个字符)

HL1 HL2湿度数据低位(2个字符)

R1R4保留(4个字符)

DI1 DI2开关量数据(2个字符)

R5R18保留(14个字符)(注:此处为保留备用数据位置)

S1 S2校验和(2个字符)

CR LF帧结束符(2个字符)

3)温度数据定义

温度应答数据格式:

表1 TH温度应答数据格式高位

表2 TL温度应答数据低位

TH-BIT3为符号位,BIT3=1,为负温,BIT3=0为正温。

TH中,BIT7~5为数据类型主义,BIT4恒为0

TH中BIT2~0及TL为温度数据

温度值分辨率为: 0.0625℃(2-4位)

温度计算公式为:

正温:TMP=((TH & 07H)*256+TL)*0.0625

负温:T1=TH & 07H

TMP=-(T1*256+TL)*0.0625

4)湿度数据定义:

湿度算法:

湿度值=(HH * 256 + HL)/ 10

HH湿度数据高位

HL湿度数据低位

2设计与实现

温湿度远程监控程序程序需要实现和传感器建立连接、读取传感器数据、数据换算、显示等功能,其程序流程图如图2所示。

图2程序流程图

2.1与LTM9950模块建立TCP连接

由于LTM9950D通过DHCP或者直接手动设定可以获得相应IP地址,其默认端口号为10050,可以通过TCP方式对其进行连接,连接部分代码如下:

Form1.idTCPClient1.Host := address; //获取传感器IP地址

Form1.idTCPClient1.Port := 10050;//获取传感器端口

Form1.idTCPClient1.Connect(1000);//连接,超过1000毫秒无响应退出

2.2发送数据读取命令帧

在和传感器成功建立连接后,需向LTM9950D发送请求数据帧,根据传感器要求,需发送“:00045000000824(CR)(LF)”,发送部分代码如下:

if(Form1.idTCPClient1.Connected = true) then

begin

ask := ’:00045080000824’ + #13#10;//生成指定数据字符串

for i := 1 to length(ask) do//将字符串转化为byte数组

begin

askbytes[i] := Ord(ask[i])

end;

Form1.idTCPClient1.WriteBuffer(askbytes,20);//向传感器写入

2.3接受TCP数据(LTM9950应答帧)

在发送指令后,需建立一个byte型数组并立即接收传感器数据流,代码为:

Form1.idTCPClient1.ReadBuffer(answerbytes,43);//接收数据

2.4数据换算,计算出温/湿度数据

接收数据后,需读取数据,判断数据有效性,如果数据有效,则对数据按规定进行换算,得出温湿度值,部分代码如下所示:

answer[0][0] := chr(answerbytes[11]);//读取有用部分数据

answer[3][1] := chr(answerbytes[18]);

for i := 0 to 3 do//对接收到的数据进行16进制换算

begin

for j := 0 to 1 do

begin

case answer[i][j] of

’A’: temp[i][j] := 10;

’F’: temp[i][j] := 15;

else

temp[i][j] := StrToInt(answer[i][j]);

th := temp[0][0] * 16 + temp[0][1];//温度计算

tl := temp[1][0] * 16 + temp[1][1];

hh := temp[2][0] * 16 + temp[2][1];//湿度计算

hl := temp[3][0] * 16 + temp[3][1];

tl := (th and 7) * 256 + tl;

tmp := tl * 0.0625;//温度值

if ((th and 8) 0) then

begin

tmp := -tmp;

end;

smp := (hh * 256.0 + hl) / 10.0;//湿度值

end;

3结束语

采用以太网总线技术的机房温湿度监测系统可提高系统稳定性、降低系统成本。以太网总线技术确保系统布线简单,系统故障率极低。环境温湿度一体传感器也已完全网络数字化,可在局域网内多点联网。因以太网模式温湿度一体化监测系统的独特性决定了在网络布线资源已具备的场所(机房、基站、办公大楼、仓库等),代替模拟或数字方式将是必然趋势。

参考文献:

[1]马世奎.Delphi 7.0编程实战导航[M].北京:希望电子出版社,2003.

[2] LTM8901DC LCD显示RS485湿度探头[EB/OL].www.省略/page/product/170.shtml.

[3] LTM8950/9950测试软件及说明书[EB/OL].www.省略/page/download/148.shtml.