登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 机械机电类 > 测控技术与仪器 > 正文

高精密多通道温湿度监控系统软件设计毕业论文

 2020-02-19 06:02  

摘 要

在原子钟守时系统、天文观测等尖端领域,对仪器设备运行环境的温湿度监测至关重要。本文根据这一应用背景并结合企业实际项目的需求,设计开发了一款应用于高精密温湿度监测仪器系统的系统软件。软件采用Qt作为开发工具,以SQLite作为后台数据库,以C 作为开发语言,采用模块化和面向对象的设计思想,基于Qt类实现各个模块的功能。

设计的系统软件架构主要包括显示模块、数据库模块、通信模块三部分,具有友好的人机操作界面,实现了温湿度数据的实时监测、数据处理、数据库管理、数据存储和查询等功能。最后通过运行测试,验证了本设计软件运行稳定可靠,各项功能均实现了预期目标。

关键字:温湿度,高精密,监测软件,Qt,数据库

Abstract

In the cutting-edge fields such as atomic clock punctuality systems and astronomic- al observations,it is essential to monitor the temperature and humidity of the operating environment of the equipment. Based on this application background and the needs of the actual project, this paper designs and develops a system software for high-precisi-on temperature and humidity monitoring instrument system. The software uses Qt as a development tool, SQLite as the back-end database, C as the development languag- e, modular and object-oriented design ideas, and the functions of each module based on the Qt class.

The designed system software architecture mainly includes three parts: displa-y module, database module and communication module. It has a friendly man-machine interface and realizes real-time monitoring of temperature and humiditydata, data processing, database management, data storage and query. By runnin-g the test, it is verified that the designed software runs stably and reliably,and all functions have achieved the expected goals.

Keywords: temperature and humidity; high precision; monitoring software; Qt; database

目 录

第1章 绪论 1

1.1 课题研究背景及意义 1

1.2 温湿度监测国内外发展现状 1

1.3 论文各章内容安排 2

第2章 温湿度监测系统软件设计 4

2.1 需求分析 4

2.1.1 监测系统简介 4

2.1.2 监测系统软件设计要求 4

2.2开发环境及工具 5

2.2.1 Qt简介 5

2.2.2 SQLite简介 6

2.3 软件总体架构设计 7

第3章 数据库设计 8

3.1 数据库系统概述 8

3.2 数据库表格设计 8

3.2.1 设备参数表 8

3.2.2 历史数据表 9

3.2.3 报警数据表 10

3.2.4 温湿度指标数据表 10

3.3 数据库功能实现 11

3.3.1 数据库连接池的实现 12

3.3.2 数据库功能的实现 15

第4章 软件功能模块设计 17

4.1 设备管理 17

4.2 串口通信 21

4.2.1 串口通信工作方式 21

4.2.2 串口通信功能实现 21

4.2.3 子线程串口通信实现 23

4.2.4 通信协议 24

4.3 温湿度实时数据 25

4.4 温湿度性能指标数据 27

4.4.1 算法处理 28

4.4.2 数据显示 29

4.5 曲线显示 31

4.6 数据查询与保存 34

第5章 软件系统测试 37

5.1 测试条件 37

5.2 测试步骤 37

5.3 测试结果 40

第6章 总结与展望 46

6.1 全文总结 46

6.2 未来展望 46

参考文献 48

致谢 50

第1章 绪论

1.1 课题研究背景及意义

近年来,氢原子钟由于其极佳的短期稳定度和已具备长期连续运转的特性,在守时系统中得到了越来越广泛的应用[1]。氢原子钟是一种高精度的频率标准,商品化氢原子钟的频率准确度达到10-14量级,短期稳定度(秒级)达到10-12量级,长期稳定度(天)达到10-14[1]。但是,氢钟作为精密设备,极易受到外界温度、湿度、磁场、振动等环境因素的影响,其性能指标与使用维护密切相关。因此,必须对影响氢原子钟性能的各种因素加以分析,并在使用中对环境条件进行严格的控制[1]。为使氢原子钟能达到最佳运行状态,发挥最好的效能,需要给原子钟提供良好的运行环境,特别是环境的温湿度。因此,高精密的环境温湿度控制和监测对保证氢原子钟的良好运行状态显得至关重要。

1.2 温湿度监测国内外发展现状

温湿度测量作为现代测量技术的重要组成部分,在保障企业正常生产、保证产品品质等方面起到重要的作用。因而温湿度测量技术受到各国的广泛重视。在最早期,温湿度测量采用人工测量的方式,该方式效率低、测量精度低、局限性太大。近年来,出现了基于微控制器和温湿度传感器实现的数字化智能监测和控制系统,实现远程监控和在线监测。目前,温湿度传感器的高精度化、集成化以及温湿度监控的智能化、网络化已经成为一种发展趋势。

