Language - LabVIEW
LabVIEW, developed by National Instruments is dataflow programming language for data processing.
Introduction
If this is your first time working with a Phidget, we suggest starting with the Getting Started page for your specific device. This can be found in the user guide for your device. That page will walk you through installing drivers and libraries for your operating system, and will then bring you back here to use LabVIEW specifically. LabVIEW is capable of using the complete Phidget22 API, including events. We also provide example code in LabVIEW for all Phidget devices.
LabVIEW can be developed with Windows. A minimum version of LabVIEW 2009 is required. OS X and Linux are unsupported as the Labview/Phidgets combination has not been tested on those systems.
You can compare LabVIEW with our other supported languages.
Note that with LabVIEW you can install a 32-bit version on a 64-bit computer without any issues, but the 64-bit version cannot obviously be installed on a 32-bit computer. The reason this is relevant is that the respective versions cannot create executables that the other can run. I.E. 64-bit LabVIEW cannot generate a 32-bit executable. The upshot of this is that if you need your executable to be compatible with older machines (such as Windows XP machines) then you will need to use a 32-bit version of LabVIEW to create your program.
Quick Downloads
List of download links, to be added once files are available
Documentation
Example Code
Libraries and Drivers
Getting Started with LabVIEW
If you are new to writing code for Phidgets, we recommend starting by running, then modifying existing examples. This will allow you to:
- Make sure your libraries are properly linked
- Go from source code to a test application as quickly as possible
- Ensure your Phidget is hooked up properly
Instructions are divided up by operating system. Choose:
Windows
Description of Library Files
LabVIEW programs on Windows depend on the following two items, The installers in the Quick Downloads section put only the phidget22.dll into your system. You will need to manually put the Phidget LabVIEW library onto your system:
- phidget22.dll contains the actual Phidget library, which is used at run-time. By default, it is placed in C:\Windows\System32.
- Phidgets LabVIEW library contains the Phidget library for LabVIEW. Instructions are explained in the Installing the Library section.
If you do not want to use our installer, you can download the phidget22.dll and manually install it where you want; refer to our Manual Installation Instructions.
We include instructions for LabVIEW 2012 on using our examples and writing your own code.
Installing the Library
1. To install the Phidgets Library, simply download the Phidgets Labview Library folder into the instr.lib folder corresponding to your LabVIEW installation.
If LabVIEW was installed using default settings, this will be under C:\Program Files (x86)\National Instruments\LabVIEW 20xx\instr.lib if you are using 32 bit LabVIEW, or C:\Program Files\National Instruments\LabVIEW 20xx\instr.lib if you are using 64 bit LabVIEW, where 20xx is the version of LabVIEW being used (eg. 2015 for LabVIEW 2015).
2. Open or restart LabVIEW to refresh the VI palettes.
3. The Phidgets palette is located in the Instr Drivers palette under Instrument IO.
Use Our Examples
1. To find our examples, open a new VI.
2. Navigate to the palette you want the example for, place "VI Tree.vi" on your block diagram.
3. Right click "VI Tree.vi" and select Open Front Panel. From the front panel, open VI Tree.vi's block diagram.
4. Examples will be located near the bottom of the diagram, as plain white VIs. Open the front panel of the example to use it.
Write Your Own Code
1. To start working with a new Phidget, you will first need matching Start and Close VIs. These are found at the top of the Phidgets palette.
2. Next, select the type of Phidget you wish to use from the drop-down menu.
3. Add device information and any desired initialization paramaters to the Start VI. Many Phidgets VIs use terminals with special values or formats. For these is is best to right click the terminal, and select Create->Control or Create->Constant.
4. You are now ready to write code for your Phidget, as outlined in the Code Snippets section, and the methods outlined in the examples for your device.
Edit the Examples
By following the instructions for your operating system and compiler above, you probably now have a working example and want to understand it better so you can change it to do what you want. This teaching section has resources for you to learn from the examples and write your own.
Your main reference for writing LabVIEW code will be this page, the examples, and the VI help files.
Examples of more complex general topics such as using multiple Phidgets and connecting to a Phidget over the Network Service can be found under the VI Tree for the Phidget Common palette.
Link to API manual
Example Flow
Most LabVIEW examples follow the same basic flow of starting a Phidget, reading some data, and closing the Phidget.
Code Snippets
Step One: Initialize, Open and Wait for Attachment (plugging in) of the Phidget
The entire process of opening and initializing a Phidget can be done by using the version of StartPhidget.vi that corresponds to your device.
In most cases, StartPhidget.vi will also attempt to wait for the first data to become available from the device for 5 seconds after initialization.
If you'd prefer to initialize the device manually, you can use OpenPhidget.vi for your device and call the individual functions to set up the device.
Step Two: Do Things with the Phidget
You can read data and interact with your Phidget both by polling it for its current state (or to set a state), or by catching events that trigger when the data changes.
To poll devices, simply place the corresponding blocks.
To use events, there are three main blocks for each type, to create, execute, and close the event handler.
When creating the event, all devices using an event of the same type must be grouped into an array to ensure the events get processed correctly.
Once created, the events will be processed by [Name]EventExe.vi. When an event occurs, the pertinent information will be output, as well as information to reference which device caused it.
After a program has run its course, the event handler must be closed.
Step Three: Close and Delete
Closing a Phidget is done by using the appropriate version of ClosePhidget.vi
Futher Reading
Phidget Programming Basics - Here you can find the basic concepts to help you get started with making your own programs that use Phidgets.
Data Interval/Change Trigger - Learn about these two properties that control how much data comes in from your sensors.
Using Multiple Phidgets - It can be difficult to figure out how to use more than one Phidget in your program. This page will guide you through the steps.
Polling vs. Events - Your program can gather data in either a polling-driven or event-driven manner. Learn the difference to determine which is best for your application.
Logging, Exceptions, and Errors - Learn about all the tools you can use to debug your program.
Phidget Network Service - Phidgets can be controlled and communicated with over your network- either wirelessly or over ethernet.
Common Problems and Solutions/Workarounds
Issue: I cannot attach to an object any more after running my program once
What this means is you probably aborted the VI which stopped the program before the Phidget could be closed. Aborting execution will not release the Phidget device properly and will consequently make it unusable until the Phidgets library (or LabVIEW) has been restarted.
To resolve this, you may open a new VI, place PhidgetResetLibrary.vi, and run it. This will completely reset the current Phidget library, making it possible again to connect to all Phidgets.
Note that this action will close all Phidgets that are currently open in LabVIEW, and should not be used while other Phidgets-related LabVIEW VIs are running.
In order to prevent this from happening you should use a software stop button when possible instead of halting operation. That way the Close subVI gets called and the Phidget will be released.