Hi Tom,
Just so you know, you will only be able to actually aquire the data at a TOTAL rate of 200KS/s. This means that if you have 2 inputs you will be sampling at 100KS/s per input and with three: 66KS/s etc etc.
This all said and done, you need to consider the idea of actually just setting up a finite aquisition (~100KHz) as you have done and try to avoid the trigger coming in before the finite aquisition has finished.
This way there shouldn't be any real problems with the cyclic buffer and you will not need to worry about overwriting data.
PFIO will work fine with this method (again in the way you have written) and a timestamp will only be needed for the start of aquisition after each trigger.
I would also suggest that you have a look in the following folder on your harddrive:
C:\Program Files\National Instruments\NI-DAQ\Examples\Visual Basic 6.0C:\Program Files\National Instruments\NI-DAQ\Examples\
In here there should be some good examples on ways in which you can gain the functionality you require.
They are all named with reference to their function and so you should be able to find a good starting point.
You are looking for Triggered, AI, finite samples. ((DAQsingleBufAnalogTrig.MAK, SCANsingleBufAsync.MAK or DAQsingleBufExtTrig.MAK))
I hope this helps
AdamB
Applications Engineering Team Leader | National Instruments | UK & Ireland