远程数据实时采集

2024-07-18

远程数据实时采集(精选9篇)

远程数据实时采集 篇1

1 引言

近年来, 随着远程预警探测雷达的规模越来越大, 集成的设备越来越多, 快速准确地收集和分析各工作单元工作是否正常就成为现实的需求。利用嵌入式技术对相应的设备工作参数进行采集, 一方面可以及时了解各工作单元的工作状态, 另一方面也可将采集的参数集中送至主控单元, 为主控单元做出控制命令提供参考依据。

2 系统硬件构成

电路设计上, 选用Freescale公司的Qorl Q P2020为主控芯片, 配置系统的各个参数, 由于系统要与雷达的多个工作单元进行数据交互, 为了减少接口芯片的种类, 采用FPGA来进行接口的衔接。

(1) Qorl Q P2020芯片介绍。P2020处理器基于45nm技术低功耗平台, 最高主频可达1.2G Hz。每个处理器包含两个e500 Power Architecture核心与外设, 可以实现通过网口在线下载并烧写操作系统和应用程序, 并通过以太网固化和更新Power PC程序, P2020凭借其低功耗设计及单线程高性能, 非常适合雷达数据采集控制层面的应用。

(2) FPGA芯片介绍。FPGA作为一种专用集成电路, 解决了定制电路的不足, 又克服了原有可编程器件门电路数量有限的缺点, 芯片编程配置灵活, 开发周期短, 系统简单, 具有集成度高、体积小、功耗低、高速I/O端口多、可在线系统编程等优点。在此选用Xilinx公司的XC7K325T。

(3) 底层数据采集。大型雷达需要采集的数据众多, 且考虑到兼容性, 我们通过多种方式来采集现场数据:通过RS232/RS422、TTL、IIC, 光纤、以太网直接进行数据采集, 系统的总体设计框图如图1所示。整套硬件设备可在单板中设计实现。

(4) 数据存储。对于数据存储, 由于系统实时采集各工作模块工作状态数据, 数据量不大, 且系统收到数据之后统一打包处理发送给主控单元, 并不会有太长的时间延时, 故数据存储只需要进行缓存, 我们采用FIFO对数据进行存储。

FIFO的本质, 其实就是一种特殊的双口RAM, 通过编程实现的FPGA内部有可用的双口RAM资源, 利用FPGA强大的内部资源, 在FPGA内部编写程序集成FIFO。XC7K325T内部具有16020Kb的Block RAM, 可以提供足够的双口RAM资源。本系统为了使代码模块共用, 减少开发的工作量, 取最大深度的FIFO进行统一设计, FIFO深度为2K*16bits。

(5) 光纤接口设计。Xilinx公司在其XC7K325T中最多集成了16路高速GTX, 为了方便用户对GTX的使用, Xilinx公司提供了一个对GTX进行Wrapper的IP core, 其名称是transceivers IP, 本系统采用起始号 (4字节) +功能号 (4字节) +数据 (128字节) +校验 (2字节) +结束号 (4字节) 的简化数据包模式进行远程数据的采集。

(6) IIC接口设计。IIC总线是双向、两线、串行、多主控接口标准, 具有总线仲裁机制, 本系统为了提高系统的集成度, 将IIC控制器嵌入FPGA内, 系统设计把控制器从逻辑上分成两个状态机, 分别为命令状态机和时序状态机, 其中, 命令状态机用于管理IIC总线上的命令状态, 并实现IIC总线读写操作命令状态的转移过程;时序状态机用于实现IIC总线启动、停止、读、写、确认等命令的具体时序关系。

3 FPGA与P2020通信

FPGA完成系统与外部接口的通信功能, 而P2020负责与主控进行数据交互, FPGA在其采集到数据后, 通过localbus将按协议打包好的数据发送给P2020, localbus采用数据/地址线复用的形式, 通过Buffer进行驱动和隔离, 采用16bits宽度, 本设计中采用Motorola CPU总线架构, 即大端模式。

4 软件设计

本系统软件设计的操作系统采用Wind River公司的Vx Works6.5版本。软件设计的主要工作是Vx Works操作系统BSP的设计实现。它的主要功能为屏蔽硬件, 提供操作系统的驱动及硬件驱动。Wind River公司在集成开发环境Work Bench中提供了许多典型设计的BSP软件包, 设计人员只需要在这些BSP上进行针对修改即可。本设计根据需要, 驱动程序设计包括NOR FLASH驱动、以太网接口驱动和Rapid IO接口驱动, 因不是本文讨论重点, 不再一一赘述。

5 结语

本文设计了一种对雷达各工作单元进行数据采集、运行状态及故障监视系统, 将Power PC引入系统应用中, 实现对雷达运行状态的实时监测, 其强大的数据通信、处理功能, 为大型雷达各设备工作状态的监控提供了有力保障。同时, 采用FPGA进行外部接口互连设计, 能够很好的对未来雷达设备的扩充提供兼容设计, 该设计具有硬件可裁减、可扩充、可升级、软件在线可编程的特点, 使得设计的系统在规模、功耗、体积上有很大的优势。经测试表明, 该设计能实时准确的采集远程数据, 运行稳定可靠, 满足了设计的技术指标, 效果良好。

参考文献

[1]付雪, 卜雄洙, 沈碧云.基于FPGA的高速数据采集存储系统的设计与实现[J].仪表技术, 2013 (12) :6-9.

[2]孙东亚, 张亚棣, 李亚晖.一种Power PC和FPGA结构的远程接口单元设计方法[J].航空计算技术, 2015 (03) :118-121.

远程数据实时采集 篇2

对于广大用户而言,与系统的交互是通过应用程序实现,而且整个实时采集系统的主要数据处理都是在这里完成的。因此,运行效率高、界面友好、具有强大数据分析和处理的应用程序的设计,也是系统设计上一个不容忽视的关键因素。应用程序的主要功能有:启动/关闭USB设备,检测USB设备,设置USB数据传输管道/端口,设置A/D,采集数据,显示/分析数据。这里,我们采用VisualC++6.0作为程序的开发环境,并且充分运用了多线程的编程思想。

