登录

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

注册

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

找回密码

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

电石炉气排放监测数据采集系统设计毕业论文

 2022-03-03 08:03  

论文总字数:19257字

摘 要

近年来我国环境污染问题愈发严重,其中化工产业的主要污染源之一就是电石化工。电石化工会产生大量的黑烟包括一氧化碳、甲烷、二氧化碳、粉尘等等严重威胁了大气环境。因此需要建立有效的监测系统降低电石化工的污染。

本文论述了基于VISUAL BASIC 6.0的数据采集系统的设计。首先介绍了研究的背景、意义和发展现状,在此基础上完成了电石炉气监测采集系统的整体设计方案,实现了整个监测系统各个模块详细设计,包括数据库的建立,VB与数据库的连接、VB中各个模块的设计。监测系统与plc的通信则是采用了MODBUS协议的RTU传输方式,并将采集到的模拟量数据通过平均之后进行归档和显示,最后打印成报表。

关键词:VISUAL BASIC6.0 数据库 modbus协议 报表打印

 

Design of Data Acquisition System for Calcium Carbide Gas Emission Monitoring

Abstract

In recent years, China's environmental pollution problems become more serious, one of the main source of pollution in the chemical industry is calcium carbide chemical, petrochemical industry will produce a large number of black smoke, including carbon monoxide, methane, carbon dioxide, dust and so on a serious threat to the atmospheric environment. So we need to establish an effective detection system to reduce the pollution of calcium carbide chemicals
This paper discusses the design of data acquisition system based on VISUAL BASIC 6.0. First introduced the research background, significance and other people selected methods and design programs and calcium carbide furnace overall design. Through the monitoring system in the whole system of application, and then extended the entire monitoring system design and the function and composition of each module, including the establishment of the database, VB and database connection, VB in the design of the various modules. Monitoring system and plc communication is the use of MODBUS protocol RTU transmission, and the collected data through the average value of the process after the transfer to the data through the VB report printing.

Keywords: VISUAL BASIC 、DataBase 、Modbus Protocol、Report Printing目录

摘 要 I

Abstract II

第一章 绪 论 1

1.1研究的背景和意义 1

1.2 国内外的发展现状 1

1.3 主要解决的任务 3

第二章 监测系统方案设计 4

2.1 概述 4

2.2 监测系统结构设计 4

第三章 监测系统上位机的软件设计 6

3.1 数据库结构设计 6

3.1.1 数据库的建立 6

3.1.2 数据库的连接 6

3.1.3 SQL语句的介绍和使用 7

3.2 用户操作 8

3.2.1 用户登录 8

3.2.2用户添加、删除、修改 10

3.3 数据监控模块的设计 11

3.3.1 主界面 11

3.3.2 数据查询 11

3.3.3 参数设置 12

3.4 报表打印 12

第四章 监测系统通讯模块的设计 15

4.1 Modbus介绍 15

4.2 CRC校验程序设计 16

4.3 PLC的准备工作 18

4.4 VB编写通讯程序的介绍 18

4.4.1 mscomm控件简介 18

4.4.2 读取模拟量 18

4.3.3 读取开关量 19

4.4 存储数据方式 20

第五章 系统调试 22

5.1 调试过程和结果 22

结 语 24

第一章 绪论

1.1研究的背景和意义

由于我国经济的高速发展,城市化和工业化的进程也在不断加快,随之而来的各种污染问题也愈来愈严重,不仅阻碍了社会经济的可持续发展,也使得人们的生活环境受到了严重的威胁[1]。因此绿色低碳的经济发展战略已经成为了未来发展的主要趋势,也是我国经济发展的必然选择。

