11-02-2018 03:36 AM
現在リアルタイムモジュールで高速にデータを集録していくシステムを構築しています。
ファイルの保存形式として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組に対してチャンネルが一つ作られていく感じなのでしょうか。もしそうなら、私のシステムではチャンネル名やメタデータなんかはほとんど意味を成さなくなり、後からデータ処理するのも大変のような気がします。
解決済! 解決策の投稿を見る。
11-02-2018 06:13 AM
すみません
解決しました。
デシメートした後のデータは1D配列になっていたので、それを各々のチャンネルへ振り分けました。
失礼致しました。