使用 Python 的 DAQ I/O 模块(一)

如何结合Python 和 NI 硬件?

NI 是一家从事与测试、控制、设计领域相关的公司,包括虚拟仪器和电子测试设备等工程软件的开发,生产和销售软件或者硬件,其中最著名的产品是 LabVIEW 软件,LabVIEW 是一种流行的图形编程语言。 通常用LabVIEW 来使用NI DAQ 硬件,但 NI DAQmx 也可通过 C、C#,Python 等语言进行控制。

下面将介绍如何使用 Python 和 NI DAQmx 来控制 NI DAQ 设备。

1)安装 NI-DAQmx 驱动

首先在NI官网上下载NI-DAQmx的驱动,它是免费的。链接:NI-DAQ™mx-Download - NI

2)安装python

比如免费下载Pycharm社区版,然后新建一个pyproject,后面就可安装python。或者在python 社区下载相应版本安装即可。 Download Python | Python.org

3) python代码

下面代码是举例如何用python控制NI USB6008设备

首先可以打开命令提示符cmd, 安装nidaqmx

 python -m pip install nidaqmx

如果是在pycharm里面的话可以直接import nidaqmx,在里面安装nidaqmx即可:

import nidaqmx

接下来是从NI USB6008设备的模拟信号口读取数据并输出:

# read from ni usb 6008
with nidaqmx.Task() as task:
    task.ai_channels.add_ai_voltage_chan("Dev1/ai0")
    t = task.read(number_of_samples_per_channel=2)
    print(t)
    task.stop
    task.close()

从NI USB6008设备的模拟信号口写入值如下:

# write to ni usb 6008

with nidaqmx.Task() as task:
    task.ao_channels.add_ao_voltage_chan("Dev1/ao0", min_val= 0.0, max_val= 5.0)
    task.write([2])
    task.stop
    task.close()

上面需要妥当地设置好信道口的最大和最小值,这里最小值0V,最大值5V.写入值为2V.

4)NI 测试面板

除了自己编写python 来控制NI USB6008外还可以使用NI的测试面板,首先安装NI max, 在这里面可以找到NI USB6008设备,其设备名Dev1也对应上面python代码里的名字。

使用 Python 的 DAQ I/O 模块(一)_第1张图片

这个测试界面在Analog input 模拟输入选项也可以显示出绘出采集数据变化曲线,非常好用。本文只粗略介绍下运用python来控制NI硬件,以后再更再添加具体内容。

你可能感兴趣的:(DAQ,with,Python,python,自动化)