Archive

Archive for February, 2009

Build a Tri-State LED Indicator in LabVIEW

February 22nd, 2009

When using the default LED indicator in LabVIEW in my test projects, I found that the two statuses of it is not enough. For example, we can use a LED with red False status to indicate test failed and green True to indicate test passed, then what we can do with the LED before the test finish? The test result is still unknown, red and green are not proper. In this situation, we need a yellow Unknown status with the LED indicator.

The following is how I build a tri-state LED indicator:

First create a new VI, place a enum control and a LED indicator on the front panel as below:

VI's front panel

Then edit the enum’s properties as bellow:

Read more…

LabVIEW , , ,

NI Announcing the LabVIEW 2009 Platform Beta Program

February 16th, 2009

Just noticed that NI LabVIEW’s new version number will be 2009 for this year, and it will not use 8.7 or 9.0 anymore. This naming method likes Microsoft Windows’ naming method. Following is from NI’s official forum:

You are invited to register for participation in the LabVIEW 2009 Platform beta program.  

You can register by visiting http://www.ni.com/beta and selecting "LabVIEW 2009 Platform" from the list of beta programs.  Please complete the profile questions that will help us understand your experience and use cases with LabVIEW.  Make sure you agree to the T&C of the beta program so that you can be approved.

What software is planned to be available?  Note: not all software will be available during the first beta period.

  • LabVIEW (32-bit)                                               Windows / Mac / Linux
  • LabVIEW (64-bit)                                               Windows Only
  • LabVIEW RT Module                                         Windows Only
  • LabVIEW FPGA Module                                    Windows Only
  • LabVIEW DSC Module                                      Windows Only
  • LabVIEW Touch Panel Module                         Windows Only
  • LabVIEW Microprocessor SDK Module            Windows Only
  • LabVIEW Control Design & Simulation Module Windows / Mac / Linux
  • LabVIEW Statechart Module                             Windows Only
  • LabVIEW Mobile Module                                    Windows Only
  • Vision Development Module                              Windows Only
  • Application Builder for Windows                       Windows Only                    
  • VI Analyzer Toolkit                                             Windows Only
  • Report Generation Toolkit                                 Windows Only
  • Database Connectivity Toolkit                          Windows Only
  • Internet Toolkit                                                   Windows Only
  • RT Execution Trace Toolkit                              Windows Only
  • Desktop Execution Trace Toolkit                      Windows Only
  • Digital Filter Design Toolkit                               Windows Only
  • Advanced Signal Processing Toolkit                Windows Only
  • Motion Assistant                                                Windows Only
  • PID Tookit                                                          Windows Only
  • Simulation Interface Toolkit                               Windows Only
  • System Identification Toolkit                             Windows Only
  • Adaptive Filter Tookit                                         Windows Only
  • LabVIEW Signal Express                                  Windows Only
  • Unit Test Framework                                         Windows Only

There is always a major LabVIEW upgrade every year. It seems in this year LabVIEW will not only be a programming tool but also a platform that can accomplish more jobs at the same time. Hope it will make my daily programming work much easier!

LabVIEW ,

Some hidden features in LabWindows/CVI IDE

February 6th, 2009

First, to cycle between source code files in CVI IDE, just use Ctrl-Tab;

Second, if you forget what a function’s complete name, just write a few letters that you are sure of it, then press Ctrl-P. There will be a function name list dialog which includes the letters you typed, just choose the function you want from the list;

Third, right-click anything in source code and choose “Go to Definition”, or use Ctrl-I, you can see where the variables are declared;

Fourth, you can make the project and library trees to auto hide by select menu: Options > Environment > Auto hide Project and Library Trees;

Fifth, there is a “Programmers ToolBox” shipped with LabWindows/CVI which can be used to manipulate sting and filename, you can find it in <cvidir>\toolslib\toolbox\toolbox.fp.

With them, you can make your CVI-based development much easier!

LabWindows/CVI , , ,

A Strange Problem When Calling External DLL with LabVIEW

February 2nd, 2009

Currently I am using a third-part MIL-STD-1553 card in one of my projects. The vendor of this card provides only a DLL file as the driver for it which is build with Visual C++. To control this card in LabVIEW, I have to use the Import Shared Library wizard in LabVIEW to build all the VIs that corresponding to every functions in this DLL. After that, I used these VIs in my program to control this 1553 card. Everything is fine with the card initialization and reset function, but when it comes to send data function, a strange problem happens.

The problem is as follows, when I use the send data function as in the manual provided by the vendor, set special values to parameter A and parameter B, and run this function after that, there is no responses. But with the demo program provided by the vendor which is in Visual C++, call this function as in the manual, everything is fine. At last, I try to set the special values to the parameters that follow A and B, for example, if A is the first parameter, then assign the value that should be assigned to A to the second parameter. After this operation, everything is fine now. I don’t know what is the reason to this strange problem. It seems that the parameters of this VI which is converted by LabVIEW are not correctly corresponding to the function parameters in the DLL.

I don’t know what caused this problem to happen, maybe someday I can find it out.

LabVIEW , ,