This content is not available in your preferred language.

The content is shown in another available language. Your browser may include features that can help translate the text.

Working Between the MathWorks, Inc. MATLAB® Software Development Environment and LabVIEW

Updated Dec 1, 2018

Reported In

Software

  • LabVIEW Full
  • LabVIEW Professional
  • LabVIEW MathScript Module
  • LabVIEW NXG

Issue Details

I have scripts written in the MATLAB® software. What are my options for sharing data between LabVIEW and The MathWorks, Inc. MATLAB® software environment?

Solution

There are several options for importing/exporting data from the MATLAB® environment and LabVIEW.
 

The MATLAB® Script Node in LabVIEW

The MATLAB® Script Node is a structure that is included with LabVIEW Full Development System for Windows as of LabVIEW 5.1. It can be found on the Scripts & Formula VIs palette. The MATLAB® Script Node makes ActiveX calls to MATLAB® software from within LabVIEW. This requires that a valid license of MATLAB® be installed on the same machine as LabVIEW. Follow these step for using the MATLAB® script node.

With the MATLAB® script node you can run the MATLAB® software programmatically from a LabVIEW program.  You may enter the MATLAB® script in the node or import pre-existing MATLAB® code into the node.
 

LabVIEW MathScript RT Module

The MathScript RT Module is a loosely-typed language that is synonymous with most text-based file environments.  LabVIEW MathScript RT is licensed separately as an add-on module for the LabVIEW Full and Professional Development Systems as of LabVIEW 8.0.

This module can be utilized from within LabVIEW so that you can combine graphical programming with math-oriented textual programming without having any license or installation of the MathWorks, Inc. MATLAB® software.  It does not call into the MATLAB® software environment like the MATLAB® Script Node.

With this node you can seamlessly run your existing custom .m files or create them from scratch, and adds Real-Time Support among other environment features. Take a look at the LabVIEW Help for the MathScript RT Module to see the list of available functions included.
 

MATLAB® Data Plugin

The MATLAB® Data Plugin allows you to import and export level 4 and 5 MATLAB® files, and directly read *.MAT files.  As such, this is a great option for utilizing existing *.MAT data sets in LabVIEW, or creating data sets within LabVIEW that can then be utilized within MATLAB® software.
 

Data Transfer Options

National Instruments has an example program that allows a user to read LabVIEW generated TDM/TDMS files within The MathWorks, Inc. MATLAB® software. This example uses a TDM C DLL and an adapted C-header file that can be used in conjunction with MATLAB®. 

For all versions of LabVIEW, data transfer between the two environments can be performed by saving the data in a file using the MATLAB® software and reading it directly from LabVIEW, or vice versa. In the MATLAB® environment, the Save command allows you to save data in binary (*.mat) or ASCII format. On the reverse side, the Load command allows you to read the data back into the program. 


MATLAB® is a registered trademark of The MathWorks, Inc. Other product and company names listed are trademarks and trade names of their respective companies.

Additional Information

Incorporating Data Transfer Options

To save a vector or a matrix X in ASCII format with tab delimiter, enter the following in the command window or m-script file in the MATLAB® environment:
>>SAVE filename X -ascii -double -tabs
This creates a file whose name is filename and contains the data X in ASCII format with a tab delimiter. Import the file into LabVIEW using the Read From Spreadsheet File VI located on the Programming»File I/O palette. 

To load data, enter the following in the command window of the MATLAB® environment, or in the m-script file:
>>LOAD filename