一、应用场景
我们都知道怎么用Labview调用NI的板卡实现采集或者输出的任务。但是在有些项目中没法用Labview,需要用Python 实现 NI 板卡采集或者输出。其实也很简单,直接安装nidaqmx库就能实现了。
二、环境准备
(一)驱动安装
1.安装 NI-DAQmx 官方驱动
2.在 NI MAX 中确认设备正常识别 ,没有真实硬件可以在NIMax里创建虚拟设备
设备和接口那里右键-新建-选择仿真NIDAQmx设备-点击完成后在弹窗里选择对应的设备(二)依赖库安装
nidaqmx:NI 官方 Python 控制库
三、完整代码
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实战干货,每周更新,欢迎关注!