文档介绍:应用Modbus协议实现机房环境监测数据采集
宁夏银川市陈鹏750001
摘要:本文主要介绍了针对信息机房内普遍应用的温湿度传感器、机房精密空调等设备,通过MODBUS通信协议,应用C#编程语言,进行温湿度等环境数据的采集编程方法,同时也介绍了空调的通讯协议使用方法及通信协议编程过程中可能存在的一些问题。
关键词:Modbus 协议机房温湿度传感器空调 C#
概述
信息机房作为各企业、政府机构等各类信息系统运行的场地,信息设备对机房环境有严格的温湿度要求。此外由于机房设备密度大,机房处于防尘密闭状态,一旦机房精密空调出现故障停机、运行异常等问题,将会迅速导致机房温度的升高以致各种计算机系统宕机。
技术要点
Modbus 通信协议是广泛应用于各类工业电子控制器上的一种通用通信协议。通过此通信协议,控制器相互之间、控制器经由网络(例如使用RS232、RS485/422、Modem加电话线、甚至TCP/IP来联网)和其它设备之间可以实现通信。应用Modbus 通信协议,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
标准的ModBus 是使用RS-232C 兼容串行接口, RS-232C规定了连接器针脚、接线、信号电平、波特率、奇偶校验等信息,ModBus的ASCII, RTU协议则在此基础上规定了消息、数据的结构、命令和应答的方式。ModBus控制器的数据通信采用Master/Slave方式(主/从),即Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求。Master端也可以直接发消息修改Slave端的数据。当在网络上通信时,Modbus通信协议规定每个控制器必须设置设备地址,消息接收方通过识别按地址发来的消息判断设备的发送方,根据消息包含的功能码从而决定要产生何种操作。如果是查询操作需要回应相应的设备状态信息,接收方控制器将生成应答消息,使用Modbus协议发送给询问方。
Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。
Modbus协议包括ASCII、RTU、TCP等通信模式,在这里仅介绍一下Modbus协议的RTU模式。在RTU通信模式中,消息的每个8Bit字节包含两个4Bit的十六进制字符。。传输过程中,网络设备不断侦测网络总线,在停顿间隔时间内,当第一个地址域接收到数据,相应的设备就对接下来的传输字符进行解码,一旦有至少3. 5个字符时间的停顿就表示该消息的结束。
RTU模式的消息帧
表一
在RTU模式中整个消息帧必须作为一个连续的流转输,,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3. 5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。如果在传输过程中有以上两种情况发生的话,必然会导致CRC校验产生一个错误消息,反馈给发送方设备。
数据采集程序实现
机房