Instead of using the Snap function, it would probably be better to use a Grab or Ring acquisition. We have a good example on the website that shows how to trigger each line from an external source (often an encoder).
http://zone.ni.com/devzone/explprog.nsf/6c163603265406328625682a006ed37d/f2799dc12a94be2586256a79006985ce?OpenDocument
The key here is the two IMAQ Trigger Config VIs. One of the VIs configures the acquisition to start each frame based on a trigger and the second configures the line acquisition rate. This example uses the encoder feedback from a motion system to trigger each line, however you could easily remove the motion code and supply a trigger from the source of your choice. You can disable VHA to get fixed height images. Also, you can re
move the "trigger each buffer" VI, so that you get continuous, fixed size frames that are controlled only by the line rate.
Also, take a look at the LL VHA Ring example that ships with NI-IMAQ. Add an IMAQ Configure Trigger with the parameter "trigger each line" to specify the source of the line rate control.
Regards,
Brent R.
Applications Engineer
National Instruments