LabVIEW RTシステムで外部コードを使用する

更新しました Apr 24, 2024

使用製品

ハードウェア

  • CompactRIO Controller
  • PXI Controller
  • Industrial Controller

ソフトウェア

  • LabVIEW Real-Time Module

オペレーティング・システム

  • VxWorks
  • PharLap
  • NI Linux Real-Time

プログラミング言語

  • C

問題

  • LabVIEW Real-Time(RT)のプログラムをRTコントローラで実行していますが、他の言語で書かれたコードを呼び出すVIを作成したいと考えています。どの言語を呼び出すことができますか?また、LabVIEW 内からどのように呼び出すことができますか?
  • cRIO RT ターゲットでサードパーティの .dll を呼び出すことはできますか?
  • RT ターゲットで .dll を呼び出そうとしていますが、「共有ライブラリ XXXX.dll のロードに失敗しました」というエラーが発生します。 RT ターゲットで .dll ファイルを呼び出すことはできますか?

解決策

コードをRT OSの共有ライブラリ形式にコンパイルすることで、RTターゲット上のLabVIEWプログラムから外部コードを呼び出すことができます。
注意:サポートされていないOSで共有ライブラリ ファイルを呼び出そうとすると、コードのデプロイ時にエラーが発生します。

LabVIEW RTプログラムで共有ライブラリを使用するには以下の手順を実行します:
  1. まず、 デバイス上でどのようなRT OSが実行されているか を確認します。
  2. 次の表を調べて、どの共有ライブラリ ファイル タイプにコンパイルする必要があるかを確認してください。
リアルタイムオペレーティングシステム (RT OS)VxWorksPhar LapLinux-RT
ファイルの種類の拡張子.out.dll.so
 
  1. ライブラリ関数呼び出しノード を使用して、コンパイルされたコードを呼び出します。 Cまたはstdcall規約に準拠したコードのみをLabVIEW RTプログラムに統合できます。

サードパーティからライブラリを取得した場合は、サポートされているRT OS で作業するときにこのライブラリを呼び出すことができます。たとえば、サードパーティの .dll を使用するには、Phar Lap RT ターゲット上にある必要があり、Linux RT ターゲットは使用できません。

追加情報

Windows と Phar Lap は両方とも .dll ファイル拡張子を認識しますが、 Windows 上で実行する DLL は Phar Lap ターゲット上では適切に実行されない可能性があること に注意することが重要です。

NIでは、できるだけLabVIEW RTモジュールを使用してRTプログラムを開発することをお勧めしています。