標準と上級のTDMS関数の違い



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2015ヘルプ
LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ

TDMストリーミングパレットには、標準TDMS VI/関数と上級TMDS VI/関数が含まれます。.tdmsファイルでの高度なファイルI/O操作(非同期の読み取りおよび書き込みなど)を実行するには、上級TDMS VIおよび関数を使用します。

メモ  上級TDMS VIおよび関数の機能が必要ない場合は、標準TDMS VIおよび関数を使用します。上級TDMS VIおよび関数を誤った方法で使用すると、.tdmsファイルが破損する可能性があります。上級TDMS VIおよび関数の使用時にバッファを無効にする場合は、読み書きするデータのサイズはハードディスクのセクタサイズの倍数でなければなりません。

上級TDMS VI/関数は、標準TDMS VI/関数と比較して以下のような利点があります。

  • メタデータと未処理データの別々の書き込み―標準TDMS VIおよび関数は、メタデータと未処理データを同時に書き込みます。上級TDMS VIおよび関数は、メタデータと未処理データを個々に書き込むことができます。「TDMSチャンネル情報を設定」関数を使用してメタデータを.tdmsファイルに書き込み、その後「上級TDMS非同期書き込み」関数を使用して未処理データを.tdmsファイルに書き込みます。
    メモ  .tdmsファイルにデータを書き込む際、そのデータにはメタデータと未処理データが含まれます。.tdmsファイルのメタデータと未処理データの詳細については、以下のサポートドキュメントni.com)を参照してください。
  • (Windows)データの非同期的な読み取りと書き込み―標準TDMS VIおよび関数は、データの同時読み取り/書き込みだけを行います。したがって、サイズの大きいデータの読み書きを行う際にバッファサイズが小さいと、パフォーマンスが低下する恐れがあります。上級TDMS VIおよび関数は、データを非同期的に読み書きできます。バッファを割り当て、バックグラウンドで複数の非同期読み取り/書き込みを実行するには、「TDMS非同期読み取りを構成」関数または「TDMS非同期書き込みを構成」関数を使用します。
  • (Windows) データストリーミング性能を最適化するために外部データに直接アクセスする―上級TDMS VIおよび関数では、標準TDMS VIおよび関数とは異なり、たとえば、データストリーミングデバイスを制御するデバイスドライバのDMA(ダイレクトメモリアクセス)バッファのような、LabVIEW外部のコンポーネントが所有するデータと直接対話することができます。DMAバッファから.tdmsファイルにデータを直接、非同期で書き込んだり.tdmsファイルからDMAバッファに読み込んだりすることができます。DMAバッファのデータに直接アクセスすることにより、大きなデータセットのコピーを削減し、データストリーミング性能を向上させることができます。
    メモ  この機能を使用するには、データストリーミングデバイスのドライバAPIから外部データ値リファレンスを受け取る必要があります。外部データと対話するには、外部データ値リファレンスを上級TDMS非同期読み取り(データリファレンス)関数または「上級TDMS非同期書き込み(データリファレンス)」関数のデータリファレンス入力に配線します。
  • 既存データの上書き―上級TDMS VIおよび関数では、標準TDMS VIおよび関数とは異なり、.tdmsファイルのデータのサブセットを上書きできます。「TDMS次の書き込み位置を設定」関数を使用して、既存データを上書きするオフセットを指定できます。
  • データ書き込み前にファイルサイズを予約―上級TDMS VIおよび関数では、標準TDMS VIおよび関数とは異なり、書き込むデータのディスクスペースを事前に割り当てることができます。これにより、ファイルシステムレベルでの断片化を防ぐことができます。「TDMSファイルサイズを予約」関数を使用して、.tdmsファイルにデータを書き込む前にディスクスペースを事前に割り当てることができます。


この記事は役に立ちましたか。

役に立たなかった