03-10-2024 01:18 PM
I am currently working on implementing the GPScan.vi program to build a laser scan microscope. I have attached the article to this post, with the important parts highlighted, alongside relevant manuals, images, etc. In the article, the authors use a NI USB 6353 DAQ card to control Scan mirrors via AO and direct a laser over a sample at high speeds, measuring the fluorescence signal via a detector (eg, a Photomultiplier tube, PMT) with an AI terminal.
I would like to replicate that with a PCI6251 DAQ connected to a BNC 2120 connector block, but am having some trouble when it comes to the Analog input and output timings. The article states " The AO (2 channels) and AI (user defined number of channels) tasks are configured to deliver and measure, respectively, voltages series at the appropriate pixel rate. (...) In order to ensure a perfect synchronization, AI (...) tasks are configured to start at the rising digital edge signal of the AO start trigger terminal". As seen in the init.vi (one of the vi's that make up the main GPScan.vi), the AO start trigger seems to act as the source of the rising digital edge of the AI:
My interpretation is that the AO start trigger output signal should be routed into the AI start trigger signal input, so that the acquisition of the AI begins once the a new AO signal is sent, which is another way of saying the PMT will read a new intensity value when the mirrors shift to a new position.
Does this mean that, in order to wire my system accordingly, I should, on the BNC2120, connect the AO_Start_Trigger (PFI6 Screw terminal) to the AI_Start_Trigger_Signal (PFI0 BNC terminal)? It seems to make some sense, but it would require some welding in order to connect a screw terminal to a BNC one:
However, the BNC 2120 Installation Guide says "Connect the timing I/O signals of your DAQ device to the PFI 0/P1.0 (AI START TRIG) BNC or the timing I/O screw terminals on the BNC-2120", giving the impression I should use an external signal, such as one from a function generator, but then I do not see how I would connect it to both PFI0 and 6.
Finally, for context's sake, the Front Panel of the application has a control window where we can select the "ao/StartTrigger terminal of your device":
In this case, I should select the PFI6 port, or the one it connects to in the 6251 DAQ card, correct?
If anyone more experienced could give me some insights on how to resolve this issue and tell if any of my interpretations is correct, I'd highly appreciate it.
Thank you.
PS: see below the descriptions of the terminals on the BNC2120.
Solved! Go to Solution.
03-10-2024 06:44 PM
Since all tasks are within the same device, the trigger signal routing is done internally. There is no external wiring required.
03-10-2024 07:59 PM
So, in this case, I just select the PFI6 as my AO start trigger on the control panel and that's it?
03-10-2024 09:51 PM
The BNC datasheet simply states that you can export your AO start trigger via PFI6.
If you keep the AO start trigger on the control, as set by the program, all tasks will be synchronized to the AO task and the trigger routing will be done internally. Again, you don't have to connect and select any PFI port.
03-11-2024 06:43 AM - edited 03-11-2024 06:48 AM
Just to spell it out completely, if your PCI-6251 device is configured as "Dev1" in MAX, then the GUI control you highlighted is already correct as-is. Let it continue to say "/Dev1/ao/StartTrigger". (And if your device was named "DAQ", you would use the drop-down menu to find "/DAQ/ao/StartTrigger". This is what is meant by the text comment to select "the ao/StartTrigger" terminal of your device"
-Kevin P
P.S. Note: not shown in the code screenshot, but it will *also* be important to to call DAQmx Start for the AI task *before* calling it for AO. This makes sure the AI task will be armed and ready for the internal AO start trigger signal when it asserts. Of the actual code, I only looked at "Scan.vi" which appears to do this part correctly.