NI製品ディスカッション

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQ収録データのサンプリングを1kHzで安定して収録する方法

Solved!
Go to solution

現在リアルタイムモジュールで高速にデータを集録していくシステムを構築しています。

ファイルの保存形式としてTDMSを採用しようと考えております。

複数データをまとめて1行とし、リスト形式で保存していくことを考えており、データはターゲットからホストへDMA-FIFOを用いて送られてきております。その際、1行分のデータをインタリーブしてからFIFOに書き込み、ホストでデシメートして読み込んでいます。

 

TDMSはファイル、グループ、チャンネルの3つの階層に分かれているというのはわかりました。

ファイル作成→書き込み→ファイルクローズを行うような簡単なVIで動作を確認してみたところ、データには単体の数値定数などは渡せず、配列等しか渡せません。

 

例えば、

| 気温 | 湿度 | 気圧 | 

| 24.5 |   30  |  950 | 

| 25.5 |   40  |  970 | 

| 26.5 |   50  |  940 | 

| 21.3 |   25  |  998 | 

のように、「気温、湿度、気圧」を1セットで100us毎に記録していくというシステムを構築する場合、1つのチャンネルに相当するのは「気温、湿度、気圧」の1セットになるのでしょうか?

 

というのも最初、私はホスト側で「気温、湿度、気圧」をデシメートしてバラバラにした後、Forループ等で気温チャンネル、湿度チャンネル、気圧チャンネルに振り分けるのかなと考えておりました。つまり最初に3つのチャンネルを作成しておいて、そこに順次入れていく。

それとも、インサートされたデータ1組に対してチャンネルが一つ作られていく感じなのでしょうか。もしそうなら、私のシステムではチャンネル名やメタデータなんかはほとんど意味を成さなくなり、後からデータ処理するのも大変のような気がします。

0 Kudos
Message 1 of 3
(305 Views)
Solution
Accepted by topic author yoshi-k
11-04-2018 08:30 PM

例として挙げられた3種類のデータを保存される場合でも、1つのチャンネルに
相当するのはそれぞれのデータ(気温で1チャンネル、温度で1、気圧で1チャンネル)になります。
イメージとしては、以下のような結果となればよいでしょうか?

Result.PNG

 

 

下記のVIを実行すると上記のような形式でデータが書き込まれます。TDMS Write Example.png

 

 

 

Emboar
Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
0 Kudos
Message 2 of 3
(286 Views)

ありがとうございます!

大変助かりました。

おかげさまで希望の動作を得ることができました。

0 Kudos
Message 3 of 3
(276 Views)