labview串口多路数据采样,如何分离多路信号?(高分悬赏)

2024-11-23 07:15:35
推荐回答(4个)
回答1:

如果数据带有地址码,就根据地址码把8路数据分开;
如果没有地址码,既然是循环采样,数据应该是顺序上来的,长度已经有了是8位,有效数据就应该是8个8位了,把8个字节分开存储到8个不同的寄存器.
显示时,先把坐标定好,以时间t为横坐标,单位可以按秒,或者根据要求设置单位,以AD幅度为纵坐标,总高255,单位可以根据液晶的分辨率来设置.
按照横坐标的时间单位,定时把8个寄存器的值刷新一下,比如单位为秒,就每秒刷新一下8个显示的波形.

回答2:

分离?那得先看你是怎么去顺序循环采样,比如,你才第1路的时候,你能不能让labview在电脑端也知道现在是在采集第1路?
具体的方法有许多。
给你一种作为参考吧:
在发送采样数据前,先通过串口多发送一个数据给labview,告诉电脑上的labview,后面的8个数据分别是,第1路的数据、第2路、第3路.....第8路数据;
这个需要你的数据采集板上的控制芯片稍微进行一下改进。

显示的问题:你将数据采集到labview里后,存入1维数据先,然后就是调用波形显示VI的事情了。

希望能帮到你。 ^_^

TIPS:你下端的采集板,采集数据的时间间隔应该是相等的吧

回答3:

LABVIEW提供的数据采集卡的常用驱动方式有两种,调用C语言源代码方式(CIN方式),以及调用动态链接库方式(CLF方式)。

CIN方式是实现LABVIEW与C语言混合编程的一种媒介,CIN通过输入、输出端口实现两种语言之间的数据传递。输入、输出端口的个数可由设计者根据实际需要确定,当LABVIEW的程序运行到CIN节点时,数据由CIN的输入端口传递给C源代码图标,程序转去执行C源代码,代码执行完后,执行的数据结果由CIN输出端口返回至LABVIEW。

CLF是一种动态链接库(DLL)的调用方式。DLL是一种应用程序在运行时与库文件连接起来的技术,在WINDOWS的管理下,应用程序与对应DLL之间建立链接关系,根据链接产生的重定位信息,转去执行DLL中相应的代码。LABVIEW中,可通过CLF(调用路径为Function>>Advanced>>Call Library Function)功能模块实现调用。

调用CIN节点需要有C语言编程的支持,它能够将代码集成在VI中作为单独的一个VI发布,CIN 支持的参数类型比DLL 函数多,可使用LABVIEW 定义的任何参数类型,但制作CIN的过程复杂得多。使用这种方法的缺点是在数据采集过程中不能实时地进行数据的显示,只能在数据全部采集结束后再一起显示所采集的全部数据,这样在需要较高执行效率的场合就不适用。其次由于CIN节点在制作数据采集卡的驱动时,需要提供采集卡的硬件参数,需编制对硬件设备进行底层操作的库函数,对于不清楚函数内核的程序员不适用。相比CIN方式,CLF方式更加简单易学,开发者只需要熟悉DLL中的各个函数功能以及函数的参数及类型,在本文设计中,拟采用CLF方式实现驱动程序的调用。

回答4:

八路信号的控制是labview吗?如果不是,我认为很困难的,除非从数据特征是进行判断。如果是则很好办的,做一个布尔数据,每次采集的时候控制八路的的同时也去改变布尔数据,即可以判断出每一路的信号,据此就可以把数据分离开。