绪论:写作既是个人情感的抒发,也是对学术真理的探索,欢迎阅读由发表云整理的11篇数据采集论文范文,希望它们能为您的写作提供参考和启发。
1.1监控层监控层采用总线形网络结构,在总线上挂接的设备主要有:数据采集I/O服务器、IH数据库服务器、关系型数据库服务器、APP服务器、Web服务器、调度操作站、工程师站等。1)数据采集I/O服务器,分为电力、动力、水三个系统,采用冗余配置,服务器安装IFIX5.1组态软件,在IFIX5.1的SCU中配置IGS、PFC、IEC驱动同数据采集站通讯,具体通讯方式如下,采集西门子PLC系统数据的,则以工业太网为桥梁,IFIX通过IGS驱动与其实现实时通讯;采用RTU采集系统数据的,IFIX通过PFC驱动与其实现实时通讯;采集申瑞765G综保管理机系统数据的,IFIX通过IEC驱动与其实现实时通讯。2)GPRS服务器,能控无线远传站通过柜内S7-200、SINAUTMD720-3GPRS调制解调器、天线和GPRS通信管理软件SINAUTMICROSC构成GPRS网络,最后通过OPC驱动与能控中心GPRS服务器实现通讯连接。3)IH数据库服务器,IH数据库服务器上安装GE公司的ProficyiHistorian实时数据库软件,IH通过配置Collector采集器软件从数据采集I/O服务器抓取数据,采集的数据周期以秒、分为单位刷新。4)关系型数据库服务器,安装有DB2和Oracle两种关系型数据库软件,完成数据的长期归档以及数据的压缩和数据的备份。5)APP服务器和Web服务器,APP服务器运行基础能源管理模块,Web服务器用于Web。6)调度操作站,通过调度操作站能控调度可以对能控系统的相关数据及设备的运行状态进行监控,而且能够通过B/S(客户端/服务器)的方式访问APP服务器的基础能源管理模块,使用自己权限所分配的功能。
1.2数据采集层数据采集层有124个数据采集站,包括西门子S7-300PLC82套、通讯柜41套,力控RTU(Remo-teTermialUite,远程终端单元)46套,覆盖工源厂区、东风厂区、南芬露天矿及歪矿,地域分散。同监控系统的通讯方式有有线方式和无线方式。其中有兴安解冻库、四水源等十个站点敷设电缆困难且条件恶劣,增加了建设和维护的成本,因此采用GPRS无线通信方式;有线方式采用环网加星形的网络结构,整个环网有7个主站,从EMS01到EMS07分别是能源中心、焦化仪表室、朱庄柜、六高炉主控室、4#转炉机房、维检中心、冷轧机房,环网将7个主站点连接起来,再由主站点以星形的结构向外辐射用于连接所有的数据采集站。
1.3现场层1)本钢现场层的设备现状现场一次仪表有电磁流量计、超声波流量计、差压流量计、涡街流量计,提供4~20mA标准信号,PLC和DCS系统有西门子S7、施耐德、AB、ABB、浙大中控JP-300XP、Honeywellpks系统HoneywellHC900等系统,电力综保系统有北京四方、上海申瑞、清华紫光等厂家,电度表有湖南威胜和黑龙江龙电两种型号。信号类型分为计量点和工艺点,计量点只对数据进行采集;工艺点包括数据的采集和设备的控制。2)采集方案的确定针对现场设备的实际情况确定了如下的数据采集方案:(1)RTU采集方式,此种方式只对数据进行采集。对于支持RS485协议的超声波流量计,例如本溪新宇超声波流量计,将该表通过串口通讯线接入到RTU的串口,通道协议选择ModbusMaster,端口选择Serial。采集原有西门子PLC系统数据的,将系统通过以太网方式接入RTU的网口,RTU配置软件中通道协议选取西门子PLC,通讯口:TCPClient,IP地址为所通讯的PLC地址,端口号为102。原有系统为DCS,例如十一加的HoneywellHC900,将系统通过以太网方式接入RTU的网口,通道协议为ModbusTCP,通讯口:TCPClient,IP地址为所通讯的DCS地址,端口号为502。浙大中控的JP-300XP系统,如发电厂32号机和氧气厂4#制氧机。将系统通过以太网方式接入RTU的网口,是通过OPC协议进行数据采集,在原有系统中安装OPCTunnellerServer,然后在另外一台计算机上使用OPCTunneller驱动进行采集,在RTU中通道协议中选择OpcTunnellerMaster。与电力综保通讯,将系统通过以太网方式接入RTU的网口,通道协议选择IEC104,需要说明的是采用此种通信方式的只有清华紫光和北京四方,不包括上海申瑞,申瑞通过综保管理机765G直接同电力服务器通信。智能电表的数据采集,威胜龙电两种电表都有网口,同威胜的电能采集器通讯,采集器通过以太网方式接入RTU的网口,通道协议选择威胜WFET2000s,IP地址为电能采集器端设置的IP,端口号为9001。(2)I/O采集方式,数据的采集和设备的控制。计量点,新增的或原有的需接入能管中心的点通过仪表提供4~20mA标准信号接入到PLC柜或I/O柜的AI输入模板。工艺点,例如燃气厂五加、六加、九加等煤气加压站既有采集数据的要求,还有对现场阀门进行控制要求的,系统则通过在原有西门子S7-300或400系统中加装CP模板的方式进行数据的采集和设备的控制。新增加的CP模块规划的IP地址同原有系统的IP地址不在同一个网段,为两个独立的网段,可以实现数据采集控制功能和对病毒隔离功能。
2系统功能
本钢能管中心数据采集监控系统从试运行以来,实现了以下功能:1)数据采集设备控制对电力系统的电量、电流、电压、功率、功率因数等,燃气系统、热电系统、氧氮氩系统的流量、压力、温度、柜位等,水系统的流量、压力、水位等进行采集,对电力系统的开关、燃气系统的加压机、水系统的泵等重要能源设备进行远方操作控制和实时调整。2)报警功能监控中心汇聚大量的数据,系统根据故障程度和重要性,设置了重故障、轻故障和事件三种报警类型,提示调度员进行相应的操作。3)操作记录对重要设备的操作进行记录,当故障发生后可以为事故的原因分析提供依据。4)数据处理包括流量累计、计算煤气热值、多个数据之和或差等,例如混合煤气的和。5)数据归档对于短时归档数据,提供过程曲线显示;长时归档数据,可按信号内容、起/讫时间、时间粒度(分钟/小时/天/月)、数值类型(Min/Max/Ave/Sum)进行历史数据查询,并可进行曲线显示。6)Web用户可通过IE浏览器来访问Web服务器,获取现场设备的状态和运行参数,在Web画面上不能进行参数设定等操作。内容包括各系统的工艺画面,重要的报警画面。
2基于嵌入式平台RFID数据采集终端
基于嵌入式平台RFID采集终端体积小,集成度高,可便携,具有强大的数据实时处理能力,与PC机完全兼容,支持多种数据空间传输标准,并在读写器之间建立统一的应用级接口,可以直接读取读写器上的数据。当存在大量的RFID识别标签时,读写器将会扫描到海量数据信息,RFID采集终端将简化信息的传输流程。同时,运行在RFID数据采集终端的中间件把上位机的管理软件程序从硬件设备接口分拣出来并按照统一的标准进行封装,这样,使上层的应用软件具有统一恒定的数据控制接口。
3嵌入式RFID数据采集终端的硬件设计
读写器获取RFID标签数据后,通过专有的适配器接口,比如串口、CAN口等连接方式,将原始数据交付给嵌入式数据采集终端。流行的嵌入式设备采用模块化架构,功能各异的模块板卡通过插槽嵌入到ARM微处理器芯片核心板上,通过核心板上的总线与CPU及其他模块板卡建立通信。各模块之间相互独立,简化了硬件电路的设计,降低开发周期。在硬件平台设计中,嵌入式微处理器的选择直接制约着嵌入式RFID数据采集终端的性能。为了满足应用的需求,该终端选用基于精简指令集的32位ARM9微处理器。处理终端的硬件平台包括ARM9微处理器,电源复位电路,存储器,串口,以太网接口。ARM9微处理器内置存储器的容量较小,需扩充存储器以满足应用的需求[3]。电源复位电路和存储器的设计是硬件平台设计的关键。
4嵌入式RFID数据采集终端的软件设计
操作系统的开发非常复查而且成本较高,一般不自主设计。选用Lin-ux操作系统作为软件开发环境,并编写硬件接口驱动程序及应用程序。RFID中间件软件采用模块化结构设计,运行在Linux操作系统下。可以分为硬件接口驱动模块,数据处理分析模块,数据统一管理模块。硬件接口驱动模块的指令用于读取读写器上的数据信息。数据处理分析模块对被识物体的数据进行预处理、解析。数据管理控制模块将分析后的数据信息通过无线网络交付给上位机RFID服务器的应用管理系统,负责指令的上传下达,并控制嵌入式RFID数据采集终端的全局工作。
林业资源监管通用数据采集系统采用C#语言、ArcEngine和开普互联智能表台进行设计开发。系统分为B/S架构的Web配置系统和C/S架构的桌面系统两部分,如图1所示。这种设计方式基于:1)B/S架构已成为林业业务系统的主流架构,借助配置系统以便将通用数据采集系统与业务系统进行集成;2)使桌面系统可以专注于数据采集,实现与业务流程、功能的松散耦合。Web配置系统包括数据交换以及桌面系统的配置管理功能模块,支持本地和远程配置方式。数据交换通过将事先制作完成的支撑数据提供给桌面系统,作为各业务数据采集系统运行的基础,并将采集完成的数据返回数据库,提供给其他业务系统使用。配置管理支持对采集数据、支撑数据以及桌面系统功能界面的配置,并将配置结果保存在XML配置文件中,作为桌面业务系统运行的基础。通过配置系统为桌面系统提供支撑数据并进行相关配置,就可以为不同业务定制数据采集系统。桌面系统包括通用功能元件、业务系统配置、动态数据的管理以及界面的生成4个功能模块。通用功能元件包含数据采集的一般功能。业务系统配置提供配置内容的读写功能。动态数据管理根据配置实现对不同业务支撑数据的访问、更新以及采集数据的导出。界面生成根据配置信息生成特定于业务的系统界面。桌面系统框架采用变种MVC模式(模型--视图--控制器),该模式采用数据驱动设计[9],使得视图、控制器和模型可以随业务而变。在数据层,空间数据与属性数据分表存储,空间数据表只存储与业务无关的图形信息,从而能以统一的形式访问、处理及显示空间数据,不受业务变化的影响。而与业务紧密相关的属性数据单独存储在属性表中,并将与属性数据相关的视图、控制器及模型的变化存储在用开普互联智能表台制作的表单文件、数据映射文件中,系统在运行时就可以基于表单文件、数据映射文件及配置文件动态地构建视图、控制器及模型,从而将业务数据的变化隔离在源代码之外,使源代码高度内聚,不会变异。由于两类数据的处理方式不同,数据间的完整性通过逻辑校验来保证。
关键技术及实现
林业资源监管通用数据采集系统采用的关键技术包括智能配置、界面自动生成和动态数据管理技术。
1智能配置技术
智能配置技术是指将与业务相关的变化信息存储在配置文件中,系统在运行时读取配置文件,根据其中的信息实现对不同业务数据采集功能的定制。当业务数据采集需求发生变化时,仅需通过改变配置信息就能满足需求,这样既增加了系统的灵活性,又能保持系统的稳定。数据采集系统通过配置系统实现智能配置,主要包括系统配置、采集数据配置两方面。(1)系统配置。系统配置包括支撑数据、用户功能界面配置两部分。支撑数据的配置内容包括数据版本号,采集人员的账户信息及该账户关联的业务名列表,支撑数据中各数据名称、类型、对数据操作的命令和命令状态列表。版本号为自然数值,作为数据是否需要更新的依据;业务名列表的形式为“Reforestation/造林,Harvesting/采伐”,前面是业务系统的英文名,后面是对应的中文名,之间用反斜杠隔开,指明账号可以使用的数据采集系统;数据名称为数据文件的名称,类型包括数据库、表和普通文件。命令指明了如何处理数据,包括覆盖、更新、添加、删除4种。命令状态包括已执行或未执行,决定系统是否执行命令。用户功能界面配置内容包括功能元件、逻辑验证规则和表单配置。功能元件和逻辑验证规则的配置目标可以是单个图层或整个系统。功能元件的状态包括可见、隐藏、可用与禁用,当不需要使用某项功能时,根据功能元件的名称将其状态设置为隐藏或禁用即可。逻辑验证规则的配置内容包括SQL语句及其描述,通过执行SQL语句进行验证;SQL语句的执行方式不随业务变化,规则的描述为界面上呈现给用户的信息,如地类检查。表单的配置目标是图层,包括图层名、表单文件名及其描述,通过将图层名和表单文件名配对存储,就能根据图层找到对应的表单进行属性数据的录入,描述为用户界面上呈现给用户的信息,如造林模式表。(2)数据配置。采集数据的配置包括需要导出的数据版本号、表名称、数据记录主键序列以及其他数据文件的名称。数据版本是自然数值,作为外界是否需要下载该数据的依据。系统根据数据名称和主键序列导出数据。
2功能界面自动生成
功能界面自动生成以功能元件为基础,通过建立配置文件完成用户界面的按需定制。(1)系统功能元件。系统是功能元件的集合,功能元件可能是单个功能或一类功能,如图形创建是单个功能,图形编辑是一类功能,在界面上表现为单个控件。本文使用功能元件名称、控件名称、功能状态及功能描述来表达功能元件。对于用户而言,只需配置功能名称及状态来控制功能界面。系统功能元件信息存储在XML文档中,该文档需要按照模板文件制作,配置系统解析该XML文档,并在界面上列举出功能元件列表供用户配置。(2)界面生成算法。数据采集系统中涉及界面变化的模块主要包括:1)空间编辑和拓扑校验界面。该界面因功能是否需要使用而变化。2)属性编辑界面。该界面随数据内容和结构而变化。3)逻辑校验界面。该界面随校验规则内容而变化。界面自动生成以功能元件及系统配置文件为基础,通过解析配置文件动态生成用户界面,生成流程如图2所示。3个界面的生成算法各有不同。空间编辑和拓扑校验界面的生成是根据配置对WindowsForm控件的可见性和可用性进行控制来实现的;属性编辑界面的生成是通过加载开普互联智能表单文件到WindowsForm窗体中来实现的,开普互联智能表单界面如图3所示;逻辑校验界面的生成是通过加载验证规则到WindowsForm窗体中的列表控件中来实现的。
3动态数据库管理
动态数据库是结构和数据都可以随需要而变化的数据库[10--11],在本文中是指整个数据库的改变。数据采集系统以单一业务配置为基础,每个采集人员配备独立的设备和采集系统,但在人力和设备资源有限的情况下,数据采集系统需要支持多个业务的数据采集或多个采集人员共用一套设备和系统。系统需要根据业务、人员职责调用不同的支撑数据。解决方案为:建立以采集人员账号名和业务名组合命名的文件夹,通过配置系统将不同的支撑数据放到对应的文件夹内。当用户登录系统时,系统依据账号列出可操作业务,采集人员从中选择业务名称,系统就可以将正确的支撑数据供给用户使用。
4数据交换
1.2控制电路与模数转换电路设计选用C8051F410单片机对整个系统进行控制,C8051F410具有与8051兼容的高速CIP-51内核,与MCS-51指令完全兼容。C8051F410资源丰富,具有24个I/O引脚,同时还具有时钟振荡器等功能模块。ADS1274是TI公司生产的24位无失码高性能模数转换器,具有最高144kSPS数据采样速率,功耗低,在52kSPS(高精度模式)采样速率下,单通道功耗仅为31mW,工作温度范围广,最低温度-40°C最高温度+125°C,非常适合应用于条件苛刻的工业控制领域。该芯片模拟前端具有4个单端输入通道,模拟部分采用5V供电,内核为3.3V或者1.8V供电。模拟输入电压为———0.3V~6V。采用THS4521作为AD转换器的驱动器,THS4521极低功耗轨至轨输出全差动放大器,带宽高达145MHz,数据转换速率高达490V/μs,直流开环增益为119dB,宽范围供电电压:+2.5V~+5.5V,单通道电流仅为1.14mA。C8051F410与ADS1274通过标准SPI接口进行通信,设计采用3线制的主、从方式。C8051F410控制ADS1274,C8051F410通过SCLK时钟管脚提供并控制ADS1274提供SPI的时钟信号。单片机的MOSI引脚与ADS1274的DIN引脚相连,向ADS1274发送数据,实现配置寄存器,设置工作模式等功能。C8051F410的MISO引脚与ADS1274的DOUT相连,接收AD转换的数据。ADS1274的RDY引脚与单片机的P0.3引脚相连,当ADS1274完成模数转换以后,RDY引脚有高电平变为低电平,通知单片机模数转换完成,准备读取数据。
1.3恒流电源电路LM2904系列运算放大器是TI公司生产的低功耗双运算放大器。ADXRS646型MEMS陀螺仪需要的供电电压为6V,由LM2904构成的放大电路可以产生两路稳定的6V电压,输出抖动小于5mV,输出电流可以达到40mA,满足MEMS陀螺仪的供电要求。由LM2904构成的基本电压放大电路。放大电路的输入电压5V,电压的放大倍数为1.2倍,由此可以得出两路输出A和B均为6V。
2软件设计
数据采集装置上电后首先对C8051F410进行初始化设置,通过配置寄存器,设置SPI通信模式、内部振荡器的工作频率以及看门狗的监测时间。然后对ADS1274进行AD采样率、工作模式和通信模式等模块的初始化。选择ADS1274的差分模拟输入通道AIN1、AIN2、AIN3进行数据采集,模拟电压输入范围为0~5V,数据寄存器配置为24位。向ADS1274发送开始转换命令,单片机开始计时,计时时间未结束,传输采集的数据;计时时间到,继续开始AD转换。采集后的角速率数据经过单片机简单处理后,由RS232串口输出。
1.2系统功能设计在对系统流程与架构全方位了解后,对系统各部分功能模块进行深入分析,系统需具备以下功能模块。(1)GIS与导航定位功能模块,实现在检查人员确定受检小班后,数据采集系统定位检查人员当前位置并由矢量地图显示由当前位置到受检小班的路径、方位、距离信息。(2)森林抚育数据采集功能与评价模块。GPS定位位置属于受检小班内部时,数据采集功能模块会呈现为可工作状态,检查人员进行实地测量,将样地树种组成、龄组、经纬度、胸径、伐根地径等信息录入采集系统,系统结合已导入系统的受检地材积表自动计算用于森林抚育质量评价的各项参数并按照《全国森林抚育检查验收办法》森林抚育质量评价得分标准对受检小班各个方面进行打分工作并汇总上报到上级单位森林抚育检查验收服务器。
2系统实现
2.1系统服务器端关键技术及其实现系统服务器端部署基于WebService,服务端程序负责接收移动终端通过SOAP所封装的请求,通过HTTP协议传至Web服务器,进行数据信息交互以实现对移动终端实时定位追踪,管理空间与属性数据,并对移动终端所发回数据进行编辑汇总调用相应服务,将所请求服务解析为xml消息并返回移动终端。
2.2iOS客户端关键技术及其实现
2.2.1移动空间定位技术系统采用iOSSDK所提供CoreLocation移动定位技术定制开发,CoreLocation提供GPS、蜂窝基站、Wi-Fi三种方式对空间地理位置进行定位。通过创建定位管理器并对精度以及定位更新时间间隔进行设置,CoreLocation根据设置自动选择定位方式并将定位数据录入系统供地图功能模块使用。
2.2.2地理图层与加载系统GIS系统功能模块基于ArcGISAPIforiOS进行开发定制,所加载地图分为在线地图与离线地图两类。在线地图是由移动终端获取服务器端由ArcGISServer所受检县地理图层数据以及受检小班空间地理位置。离线地图数据是考虑到有些受检小班地处偏远地带,无线信号较弱,无法访问服务器,通过ArcGISAPIforiOS中的AGSTiledLayer类建立离线图层访问,加载预存于移动数据采集系统的地理图层缓存数据用以数据采集工作。
2电源供电系统
本文中需要三级电源供电:3.3V,5V,±10V。5V电压通过SPX1117-3.3V稳压芯片转变为3.3V为系统供电,±10V要是给可编程放大器PGA205和运放TL052供电,该电压需要5V电压经过Boost升压电路得到,设计选用TPS61040开关电源芯片,其为低功耗的DC/DCBoost转换芯片,内部集成开关管,开关频率可达1MHz,输出电压纹波低[6]。双电源供电电路如图4所示。
3系统软件设计
本文软件设计任务主要是LM3S9B96芯片的初始化和内部各模块之间的逻辑控制,包括根据上位机的指令来设定调理电路。数据采集系统总的软件任务框图如图5所示。信号调理任务负责根据上位机发出的指令完成调理电路的设定;采样任务实现对模拟信号的采集;数据转移存储任务负责将数据从ADC转移到内存,再转移到USB缓存。数据转移任务利用DMA来实现,DMA的工作模式分为基本模式、乒乓模式和外设散聚模式,为了ADC采集不丢失数据,本文采用了乒乓模式,在程序设计时创建主数据结构体和副数据结构体交替接收数据,高效的完成数据转移任务;数据传输任务负责将数据从微控制器通过USB总线传输到上位机。USB总线标准是在1994年由英特尔、康柏、IBM、Microsoft等多家公司联合提出,包含了四种基本数据传输类型:控制传输、批量传输、中断传输和等时传输,本文需要向上位机传输大量数据,选择批量传输模式(BULK)传输数据[7]。基于LM3S系列芯片,TI公司提供了多层次十分丰富灵活的USB驱动库,简化软件的实现。
4上位机软件设计
NIVISA(VirtualInstrumentSoftwareArchitecture)是NI公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口,VISA总线I/O软件是一个综合软件包,不受平台、总线和环境的限制。VISA是NI公司随LabVIEW配套提供的,从3.0版本开始支持USB通讯,根据是否符合USB测试和测量协议,VISA分为两种VISA类函数,可以控制两类USB设备:USBINSTR设备和USBRAW设备。这里使用USBRAW设备。利用VISA驱动程序开发向导产生INF文件用来通知Window系统将NI-VISA用作USB设备的默认驱动,完成之后才可以正常和下位机通讯。USBRAW类设备的读写时序为(1)ViOpen打开VISA设备;(2)ViProperty设定VISA设备的属性节点参数(指令端点和传输方式);(3)ViRead读写USBRAW(发送命令和设定字数);(4)ViClose关闭VISA(释放VISA设备所占资源)。上位机程序总体分为指令接受程序,数据接受程序、数据处理程序和波形显示程序。数据处理程序框图如图6所示。
5系统测试与结果
为了测试系统的可靠性,本文使用数字合成信号发生器DF1405模拟传感器输出信号作为数据采集系统的测试信号。经测试,设计系统完整实现了设计要求。5V10kHz正弦波测试结果如图7所示,通过点击Save控件可以完成数据的存储。
在现代工业生产和科学技术研究的各行业中,通常需要对各种数据进行采集。目前通用的通过数据采集板卡采集的方法存在着以下缺点:安装麻烦,易受机箱内环境的干扰而导致采集数据的失真?熏易受计算机插槽数量和地址、中断资源的限制,可扩展性差。而通用串行总线USB(UniversalSerialBus)的出现,很好地解决了上述问题,很容易实现便捷、低成本、易扩展、高可靠性的数据采集,代表了现代数据采集系统的发展趋势。
1系统硬件设计与实现
1.1硬件总体结构
基于USB总线的实时数据采集系统硬件组成包括模拟开关、A/D转换器、单片机、USB接口芯片,其硬件总体结构如图1所示。多路模拟信号经过模拟开关传到A/D转换器转换为数字信号?熏单片机控制采集,USB接口芯片存储采集到的数据并将其上传至PC,同时也接收PC机USB控制器的控制信息。
1.2PDIUSBD12芯片
USB接口芯片采用Philips公司的一种专用芯片PDIUSBD12(以下简称D12)。该芯片完全符合USB1.1规范,集成了SIE、320B的多配置FIFO存储器、收发器、电压调整器、SoftConnect、GoodLink、可编程时钟输出、低频晶振和终端电阻等,支持双电压工作、完全自动DMA操作、多中断模式,内部结构如图2所示。
单片机通过8位并行接口传送经过A/D转换的采集数据,存储在FIFO存储器中。一旦存满,串行接口引擎SIE立刻对数据进行处理,包括同步模式识别、并/串转换、位填充/不填充、CRC校验、PID确认、地址识别以及握手鉴定,处理完毕后数据由模拟收/发器通过D+、D-发送至PC。上述过程遵循USB1.1协议。D12与89C51的具体实现电路如图3所示。
2系统软件设计与实现
系统软件包括USB设备固件编程、驱动程序和应用程序。其中设备固件是整个系统的核心,它控制芯片D12采集数据、接收并处理USB驱动程序的请求和应用程序的控制指令。
2.1USB设备固件程序设计与实现
设备固件是设备运行的核心,用C语言设计。其主要功能是控制A/D模块的数据采集;接收并处理驱动程序的请求,如请求描述符、请求或设置设备状态、请求设备设置、请求或设置设备接口等USB1.1标准请求;控制芯片D12接收应用程序的控制指令等。其程序主框图如图4所示。单片机检测到D12后进入主循环。此时PC机先发令牌包给D12,D12接收到令牌包后给单片机发中断,单片机据中断类型设定标志位Status;最后执行相应标志位的中断服务程序。单片机通过A/D模块的中断入口控制A/D模块的数据采集。
2.2驱动程序设计与实现
USB系统驱动程序采用分层结构模型:较高级的USB设备驱动程序和较低级的USB函数层。其中USB函数层由通用串行总线驱动程序模块(USBD)和主控制器驱动程序模块(HCD)组成。
图3PDIUSBD12与89C51的具体实现电路
为使驱动程序具有通用性,也为简化应用程序的开发,编写了供应用程序调用的动态链接库。这样应用程序只需调用此库提供的接口函数即可完成对USB设备的操作。USB函数层(USBD及HCD)由Windows98提供,负责管理USB设备驱动程序与USB控制器之间的通信、加载及卸载USB驱动程序等。目前Windows98提供的多种USB设备驱动程序并不针对实时数据采集设备,因此采用DDK开发工具设计专用的设备驱动程序。其由四个模块组成:初始化模块、即插即用管理模块、电源管理模块以及I/O功能实现模块。
初始化模块提供一个DriverEntry入口点执行一系列的初始化过程。
即插即用管理模块实现USB设备的热插拔及动态配置。当Windows98检测到USB设备接入时,查找相应的驱动程序,并调用它的DriverEntry例程,PnP管理器调用驱动程序的AddDevice例程,告诉它添加了一个设备;然后驱动程序为USB设备建立一个功能设备对象。在此过程中,驱动程序收到一个IRP_MN_START_DEVICE的IRP,包括设备分配的资源信息。至此,设备被正确配置,驱动程序开始与硬件进行对话。电源管理模块负责设备的挂起与唤醒。
I/O功能实现模块完成I/O请求的大部分工作。当动态链接库提出I/O请求时调用Win32API函数DeviceToControl向设备发出命令;然后由I/O管理器构造一个IRP并设置其MajorFunction域为IRP_MJ_DEVICE_CONTROL。USB设备驱动程序收到该IRP后取出其中的控制码,并利用一个开关语句找到对应的例程入口。
2.3应用程序设计与实现
应用程序采用VisualBasic6.0编写。由于其只需调用动态链接库,故开发较简单。主要功能包括检测USB设备、开启/关闭USB设备、设置A/D状态和数据采集端口、显示并分析实时采集的数据。主框图如图5所示。
由于D12的端点1的FIFO为16字节,端点2的FIFO为64字节,当缓冲区存满后自动将数据打包,由SIE自动发送数据包。程序获得数据包后需延迟至下组数据包准备完毕,从而保证程序与数据采集同步。另外程序还发出停止采集和关闭USB设备的命令。
3系统特点
基于USB总线的实时数据采集系统严格遵循USB1.1协议,有以下特点:
(1)易于扩展。最长传输距离5m,采用USBHub可达30m;最多可同时接127个设备。
(2)电磁干扰影响极小。本系统放置在计算机外部,不受板卡间的电磁干扰影响;若在电磁干扰极强的环境下工作,需专门为其设计电磁屏蔽方案。
1.2资料处理主要技术:为提高资料的高保真度、高信噪比和高分辨率,在资料处理时联合使用CCG、Promax和绿山等软件。针对半沙漠地区地震资料特征主要采用地表一致性预测反褶积和高精度三维偏移等技术,进一步消除地表条件的变化对地震波的振幅特性和相位特性的影响,实现反射界面及各种地质异常体的聚焦归位[2],保证地质信息的准确性。主要方法:在地震资料处理时,针对该研究区特殊地层特征,主要使用的处理方法有,①地表一致性预测反褶积。反褶积不仅可以进一步消除地表条件的变化对地震波的振幅特性和相位特性的影响,同时对多次波也有压制作用[3]。但是反褶积在提高分辨率的同时降低资料信噪比,所以处理时在保证资料信噪比的情况下再提高分辨率。经对比分析,最终选定的处理参数:预测步长8ms,算子长度120ms。从反褶积前后单炮及其频谱对比图可以看出,主频和频率范围相应向高频方向移动,反褶积后波组特征更加明显突出;②速度分析。常速扫描求取叠加速度的方法是由小到大,按间隔给定速度值,做每一个速度值的迭加剖面并按一定顺序排列起来,比较分析某一速度的迭加剖面来求取速度。该方法的优点是根据叠加同相轴的横向连续性直观地看各种有效波同相轴叠加成像效果[4],此方法处理人员工作量大,但其方法精度高,常速扫描法可更准确地拾取到叠加速度值。在该区进行了两次速度分析,第一次速度分析用于求取第一次剩余静校正量,第二次速度分析应用速度谱拾取速度用于求取第二次剩余静校正量。在时间剖面上做1500~5500m/s速度扫描,测区扫描网度200×100m,高网度、大工作量保证了速度分析拾取准确性,控制了工区构造形态。其速度分析示意图表明拾取速度是准确的;③三维偏移。偏移使倾斜界面反射归位到地下真实位置、绕射波收敛和波的干涉现象分解,正确地反应地下构造形态及其变化情况。本次研究中采用CGG波动方程有限差分三维一步法偏移,其方法具有精度高、频散低、边界吸收整洁等特点,对Tau(4,8,12ms)和偏移速度(90,95,100%)进行扫描测试,最终采用Tau=8ms,Mvel=100%。三维偏移后的时间剖面分辨率高,能量强,归位准确(图1)。
2资料解释及地质成果
2.1资料解释使用Geo-Frame4.3全三维解释系统进行解释,采用工作站和人工解释相结合,时间剖面、水平切片、面块切片解释相结合的思路和流程进行解释。断层解释:充分利用现有的地质资料,从联井剖面出发,通过人工对比解释明确各个反射波所对应的地质信息,在确定好空间关系后,利用工作站的自动追踪拾取功能,由粗网格到细网格逐步加密解释。采用人工解释的粗网格建立区内主体构造框架,确定较大断层,再利用人机联作方式进行细网格追踪对比,进一步核查构造方案解释的合理性,解释局部小断层和细微构造,最后确定构造方案。在断层解释时,以垂直剖面解释为主,水平切片为辅,再配合其它方法,使资料解释更精细、更准确。根据构造的复杂程度,有目的地选择一部分主干剖面进行重点解释,即按照由粗到细(由大网格到小网格)、由纵向到横向、由剖面到平面、由平面到空间的步骤反复进行解释。通过水平切片解释,检验断层组合的合理性,并对一些小断层的展布规律作出符合实际的解释。为确保断层的可靠性,在断层组合时,依据区域地质规律,充分利用工作站优势,确保断层解释合理,断层相互切割关系符合地质规律。如图2所示,在解释系统上可以清楚的解释连续的煤层反射波及清晰的断层点位置。煤层分岔解释:分叉合并煤层对应的反射波振幅强弱发生变化,从分叉到合并,振幅由弱变强;而断层只是同相轴错断,断开后的反射波强弱不发生变化[5]。分叉合并煤层对应的反射波同相轴个数发生变化。从分叉到合并,波组数由多变少。而断层的两盘同相轴个数不发生变化。分叉合并煤层对应的反射波同相轴相位没有真正断开,在波阻抗剖面上,煤层的分叉合并具有类似的特征,反映更加清晰。图3为煤层分叉在时间剖面上的反映,图4为煤层分叉在反演剖面上的反映。
2.2地质成果本次三维地震勘探查明了1-1、2-2、3-1、4-2、5-2煤层的底板起伏形态及构造发育情况;查明了区内落差大于5m的断层,3~5m的断点。对勘探区内1-1、2-2、3-1、4-2、5-2煤层的厚度变化趋势进行了预测。对勘探区内覆盖层厚度、1-1煤可采边界和2-2煤分叉合并范围进行了解释。丰富的三维地震地质成果为矿井开拓、采区设计提供了地质依据。
在工业生产和科学技术研究的各行业中,常常利用PC或工控机对各种数据进行采集。这其中有很多地方需要对各种数据进行采集,如液位、温度、压力、频率等。现在常用的采集方式是通过数据采集板卡,常用的有A/D卡以及422、485等总线板卡。采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线(UniversalAerialBus,简称USB)的出现,很好地解决了以上这些冲突,很容易就能实现低成本、高可靠性、多点的数据采集。
1USB简介
USB是一些PC大厂商,如Microsoft、Intel等为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信的标准,自1995年在Comdex上亮相以来至今已广泛地为各PC厂家所支持。现在生产的PC几乎都配备了USB接口,Microsft的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系统都增加了对USB的支持。
1.1USB系统的构成
USB系统主要由主控制器(HostController)、USBHub和USB外设(PeripheralsNode)组成系统拓扑结构,如图1所示。
1.2USB的主要优点
·速度快。USB有高速和低速两种方式,主模式为高速模式,速率为12Mbps,另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,USB还提供低速方式,速率为1.5Mb/s。
·设备安装和配置容易。安装USB设备不必再打开机箱,加减已安装过的设备完全不用关闭计算机。所有USB设备支持热拔插,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置。
·易于扩展。通过使用Hub扩展可拨接多达127个外设。标准USB电缆长度为3m(5m低速)。通过Hub或中继器可以使外设距离达到30m。
·能够采用总线供电。USB总线提供最大达5V电压、500mA电流。
·使用灵活。USB共有4种传输模式:控制传输(control)、同步传输(Synchronization)、中断传输(interrupt)、批量传输(bulk),以适应不同设备的需要。
2采用USB传输的数据采集设备
2.1硬件组成
一个实用的USB数据采集系统包括A/D转换器、微控制器以及USB通信接口。为了扩展其用途,还可以加上多路模拟开关和数字I/O端口。
系统的A/D、数字I/O的设计可沿用传统的设计方法,根据采集的精度、速率、通道数等诸元素选择合适的芯片,设计时应充分注意抗干扰的性能,尤其对A/D采集更是如此。
在微控制器和USB接口的选择上有两种方式,一种是采用普通单片机加上专用的USB通信芯片。现在的专用芯片中较流行的有NationalSemiconductor公司的USBN9602、ScanLogic公司的SL11等。笔者曾经采用Atmel公司的89c51单片机和USBN9602芯片构成系统,取得了良好的效果。这种方案的设计和调试比较麻烦,成本相对而言也比较高。
另一种方案是采用具备USB通信功能的单片机。随着USB应用的日益广泛,Intel、SGS-Tomson、Cypress、Philips等芯片厂商都推出了具备USB通信接口的单片机。这些单片机处理能力强,有的本身就具备多路A/D,构成系统的电路简单,调试方便,电磁兼容性好,因此采用具备USB接口的单片机是构成USB数据采集系统较好的方案。不过,由于具备了USB接口,这些芯片与过去的开发系统通常是不兼容的,需要购买新的开发系统,投资较高。
USB的一大优点是可以提供电源。在数据采集设备中耗电量通常不大,因此可以设计成采用总线供电的设备。2.2软件构成
Windows98提供了多种USB设备的驱动程序,但好象还没有一种是专门针对数据采集系统的,所以必须针对特定的设备来编制驱动程序。尽管系统已经提供了很多标准接口函数,但编制驱动程序仍然是USB开发中最困难的一件事情,通常采用WindowsDDK来实现。目前有许多第三方软件厂商提供了各种各样的生成工具,象Compuware的driverworks,BlueWaters的DriverWizard等,它们能够很容易地在几分钟之内生成高质量的USB的驱动程序。
设备中单片机程序的编制也同样困难,而且没有任何一家厂商提供了自动生成的工具。编制一个稳定、完善的单片机程序直接关系到设备性能,必须给予充分的重视。
以上两个程序是开发者所关心的,用户不大关心。用户关心的是如何高效地通过鼠标来操作设备,如何处理和分析采集进来的大量数据,因此还必须有高质量的用户软件。用户软件必须有友好的界面,强大的数据分析和处理能力以及为用户提供进行再开发的接口。
3实现USB远距离采集数据传输
传输距离是限制USB在工业现场应用的一个障碍,即使增加了中继或Hub,USB传输距离通常也不超过几十米,这对工业现场而言显然是太短了。
现在工业现场有大量采用RS-485传输数据的采集设备。RS-485有其固有的优点,即它的传输距离可以达到1200米以上,并且可以挂接多个设备。其不足之处在于传输速度慢,采用总线方式,设备之间相互影响,可靠性差,需要板卡的支持,成本高,安装麻烦等。RS-485的这些缺点恰好能被USB所弥补,而USB传输距离的限制恰好又是RS-485的优势所在。如果能将两者结合起来,优势互补,就能够产生一种快速、可靠、低成本的远距离数据采集系统。
这种系统的基本思想是:在采集现场,将传感器采集到的模拟量数字化以后,利用RS-485协议将数据上传。在PC端有一个双向RS-485~USB的转换接口,利用这个转接口接收485的数据并通过USB接口传输至PC机进行分析处理。而主机向设备发送数据的过程正好相反:主机向USB口发送数据,数据通过485~USB转换口转换为485协议向远端输送,如图3所示。
在图3的方案中,关键设备是485~USB转换器。这样的设备在国内外都已经面市。笔者也曾经用NationalSemiconductor公司的USBN9602+89c51+MAX485实现过这一功能,在实际应用中取得了良好的效果。
需要特别说明的是,在485~USB转换器中,485接口的功能和通常采用485卡的接口性能(速率、驱动能力等)完全一样,也就是说,一个485~USB转换器就能够完全取代一块485卡,成本要低许多,同时具有安装方便、不受插槽数限制、不用外接电源等优点,为工业和科研数据采集提供了一条方便、廉价、有效的途径。
4综合式采集数据传输系统的实现
现在的数据采集系统通常有分布式和总线两种。采用USB接口易于实现分布式,而485接口则易于实现总线式,如果将这两者结合起来,则能够实现一种综合式的数据采集系统。实现方法是:仍然利用上面提到过的USB~485转换器实现两种协议的转换。由于USB的数据传输速率大大高于485,因此在每条485总线上仍然可以挂接多个设备,形成了图4所示的结构,其中D代表一个设备。
这种传输系统适用于一些由多个空间上相对分散的工作点,而每个工作点又有多个数据需要进行采集和传输的场合,例如大型粮库,每个粮仓在空间上相对分散,而每个粮仓又需要采集温度、湿度、二氧化碳浓度等一系列数据。在这样的情况下,每一个粮仓可以分配一条485总线,将温度、湿度、二氧化碳浓度等量的采集设备都挂接到485总线上,然后每个粮仓再通过485总线传输到监控中心,并转换为USB协议传输到PC机,多个粮仓的传输数据在转换为USB协议后可以通过Hub连接到一台PC机上。由于粮仓的各种数据监测实时性要求不是很高,因此采用这种方法可以用一台PC机完成对一个大型粮库的所有监测工作。
1.1虚拟仪器的特点
与传统仪器相比,虚拟仪器具有高效、开放、易用灵活、功能强大、性价比高、可操作性好等明显优点,具体表现为:
智能化程度高,处理能力强虚拟仪器的处理能力和智能化程度主要取决于仪器软件水平。用户完全可以根据实际应用需求,将先进的信号处理算法、人工智能技术和专家系统应用于仪器设计与集成,从而将智能仪器水平提高到一个新的层次。
复用性强,系统费用低应用虚拟仪器思想,用相同的基本硬件可构造多种不同功能的测试分析仪器,如同一个高速数字采样器,可设计出数字示波器、逻辑分析仪、计数器等多种仪器。这样形成的测试仪器系统功能更灵活、更高效、更开放、系统费用更低。通过与计算机网络连接,还可实现虚拟仪器的分布式共享,更好地发挥仪器的使用价值。
可操作性强,易用灵活虚拟仪器面板可由用户定义,针对不同应用可以设计不同的操作显示界面。使用计算机的多媒体处理能力可以使仪器操作变得更加直观、简便、易于理解,测量结果可以直接进入数据库系统或通过网络发送。测量完后还可打印、显示所需的报表或曲线,这些都使得仪器的可操作性大大提高而且易用、灵活。
1.2虚拟仪器的构成
虚拟仪器的构建主要从硬件电路的设计、软件开发与设计2个方面考虑。
硬件电路的设计主要根据用户所面对的任务决定,其中接口设计可选用的接口总线标准包括GPIB总线、VXI总线等。推荐选用VXI总线。因为他具有通用性强、可扩充性好、传输速率高、抗干扰能力强以及良好的开放性能等优点,因此自1987被首次推出后迅速得到各大仪器生产厂家的认可,目前VXI模块化仪器被认为是虚拟仪器的最理想平台,是仪器硬件的发展方向。由于VXI虚拟仪器的硬件平台的基本组成是一些通用模块和专用接口。因此硬件电路的设计一般可以选择用现有的各种不同的功能模块来搭建。通用模块包括:信号调理和高速数据采集;信号输出与控制;数据实时处理。这3部分概括了数字化仪器的基本组成。将具有一种或多种功能的通用模块组建起来,就能构成任何一种虚拟仪器。例如使用高速数据采集模块和高速实时数据处理模块就能构成1台示波器、1台数字化仪或1台频谱分析仪;使用信号输出与控制模块和实时数据处理模块就能构成1台函数发生器、1台信号源或1台控制器。专用接口是针对特定用途仪器需要的设计,也包括一些现场总线接口和各类传感器接口。系统的主要硬件包括控制器、主机箱和仪器模块。常用的控制方案有GPIB总线控制方式的硬件方案、MXI总线控制方式的硬件方案、嵌入式计算机控制方式的硬件方案3种。VXI仪器模块又称为器件(devices)。VXI有4种器件:寄存器基器件、消息基器件、存储器器件和扩展器件。存储器器件不过是专用寄存器基器件,用来保存和传输大量数据。扩展器目前是备用件,为今后新型器件提供发展通道。将VXI仪器制作成寄存器基器件,还是消息基器件是首先要做出的决策。寄存器基器件的通信情况极像VME总线器件,是在低层用二进制信息编制程序。他的明显优点在于速度寄存器基器件完全是在直接硬件控制这一层次上进行通信的。这种高速通信可以使测试系统吞吐量大大提高。因此,寄存器基器件适用于虚拟仪器中信号/输出部分的模块(如开关、多路复用器、数/模转换输出卡、模/
数转换输入卡、信号调理等)。消息基器件与寄存器基器件不同,他在高层次上用ASCII字符进行通信,与这种器件十分相似是独立HPIB仪器。消息基器件用一组意义明确的“字串行协议”相互进行通信,这种异步协议定义了在器件之间传送命令和数据所需的挂钩要求。消息基器件必须有CPU(或DSP)进行管理与控制。因此,消息基器件适用于虚拟仪器中数字信号处理部分的模块。
软件的开发与设计包括3部分:VXI总线接口软件、仪器驱动软件和应用软件(软面板)。软件结构如图1所示。
VXI总线接口软件由零槽控制器提供,包括资源管理器、资源编辑程序、交互式控制程序和编程函数库等。该软件在编程语言和VXI总线之间建立连接,提供对VXI背板总线的控制和支持,是实现VXI系统集成的基础。
仪器驱动程序是完成对某一特定仪器的控制与通信的软件程序,也即模块的驱动软件,他的设计必须符合VPP的2个规范,即VPP3.1《仪器驱动程序结构和模型》和VPP3.2《仪器驱动程序设计规范》。
“软面板”设计就是设计具有可变性、多层性、自、人性化的面板,这个面板应不仅同传统仪器面板一样具有显示器、LED、指针式表头、旋钮、滑动条、开关按钮、报警装置等功能部件,而且应还具有多个连贯操作面板、在线帮助功能等。
2虚拟仪器在数据采集中的应用
利用虚拟仪器制作数据采集器可以按照硬件设计、软件设计两个步骤来完成。
2.1硬件设计
硬件设计要完成以下内容:
1)模/数转换及数据存储
设置具有通用性的数据自动采集系统,一般应满足能对多路信号尽可能同步地进行采集,为了使所采集到的数据不但能够在数据采集器上进行存储,而且还能及时地在采集过程中将数据传送到上位机,选用存储量比较适中的先进先出存储器,这样既能满足少量数据存储的需要,又能在需要实时传送数据时,在A/D转换的同时进行数据传送,不丢失任何数据。)VXI总线接口
VXI总线数据采集器通常可以利用两种VXI总线通用接口消息基接口和寄存器基接口。消息基接口的作用是通过总线传送命令,从而控制仪器硬件的操作。通用寄存器基接口是由寄存器简单的读写来控制仪器硬件的操作。利用消息基接口进行设计,具体消息基接口的框图见图2。
3)采样通道控制
为了满足几种典型系统通道控制的要求,使通道的数量足够多,通道的选取比较灵活,可以利用寄存器电路、可预置计数器电路以及一些其他逻辑电路的配合,将采样通道设计成最多64路、最少2路可以任意选择,而且可以从任意一路开始采样,也可以到任意一路结束采样,只要截止通道号大于起始通道号就可以了。整个控制在虚拟仪器软面板上进行操作,通过消息基接口将命令写在这部分的控制寄存器中,从而设置计数器的初值以及采样的通道总数。
4)定时采样控制
由于不同的自动测试系统对采样时间间隔的要求不同,以及同一系统在不同的试验中需要的采样时间间隔也不尽相同,故可以采用程控的方式将采样时间间隔设置在2μs~13.0ms之间任意选择,可以增加或减少的最小单位是2μs。所有这些选择设置可以在虚拟仪器软面板上进行。
5)采样点数控制
根据不同测试系统的需求,将采样点数设计成可在一个比较大的范围中任意选择,该选择同样是在软面板上进行。
6)采样方式控制
总结各种自动测试系统的采样方式不外乎软件触发采样和硬件触发采样。在硬件触发采样中又包括同步整周期采样和非同步整周期采样,这2种采样又可以是定时进行的或等转速差进行的。所有这些采样方式,对于数据采集器来说都可以在软面板上进行选择。
2.2软件设计
软件是虚拟仪器的关键,为使VI系统结构清晰简洁,一般可采用组件化设计思想,将各部分彼此独立的软件单元分别制成
标准的组件,然后按照系统的总体要求组成完整的应用系统,一个标准的组件化的虚拟仪器软件系统,如图3所示。
应用软件为用户提供了建立虚拟仪器和扩展其功能的必要工具,以及利用PC机、工作站的强大功能。同时VPP联盟提出了建立虚拟仪器标准结构库(VISA)的建议,为虚拟仪器的研制与开发提供了标准。这也进一步使由通用的VXI数据采集模块、CPU/DSP模块来构成虚拟仪器成为可能。
基于虚拟仪器的数据采集器的软件包括系统管理软件、应用程序、仪器驱动软件和I/O接口软件。以往这4部分需要用户自己组织或开发,往往很困难,但现在NI公司提供了所有这四部分软件,使应用开发比以往容易得多。
下面简单介绍以NI公司的LabWindows/CVI为开发环境,来进行VXI虚拟仪器的驱动程序开发的方法。
第一步:生成仪器模块的用户接口资源文件(UIR)。用户接口资源、文件是仪器模块开发者利用LabWindows/CVI的用户界面编辑器为仪器模块设计的一个图形用户界面(GUI)。一个LabWindows/CVI的GUI由面板、命令按钮、图标、下拉菜单、曲线、旋钮、指示表以及许多其他控制项和说明项构成。
第二步:LabWindows/CVI事件驱动编程。应用程序开发环境LabWindows/CVI中设计一个用户接口,实际上是在用户计算机屏幕上定义一个面板,他由各种控制项(如命令按钮、菜单、曲线等)构成。用户选中这些控制项就可以产生一系列用户接口事件(events)。例如,当用户单击一个命令按钮,这个按钮产生一个用户接口事件,并传递给开发者编写的C语言驱动程序。这是运用了Windows编程的事件驱动机制。LabWindows/CVI中使用不同类型的控制项,在界面编辑器中将显示不同类型的信息,并产生不同操作的接口事件。在LabWindows/CVI的开发平台中,对事件驱动进行C程序编程时可采用2种基本的方法:回调函数法和事件循环处理法。
回调函数法是开发者为每一个用户界面的控制项写一个独立的用户界面的控制函数,当选中某个控制项,就调用相应的函数进行事件处理。在循环处理法中,只处理GUI控制项所产生的COMMIT事件。通过GetUserEvent函数过滤,将所有的COMMIT事件区分开,识别出是由哪个控制项所产生的事件,并执行相应的处理。
第三步:应用函数/VI集与应用程序软件包编写。应用函数/VI集需针对具体仪器模块功能进行编程,应用程序软件包只是一些功能强大、需要完善的数据处理能力的模块才需要提供,如波形分析仪模块、DSP模块等。
3结语
本文探讨了虚拟仪器的基本组成,以及实际的虚拟仪器软硬件设计的一般方法,这些方法经过实际设计工作运用证明是可靠的,可供系统工程技术人员在组建具体的基于VXI总线的虚拟仪器数据采集、测试时参考使用。
参考文献
1]赵勇.虚拟仪器软件平台和发展趋势[J].国外电子测量技术,2002,(1)
2]陈光禹.VXI总线测试平台[M].北京:电子科技大学出版社,1996
在工业生产和科学技术研究的各行业中,常常利用PC或工控机对各种数据进行采集。这其中有很多地方需要对各种数据进行采集,如液位、温度、压力、频率等。现在常用的采集方式是通过数据采集板卡,常用的有A/D卡以及422、485等总线板卡。采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线(UniversalAerialBus,简称USB)的出现,很好地解决了以上这些冲突,很容易就能实现低成本、高可靠性、多点的数据采集。
1USB简介
USB是一些PC大厂商,如Microsoft、Intel等为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信的标准,自1995年在Comdex上亮相以来至今已广泛地为各PC厂家所支持。现在生产的PC几乎都配备了USB接口,Microsft的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系统都增加了对USB的支持。
1.1USB系统的构成
USB系统主要由主控制器(HostController)、USBHub和USB外设(PeripheralsNode)组成系统拓扑结构,如图1所示。
1.2USB的主要优点
·速度快。USB有高速和低速两种方式,主模式为高速模式,速率为12Mbps,另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,USB还提供低速方式,速率为1.5Mb/s。
·设备安装和配置容易。安装USB设备不必再打开机箱,加减已安装过的设备完全不用关闭计算机。所有USB设备支持热拔插,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置。
·易于扩展。通过使用Hub扩展可拨接多达127个外设。标准USB电缆长度为3m(5m低速)。通过Hub或中继器可以使外设距离达到30m。
·能够采用总线供电。USB总线提供最大达5V电压、500mA电流。
·使用灵活。USB共有4种传输模式:控制传输(control)、同步传输(Synchronization)、中断传输(interrupt)、批量传输(bulk),以适应不同设备的需要。
2采用USB传输的数据采集设备
2.1硬件组成
一个实用的USB数据采集系统包括A/D转换器、微控制器以及USB通信接口。为了扩展其用途,还可以加上多路模拟开关和数字I/O端口。
系统的A/D、数字I/O的设计可沿用传统的设计方法,根据采集的精度、速率、通道数等诸元素选择合适的芯片,设计时应充分注意抗干扰的性能,尤其对A/D采集更是如此。
在微控制器和USB接口的选择上有两种方式,一种是采用普通单片机加上专用的USB通信芯片。现在的专用芯片中较流行的有NationalSemiconductor公司的USBN9602、ScanLogic公司的SL11等。笔者曾经采用Atmel公司的89c51单片机和USBN9602芯片构成系统,取得了良好的效果。这种方案的设计和调试比较麻烦,成本相对而言也比较高。
另一种方案是采用具备USB通信功能的单片机。随着USB应用的日益广泛,Intel、SGS-Tomson、Cypress、Philips等芯片厂商都推出了具备USB通信接口的单片机。这些单片机处理能力强,有的本身就具备多路A/D,构成系统的电路简单,调试方便,电磁兼容性好,因此采用具备USB接口的单片机是构成USB数据采集系统较好的方案。不过,由于具备了USB接口,这些芯片与过去的开发系统通常是不兼容的,需要购买新的开发系统,投资较高。
USB的一大优点是可以提供电源。在数据采集设备中耗电量通常不大,因此可以设计成采用总线供电的设备。
2.2软件构成
Windows98提供了多种USB设备的驱动程序,但好象还没有一种是专门针对数据采集系统的,所以必须针对特定的设备来编制驱动程序。尽管系统已经提供了很多标准接口函数,但编制驱动程序仍然是USB开发中最困难的一件事情,通常采用WindowsDDK来实现。目前有许多第三方软件厂商提供了各种各样的生成工具,象Compuware的driverworks,BlueWaters的DriverWizard等,它们能够很容易地在几分钟之内生成高质量的USB的驱动程序。
设备中单片机程序的编制也同样困难,而且没有任何一家厂商提供了自动生成的工具。编制一个稳定、完善的单片机程序直接关系到设备性能,必须给予充分的重视。
以上两个程序是开发者所关心的,用户不大关心。用户关心的是如何高效地通过鼠标来操作设备,如何处理和分析采集进来的大量数据,因此还必须有高质量的用户软件。用户软件必须有友好的界面,强大的数据分析和处理能力以及为用户提供进行再开发的接口。
3实现USB远距离采集数据传输
传输距离是限制USB在工业现场应用的一个障碍,即使增加了中继或Hub,USB传输距离通常也不超过几十米,这对工业现场而言显然是太短了。
现在工业现场有大量采用RS-485传输数据的采集设备。RS-485有其固有的优点,即它的传输距离可以达到1200米以上,并且可以挂接多个设备。其不足之处在于传输速度慢,采用总线方式,设备之间相互影响,可靠性差,需要板卡的支持,成本高,安装麻烦等。RS-485的这些缺点恰好能被USB所弥补,而USB传输距离的限制恰好又是RS-485的优势所在。如果能将两者结合起来,优势互补,就能够产生一种快速、可靠、低成本的远距离数据采集系统。
这种系统的基本思想是:在采集现场,将传感器采集到的模拟量数字化以后,利用RS-485协议将数据上传。在PC端有一个双向RS-485~USB的转换接口,利用这个转接口接收485的数据并通过USB接口传输至PC机进行分析处理。而主机向设备发送数据的过程正好相反:主机向USB口发送数据,数据通过485~USB转换口转换为485协议向远端输送,如图3所示。
在图3的方案中,关键设备是485~USB转换器。这样的设备在国内外都已经面市。笔者也曾经用NationalSemiconductor公司的USBN9602+89c51+MAX485实现过这一功能,在实际应用中取得了良好的效果。
需要特别说明的是,在485~USB转换器中,485接口的功能和通常采用485卡的接口性能(速率、驱动能力等)完全一样,也就是说,一个485~USB转换器就能够完全取代一块485卡,成本要低许多,同时具有安装方便、不受插槽数限制、不用外接电源等优点,为工业和科研数据采集提供了一条方便、廉价、有效的途径。
4综合式采集数据传输系统的实现
现在的数据采集系统通常有分布式和总线两种。采用USB接口易于实现分布式,而485接口则易于实现总线式,如果将这两者结合起来,则能够实现一种综合式的数据采集系统。实现方法是:仍然利用上面提到过的USB~485转换器实现两种协议的转换。由于USB的数据传输速率大大高于485,因此在每条485总线上仍然可以挂接多个设备,形成了图4所示的结构,其中D代表一个设备。
这种传输系统适用于一些由多个空间上相对分散的工作点,而每个工作点又有多个数据需要进行采集和传输的场合,例如大型粮库,每个粮仓在空间上相对分散,而每个粮仓又需要采集温度、湿度、二氧化碳浓度等一系列数据。在这样的情况下,每一个粮仓可以分配一条485总线,将温度、湿度、二氧化碳浓度等量的采集设备都挂接到485总线上,然后每个粮仓再通过485总线传输到监控中心,并转换为USB协议传输到PC机,多个粮仓的传输数据在转换为USB协议后可以通过Hub连接到一台PC机上。由于粮仓的各种数据监测实时性要求不是很高,因此采用这种方法可以用一台PC机完成对一个大型粮库的所有监测工作。