Good info Bob. Did you configure the triggers somewhere other than in that code?
Also... when you wire clock sources across physical devices, make DARN sure you get a good digital ground run between the cards in addition to a shield line grounded at one of the ends. Ask me how I know this 😉
Sorry, I should have said that I built this little Test in its own Project, and took advantage of the Project allowing me to create a DAQmx Task or three (Synch-6002, Trigger, and Synch-6009). The two Synch Tasks were mostly explained in my Reply, except I forgot to say that the Triggering was set on the rising edge of PFI0. The Trigger Task, which only ran on the USB-6002, was just a simple Digital Output, 1 line Boolean.
Your comments about grounds and shielding, particularly for sharp-edged high-frequency Digital (or even Analog) data, are well-taken. Good call to mention shield grounding at one of the ends ...
Sorry I'm late to the conversation, so I don't know if this was mentioned, but I don't think the USB-6002 allows for an external timebase to be used. The best you can do is an external analog trigger to start the acquisition, as Bob showed, but then the internal timebase takes over.
You realize, I expect, that this is a "throw-away" that I wrote as a test three years ago. I'm not even sure I can identify (or have access to) the computer on which this was written.
Plus the entire VI is laid out for you -- you can see "all the moving parts", code it up for yourself, then test it and make it do what you need.
Do you know about "LabVIEW Snippets"? The image on my Reply can magically turn into LabVIEW code when copied and pasted onto a blank LabVIEW Block Diagram. I can see (by the note in the upper right-hand corner) that I wrote this in LabVIEW 2016, so as long as your version of LabVIEW is 2016 or more recent, you can even avoid doing a little copying/wiring/thinking about this routine.