MGI Freeware VIs

MGI has a library of free VIs that we reuse in the development of customer projects. The library is stored as an OpenG package, so you'll need the VI Package Manager to install it. Some of the MGI VIs depend on other OpenG Packages. The contents of the MGI Freeware Library are reviewed below.

String

String VIs add a few additional string manipulation routines to those built into LabVIEW.

Array Functions

Array Functions VIs all have array inputs but don't particularly fit in other subcategories.

Bezier

Bezier VIs perform calculations based on Bezier curves, which are similar to cubic splines but with a few key differences.

Plots

Plots VIs are used when you measure a number of channels, and you want to configure how they're displayed at runtime. They include the concept of time range filtering and of plotting either a number of channels vs. time or a number of channels vs. a reference channel.

Array Analysis

Array Analysis VIs perform operations on data arrays. Highlights include Calculate Peak Moments.vi, which measures a center of mass, and Statistical Histogram.vi, which uses normal statistics to autosize some histogram bins for a graph.

Matrix

Matrix VIs mainly perform some operations that aren't provided in early versions of LabVIEW. LabVIEW 8.2 still doesn't include cross-product!

Coordinates

Coordinates VIs perform 2D and 3D coordinate calculations, generally in cartesian coordinates.

Numeric Tools

Numeric VIs mostly perform simple calculations.

Conversion

Conversion VIs often just perform conversion of angles, but they can also force the results into a known angular range.

Comparison

Comparison VIs add a few more standard comparisons to those provided with LabVIEW.

Factoring

Factoring VIs perform a few numeric operations that probably aren't of general interest.

Error Handling

MGI code uses standard LabVIEW error clusters so that it integrates smoothly with built-in LabVIEW functions. You can read an article David wrote (so far unpublished) about error handling in general and the use of these VIs.

DateTime Tools

DateTime VIs deal with time zones, Y2K, and the millisecond timer.

File

File VIs relate to reading and writing of files but don't fit in any of the subcategories. Read more about the extremely useful Read/Write Anthing VIs here.

Config Files

Config Files VIs extend the capabilities of the config file routines built into LabVIEW by handling some array data types and performing a few other functions.

Datefile

Datefile VIs facilitate logging to disk when you want to automatically start logging to a new file each midnight.

Square Files

Square Files VIs are useful when you have a large two dimensional dataset stored on disk and you want to be able to read large two dimensional subsets out. Rather than storing the data purely by rows, the data is instead stored in square patches. This allows a two dimensional subset to be read out in many fewer calls to the operating system.

Text Files

TextFiles VIs make it easy to read a large text file line by line without using excessive memory resources.

XML Files

XML Files VIs assist with creating XML files using the DOM object support included with the Internet Toolkit.

Hardware

Hardware VIs end up in the hardware palette (pre-LV8).

FlexMotion

FlexMotion VIs provide a variety of extensions to the standard VIs in the driver.

Icon Tools

Icon Tools VIs were written to support the Icon Joiner tool, but may be of use on their own. They use a crude method to locate the icons within a VI file, so they may not always work correctly.

Picture

Picture VIs are useful when using the LabVIEW Picture Control.

Instrument IO

Instrument IO VIs assist in the proper formation of communication resource strings.

Application Control

Application VIs perform a variety of functions that generally relate to user interface programming. The Disable State Enum is handy for improving the readability of LabVIEW code.

3D Graph

3D Graph VIs are used with the LabVIEW 3D Graph control.

DataSocket

VI to verify the existence of a DataSocket server.

WinInet

WinInet VIs provide an alternate way of obtaining the contents of web pages when running under Windows. Compared to using raw TCP/IP, WinInet can handle a number of details automatically which would otherwise keep you from getting the page you'd expect.

Windows

Windows VIs use features of the Windows operating system to perform their functions.

Dialog & User Interface

Dialog & User Interface VIs provide a reusable dialog box.


MGI Tools

MGI Tools appear in the LabVIEW Tools menu and are used at development time, not runtime.