资源描述
基于LabVIEW的库房温湿度监测系统的设计
第一章 引言 1
1.1本文研究的目的及意义 1
1.2传统的温湿度监测方法 2
1.3课题的来源及研究内容 2
第二章 LabVIEW软件及其监控功能的介绍 4
2.1虚拟仪器技术 4
2.1.1虚拟仪器的概念及系统结构 4
2.2 LabVIEW软件介绍 5
2.2.1 LabVIEW概述 5
2.2.2 LabVIEW软件的组成 5
2.2.3 LabVIEW软件的优势及实现监测功能的可行性 6
第三章 系统总体方案设计 7
3.1设计方案的选择 7
3.2设计方案 7
3.3设计的实现的任务与目的 7
第四章 系统硬件设计 9
4.1硬件设计原理 9
4.2重要器件介绍 10
4.2.1 STC89C52介绍 10
4.2.2系统温度传感器DS18B20 10
4.2.3湿度传感器HS1101介绍 11
4.2.4液晶1602A介绍 12
4.3硬件电路设计 13
4.3.1温度采样原理及电路 13
4.3.2湿度采集原理及电路 14
4.3.3单片机与PC的串行通信电路 15
第五章 下位机设计 16
5.1温度传感器DS18B20程序设计 16
5.2液晶1602A子程序设计 16
5.3上、下位机数据通信子程序设计 17
5.4报警子程序设计 18
第六章 上位机程序设计 19
6.1设计思绪 19
6.2温湿度平均值的计算 19
6.3 LabVIEW中温湿度串口通讯 20
6.4 LabVEW温湿度报警模块程序 23
6.5 LabVIEW中温湿度滤波程序 23
6.6上位机整体程序 24
第七章 系统的仿真与调试 26
7.1系统调试 26
7.1.1温湿度报警调试 26
7.1.2温湿度波形调试 27
7.1.3温度滤波测试 29
7.2系统演示 30
结 论 32
致 谢 33
参考文献 34
第一章 引言
1.1本文研究的目的及意义
库房是存放物品的重要地点,环境因素对库房物品影响非常大,在高温与高湿的环境下,库房容易滋生霉菌,害虫等[3],使得物品寿命减短,损坏严重。因此科学的监测调节库房温湿度,加强对库房的监测,保护库房物品是一项有重要意义的工作。
我国的大部分地区一年中有很长一段时间的高温高湿气候,适合细菌生长繁殖,对库房物品的保管非常不利,库房中的物品会受到外界空气温湿度变化的影响,会使库房物品发生变质,腐化,失效等问题[3],在有些地区,夏季库外最高温度可达40度,相对湿度达80%以上,即使在密闭的条件下,库房内温度仍然达成30度以上,而在库房管理中,30度及视为高温,相对湿度达成70%即为高湿。
目前,各库房普遍采用密闭、通风与吸潮相结合的手段控制和调节库房温湿度。但这种方法需要依靠大量人力资源,控制精度低、实时性差,并且操作人员的劳动强度大。即使有些用户采用半导体二极管作为温度传感器,但由于其互换性差,效果也不抱负。由于温度过高或过低引起的库存品失效或由于环境湿度过高而引起的事故时有发生,甚至危及到人员的安全。所以实行对温湿度的监控十分重要,同时有助于促进公司管理建设与高新科技的结合,把公司库房监测等监控管理行业发展成为功能丰富多彩的数字家园。
对库房温湿度监测系统除了应用于库房还可以应用于其他行业。例如像纺织工艺对温湿度有严格规定,纺织厂空调系统的可靠性和安全性直接影响正常生产和经济效益。目前纺织厂大部分空调系统控制方式落后、操作不方便。并且空调系统能耗大、机器受损严重、运营成本较高。因此,设计一个操作方便、功能完善、工作可靠的温湿度监测系统,对提高设备的工作效率、减少事故率有积极作用。
本设计即以上述问题为出发点,设计了温度、湿度的监测系统,该系统不仅能实时的采集各抽样点的温度值与湿度值,并且能迅速解决,和谐的将数据结果显示给用户。
1.2传统的温湿度监测方法
最早的库房温湿度监测采用人工的方式,天天读取库房的温度计和湿度计,这种方式不仅效率低,劳动时间长,并且会由于抽样的不具代表性使得监测结果失去意义。
随着传感器技术和测量测试技术的发展,为了更好地了解特殊规定库房的温湿度变化规律,传统的测试装置已经不能适应高标准的需要,需要研发新的监测装置,计算机技术的发展,出现了以计算机为核心的新一代仪器—虚拟仪器。由美国NI公司推出的虚拟仪器开发平台软件LabVIEW是实验室虚拟仪器集成环境的简称,具有简洁图形化编程环境和强大的功能。它广泛应用于数据采集与控制、信号解决、数据显示、数据分析等领域。采用虚拟仪器技术,有以下优点:(1)突破了传统仪器在数据解决、显示、存储等方面的限制;(2)运用计算机丰富的软件资源,增长了系统灵活性;(3)通过软件技术和相应数值算法,实时、直接地对测试数据进行各种分析和解决,通过图形用户界面(GUI)技术,真正做到界面和谐,人机交互。
虚拟仪器运用通用的硬件平台(计算机、数据采集卡等)结合专用的硬件(如传感器、调理电路)实现数据的采集,再用相应的仪器功能软件对数据进行解决,实现传统仪器的功能,并且只要改变软件中的参数就能实现不同仪器的功能。同时界面和谐,可视化软件LabVIEW工具,更是向着效率高、功能强大的方向努力。
1.3课题的来源及研究内容
本文运用LabVIEW软件设计并实现一个温湿度监控系统,实现温湿度的测量和显示和控制。
在虚拟仪器的思想为工业界逐渐接受的今天,人们越来越结识到“软件就是仪器”的先进思想的含义。本课题的研究内容就是运用虚拟仪器软件LabVIEW实现库房温湿度监测。采用LabVIEW作为监测软件,采用数字温度传感器DS18B20、湿度传感器HS1101测量温湿度[1],运用单线检测信号将温湿度的值送到单片机进行相应的解决,然后通过串口通信,将温湿度的检测值通过RS-232送到计算机上,然后通过DAQ数据采集将数据送到LabVIEW,进行数据在LabVIEW将数据送到数据解决程序进行数据的解决,然后将数据送到报警程序与设定值进行比较,在设定值之间将在LabVIEW前面显示工作正常。假如工作不再设定值之内,将会产生报警,在前面板将会有报警信号提醒,同时在下位机将会有报警信号,同时将驱动相应的电路控制风扇和加湿器工作,使库房的温湿度可以工作在我们设定的抱负状态。
第二章LabVIEW软件及其监控功能的介绍
2.1虚拟仪器技术
测量仪器发展至今,大体经历了四代发展历程[2],即模拟仪器、分立元件式仪器、数字化仪器和智能仪器。随着电子技术、计算机和网络技术的高速发展,及其在电子测量技术与仪器领域中的应用,新的测量理论、新的测量方法、新的仪器结构不断出现。其中计算机处在核心地位,计算机软件技术和测量系统更紧密地结合,导致仪器的结构、概念和设计观点等也发生突破性的变化,在这一背景下,出现了新的仪器概念-虚拟仪器。
2.1.1虚拟仪器的概念及系统结构
所谓虚拟仪器,就是在以计算机为核心的硬件平台上,其功能由用户设计和定义,具有虚拟面板,其测量功能由测量软件实现的一种计算机仪器系统。虚拟仪器的实质是运用计算机显示器的显示功能来模拟传统仪器的控制面板,以多种形式表达输出监测结果,运用计算机的软件功能实现信号数据的运算、分析和解决。运用I/O接口设备完毕信号的采集、测量与调理,从而完毕各种功能的一种计算机仪器系统。虚拟仪器与传统仪器的比较如下表2-1。
表2-1 传统仪器和虚拟仪器的对比
传统仪器
虚拟仪器
功能由仪器厂商定义
功能由用户自己定义
与其他仪器连接有限
可方便的与网络外设及多种仪器连接
图形界面小,人工读取数据信息量小
界面图形化,计算机直接读取数据并分析解决
数据无法编辑
数据可编辑、存储、打印
硬件是关键部分
软件是关键部分
价格昂贵
价格低廉
系统封闭、功能固定,可扩展性差
基于计算机技术开发的功能模块可构成多种仪器
技术更新慢
技术更新快
2.2 LabVIEW软件介绍
LabVIEW是实验室虚拟仪器集成开发平台的简称,它是目前国际上应用最广泛的虚拟仪器开发环境之一,它是重要用于开发数据检测、数据测量采集系统、工业自动控制系统和数据分析系统等领域的专用软件开发平台。
2.2.1 LabVIEW概述
LabVIEW的最大特色是采用编译型图形化编程语言——G语言,它与C、pascal、Basic等传统语言有着相似之处,如:相似的数据类型、数据流控制系统、程序调试工具,以及模块化的编程特点。但两者最大的区别在于:传统编程语言用文本语言编程,程序的执行依赖于文本所描述的指令;而LabVIEW使用图形语言以框图的形式编写程序。用LabVIEW编程无需具有太多编程经验,由于LabVIEW使用的都是测试工程师熟悉的术语和图标,如各种按钮、开关、波形图等,界面非常直观形象。
LabVIEW语言具有丰富的扩展函数库,集成了大量的生成图形界面的模板,如各种表头、旋钮、开关、LED指示灯、图表等,界面直观、形象,相对于传统的编程方式而言,它简朴易学并且执行效率高,与传统的编程方式比,使用LabVIEW设计的虚拟仪器,可以提高效率4-10倍。
LabVIEW的核心是VI。VI有一个人机对话的用户界面—前面板和类似于源代码功能的方框图。前面板接受来自方框图的指令。在VI的前面板中,空间模拟了仪器的输入装置并把数据提供应VI的框图;而指示器则模拟了仪器的输出装置并显示由方框图获得或产生的数据。
用LabVIEW编制出的图形化VI是分层次和模块化的。我们可以将之用于顶层程序,也可用作其他程序或子程序的子程序。一个VI用在其他VI中,称为subVI,subVI在调用它的程序中同样是以一个图标的形式出现的。
2.2.2 LabVIEW软件的组成
一个完整的LabVIEW开发环境涉及基本模块和扩展模块两部分,引擎部分是整个图形化开发环境的核心,涉及编辑模块、运营模块和调试模块。LabVIEW环境下开发的程序称为虚拟仪器VI[1]。
程序VI由一个前面板,程序流程图和一个接口板组成。接口板用于上层的VI调用该VI。
2.2.3 LabVIEW软件的优势及实现监测功能的可行性
1、简朴的方案使得可以很方便的使用LabVIEW,由于它使用可视化技术建立人机界面,提供了大量仪器面板中的控制对象。
2、LabVIEW提供了先进的网络技术。
3、先进的ActiveX技术融合了简朴的拖放编程方法,仪器控制和数据采集免得非常简朴。
4、灵活的仪器将LabVIEW与一般的数据采集加以组合,可以设计出更灵活的虚拟仪器。
5、LabVIEW拥有大量NI公司或第三方公司提供的支持软件。
第三章 系统总体方案设计
3.1设计方案的选择
库房温湿度控制在国内外设计比较多,很多都是直接采用单片机进行设计的,所有的数据解决都是有单片机来解决,这样就会增长单片机的承担。本次的设计是基于LabVIEW来进行设计的,将检测的数据送到上位机LabVIEW进行数据解决,这样就会减少单片机的解决数据的承担,并且在LabVIEW的图形界面可以看的很清楚,数据的变化过程,比较方便。并且设计起来比较方便,由于LabVIEW都是图形化的程序,设计程序的时候比较直观,并且易懂,设计起来比较容易,在它的前面板上就直接可以看到数据的变化过程。
3.2 设计方案
该系统整体上分为三大部分:一部分为基本的硬件电路;二是检测部分电路;三是上位机现场数据解决和管理.在库房的关键部分设立温度传感器(DSl8B20)湿度传感器(HSll01),运用Dsllas公司的单总线协议和单线检测信号将温湿度的值送到单片机进行相应的解决,然后通过串口通信,将温湿度的检测值通过RS-232送到计算机上,然后通过DAQ数据采集将数据送到LabVIEW,LabVIEW将数据送到数据解决程序进行数据的解决,然后将数据送到报警程序与设定值进行比较,在设定值之间将在LabVIEW前面显示工作正常。假如工作不再设定值之内,将会产生报警,在前面板将会有报警信号提醒,同时在下位机将会有报警信号,同时将驱动相应的电路控制风扇和加热器工作,使库房的温湿度可以工作在我们设定的抱负状态。
3.3设计的实现的任务与目的
设计的任务重要实现库房温湿度的测量与控制。数据采集模块运用单片机实现温度实时采集、湿度实时采集、电路状态信号采集及数据预解决;数据传输模块将检测信号传输到计算机;计算机I/O接口为计算机与外部数据连接的硬件支持。当数据进入计算机后,在LabVIEW平台上,经数据解决子程序、温湿度控制子程序输出系统控制信号,并通过计算机I/O接口输出;输出信号驱动相应的驱动电路,分别控制加热电路及风扇电路,实现对库房温、湿度的实时监测及控制;程序实时监测系统状态;同时在前面板实时显示输出温度、湿度控制曲线。
设计的目的是上位机的监测程序需运用LabVIEW设计,涉及温湿度测量数据、曲线实时显示,报警指示,上下限设定、数据分析判断和下位机通信,同时,系统提供历史数据回读、历史数据打印功能,以便用户查看系统的历史状态;单片机部分需要编制测量、数据转换、滤波、标度变换、通信、显示、报警、控制等程序。
第四章 系统硬件设计
4.1硬件设计原理
下位机的硬件设计重要是依据单片机[8],所以要进行数据的采集,温度的采集用DS18B20进行温度数据的采集,湿度的数据采集用HS1101元件,将采集的数据送到单片机STC89C52进行数据的解决,解决后经数据送到1602A显示出当前的温湿度,和温湿度的报警的上下限,并将温湿度的数据送到上位机LabVIEW进行数据的解决,当超过温湿度的上限或者低于温湿度的下限时,上位机发出信号控制下位机的风扇或者加热器进行工作,保持库房的温湿度达成我们需要的范围。工作框图如图4-1所示。
图4-1工作框图
4.2 重要器件介绍
4.2.1 STC89C52介绍
STC89C52是美国ATMEL公司生产的低电压[9],高性能CMOS的8位单片机,片内具有8K bytes的可反复檫写的只读程序存储器和256 bytes的随机存取数据存储器,器件采用ATMEL公司的高密度,非意识性存储技术生产,与标准MCS-51指令系统及8052 系列残品引脚兼容,片内置通用的8位中央解决器和Flash存储单元,功能强大STC89C52单片机合用于许多较为复杂控制应用场合。其重要的性能参数:
(1)与MCS-51产品指令和引脚完全兼容。
(2)8K字节可反复擦写。
4.2.2系统温度传感器DS18B20
温度传感器很多,可分为模拟温度传感器和数字温度传感器[8]。DS18B20是世界上第一片支持单总线接口的温度传感器[9],单总线独特而其经济的特点,使用户可以轻松的组建传感器网络,为测量系统的构建引入全新概念。新一代的DS18B20体积更小,更经济、更灵活,而其由于芯片输出的是数字信号,省去外部A/D转换,简化硬件电路。
其特性如下:
(1)独特的单线接口方式,只需一个接口引脚即可通信;
(2)每一个DS18B20都有一个唯一的64位ROM序列码;
(3)在使用中不需要任何外围元件;
(4)可使用数据线供电,电压范围:+3.0V~+5.5V;
(5)测温范围:—55℃~+125℃,在—10℃~+85℃范围内精度为±0.5,分辨率0.0625℃。等效的华氏温度范围—67℉~+257℉;
(6)通过编程可实现9~12位的数字读书方式。
(7)告警搜索命令可辨认和定位那些超过报警限制的DS18B20;
(8)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。电源接反不会烧毁,但不能工作。
其引脚说明如下表4-1所示。
表4-1引脚说明
引脚8脚SOIC
引脚PR35
符号
说明
5
1
GND
地
4
2
DQ
单线运用的数据输入/输出引脚:漏极开路见“寄生电源”一节。
3
3
Vdd
可选Vdd引脚。有关连接的细节见“寄生电源”一节。
4.2.3湿度传感器HS1101介绍[5]
湿度传感器 HS1101/HS1100 基于独特工艺设计的电容元件,这些相对湿度传感器可以大批量生产。可以应用于办公自动化,车厢内空气质量控制,家电,工业控制系统等。在需要湿度补偿的场合他也可以得到很大的应用。
其特点:全互换性在标准环境下不需校正
长时间饱和下快速脱湿
可以自动化焊接,涉及波峰焊或水浸
高可靠性与长时间稳定性
专利的固态聚合物结构
可用于线性电压或频率输出回炉
最大参数值(Ta=25℃ 除非特别标定)
工作温度 Ta -40~100 ℃
储存温度 Tstg -40~125℃
其系统参数特性如下:测量范围是3~99%RH,电源电压DC 5V(max7V),等效电容175~185PF(54.4%RH,10KHz),恢复时间10s,湿度迟滞±1.5%RH,稳定期0.5RH/yr,响应时间10s(33%—76%HR,流速1m/Sec),线性度±1%RH。
HS1101为电容传感器,在电路构成中档效于一个电容器件,其电容量随着所测空气湿度的增大而增大。将电容的变化量准确地转变为计算机易于接受的信号,常用两种方法:一是将该湿敏电容置于运放与阻容组成的桥式振荡电路中,所产生的正弦波电压信号经整流、直流放大、再A/D转换为数字信号;另一种是将该湿敏电容置于555振荡电路中,将电容值的变化转为与之呈反比的电压频率信号。
湿度与频率的典型值如表4-2所示。
表4-2 湿度与频率的典型值
湿度(%RH)
频率(Hz)
湿度(%RH)
频率(Hz)
0
7351
60
6600
10
7224
70
6468
20
7100
80
6330
30
6976
90
6186
40
6853
100
6033
50
6728
4.2.4液晶1602A介绍[11]
1.重要参数介绍如下表4-3所示。
表4-3 重要参数
显示容量
16X2字符
芯片工作电压
4.5-5.5V
工作电流
2.0mA(5.0V)
模块最佳工作电压
5.0V
字符尺寸
2.95X4.35(WXH)mm
2.接口信号说明如下表4-4所示。
表4-4 接口信号
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
Data I/O
2
VDD
电源正极
10
D3
Data I/O
3
VL
液晶显示偏压信号
11
D4
Data I/O
4
RS
数据/命令选择端(H/L)
12
D5
Data I/O
5
R/W
读/写选择端(H/L)
13
D6
Data I/O
6
E
使能信号
14
D7
Data I/O
7
D0
Data I/O
15
BLA
背光源正极
8
D1
Data I/O
16
BLK
背光源负极
3.指令说明:
(1) 显示模式设立如下表4-5所示。
表4-5 显示设立
指令码
功能
0
0
1
1
1
0
0
0
设立16×2显示,5×7点阵,8位数据接口
0
0
0
0
0
D
C
B
D=1 开显示;D=0 关显示
C=1 显示光标;C=0 不显示光标
B=1 光标闪烁;B=0 光标不显示
0
0
0
0
0
1
N
S
N=1 当读或写一个字符后地址指针加一,且光标加一
N=0 当读或写一个字符后地址指针减一,且光标减一
S=1 当写一个字符,整屏显示左移(N=1)或右移(N=0),以得到光标不移动而屏幕移动的效果。
S=0 当写一个字符,整屏显示不移动
(2) 数据控制区内部设有一个数据地址指针,用户可以通过它们来访问内部的所有的80字节RAM其数据指针的设立如下表4-6所示。
表4-6指令设立
指令码
功能
80H+地址码(0-27H,40H-67H)
设立数据地址指针
01H
显示清屏:1.数据指针清零
2所有显示清零
02H
显示回车:1.数据指针清零
4.3硬件电路设计
4.3.1 温度采样原理及电路
运用DS18B20温度传感器进行温度采样.[11]它用单总线协议和单片机实现通讯.单总线协议是采用单根信号线,既可传输时钟,又能传数据,并且数据传输是双向的,因而这种单总线技术具有线路简朴.
温度采样电路如下图4-2所示。
图4-2 温度采集电路
4.3.2 湿度采集原理及电路
原理分析:电源电压工作范围是UCC=+3.5~+12V。运用一片CMOS定期器TLC555。配上HSll01和电阻R2、R4构成单稳态电路,将相对湿度值变化转换成频率信号输出。输出频率范围是7351-6033Hz,所相应的相对湿度为0~100%。当RH=55%时,f=6660Hz。输出的频率信号可送至数字频率计或检测系统,经整理后送显示。R3为输出端的限流电阻,起保护作用。通电后,电源沿着Uc→R4→R2→C对HS1101充电。通过t1时间后湿敏电容的压降Uc就被充电到TLC55的高触发电平(Uh=0.67Ucc),使内部比较器翻转,OUT的输出变成低电平。然后C开始放电,放电回路为C→R2→D→内部放电管脚。通过t2时间后,Uc降到低触发电平(Ul=0.33Ucc),内部比较器再次翻转,使OUT端的输出变成高电平。这样周而复始的进行充、放电,形成了振荡。
湿度采集电路如下图4-3所示。
图4-3湿度采集电路
4.3.3 单片机与PC的串行通信电路
串行通讯是数据通讯的重要方式之一。由于其联线少、成本低、有多种可供选择的传送速率,并遵循统一的标准而得到广泛的应用。目前运用单片机开发的各种监控设备大多都需要与PC机进行数据通讯。
PC机中一般都有现成的1~2个标准RS-232C串行口,运用这些串行口,PC机可以与单片机进行数据通讯,通讯距离可达15m左右。STC89S52单片机内提供了一个全双工的串行口,P3.0管脚是串行数据接受端RXD,P3.1管脚是串行数据发送端TXD。但是,由于单片机的串行口不是标准的RS232C接口,它接受发送的电平是TTL电平。TTL电平的逻辑“1”和逻辑“0”分别是2.4V和0.4V,而串行通讯接口RS-232C采用负逻辑,即逻辑“1”为-5~-15V,逻辑“0”为5~15V,两者的电气规范不一致,因此要完毕单片机与PC机的数据通讯,必须对单片机输出的TTL电平进行电平转换。本系统选用MAX232AESE芯片完毕电平间的转换。运用RS-232接口中的RD、TD、GND(信号地)三线来完毕双工通信。
MAX232AESE是MAXIM公司生产的低功耗、单电源(+5V)的双RS-232C发送器与接受器[12]。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS-232C输出电平所需±10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源。外围需接4个0.1μF/25V电解电容,供内部电压变换之需。MAX232AESE芯片引脚T1IN、T2IN、R1OUT、R2OUT接TTL电平,引脚T1OUT、T2OUT,R1IN、R2IN为EIA电平。
MAX232的接口电路如图4-4所示。
图4-4 MAX232接口电路第五章 下位机设计
5.1温度传感器DS18B20程序设计
DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序规定。DS18B20有严格的通信协议来保证各位数据传输的对的性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机积极启动写时序开始,假如规定单总线器件回送数据,在进行写命令后,主机需启动读时序完毕数据接受。数据和命令的传输都是低位在先。其设计流程图如图5-1所示:
图5-1 DS18B20工作时序流程图
5.2 液晶1602A子程序设计
1602A的设计重要是一方面对其自身初始化设立,重要涉及显示模式设立、显示开/关及光标设立、读写数据设立,设立完以后,1602A可以正常的工作,然后将给出要显示数据的指定的地址,给出地址以后,在送要显示的数据,1602A的读写时序也要严格的遵守,否则1602A不会工作正常。有以上的分析可得程序读写时序流程图如图5-2所示:
图5-2 读写时序流程图
5.3 上、下位机数据通信子程序设计
上位机和下位机的通讯重要通过RS-232,来进行通讯的,在本次的设计里,由于要单片机向上位机发送数据,因此要设计发送数据子程序,因此要设立串口的工作方式,这次设计采用了串口工作方式1,由于串口工作方式1的波特率是由定期器控制的,因此还要有定期器程序,产生需要的波特率来控制串口的功能工作方式。设计的程序如下所示:
void send_init()
{ TMOD=0x20; //定期器1工作方式为方式1
TH1=0xfd; //置入T1的计数初值
TL1=0xfd;
TR1=1; //定期器开始计数
REN=1; //串口中断打开
SM0=0; //设串口工作方式为方式1
SM1=1;
EA=1; //开总中断
ES=1; //开串口中断
}
5.4 报警子程序设计
当温湿度不在设定值区间的时候就要发出报警信号,这样可以起到提醒的作用,一方面要给上下限的值,这样就可以进行比较,然后通过判断语句判断是否在设定的区间,当不在设定的区间是就发出报警信号,一直进行循环判断,设计流程图如下图5-3所示。
图5-3 报警子程序流程图
第六章 上位机程序设计
6.1 设计思绪
上位机的程序设计重要接受来自下位机的温湿度的数据,然后将温湿度数据送到数据解决子程序进行数据的解决,然后把解决后的数据送到报警子程序,与设定的上下限进行比较,假如工作早设定的区间就显示正常工作,假如不在设定的区间就提醒工作不正常,由于要有历史数据的存储,所以应当设计数据存储子程序,这次设计的LabVIEW存储子程序,当有数据送到上位机时,会自动生成报表形式的历史数据,以便历史回读。其设计流程图如下图6-1所示。
图6-1 上位机LabVIEW程序设计流程图
6.2 温湿度平均值的计算
在库房中,经常需要知道所测温度的平均值及实时温度与平均值之间的偏差以便更好的控制温度,从而使它可以更好的影响产品的数量与质量。而在记录学中,取平均是最常用的改善盼望值的标准技术。有两种取平均值的方法:
1. RMS平均或称“功率平均”,即均方根值平均[6]。它是将所有采集到的数据值平方之后相加,然后除以数据个数,再取该平均值的平方根,其数学表达式如式(6-1)所示:
(6-1)
式中:N为数据个数,xi为各次数据值。
2.叠加平均,它可用来改善叠加的信噪比。它对一点数据连续采用多次,然后计算其平均值,以平均值作为该点的采样结果。
对温度数据的解决用算术平均值的方法,将采集到的数据用软件的方法来实现。其程序框图如图6-2所示。
图6-2平均值VI
6.3 LabVIEW中温湿度串口通讯
1.RS-232简介
串行通信端口(Serial Communication Port)在系统控制的范畴中一直占有极重要的位置,不仅没有由于时代的进步而淘汰,反而是在规格上越来越向其极限挑战。现在,计算机上的串行通信端口(RS-232)是标准配置,用途上则以连接调制解调器(Modem)作通信传输,特别是因特网成为潮流后,接上因特网取得数据是相称重要的一个收集方法,最为常见。当然,它的重要性还不仅如此,在本文中还会对通信端口的应用作一个进一步的介绍。
RS-232通信端口是每部计算机上的必要配置,通常具有COM1与COM2两个信道,一般的计算机将COM1以9针的接头接出,而将COM2以25针的接头接出。新一代的计算机均以9针的接头接出所有的RS-232通信端口。在计算机上的RS-232均是公头,即使是25针也是公头,千万不要与其他的设备弄混淆了(打印机连接端口也是25针,但是它是母头,请仔细分辨)。通常与计算机连接的设备,一般都是RS-232接口,不仅使用简朴,并且价格上也便宜很多:在市面上可见的数码相机、调制解调器等大都以RS-232作为与计算机沟通的接口。仔细检查计算机的后面接线不部分,大大小小的接头一堆,有两个9针的接头(以较新的计算机来说,旧型计算机也许有25针的型式),这就是串行通信端口。
2.串行通讯
终端与计算机之间或者计算机与计算机之间进行互换信息时,除了采用并行通讯方式之外,还经常采用串行通讯方式。并行通讯是指数据的各位同时进行传送,其优点是传送数据速度快,缺陷是有多少位数据就需要多少根传输线,这在数据位数较多,传送距离较远时就不宜采用。串行通讯是指数据一位一位地按顺序传送,其突出优点是只需一根传输线,特别适应于远距离传输,缺陷是传送速度较慢。在微机测量,控制系统中,目前串行数据的传输大多采用异步通讯的方式。
(1)同步通讯和异步通讯
串行通讯分为同步传送和异步传送两种方式:
同步传送方式规定通信双方以相同的速率进行,并且要准确地协调。它通过共享一个单个时钟或定期脉冲源以保证发送方和接受方准确同步。其特点是允许连续发送一组字符序列(而非单个字符),每个字符数据位数相同,没有起始位和停止位,效率高。
异步传送方式不规定通信双方同步,发送方和接受方可以有各自的时钟源。为了可以实现通信,双方必须都遵循异步通信协议。在异步通信中,通信双方必须规定两件事:一是字符格式,即规定字符各部分所占的位数,是否采用奇偶校验,以及校验的方式;二是采用的波特率,以及时钟率与波特率之间的比例关系。由此可见,异步通信方式的传输效率比同步通信方式低,但它对通信双方的同步规定大大减少,因而成本也比同步通信方式低。
(2)DTE和DCE
在串行通讯中,用于发送和接受数据的设备称为数据终端设备(Data Terminal Equipment简写为DTE)。DTE既可以是一台计算机,也可以是一台只接受数据的打印机。用于连接DTE与数据通信网络的设备称为数据通信设备(Data Communications Equipment简写为DCE),或称为数据电路终接设备。DCE既可以是一个调制解调器, 也可以是简朴的线路驱动器。
(3)波特率
在串行通讯中尚有一个重要的指标——波特率(又称调制速率)。波特率定义为每秒钟传送二进制数码的位数,以位/秒(bit/s)为单位,亦称“波特”。在异步通讯中,波特率为每秒传送的字符数和每个字符位数的乘积,例如每秒传送的速率为120字符/秒,而每个字符又包含10位(1位起始位,7位数据位,1位奇偶校验位,1位停止位),则波特率为:120字符/秒×10位/字符=1200位/秒=1200波特LabVIEW中的串行通讯,它位于All function→Instrument I/O→Serial。
3.LabVIEW实现数据收发的程序[15]
在LabVIEW中,实现数据的收发,其程序前面板与后面板如图6-3和图6-4所示。
图6-3程序后面板
图6-4程序前面板
6.4 LabVEW温湿度报警模块程序
在LabVIEW中,温湿度当高于或者低于上限或者下限的时候都要发出警报,下位机的电路就要产生进行相应的控制。其报警模块程序后面板如图6-5所示。
图6-5程序前面板图
6.5 LabVIEW中温湿度滤波程序
由于有下位机传输到上位机的数据时,避免不了要产生杂波信号,这样会干扰上位机对温湿度的判断这样,就会就会导致温湿度的报警不是很准确,对库房的温度控制不准确,导致不必要的损失,所以要数据传输到上位机的时候要将这些杂波信号通过滤波电路过滤掉,这样就会可以对温湿度进行实时的控制和检测。在LabVIEW中,实现温湿度数据的滤波电路,其温湿度滤波程序[4]前面板如图6-6所示。
图6-6程序前面板图
6.6上位机整体程序
上位机的整体程序如图6-7和图6-8所示。
图6-7上位机主程序前面板
图6-8上位机主程序后面板
第七章 系统的仿真与调试
7.1系统调试
整个温度测控系统的主界面只有一个屏,它充足运用了计算机在运算、显示、存储、回放、调用等方面的功能构成了一台从外观到功能都完全与传统硬件仪器相同,同时又充足结合PC机优点的全新仪器系统。其中仪器的按键功能和面板、控件都是由软件形成的,因此整个温度测控系统的监控界面就是一个典型的虚拟仪器。它可以实现对温度数据的实时采集与显示,温度报警系统的建立、温度概率分布的显示、温度平均值的计算等。由于该测控系统的数据需要进行保存,并且事后还需要进行分析以拟定温度数据对整个系统的影响,所以需要用数据库的形式来存储温度数据。
由于条件与时间限制,本次设计所以调试都是在模拟的条件下进行的,通过产生随机温度可以很直观的看到整个温度数据分布的情况。使用这一个界面就能很好的实现整个测控系统的功能。可以看出LabVIEW强大的数据解决功能。
7.1.1温湿度报警调试
运用随机数产生一个1-50随机温度和随机湿度,测试温湿度报警的程序,测试结果见下图。
图7-1 温度报警后面板
图7-2温湿度报警前面板
图7-3温湿度报警前面板
根据测试,系统可以对的的判断温湿度,并实行报警。此部分程序符合设计规定。
7.1.2温湿度波形调试
仍然采用随机数的原理产生一个20-35的温度,进行模拟测试。测试结果见下图。
图7-4 随机温度的产生程序
图7-5随机温度的变化波形
运用随机数产生一个40-60的湿度,进行调试
图7-6 随机湿度的产生程序
图7-7湿度的变化波形
图7-8 温湿度的变化波形图
7.1.3温度滤波测试
温度测试也是采用产生的模拟温度进行测试。测试结果见下图。
图7-9温度滤波电路程序框图
图7-10 温度滤波前面板
7.2系统演示
将上位机和下位机连接好以后,进行温湿度的检测和解决,上位机前面板显示数据如图7-11所示。
图7-11 上位机前面板
报表生成格式如下图7-12所示。
图7-12 报表格式
生成报表如图7-13所示。
图7-13 生成报表
结 论
本次设计通过多次的修改,可以基本实现设计的功能,在这次毕业设计中,我深深感觉到了自己基本知识的局限性,以及自己没有进一步课题的实际调查和研究,由于时间和实际的条件限制,通过模拟测试,各项指标基本达成了设计的规定,实现了温湿度的采集与报警,温湿度的波形
展开阅读全文