DAQ连续采集
- 格式:doc
- 大小:31.00 KB
- 文档页数:2
信号输入(数据采集)信号输入部分可以借助DAQ助手来实现,也可以使用DAQ通道来实现。
在NI-DAQmx中,任务是包括一条或多条通道以及定时、触发等属性的集合。
从概念上来说,任务就是要进行的测量或生成。
例如,测量DAQ设备一条或多条通道的温度就是一个任务。
在创建DAQ任务前,我们首先得初始化设备。
初始化设备要用到Mesurement&Automention Explorer(如图5.1所示为它的启动界面)。
按照下述步骤初始化设备。
图5.11.打开Mesurement&Automention Explorer。
2.在“配置”栏-“设备与接口”上单击鼠标右键,选择“新建…”,会出现如图5.2所示界面:图5.2由于没有硬件,这里用仿真设备,这里我们就选择“NI-DAQ仿真设备”,点“完成”后会出现如图5.3界面。
图5.33.点击“E系列DAQ”前面的“+”,展开栏目后如图5.4所示:图5.4这里我们选择“NI PCI-6071E”,点击“确定”后出现下图所示界面。
很容易发现,界面左边“配置”-“NI-DAQ设备”下多了一个“NI PCI-6071E”,单击它,右边的界面中出现它的配置参数,如图5.5所示。
图5.5经过以上步骤的设置,设备初始化完毕。
接下来我们就可以创建NI-DAQmx任务了。
3.3.1.1创建NI-DAQmx任务按照下列步骤,可以创建并配置一个从DAQ设备读取电压的任务。
方案1:利用DAQ助手1. 打开一个新建的空白VI。
2. 在程序框图中,打开函数选板并选择Express» 输入,显示输入选板。
3. 选择输入选板上的“DAQ助手”Express VI,如左图所示。
将该Express VI放置到程序框图上。
打开DAQ助手,显示新建Express任务对话框。
4. 单击采集信号» 模拟输入,显示模拟输入选项。
5. 选择电压创建一个新的电压模拟输入任务。
对话框将列出各个已安装的DAQ设备的通道。
借助智能DAQ, 获得高级数据采集技术目录1. 概览多功能智能DAQ设备配有自定义式板载处理功能,最大限度地为系统定时及触发提供灵活性能。
与控制设备功能的固定ASIC不同,智能DAQ采用基于FPGA的系统定时控制器,令所有模拟和数字I/O能够根据特定应用操作接受相应的配置。
本指南展示了:如何使用R系列智能DAQ板卡和NI LabVIEW FPGA,灵活自如地执行数据采集任务2. 入门NI LabVIEW FPGA模块帮助DAQ系统的开发者灵活自如地进行应用程序编程以实现各类输入/输出操作。
用户无需预先了解VHDL等硬件设计工具,便可将LabVIEW代码嵌入FPGA芯片并获得硬件定时的速度和可靠性。
让我们先从数据采集硬件的常用组件切入论题。
假设您拥有了模数转换器(ADC)、数模转换器(DAC)和数字输入/输出线,则所有I/O便要根据实际操作接受某种方式的定时和控制。
典型的多功能数据采集设备采用功能齐全的ASIC,满足了大多数的功能性需求。
比如:M系列DAQ设备通过DAQ-STC2,控制着各类硬件组件的定时和触发。
智能DAQ硬件(如:R 系列DAQ设备)区别于市面上的其他任何数据采集设备,因为在控制设备功能方面智能DAQ用基于FPGA 的系统定时控制器取代了传统ASIC,从而使得所有模拟和数字I/O都能根据特定应用操作接受相应的配置。
可重配置FPGA芯片通过NI LabVIEW FPGA模块进行编程,此时NI LabVIEW的数据流模式仍旧适用,不过采用了一组新函数控制最底层的设备I/O。
LabVIEW FPGA I/O节点并不通过NI-DAQmx函数负责实现常见的任务和功能,而是灵活自如地在各个通道最底层上运行。
通过以下各部分的内容,我们将了解NI-DAQmx的特定实例,并学习如何通过智能DAQ定制各类数据采集任务。
3. 定时和触发实现高级数据采集的智能DAQ主要用于定制定时和触发。
下方的范例程序框图展现了:NI-DAQmx帮助实现的触发式模拟输入任务。
ccp标定协议的daq详解CCP标定协议的DAQ详解CCP(CAN Calibration Protocol)标定协议是一种用于汽车电子控制单元(ECU)标定和诊断的通信协议。
CCP协议通过数据采集器(DAQ)与ECU进行通信,实现参数的标定和监测。
本文将详细解释CCP标定协议中的数据采集器(DAQ)的工作原理和功能。
一、数据采集器(DAQ)的概述数据采集器(DAQ)是CCP标定协议中的重要组成部分,它负责与ECU进行通信,并将数据传输给标定工具进行处理。
数据采集器通常由硬件和软件两部分组成,硬件部分负责与ECU进行物理连接,而软件部分则负责控制数据的采集和传输。
二、数据采集器(DAQ)的工作原理1. 连接与通信:数据采集器通过物理接口(如CAN总线)与ECU进行连接。
一旦建立连接,数据采集器将发送请求命令给ECU,并接收ECU返回的响应数据。
数据采集器和ECU之间的通信遵循CCP协议规定的通信流程和数据格式。
2. 数据采集和传输:数据采集器在与ECU通信的过程中,会周期性地采集ECU内部的参数值,并将其保存在缓冲区中。
采集的数据可以是传感器的实时数据、ECU内部寄存器的数值等。
数据采集器还可以根据标定工具的要求,对特定的参数进行单点采集或连续采集。
3. 数据处理和传输:数据采集器将采集到的数据传输给标定工具进行处理。
传输方式可以是通过USB、以太网等物理接口,也可以通过无线方式进行传输。
传输的数据格式通常是CCP协议规定的格式,标定工具可以解析这些数据,并进行相应的处理和显示。
三、数据采集器(DAQ)的功能1. 参数标定:数据采集器可以通过CCP协议与ECU进行双向通信,实现对ECU内部参数的标定。
标定过程中,数据采集器向ECU发送标定命令,ECU根据命令执行相应的操作,并将标定结果返回给数据采集器。
标定工具可以通过数据采集器显示和修改参数的值,以达到优化ECU性能的目的。
2. 参数监测:数据采集器可以实时采集ECU内部的参数数值,并将其显示在标定工具的界面上。
连接模拟电压信号与数据采集(DAQ)设备模拟测量基础至页首测量模拟信号前,需要了解信号源——接地方式或浮地方式。
您还必须考虑测量系统——差分方式、参考单端方式,或非参考单端方式。
浮地信号源–在浮地信号中,电压信号没有连接到任何绝对参考或任何共地,如:大地或建筑物地面。
浮地信号源,也被称为:非参考信号源。
一些常见的浮地信号源有:电池、热电偶、变压器或隔离放大器。
接地信号源–接地源是帮助电压信号引用至系统接地(如:地面或建筑物地面)的一类方式。
由于这些信号源都采用系统接地,所以它们和测量设备使用同一个接地电压。
最常见的接地信号源是那些通过壁装电源插座插入建筑物地面的设备,如信号发生器和电源。
差分模式–差分测量系统的两路输入均不与固定参考相接,如:大地或建筑物地面。
差分测量系统近似浮地信号源,因为测量根据不同于测量系统接地的浮动接地进行。
差分连接会须要两个模拟输入端来进行信号连接,减少能够附于DAQ设备的信号总数。
参考单端模式–一个参考单端(RSE)测量系统测量电压时以图中的AIGND接地为基准,AIGND直接与测量系统接地相连。
该选项通常能让每款设备具有多过(最多2倍于)非差分模式的信号连接。
非参考单端模式–在一个NRSE测量系统中,所有的测量仍使用单节点模拟输入检测(AISENSE),但该节点上的电势会随着测量系统接地而改变。
该选项通常能让每款设备具有多过(最多2倍于)非差分模式的信号连接。
伪差分模式–就像差分输入通道,伪差分测量系统同时引出通道的正极和负极。
可将正输入和负输入,连接至被测部件各自的输出。
负输入通过相对较小的阻抗,与系统接地相接。
输入通道的的正极和负极被更大阻抗分隔开。
下表提供:模拟输入连接的应用独立型总结。
表1. 模拟输入配置连接浮地信号源至页首浮地信号源没有连接至建筑物地面系统,却有一个隔离地参考点。
何时通过浮地信号源, 使用差分连接满足下列各项条件的通道,均可使用差分输入连接:输入信号为低电平(小于1 V)。
5 虚拟数字滤波器软件设计信号输入(数据采集)信号输入部分可以借助DAQ助手来实现,也可以使用DAQ通道来实现.在NI—DAQmx 中,任务是包括一条或多条通道以及定时、触发等属性的集合。
从概念上来说,任务就是要进行的测量或生成。
例如,测量DAQ设备一条或多条通道的温度就是一个任务。
在创建DAQ任务前,我们首先得初始化设备。
初始化设备要用到Mesurement&Automention Explorer(如图5.1所示为它的启动界面)。
按照下述步骤初始化设备.图5.11.打开Mesurement&Automention Explorer。
2。
在“配置"栏-“设备与接口"上单击鼠标右键,选择“新建…”,会出现如图5.2所示界面:图5。
2由于没有硬件,这里用仿真设备,这里我们就选择“NI-DAQ仿真设备”,点“完成”后会出现如图5.3界面。
图5。
33。
点击“E系列DAQ"前面的“+”,展开栏目后如图5。
4所示:图5。
4这里我们选择“NI PCI-6071E",点击“确定”后出现下图所示界面.很容易发现,界面左边“配置”—“NI—DAQ设备”下多了一个“NI PCI—6071E”,单击它,右边的界面中出现它的配置参数,如图5。
5所示.图5.5经过以上步骤的设置,设备设备初始化完毕。
接下来我们就可以创建NI-DAQmx任务了。
3.3.1。
1创建NI—DAQmx任务按照下列步骤,可以创建并配置一个从DAQ设备读取电压的任务。
方案1:利用DAQ助手1. 打开一个新建的空白VI。
2. 在程序框图中,打开函数选板并选择Express»输入,显示输入选板。
3。
选择输入选板上的“DAQ助手" Express VI,如左图所示。
将该Express VI 放置到程序框图上. 打开DAQ助手,显示新建Express任务对话框。
4。
单击采集信号»模拟输入,显示模拟输入选项。
旗号输进(数据支集)之阳早格格创做旗号输进部分不妨借帮DAQ帮脚去真止,也不妨使用DAQ 通讲去真止.正在NI-DAQmx中,任务是包罗一条或者多条通讲以及定时、触收等属性的集中.从观念上去道,任务便是要举止的丈量或者死成.比圆,丈量DAQ设备一条或者多条通讲的温度便是一个任务.正在创修DAQ任务前,咱们最先得初初化设备.初初化设备要用到Mesurement&Automention Explorer(如图5.1所示为它的开用界里).依照下述步调初初化设备.1.挨开Mesurement&Automention Explorer.“摆设”栏-“设备与交心”上单打鼠标左键,采用“新修…”,会出现如图 5.2所示界里:由于不硬件,那里用仿真设备,那里咱们便采用“NI-DAQ仿真设备”,面“完成”后会出现如图5.3界里.“E系列DAQ”前里的“+”,展开栏目后如图5.4所示:那里咱们采用“NI PCI-6071E”,面打“决定”后出现下图所示界里.很简单创造,界里左边“摆设”-“NI-DAQ设备”下多了一个“NI PCI-6071E”,单打它,左边的界里中出现它的摆设参数,如图5.5所示.通过以上步调的树立,设备设备初初化完成.交下去咱们便不妨创修NI-DAQmx任务了.依照下列步调,不妨创修并摆设一个从 DAQ设备读与电压的任务.规划1:利用DAQ帮脚1. 挨开一个新修的空黑 VI.2. 正在步调框图中,挨开函数选板并采用 Express»输进,隐现输进选板.3. 采用输进选板上的“DAQ帮脚” Express VI,如左图所示.将该Express VI搁置到步调框图上. 挨开 DAQ帮脚,隐现新修 Express任务对于话框.4. 单打支集旗号»模拟输进,隐现模拟输进选项.5. 采用电压创修一个新的电压模拟输进任务. 对于话框将列出各个已拆置的DAQ设备的通讲. 列表中通讲的数量与决于DAQ设备的本质通讲数量.6. 正在支援物理通讲列表中,采用仪器与旗号连交的物理通讲 (如ai0)并单打完成按钮.“DAQ帮脚”将挨开一个新对于话框,如图5.6所示.对于话框隐现选中完成任务的通讲的摆设选项.7. 正在树立选项卡的旗号输进范畴部分,将最大值战最小值分别设为 10 战-10.8. 正在摆设选项卡的定时树立部分,从支集模式下推菜单中采用 N采样.9. 正在待读与采样文原框中输进 1000.尝试任务,考验通讲摆设是可精确.依照下列步调,确认数据支集的真奇迹态.1. 单打运止按钮.如左图所示. Express任务选项卡即时革新,以确认正正在支集数据.2. 单打决定按钮,保存目前摆设并关关 DAQ帮脚. LabVIEW将死成该VI.3. 将VI命名为 Read Voltage.vi,保存至符合的位子.3.3.1.3画造 DAQ设备支集的数据依照下列步调,把从通讲中支集到的数据画造到波形图并改变旗号的称呼.1. 左键单打电压交线端,并从快速菜单中采用创修 »图形隐现控件.2. 切换到前里板并运止 VI三到四次. 瞅察波形图.波形图顶部的图例中将出现电压.3. 正在步调框图上,左键单打“DAQ帮脚”Express VI,从快速菜单中采用属性,挨开DAQ帮脚.4. 左键单打通讲列表中的电压,从快速菜单中采用沉命名,挨开沉命名一个通讲或者多个通讲对于话框.5. 正在新称呼文原框中,输进第一个电压读数并单打决定按钮.6. 单打决定按钮,保存目前摆设并关关 DAQ帮脚.7. 挨开前里板并运止VI.波形图图例中将出现第一个电压读数.8. 保存VI.3.3.1.4编写 NI-DAQmx任务将另一条通讲增加到任务中,比较二个电压读数. 也可自定义一个连绝支集电压读数的任务.依照下列步调,正在任务中增加一条新通讲,连绝支集数据.1. 单打步调框图上的“DAQ帮脚” Express VI,挨开DAQ帮脚.2. 单打增加通讲按钮,如左图所示.从增加通讲菜单中采用电压通讲,挨开增加通讲至任务对于话框.3. 正在支援物理通讲列表中任选一个已使用的物理通讲,单打决定返回至DAQ 帮脚.4. 将该通讲沉命名为第二个电压读数.5. 正在定时树立部分,采用连绝采样.正在DAQ帮脚中树立定时战触收选项,那些选项将用于通讲列表中的所有通讲.6. 单打决定按钮保存目前摆设并关关DAQ帮脚.此时将出现确认自动创修循环对于话框.7. 单打决定按钮.LabVIEW正在步调框图上搁置一个While循环,将“DAQ帮脚”Express VI战图形隐现控件包抄正在内.While循环的停止按钮与“DAQ帮脚”Express VI的停止输进端贯串.Express VI的已停止输出端与While循环的条件交线端贯串.步调框图如图5.7所示.如爆收过失,或者正在VI运止时单打停止按钮,“DAQ帮脚”Express VI将停止读与数据并停止While循环,共时已停止输出端将返回一个TRUE值.规划2:利用DAQ任务通讲创修DAQmx任务1.挨开Mesurement&Automention Explorer.“摆设”下的“数据邻居”-“新修”,隐现如图5.8界里.“NI-DAQmx任务”,面打“下一步”,弹出如图5.9所示界里.“模拟输进”下的“电压”,而后面“下一步”,弹出如图5.10界里.“PCI-6071E”前的”+”展开栏目,如上图所示,采用“ai0”,面打“下一步”,弹出图5.11界里.6.输进称呼后面“完成”,会弹出图5.12界里.很简单创造,该界里共规划1完成时的界里普遍.至此任务也便完成了.它的尝试历程与规划1相共.分歧的的是正在步调中,该规划需要使用“NI-DAQmx”下的“通讲”去真止步调安排.。
标签:无标签
关于DAQ连续采集的缓冲处理
DAQ是虚拟仪器中最具代表性的技术之一,通过PCI、PCI-e、PXI或者P CMCIA、USB等,计算机就可以动态地采集到实际的外界物理信号。
对于使用LabVIEW来进行信号采集时,最难搞清楚的就是在连续采集(C ontinuous Mode)模式时对一些参数的设置问题,比如rate、samples per ch annel、number of samples per channel等,并且NI-DAQ内部对缓冲区的也有一些配置原则,所以希望在本文中能够给大家一个比较清楚的summary。
首先,rate是指采样的频率,单位是采样数每通道每秒,这是在Timing这个vi里可以设的,但是如果在Timing那里的Source里设定了采样引脚的话(比如PFI0之类的),rate值就没有什么意义,但是为了Timing这个vi顺利运行,还是需要设一个值的。
samples per channel在finite sample mode时候就是指要读入或写出的data的字节长度,但是在continuous mode时就是另外一个含义,即表示缓冲区大小(Buffer Size)。
但是NI-DAQmx在这里对于不同的rate会有一个参考的Buffer Size,如下表所示,如果这里sample per channel 所设的值小于参考值的话,那么系统会自动选择参考值作为Buffer的大小,这点非常需要注意,因为这个是implicit的,即在内部实现,如果实际你觉得Buff er Size是你设的那个的话就可能会造成很多问题。
Buffer Size
Sample Rate
no rate specified 10 kS
0–100 S/s 1 kS
100–10,000 S/s 10 kS
10,000–1,000,000 S/s 100 kS
>1,000,000 S/s 1 MS
当然,你确实可以一定要设你想要设的Buffer Size,这个可以通过一个叫DAQmx Configure Input Buffer.vi来实现,或者直接用DAQmx Buffer这个属性节点中的Input.Buffsize来设,如下图所示:
最后一个参数是number of samples per channel,这个是在DAQmx R ead.vi里设定,所代表的意思其实也很清楚,就是每次要读多少字节的数据,如果设为-1就是说Buffer里面有多少就读多少,如果是其他固定的数则每次就读固定字节的数据,如果当时Buffer里数据还没够的话,程序就会一直等,等到B
uffer里数据达到指定字节数,如果等到超时,那么就会显示Time out的报错信息。
一般而言,对于Continous Sample Mode,这个number of samples per channel的值一般设为Buffer Size的1/2到1/4最理想,这是官方的建议。
对于连续采样,主要可能会出现两个最常见的问题,Overwritten和Overfl ow。
Overwritten错误是指Buffer里的数据已满,因此在采集到新数据后,就会出现覆盖掉原来的老数据的情况,因此出现overwritten现象。
在DAQmx的Re ad Node里有一个Available Samples per channel,将它放在循环中后可以即时地读到buffer里的数据字节长度,从而实时地监控Buffer是否出现overwritt en的现象。
此外,如果设为1/2到1/4的话,一般不会出现Overwritten。
Overflow是表示DAQ卡上的Onboard Memory溢出,这个问题没Over written那么好解决,一般是建议改成DMA或者增加DMA来解决。