I inherited a program that controls the hardware for a confocal microscope. 2 AO channels from the DAQ (PCIe-6321, (Dev1)) control galvo scanning mirrors, sweeping through a set of voltage values that correspond to set of pixels in the final image. At each of these pixels, the counter channel (PFI0) records the number of photons hitting a detector for the given dwell time.
It works well, BUT, problems occurred when I tried to change the program so that the AO channels are now coming from a second DAQ (USB-6001, (Dev2)). The counter channel is still with Dev1, but the AO's are assigned to Dev2. I'm not sure why, but it won't begin sweeping through the voltages, as if it's waiting for a initiation trigger that never comes. Is there additional connections that I need to make between the DAQ's in order for them to synchronize/ trigger?
If someone could look through the programs and troubleshoot a bit, that would be great.
Solved! Go to Solution.
Well, the reason it "seems like" it might be waiting for a trigger is because you've *programmed* it to wait for the AO Start Trigger internal signal.
That signal's available to your AI and CTR pixel clock tasks when all run on the same 6321 device, but *NOT* when the AO is moved over to a different USB device.
You would need to use a DAQmx Export Signal function to send that internal signal out to a PFI terminal on your USB device (check MAX for to identify which PFI's this signal can route to). Then you'd need to add physical wiring to bring that triggering signal over to a PFI terminal on your 6321. And change your AI and CTR pixel clock tasks to trigger off their local PFI pin. (Note: you might also need to physically connect the 2 devices' digital grounds.)