08-02-2022 09:48 AM
Hello all,
I want to create a start trigger to synchronize a photon counter with a scanning system, and to do this I am generating a digital "on" signal that should be received by my two Ni boards (Dev 1 - PCIe-6612 and Dev 2 - PCIe-6351). In my code, the start trigger for Dev 2 is being created correctly, but the start trigger for Dev 1 is creating a -200452 error ("Specified property is not supported by the device or is not applicable to the task."). The port that should be receiving the start trigger is not being used for anything else, and I am under the impression that the "CI count edges" task should be triggerable on the PCI-6612 board. Maybe I'm missing something in the setup. I've attached my code here in hopes that someone can point me in the right direction.
08-02-2022 11:12 AM
Search on this board for the term "Arm Start Trigger" for a lot more info.
Basically: NI's counter measurement tasks don't support the use of a regular Start Trigger, they only support the more obscure "Arm Start" trigger which needs to be configured through the use of the DAQmx Trigger property node.
Dunno why, it's just been that way as far back as I know. This old post of mine illustrates how you can set up an Arm Start trigger.
-Kevin P
08-02-2022 02:33 PM
Hi Kevin,
Thanks! That solved one of my problems, in that the code runs error free. However, the hardware is moving a lot slower than I think it should be. My external clock is running at the speed it should be, so something else is slowing it down. I suspect that it might be related to stopping and starting the tasks a lot, but I have this routine setup in another system, and it runs fine (that one uses a PCI-6602 and the precursor to the PCI-6351). Could there be something else I'm missing?
08-03-2022 06:16 AM
I can't look at your code unless you go to "File->Save for Previous Version..." - I'd recommend saving back to LV2018 or so.
Starting and stopping your task repeatedly will certainly limit your measurement speed, creating and clearing your task even more so. Usually, DAQmx Read should be the only DAQmx function you call repeatedly in your main loop when you are looking to capture a continuous stream of data.
I wouldn't expect a significant speed difference between the 6602 and the 6351 when running the same code -- perhaps the code is not as "identical" as you think?
-Kevin P