You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NIDAQmx计数器输入边缘计数源从PFI0改PFI1代码失效问题咨询

问题根因

你设置计数终端的方式不符合NI-DAQmx Python API的设计规范,两个核心原因导致配置不生效:

  • ci_count_edges_term不是官方推荐的修改计数输入源的公开可写属性,部分NI采集卡不支持通过该属性修改配置
  • 即使修改属性,也需要传入完整的终端路径(格式为/设备名/终端名),仅写PFI1会导致API无法匹配到对应设备的终端

解决方案

推荐直接在创建边缘计数通道时通过edge_source参数指定输入源,该方式兼容性最高,所有支持边缘计数的NI采集卡都可以生效。

修改后的代码如下:

import nidaqmx
def read_position():
    task = nidaqmx.Task()
    task.ci_channels.add_ci_count_edges_chan(
        counter="Dev1/ctr0",
        edge_source="/Dev1/PFI1"  # 传入完整终端路径
    )
    task.start()
    pos = task.read()
    task.stop()
    task.close()
    return pos

额外注意事项

  • 如果你有动态切换计数源的需求,必须先停止当前运行的任务,修改配置后再重新启动任务,运行状态的任务不支持修改计数源配置
  • 所有终端配置都建议写完整路径,避免多设备场景下出现配置匹配错误的问题

内容的提问来源于stack exchange,提问作者Szilard Szocs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:09:04