在这个设备中,设置4个线程:首先是1个主线程,负责用户界面,并保持中枢地位。它的生存周期也就是整个用户程序的主存期,用户的动作(例如鼠标事件、键盘事件)都会触发主线程的消息机制,从而完成对用户的响应;而3个分离的辅助线程分别负责数据的采集、数据的分析处理以及数据的显示这3个不同的任务。辅助线程是在主线程运行过程中产生的,它的生命就是线程函数本身,函数一旦return,线程就结束了。因此,辅助线程的生存周期只是整个程序生存期的`一部分。

MFC程序只会有一个CwinApp对象,而CwinApp派生自CwinThread,即产生了应用程序的主线程。每当需要一个额外的线程时,应先产生一个CwinThread对象,再调用全局函数AfxBeginThread,将线程产生出来。

对于辅助线程(workerthread),要为它准备一个线程函数,然后调用AfxBeginThread。例如:CWinThread*pThread=AfxBeginThread(ThreadFunc,¶m);

UINTThreadFunc(LPVOIDpParam);//线程函数

对于用户界面线程(UIthread),不能够光由一个线程函数来代表,因为它要处理消息,它需要一个消息循环。应该先从CWinThread派生一个自己的类,再调用AfxBeginThread()产生一个CWinThread对象。网站

结语

远程数据实时采集 篇3

本系统的主要研发内容包括:井场信息数据库设计(井场单井数据库、后方总数据库)、信息采集软件设计、信息传输软件设计、井场信息web发布平台设计。软件系统架构见图1:

1.1信息采集软件设计

井场信息采集软件包括仪器通信接口、自动采集预处理模块、录入模块和导入模块,采集系统架构见图2:

1.2数据传输系统设计

参照最新的WITSML信息传输标准和最新的数据结构,设计数据编码和传输协议,实现标准数据的传输能够以最小的网络带宽实现最大量的数据传输,且保证数据不丢失。通过对传输实际需求的分析,并在井队现场实际应用环境下进行了数十次反复试验的基础上,确定了以下技术路线和解决方案[29]。

(1)根据中石化和胜利油田的实际应用情况,远程传输系统总体结构见图3:

二、井场信息Web发布平台设计

井场信息Web发布平台实现井场工程参数的实时监测,为现场工程技术人员提供直观的、集成化的信息获取手段,帮助工程师全面把握各项参数的变化情况和趋势。同时,系统还要将现场施工参数进行计算与分析,帮助他们进行施工参数的优选和调整,实现最优化施工。

下面主要设计典型模块的具体功能:

(1)重点井导航

从示意图上大概反应出每个油区正在施工的重点井,并且能起到导航作用。

(2)基本情况查询

通过该模块可以了解到井所在的区块、井位坐标、地理位置、构造位置、测线位置、井型、井别、目的层、设计完钻层位、设计井深、设计完钻垂深、AB靶点设计垂深(定向井)、钻井方式、完钻原则、开钻及一开(二开…)日期等信息,使得进入该系统的用户能够快速地对该井的基本情况有个总体把握。

(3)综合动态查询

该模块可以根据区块查询到井基本信息、施工状态、重点参数和工程进度。

(4)井身结构查询

该模块可以查询到图文并茂的设计井身结构和实际井身结构信息。

(5)地层信息查询

这里可以查询到图文并茂的地质设计的分层信息和实钻的岩屑数据,从而加以对比,及时更新对地层的认识,从而调整钻井方案。

(6)井眼轨迹显示(三维)

以三维的形式将地层信息和实钻井眼轨迹、临井轨迹显示出来,直观地反映井下状况,便于控制井眼轨迹。

(7)施工动态查询

日动态主要反映每天的钻井进度和现场发生的主要事件,如状态、钻机编号、累计天数、实际井深、日进尺、月计划、月累计、钻头类型、钻头直径、水眼直径、泵压、泥浆密度、目的层以及当日生产情况简要描述,便于生产管理人员及时掌握动态。

(8)仪表仿真显示

通过在web页面上模拟井场钻井仪表的实际模样,来更直观地反映入口密度、出口密度、总池体积、泵冲、扭距、立管压力、大钩负荷、钻压、入口温度、出口温度等等,使得曾经在现场工作过的人员更快速、直观地了解钻井参数,并对出现的异常情况作出快速反应。

(9)米间隔数据查询及曲线显示

从实时数据中抽取每米的钻井参数,便于技术人员从钻井深度的角度分析地层特性的变化。

(10)实时记录查询

便于对已建完钻井的历史数据进行分析,从而进一步认识地层和油藏,提高所在区块的勘探开发效率。

(11)实时曲线查询

以实时刷新的曲线方式更直观地监视迟到时间、迟到井深、钻头位置、钻头进尺、大钩负荷、转盘转速、钻时、钻压、扭矩、立管压力、套管压力、泵冲1#、泵冲2#、钻速、dc指数、入口流量、出口流量、入口密度、出口密度、入口温度、出口温度、入口电导、出口电导、池体积1#、池体积2#、池体积3#、池体积4#、池体积5#、池体积6#、总池体积、甲烷含量、乙烷含量、丙烷含量、异丁含量、正丁含量、异戊含量、正戊含量、总烃含量、C02含量、H2S含量等参数的变化,并预测其变化趋势,避免事故和复杂情况的发生,及时发现油气显示。同时在发生事故时能根据曲线正确地分析事故发生的时间和经过,使事故处理有据可依,提高事故处理的成功率。

(12)钻具结构查询

现场使用的钻具结构数据查询显示。

(13)岩屑描述信息

现场录井岩屑描述信息直观性查询。

(14)录井剖面查询

岩屑信息是录井单位掌握所遇地层的油气含量的重要指标,所以此模块以深度纵轴将录井的岩性图例、颜色、岩性描述等信息显示在一个页面上。用户可以直观的看到,录井岩性信息随着深度的变化情况。

(15)测井曲线显示

根据测井仪器产生的las文件,重点对电阻率、伽马进行数据曲线显示。

(16)现场非结构化信息

钻井现场人员可以把岩屑、井场实况、关键设备等等拍成数码照片录入到数据库,总部人员可以通过浏览这些照片对现场的特殊部位、实际岩性有一个感性的、直观的认识,从而便于远程诊断、处理故障和进行钻井方案的调整。

(17)数据导出

系统所采集的所有数据都可以通过这个模块实现个性化定制并通过excel或者TXT形式下载到本地进行科学研究,或者再导入别的软件系统,实现数据共享,方便快捷。

(18)手机实时监控

本系统可以将各类实时数据图文并茂的显示在PDA手机上,方便各工作岗位的作业人员和管理人员以及各领域专家及时了解钻井实时工况。

(19)权限管理

针对中国石化的实际应用需求,系统实现在线用户管理和授权访问,权限控制方面采用IP (段)和用户名两级控制。

四、总结

(1)从信息采集软件、数据传输系统的设计两方面对数据实时采集与远程传输系统功能的设计。

(2)分析了井场信息Web发布平台设计典型模块的具体功能。

(3)远程协同群体决策支持平台要实现文件上传、信息自动发布、协同工作机制三个功能。

摘要:钻井工程数据实时采集与远程传输系统的数据流程就是首先把钻井过程中产生的工程数据、井眼轨迹数据,以及随钻测井、录井、地震等地下数据通过泥浆脉冲或电磁波传输到地表,再经过卫星、互联网等通信手段传送到总部的数据库,通过信息发布平台进行实时监测;进而借助钻井事故诊断系统,将采集得到的大量数据在数据库下通过各种软件进行分析、处理、对比,利用模型库、方法库等准确判断出事故类型;得到的诊断结果供第三层面的远程协同群体决策支持中心参考,不同领域的专家结合各自的经验,以实时诊断得到的结果为基础,提出最终的决策意见,并下达指令,通过远程协同群体决策支持平台解决现场发生的问题。

远程数据实时采集 篇4

航天器推力器测试台高速实时数据采集系统的设计与实现

为了满足航天器卫星推力器真空热试车工程背景的需要,在VC++环境下利用多线程技术设计航天器推力器试验台高速数据采集系统,本文详细的.研究了设计中的关键性技术及解决方案,试验验证该方案是可行的,并有一定的通用性.

作 者:马云华 蒋光林 Ma Yunhua Jiang Guanglin 作者单位:北京控制工程研究所,北京,100080刊 名:航天控制 ISTIC PKU英文刊名:AEROSPACE CONTROL年,卷(期):200523(6)分类号:V448关键词:推力器 高速数据采集 数据存储 多线程 VC++

远程数据实时采集 篇5

对作物需水状况进行准确、快速和可靠的评价,是以实时监测和诊断与作物需水状况密切相关的作物水分信息为基础的。作物需水信息采集不仅是实施灌溉决策和管理的重要基础,也是现代节水农业技术体系和精量灌溉工程的一个重要组成部分[1]。

现代电子技术以及移动无线通讯技术的发展为农业信息的采集提供了有效的途径。国外已经形成了较为成熟的农业信息采集设备的系列产品,而国内在这方面的研究起步较晚,还没有形成成熟的产品。例如,王艳玲等采用C8051F020单片机作为中央处理器设计了基于GPRS的农田环境信息远程监测系统[2];李兴霞等基于嵌入式技术,采用ARM7处理器和GPRS通信方式设计研究了农田环境信息采集系统,实现了农田信息的实时采集[3]。这些远程数据采集系统的研究在通道数的扩展及系统的功耗上还存在一定的问题。

为此,设计了一种以德州仪器(TI)公司的超低功耗MSP430F149单片机为核心芯片、西门子公司MC39i为无线传输模块的多通道数据采集系统,用于作物需水信息(包括气象要素、土壤湿度)的采集。该系统能够实现多路作物需水信息的采集、存储、显示和与上位机无线传输,为实时诊断作物水分状况提供了依据和保证。

1 系统结构设计

作物需水信息实时采集系统结构如图1所示。该系统主要模块包括传感器模块、微处理器模块、数据存储模块、无线传输模块、电源模块、LCD显示及控制键盘电路。微控制器采用MSP430F149超低功耗混合信号控制器。

系统采用气象变送器及土壤传感器将采集到的标准电压信号传给单片机内置的ADC进行A/D转换,经过CPU进行数据处理,存储到数据存储器,能实现LCD显示,并通过GPRS进行无线传输至上位机。

2 硬件电路设计

2.1 处理器及外围电路

MSP430单片机是TI公司的一种基于16位RISC架构的超低功耗工业级混合信号微控制器。本系统采用的MSP430F149具有2kB RAM与64kB FLASH,能处理大量代码与数据。除了正常工作模式外,还有5种低功耗电压1.8~3.6V,超低功耗掉电模式仅0.1μA,待机模式1.1μA,活动模式也只有280μA(2.2V,1MHz)[4]。片内集成了丰富的外设,有USART串行收发模块和A/D转换模块等。另外,它可在线编程,不用外部编程电压,使用十分方便,而且开发工具很多,易于完成软件的设计、调试及其测试,在很大程度上缩短了开发周期。微处理器外围电路如图2所示。

2.2 实时时钟电路

本系统采用DS1302时钟芯片来获取数据采集时间,以实现系统数据的实时管理。DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,能够计算秒、分、时、日、周、月、年,1个月小于31天时可以自动调整,且自动补偿2100年之前的闰年日期。时钟的工作格式可以是24h或带AM/PM指示的12h格式。DS1302实时时钟芯片硬件电路原理图如图3所示。DS1302与MSP430F149采用共同的复位信号,在系统上电时即可复位。此外,DS1302接有备用电池,保证系统断电时仍可保持精确的计时。

2.3 数据存储电路

本文采用的AT24C512是Atmel公司生产的64kB(512Kbit)的串行电可擦除的可编程存储器(EEPROM)。该芯片采用I2C总线设计;与1MHz(5V),400kHz(2.7V),100kHz(1.8V)I2C总线兼容;100 000次编程/擦写周期;内部有512页,每一页为128字节,存储容量为65 536Byte;任一单元的地址为16位,地址范围为0000~0FFFFH;单电源,读写电压为1.8~5.5V;数据可保存40年;写保护功能,当WP为高电平时,进入写保护状态;CMOS低功耗技术,最大写入电流为3mA;自动定时的写周期;采用8引脚封装,具有结构紧凑、存储量大的特点。电路原理图,如图4所示。

2.4 LCD液晶显示及控制键盘电路

系统采用3.3V低电压、低功耗的CH12864B液晶模块显示采集到的作物需水信号及其对应的采集通道号。该模块是一种具有4位/8位并行、2线或3线串行多种接口方式,利用其灵活的接口方式和简单、方便的操作指令,可以构成全中文人机交互图形界面,可以显示8×4行16×16点阵的汉字,也可以完成图形显示。

键盘由16个4×4阵列按键组成,分别为数字键0~9、确定(ENTER)、退出(ESC)、关机/小数点(OFF/.)、通道选择/液晶背光开启关闭(C/U/BL)。同时,通过对键盘的操作可以实现对采集时间、采集通道输入的设置,结合LCD使得每操作一步都会在液晶上显示出来,并作相应的提示,真正达到了人机交互的效果。

2.5 GPRS无线传输模块

GPRS无线数据传输模块选用的是GF-2008AW型GPRS DTU,内置西门子MC39i模块,主要由射频天线,内部Flash,SRAM,GSM基带处理器及匹配电源和一个40脚的ZIF插座组成。GSM基带处理器是核心部件,用来处理外部系统通过串口发送AT指令;射频天线部分主要实现信号的调制和解调,以及外部射频信号与内部基带处理器之间的信号转换;匹配电源为处理器及射频部分提供所需的电压[6]。MC39i模块的功能是将数据或命令通过与其连接的天线发射出去,或接受远端数据中心发送来的数据,再将接收到的数据或者命令进行相应的处理后送入微控制器中。该模块与MSP430F149之间采用RS232串口通信来完成数据交换,其接口电路采用MAX3232芯片实现。MAX3232是3.0~5.5V供电、低功率的RS232收发器,支持高达1Mbps的通信速率,仅需要4个0.1μF的电容作为外部元件即能够工作。电路原理图如图5所示。

3 软件设计

3.1 主程序流程

图6是作物需水信息远程实时采集系统主程序流程图。单片机系统启动后,先进行系统初始化。初始化子程序包括时钟、I/O端口、定时器、串口、液晶显示模块和ADC设置等一些参数的初始化。进入定时器中断后,开启数据采样通道,分别采集系统确定的各指标要素(气象要素与土壤水分)。对采集的模拟量信号进行A/D转换,转换完的数字信号存储到数据存储芯片AT24C512。微控制器将新数据写入LCD显示寄存器,更新LCD的显示内容。如果微控制器接收到上位机发来的通信信号,便会调用GPRS传输子程序以判断上位机发来的握手信号,若信号符合约定,则控制器就进行GPRS无线传输,将采集到的数据传至上位机。

3.2 各模块软件设计

系统采用IAR公司提供的开发调试环境IAR Embedded Workbench IDE进行软件的编译调试以及目标代码的下载,采用C语言和汇编语言作为系统软件的开发语言。

3.2.1 A/D初始化子程序

系统采用模/数转换的序列通道多次转换模式,对选定的多通道进行连续转换。由ADC12CTL1的CSTARTADDx位定义了第一个转换存储器的首地址。转换结果将顺序地存放在转换存储寄存器中。当由ADC12MCTLx寄存器中EOS位定义的最后一个通道转换完成之后,一次序列通道转换完成,触发信号会触发下一次序列通道转换[7]。本文中A0通道采集电位器的模拟电压,A1~A3通道分别采集空气温湿度变送器及土壤水分传感器输出的0~2.0V DC电压值,对其进行A/D转换。先对使用序列通道多次转换模式下的模/数转换模块的初始化设计程序如下:

#include<msp430x14x.h>

void ADC12init(void)

{

P6SEL |= BIT0 + BIT1 + BIT2 + BIT3;

//使能A/D输入通道A0~A3

ADC12CTL0=ADC12ON+SHT0_8+MSC+REFON+REF2_5V;

//打开ADC模块,延长采样时间以避免结果溢出

//序列多次转换

ADC12CTL1 = SHP+CONSEQ_3;

//SHP为1表示SIMPCON信号源于采样定时器,脉冲采样模式

//CONSEQ_3表示序列通道多次转换模式

ADC12MCTL0 = INCH_0 + SREF_1;

//VR+ = VREF+ and VR— = AVSS, 通道A0

ADC12MCTL1 = INCH_1 + SREF_1;

//VR+ = VREF+ and VR— = AVSS, 通道A1

ADC12MCTL2 = INCH_2 + SREF_1;

//VR+ = VREF+ and VR— = AVSS, 通道A2

ADC12MCTL3 = INCH_3+SREF_1+EOS;

//VR+ = VREF+ and VR— = AVSS, 通道A3,结束本次序列转换

ADC12IE = BIT3;

//使能中断ADC12IFG.3

ADC12CTL0 |= ENC;

//置位ENC,为开始转换做准备

}

由ADC12CTL1的CSTARTADDx位定义了第一个转换存储器的首地址。转换结果将顺序地存放在转换存储寄存器中。当由ADC12MCTLx寄存器中EOS位定义的最后一个通道转换完成之后,一次序列通道转换完成,触发信号会触发下一次序列通道转换。本文中A0通道采集电位器两端的模拟电压,A1~A3通道分别采集空气温湿度变送器以及土壤水分传感器输出的0~2.0V DC电压值,对其进行A/D转换。

ADC内核将模拟信号转换成12位数字信号并存入转换存储寄存器。内核使用两个参考电压,即VR+和VR-作为转换范围的上、下限和读数的满量程值和“0”值。转换值在输入信号大于或者等于VR+时为满量程值,小于或等于VR-时为“0”。输入通道和参考电平由转换存储控制寄存器定义。输入模拟电压最终转换结果公式为[8]

ΝADC=4095×(Vin-VR-)VR+-VR-(1)

其中,NADC为A/D转换后的数值;Vin为输入的模拟电压值;VR+为参考电压的正端;VR-为参考电压的负端。

3.2.2 串口通信初始化子程序

MSP430F149包含两个USART模块(USART0和USART1),系统选用USAR0模块。串口UART0初始化程序如下:

void init_uart0(void)

//初始化UART0

{ unsigned int I;

WDTCTL=WDTPW+WDTHOLD;

//停止看门狗

P3SEL |= 0x30;

//P3.4和P3.5用作USART0 TXD/RXD

ME1 |= UTXE0 + URXE0;

//使能USART0 TXD/RXD

UCTL0 |= CHAR;

//字符长为8位

UTCTL0 |= SSEL0;

//选择时钟为ACLK

UBR00=0x03;

UBR10=0x00;

//波特率为9600、32K时钟

UMCTL0 = 0x4A;

//波特率调整

UCTL0&=~SWRST;

//UCTL0寄存器的第0位复位后,USART才能重新被允许

IE1 |=URXIE0+UTXIE0;

//使能接收/接收中断

}

3.2.3 实时时钟子程序

MCU通过其GPIO的P2.5,P2.6,P2.7端口与DS1302的SCLK,I/O及3个引脚连接,通过这3个I/O可以执行对DS1302的全部操作。初始化DS1302,对DS1302写入1个字节的数据程序如下:

//使用P2口, DS_RST = P2.7, DS_SCL = P2.5, DS_SDA = P2.6

//typedefined unsigned char uchar;

//typedef unsigned int uint;

void Reset_DS1302(void)

{

DS_RST_OUT;

//RST对应的IO设置为输出状态

DS_SCL_OUT;

//SCLK对应的IO设置为输出状态

DS_SCL0;

//SCLK=0

DS_RST0;

//RST=0

delay(10);

DS_SCL1;

//SCLK=1

}

void Write1Byte(uchar wdata)

{

uchar i;

DS_SDA_OUT;

//SDA对应的IO设置为输出状态

DS_RST1;

//REST=1;

for(i = 8; i > 0; i--)

{

if(wdata&0x01) DS_SDA1;

else DS_SDA0;

DS_SCL0;

delay(10);

DS_SCL1;

delay(10);

wdata >>= 1;

}

4 试验与结果分析

4.1 传感器选型

本文选用邯郸市清胜电子科技有限公司的CG-01空气温湿度变送器以及FDS-100土壤水分传感器,如图7和图8所示。CG-01变送器供电电压为7~12VDC;模拟信号输出0~2V,对应温度为-30~70℃,精度达到±0.2℃,对应湿度为 0~100%,精度达到±3%。FDS-100土壤水分传感器的测量原理是FDR频域法;量程为0~100%;精度在0~50%时可达±2%;工作电压7~24V;输出信号形式为模拟输出电压0~2V DC;响应时间小于1s。

试验中采集系统实物图如图9所示。

4.2 实验结果分析

对各通道A/D转换后的数值进行平滑滤波,取32次平均值。在实验室中通过调节电位器得到8组0~2.5V范围内的不同电压,对输出的每组电压进行采集,将12864液晶显示的电压值与VICTOR VC890D型数字万用表测得的电压进行对比。A0通道的部分电压测量数据如表1所示。

由表1的数据可以看出,通过系统采集并进行A/D转换、处理和显示的电压值与数字万用表测得的实际电压值很接近,甚至完全一样,可知系统的稳定性较高,采用第一组数据计算系统的百分误差为2.56%,计算公式为

δ=|V-V|V×100%(2)

5 结论

本文提出了一种基于超低功耗MSP430F149单片机、以计算作物需水量的彭曼—蒙特斯公式中的主要气象要素(温度、湿度、日照时数、风速、辐射)和土壤湿度作为采集对象的作物需水信息远程实时采集系统,设计了系统的实时时钟电路、数据存储模块、LCD液晶显示及控制键盘等电路,开发了系统各模块的控制软件,实现了通道选择、数据采集、数据处理、液晶显示等功能。系统充分利用了单片机内部的12位A/D转换模块完成对外部模拟量数据的采集转换与显示。经过试验,系统采集信号百分误差为2.56%,测试结果表明系统稳定性较高,能够很好地完成数据的采集及显示。

参考文献

[1]徐更琪,吴普特,韩文霆.作物需水信息实时监测与无线远程传输系统[J].农机化研究,2010,32(2):162-165.

[2]王艳玲.基于GPRS的农田信息远程监测系统研究[D].镇江:江苏大学,2008.

[3]李兴霞.基于嵌入式技术的农田环境信息采集系统的研究[D].哈尔滨:哈尔滨工程大学,2009.

[4]胡大可.MSP430系列FLASH型超低功耗16位单片机[M].北京:北京航空航天大学出版社,2001.

[5]魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002.

[6]北京嘉复欣科技有限公司.GF-2008AW GPRS DTU使用手册[Z].北京:北京嘉复欣科技有限公司,2007.

[7]洪利,章扬,李世宝.MSP430单片机原理与应用实例详解[M].北京:北京航空航天大学出版社,2010.

远程数据实时采集 篇6

随着通信技术与计算机技术的发展, 可视电话, 电视会议等以信息采集、处理为核心的图片采集与视频传输系统已得到广泛应用。而就用户使用的时间而言, “图片和视频”应用已成为增长最快的移动应用。而在目前的移动平台中, Android是一个比较活跃和最有前景的手机平台。它是谷歌公司发布的一个开源移动平台, 由Linux内核、中间件、应用程序框架和应用软件组成, 是第一个可以完全定制、免费、开放的手机平台。同时, 利用Android系统的网络通信技术, 可以使得复杂的终端数据处理转移到远程的高性能服务器上, 这使得基于Android的移动终端有了更加宽广的发展空间, 使移动终端成为移动办公、移动商务和移动监控的重要工具。

本文以移动监控应用为背景, 提出一种基于Android平台的实时图像采集与图像的远程存储方案。采用Eclipse集成开发环境和用于Eclipse的Android Developer Tools插件工具作为开发平台, 在分析Android平台上实时捕捉和存储图像数据的基础上, 结合HTTP协议实现一套基于Android平台的实时图像采集与图像的远程存储系统, 以提高实时监控系统的移动性和方便性。

2 系统平台设计

2.1 系统结构图

如图1所示, 本系统采用C/S模式。Client端分为图像数据采集模块、图像数据本地存储模块和远程存储通信模块。Server端包括图像接收模块和管理模块。

图像数据采集模块用来捕获Android图像传感器所获得的数据并存储在位图中。本地存储模块将图像采集模块的位图数据转换成IO流, 创建并写入到新图像文件中。远程存储通信模块将本地存储模块所创建的图像文件转换成IO流并通过HTTP协议发送给远程服务器。远端服务器的图像接收模块通过解析HTTP数据流获得文件IO流, 创建并写入到新图像文件中。

2.2 图像采集和存储模块详细设计

2.2.1 Android手机平台图像采集

通过Android.hardware.Camera类的open方法开始拍照, 通过take Picture方法结束拍照, 最后在相应事件处理函数中处理图像数据。显示照片预览的影像容器一般是Surface Holder对象, 在拍摄时必须实现Surface Holder.Callback接口。Surface Holder.Callback接口中已经定义了surface Created、surface Destroyed、surface Changed三种方法。可以使用A nd roid.view.Su rfa ce Holder.Callback方法来将设置Surface Holder.Callback对象。影像显示在Surface View对象里, 通过get Holder方法来获取Surface Holder对象。在拍摄中使用Camera.auto Focus方法来实现自动对焦功能。

首先, 设置预览格式和Camera参数设置。然后, 启动预览服务。拍照事件被触发时, 停止预览。最后, 拍摄照片并输出位图。

对于本地存储模块的实现, 首先需要把位图转换为JPG格式文件流。然后, 将文件流写入SD上文件中。

Ca mera拍照后所返回的是所捕获帧数据, 通过使用Android.graphics.Bitmap Factory.decode Byte Array () 方法可以把相机传回的裸数据转换成Bitmap对象。使用Android.graphics.Bitmap.compress () 方法可以将位图数据转换成文件输出流数据。具体调用为m Bitmap.compress (Bitmap.Compress Format.JPEG, 100, os) ;整个流程如图2所示。

2.2.2 图像本地存储

图像的本地sd卡文件操作需要一定的权限。权限是一种Android平台安全机制, 旨在允许或限制应用程序访问受限的API和资源。默认情况下, Android应用程序没有被授予权限, 使得它们不能访问设备上的受保护API或资源。权限在安装期间通过manifest文件由应用程序请求, 由用户授予或不授予。

其中Android:na me指定权限的名称, 执行上述语句后, 可以在SDCard中创建与删除文件权限。

, 该句用于往SD卡写入数据权限。申请完权限之后就可以调用photo Name.get Text () 方法保存图片, 而bm.compress (Compress Format.JPEG, 100, out Stream) 语句则用于把位图输出到指定文件中。

2.2.3 图像远程存储

由于HTTP协议简单, 使得HTTP服务器的程序规模小, 因而通信速度快且灵活。HTTP允许传输任意类型的数据对象, 传输的类型由Content-Type加以标记。协议具有无连接和无状态的特点。无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求, 并收到客户的应答后, 即断开连接。采用这种方式可以节省传输时间。无状态:HTTP协议是无状态协议。

本系统选用HTTP作为传输协议可以适用于2G、3G和WLAN环境。图像的发送和接受流程描述如下:

⑴客户端创建Http URLConnection, 打开数据连接。然后, 将JPG文件转换为数据流并发送流。

ds.write Bytes ("Content-Disposition:form“"na me="file1";filename=""+new Name+"""+end) , 执行上述语句即可发送参数, 其中发送文件, 用以下语句:ds.write Bytes (two Hyphens+boundary+two Hyphens+end) 。

⑵服务器接收流并还原成文件。

file Items=fu.parse Request (request) ;item write (f New) ;执行上述函数后即可将接收到的流写入文件。

2.3 系统演示

在Android手机终端运行系统后效果如图3所示。系统实时自动捕捉视频图像, 触碰屏幕或按下相机键, 程序捕获图像数据, 输入文件名并触碰保存按钮则保存图像文件至SD卡中, 同时将图像文件自动上传至远程服务器。图4是服务端程序接受图像的运行效果, 表示已成功接受图像。

3 结束语

本文重点叙述了实现基于Android平台的图像采集、处理和存储的关键实现技术。经测试, 基于Android平台的图像实时采集系统能够实时捕捉和远程存储移动终端采集的图像数据, 且图像清晰, 能够满足实时捕捉图像和处理图像应用的需求。

参考文献

[1]耿东久, 索岳, 陈渝, 等.基于Android手机的远程访问和控制系统[J].计算机应用, 2011, 31 (2) .

[2]林朋, 胡博伟.Android平台上图像数据上传及服务器接收图像的程序设计研究[J].计算机光盘软件与应用, 2011 (18) .

生产指挥系统实时数据采集系统 篇7

天然气分公司实时数据采集系统通过覆盖全公司范围的网络, 提取生产装置的运行数据、安全数据、电数据、水数据、仪表风、原料数据、质量数据等原始信息, 建立一个包含全公司范围内的生产管理信息的采集平台, 对生产过程进行实时监控和有效指挥。采集软件采用紫金桥®Realinfo监控组态软件进行开发, 目前共设置数采前置机43台, 人工录入及32台, 囊括分公司九个油气生产单位、两个储运单位、一个销售中心的43个油气生产站队24套装置, 57套控制系统和26个计量系统, 实现了8922个生产数据自动采集、组态, 969幅流程图和25幅装置区三维鸟瞰图的传输与发布。

数据采集系统逻辑结构图如图1所示。

二、生产指挥系统实时数据采集系统的组建

2.1天然气分公司计算机网络建设。通过对局域网和广域网的改造, 分公司机关及所属大队局域网全部利用光纤接入油田公司主干网。大队下属所有小队包括偏远站队、计量间和变电所接入全部利用光纤接入本大队局域网或油田公司主干网。

2.2架设系统硬件设备

架设中心服务器。在信息中心机房架设故障转移集群服务器。计算机通过网线物理连接并通过集群软件实现程序上的连接, 可以使计算机实现单机无法实现的容错和负载均衡。群集的优点是两台服务器工作时都将历史记录、事件记录、报警记录存储到相同的地方, 两台机器不需要频繁同步。集群服务器双机热备过程如图2所示。

在每个装置设立前置机, 负责采集生产装置中控制系统的数据, 将数据传送给中心服务器。同时设置人工录入机, 负责录入不能自动采集的数据, 并将录入数据传送到前置机。

在前置机的设立中采用了断点续传技术。

断点续传技术用于数据库之间以级联方式进行通讯时, 当前置机与服务器间通讯中断, 前置机每隔一定周期, 向服务器发出传输数据指令, 超过超时时间后仍不应答, 将自动保存数据, 在规定时间内如果通讯故障排除, 那么这段时间内的历史会自动从子数据库中恢复到主数据库上。

2.3实施数据采集。通过在数采前置机和工控机间做数据采集的接口, 以工控机做服务器, 以数采前置机做客户端, 把工控机中数据写入实时数据库。生产装置中前置机和工控机的接口主要有以下几种:OPC (FOXBORO、ME) 、DDE (813、BENTLY、燃机) 、DB PLC (PLC) 、力控, 其中数量最多的是OPC和DDE两种技术。

2.3.1OPC接口技术。OPC (OLE for Process Control——用于过程控制的OLE) 定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。OPC技术基于COM/DCOM, COM透过一组一组的接口提供服务, 所有COM组件的使用者必须透过这些接口来访问组件提供的功能。

OPC客户和OPC服务器进行数据交互可以采取同步方式或异步方式。

同步方式每一次读数据时读取该组中的所有项, 得到返回的数据后在采集周期内再次发出读取申请, 得不到数据就不结束此进程;异步通讯方式中, 客户端把关心的数据点通知Server, 并且提供一个回调函数, 只有关心的数据发生变化时, OPC服务器才调用其回调函数, 通知客户端做相应的处理。

在前期实时数据采集中, 大部分通讯方式采用异步方式, 在后期的测试中发现几个站队数据采集不上的现象。分析原因后发现, 工控机的OPC Server版本比较低, 同时, 数采通讯的优先级别要远远低于工控机本身数据处理的优先级, 在有大量的系统运算时, 就会出现服务缓慢或中断的现象。南一、一大队杏V-I原稳、杏三浅冷、六大队深冷都出现了这种现象, 如果改成同步通讯方式, 不断地发出读取申请, 又会增加工控机和数采机的负荷, 针对此问题, 研发了单组同步通讯方式, 它是同步通讯方式中的一个特例, 这种方式把原数据组中数据项重新分成若干组, 采取少量多次的方式采集, 以牺牲部分采集效率为前提, 既保证数据采集不中断, 又极大的减小了工控机和前置机的负荷。

2.3.2 D D E接口技术。D D E是一种动态数据交换机制 (Dynamic Data Exchange, DDE) 。使用DDE通讯需要两个Windows应用程序, 其中一个作为服务器处理信息, 另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息, 服务器应用程序根据该信息作出应答, 使用共享的内存在应用程序之间进行数据交换。

数采前置机将通过以上几种接口方式从工控机 (Server端) 采集到数据写入实时数据库, 形成基础数据, 创建生产信息数据仓库, 再通过数据整合, 形成可供各层面人需要的生产信息。

2.4web发布。采集的各种数据被分门别类的存储到数据库中, 通过将各个装置的流程、重要装置、关键参数控制点、重要数据进行合理布局, 做成高仿真的工艺流程图, 并将流程图中的数据与实时数据库中的数据源相关联, 每隔固定周期刷新一次, 使得生产人员可以在网络中的多个终端实时监测生产过程。

目前, 我们公司范围内的任何单位的终端, 为了防止公司的生产数据泄密, 我们给不同单位加了一定的访问权限。

三、存在问题及运行效果

目前, 生产指挥系统的实时数据采集系统还存在一定问题:

工控机对外通讯服务版本低。在前置机和工控机的通讯服务方式中, DDE是微软早期开发支持的一种通讯技术, 由于现在微软转而支持OPC接口技术, 而使DDE处于一个停滞不前的发展状态, 导致目前DDE通讯速度要明显低于OPC。D D E的服务机制也比较脆弱, 在生产指挥系统中8 1 3、BENTLY等系统都使用DDE服务, 导致在这部分的数据采集中更容易出现问题;在实施力控系统数据采集的时候, 由于技术人员很了解力控软件的开发过程, 将力控的系统服务进行了升级改动, 使对外通讯能力达到数采的基本要求, 才保障通讯的正常进行, 所以, 技术相对落后的力控系统对数据采集以及以后的采集能力的升级也是一种制约;目前OPC技术比较成熟, 但我们装置中工控机的控制系统大都是90年代左右的产品, OPC Sever的技术也已经大大落后, 我们不得不采用一些小的技术措施, 在不影响工控机本身的数据处理速度的前提下, 降低它系统资源的需求量, 以满足数采需求。

鉴于以上几种情况, 建议将生产装置中的控制系统进行升级或改造, 保证系统对大量系统运算处理更迅速, 对异常事件反应更及时。

人工录入部分数据量大。系统中有人工录入机32台, 人工数据录入点1202个, 要求每小时录入的数据是854个, 每八小时和二十四小时录入的是348个, 从一定程度上加重了岗位人员的劳动强度, 建议在检修改造中将这些点进行改造, 加装能够远传的二次表, 实现自动采集, 以减少劳动强度, 避免人工录入误差。

从总体上来说, 实时数据采集系统在生产中发挥的作用还是有目共睹的。

远程数据实时采集 篇8

关键词:道路试验,CAN总线,数据采集,GPRS

前言

整车试验是车辆性能的最终检验,起着至关重要的作用。整车道路试验一般少则数千公里,多则数万公里,而且多会选择在汽车试验场、寒冷地区、高原地区、炎热地区进行,要想获取这些不同地区、不同环境、不同工况下车辆试验的数据,按照传统的方式必须在车辆上安装数采设备,记录各种试验数据。试验完成后再进行数据分析,根据分析结果对车辆性能进行评估和改进。而这种传统数据获取方式有数据获取周期长、试验投入大、获取数据量有限、受试验设备影响数据时效性无法保证等缺点。所以在整车道路试验中非常有必要建立车辆信息的实时采集系统,用来对道路试验车辆数据进行远程获取、远程监控。

通过远程传输系统将采集的试验数据发送到监控中心可以使产品开发工程师及时了解汽车动力系统各部件的运行状况,同时也为多个车辆进行道路试验提供有效的管理手段。针对这种情况本文结合目前先进的车辆CAN总线通信技术、GPS全球定位技术,GPRS移动通信技术,Internet WEB服务技术解决了汽车试验中数据不能实时采集传输的问题,并在重型电控柴油商用车试验中得到了初步的应用。

1、数据实时采集系统的设计

1.1 采集系统功能描述

数据采集系统分成车辆监控、车辆服务、试验路线管理、研发应用、系统管理五个主功能模块,主模块下又有若干个子模块,其具体结构见图1。

车辆道路试验数据实时采集系统,是Telematics技术的具体应用。Telematics将无线通信技术引用到汽车行业,通过无线网络为用户提供导航、定位、交通信息、娱乐信息等内容的服务,实现真正的人-车-路的通信中枢。它集汽车CAN总线通信技术、GPS全球定位技术,GPRS移动通信技术,Internet WEB服务技术等综合应用于一体。

1.2 数据实时采集系统的硬件组成与架构

1.2.1 系统结构

道路车辆数据实时采集系统主要由车载终端、数据库及WEB服务器、服务平台软件、数据分析软件等组成。系统架构如下图2所示:

安装在车辆上的终端模块和传感器,采集车辆定位信息、CAN总线中的ECU数据,通过GPRS网络实时发送到远程管理服务平台的数据库服务器,然后由WEB服务器获取数据库中的数据,为用户提供24小时不间断的WEB服务。用户在任何地点,通过internet网络访问远程管理服务平台,获取车辆的车速、发动机转速、油耗等车辆工作状态数据,随时分析车辆的运行状况。

1.2.2 车载终端

车载终端主要由CPU单元、CAN总线控制器、CAN收发器、GPRS通信模块、GPS模块五部分组成。

电源管理负责车载终端所有部件的电源供电;CAN接口和通信单元一方面负责把整车CAN总线上的车辆状态信息、故障信息读取到车载终端,另一方面把数据采集器采集的信息收集到车载终端;CPU单元负责把综合的CAN信息和接收到的GPS信息以GPRS的方式发送到远程管理服务平台。

1.3 数据采集方式的实现

①多种类型模拟量信号进行采集传输流程的实现

将CAN总线数据采集器或传感器连接到车载终端,终端根据预先定义好的协议获取传感器的参数,这些参数可以是温度、压力、电流、转速、位移等。如果将ECU CAN总线并联接至车载终端,就可以同时获取这两部分的数据。通电后,终端会将这些数据发送到远程的管理服务平台,用户可以在能连接到Internet网络的任意一台电脑上,通过权限认证登录管理服务平台,浏览或下载这些数据。

②故障远程诊断的实现

当车辆在试验过程中发生故障时,ECU会第一时间将故障码发送到CAN总线上,通过J1939协议解析故障报文,获取各个故障代码,然后与其它数据一起进行数据编码,通过GPRS网络发送到远程服务器,远程服务器将这些数据存储到数据库中,以备WEB服务器实时的访问。用户通过管理服务平台查看车辆是否发生故障,如果车辆的故障指示灯变成红色(有故障),就可以点击解析按钮,服务平台软件会自动访问故障码解析数据库,获得这些故障的发生位置、原因和解决建议等信息,并显示给用户。

③DBC文件

DBC文件是CAN报文与车载终端沟通的桥梁,将标准CAN报文转化为终端能够识别的代码。为了使车载终端能够准确的解析发动机、ABS等总成发出的CAN报文信息,我们使用CAN总线协议文件编辑器软件,对汽车总成发出的CAN报文进行编辑,形成了针对该车型的DBC文件,然后嵌入终端的SD卡,实现数据的采集及解析。

2、应用验证

该系统在某公司生产的六个重型电控柴油商用车的试验中得到了初步的应用,其开展的试验有汽车试验场的道路可靠性试验、不同地区的道路适应性试验、油耗对比试验等。解决了试验中数据不能实时传输的问题,实现了对试验车辆的管理,部分试验结果见图3、图4。在应用中我们发现相比传统的GPS监控系统,车辆远程通信系统具有如下多个方面的优势:

可以通过CAN总线连接车辆ECU,获取车辆转速、油耗等参数,可以监控车辆的燃油消耗量,还可以通过CAN总线扩展传感器实现模拟信号的采集,具有更完整的数据采集能力;

具有车辆轨迹回放、按照路况进行统计的功能;

具有远程诊断功能,随时发现车辆存在的故障,解除安全隐患;

本系统是实时监控系统,相比很多采用短信等方式传输的GPS系统,传输速率更快,可以更快更准确的了解每台车的具体位置。

3、总结

(1)本系统完成行驶数据实时监控、记录(包括:瞬时油耗、车速、发动机转速、总油耗、发动机工作时间、巡航时间、百分比负荷、油温、油压等)每辆车的历史记录、行驶轨迹等信息。所有的数据都实时进行存储。为研发人员提供充足的分析数据。

(2)实时获取ECU故障代码,监控中心软件完成故障解析,给用户提供故障产生位置、原因及排查方法。这些数据都会记录在数据库中,研发人员可以实时查看车辆的故障信息,为维护人员提供更多的维修建议,而且也可以为车辆设计改进提供参考依据。

(3)监控中心存储的数据库,为研发人员提供了海量数据,可以在该基础上进行诸如车辆速度统计、车辆行驶里程统计、车辆油耗统计、车辆作业统计、车辆故障统计、多车辆对比等分析,也可以进行设计模型的验证。

参考文献

[1]周建政:GPS定位原理与技术.黄河水利出版社2005.

[2]李艳晴等:基于GPRS/CPS的车辆监控系统的设计微计算机信息2004年第20卷第4期.

[3]谢振东:智能交通系统体系结构中的通中山大学学报2000年6期.

[4]于国光、刘锦高:基于车载系统CAN总线技术的应用计算机科学第36卷第4A期.

远程数据实时采集 篇9

西藏南路越江隧道位于上海2010年世博会园区规划区域内。在隧道光过渡段采用太阳能光伏发电系统,开发了基于Lab VIEW8.2平台的数据采集系统,实现了对光伏系统运行状态的实时监控。

1 硬件结构及软件运行流程

数据采集系统的总体设计框图如图1所示[2]。下位机采用ARM7作为主控芯片,传感器将检测信号送ARM处理后采用RS485串行接口进行通信,再经一个RS485转RS232的转接头将数据传送给上位机PC,最后用计算机对数据进行采集、处理、保存。RS485具有良好的抗噪声干扰、长的传输距离和多站能力等优点,选用此串行接口能保证系统通信质量。

软件主要包括参数配置模块、写模块、读模块、数据存储模块和实时数据显示模块5大部分。软件运行流程图如图2所示[3]。

2 系统的设计与实现

光伏发电数据采集系统是一个虚拟仪器系统。其任务主要是实现对太阳能光伏发电系统中温度、电压、电流、电能等实时数据的采集、保存和实时显示。系统采用NI(National Instrument)VISA实现串口数据采集,采用数据库操作工具包Lab SQL实现数据保存。

2.1 VISA及Lab SQL介绍

2.1.1 VISA概述

虚拟仪器软件架构VISA(Virtual Instruments Software Architecture)是应用于仪器编程的标准I/O(输入/输出)应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口)。它采用面向对象编程,具有很好的兼容性、扩展性和独立性[4]。

通过VISA,用户能与大多数仪器总线连接,包括GPIB、USB、串口、PXI、VXI和以太网。无论底层是何种硬件接口,用户只需要面对统一的编程接口,即VISA。

VISA的另一个显著优点是平台可移植性,任何调用VISA函数的程序可以很容易地移植到其他平台上。VISA定义了自己的数据类型,就避免了在移植程序时由于数据类型大小不一导致的问题。

2.1.2 Lab SQL概述

Lab SQL是由美国NI公司开发的一个免费的、多数据库、跨平台的Lab VIEW数据库访问工具包。支持Windows操作系统中任何基于OBDC的数据库,包括Access,SQL Server等。Lab SQL利用Microsof ADO以及SQL语言来完成数据库访问,将底层ADO及SQL操作封装成一系列的Lab SQL Vls。

Lab SQL的优点是操作简单,易于理解,不熟悉SQL语言的用户也可以很容易地在Lab VIEW中实现数据库访问[5]。

2.2 系统组成模块

1)串口参数设置模块。调用VISA Configure Seria Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控制等。

2)写模块。包括两部分:前一部分是用于发送同步时钟,用于与下位机的时钟同步;后一部分为命令发送部分,用于向下位机取任意时间的数据。

3)读模块。在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数。如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。

在介绍数据存储及实时显示模块之前,首先需介绍数据格式转换部分。下位机传送的数据格式是十六进制ASCII形式的,需将其转换为十进制数字形式,才能保存和显示[6]。

转换流程如下:

首先,判断串口读取的一串数据是否完整,完整则转入后面的程序;其次,CRC检验数据的校验码是否正确,正确则转入后面的程序;最后,将正确的数据转换成十进制浮点数,为存入数据库做准备。

4)数据存储模块。串口程序的保存流程如下:

(1)与数据库建立链接,利用ADO Connection Create vi创建链接,数据库由字符串“DSN=mydb”指定。

(2)与记录集对象建立链接,并执行SQL执行查询,这里SQL语句由格式化写入字符串控件生成,串口读出的数据,经格式转换之后,输入格式化写入字符串,经过格式化后动态地存入数据库。

(3)数据存入数据库之后,断开与数据库的链接。

5)实时数据显示模块。经过格式转换部分转换后的数据直接接入Waveform chart,通过前面板就可以看到实时数据的变化趋势。CASE语句内的波形图可以根据需要扩展。

2.3 系统实现

至此,西藏南路越江隧道工程中光伏发电系统实时数据采集存储及显示系统的设计已经完毕,系统的功能也已实现。正确连接好上述各个模块,配置好相应的参数,就可以运行数据采集及保存程序了。图3是系统运行时前面板。在进行实时数据采集的时候,可以通过前面板的波形图看到实时数据显示。

用户可以在图形显示控件里设置属性,发送同步时钟命令、数据等。该界面操作方便,且通过实际系统的测试,可直接用于串口通信系统的数据采集及数据存储。

3 结语

该系统运用串口通信及虚拟仪器技术成功地实现了对光强、温度等传感器信号的实时采集。试验表明,基于Lab VIEW的串口数据采集与数据分析效率高、功能全、操作简单、功能强大,具有良好的可移植性,能够很好地满足用户要求。

参考文献

[1]袁雪,陈斌,鲁中巍,等.基于LabVIEW的Modbus串口通讯协议的实现[J].现代仪器,2008(2):31.

[2]杨刚,黎冠文.基于LabVIEW的太阳能电池温度采集和数据保存系统[J].中国科技信息,2008(2):248.

[3]马草原,郭双强,李国欣.基于LabVIEW的串口调试与数据分析[J].工矿自动化,2005(4):74-75.

[4]陈锡辉,张银鸿.LabVIEW8.2程序设计从入门到精通[M].北京:清华大学出版社,2007:2-3,229.

[5]吴松涛,龚家伟.在LabVIEW中利用LabSQL实现数据库访问[J].国外电子测量技术,2006(4):53-54.

上一篇:化工生产装置大修下一篇:三爱