MGI Freeware VIs

MGI has a library of free VIs (version 3.8-20) 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

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

2D

These VIs perform various operations, such as smoothing, on 2D arrays.

Array Equation

Vector and Matrix

Vector And 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.

Polygon

Polygon VIs calculate things about polygons such as dimensions or area.

Numeric Tools

Numeric VIs mostly perform simple calculations.

Conversions

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.

Cluster

Cluster VIs perform operations on Clusters like replacing an element in a cluster or getting the index of an element.

Boolean

Error

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.

Error Examples

Provides example VIs of how errors can be handled.

Time

Time 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.

SZL

Config File

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.

Date File

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

Square File

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.

FilterFile

Performs operations on Filter Files such as creating, opening, and destroying. A filter file is a file format that stores plots as binary data. It currently supports XY data or array of doubles.

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.

Graph

Performs miscellaneous operations on charts and plots.

Tree

Algorithms

Contains merge VIs to perform algorithms.

Intensity Graph

These VIs scale graphs.

Front Panel

These VIs change the Front panel by making it a different color or size, disabling controls, etc...

Picture

Picture VIs are useful when using the LabVIEW Picture Control.

Icon

Icon 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.

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.

3D Graph

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

Dialog & User Interface

Dialog & User Interface VIs provide a reusable dialog box.

Data

Most of these VIs get information about the datatype stored in variant.

Windows

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

Communication

Performs operations on a Publisher/Subscriber model, wich assumes that 1 Publisher sends data to multiple Subscribers using TCP/IP.

Flex Motion

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