《储油罐实时监测系统的设计与实现》-公开DOC·毕业论文

上传人:zhuma****mei1 文档编号:134722277 上传时间:2020-06-08 格式:DOC 页数:52 大小:3.30MB
返回 下载 相关 举报
《储油罐实时监测系统的设计与实现》-公开DOC·毕业论文_第1页
第1页 / 共52页
《储油罐实时监测系统的设计与实现》-公开DOC·毕业论文_第2页
第2页 / 共52页
《储油罐实时监测系统的设计与实现》-公开DOC·毕业论文_第3页
第3页 / 共52页
《储油罐实时监测系统的设计与实现》-公开DOC·毕业论文_第4页
第4页 / 共52页
《储油罐实时监测系统的设计与实现》-公开DOC·毕业论文_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《《储油罐实时监测系统的设计与实现》-公开DOC·毕业论文》由会员分享,可在线阅读,更多相关《《储油罐实时监测系统的设计与实现》-公开DOC·毕业论文(52页珍藏版)》请在金锄头文库上搜索。

1、长 治 学 院2012届学士学位毕业论文储油罐实时监测系统的设计与实现学 号: 08405433 姓 名: 指导教师: 专 业:电子信息科学与技术系 别: 电子信息与物理系 完成时间:2012年5月储油罐实时监测系统的设计与实现摘要:我国石油资源丰富,采油炼油企业众多,储油罐是储存油品的重要设备,储油罐液位的精确计量对生产厂库存管理及经济运行影响很大。但国内许多反应罐、大型储油罐、加油站的液位计量仍采用人工检尺和分析化验的方法,其他参数的测定也没有实行实时动态测量,这样易引发安全事故,无法为生产操作和管理决策提供准确的依据。本系统针对上述问题,采用相应的传感器采集储油罐内的温度和压力,并通过单

2、片机将储油量、温度值显示出来;同时利用串口将各项数据发送给上位机,从而进行更精确的计算与统计。关键词 :储油罐、液位监测、QT、ARM、嵌入式目录1 系统概述11.1 题目分析11.1.1 选题意义11.1.2 需求分析11.2 功能分析22 方案论证32.1硬件方案32.1.1、硬件方案132.1.2、硬件方案232.1.3、两种硬件方案论证32. 2 软件方案32.2.1、软件开发工具论证42.2.2、方案比较43 系统设计之下位机部分63.1液面测量模块:63.2.温度检测模块123.3 串口数据发送模块143.4 显示模块164 系统设计之上位机部分184.1 PC端软件184.2 A

3、RM嵌入式设备端软件215 系统调试235.1 调试计划235.2 程序运行中的错误235.3 调试结果236 总结分析28附录311 系统概述1.1 题目分析1.1.1 选题意义随着科技的发展,特别是计算机技术的广泛应用和迅猛发展,由传统的人工测量开始逐步向计算机智能监测方向发展。相比较而言,国外的油罐区安全监测系统性能好,但其价格过高,远远超出了我国广大用户的承受能力。而国内研制的系统大多计算精度低、稳定性和可靠性差。因此,研发出符合我国国情的油罐区安全监测系统,不仅可以保障石油库区的安全生产,而且将加快石油行业的现代化管理进程。针对油库储油罐地理位置分布广,信号传送距离远的特点,采用“功

4、能分散、负荷分散、危险分散、管理集中”的分布式控制系统设计思想,“硬件模块化、软件组合化、通信网络化”的设计方法。1.1.2 需求分析在设计储油罐管理系统时,首先确定系统设计目标和功能要求,从技术和经济角度上进行可行性分析,然后进行方案选择和总体设计,考虑下位机硬件电路的结构是否合理,性价比等问题,探讨上位机的功能框架,采用的数据结构等细节,再进行详细设计和调试,最终完成设计任务。在设计初期,主要考虑了以下因素:(1)可靠性。系统运行安全可靠,性能稳定,可以在恶劣环境长期连续工作。(2)通用性。在设计时,应充分考虑其应用对象的共性,使系统具有较强的通用性,可以在油库推广应用。(3)兼容性。系统

