LabVIEW 7.0 About Box Mac

LabVIEW on Mac OS X

I am trying to put together as much as I know about the options for running LabVIEW from National Instruments under Mac OSX. If you have any questions or information to add please contact me.

LabVIEW was released for OS X starting in June of 2003 when version 7.0 was shipped. It is fully functional and is compatible with LabVIEW on all other platforms. As of LabVIEW version 7.X, Mac OS 9 will not be supported. However all previous versions do run under classic emulation while running OS X.

Access to instruments can be made thru ethernet (tcp/ip) and serial ports. The Keyspan Twin Serial adaptor seems to work. If you use it under classic emulation use the drivers installed under classic.

GPIB Communication

There is a private beta of the National Instruments PCI-GPIB driver! Join the beta program.

For GPIB access, NI recommends use of their ENET-GPIB device that communicates thru TCP/IP to a GPIB interface. Besides being more expensive than a PCI card, it also requires that the drivers be purchased in addition from NI.

However a few of us have created a native OS X driver for the GPIB card, PCI-GPIB. The bulk of the work and the inital port was done by Bela Farago of the Institut Laue-Langevin. This driver seems to work well and has been used successfully for work with both LabVIEW and Igor to access GPIB devices. Currently you need to do the installation by hand, but the instructions are fairly simplle. This file has only been tested under OS X 10.2.X (Jaguar). I recommend trying the second file that has much improved functionality.
PCI-GPIB driver for Mac OS X 10.2 only

A Mac OS X 10.3.X (Panther version) is done as well as a significant update to the included LabVIEW Library. The driver is based on NI's DDK and their code has to be purchased, however I am willing to make my patches and changes to this code freely available. Their DDK is not all that complete and is why the driver does not integrate seamlessly into the current VISA framework.
PCI-GPIB driver for Mac OS X 10.3 and 10.2
PCI-GPIB driver for Mac OS X 10.3 and 10.2 that should work with more cards


The version 1.4.0f2 NIDAQmx Base has been released. NI-DAQmx Base 1.4 supports NI 6508/DIO-96, PCI/PXI E Series, PCI/PXI B Series, PCI/PXI 671x/673x, S Series (AI only), USB-92xx, USB-6008, USB-6009 and USB-6501 devices on Mac OS X. The LabVIEW VIs work with LabVIEW 7.0 and higher. Support for M series cards will be coming soon (Q1 2005?). It is based on Tim Ousley's DDHK and is mostly written in LV! DMA is supported.

There is be a C interface for NI-DAQmx Base. On all platforms, NI is writing the driver in LabVIEW and then using the Application Builder to create a shared library for the C interface. Just like the LabVIEW interface, the C interface will be a subset of the NI-DAQmx C API. It's pretty cool that they use LabVIEW to create a C driver.

There was also a public demo of the new USB-DAQ units running under OS X This uses the new release of NI-VISA which supports USB connections. So again this is a cross platform solution!

DAQ is a bit trickier. NI PCI Data Acquisition devices are supported in two ways for Mac OS X. The first, involves a PXI chassis containing NI PXI data acquisition devices and an NI RT-series PXI controller running LabVIEW RT. NI-DAQ, the driver for NI data acquisition devices, runs on the PXI controller. LabVIEW RealTime supports most devices. Development is done a Mac OS X system using LabVIEW and deployed to this PXI target. This solution is appropriate for larger, more complex, systems that need the features and abstraction provided by NI-DAQ. The drawbacks of this approach is that the PXI crate is expensive and very noisy with industrial quality cooling.

There is another little known solution that lets one use the best development environment with NI hardware. One can use a cheap PC as the host for all the hardware running the PharLap RT/OS as the target machine. This gets around the extreme cost of a PXI crate and embedded hardware. The link gives a list of supported boards and hardware.

With LabVIEW 7.1 the "host PC" can be an Apple MacIntosh running OS X! The realtime target can be any cheap PC, though NI lists some systems as recommended it seems that the RT/OS will boot and run on most hardware.

Mac OS X and LV 7.1 now support cross compiling for the RT/OS. This can be simply linked to the host thru ethernet. For a good solution one should probably throw a second cheap ethernet interface in the host to keep network problems isolated from data transfer and control.

This will allow development in a clean, reliable and efficient environment with compatibility to all of NIs hardware. The only real drawback is supporting the hardware of a cheap wintel box and the time labor associated with that. However the Pharlap OS has a reputation of being fairly clean and robust to avoid the normal problems associated with more common desktop OSs. The drawbacks are that a plain beige box PeeCee is not the most reliable/robust platform and that you do need to maintain another machine.

For native support NI has made available the Measurement Hardware Driver Development Kit (free download).

The Measurement HW DDK provides a set of multi-platform, register-level programming tools for NI PCI Data Acquisition devices. You can use LabVIEW or C to interface with the DDK. The Measurement Hardware DDK is designed for advanced customers developing OEM type systems. Support is available only through online newsgroups, downloads, and register-level programming manuals. Standard phone and email support is not available for the Measurement Hardware DDK. This solution is appropriate for smaller, less complex, systems that don't require the features and abstraction provided by NI-DAQ.

take a look at NI's downloadable Measurement Hardware DDK for LabVIEW 7. It lets you write a DAQ driver in LabVIEW that will run on OS X, Linux, PocketPC and Windows. For NI Week Richard Jennings put together an E Series demo using AI, and another demo for the DSA 4452. Both these demos are posted in the NI developer exchange

MHDDK for LabVIEW works with PCI boards on OS X, Linux, and Windows. It works with PCMCIA cards on PocketPC. NI does provide some source code to use as a base for making your own drivers for other operating systems.

MHDDK for C++ also provides source code examples, but MHDDK for LabVIEW has much higher level examples. Writing your application using the Measurement HW DDK is much easier than writing your own driver. Boards suppored are 4452, 4472, 6110, DIO32HS, DIO96, and E Series.

PCI Hardware Compatibility

The new G5s only have 3.3V PCI slots. NI states that for GPIB cards,
"As of revision K (183617K-01), the PCI-GPIB card now supports 3.3V and 5V modes. This is in addition to the PCI-8212 and PCI-8232 (GPIB and Ethernet combination cards) which have always been keyed for universal signaling. Both cards can be used in either 3.3V or 5V PCI slots."

And a list of DAQ cards, that have been adapted to using PCI-X. These are also cards that will run off the newer 3.3V standard. This includes the popular PCI-MIO-16X series and 603X cards. About the same time the newer GPIB cards were converted. This was during 2002 so any card that is less than 2 years old has a good shot at working on the newer 3.3V bus systems. As usual, check with NI about any specific card or revision.

Other Resources

Lastly, there is an OS X (and OS 9/Winders) compatible library that links LabVIEW to the Apple Quicktime® framework. This allows input of live video to LabVIEW. This Quicktime LabVIEW Library was written and maintained by Christophe Salzmann of École Polytechnique Federale de Lausanne. He has a useful library of VIs.

As always, there is a lot of information in the info-labview group. Join and post questions there.

[an error occurred while processing this directive]