ループ内でダイナミックデータタイプを連結する方法



使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題: DAQアシスタント(または信号シミュレーション)Express VIを使用してデータを取得しています。 whileループ内でExpress VIから出力されたダイナミックデータを連結したいのですが、どのようにすればよいのでしょうか?

解決策: 配列や波形データタイプとは異なり、ダイナミックデータタイプを連結する関数はありません。
LabVIEWの機能を用いてこれの作業を実現する方法は二つあります。

一つ目の方法はダイナミックデータタイプを配列か、波形データタイプに変換し、これらのデータタイプを連結する関数を使用する方法です。
この方法を使う利点はデータ連結のプログラミングがより直感的であるためです。しかし、不利な点としてループ内での構造が複雑になることがあげられます。
ダイナミックデータタイプから変換するためには、Express>>信号操作パレットにあるダイナミックデータから変換を使用してください。
変換後の信号を連結するための関数は以下のものとなります。これとシフトレジスタを使用してデータを連結してください。
データタイプ 関数名パレットの場所
配列配列連結(build array)全関数 >> 配列
波形波形連結(Append Waveforms) 全関数 >> 波形 >> アナログ波形

二つ目の方法はダイナミックデータタイプに対して信号を結合関数を使用する方法です。信号を結合Express>> 信号操作パレットにあります。
この方法を使う利点はループ内でのワイヤリングが簡単になることですが、この方法の難点は、ダイナミックデータタイプはデータを連結してもそれぞれのデータが別々のデータとして連結されるだけなので、グラフに表示した際にそれぞれのデータが随時一番上の層に表示されていくだけになります。

添付のサンプルでは上記の二つの方法が例として使用されています。このサンプルをダウンロードし、どのようにプログラミングが行われているか参照して下さい。

関連リンク:

添付:


Dynamic Data Type.vi - Dynamic Data Type.vi



報告日時: 12/01/2003
最終更新日: 09/15/2004
ドキュメントID: 340EAGIP