当前位置:首页>python>Python 控制 NI DAQ 设备实战:模拟量输出(AO)篇

Python 控制 NI DAQ 设备实战:模拟量输出(AO)篇

  • 2026-09-28 21:30:59
Python 控制 NI DAQ 设备实战:模拟量输出(AO)篇

一、应用场景

我们都知道怎么用Labview调用NI的板卡实现采集或者输出的任务。但是在有些项目中没法用Labview,需要用Python 实现 NI 板卡采集或者输出。其实也很简单,直接安装nidaqmx库就能实现了。

二、环境准备

(一)驱动安装

1.安装 NI-DAQmx 官方驱动

2.在 NI MAX 中确认设备正常识别 ,没有真实硬件可以在NIMax里创建虚拟设备

设备和接口那里右键-新建-选择仿真NIDAQmx设备-点击完成后在弹窗里选择对应的设备

(二)依赖库安装

nidaqmx:NI 官方 Python 控制库

pip install nidaqmx

三、完整代码

import nidaqmximport timefrom nidaqmx.constants import VoltageUnitsimport keyboardtask_AO = nidaqmx.Task()AOchannels=[f"Dev1/ao{i}"for i in range(16)]name=",".join(AOchannels)task_AO.ao_channels.add_ao_voltage_chan(name, min_val=-10.0, max_val=10.0, units=VoltageUnits.VOLTS)task_AO.start()AOdata=[0.0]*16for i in range(len(AOdata)):    AOdata[i]= i%10while True:    task_AO.write(AOdata)    time.sleep(1)    print("输出:", AOdata)    if keyboard.is_pressed('esc'):        breaktask_AO.stop()task_AO.close()

四、代码解析

(一)任务与通道配置

1、创建 AO 任务对象

2、批量定义 16 路 AO 通道

3、配置电压范围与输出单位

(二)数据初始化

1、创建 16 路 AO 数据列表

2、生成 0-9 循环测试电压值

(三)循环输出

1、持续写入 AO 输出数据

2、每秒刷新并打印输出值

(四)资源释放

1、停止输出任务

2、关闭任务并释放硬件资源

五、使用方法

(一)参数修改

1、修改设备名称与实际硬件一致

2、可调整通道数量与输出电压范围

(二)运行与停止

1.直接运行代码即可输出

2.按 ESC 键安全停止程序

六、注意事项

1.必须先安装 NI-DAQmx 驱动

2.设备名称与通道必须配置正确

3.输出电压不可超出硬件范围

4.禁止强制结束进程,避免任务残留

5.多任务使用时避免通道冲突

以上流程实现了 Python 对 NI DAQ 设备模拟量输出的稳定控制。无需依赖 LabVIEW,仅需安装官方驱动与 nidaqmx 库,即可完成多通道 AO 设备的控制了。
✨ 感谢点赞收藏评论的每个小伙伴,持续分享Python/C#/Labview / 测试 / 自动化/机械手/视觉定位/PLC实战干货,每周更新,欢迎关注!

最新文章

随机文章