5、应能携挂不同类型的传感器,能够测量多种参数。(4)经济性。系统的造价经济合理,性能价格比高。(5)操作维护方便性。在软件方面,要求人机界面友好,操作简便;在硬件方面,要求维护检修方便。1.2 功能分析根据对储油罐液位监测及计量管理任务的深入分析,系统应实现以下几大功能:1. 系统参数的设定与修改储油罐区参数设定和修改:储油罐数量、标号设定、通讯参数设置,储油罐分区管理定义等。储油罐参数设定与修改:储油罐的安全高度、液位的高低报警值等设定和修改。2. 储油罐实时监测与计量储油罐状态实时监测:储油罐液位等参数的实时监测。储油罐实时计量:依据压力值,计算出液位的高度和剩余百分比。3. 可视信息服务显

6、示系统总貌及构成、各个油罐的温度,液位,压力数据。2 方案论证2.1硬件方案2.1.1 硬件方案1硬件方案1的系统主要由现场仪表和储油罐实时监测与计量的管理主机或服务器等组。系统主机和现场仪表之间通过RS-485总线连接,储油罐实时监测和采集液位的核心是两个压力传感器。整个系统的工作流程大致如下:压力传感器从储油罐终端采集到数据,经单片机处理(A/D转换)后显示到现场端的数码管上,同时通过串口传输给上位机,实现远端监测,连入计算机,计算机显示并保存上传的液位数据,并可以通过管理软件对数据来进行后续处理。2.1.2 硬件方案2 硬件方案2是光用单片机设计一个液位监控系统。其硬件的组成是:单片机,

7、A/D转换部分,液位显示部分,将采集到的数据经过单片机处理,显示到数码管上,管理人员可以定时查看各个储油罐的信息。2.1.3 两种硬件方案论证结合两种硬件方案,采用的硬件结构有所不同,方案2用单片机作为硬件系统,显然电路复杂,可靠性较低,而且无法向上位机发送数据,实现远端监测。再者系统调试比较困难,无形中延长了开发周期,而且系统的稳定性不高。本设计最终选择方案1,因为它相对于方案2来说,系统结构较为简单,结构高度模块化,低功耗电路设计,全数字总线接口,通信协议开放,网络扩展能力强,抗干扰能力强,所利用的液位测量技术成熟,可靠性高。2. 2 软件方案使用储油罐计量监测管理系统,能够实时采集和处理

8、储油罐中所储油品的各项数据,通过软件显示并打印油品的储量、温度及相关的各项数据,使管理人员了解各个油罐的情况。通过对储油罐实时监测与计量管理设计目标的论证,确定上位机主要实现以下功能:(1)系统参数的修改(2)储油罐实时监测与计量2.2.1 软件开发工具论证i. 下位机端:方案一:使用汇编语言为单片机编写程序。特点是执行效率高。方案二:使用keil软件,用C语言为单片机编写程序。特点是易读性强,可维护性高,开发简单,代码量低。ii. 上位机端:方案一: 使用Delphi作为开发工具,Delphi是著名的Borland公司开发的可视化软件开发工具。Delphi的优点是:不能隐式定义、结构严格、方

9、便快捷、运行速度快、使用方便、可读性高等。缺点是结构过于严谨,对编程水平要求颇高。方案二: 使用Qt设计计量管理系统。优点是Qt提供了强大的可视化编程能力。编程语言是C+,是面向对象的语言,功能强大。Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。2.2.2 方案比较i. 下位机端:显然,用C语言开发下位机程序有可读性强、易于编程、代码量低的优点,而且可以降低开发难度与开发周期。ii.上位机端:Qt是面向对象语言,易

