エラー 2: LabVIEWで新しいリファレンスを開く際にエラー(メモリがいっぱいです)が発生する

更新しました Oct 18, 2022

使用製品

ソフトウェア

  • LabVIEW 2016 Professional

問題

LabVIEWコードを実行すると、エラー 2 LabVIEW: メモリがいっぱいです。 というエラーが発生します。このエラーは、ノーティファイア取得キュー取得VIリファレンスを開く.NETコンストラクタノードファイルを開く/作成/置換などのVIで新しいリファレンスを開くと発生します。このエラーが発生するのはなぜですか?また、どうすれば回避できますか?
 

解決策

LabVIEWは、各タイプのリファレンスを保存するために有限量のメモリを使用します。そのため、同時に開くことができるリファレンスの数は、リファレンスの種類ごとに1048575に制限されています。したがって、ブロックダイアグラムでメモリ内に新しいリファレンスを作成する関数は、このエラーを返す可能性があります。

これはコード内のリファレンスリークを示しています。リファレンスが正しく閉じられていないため、同じ種類のリファレンスが1048575個同時に開かれています。1048576番目のリファレンスを開こうとすると、エラーが発生します。リファレンスの制限に達しないようにするには、ノーティファイア解放キュー解放リファレンスを閉じるなどの適切なVIを使用して、使用されなくなったリファレンスを閉じるようにアプリケーションを修正します。