Hello Robert,
Take a look at the attached example program. It shows how to create two pulse trains using the two counters on your device, and internally route those pulse trains to be used as the sample clock for analog output and analog input tasks. There is a fast pulse train created by counter 0, in a Counter Output > Time task. That fast pulse train is used as the source of ticks for a second pulse train generation task, that is a Counter Output > Ticks task using counter 1. The output terminals for these two pulse trains are explicitely programmed into the VI using the DAQmx Channel property node, and these same terminals are used as the source for analog input and analog output sample clocks. The initial fast pulse train is set to be externally digitally triggered, so that all tasks can get configured, and wait on that one trigger to start.
An important thing to note here is that if you are performing multiple tasks on the same device, they will automatically be using the same timebase for their sample clocks, so having one start triggered off another, and having them set to the same sample clock rate will be enough to fully synchronize them.
I hope this helps and let me know if you have any questions. I wrote and tested this on my M Series PCI-6251, but hopefully it should work on your E Series device as well.
Regards,
Travis G.
Applications Engineering