0

我对我的代码有点困惑。我想读取计数器输入(边缘计数器)的位置。我可以获得设备和频道,但我想更改边缘源或终端。如果我添加通道,边缘源会自动为“PFI0”,它计算我需要的一些不同的东西。如图所示,我想将其更改为“PFI1”。我尝试了以下方法,但没有奏效。有人可以帮帮我吗!

import nidaqmx
def read_position():
    task = nidaqmx.Task()
    task.ci_channels.add_ci_count_edges_chan("Dev1/ctr0")
    task.ci_channels[0].ci_count_edges_term = "PFI1"
    task.start()
    pos = task.read()
    task.stop()
    task.close()
    return pos

最好的问候,西拉德

4

1 回答 1

1

您需要指定设备和通道:而不是task.ci_channels[0].ci_count_edges_term = "PFI1"您应该写task.ci_channels[0].ci_count_edges_term = "/Dev1/PFI1"

检查语法是否正确的一种简单方法是打印默认通道:print(task.ci_channels[0].ci_count_edges_term)

请注意/字符串开头的必要性。

于 2021-11-03T18:35:34.793 回答