版权归原作者所有,如有侵权,请联系我们

[科普中国]-分布式数据采集

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

数据采集

数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛应用在各个领域。比如摄像头,麦克风,都是数据采集工具。1

被采集数据是已被转换为电讯号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。采集一般是采样方式,即隔一定时间(称采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。准确的数据测量是数据采集的基础。数据量测方法有接触式和非接触式,检测元件多种多样。不论哪种方法和元件,均以不影响被测对象状态和测量环境为前提,以保证数据的正确性。数据采集含义很广,包括对面状连续物理量的采集。在计算机辅助制图、测图、设计中,对图形或图像数字化过程也可称为数据采集,此时被采集的是几何量(或包括物理量,如灰度)数据。1

在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,数据采集领域已经发生了重要的变化。首先,分布式控制应用场合中的智能数据采集系统在国内外已经取得了长足的发展。其次,总线兼容型数据采集插件的数量不断增大,与个人计算机兼容的数据采集系统的数量也在增加。国内外各种数据采集机先后问世,将数据采集带入了一个全新的时代。1

方式在联邦数据采集的设计上主要有三种方式:

(1)集中式数据采集;

(2)分布式数据采集;

(3)分散集中式数据采集。2

基本原理假设有一个模拟信号,每隔时间t采样一次,时间t为采样周期,1/t成为你采样频率,每次获得的信号值称为采样值。进行采样的频率过高或者过低都会使原始信号失真。为避免这两种情况的出现,通常将过低频率和过高频率下采集的信号过滤掉。采样频率应当怎样设置?也许可能会首先考虑用采集卡支持的最大频率。但是,较长时间使用很高的采样率可能会导致没有足够的内存或者硬盘存储数据太慢。理论上设置采样频率为被采集信号最高频率成分的2倍就够了,实际上工程中选用5~10倍,有时为了较好地还原波形,甚至更高一些。

通常,信号采集后都要去做适当的信号处理,样本数据要求提供5~10个周期,甚至更多的采集结果,且样本总数最好是采集周期的整数倍,这样获得的信号更便于处理。1

数据采集系统任务数据采集系统的任务,就是采集传感器输出的模拟信号并转换成计算机能识别的数字信号,然后送入计算机,根据不同的需要由计算机进行相应的计算和处理,得出所需要的数据。与此同时,将计算机得到的数据进行显示和打印,以便实现对某些物理量的监视,其中一部分数据还将被生产过程中的计算机控制系统用来控制某些物理量。3

判别标准数据采集系统性能的好坏,主要取决于它的精度和速度。在保证精度的条件下,应有尽可能高的采样速度,以满足实时采集,实时处理和实时控制对速度的要求。3

基本功能数据采集系统具有以下几种基本功能:

(1)数据采集;

(2)模拟信号处理;

(3)数字信号处理;

(4)开关信号处理;

(5)二次数据计算;

(6)屏幕显示;

(7)数据存储;

(8)打印输出;

(9)入机联系。3

相关技术数据采集系统涉及到的相关技术主要包括:
(1)传感器技术;

(2)模拟信号处理技术;

(3)模数转换和数模转换技术;

(4)信号处理技术;

(5)数据采集系统抗干扰技术;

(6)误差分析与处理;

(7)人机接口技术;

(8)数据存储与打印;

(9)数据传输技术;

(10)虚拟仪器技术。

微型计算机数据采集系统微型计算机数据采集系统的组成部分包括:传感器、模拟多路开关、程控放大器、采样/保持器、A/D转换器、接口电路、微机及外部设备、定时与逻辑控制电路。

数据采集系统工作时,各个器件必须按照以下过程顺序执行:

(1)模拟多路开关开始切换;

(2)程控放大器放大倍数开始切换;

(3)采样/保持器开始保持;

(4)A/D转换器开始转换;

(5)A/D转换完成。

微型计算机数据采集系统的特点是:

(1)系统结构简单,容易实现,能够满足中、小规模数据采集的要求;

(2)微型计算机对环境的要求不是很高,能够在比较恶劣的环境下工作;

(3)微型计算机的价格低廉,可降低数据采集系统的投资,即使是比较小的系统,也可以采用它;

(4)微型计算机数据采集系统可作为集散型数据采集系统的一个组成部分;

(5)微型计算机的各种I/O模板及软件都比较齐全,很容易构成系统,便于使用和维修。3

集散型数据采集系统集散型数据采集系统是计算机网络技术的产物,它由若干个“数据采集站”和一台上位机及其通信线路组成。数据采集站一般是由单片机数据采集装置组成,位于生产设备附近,可独立完成数据采集和预处理任务,还可以将数据以数字形式传送给上位机。上位机一般为PC486或PC586计算机,配置有打印机和绘图机。上位机用来将各个数据采集站传送来的数据,集中显示在显示器上或采用打印机打印成各种报表,或以文件形式储存在磁盘上。此外,还可以将系统的控制参数发送给各个数据采集站,以调整数据采集站的工作状态。

集散型数据采集系统的主要特点是:

(1)系统的适应能力强。无论是大规模的系统还是中小规模的系统,集散型系统都能够适应,因为可以通过选用适当数量的数据采集站构成相应规模的系统,

(2)系统的可靠性高。由于采用了多个以单片机为核心的数据采集站,若某个数据采集站出现故障,只会影响某项数据的采集,而不会对系统的其它部分造成任何影响。

(3)系统的实时响应性好。由于系统中各个数据采集站之间是真正“并行”工作的,所以系统的实时响应性较好。这一点对于大型、高速、动态数据采集系统来说,则是一个很突出的优点。

(4)对系统硬件的要求不高。由于集散型数据采集系统采用了多机并行处理方式,所以每一个单片机仅完成数量十分有限的数据采集和处理任务。因此,它对硬件的要求并不高,可以用抵档的硬件组成高性能的系统,这是微型计算机数据采集系统方案所不可比拟的。3

分布式数据采集主要设计思路分布式记录方式可以在影响网络带宽最小的情况下采集到所需要的数据。其主要设计思路就是在成员与RTI之间加一层记录接口。成员在向RTI发送数据时,首先经过记录接口,由记录接口将数据记录之后,再转发给RTI。这样就不会有冗余的数据在网络上传输(特别是大大减少了网络上的网间数据),消除了系统瓶颈。2

联邦逻辑结构逻辑结构如右图所示。其中记录接口是位于成员和RTI之间的中间件(与成员处于同一仿真节点),它可以记录成员向RTI调用及RTI向成员回调的所有函数和函数参数。中间软件是通过继承并扩展原始类的功能而实现的。中间件有与RTI完全相同的接口,它对用户应用是透明的。记录接口包含(或重载)了成员与RTI之间的所有接口函数,这些接口函数先将函数参数记录下来,再调用相应的RTI之间的所有接口函数,这些接口函数先将函数参数记录下来,再调用相应的RTI接口函数。例如当成员更新数据时,它需要向RTI调用Upddate Attribute Values函数。如果记录接口链接到成员,则成员实际上是调用了记录接口的UpdateAttribute Values函数 ,记录接口将函数标识符和参数数据保存到记录文件中,再调用RTI的UpdateAttribute Values函数,则RTI就可以使用DM和DDM对数据进行过滤和分发。2

记录接口的C++实现记录接口使用C++实现时,需要重新定义两个代理类,即RTIAmbassador和FederateAmbassador,实现上有两种方法:

(1)由成员实现对RTI的扩展。

当记录接口由成员实现时,需要设计两个类:DC_RTIamb类和DC_FedAmb类。DC_RTIamb类由RTI提供的RTI Ambassador基类派生,RTI Ambassador定义了成员向RTI调用的API接口函数。RTI Ambassador类中的每一函数都有在DC_RTIamb类中与之对应的函数。同样DC_FedAmb类由成员实现的Federate Ambassdor基类派生。Federate Ambassador定义了RTI回调成员的接口函数。在DC_RTlamb类和DC_FedAmb的函数实现中,可以先将传入的参数记录下来,再调用其基类相应的函数。

因为记录接口将于RTI通信的数据不经任何转换就直接写入二进制文件,它可以不经修改挂接到任何联邦成员,即记录接口的代码是通用的。同时,记录接口实现的两个类均由RTI基类派生而来,因此将记录接口同成员链接仅需要修改和添加很少的代码。为使联邦开发人员易于实现仿真数据的本地记录,在成员软件框架自动生成工具可以集成这部分数据的功能。2

(2)由RTI提供。

上述方法的缺点是明显的,需要有成员的源代码并进行修改,再重新编译链接成可执行文件。对已开发的成员或得不到源代码的成员可采取“偷梁换柱”的方法由RTI提供记录接口。

在RTI平台上运行成员时需要链接动态链接库(DLL)RTIamb.dll。在RTIamb.dll中主要实现了LRC(Local RTI Component,包含RTI Ambassador类)的功能,为成员提供RTI的API函数。众所周知,DLL只有在应用程序运行时才装入进程地址空间,而且Windows操作系统只以文件名区分DLL。这样就可以生成两个版本的RTIamb.dll:有数据记录功能和无数据记录功能的RTIamb.dll。这两个版本的DLL所声明的类和函数是相同的。当需要数据记录时,只要链接有数据记录的DLL即可,操作非常方便。

记录接口记录的文件是二进制格式的,需要将其转换成可读文件。对分布式数据采集,需要在数据分析和演练回放之前关联并集成所有的分布式记录文件,主要工作是将所有的记录文件的所有记录按照时间排序,并适当删除冗余信息,融合为一个全局的记录文件。2

集中式与分布式数据采集的对比网络宽带资源集中式数据采集方法比较简单,生成的记录文件对数据分析和演练回放都很方便,但是它却占用了网络的带宽资源。在大规模联邦仿真特别是在广域网仿真时,它将成为系统的瓶颈。而分布式记录方式可以在影响网络带宽最小的情况下采集到所需要的数据。2

信息量集中数据采集只能记录成员之间交换的数据,而分布式采集中的记录接口除了可以记录记录成员之间交换的数据外,还可以记录RTI与成员之间交换的信息(因此其记录文件与集中式记录文件格式有所不同)。这样不但可以对仿真演练进行事后分析,而且可以对分析和测试RTI的功能和性能提供有力的帮助。然而记录接口需要进行文件I/O,会占用成员的CPU处理时间。2