信号输入(数据采集)
信号输入部分可以借助DAQ助手来实现,也可以使用DAQ通道来实现。在NI-DAQmx中,任务是包括一条或多条通道以及定时、触发等属性的集合。从概念上来说,任务就是要进行的测量或生成。例如,测量 DAQ设备一条或多条通道的温度就是一个任务。
在创建DAQ任务前,我们首先得初始化设备。初始化设备要用到Mesurement&Automention Explorer(如图5.1所示为它的启动界面)。按照下述步骤初始化设备。
1.打开Mesurement&AutomentionExplorer。
2.在“配置”栏-“设备与接口”上单击鼠标右键,选择“新建…”,会出现如图5.2所示界面:
由于没有硬件,这里用仿真设备,这里我们就选择“NI-DAQ仿真设备”,点“完成”后会出现如图5.3界面。
3.点击“E系列DAQ”前面的“+”,展开栏目后如图5.4所示:
这里我们选择“NI PCI-6071E”,点击“确定”后出现下图所示界面。很容易发现,界面左边“配置”-“NI-DAQ设备”下多了一个“NIPCI-6071E”,单击它,右边的界面中出现它的配置参数,如图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设备的实际通道数量。
6. 在支持物理通道列表中,选择仪器与信号连接的物理通道 (如ai0)并单击完成按钮。“DAQ助手”将打开一个新对话框,如图5.6所示。对话框显示选中完成任务的通道的配置选项。
7. 在设置选项卡的信号输入范围部分,将最大值和最小值分别设为 10 和-10。
8. 在配置选项卡的定时设置部分,从采集模式下拉菜单中选择 N采样。
9. 在待读取采样文本框中输入1000。
3.3.1.2测试任务
测试任务,检验通道配置是否正确。按照下列步骤,确认数据采集的执行状态。
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助手”ExpressVI和图形显示控件包围在内。While循环的停止按钮与 “DAQ助手” Express VI的停止输入端相连。Express VI的已停止输出端与While循环的条件接线端相连。程序框图如图5.7所示。
如发生错误,或在 VI运行时单击停止按钮,“DAQ助手” ExpressVI将停止读取数据并停止While循环,同时已停止输出端将返回一个TRUE值。
方案2:利用DAQ任务通道创建DAQmx任务
1.打开Mesurement&AutomentionExplorer。
2.右击“配置”下的“数据邻居”-“新建”,显示如图5.8界面.
3.选择“NI-DAQmx任务”,点击“下一步”,弹出如图5.9所示界面。
4.选择“模拟输入”下的“电压”,然后点“下一步”,弹出如图5.10界面。
5.点击“PCI-6071E”前的”+”展开栏目,如上图所示,选择“ai0”,点击“下一步”,弹出图5.11界面.
6.输入名称后点“完成”,会弹出图5.12界面。
很容易发现,该界面同方案1完成时的界面一致。至此任务也就完成了。它的测试过程与方案1相同。不同的的是在程序中,该方案需要使用“NI-DAQmx”下的“通道”来实现程序设计。