电石行业是一个能耗非常高,污染也非常严重的一个行业,不仅是在生产过程中会产生大量的污染,原料的运输和准备过程中也会带来大量的污染。在电石生产过程中每次进行燃烧时都会有大量的粉尘产生。并且还会有以CO为主的尾气排放,不仅带来了极大的污染,而且也浪费了大量的资源。为了加强对于环境污染的治理,提高能源的二次利用率,按照国家工业和信息化部2014年修订的《电石行业准入条件》,今后新建和改扩建电石炉必须配置炉气组分在线分析装置,生产系统要实现炉气净化等环节的自动化控制、电石炉气必须实现100%回收和综合利用[2]。因此电石炉气连续排放监测系统已经成为了监测电石炉气的现代化手段,是各个电厂不可或缺的设备。

1.2 国内外的发展现状

60年代末70年代初,许多国家都在其较大的工业锅炉地区建立了大气监测管理系统.对于烟尘、粉尘、窑炉等大气污染进行在线的连续监测。从上世纪70年代开始,美国就在地方建立了5000多个子检测站,并逐渐发展到州和国家的层面上[3]。而且从常规的气体监测发展到了光化学、气溶胶等全方位的空气质量监测网络、是当时世界上最发达的气体监测网络,不仅仅是美国,欧洲的许多国家都建立了许多类似的大气监测系统,比如法国建立了800多个监测站,英国建立了400多个气体污染的监测站。

我国自从上个世纪70年代中期就开始逐步的建设污染气体的监测网络,之后不断地发展并且在80年代中后期开始在城市之中建立大规模的监测站,到了90年代逐步形成了从部分城市到全国的一个总的污染气体监测网络,主要是由100多个城市的监测站所构成,从1999年开始,大气污染监测系统就被国家环保总局确立为重点工作,而其中重中之重就是全国大气监测网络系统的构建和完善。从1999到2007年全国的大部分市县都建成了大气污染监测系统,并且部分地区的监测系统可以实现互相通信的功能,开始逐步的构建全国的大气监测网络。

在远程监控软件上有德国Schneider ELectri公司与清华大学联合开发的inhand devicenetwork suite软件、艾斯苯公司的ASPEN-tech、西门子推出的wincc等等。国内则有昆仑MCGS,紫金桥REAL、三维力控、世纪星等监测系统。

东北大学的孙鹏所设计的烟气连续监测系统采用的就是MCGS组态软件进行设计。他在用户窗口组态中,设置了主画面、气态污染物监控子系统、烟尘监控子系统、烟尘参数监控子系统、实时数据显示、历史数据显示、实时曲线、历史曲线、阀门设置、报警窗口、仪表手动校准画面等十多个窗口[4]。但是由于一个正版的组态软件需要上千元,且起不到锻炼的效果所以本文并没有采用。

图1-1 MCGS组态结构图

上海大学的刘胡平,麦云飞,王静悦所设计的监测系统由时钟电路、红外传感器、按键模块、微处理器MSP430、信号调理电路、无线通信模块CC2430组成。他的工作原理是将由红外传感器采集到的数据通过微处理器MSP430进行AD转换之后,通过zigbee无线模块对数据进行发送,接收到的数据通过RS232传输到计算机中,再由计算机中的Labview进行分析和处理并进行数据的储存、显示和打印[5]。其系统结构框如图1-2所示

图1-2 系统结构图

1.3 主要解决的任务

主要解决的任务包括了解电石炉尾气的各个成分以确定需要采集的数据。还需要建立好数据库的结构以方便数据进行储存,建立好的数据库要与VB编写的上位机进行连接。基于VB的监控系统主界面的设计需要包括整个电石炉气的流程,让人们更加方便的监控,并且对整个电石工艺程序有一个直观的认识。报表打印功能则可以将采集到的数据进行打印,还有用户操作这个模块。上位机还需要与PLC进行通讯,因此我们还需要编写通讯模块。

第二章 监测系统方案设计

2.1 概述

本文主要是对电石炉尾气进行监控,所以要了解电石炉尾气的主要成分和主要监控数据。电石的生产方法主要有2种,一种是电热法,一种是氧热法。其中运用的最多的就是电热法,在电石炉内将一些含有碳成分的原料用电弧所产生的高温熔化之后进而生成电石[6]