10、于扩展,允许组件编程,对日后软件的维护,功能的扩充提供了极大的方便,而且是一款完全开源免费的软件。所以我们选用Qt作为本系统的上位机开发软件。3 系统设计之下位机部分3.1 液面测量模块液面测量模块功能是测量液位的高度,并计算出液位高度比。大致的实现方法是由两个压力传感器获取到两个压力模拟量,经A/D转换后以I2C数据形式发送到单片机中,单片机经过一定的算数运算后得到当前液位与满载液位的高度比。其中涉及到的内容有I2C总线驱动,A/D转换,数学建模等内容。具体实现方法在下文中分模块详细介绍。(1) 数学模型部分利用压差法计算储油罐液面高度,可以消除密度对计算的影响。如图3.1所示,其中P1,P

11、2是底端和上端的压力值。成品油是一种混合物,各种规格的成品油密度不一致。甚至同厂生产的不同批次的成品油密度差别也很大,所以利用压差法不必事先去测定各种油的密度。这样适应性就更广阔。无论是常压容器还是受压容器,只要被测量的溶液为均匀液体即容器中液体处处密度相等,均可采差压法来测量液位。压差法的计算的思路是:压差比 = 液面高度比 图3.1 储油罐数学模型两个传感器之间的相对高度h0是事先设定且固定的,也就是说底端的压力值P1减去上端的压力值P2,就是这段液位的压差。同理,底端压力值P1减去顶端的压力值,就是当前液位h(顶端与底端)的压差。由液体压力计算公式P=gH 可知,液体在某一位置的压力与深

12、度H有关.液面最顶端的深度是0,故液面最顶端的压力值也是0。由此可以推出当前液位的压力差也就是底端的压力值。 (1) (2)联立(1),(2)式,可以消除,g.并可以得到当前液位h的计算公式: (3)压力不是基准量,而是力和面积的导出量,故测量压力的方法很多,在本系统中我们要测量液体的压力,所以选择液体式压力计。液体式压力计又可以分为U型管压力计、单管压力计、倾斜微压计和自动液柱压力计等,不管采用哪种压力传感器,在测量压力时两个传感器必须要用相同规格的,这样测量的的数据在计算时才有意义。无论是常压储油罐还是受压储油罐,底部是承压最大的区域,监测储油罐的压力值时,就应该以底部作为监测部位。将底端

13、压力值P1经过物理量化就可以得到这个值。需要说的一点,P1 和P2是两个模拟压力量,经8位的A/D转化器转换后得到的数字值。8位A/D转换器的数值取值空间是0 255,也就是说它只能将一个模拟量分割成256份,这个量化数值对于高达几十米的大型储油罐无法做到精确的统计,这就需要提升A/D转换器的精确度,比如用16位的转换器,但原理都是一致的。在本系统中就采用的是8位的转换器。根据式(3)计算当前液位高度h时,用到的压力值都是比值关系,所以无须计算出确切的物理压力量来。两传感器之间的距离h0我们设置1000mm,这个值的大小可以根据两个传感器的实际距离,在程序中手动更改。这样就可以轻松的计算出当前

14、液位高度h了。再将当前液位高度除以储油罐满载时的高度hmax,就可以得到当前储油量与满载时的百分比。我们就将两个压力值利用串口发送给上位机,让PC或32位的ARM嵌入式设备去计算,将结果输出到软件界面的相应位置。但是在下位机端,单片机计算乘除运算比较吃力,而且精确度相当差。所以上述的数学模型并不适应于下位机端。在下位机端需要建立另一套数学模型,将底端压力乘某个常量,得到一个大概的液位高度值,显示到下位机的数码管上。(2)A/D转换部分本系统要对两个模拟压力量进行监测,如果使用传统的8位并行A/D转换器件,光数据口就会占据16个I/O口,对于一个只有4组8位I/O口的单片机来说,这种硬件上的开销实在比较大。所以我在设计过程中选择了同样能实现两路模拟量检测,且对硬件资源开销极小的PCF8591。PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行IC总线接口。PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个IC总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向IC总线以串行的方式进行传输。PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。PC

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号