1. FLCWFG Add At Index.vi

This vi will increment all data points at the index selection positions with the add step value. To select timing wire 0 to the “timing/waveform” control, another value represents the subsequent rows of waveforms in the data array. When the option “symmetric adding?” is true, the vi will add the step when the data is positive and subtract it when it is negative. This allows for setting the “amplitude” of the selected pulses as in a frequency generator, no additional offset will be created.

2. FLCWFG Assign Channels.vi

This vi opens a pop-up panel in which you must assign each available channel a waveform or action. The vi probes automatically which channels are available on the generator connected to the VISA reference.

The input array of strings “Waveform name(s)” is in principle unlimited. This means that you can not only pass the physical waveforms themselves, but also actions related to that string. The output “channel data” contains as much elements as the “waveform name(s)” input. If elements are added for actions, e.g. as is or set zero, this must be detected afterwards and these elements should be removed from the “channel data” before they are replaced in the waveform cluster.

The input “Channels” can be used to preload a choice of the channels. If the given channel array is non-unique (e.g. a channel is assigned twice or more) the last in order will be pre-loaded.

3. FLCWFG Build Graph Data.vi

This vi prepares the data in such a way that it can be displayed in an xy-graph. An extra (0,0) element is added to each waveform in order to be able to show the data in the graph in a correct manner. The interpolation style of the plot should be set to “squaring” with the transition on the first point (or just choose “create indicator” when you wire the output of this vi).

4. FLCWFG Build Picture Data.vi

Starting from the array “Data”, this vi will create the necessary output to create a plot of the waveforms such that it can be build up with line segments in a picture.

5. FLCWFG Clock Pop Up.vi

This vi is a pop up window that may be called to set the time unit. The “FLCWFG Waveform Check.vi” calls this window if the data contains an incorrect time unit.

6. FLCWFG Download Waveforms.vi

This vi uses the vis contained in the Core Library LCWFG500.llb to send the data to the waveform generator. The cluster full data contains all necessary information about waveforms and timing. What actually is sent to the generator can be controlled with the boolean array “Send?”. It should contain the number off wavefroms+1 elements. The first element of that array controls the timing. If an element is true the corresponding waveform (or timing) will be sent. If it is left unwired the timing and the first eight waveforms will be sent.

This vi actually translates functionality already available in the Core Library but is added here to ensure compatibility with previous posted beta-versions and examples therein.

7. FLCWFG File Data Translator.vi

This vi translates data obtained from a file to a convenient LabView cluster. This version (October 2000) does not yet contain the coupling data, it will be added as a separate cluster in a later version.

If the file indicates that the software clock must be used, the data in “reserved 1″ contains the time unit in microseconds [1000..35000]. If this is 0, a pop up window will appear prompting you to enter the value of the time unit.

8. FLCWFG File Export.vi

This vi exports a full data cluster to a wfg-file which can be read by the other programs. Data which is not relevant in LabView has been set to a default value. If you replace an existing file then all coupling data will be lost as the current version does not yet support couplings.

9. FLCWFG File Filter.vi

This vi opens and translates a file created with the FLC Electronics program for the WFG waveform generator. The output is a cluster containing all necessary data for reconstruction. Translation of the coupling data will be added in later versions.

10. FLCWFG Find Index by Time.vi

This vi finds the index (column in the array “Data”) of the pulse which is active at a given time.

11. FLCWFG Frequency generator.vi

This is an application program that simulates a frequency/phase generator.

12. FLCWFG Make Picture.vi

This vi constructs a picture of the supplied “Data” which may be viewed in a picture indicator. It also supplies “origin” and “scale” data which can be used for on-picture editing.

13. FLCWFG Mold Data.vi

This vi takes correct unitized and partitioned data and reshapes it into a full data cluster which can be used directly for sending to the generator. (use “FLCWFG Partion Raw Data.vi” to convert raw data into a suitable format for the WFG 500)

14. FLCWFG Mouse Position to VT.vi

This vi calculates from a set of inputs (such as the mouse pointer position in a picture, the origin of the axes system and the scale of the drawn waveform in a picture) what the time and the voltage level of the indicated point are inside the waveform.

15. FLCWFG Partition Raw Data.vi

This vi “partitions” raw data into a useful form for the FLCWFG 500. It creates slots with unitized timing values based on the “time unit” (in microseconds) input. This means that the data contains true time values in microseconds. The vi evaluates if extra slots need to be inserted to obtain the true time if the waveform is to be downloaded into the generator. If a slot would contain 1 unit it is automatically set to two units as this is the minimum requirement. If it would contain no unit (or set to zero time) it is simply erased from the data. The timing data is contained in the first row of the data array. All other rows represent individual waveforms by their voltage data.

16. FLCWFG Pop Up Time Unit.vi

This is a pop up window which queries the user to input a time unit for the software clock. It is called by “FLCWFG File Data Translator.vi”.

You should normally have no need to use this VI directly, as it is called by higher level VIs.

17. FLCWFG Scale At Index.vi

This vi will scale all data points at the index selection positions with the scale factor. To select timing wire 0 to the “timing/waveform” control, another value represent the subsequent rows of waveforms in the data array.

18. FLCWFG Scale Data.vi

This vi will scale data. It will scale time regardless of the clock setting and it can therefore deliver time data which is not executable with the current clock setting. Use “FLCWFG Partition Raw data.vi” to alleviate this problem using another clock setting. Also the voltage data may exceed 100 V which can not physically be produced by the WFG 500, values higher then 100 V amplitude will be sent as 100 V amplitude.

19. FLCWFG Scale Waveforms Pop Up.vi

This vi is used as a pop up window. The user can choose the scale settings at will starting from the current (TRUE!) maximum amplitudes of the waveforms and by the total time of the waveforms.

20. FLCWFG Set At Index.vi

This vi will set the trigger or c-bit in a trigger/c-bit data array at the selected indices of either timing or a waveform. If the option “add?” is true existing triggers will remain in the array, otherwise triggers will only be set at the index positions.

21. FLCWFG Unmold Data.vi

This vi takes data from a full data cluster (as obtained from the file translator) and transforms it into easy to use arrays in LabView. The data is contained in a two dimensional array with the first row the timing data in microseconds and all other rows representing the amplitude data of a waveform in volts. The same data layout is used in the array containing trigger/c-bit data.

22. FLCWFG Waveform Check.vi

This vi will perform a set of test to ensure that the waveforms make sense. Appropriate actions will be taken to correct errors.

IT IS RECOMENDED THAT YOU USE THIS VI EACH TIME BEFORE DOWNLOADING THE WAVEFORMS.

23. FLCWFG Waveform Editor.vi

This is an application example that enables you to make selections on a graph, scale and step values dynamically and set trigger or c-bit information.

24. FLCWFG Waveform Player.vi

This is an application example with which you can open a file, scale it and send it to the generator.