电石的生产过程中会伴有大量的一氧化碳产生,一氧化碳是一种有毒气体,并且还有发生爆炸的危险,除了一氧化碳之外还伴有甲烷,氢气、二氧化碳等气体以及一定量的有害物质包括硫化物、砷化物、磷化物等等并且还有大量的粉尘产生。因此本文将主要监测数值设为一氧化碳、二氧化碳、氧气、氢气、氮气、甲烷这6种成分。

本文中的plc设计部分选用的S7-200PLC,PLC的CPU型号为226,包括24个输入和16个输出。程序部分的设计包括5个部分,取样分析控制系统部分、探头反吹控制系统部分、自动标定功能部分、故障报警部分、和分析小屋部分[22]。监测系统部分的各个模块则是采用了VISUAL BASIC6.0进行设计,而后台数据则是采用了Microsoft Access数据库以弥补PLC管理和储存大流量数据的缺陷,数据的报表打印部分则是用到了Microsoft Excel。

VB是微软公司推出的一款程序设计语言,也是一种结构化、模块化、面向对象的程序语言[25]。VB的图形用户界面使得人们不用花费大量的时间去编写界面,只要把相应的控件托到窗体之中即可,所以它也是一种编程效率非常高的语言,从小型用户程序到大型的企业系统都可以使用VB进行完成,VB的快速应用程序开发系统可以高效和方便的与数据库进行连接,用来进行监测系统的开发非常合适。

2.2 监测系统结构设计

监测系统基于Visual Basic主要功能就是能够对PLC的状态和数据进行实时地监测,并将采集到的数据进行存储和报表打印。而且需要具有安全管理功能,操作人员必须输入用户名和密码才能进行操作并且还分为不同的权限,同时还要具有参数设置和数据查询的功能,数据查询是可以通过储存数据的时间来对Access中的数据进行查询。参数设置功能是可以设置主要采集量的上下限。VB编写的上位机与PLC进行传输,它采用的传输协议为MODBUS,同样是采用VB进行编写。

监测系统主要包含了数据库模块,主界面设计,用户操作,报表打印,和数据采集等5大部分组成,其结构如图2-1所示

图2-1电石炉气监测系统结构设计

第三章 监测系统上位机的软件设计

3.1 数据库结构设计

3.1.1 数据库的建立

一个基本的数据库要包括数据访问功能,数据存储功能,并且易于维护和管理,能够根据运算公式计算出数据的值,还要具有备份功能以免数据库丢失,并且操作简易能够快速高效地达到自己的目的。

根据监控系统的实际需求,本文采用了Microsoft Access进行数据库的设计,并且本文设计了5张表分别是,用户表、hourdate表、mindate表、开关量表、参数表。这5张表其中用户表存放了用户名密码和权限,本文将权限分为1级和2级,1级权限代表了管理员权限,可以添加用户,删除用户、修改数据、全部的操作,2级权限则只能进行浏览和打印一些基本的功能。Hourdate表和mindate表则分别代表了分钟和小时数据的储存表,用于存放CO、O2、CH4、CO2、H2、N2等六个主要的电石炉尾气采样值,开关量表则用于记录一些阀门开关的数值,参数表则用于储存设置的参数。数据库结构如图3-1所示

图3-1数据库结构

3.1.2 数据库的连接

要将数据从上位机传输到数据库中进行储存,首先要将VB和数据库进行连接。本文采用的连接方式是ADO对象模型,这种对象模型包含了7个对象即Connection、Command、Recordset 、Parameter、Property、field和Error其中最主要的3个对象分别是Connection连接对象,Recordset记录集对象、field字段对象[24]

