基于labview的数据采集与处理软件编程技巧

基于labview的数据采集与处理软件编程技巧

ID:33326637

大小:230.24 KB

页数:4页

时间:2019-02-24

基于labview的数据采集与处理软件编程技巧_第1页
基于labview的数据采集与处理软件编程技巧_第2页
基于labview的数据采集与处理软件编程技巧_第3页
基于labview的数据采集与处理软件编程技巧_第4页
资源描述:

《基于labview的数据采集与处理软件编程技巧》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于LabVIEW的数据采集与处理软件编程技巧111燕延马增强杨明(1石家庄铁道学院计算机系,石家庄050043)摘要:针对基于LabVIEW平台的数据采集和数据处理程序设计中,常遇到的典型应用中的问题如:基于TCP的网络传输、软件滤波、数组组合、波形振幅统计、超限报警等问题,本文给出了较详细的解决方案和实用程序设计技巧。关键字:LabVIEW数据采集数据处理中图分类号:TM93文献标识码:A1、引言LabVIEW是美国NI公司推出的一个图形化软件开发环境,与其它软件平台相比,它的最大优势在于测控系统的开发,因

2、为它不仅提供了几乎所有经典的信号处理函数和大量现代的高级信号分析工具,而且LabVIEW程序还非常容易和各种数据采集硬件集成,可以和多种主流的工业现场总线通讯以及与大多数通用标准的实时数据库链接。在LabVIEW平台上,笔者多年从事数据采集和处理软件的开发工作,在总结编程经验的基础上写成本文,希望能和各位同行交流。2、数据采集和处理中的常见问题及编程技巧(1)基于TCP的网络传输数据的处理:LabVIEW可以通过采用TCP/IP节点实现局域网通信,TCP/IP节点在功能模块板→Communication→TCP

3、子模块中。在网络数据采集中,上位机作为客户端,当数据采集条件满足时,与远程现场数据采集站建立TCP连接(每个数据采集站都有独立的IP地址和端口号),在实际应用当中,发现由于各种原因造成的网络故障导致不能正确实现连接的情况时有发生,特别是在调试阶段,由于需要经常插拔或触动网线,造成接触不良等问题,使TCP连接不畅,所以在软件设计上,加上TCP握手次数计数,若超过指定次数仍不能正确连接,则放弃与这个测站的通信,并给出声音报警信息,提示维护人员进行网络维护。网络正确链接后,采用两个TCPRead节点读数据,第一个节点

4、读出上传数据包的长度,这里要注意数据包长所占字节数和数据类型要严格按照通信双方事先约定的格式进行(如双方约定包长和数据均用I16类型(两字节有符号数)),则用TCPRead接点的bytestoread参数就设为2,由于TCP读出的数据类型为字符型,将其按I16类型转换成数字类型包长值,如约定每通道的数据均为I16类型,则数采站每扫描16通道一次就将数据打包上传,则包长值为32字节,将包长值传给第二个TCPRead节点,它将后继的32个字节数据全部读出,并按约定的I16类型进行转换,然后再将数据按通道进行拆分处理

5、、单位换算、波形显示、提取最大值、报警处理等。如图1所示。图1TCP接收及数据处理程序框图在各种LabVIEW书籍及演示示例中第一个TCPRead节点的bytestoread参数均为4且类型都为I32,它适合于PC机对PC机间的TCP传输,如果在实际应用当中,传输的数据类型不是I32类型的,注意此参数的正确修改,否则读出的数据是错误的。(2)软件滤波:在数据采集处理中,经常发现数据波形毛刺很多,这一般是各种电磁干扰、接触不良等原因引起,除了在硬件上采取相应措施外,在软件上也可采取一些措施以剔除毛刺,使波形看起来

6、比较光滑,软件滤波程序如图2所示。这里引入输出值的本地变量,利用本地变量的性质(它总是记录上次给它的赋值),数采当前值与上次的数采值进行比较,若差值大于给定值(在图2中,给定值设为1)则可能有毛刺出现,此时输出值采用上次的输出值,若差值小于给定值则无毛刺出现输出采用本次采集值,这样就可以有效地滤除尖峰状的毛刺了,给定值可根据采集物理量的前后数值的最大可能值灵活确定。图2软件滤波(3)数采数据在数组中的重新组合技巧:在数据采集程序设计中,经常需要用数组存放采集的数据,由于存储空间的限制,数组维数不可能设置太大,所

7、以当数组被添满后数据又从头开始依次存放,所以在数组中存放的数据的会出现后采的数据在前,先采的数据在后的情况。当采集结束条件满足时,停止数据采集,这时需要对数组中的数据按时间的先后顺序进行重新组合,再做后继的数据处理工作。图3所示的程序能实现这一功能。为简便起见,这里设数组维数为20,这里数采数据用循环次数i代替,用stop按钮代替数据采集停止控制。(在实用程序中用各自的数据和控制条件取代即可)。首先给数组初始化为0,进入数采循环,由i除数组维数的余数确定数据插入数组的具体位置(下标),这样采集数据依次进入数组中

8、,添满后再从头添入,当采集结束条件满足时,程序退出循环,以程序退出循环时最后进入数组的元素的下标为界,用两个ArraySubset函数将数组拆成前后两个,前面的数组在时间上是后进入数组的,而后面的反之,所以用InsertIntoArray函数将两个数组重新按时间顺序重新组合,在outputarray数组中即可得到正确的数据了。图3数据组合程序(4)振幅统计:在实际应用项目中,经常需要统

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。