当前位置:   article > 正文

使用 Python 的 DAQ I/O 模块(一)_with nidaqmx.task() as task:

with nidaqmx.task() as task:

如何结合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设备的模拟信号口读取数据并输出:

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

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

  1. # write to ni usb 6008
  2. with nidaqmx.Task() as task:
  3. task.ao_channels.add_ao_voltage_chan("Dev1/ao0", min_val= 0.0, max_val= 5.0)
  4. task.write([2])
  5. task.stop
  6. task.close()

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

4)NI 测试面板

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/979191
推荐阅读
相关标签
  

闽ICP备14008679号