Connection对象主要用于连接数据库,首先需要建立一个工程,之后在菜单栏中点击工程→引用,在引用中添加Microsoft ActiveX Date Objects 2.8 library 其中2.8只是代表了一种版本也可以添加2.7、2.6等,并在程序代码部分声明并创建数据库连接对象Connection,这个连接对象要在模块中作为一个程序级的对象进行声明,一旦声明完成就可以在各个窗体中调用无须再声明。之后我们还需要用代码去声明,要连接的是哪一个数据库。首先点击工程→添加DATE envirmont菜单项。之后在date envirmont中右击connection1选择属性,在Provirder中选择Microsoft JET 4.0 OLE DB Provirder在connection中选择数据库的文件位置之后点击测试连接。如果测试成功它会提示“测试连接成功”。代码声明如下所示

Dim STRAccess As String ‘将数据库的位置定义为一个字符串变量

StrAccess = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\fyq\Desktop\新建文件夹\毕业设计数据库.mdb;Persist Security Info=False" ‘数据库所在文件位置

Set ADOCN = New Connection ‘创建一个新的连接对象Connection

ADOCN.Open StrAccess ‘打开数据库

其中ADOCN只是一种命名也可以将他命名为其他名称。这样数据库的连接包括代码部分的声明就大功告成,之后要在窗体中连接数据库直接调用Connection对象即可。图3-2为与数据库的连接

图3-2 测试连接

3.1.3 SQL语句的介绍和使用

要想在VB中对数据库里的数据进行操作,首先要了解SQL语句,SQL语句是一种专门用于数据库的查询、更新、存取的特殊的编程语言。其中最常用的是查询数据、增添数据、删除数据、修改数据。分别为select语句 insert语句 delete语句 update语句[32]。以用户表为例插入用户sql语句为

insert into 用户表(name,password,permission)values(‘001’,‘001’,‘1’)。

但是由于在VB中无法识别单引号,因此需要将代码写成

"insert into 用户(name,password,permission)values('" 001 "','" 001 "','" 1 "')"这种形式,并且每当使用新的sql语句时需要定义一个新的纪录集对象Recordset 并且还需要写入执行代码,如下所示

Dim ADORS as NEW Recordset ‘将ADORS定义为一个新的记录集对象

ADORS.EXECUTE STRSQL ‘执行SQL语句

3.2 用户操作

3.2.1 用户登录

电石炉气监测系统作为一种监测软件,不能让任何人都能轻易使用,为了保障监控系统的安全性,本文在VB中设置了用户登录这个界面,其登录界面如图3-3所示

图3-3 用户登录界面

本文先在模块中定义Connection对象,之后将用户登录窗体显示代码写在模块中,并将这个模块作为第一启动对象,这样当打开工程之后就会首先显示用户登录界面,用户登录界面的用户名和密码输入分别用了2个Text控件Text1和Text2,首先调用Connection对象,定义一个新的记录集对象Recordset,然后写下查询的sql语句,该语句的功能为在数据库的用户表中打开用户名为Text1的数据。其代码为。

ADORS.Open "select name from 用户 where name = '" Text1 "'"

然后用IF语句进行判断首先有没有这个用户名,如果没有该用户名则用Msgbox进行提示,如果有该用户则进入密码判断,调用fields字段对象再用IF语句进行判断该用户名的密码Text2是否与数据库中储存的数据相同,之后在判断其用户权限是1级管理员权限,还是2级普通用户权限。1级管理员权限则将主界面完全显示,如果是2级普通用户权限则将主界面中用户操作等按钮进行Hide操作。登录权限的判断代码如下所示

If ADORS.Fields("permission") = "1" Then ‘判断权限是否为1

MsgBox "登录成功,您的权限为管理员权限" ‘权限为1,用msgbox提示

Formmain.Show ‘进入主界面

Else

MsgBox "登录成功,您的权限为普通权限" ‘权限不为1,用msgbox提示

Formmain.Show ‘进入主界面

Formmain.Command6.Visible = False ‘用户操作按钮隐藏

End If

登录界面的流程图如图3-4所示

NO

是否存在此用户名?

请支付后下载全文,论文总字数:19257字

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

企业微信

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