Loading waveforms into the generator

Once you have composed a full data cluster ready to send, you use FLCWFG Download Wavefroms.vi to get them into the generator. Everything will be taken care of to get all information into the generator, including timing. An important part of the information is the assignment of the channels to which each waveform should be written. This is an array of integer elements of a size equal to the amount of waveforms. The integer itself is a translation of the bit pattern to a number. This means that you add powers of two to control the channels, e.g.
2 (binary 00000010) means channel 2,
3 (binary 00000011) means channel 1 and 2,
4 (binary 00000100) means only channel 3 etc.

A lot can happen when you handle data and related information, therefore one should be careful when making changes. A dedicated VI is included to perform a standard check of the waveform cluster. FLCWFG Check Waveforms.vi will also warn you when actions have been taken to correct errors or will prompt you for setting the channel data.

As with all VISA based communication you need to wire the descriptor and preferentially also the error cluster. The figure shows a call chain for initalizing, sending and closing.

Figure 4. Call chain for sending data

 

For running and stopping the waveforms one just calls the subvi's FLWFG Run.vi and FLCWG Stop.vi respectively.

Setting the clock is usually done during the download action when the VI decides from the time unit which clock should be set. You can change the clock using the VI FLCWFG Clock Setup.vi and adjust the software clock using FLCWFG Set Software Clock.vi should this be necessary.

As a default the run mode is set to continuous and internal triggering, using the clock VI one can change the triggering or run mode. The VIs FLCWFG Normal Burst.vi and FLCWFG Burst and Invert.vi set the appropriate burst mode.

Most of the other VIs work behind the scenes. If you would like to see which VIs are called during the execution of your program, open the FLCWFG Log Global.vi. Each VI sends a text to this log when it is executed along with error information if applicable.