温湿度传感器的高精度化主要体现在传感器电路设计和处理算法等几个方面。王欢和黄晨在高精度无线环境温湿度测量系统设计一文中提出了传感器与处理电路分开布置、软件拟合标定修正法的方案,最后使得温度测量精度达到±0.2℃,湿度精度±2.5%RH[5]。杜帅帅、柯沪琦、胡燕海提出了一种基于铂电阻温度传感器PT100的高精度温度测量系统,设计了四线制铂电阻的接线电路;设计了减弱外界干扰的电路;通过在软件中加入补偿值的方法提高测量精度,精度可达±0.02℃,测量精度较高[6]。纪乃华,王颖洁,姚惠萍提出了多阶函数误差补偿算法,利用粒子群优化方法,对采集到的数据进行融合处理,并用多阶函数误差补偿方法对融合误差进行消除,有效地提高了测量精度[7]

智能化、网络化主要体现在传感器网络将数据传输给上位机,然后将数据存入数据库,实现网络化的监测和控制系统。为实现网络化,微控制器与上位机的通讯接口和通讯协议也是多样化的。目前国内外常用的通讯接口有RS232、光纤、USB、以及基于IEEE802.11的无线和覆盖广阔的GPRS网络,使用不同的接口有相应的通讯协议,同时通过网络远程监控的方式也是多样的,可以使普通的客户端,也可以是基于手机网络的手机客户端,还可以是基于HTTP协议的交互式web客户端。张青培设计出了一种基于ZigBee无线传感网络的温湿度监控系统。该系统以射频芯片CC2530为无线采集网络核心,并搭建了系统网络的软硬件平台,实现了ZigBee无线传感网络对厂房温度和湿度信息的采集。李浩峰、马婷婷、韦韬、陈航实现了基于模糊PID智能控制算法的温湿度无线监控系统。该系统实现了分布式无线远程数据传输、温湿度监控的综合管理平台, 使用GPRS通信模块将分散在不同位置的温湿度采集点的温湿度数据集成到监控中心[12]。对温湿度的调节使用模糊PID智能算法实现调节,克服了以往温湿度监控系统采集速度慢、精确度和灵敏度低等缺点。

1.3 论文各章内容安排

本文基于Qt开发平台,使用 C 编程语言,采用面向对象和模块化的编程思想,对温湿度监测软件的功能和架构进行了设计,并初步实现了温湿度数据的实时显示、曲线绘制、数据处理、数据库管理、数据存储和查询等功能。

第一章为绪论,主要介绍本次设计论文的研究背景及意义、温湿度监测技术的国内外发展现状。

第二章主要介绍软件设计需求、开发工具并完成软件的总体框架设计。

第三章主要完成监控软件数据的设计和开发,介绍具体的数据库结构设计方案。

第四章主要完成监控软件各个功能模块的设计,给出设计思路和具体设计方法。

第五章主要对该软件的各个功能模块进行测试运行,展示本文的研究成果,验证软件运行的稳定性、界面的友好性。

第六章为总结与展望,总结整个设计过程,提出展望。

第2章 温湿度监测系统软件设计

2.1 需求分析

2.1.1 监测系统简介

设计的温湿度监测系统是一个由多个(至少5个)高精度温湿度传感器通过RS485总线组成的串行测试网络。监测系统工作环境温度指标为23℃~26℃(设定在23℃),温度波动度指标为±0.5℃;工作环境湿度指标为50%RH±2%RH,相对湿度波动度要求为±10%RH。监测系统的结构如图2.1所示。

图2.1 监测系统的结构简图

串行的监测网络中各个传感器的使用的通信协议为ModuBus,采用对传感器内部寄存器进行读写实现传感器温湿度的读取和特定的控制。

数据处理系统是一套能在PC机(运行windows系统)上运行的应用程序。主要提供从监测系统中获得各个传感器的温湿度测量数据,数据的存储与查询,数据的处理,数据的显示。

2.1.2 监测系统软件设计要求

设计一套软件系统,使其能实现从监测系统中获得各个传感器的温湿度测量数据,数据的存储与查询,数据的处理,数据的显示。具体功能如下:

表2.1 功能需求分析表

2.2开发环境及工具

2.2.1 Qt简介

Qt是1991年由Trolltech公司发布的一种可跨平台的C 图形用户界面应用程序开发框架,Qt可以用来开发GUI和非GUI应用程序,例如控制台工具和服务器等[2]。该框架应用特定的程序来生成扩展和部分宏,用户能够快速入门,从而相对容易开发。同时,它为软件开发人员提供了构建艺术级的图形用户界面需要的所有功能,有极强的兼容性,能够实现一次编写,多系统编译[2]。Qt和X Window上的Motif,Openwin,GTK等图形界面库和Windows平台上的MFC,OWL,VCL,ATL等类似[2]。目前,Google Earth、Adobe Photoshop Elements等软件都是基于Qt编写的。

