追加情報
この問題では、TDMSの断片化が発生しています。データがTDMSファイルに書き込まれるたびに、メタデータヘッダがデータとともにTDMS_indexファイルに書き込まれます。つまり、TDMSファイルに一度に1ポイント書き込むと、ファイル内のすべてのデータポイントにヘッダ情報があります。下記のコードでは、ループの繰り返しごとにTDMS書き込み関数を使用して、TimeおよびChn1データを書き込むたびにメタデータが書き込まれます。
この影響を最小限に抑えるために、一度に複数のデータポイントをTDMSファイルに書き込むことをお勧めします。または、ビルドインTDMS関数の1つを使用することができます。
TDMSを最適化関数は現在のTDMSファイルを調べ、特定のチャンネルとともにすべてのデータを統合します。大きなTDMSファイルに対してこの関数を使用すると、多少時間がかかりますが、それに続くTDMS読み取り関数のパフォーマンスが向上します。DIAdemでファイルを開くとファイルが最適化され、すべてのメタデータが統合されます。
最後のオプションは、TDMSファイルに書き込む前にバッファを使用して一定量のデータを格納することです。TDMS 書き込み関数ごとに1ポイントのデータを書き込む場合は、TDMSファイルに書き込む前に達成する必要がある最小バッファサイズを指定できます。これにより、書き込まれるヘッダ数が減り、パフォーマンスも向上します。
バッファの設定には、TDMSファイルに書き込むすべてのチャンネルに対して、TDMSプロパティを設定関数を使用してNI_MinimumBufferSizeを希望の値に設定します。詳細については、TDMSファイルでのファイルバッファリングを参照してください。