MathWorks社のMATLAB®ソフトウェア開発環境とLabVIEWの連携

更新しました Aug 24, 2023

使用製品

ソフトウェア

  • LabVIEW Full
  • LabVIEW Professional
  • LabVIEW MathScript Module

問題

MATLAB®ソフトウェアで書かれたスクリプトがあります。LabVIEWとThe MathWorks社のMATLAB®ソフトウェア環境間でデータを共有するためのオプションは何ですか?

解決策

MATLAB®環境とLabVIEW間におけるデータのインポート/エクスポートにはいくつかのオプションがあります。
 

LabVIEWでMATLAB®スクリプトノードを使用する 

MATLAB®スクリプトノードは、LabVIEW 5.1以降のWindows用LabVIEW開発システムパッケージ、プロフェッショナル開発システムパッケージに含まれているストラクチャです。これは、スクリプト&フォーミュラパレットにあります。 MATLAB®スクリプトノードは、LabVIEW内からMATLAB®ソフトウェアへのActiveX呼び出しを行います。これには、LabVIEWと同じマシンにMATLAB®がインストールされていて有効なライセンスである必要があります。

MATLAB®スクリプトノードを使用するには、LabVIEWからMATLAB®ソフトウェアを呼び出すを参照してください。

MATLAB®スクリプトノードを使用すると、MATLAB®ソフトウェアをLabVIEWプログラムからプログラム的に実行することができます。ノードにMATLAB®スクリプトを入力するか、既存のMATLAB®コードをノードにインポートすることが可能です。


 

LabVIEW MathScript RT Moduleを使用する

MathScript RT Moduleは、ほとんどのテキストベースのファイル環境と同義であるloosely-typedの言語です。LabVIEW MathScript RTは、LabVIEW 8.0以降のLabVIEW開発システムおよびプロフェッショナル開発システム用のアドオンモジュールとして別途ライセンスが必要です。

このモジュールは、MATLAB®ソフトウェアのインストールおよびライセンスを必要とせずに、グラフィカルプログラミングと数学指向のテキストプログラミングを組み合わせることができ、LabVIEW内で利用可能です。MATLAB®スクリプトノードのようなMATLAB®ソフトウェア環境を呼び出すことはありません。

このノードを使用すると、既存のカスタム.mファイルをシームレスに実行したり、ゼロから作成したり、その他の環境機能にリアルタイムサポートを追加することができます。MathScript RTモジュールのLabVIEWヘルプを参照して、使用可能な関数のリストを確認してください。


 

MATLAB® Data Plugin

MATLAB® DataPluginを使用すると、レベル4および5のMATLAB®ファイルをインポートおよびエクスポートし、*.MATファイルを直接読み取ることができます。したがって、これによりLabVIEWで既存の*.MATデータセットを利用するか、LabVIEW内においてMATLAB®ソフトウェア内で利用できるデータセットを作成できます。

 

Data Transfer Options

ナショナルインスツルメンツでは、MathWorks社のMATLAB®ソフトウェアでLabVIEWで生成されたTDM/TDMSファイルをユーザが読み取るためのサンプルプログラムを提供しています。この例では、MATLAB®と組み合わせて使用できるTDM C DLLと適合したCヘッダファイルを使用しています。

LabVIEWのすべてのバージョンでは、MATLAB®ソフトウェアを使用してファイルにデータを保存し、LabVIEWから直接読み取るか、またはその逆の方法で、2つの環境間のデータ転送を実行できます。MATLAB®環境では、Saveコマンドを使用してバイナリ(* .mat)またはASCII形式でデータを保存します。反対に、Loadコマンドを使用すると、データをプログラムに読み取ることができます。

MATLAB®は、MathWorks社の登録商標です。記載されているその他の製品名および会社名は、各社の商標および商号です。

追加情報

データ転送オプションの実装

タブ区切り文字を使用してベクトルまたは行列XをASCII形式で保存するには、MATLAB®環境のコマンドウィンドウまたはmスクリプトファイルで次のように入力します。

>>SAVE filename X -ascii -double -tabs
 

これにより、名前がfilenameで、タブ区切り文字を持つASCII形式のデータXを含むファイルを作成します。プログラミング>>ファイルI/Oパレットにある区切られたスプレッドシートを読み取るVI(旧バージョンではスプレッドシートファイルから読み取るVI)を使用して、ファイルをLabVIEWにインポートします。

データをロードするには、MATLAB®環境のコマンドウィンドウまたはmスクリプトファイルに次のように入力します。

>>LOAD filename