Hey there,
 
I am trying to count the rising edge of a signal which comes from a signal generator in a python script. I connected the output of the signal generator to the PFI0 input of my PCIe-6343. As you can see in the picture below, I can count the ages from NI test panel.

But in the python script below from the Nidaqmx-python pakage only return 0. I think the problem is that I cannot specify the source (PFI0) for my measurement. What I want at the end is, counting 100,000 edeges for the 1Khz input signal from generator in every second.
 
import nidaqmx
import pprint
pp = pprint.PrettyPrinter(indent=4)
with nidaqmx.Task() as task:
    task.ci_channels.add_ci_count_edges_chan("Dev1/ctr0")
    print('1 Channel 1 Sample Read: ')
    data = task.read()
    pp.pprint(data)
    print('1 Channel N Samples Read: ')
    data = task.read(number_of_samples_per_channel=8)
    pp.pprint(data)
 I also try another code with the help of forums, however the results is not make sence. The counting in only 1000 for 100Khz signal in one second. The code is:
 
with nidaqmx.Task() as task:
    task.ci_channels.add_ci_count_edges_chan("Dev1/ctr0")
    # if you need to prescale
    # task.ci_channels[0].ci_prescaler = 8
    # reference the terminal y
    task.ci_channels[0].ci_count_edges_term = "PFI0"
    task.read()
    task.stop()
 
 
Thanks for any helps.
 
Mehrpad