プログラム間でグローバル変数によるデータの受け渡しを行う

更新しました Mar 5, 2021

環境

ソフトウェア

  • LabVIEW

複数のプログラムを動作させている時、それらすべてのプログラムを同時に停止、もしくはそれらのプログラムに他のプログラムからの値の受け渡しを行いたい場合があります。ここでは3つのVIとグローバル変数を作成し、VI間でデータのやり取りを行います。この手順によりグローバル変数により複数のプログラム間で相互にデータの受け渡しを行う方法を確認します。これらの手順を使用する事で下記の様な制御パネルとそれによって制御される2つのパネルから構成されるプログラムを作成できます。
 
KBのOverviewの図2.png

複数のVIを作成し、グローバル変数でデータを受け渡す

1. LabVIEWを起動し、停止ボタン.vi、パネル1.vi、パネル2.viを作成します。
 
1threevis.png

2. 停止ボタン.viにグローバル変数を作成します。グローバル変数を右クリックし、フロントパネルを開き、このグローバル変数を編集します。
 
2createglobal.png

3. グローバル変数の設定と保存を行います。グローバル変数としてプログラム間で受け渡しを行うデータタイプの制御器もしくは表示器をフロントパネルに配置します。ここではブール(True/False)及び数値(DBL)を配置します。このグローバル変数をグローバル.viとして保存します。
 
global.png

4. グローバル変数をVIに配置します。グローバル.viはブールもしくは数値のデータタイプを保持しているので下記の様にブールもしくは数値を選択する事ができます。別途グローバル変数を追加する場合、グローバル.viをドラッグ&ドロップする事で追加できます。
 
4putglobal.png

5. グローバル変数の書き込み/読み込みモードを変更します。グローバル変数は書き込み/読み込みで使用できます。これらのモードの切り替えはグローバル変数を右クリックし、「読み取りに変更」もしくは「書き込みに変更」を選択する事で切り替える事ができます。
 
readglobal.png

6. 下記の様にグローバル変数を配置します。この状態で3つのVIを開始すると、それぞれ独立した挙動を確認できます。停止ボタン.viの停止ボタンをTrueに切り替えると、ブールのグローバル変数によってこの値が受け渡され、3つのVIが停止します。
 
8global.png
 

次のステップ

プロジェクトエクスプローラを使用して複数のVIを管理する

1. 上記の手順を行うと下記の様に4つの*.viファイルが作成されます。例えばグローバル.viを別のフォルダに移動し、停止ボタン.viから見たときの相対パスを変えた状態で停止ボタン.viを起動すると、下記の様にグローバル.viを見つけられないというエラーが発生します。
 
NotFound.png

2. このようなエラーを回避するにはプロジェクトエクスプローラを使用したVIの管理が重要となります。まず、下記の手順でプロジェクトファイルを作成します。このプロジェクトファイルをGlobal.lvprojとして保存します。
 
1create proj.png

3. 下記の様に*.lvprojフォルダとviを1つのフォルダにまとめ、Global.lvprojを開き、この中にすべてのVIを移動します。
 
5proj.png

プロジェクトエクスプローラを使用した際の利点及び詳細な使用方法についてはこちらの記事 で確認できます。