基于Modbus协议的自然环境空间分布式温湿度测控系统设计现场总线技术论文
目前,大型基地(如仓库)对其空间内部的温度和湿度参数非常关注,因为这直接关系到其中储存的设备是否能够无腐蚀、完好的被保存。因此,能够自动测量空间内的温湿度并在需要的时候开启风机以控制温湿度是很有必要的。本文提出用分布式系统结合Modbus协议来高稳定高可靠地收集数据,同时在PC机上利用ACCESS的强大功能分析和处理数据并发出风机指令,从而实现温湿度的自动测控。
系统构成
该温湿度测量控制系统属于传感器空间立体分布式测控系统,采用PC主机和一台上位机、以及若干台下位机来实现主从式通信,同时使用RS485通信方式并采用Modbus协议组成工业级485网络,然后再加上风机、打印机等。从而构成一套完整的系统来实现对基地的温度湿度参数进行监测和控制。下位机采用一线总线(12wireinter2face)温度传感器来和shtll湿度传感器精确地采集温湿度信号,并应用PIC16单片机会把处理后的信号通过RS-485总线发送给上位机。上位机是采用AT89S52中央控制单元,可进行数据处理和数据储存,并可与PC机会实现数据交互,进而通过该网络驱动风机控制开关通断。
Modbus协议
Modbus协议适用于半双工的RS-485总线,该总线上一般可有一个主机会话多个从机关,每个从机关分配唯一地址。当工作时,采用命令应答通讯方式,每一种命令帧都对应着一种应答帧;主机会向要访问的一台或多台从机关发出命令帧,然后由地址匹配的一台或多 台从机关进行响应,再向主机关发出与命令帧相应的一个或多个应答帧;未被选中的任何其他仪表不响应该命令帧。此种问答交流方式能显著提高了正确性。
标准Modbus规定了许多功能代码,不同功能代码要求不同行为。而且,它们又可以分为ASC码模式(ASCII)或者RTU模式,一般情况下希望尽可能扩大在较短时间内传输多少数值,因此,大部分应用程序都是采用的RTU方式。一方面,无论是请求还是回复消息,都必须至少有一段3.5字符长度以上停顿作为标志。一条请求包含了目的地地址告诉哪一个设备接收这一请求,功能码决定哪些操作要执行寄存器起始位置则说明什么范围内寻找某些信息字节数指明了读取几个寄存器最后是一个校验码,用CRC-16校验所有开始于目的地地址之下的所有字节。这使得错误率降低至94%以上。在回复中,这些含义相同但顺序不同的元素出现在回复里:目的地、函数代码及校验码跟请求一样,但每次只返回一个寄存器内容。
系统硬件实现
本实验硬件设计主要依赖于两类微型计算设备:即称为“服务器”、“客户端”的微型电脑,这两个名字经常反映它如何工作:它们提供服务(服务器)或者直接获取服务(客户端)。此外,还包括一些输入/输出模块,如键盘输入模块,以便用户可以交互操作软件,以及显示屏幕输出模块以显示所需结果。此外还包括了一系列物理设备,比如打印头,以便将重要结果永久记录下来,或用于报告书面文件。
系统软件设计
本项目中开发出的软件使用VB语言编写,并且基于Access数据库管理。由于这些工具都支持图形界面,它们变得容易理解且直观易用。这使得这个工具非常简单易于使用,其完成的大部分主要任务包括数据收集、设置菜单项选择用户权限设定密码等等;还有历史记录分析报警设置装置管理输出报表图形展示等项全部融入到这款产品中去。