Info-LabVIEW status

LabVIEW icon LabVIEW

Eventually this page will have an introduction to LabVIEW for those who are not familiar with the language. For now, however, is has only links to some LabVIEW code that I have written. All this code comes with a permanent, non-exclusive, royalty-free license for personal and company-internal use. Except for VIs explicitly covered by the GNU Lesser General Public License, an additional license must be obtained before using this code in a product for sale.

Additional VIs (including some formerly from this page) are available as shareware, with a small recommended fee.

Since Stuffit now handles .zip files, the .sit files have been removed from the site.


Digital Waveform Comparison icon Displaying Compared Digital Waveforms

This VI is an example of a way to implement a display comparing two digital waveforms similar to that in SignalExpress. It is written in LabVIEW 8.6 but can be converted to run in almost any earlier version.

Coercion dot picture Unnecessary Coercion Dots

(July 8, 2004) My mistake:
Stephen Mercer explained the situation on Info-LabVIEW (July 1). It's an upgrade of two features, not a bug in a third.
Tunnels and shift registers now understand type defs. If you pop up on the state tunnel in a state machine, for instance, to make a constant, that constant will be a type def if you originally defined the state enum as a type def. (Prior to LV 6.1, you'd get an enum with the proper states, but it wouldn't track any future changes in the state enum.) This will eliminate a lot of grief that state machines used to give me.
Complementary to this new ability, coercion dots were enhanced to indicate type def to non-type def connections. With the two changes, the wiring at tunnels and shift registers doesn't appear any different, but it really has changed significantly under the surface.
Property nodes do not yet preserve "type def"ness. Hence the new dots.

In working with LV7, I've occasionally gotten coercion dots where I didn't expect them while trying to set type def cluster values through a reference. In a complex application it is easy to overlook something I did wrong, so I've built a simple example where (I think) there is no place for an error to hide.

The example below was made by taking a simple numeric and a simple (non-latching) boolean from the palette, saving them as type defs, popping up on the terminals to create property nodes and references, and wiring them as shown. I can see no reason for the coercion dots. Disconnecting from the type defs makes them go away. The dots appear in LV7.0 and 7.1, but not in earlier versions.

I'm on a Mac running OS X. Does this same problem exist under Windows? Anyone know why it happens? If you'd like to try it on your machine, you can download the .llb (LV7.0) I used. I'd appreciate any information you have.

Resize Icon Edit Panel Elements

Bug fix:
February 26, 2004 - Really checks most recent panel with focus first.

Need to:

Learn about this temporary stand-in for a candidate OpenG package.

A GUI Prototype

A client needed a GUI front end for his simulator of Erbium Doped Fiber Amplifier designs. Learn how SULLutions developed a LabVIEW 4.0 prototype that supported closed loops in only 23 billed hours.

Color Palette icon Color Palette

November 16, 2009 - LabVIEW 8.5 version.

July 21, 2004 - More accurate color values. Cleaner diagram.

LabVIEW 6.0 introduced several new color palettes. While they are nice, many denizens of Info-LabVIEW (myself included) miss the old palette. If you're among those who miss it, here is a reasonable facsimile. I can't figure out how to use it while editing icons. If you do, please let me know. Each file contains the same VI; just choose whether you want it compressed or not in LV 6.02 or in LV8.5.

Power LabVIEW Users Group Icon GUI as SubVI

While the following VIs have been written for different projects over the course of the years, they were assembled and updated for a presentation entitled GUI as SubVI for the September 9, 1999, Power LabVIEW Users Group meeting in Woburn, MA. If you were not at the meeting and want to download a full set of the VIs choose:

(Except for, the VIs are platform independent. determines which of three operating systems has called it and behaves almost appropriately. I have recently been informed that the user currently logged in needs to be included in the NT style platforms.)

Individual VIs are also available in compressed and raw .vi form, as shown in the table below. If you were at the meeting and want to add the files omitted from the "Goodies" disk, download the first three or four files: Adjust Phase, Capture Board Data, Classify Pits, and, optionally, Run Control Panel. If you are just looking for some nice utilities, you may be interested in the following:

For examples of how the above subVIs are used, download the whole package.

If you're looking for a specific VI, choose the appropriate link below.

Downloadable Files and Sizes
  .zip .vi  



Adjust Phase 17k 58k
Capture Board Data 19k 65k
Classify Pits 26k 91k
Run Control Panel 15k 47k
  Scalable Delay 18k 64k
VI/subVI Chained Find First Error 35k 117k Consider
Call Chain with Arrows 24k 86k
  Post It 36k 125k  
Desktop 22k 75k
Get Spreadsheet Contents 12k 37k
File Must Exist 14k 42k
Find Data Block 12k 37k
Was Never Executed 5k 14k
Toggle 6k 16k
Running Global 7k 21k
Enhanced (LV7)
If you download the LabVIEW VI or control files themselves, you will have to edit their titles to replace each %20 with a space. If they don't automatically associate with LabVIEW, add the MIME types application/x-labview-vi and application/x-labview-ctl (and probably application/x-labview-llb) to your browser's helper files list.