液体流量测试平台的监控系统设计
液体流量测试平台的监控系统设计[20191213105352]
摘 要
化工生产过程中,为了控制生产过程能定态进行,就必须经常了解操作条件,如压强、流量等,并加以调节和控制。进行科学实验时,也往往需要准确测定流体的流量,因此就需要一套专门的测试系统来监控系统流量等的测试。
本文针对工业生产中液体流量测试,研究了如何监控液体流量测试平台和监控数据显示等问题,提出了以C#为程序设计语言,Access 2007为后台数据库,用SerialPort及ZedGraph采集流量数据并实现显示的监控系统方案。此监控系统基于单片机电路、Keil、数据库及C#开发平台等多种平台,实现了对液体流量测试平台的监控和实时显示功能。系统的硬件部分包括MCU单片机最小系统、AD转换模块和串行通信模块,软件部分包括嵌入式软件设计和监控软件设计。经测试本系统达到了信号采集处理并在上位机上实时显示的预期目的。
监控系统综合运用了计算机技术、自动控制技术及通信技术等多种技术,实现了数据采集分析AD转换后,将数据发送给上位机,上位机进行读取串口数据和实时显示的设计,并运用数据库技术实现数据存贮和历史数据查询等功能。它能使工业生产作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的操作失误,也提高了工业生产的安全性。
摘要………………………………………………………………………I
查看完整论文请+Q: 351916072
关键字:液体流量,监控系统,数据库
目 录
AbstractII
目 录 1
第1章 绪论 2
1.1 背景及需求分析 2
1.2 课题内容 2
1.3 本章小结 3
第2章 系统总体设计 4
2.1 嵌入式软件开发平台选型 4
2.1.1 两种嵌入式软件开发平台比较 4
2.1.2 嵌入式软件开发平台选型 5
2.2 上位机监控软件选型 6
2.3系统后台数据库选择 7
2.3.1 Access2007和SQL Server2008数据库比较 7
2.3.2 选取后台数据库 8
2.4 系统总体设计结构 9
2.5本章小结 10
第3章 监控系统下位机软硬件设计 11
3.1 STC89C52单片机最小系统设计 11
3.1.1 STC89C52芯片简介 11
3.1.2 最小系统的设计 13
3.2 AD转换模块设计 14
3.2.1PCF8591芯片简介 15
3.2.2AD转换的基本原理 16
3.2.3AD转换实现 17
3.3 串行通信模块设计 19
3.3.1串行通信原理 19
3.3.2串行通信硬件设计 20
3.3.3串行通信软件开发 22
3.4本章小结 24
第4章 上位机监控软件设计 25
4.1 上位机系统总体设计框图 25
4.2 上位机通信模块设计 26
4.2.1 SerialPort简介 26
4.2.2 SerialPort读取串口数据 27
4.3 ZedGraph实时显示 29
4.3.1 ZedGraph简介 29
4.3.2 ZedGraph组件添加到C#窗体中 30
4.3.3 ZedGraph实时显示 32
4.4 后台数据库开发 35
4.4.1 Access2007数据库设计 35
4.4.2 C#连接Access数据库 36
4.4.3 数据库读写操作设计 37
4.5本章小结 39
第5章 系统调试运行 40
5.1 AD模块调试 40
5.2 下位机与上位机通信的调试 43
5.2.1 下位机发送数据模块调试 43
5.2.2 上位机接收数据调试 44
5.3 数据写入数据库测试 46
5.4本章小结 47
第6章 结束语 48
6.1 总结 48
6.2 致谢 48
参考文献 50
附录1: 上位机编程程序代码 52
附录2: 英文翻译 62
附录3:任务书 70
第1章 绪论
1.1 背景及需求分析
目前,随着科技,生产力的不断发展,自动化程度的提高,液体流量的检测和控制在生产和生活中占据着越来越重要的地位,液体流量计的检测和控制技术能力直接影响着相关领域的发展水平。
同时在石油化工、食品医药、加工制造等行业也都离不开流量计量问题,于是流量监控就在诸多学科的共同关注下迅猛地发展起来,流量技术也吸收应用了多种多样的科学规律和工艺手段。几乎对于任何流体人们都可以想到测量它的方案。
而现阶段大部分液体流量计的检测和控制都需要在现场进行,其一:如果是在比较恶劣的条件下或是需要检测的液体有毒等,这样一来对于检测人员的人身健康和生命安全是一种威胁;其二:对于数据的读取和处理十分的不便。
为解决上述技术问题,本文设计了液体流量监控系统,能够对液体流量实现监测和控制,提高了工作效率,在一定程度上保证了操作人员的人身健康和生命安全不受威胁。
本课题主要完成的内容是一个“液体流量测试平台的监控设计”的上位机软件部分。主要由自动识别串口,读取串口数据,实时显示及写入数据库这几个模块组成。
1.2 课题内容
课题研究的就是一种能对某种液体流量计的重要性能指标作出评价的测试平台。该平台由储水池、水泵、高等级流量测量仪表、被测仪表及相关管道、阀门、法兰组成。该课题根据实际采集数据和控制的需要,需设计模拟量采集接口电路、开关量采集接口电路、控制电路,完成对传感信号采集、处理,并传送至工业控制计算机。课题还需实现利用数据库保存历史信息、实现实时数据(曲线)显示、历史数据查询等功能并能控制相关执行机构动作。 课题将综合运用传感器技术、自动控制技术、计算机技术、通信技术,可以较好地培养学生分析、解决实际问题的能力,以及电路设计、程序设计、系统调试的能力。该课题根据实际采集数据的需要,需设计模拟量采集接口电路、开关量采集接口电路。
1.3 本章小结
本章主要讲述了课题的研究背景,意义和内容。从而设计了液体流量监控系统,能够对液体流量实现监测和控制,提高了工作效率,在一定程度上保证了操作人员的人身健康和生命安全不受威胁。
本课题主要完成的内容是一个“液体流量测试平台的监控设计”的上位机软件部分。主要由自动识别串口,读取串口数据,实时显示及写入数据库这几个模块组成。
第2章 系统总体设计
2.1 嵌入式软件开发平台选型
2.1.1 两种嵌入式软件开发平台比较
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,这里介绍两种常用的汇编开发软件。
一、Keil开发软件
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统[10],与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。
二、IAR开发平台简介
IAR Systems是全球领先的嵌入式系统开发工具和服务的供应商[1]。公司成立于1983年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。
然而,国内普及的MSP430开发软件种内不多,主要有IAR公司的Embedded Workbench for MSP430(简称为EW430)和AQ430。目前IAR的用户居多。IAR EW430软件提供了工程管理,程序编辑,代码下载,调试等所有功能。
2.1.2 嵌入式软件开发平台选型
用于 MCS-51 单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB或更多 RAM,20M 以上空闲的硬盘空间、 WIN98、 NT、 WIN2000、 WINXP等操作系统。
由于在本监控系统在编写下位机程序时使用的是Keil开发软件所支持的C语言,又鉴于Keil开发软件具有方便易用的集成开发环境和强大的软件仿真调试工具[2],所以本监控系统拟采用Keil μVision4作为嵌入式软件的开发平台。该软件开发平台如图2.1所示。
图2.1 Keil开发平台
2.2 上位机监控软件选型
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言[3]。它是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性[4]。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#开发环境界面如图2.2所示。
图2.2 C# 开发界面
本系统也可以用VB、VC++,C++ Builder或Delphi来开发,在此我选用C#作为开发工具,主要有一下原因:
1.C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
2.C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
3.C++把许多决策权给了程序员,因此功能十分强大,但同时,要用C++写出出色的面向对象的代码,就要求程序员具有一定的素质。而Visual Basic则根本没有提供面向对象的编程机制(VB6.0及先前版本都是基于对象,而非面向对象),而切Delphi程序员任然会在一定程度上被限制在VCL提供的框架中 。
4.基于C#是运行于.NET Framework上的原因,C#所编写的程序项目比之Delphi所编写的占用的存储空间要小的多。
综上所述,我选择C#作为开发系统的程序语言,与其对应的开发工具为Microsoft Visual Studio2010。
2.3系统后台数据库选择
2.3.1 Access2007和SQL Server2008数据库比较
一、数据库引擎
Access是由微软发布的关联式数据库管理系统[5]。它结合了Microsoft Jet Database Engine和图形用户界面两项特点Microsoft Office的成员之一。Access数据库是一种关系式数据库,也是最简单的一种数据库,Access数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复[6]。
SQL是Structured Query Language(结构化查询语言)的缩写,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。SQL Server是一个关系数据库管理系统。安全性高,真正的客户机/服务器体系结构,图形化用户界面,使系统管理和数据库管理更加直观、简单,丰富的编程接口工具为用户进行程序设计提供了更大的选择余地。
二、数据访问模型
Access是只适用于客户端的关系型数据库管理系统(RDBMS)。Access开发人员通过拆分数据库来模拟客户端/服务器方法。通常,在多个并发用户使用Access的环境中,将在每台客户端计算机上设置一个Access数据库。此数据库包含窗体、报表、保存的查询和Microsoft Visual Basic for Applications (VBA)窗体代码。所有数据都存储在中央服务器的Access数据库中,而在请求时才发送给客户端计算机。此方案需要大量网络资源和客户端资源。
摘 要
化工生产过程中,为了控制生产过程能定态进行,就必须经常了解操作条件,如压强、流量等,并加以调节和控制。进行科学实验时,也往往需要准确测定流体的流量,因此就需要一套专门的测试系统来监控系统流量等的测试。
本文针对工业生产中液体流量测试,研究了如何监控液体流量测试平台和监控数据显示等问题,提出了以C#为程序设计语言,Access 2007为后台数据库,用SerialPort及ZedGraph采集流量数据并实现显示的监控系统方案。此监控系统基于单片机电路、Keil、数据库及C#开发平台等多种平台,实现了对液体流量测试平台的监控和实时显示功能。系统的硬件部分包括MCU单片机最小系统、AD转换模块和串行通信模块,软件部分包括嵌入式软件设计和监控软件设计。经测试本系统达到了信号采集处理并在上位机上实时显示的预期目的。
监控系统综合运用了计算机技术、自动控制技术及通信技术等多种技术,实现了数据采集分析AD转换后,将数据发送给上位机,上位机进行读取串口数据和实时显示的设计,并运用数据库技术实现数据存贮和历史数据查询等功能。它能使工业生产作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的操作失误,也提高了工业生产的安全性。
摘要………………………………………………………………………I
查看完整论文请+Q: 351916072
关键字:液体流量,监控系统,数据库
目 录
AbstractII
目 录 1
第1章 绪论 2
1.1 背景及需求分析 2
1.2 课题内容 2
1.3 本章小结 3
第2章 系统总体设计 4
2.1 嵌入式软件开发平台选型 4
2.1.1 两种嵌入式软件开发平台比较 4
2.1.2 嵌入式软件开发平台选型 5
2.2 上位机监控软件选型 6
2.3系统后台数据库选择 7
2.3.1 Access2007和SQL Server2008数据库比较 7
2.3.2 选取后台数据库 8
2.4 系统总体设计结构 9
2.5本章小结 10
第3章 监控系统下位机软硬件设计 11
3.1 STC89C52单片机最小系统设计 11
3.1.1 STC89C52芯片简介 11
3.1.2 最小系统的设计 13
3.2 AD转换模块设计 14
3.2.1PCF8591芯片简介 15
3.2.2AD转换的基本原理 16
3.2.3AD转换实现 17
3.3 串行通信模块设计 19
3.3.1串行通信原理 19
3.3.2串行通信硬件设计 20
3.3.3串行通信软件开发 22
3.4本章小结 24
第4章 上位机监控软件设计 25
4.1 上位机系统总体设计框图 25
4.2 上位机通信模块设计 26
4.2.1 SerialPort简介 26
4.2.2 SerialPort读取串口数据 27
4.3 ZedGraph实时显示 29
4.3.1 ZedGraph简介 29
4.3.2 ZedGraph组件添加到C#窗体中 30
4.3.3 ZedGraph实时显示 32
4.4 后台数据库开发 35
4.4.1 Access2007数据库设计 35
4.4.2 C#连接Access数据库 36
4.4.3 数据库读写操作设计 37
4.5本章小结 39
第5章 系统调试运行 40
5.1 AD模块调试 40
5.2 下位机与上位机通信的调试 43
5.2.1 下位机发送数据模块调试 43
5.2.2 上位机接收数据调试 44
5.3 数据写入数据库测试 46
5.4本章小结 47
第6章 结束语 48
6.1 总结 48
6.2 致谢 48
参考文献 50
附录1: 上位机编程程序代码 52
附录2: 英文翻译 62
附录3:任务书 70
第1章 绪论
1.1 背景及需求分析
目前,随着科技,生产力的不断发展,自动化程度的提高,液体流量的检测和控制在生产和生活中占据着越来越重要的地位,液体流量计的检测和控制技术能力直接影响着相关领域的发展水平。
同时在石油化工、食品医药、加工制造等行业也都离不开流量计量问题,于是流量监控就在诸多学科的共同关注下迅猛地发展起来,流量技术也吸收应用了多种多样的科学规律和工艺手段。几乎对于任何流体人们都可以想到测量它的方案。
而现阶段大部分液体流量计的检测和控制都需要在现场进行,其一:如果是在比较恶劣的条件下或是需要检测的液体有毒等,这样一来对于检测人员的人身健康和生命安全是一种威胁;其二:对于数据的读取和处理十分的不便。
为解决上述技术问题,本文设计了液体流量监控系统,能够对液体流量实现监测和控制,提高了工作效率,在一定程度上保证了操作人员的人身健康和生命安全不受威胁。
本课题主要完成的内容是一个“液体流量测试平台的监控设计”的上位机软件部分。主要由自动识别串口,读取串口数据,实时显示及写入数据库这几个模块组成。
1.2 课题内容
课题研究的就是一种能对某种液体流量计的重要性能指标作出评价的测试平台。该平台由储水池、水泵、高等级流量测量仪表、被测仪表及相关管道、阀门、法兰组成。该课题根据实际采集数据和控制的需要,需设计模拟量采集接口电路、开关量采集接口电路、控制电路,完成对传感信号采集、处理,并传送至工业控制计算机。课题还需实现利用数据库保存历史信息、实现实时数据(曲线)显示、历史数据查询等功能并能控制相关执行机构动作。 课题将综合运用传感器技术、自动控制技术、计算机技术、通信技术,可以较好地培养学生分析、解决实际问题的能力,以及电路设计、程序设计、系统调试的能力。该课题根据实际采集数据的需要,需设计模拟量采集接口电路、开关量采集接口电路。
1.3 本章小结
本章主要讲述了课题的研究背景,意义和内容。从而设计了液体流量监控系统,能够对液体流量实现监测和控制,提高了工作效率,在一定程度上保证了操作人员的人身健康和生命安全不受威胁。
本课题主要完成的内容是一个“液体流量测试平台的监控设计”的上位机软件部分。主要由自动识别串口,读取串口数据,实时显示及写入数据库这几个模块组成。
第2章 系统总体设计
2.1 嵌入式软件开发平台选型
2.1.1 两种嵌入式软件开发平台比较
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,这里介绍两种常用的汇编开发软件。
一、Keil开发软件
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统[10],与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。
Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。
二、IAR开发平台简介
IAR Systems是全球领先的嵌入式系统开发工具和服务的供应商[1]。公司成立于1983年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。
然而,国内普及的MSP430开发软件种内不多,主要有IAR公司的Embedded Workbench for MSP430(简称为EW430)和AQ430。目前IAR的用户居多。IAR EW430软件提供了工程管理,程序编辑,代码下载,调试等所有功能。
2.1.2 嵌入式软件开发平台选型
用于 MCS-51 单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。运行 Keil 软件需要 Pentium 或以上的 CPU,16MB或更多 RAM,20M 以上空闲的硬盘空间、 WIN98、 NT、 WIN2000、 WINXP等操作系统。
由于在本监控系统在编写下位机程序时使用的是Keil开发软件所支持的C语言,又鉴于Keil开发软件具有方便易用的集成开发环境和强大的软件仿真调试工具[2],所以本监控系统拟采用Keil μVision4作为嵌入式软件的开发平台。该软件开发平台如图2.1所示。
图2.1 Keil开发平台
2.2 上位机监控软件选型
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言[3]。它是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性[4]。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。C#开发环境界面如图2.2所示。
图2.2 C# 开发界面
本系统也可以用VB、VC++,C++ Builder或Delphi来开发,在此我选用C#作为开发工具,主要有一下原因:
1.C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
2.C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
3.C++把许多决策权给了程序员,因此功能十分强大,但同时,要用C++写出出色的面向对象的代码,就要求程序员具有一定的素质。而Visual Basic则根本没有提供面向对象的编程机制(VB6.0及先前版本都是基于对象,而非面向对象),而切Delphi程序员任然会在一定程度上被限制在VCL提供的框架中 。
4.基于C#是运行于.NET Framework上的原因,C#所编写的程序项目比之Delphi所编写的占用的存储空间要小的多。
综上所述,我选择C#作为开发系统的程序语言,与其对应的开发工具为Microsoft Visual Studio2010。
2.3系统后台数据库选择
2.3.1 Access2007和SQL Server2008数据库比较
一、数据库引擎
Access是由微软发布的关联式数据库管理系统[5]。它结合了Microsoft Jet Database Engine和图形用户界面两项特点Microsoft Office的成员之一。Access数据库是一种关系式数据库,也是最简单的一种数据库,Access数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复[6]。
SQL是Structured Query Language(结构化查询语言)的缩写,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。SQL Server是一个关系数据库管理系统。安全性高,真正的客户机/服务器体系结构,图形化用户界面,使系统管理和数据库管理更加直观、简单,丰富的编程接口工具为用户进行程序设计提供了更大的选择余地。
二、数据访问模型
Access是只适用于客户端的关系型数据库管理系统(RDBMS)。Access开发人员通过拆分数据库来模拟客户端/服务器方法。通常,在多个并发用户使用Access的环境中,将在每台客户端计算机上设置一个Access数据库。此数据库包含窗体、报表、保存的查询和Microsoft Visual Basic for Applications (VBA)窗体代码。所有数据都存储在中央服务器的Access数据库中,而在请求时才发送给客户端计算机。此方案需要大量网络资源和客户端资源。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4881.html