码迷,mamicode.com
首页 > 其他好文 > 详细

Labjack系列-数据采集卡,USB数据采集卡与 Labview对接的编程操作

时间:2018-08-28 17:58:18      阅读:354      评论:0      收藏:0      [点我收藏+]

标签:process   采样   操作   应用程序   驱动程序   制造商   shadow   abc   超过   

LabJack数据采集卡公司,总部位于美国科罗拉多州雷克伍德,是连接到计算机和互联网数据采集硬件和软件的领先制造商,帮助客户通过电脑或手机监控物理世界的变化.下面介绍如何用Labjack数据采集卡与Labview 接驳的方法,并实现采集功能。
技术分享图片技术分享图片

其系列采集卡如下:
技术分享图片
Labjack应用——labjack安装

首先,安装labjack驱动程序。虽然Windows已包含了LabJack所需的USB底层驱动程序,但是它还需要高级驱动程序来进行数据的传送和接收。随机提供的安装光盘将安装高级驱动程序、一些应用程序和一些范例程序的源代码。

插入安装光盘前,关闭所有打开的应用程序,特别是与LabJack相关的软件。安装程序通常会开始运行。如果安装程序没自动运行,你可用鼠标双击在光盘上的LabJackVXXX.exe。

LabJack安装结束后会安装美国国家仪器仪表公司的LabView运行引擎(LVRTE)。所安装的应用程序是需要该引擎才能运行的。如果有重启的提示,请照办。一些病毒扫描程序和LVRTE的安装可能有冲突。如果运行应用程序出错,重复以上安装直到LVRTE正确为止。

安装完驱动程序后,将C:/Program Files/labjack/drivers/labview/vi.lib/addons文件夹复制粘贴到labview所在文件夹下的vi.lib文件夹中。重新启动labview就可以在后面板的Functions→All Functions中看到labjack的所有函数。

技术分享图片

将labjack通过USB线与PC连接,要测试安装正确与否,运行LJTEST程序。 开始=>程序=>LabJack=>LJtest 确定没选择“Test Fixture Installed”和“Continuous”,按运行(RUN)按钮,LJtest应该一项项地测试并通过8个独立的测试。

Labjack应用——AIBurst函数介绍

从1,2,或4个模拟通道,以指定的扫描率(可高到8192赫兹)读取指定扫描数的电压。首先采集的数据是放在LabJack的4096个内存缓冲器中。然后才被传送到计算机上。 如果发光二极管被启用,那么它在等待出发期间会以4赫兹的频率闪烁,在采集过程中会暗掉,在数据传送到计算机的过程中会快速地闪烁,结束后再变暗。

该函数的执行时间取决于指令本身,可以用下面的公式来估计。实际采样的样本数是2的次方,从64到4096。 它大于或等于numScans*numChannels。 在下面该值被表示成 numSamplesActual。

正常模式:运行时间 = 30+(1000numSamplesActual/sampleRate)+(2.5numSamplesActual)

快速模式:运行时间 = 30+(1000numSamplesActual/sampleRate)+(0.4numSamplesActual)

参数说明:

技术分享图片
技术分享图片

返回值: LabJack 的错误码,无错时为0。

输入:

? *idnum – 设备号,系列号或-1(所能找到的第一个设备)

? demo – 正常操作时为0,大于0时为演示模式。演示模式允许用户在没有 LabJack的情况下调用该函数。

? *stateIOin –要输出的IO0-IO3的状态。如果IO是被设置成输入口,输出状态位对其没有作用。可以用其他的函数来把它们设置成输出方向。

? updateIO – 大于0,则输出状态值,否则只进行读操作。

? ledOn – 大于0时,LabJack的发光二极管被点亮。

? numChannels – 要读取的模拟通道数(1,2, 或 4)。

? *channels – 这是一个数组的指针,该数组至少要有numChannels 个单元。 单端输入用0-7,差动输入用 8-11。

? *gains – 这是一个数组的指针,该数组至少要有numChannels 个单元。个单元值是响应通道的增益指令。0=〉1, 1=〉2, ?, 7=〉20。 只在差动通道采集时有效。

? scanRate – 每秒的扫描数。一个扫描意味着对所有指定通道的一次采集。 采样频率(等于 scanRate numChannels) 必须在 400 和 8192 之间。

? disableCal – 大于0时,返回的电压是没有用校正系数进行校正计算的值。(叫做原始值)。

? triggerIO – 出发信号的IO口号。(0=不用触发,1=IO0,2=IO1)。

? triggerState – 大于0时,采集将在所选的IO口变高电平时开始。

? numScans – 指定多少个扫描将被返回。最小值为1。numSamples 最大值为4096,其中 numSamples = numScans * numChannels。

? timeout – 超时时间(单位为秒)。该函数执行时间超过规定的超时时间时,即使还没有采到一个扫描,也会立即退出,同时返回超时错误码。

? *voltages – 这是一个指向一个 4096 乘 4 数组的指针。该数组用于放置采集的电压值。 将该数组元素置零输出。

? transferMode – 0=自动,1=正常,2=快速。如果是自动,当 timeout >= 4 或 numScans/scanRate >=4 时,实际使用模式是正常,否则是快速。

输出:

? *idnum – 返回设备号或-1(如果没有找到LabJack的话)

? *scanRate – 返回实际的扫描频率。由于时钟的分辨率的原因,实际的扫描率不会完全和希望的扫描率相同。

? *voltages – 这是一个数组的指针,返回的numChannels个电压值在该数组中。

? *stateIOout – 这是一个指向一个大小为4096的数组的指针。读取的IO状态值存在该数组中。没有用到单元的值是9999.0。

? *overVoltage – 如果大于0, 则说明在被选择的通道上信号超界。

Labjack应用——用Labjack采集波形

技术分享图片
技术分享图片

输入部分:由numChannels、channels、gains组成簇Analog Input Commands,定义波形由A∣0输入LABJACK,通过scanRate、numScans定义LABJACK的采样频率和采样点数。

输出部分:voltages输出的是一个二位数组,但是其中只有一维有效,我们通过函数
技术分享图片

将其有用部分分离出来,作为纵轴(幅值)与scanRate输出的返回实际的扫描频率的倒数作为横轴(时间),通过函数
技术分享图片

打包组成波形并显示出来。

更多在:www.pc17.com.cn 下载 www.labjack.com 下载

请看下一篇:

Labjack系列-数据采集卡,USB数据采集卡与 Labview对接的编程操作

标签:process   采样   操作   应用程序   驱动程序   制造商   shadow   abc   超过   

原文地址:http://blog.51cto.com/8346388/2165567

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!