Universal Library for NI LabVIEW™

Download Now Technical Support
ULx for NI LabVIEW™
NI LabVIEW™ Driver for Measurement Computing Data Acquisition Products
  • Comprehensive library of VIs and example programs for NI LabVIEW™
  • Seamless operation with most MCC hardware products
  • Compatible with NI LabVIEW versions 2015-2024
  • Included with MCC DAQ Software
  • Supported Operating Systems: Windows® 11/10/8/7/XP, 32-bit or 64-bit

ULx for NI LabVIEW is a library of VIs used with MCC devices to quickly develop data acquisition (DAQ) and control applications using LabVIEW. Includes a comprehensive library of graphical functions comprising all the power of our Universal Library and InstaCal software.


Example Projects

Additional Resources


Are the current drivers compatible with LabView 2023
Yes, it's compatible with NI LabVIEW versions 2015-2023.
LabVIEW 2017
I would need ULx ver 2.21 for Labview 2017. Is this available? Thanks!
ULx is only available as part of the free MCCDAQ software suite. Any version of ULx >= 2.21 will work in LabVIEW 2017. If you prefer to stay with ULx 2.21, it is available as part of MCCDAQ 6.60 which is now about 4 years old.
Error 10001 Device cannot be accessed.
Not possible to create session with the device. Re-installation of the Instacal helps, after which I was able to read data. After reboot of the PC and Device, I had again the same problem with error 10001.
In general, re-installing InstaCal is not a solution to a LabVIEW error. Error 10001 is not very common, and usually means that more than one program is trying to access the device, or that you have created a runtime and there is a mismatched file version. Below is some general advice, and if this does not resolve it, please contact tech support with more details. * Do not have LabVIEW and InstaCal open at the same time. * InstaCal is meant to be run once per PC (you should not have to run it again, even after a reboot). * If you created a LabVIEW runtime, install the same exact version# of InstaCal onto the runtime PC, that was on the development PC.
ULx LabView 2020 support
Are the current drivers compatible with LabView 2020?
We expect to release and post for download, within a week or so, MCCDAQ software suite 6.72. This will contain an updated version of ULx compatible with LabVIEW 2020.
Compatibility of USB1208 and Labview NXG ??
Any progress on this? Last update was 9 months ago and we are completely stalled in our ability to use MCC until this (simple) issue is solved..
NI has not yet created a .NET VI conversion utility for NXG. MCC ULx support for NXG will depend on NI releasing its conversion support for .NET. MCC has requested that this conversion utility be added, and NI has ensured us that it is on their NXG roadmap. Please contact National Instruments if you would like them to prioritize that effort.
UIx LabVIEW 19 support
Labview 19 support.. when?
MCC added support for LabVIEW 2019 about a month ago. ULx 2.24 and InstaCal 6.71 are available together as part of the free MCCDAQ software suite rev 6.71 available from our download area.
USB 1208LS external trigger unavailable in Labview?
Hi, I am using the ULx libraries to control a USB 1208LS DAQ device. My goal is to synchronize my MC DAQ and other instruments in the lab using a TTL pulse that is read at the EXT_TRIG pin on the USB 1208LS device. I've tested that this utility works on the DAQami software by selecting the external trigger option in the menu. However, when I attempt to program a Composite voltage reading and Composite trigger using External TTL, I receive an error 10124 “Composite trigger is not supported by the specified device.” I do not see how to set up trigger channels with external ttl and am unsure how to make this functionality work in LabView. I also cannot find an example anywhere in the ULx example folders for how EXT_TRIG is supposed to by set up. Why does it tell me that this type of trigger is unsupported by the device? Is there a solution or an example for this? Thank you very much.
The main cause of the error you see relates to “Composite”. None of the Composite VIs will work with the USB-1208LS hardware model, since that model cannot sample DI and CI channels synchronously (at the same clocked rate) as AI channels. Instead, start with the examples in Measure Voltage.llb, specifically the one named: ULx Acq&Graph Voltage-Int Clk-Dig Start.vi However, since the USB-1208LS hardware offers only level triggering (not edge triggering) you will have to make a change on the example’s block diagram. i.e. select Basic Digital Level, and then specify either High or Low for the level. Then connect your trigger signal to pin 18 of the USB-1208LS.
Compatibility with LabVIEW NXG
Will this work with LabVIEW NXG? If not, when will that be supported?
It is not compatible with LabVIEW NXG at this time, but I have forwarded your request to our Engineering team for consideration in future releases.
How do you utilize the hardware trigger marked "Ext TRG" on the USB-1602HS-2AO in LabVIEW?
I tried setting to both gated or composite and I get a LabVIEW error of 10123 when I try this. Is it the case that the ULx drivers do not support the external trigger and only can utilize the basic trigger function?
For the USB-1602HS hardware, gating is not supported. i.e. the hardware design of this model has no “gate” triggering capability. As for the Composite triggers, before selecting composite, you must first configure your input channel(s) via Create Channel to be Composite Input (instead of Analog Input). Composite usually means a combination of AI, DI, and CI channels all sampled synchronously at the same rate, but if only analog inputs are needed, that can be done also.
Ulx Labview 2018 support
Hi, I can see the 2017 compatible Ulx, but I can't find a version for the 2018 Labview software. Is there a compatible version, or do I need to install an older version of Labview in order to keep things compatible?
For LabVIEW 2018, we just recently posted a beta ULx driver on our FTP site. Be sure to read the readme for installation instructions, as the installation is different from our normal release.
Ulx LabVIEW 2017 Support
The link shared is disabled but I need Ulx LabVIEW support for 2017 to interface USB-201
The ULx For NI LabVIEW software is included on the MCC DAQ CD and is available within the software and drivers link above.
When will LabVIEW 2017 be supported by the ULx driver for NI LabVIEW?
I have just upgraded to LabVIEW 2017 but I am unable to install the MCC ULx driver as it is only supported by LabVIEW up to LV2016.
We actually do have a released LabVIEW 2017 driver, ULx ver 2.21. Please visit the software and drivers section provided in the link in the resource center above.
How do I measure temperature channels on my USB-TC-AI with Labview?
I can measure analog channels with labview, but I do not see temperature channels in labview reference I/O. How do I work around this?
To read a temperature channel on any of the TEMP/TC series devices, you can run the example on your hard drive that is located at the path below. The example program is named: ULx Acq Temperature Sample.vi — C:\Program Files\National Instruments\LabVIEW 201x\examples\ULx\Analog In\Measure Temperature.LLB
I need to collect 8 channels of analogue (voltage) data using a Labview interface. How do I go about doing this using Labview?
I saw in your Q/A that someone asked this and you provided them with an example vi. Could you share the vi with me. I am using LabVIEW 2016 (64 bit) with USB 1608G DAQ device.
Once you Install the latest ULx driver, then open the following LLB of examples on your hard drive: C:\Program Files\National Instruments\LabVIEW 2016\examples\ULx\Analog In\Measure Voltage.LLB. The best example to start with is named: ULx Acq&Graph Voltage-Int Clk.vi The example defaults to sampling a single channel, but from the front panel, following the instructions in the FAQ, you can browse and select multiple channels with the mouse.
How to change Installation path for ULxforLabVIEW?
I do not have LabVIEW installed on my C drive.. but on another drive. I cannot seem to install ULxforLabVIEW as a result. Every time I try, I get an error that says I need a version of LabVIEW that is 2010 or later…. I have 2016… Can you help?
The installation drive letter should not matter, since our ULx installer learns that from the Windows registry. Instead, the issue is likely that you are using too old of a CD to install from. Version 6.53 of our MCCDAQ CD was the first to include LabVIEW 2016 support.
how to send data digitally minilab 1008
I want to use rs422 to send data to my device i want to create boolean button to enable or disable another device (send 1 or 0 ) I want to use as example port 4 and 35 at the same time to do my function (my problem is how to define two ports at first block of creating channel and use two ports at the same time ) if you have example for sending data via rs422 give me link of it and I will try HOW TO CHECK STATUS LED ON MINILAB 1008 BY USING LABView thank you
RS422 is an electrical standard of +/- 6V and is differential. The miniLAB 1008’s digital I/O bits are TTL/CMOS and single-ended. Therefore before even considering software, the miniLAB 1008 hardware is not suitable for communicating to RS422 devices. Strictly on the software question, looking at the 37 pin D connector, pin 4 is bit 6 of port B, while pin 35 is bit 2 of port A. Since you are using two different ports (A and B) you can use one for output and one for input. First, test each direction independently with our provided examples: ULx Read Dig Port.vi and ULx Write Dig Port.vi. Once you have both working independently, then combine the two programs. Since we do not promote our hardware as emulating a serial port, we do not have an example program that does so.
Accurate voltage read-out from +5V pin, USB-1208HS
Is it possible to check what is the actual value of the voltage on +5V pin in USB-1208HS ? Currently I use an additional equipment which shows me values in a range 4,85-4,88 V. Preferably, I would like to use LabView to check this value. Thanks in advance
There are no LabVIEW VIs that will allow you to read the 5 volt source that is supplied on pins 18 & 46. One method that has been used in the past to monitor the 5 volts is to loop back into an available analog input and read the analog input.
ULx driver compatible with LabVIEW 2009
where can I find ULx driver compatible with LabVIEW 2009 32bit system.
The link below is to MCC DAQ CD Version 6.34 from September 2014. It has 2 LabVIEW drivers on it. One is ULx 2.06, the last version to support LabVIEW 8.5, 8.6, and 2009. The other is the much older legacy UL for LabVIEW driver frozen in 2006.
How can I switch the DAQ from single-ended to differential mode?
The DAQ I use is USB-1208FS-PLUS. From your example I can just measure the voltage input by single-ended mode (i.e. 8 channels can be selected so I think that is single ended mode). I am wondering how can I switch it to differential analog input mode by using LabView? Thanks!
Our ULx for LabVIEW driver does not have a way to select between SE and DIFF. This setting must be made by the user in InstaCal, before launching LabVIEW. The setting only needs to be made once.
How can I make this product act as a function generator?
I would like to generate a sine wave function and continuously send it through an analog output. How can I do that through this program?
First, make sure that your DAQ device supports hardware/clock paced analog output. Then locate on your hard drive (at a path similar to below) the following example: ULx Cont Gen Voltage Wfm-Int Clk.vi C:\Program Files (x86)\National Instruments\LabVIEW 201x\examples\ULx\Analog Output\
Digital Output in USB-1208LS
Hello, I have been using our products in labview for a while, but whit the older libraries, so we want to upgrade to the new VIs, so i found a problem, i am using a usb-1208ls and i want to activate only 1 output, but when i do it modifies the another ones, it puts the another values of the other outputs in zero, there is a way to only activate one bit or output? not modifying the another ones
MCC’s hardware does not support reading back values written to the output. If the error code (returned from the data write) is 0, then the output was successful.
Analog output
I want to set an analog output to a fixed voltage. (No waveform) the same way Instacal does when you select AnalogTest (I'm using USB-3110. I'm using latestULx for Labview with Labview 2015 (64-bit)
Most analog output examples that get installed with ULx demonstrate hardware paced/clocked mode. But if you only want to send out an occasional D/A value, which the DAQ device will hold until you update it at some later time, then software paced mode is more appropriate.
Labview for linux support
Hello, is there a driver for labview linux available? i need to develop and application in linux and i'm looking for a daq board with support..
We do offer Linux drivers for many of our USB and Ethernet DAQ devices but, unfortunately, our ULx for NI LabVIEW does not include support for NI LabVIEW for Linux. Our ULx for NI LabVIEW is only supported under Windows® 10/8/7/Vista®/XP SP2, 32-bit or 64-bit Windows based operating systems.
NI for LabVIEW sampling rate
Hello, I am using NI for LabVIEW and have a basic analog input set up to acquire data from an OMB-DAQ-2416-4AO. I set it up using the “Using NI LabVIEW with Measurement Computing DAQ” video. If I set the sampling rate so that the data is collected in under about 10 seconds, there is no error. If I set the rate and # of samples such that it takes longer to complete the acquisition, I get a 10003 error. There must be some sort of control that is looking for the data to be complete within a certain timeframe; is this adjustable? If so how? Thank you very much..
Error 10003 usually means that the timeout has been reached. You set the timeout via the ULx Read VI. The default is 10 seconds, which matches what you report. So instead of leaving the timeout pin unwired (as shown in the video), wire up a constant of something > 10.
No physical channels when AI Temperature (analog) is chosen
I'm trying to get a temperature input, not a voltage input, in LabVIEW. However, no physical channels are shown when trying to create them. The physical channels are only shown for every other input/output except AI Temperature. I've tried high and low to find a solution to this problem. I hope someone can assist me with this. I'm using a USB-2408-2AO, and the latest version of NI LabVIEW and MCCDaq drivers.
The USB-2408 (and USB-2416) series can measure both temperature and voltage. All channels on these models are designated as voltage, so be sure to choose “AI Voltage”.
Empty IO Task error
Hi Im having problems using labview 2015 with the ULx vis. When i try to us the Create Channel fuction from the palette tge program crashes. a window is shown with the inf: “error 100000 occurred at ULx Create Channel (AI-Voltage-Basic).vi 5780001 Possible reason(s): Measurements: Value passed to Task I7O In control is an empty I/O task The value must refer to a valid task.” I'm not wiring the task in terminal. im trying to make the tutorial exaclty the same as in: Getting started with NI LabVIEW, ULx and MCC analog Input Hardware, Part 1. from your DB.
Hello, Error 100000 usually means that your InstaCal and ULx versions are too far apart from each other, age wise. The fix is to upgrade both at the same time, from the same MCCDAQ CD/download.
Simulate NI-Daq with USB-2627
Hello, i was wondering if the mcc USB-2627 could be used without the mcc vi's. I want to simulate a NI-DAQ using int
The ULx for NI LabVIEW is necessary for the support of Measurement Computing Data Acquisition products within the LabVIEW environment. Our Data Acquisition products are not directly compatible with National Instrument’s NI-DAQmx drivers.
USB 1208FS
I followed the step by step procedure outlined in the Quick Start Guide. It seems to see the device, but when I run the LabVIEW program it comes up with this error. Error 10002 occurred at ULx Create Channel (AI-Current-Basic).vi:1 Measurements: Channel specified does not exist on this device. Refer to the documentation for channels available on this device. Channel Name: Ao0
It sounds like you want to perform Analog Input, but you are presented only with Analog Output channels, or vice-versa. The USB-1208FS DAQ model you are using has both types of channels (though you should select AI Voltage, not AI Current input, since the USB-1208FS only measures voltage. What likely happened is that you changed the Create Channel VI’s channel type, from Analog Output to Analog Input, but you did so after wiring in a channel selector. Try deleting the physical channel selector (purple) to the left of the Create Channel VI, and then recreating it. It should then locate the proper channels. Otherwise, try our function-specific examples that get installed as part of ULx.
Labview 2015
I recently upgrade a Labview 2015. Then ULx for labview isn't installed. How can I use this in the 2015 labview.
On September 25th, MCC released ULx driver version 2.12 that adds support for LabVIEW 2015. Below is a link to download the new support, along with a readme file covering installation. This driver is fully released (not a beta), but the installer for it differs slightly from our regular MCCDAQ CD download, so be sure to read the short readme file before installing the software. Our larger (MCCDAQ CD) download is expected to be update in the November/December timeframe, once CD version 6.51 is released, at which time the following link will be deactivated.
Gain Array possibility in ULx
1. I used gain arrays to measure with different limits at different channels, is it still possible to use this feature with ULx (Labview)? 2. Can I programm different (update) rates for different channels (Labview)? Thank you and greetings
1) Yes, this is possible. Basically you chain together (i.e. in one task) multiple Create Channel VIs, each with a channel(s) and range combination. 2) No, this is not possible. The limitation is hardware, not software.
Is there a driver for USB2408 and Labview 2014 14.0 ?
Hi I have installed universal library 6.35. My device shows on instacal, but I cannot find it on LabView. Do you have any suggestions? Many Thanks
You say you installed UL 6.35, but be sure you also installed ULx (ver 2.10 is part of the same MCCDAQ CD download). To use MCC brand hardware in LabVIEW, you use our ULx VIs. Many examples are installed on your hard drive, but note that since the USB-2408 can measure both voltage and thermocouples, you need to run the voltage examples, not the temperature examples.
In Labview, using ULx Virtual Channel, the physical channel does not show up!
Hello there, I have Labview (13). I install the latest version of MCC DAQ (V 6.35). I Installed USB-TC correctly. I configure the board using Instacal. It can be seen from TracerDAQ and InstaCal. It seems that computer recognizes the board (USB-TC) very well. However, I have problem with Labview at first step. Developing a new VI, I put the first icon as “ULx Creat Virtual Channel”. The second step, creating a channel, I used constant “physical channel” and browsed through the list. There is no sign of any channels or port in the list. To sum up, Labview cannot see any USB-TC channels. Please help me to resolve the problem Many thanks
Most likely what happened is that you created the constant (or control) for the “physical channels” input before setting the Polymorphic VI Selector to “AI Temperature”. The default is “AI Voltage”, and since the USB-TC does not measure voltage, no channels would be shown in the list.
Cannot create Application EXE
I create my VI using the ULxforLabVIEW, I had no probles creating the VI, and I also create the EXE apparently without error but at the time of running the EXE I get a message saying “the VI is not executable”, I already try to fix the problem without success. I notice that at my proyect at the Dependecies field there is a vi called “null” and it has a message saying “Warning: has been deleted, renames or moved on disk”, I haven't moved or deleted anything, and I notice that ir appeared after I create the EXE. Do you have a solution to my problem?
Hello - It sounds like you missed a step or two in the EXE creation process. In the ULx help file, search on “Building the application installer”, and carefully follow steps 1 thru 12. Please feel free to contact us if you have any issues.
How to show all curves in one chart and all datas in one output file from all the working channels using USB-TC
I will connect more than one thermocouples to the USB-TC to acquire temperature data. So it is necessary to shwo all the temperature curves in one chart and acquire all datas in one output file. How to accomplish it in LabView?
MCC’s ULx for LabVIEW includes an example named ULx Acq Temperature Sample.vi which works fine with the USB-TC, but it only samples just one reading on only a single channel. Common needs are to expand the number of channels and to sample continuously. The USB-TC is only software paced, so a software timed loop is needed. You can configure the Create Channel VI to specify a range of channels, and then the Read VI can output a one-dimensional array … one sample per channel. At the link below is such an example, that samples 5 channels at a 1 Hz rate. It does not graph the data, or log to disk, but you can use LabVIEW’s built in VIs to achieve those.
Function compatibility with USB-202 ?
Before buying an usb-202 device. I would know if the “ULx Trigger: Basic Analog Edge” function works with this acquisition card.
Hello Frabre - The hardware in itself does not support an analog edge trigger. Therefore, the ULx driver does not support an analog trigger. The USB-202 only supports a digital trigger that can be configured for edge or level sensitivity (rising, falling, high, or low). Please feel free to contact us if you have any additional questions.
Do you have an estimated time frame for when the ULx drivers will work for LabView 2014?
A ULx driver compatible with LabVIEW 2014 is expected to be posted for download by mid-September.
How to capture all channel data from USB-TC
Im trying to capture the data on USB-TC for all thermocouple channels with Labview, example show single channel only, How do i get all 8 in?
Hello - The structure of the data array for our Tin function call is not a perfect match for what LabVIEW is looking for. The TinScan call places the data into one column, verses a row, with a column of data per channel. LabVIEW does not know how to parse this data. However, there are ways to get it to work and display multiple channels. For your convenience, I’m going to email you an example VI to help with your programming. Please check your inbox and let us know if we can help out in any other way.
'Physical channels' won't work in LabView complied application
The 'physical channels' selector works okay when running my program within the LabView environment, allowing the user to browse the drop-down list of connected devices and channels. However when I run the built application #Windows stand-alone exe,
There are three likely causes to the problem you report: 1) You did not run InstaCal (Inscal32.exe) on your target machine, so that the DAQ device was recognized on the target machine. 2) You did not follow the detailed steps listed in the ULx help file for: Building a stand-alone Windows application. The results of which automatically pick up a “browse” file and deploy it on the target PC’s hard drive. The file name follows the following format: ULx_BrowseXXX.LLB where, for example, XXX=110 for LabVIEW ver 11. 3) You have duplicate copies of CBW32.DLL on the target PC’s hard drive.
Installation of Mcc Daq cd 6.3 doesn't start !!!!
Hello I download the version 6.3 of Mcc Daq cd and I tried to install it but I reseved a message that the .exe is not a Win32 application. What I have to do? I tried to download at least 6 time….
The message you receive probably means the file was not fully downloaded, or got corrupted during the download. We have not had other recent complaints. But to be sure, I downloaded Version 6.31 myself from this link, and it runs OK. I recommend you download it by saving it to your hard drive first. Then before running it, check the file size. The file size should be exactly 279,810,048 bytes.
I've switched to LabView 64 bit. SO I've re-installed the driver for MC USB-3102. Doesn't seem to install ULx_LV.dll in any sensible place, labview eventually finds it in an old install of Labview, a driver that was installed for version 8.5. Now I'm gett
Hello, If the LabVIEW version you just installed happens to be version 2013, be sure to install the very latest ULx (2.03), otherwise ULx won’t be installed for that LabVIEW installation. Normally a copy of ULx is installed for each and every LabVIEW on the PC, from 8.5 upward. Therefore you don’t need to move ULx VIs from one version of LabVIEW to another. Also note that the ULx VIs installed were all saved in 8.5 format, so you will get warnings when you open them in a newer version of LabVIEW. Either ignore the warnings, or re-save all upon exiting. BSODs are not at all common, and may be a sign that something is corrupt (best to uninstall and reinstall).
Programmatical list of devices and capabilities
How can the list of ULx devices attached to the system be programmatically retrieved? Ditto for the capabilities of each device, i.e. available channels and ranges. For NI DAQmx devices, the former is easily achieved along the lines of thew “Show All Har
ULx for NI LabVIEW does not offer a way to provide the developer with full information about what DAQ device(s) are connected, or what features the device(s) have. What is supported is: The Create Channel VI presents (to the operator) only channels that exist on the DAQ device(s) that are present in the system. Once a task is created, the Task Node VI from the ULx VI palate can be used to read back the model name & serial number. The reason the palette menu did not install for you is that most likely you did not actually unzip the beta zip file, before running the MSI (i.e. running the MSI file from within the Zip file will not install any of the files that are outside the MSI file). As for the USB-310x hardware series specifically, yes the range must be set in InstaCal.
Is it compatible with LabVIEW Real-Time?
No, the ULx for NI LabVIEW is not compatible with the Real-Time version of LabVIEW.
Will you be updating ULx drivers for LabView 2013 soon?
MCC now has a beta ULx driver for LabVIEW 2013.
It sounds like you cannot install ULx onto LabVIEW 2012 since your CD is too old. You need version 6.25 or higher to obtain ULx 2.02. Download the latest MCCDAQ CD from our website, and update InstaCal, and install ULx 2.02. In this way you do not have to use our Legacy UL for LabVIEW driver which has been frozen for many years and is not recommended for new applications. The try ULx examples named ULx Write Dig Port.vi & ULx Read Dig Port.vi