Qt引入了信号与槽的特殊机制,信号可以解释为一种标识符,而槽就是一种特殊的函数,两者之间有着紧密的联系[2]。槽函数与一般函数有所不同,它不仅可以像一般函数一样在程序中直接被调用,也可以与信号进行关联,这一特殊功能正是槽函数的最大作用。当某一特定事件发生的时候,就会发送某个相关的信号,与之相关联的槽函数就会被触发,然后开始执行相应的操作。编程时,常常使用QObject类中的connect()函数将某一信号与对应的槽函数关联起来。信号与槽之间有几种不同的关联情况,一个信号可以与一个或同时与多个槽函数关联,此时该信号发出后与之关联的多个槽函数会按照随机顺序触发执行。除此之外还可以用多个信号同时与一个槽函数关联,这种情况中发出任意一个信号都会触发槽函数。当然,信号之间也可以进行关联,如果两个信号进行关联,先发出的信号将会触发另外一个信号,随后再执行与信号关联的槽函数代码[2]

在开发开发具有有强交互能力的应用软件时,Qt展现出使用更简单、开发更快速的优点。本次设计采用Qt5.11.1作为开发人机交互界面的工具。

2.2.2 SQLite简介

SQLite是一款轻量型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中[3]。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、Post- greSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快[3]。SQLite第一个Alpha版本诞生于2000年5月。 至2018年已经有18个年头。

不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分,所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

2.3 软件总体架构设计

本设计监测系统主要实现从监测系统中获得各个传感器的温湿度测量数据,数据的存储与查询,数据的处理,数据的显示等功能,传感器与上位机软件之间使用串口进行通信。

上位机软件拟采用Qt软件作为开发环境进行开发,并以SQLite作为系统数据库,使用C 语言编写。软件的实现主要分为以下几个部分:数据获取、数据处理、数据库管理、数据显示与报警、数据存储与查询。各个功能模块采用模块化化设计方式,使得各个模块更容易维护,软件总体架构设计如图2.2所示。

图2.2 软件总体架构图

第3章 数据库设计

监控软件的数据库系统,是整个软件的核心,它用于在后台存储用户信息、参数设置信息、温湿度相关数据信息,以供前端调用数据进行显示以及用户进行相关数据查询。本章实现了基于轻量型数据库SQLite的数据库系统的设计。

3.1 数据库系统概述

本设计监控软件的数据库系统基本功能是:第一,用于存储用户登录信息,用户登录时需要查询数据库校对用户信息,另外可以在使用管理员身份登录后进行新用户注册和用户信息修改;第二,用于存储设备参数信息,用户可在前端界面新建传感器设备,并设置相关参数,存入数据库,另外也可以进行修改设备信息、删除设备操作;第三,温湿度历史数据表是整个数据库系统的基础和关键,它承担着温湿度数据显示、数据处理、报警处理、数据查询与保存等所有功能模块。它是根据用户需求,按照一定的时间周期,定时将温湿度数据存入数据库;第四,在定时存储温湿度数据前需要对数据进行检查,如果数据超标,报警模块会将超标数据存入报警数据表;第五,温湿度数据处理模块会根据相应算法对温湿度历史数据进行数据处理,然后将经过处理后的数据存入温湿度处理数据表格中。以上就是数据库系统的整体运行方式和大概功能。

3.2 数据库表格设计

3.2.1 设备参数表

设备参数表用于存储设备参数信息,并且给用户提供对设备参数进行操作的一些操作,用户可以新建设备,并设置相关参数,存入数据库,另外也可以进行修改设备信息、删除设备等操作。设备参数表格结构如表3.1所示。

表3.1 设备参数表结构

3.2.2 历史数据表

温湿度历史数据表是整个数据库系统的基础和关键,历史数据表用于将温湿度测量数据根据用户需求按一定周期进行存储,并且提供对历史数据的查找、插入、删除等操作。历史数据表格结构如表3.2所示。

表3.2 历史数据表结构

3.2.3 报警数据表

报警数据表用于存储超标的温湿度数据,温湿度数据在存入历史数据库之前会进行检查,当数据超标时,将该数据存入报警数据表格。该部分提供对报警数据的插入、删除、查找显示等,如表3.3所示。

表3.3 报警数据表结构

3.2.4 温湿度指标数据表

温湿度指标数据表格用于存储经过数据处理得到的温湿度指标数据,即温湿度波动度、温湿度均匀度、温湿度24小时稳定性等,温湿度数据处理模块会调用温湿度历史数据,根据相应算法进行数据处理,然后将处理后的数据存入温湿度处理数据表格中。由于波动度和均匀度与24小时稳定性的计算方式和存储周期有较大差异,因此温湿度指标数据表分为两个表进行存储,表结构如表3.4和表3.5所示。

表3.4 温湿度指标数据表一结构

表3.5 温湿度指标数据表二结构

3.3 数据库功能实现

QT中的Qt SQL模块提供了对SQL数据库的支持,Qt SQL模块中的API大概分为三层:驱动层、SQL接口层和用户接口层。使用Qt SQL模块中的类之前,需要首先在工程文件(.pro文件)中添加代码QT = sql。

其中驱动层为具体的数据库和SQL接口层之间提供了底层的桥梁,主要类包括Qt SQL模块中的QSqlResult、QSqlDriver、QSqlDriverCreator、QSqlDriverCreatorBase和QSqlDriverPlugin。

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图