数据采集存储与传输.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据采集存储与传输

数据采集、存储和传输 压缩机转速为8k转/分时,频率Hz,若要分析到信号频率的4倍频时,有经验公式得采样频率:kHz。所要采集的振动信号是轴两个方向的信号,故要使用采集卡的两个通道进行数据采集,所以,采样频率应大于2.66kHz。所以,采集卡的最高采样速率达到3kHz即可满足转速为8k转/分的压缩机的振动信号采集。 中断采集: 在LabView中软件触发方式比较简单,但采样速度较低,在采集振动信号时不能满足实际要求。而采用中断触发方式可以实现数据的高速采集,最高采样速率可达100kHz。 以下是LabView下采用中断触发方式实现数据高速采集时用到的几个关键子VI的简单介绍: DeviceOpen:打开指定的设备并返回一个驱动句柄,之后所有执行相应 I/O 操作的子VI 都应基于该句柄参数所获得的配置数据。该子VI 必须在调用其他驱动子VI 之前调用。 AllocDSPBuf:为用户缓冲区分配参数Count 指定大小的空间。该子VI 的输出用作FAITransfer 子VI的输入,通过MemoryType 参数可以选择以电压形式或二进制形式显示数据。程序运行结束后,LabVIEW自动释放此内存空间。 EnableEvent:通过指定相应的事件类型代码来使用或禁用一个指定的事件,并通知由DriverHandle所指定的硬件设备。 MultiChannelINTSetup:开始多通道中断触发方式的A/D转换,并将采集到的数据储存到内部缓冲区,该操作将一直进行,直到调用FAIStop子VI。该子VI运行时将自动调用AllocINTBuf子VI,分配FAIINTStart.Count参数所指定大小的内部缓冲区。与用户缓冲区不同的是,在程序结尾需另外调用子VI释放此内存空间。通过该子VI可以设置采样率、各通道增益代码、循环方式、是否使用FIFO缓存器等。 WaitFastAIOEvent:使程序进入等待状态,直到设定的事件发生(内部缓冲区半满或全满,等待结束,内部缓冲区全满)或等待时间超出用户通过Timeout参数设定的值。该子VI可以用来捕获内部缓冲区半满或全满事件。 BufferChangeHandler:将数据从内部缓冲区传送到用户缓冲区。该子VI能够判断内部缓冲区当前的状态是半满还是全满,从而执行不同的操作:半满时,从内部缓冲区取出1/2Count数量的数据到用户缓冲区;全满时,不做任何传输操作。要实现连续数据采集,程序中需要反复调用该子VI。此外,如果在AllocDSPBuf中选择的是以电压形式显示数据,该子VI还负责完成从原始数据到电压值的转换。 ClearOverHandler:用来处理FAI采样缓冲区的溢出状态,并清除溢出标志。即当采集数据的数量达到FAIINTStart.Count 的值后归零,重新开始计数。OverRun:显示缓冲区中的数据是否已被及时地传送出去;HalfReady:显示内部缓冲区的状态:0 表示无任何半区满;1 表示前半区已满;2 表示后半区已满。需要注意的是,该子 VI 和FAITransfer 判断半满和全满的标准是采集到的数据数量是否达到FAIINTStart.Count 的一半和FAIINTStart.Count,并不是内部缓冲区真正意义上的半满和全满。当然,如果将内部缓冲区的容量设置为与FAIINTStart.Count 的值相等,这两者就是同一种情况。 FAIStop:停止中断采集。 FreeFAIBuffer:释放中断采集的内部缓冲区。 DeviceClose:关闭由DeviceOpen 打开的设备,在程序结尾需调用此子VI,以释放资源为下次操作做好准备。 中断方式下数据采集并实时显示的前面板图如下所示: 程序框图: 文件存储: 由于中断采集速度快,数据量大,直接将采集到的数据存入MySQL数据库总会出现问题,故使用数据存储文件(TDM文件)来存储数据。TDM文件将动态类型的信号数据存储为二进制文件,同时可以为每一个信号添加一些附加信息,如信号名称、单位和注释等,这些信息将会以XML的格式存储在扩展名为.tdm的文件中。而信号则存储在扩展名为.tdx的文件中,这两个文件在LabView中以引用的方式自动联系起来,用户只需对TDM文件操作就可以了。为了便于数据的存储和传输,将存储数据的TMD文件存储在本地数据库MySQL中。程序如下图所示: 存储在文件中的数据信号在本地可以方便地进行读取,数据读取部分程序如下图所示: 前面板: 数据通讯: 数据的通讯部分,先用一个客户端和一个服务器端简单地实现了数据的传输,传输过程中试用了TCP/IP传输协议。TCP/IP网络通过提供通用网络服务,使得具体网络技术对用户或应用程序透明,从而将具体通信问题从网络细节中解放出来,使网络应用更加灵活方便。在La

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档