微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 总线式原油盘库数据采集子系统的设计

总线式原油盘库数据采集子系统的设计

时间:10-15 来源:互联网 点击:

可实现计量。具体计算公式为:

G=Viρ[MfCpCt(1-Cω)] (4)

其中,Vt为流量计测得的总流量,Mf为流量修正系数,Cp为原油压力修正系数,Ct为原油温度修正系数。

3 总体设计

该系统由3层结构组成,最底层是现场数据采集层,负责对传感器采集到的数据进行调理与转换;中间层是数据传输层,负责数据的本地存储与传输;最上层是数据存储与界面层,负责将采集到的数据存储到上位机的数据库中,并实现与工作人员的人机对话,可显示即时及历史数据、绘制统计图、输出报表及打印、设置系统参数、执行远程手动控制等。

系统工作过程为:由安装在各类油罐上的各种功能的传感器将采集到的生产数据如液位、油水界面高度、原油含水率和温度等信息经信号调理、模数转换后,传送到安装在油罐附近的现场单片机即从单片机上,然后利用RS-485总线通过串口传送到主单片机中,最后经电平转换将采集到的数据发送到上位机,在上位机中进行数据的运算、存储与显示。

系统总体结构图如图2所示。

4 系统硬件设计

硬件部分主要由主/从单片机最小系统、串口复用电路、RS-485通信电路、数据存储电路、模数转换电路等组成,系统硬件结构图如图3所示。

为节约成本,本系统中使用的单片机均为51单片机。所使用的时钟均为内部方式,即在XTAL1和XTAL2两端外接石英晶体作定时元件,内部反相放大器自激振荡产生时钟,时钟频率为11.059 2 MHz。复位方式采用手动复位。

51单片机仅有一个串口,而主单片机与上位机和与从单片机的通信均是通过串口进行,因此涉及到串口复用。文中串口复用电路就是实现这个功能,具体是使用两片多路模拟开关4051分别实现单片机读写数据的方向选择,另外使用两个控制端口进行通路的选通。

主从单片机之间的通信是基于RS-485总线来实现的,总线拓扑结构采用终端匹配的总线型结构,首尾两端使用的阻抗匹配电阻为120Ω。通信协议采用的是Modbus中的RTU模式,通信方式为主从式,仅有一个主机,各从机有唯一编号,且从机间不能相互通信。

由于要在现场单片机进行数据备份,防止总线故障时出现数据丢失,因此要在从单片机电路上扩展外部数据存储器。经容量测算,选用6264静态RAM进行了扩展,并用一片74LS373进行数据锁存。

A/D转换器采用MCP3204,这是由Microchip公司生产的4通道、12位微功耗串行模数转换器。4个通道分别用于采集液位、油水界面、含水及温度,其他量可在上位机上计算得出。12位模数转换器的精度可达0.2‰,完全可满足需要。

5 系统软件设计

软件设计采用模块化结构。单片机程序使用C语言开发,开发环境为Keil μVision4。上位机程序使用VB6.0进行开发。

系统软件设计包括主单片机程序设计、从单片机程序设计以及上位机程序设计3部分,其结构框图如图4所示。其主要功能模块的作用如下:

串行通信模块用来实现主从单片机间的通信以及主单片机与上位机间的通信;定时器模块用来设置串行口波特率以及RS-485通信协议中的帧定时和字节定时;模数转换模块用于对传感器采集的数据进行AD转换。上位机程序中的数据处理与显示模块用于对主单片机上传的数据进行处理、显示并将结果存储到数据库中。

主单片机和从单片机主程序的流程图分别如图5和图6所示。

上位机的主要功能是定时唤醒主单片机,并向其发送数据采集命令,然后等待接收数据,最后将数据实时显示并存储。其主程序的流程图如图7所示。

6 仿真实现

本文中主、从单片机的数据采集与通信部分均通过Proteus软件进行了仿真实现。上位机软件与Proteus软件之间通过虚拟串口进行相互通信。图8给出了主单片机上LCD的显示结果,对应当前采集过程中3个油罐的液位和油水界面高度。图9为上位机上的显示结果,给出了本次采集的时间以及3个油罐中所有生产数据等信息。

7 结论

文中为实现滨南采油厂各联合站生产数据的自动采集、传输、存储与显示,设计了一套原油盘库数据采集子系统。该子系统采用主、从单片机结构,利用RS-485总线进行数据传输,并最终上传到联合站主控室上位机的数据库中。

利用Proteus、Keil和上位机软件进行了联合仿真与调试,验证了方案的可行性,值得在采油厂中应用。该方案具体实施后,将实现对滨南采油厂现有盘库系统中人工录入数据部分的升级代替,并能与现有盘库系统中的其余部分实现良好衔接,从而可将该厂原油盘库系统的自动化水平提高到较高水平。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top