サンプルコードとドキュメント

データキューPtByPtの紹介

概要

 ポイントバイポイント関数の一種である、データキューPtByPtを用いて、効率的に配列要素を操作する方法を紹介します。

 

説明

 LabVIEWで1ポイントのデータを配列にまとめ、波形グラフに表示させる際にどのようなプログラミングが推奨されますか?

一つの方法としては下記のような形で、空の配列に配列連結追加関数を用いて、毎ループで要素を追加する方法です。

 

Incorrect Memory Management.png

 

しかしこの方法は、毎回メモリの再割当てが発生するため、パフォーマンスの低下とメモリオーバーフローの原因となりえます。

推奨はされない方法です。

大規模なプログラムのパフォーマンスとメモリに関する問題 - National Instruments

 

ではどうするかというと、予め配列の初期化を行ってメモリの割当を前もって行います。

そして追加ではなく、置換関数を行うことで再割り当てを防ぎます。

 

Memory Management.png

 

このコードは、初期化・置換・部分配列の関数を必要とし且つ、現在のサンプル数をカウントする必要があります。

また、このコードを長時間実行するとカウントが大きくなりすぎ、置換が正しく行えない可能性もあります。

 

そこでデータキューPtByPt関数を用います。

この関数は内部に初期化・置換処理が実装されており、わざわざ関数を配置する必要がありません。

また、内部では循環バッファを実装していますので、指標番号を指定しなくても自動的に配列操作を循環的に行います。

 

PbyP.png

 

実装すると、上記のように非常にシンプルなコードとなります。

 

このように、PtByPtの関数の中にはすぐに使える便利な関数が準備されています。

下記のパレットからアクセスできますので、是非様々な関数を試してみてください。

 

PtByPt.png

 

 

NIコミュニティのサンプルコード交換のサンプルコードは、MIT Licenseによりライセンス供与されています。

寄稿者