同じフロントパネルにある複数のサブパネルに同じVIをロードするには?

更新しました Apr 3, 2023

使用製品

ソフトウェア

  • LabVIEW Full

問題

同じフロントパネルにある複数のサブパネルに同じVIをロードしたいのですが、以下のエラーが発生します。
 

エラーコード1145がMain VI.vi内のインボーグノードで発生

考えられる理由:
LabVIEW: VIはすでにサブパネル制御器にあるため、開くことができません。

 

LabVIEWでこれを実現する方法はありますか?VIを複数のサブパネルにロードする必要があるたびに、VIのコピーを作成したくはありません。

 

解決策

LabVIEWでこの動作を回避するには、そのVIがVIテンプレートとして保存することで、単一のVIを複数のサブパネルにロードすることが可能です。再入実行、テンプレート、および動的VIの違いで説明されているように、VIテンプレートは他のVIの開発の出発点として指定されたVIです。開かれると、VIテンプレート自体は開かれませんが、新しく別々のVIが作成されてメモリにロードされます。各VIを挿入インボーグノードに同じVIテンプレートへの個別のリファレンスを配線すると、各サブパネルに新規の個別のVIインスタンスがロードされるため、この動作はこのシナリオで有効です。
 

エラー1145を回避するには、VIリファレンスを開く関数を使用して2つの別々のダイナミックVIリファレンスを作成することも必要です。2つのVIが同じVIサーバrefnumを持つため、LabVIEWはそのVIを同じVIとして認識しません。
 

この解決方法のサンプルプログラムについては、Load Two Sub Panels with Same VI Using VI Template (*.vit)というNIコミュニティページを参照してください。