NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

TDMSの使い方

解決済み
解決策を見る

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

ファイルの保存形式として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 件の賞賛
メッセージ1/2
2,108件の閲覧回数
解決策
トピック作成者yoshi-kが受理

すみません
解決しました。

デシメートした後のデータは1D配列になっていたので、それを各々のチャンネルへ振り分けました。

失礼致しました。

0 件の賞賛
メッセージ2/2
2,084件の閲覧回数