In general, if you want to output an arbitrary high/low pulse train, analog output is your best choice. But, with the pulse train that you have described here, the low time is constant and the high time is growing at an even increment. There is a feature on counters called "autoincrement" which can be used to automatically increment one of the count values. It is intended for use with
Equivalent Time Sampling, but could possibly be used to solve your application. In the example I have attached, the timebase counter is generating a 1 kHz timebase for the second counter, which divides that value down to generate millisecond pulses. The autoincrement value is set to 1 so that on each pulse, the high pulse is one tick larger (1 ms). There are definitely some limitations to this example, first, it requires the idle state on the generated pulse to be high. Also, it requires using both counters. If it is necessary to stop after 3 pulses, you could find a different source for the timebase (like the AI or AO timing engine) and then use one counter to pause the continuous pulse train at the correct time.
All that said, I still believe that if you want to output an arbitrary high/low pair pulse train, you should look into using analog output.
I hope this helps!
gus....