11-26-2023 10:57 PM
以前GL980とlabviewの接続方法が分からないという質問をさせていただいたのですが、そこから解析していくうえでの接続が調べてもわからないので質問させていただきます。
この画像がGL980本体と接続をし、ディジタル表示や設定などすべてをおこなえるプログラムサンプルになります。
ただ、この画像自体は入力信号などは何も入力されていません。
あくまでデータロガーに出力した信号をlabview上で見るためのプログラムになります。
ここから入力された信号を解析していくためにはどのように関数をつなげていけばいいのでしょうか。
例えば入力された信号をFFT解析したい場合はここにどのようにつなげていけばできるようになるか教えていただきたいです。
11-27-2023 10:08 PM
加えて質問なのですが、そもそもデータロガーなどからリアルタイムで信号を計測して、それをファイル保存せずにそのままFFT解析などを行うことは可能なのでしょうか。そして解析したデータをファイルに保存することは可能なのですか。
11-28-2023 01:22 AM
非常に整理されたブロックダイアグラムになっていると思います。
この情報だけでは、どこに収録データが格納されているか判断できませんが、
No Error ストラクチャ 》Analog ストラクチャ 》の中にある、「GRAPH」と書かれたサブVIの中で、信号を処理しているのかと推測します。
このサブVIに入力されたピンク色の配線、おそらくクラスタだとおもいますが、その中にデータが含まれていれば、「名前でバンドル解除」の関数を用いてデータを取り出すことができます。
直接取り出せれば、あとはFFTなどの関数を用いて信号処理が可能です。
データロガーからのデータをファイルに保存せず、リアルタイムでFFT解析することは可能です。
いずれにせよ、プログラムの作り方に大きく依存します。
11-28-2023 02:10 AM
kenukeさんのやりたいことはたぶんできますが、この絵だけでは何の判断もできません。具体的なアドバイスを受けるためには具体的な質問が必要です。
VIを添付するか、実際にデータを扱っている箇所を見せてください。
また、使用している機材の情報も教えてください。
11-28-2023 02:42 AM
申し訳ありません、情報が足りませんでした。
使う機材はグラフテック社のデータロガーGL980です。
実際にデータを扱う前の段階で現時点ではその個所を見せることができません。
VIはこれになります。
11-28-2023 07:34 AM
このVIはサブVIを呼び出すためのメニュープログラムですね。それぞれのサブVIがパネルを表示して機能を提供するのだと思われます。
Connect(接続)でGL980に接続したら、接続情報をクラスタ(ピンク色の梯子模様の)ワイヤに流します。サブVIはそれを使ってGL980と通信するようになっています。ただしサブVIのファイルが無いので内容はわかりません。
グラフテックのWebサイトにはそれらしきファイルは見当たりませんでした。仮にメーカーに頼まないと入手できないなど、一般公開されていないものであれば、フォーラムで公開(キャプチャ貼付や添付など)するのは問題があります。
ほとんどの場合メーカーは個別のプログラミングには答えてくれないので、自力でサブVIの内容を理解して応用するか、1対1で相談できる方を探す(有償も含む)、くらいでしょうか。
11-29-2023 05:39 AM
後学のためにと、グラフテックさんに相談したらSDKをいただくことができました。
ライブラリや説明書も良く書かれていて、これだけ資料が揃っていれば話は簡・・・残るはLabVIEWのプログラミング(最初の質問の主旨はこれですね?)。
「8 Analog.vi」でリアルタイムデータを読み取ってグラフに描いています。サンプリング周期の情報もあります(Graphのプロパティノード(XScale.Multiplier)に与えているやつ)。
FFTするなら波形データ配列をある程度のサンプル数切り取って処理し、別のグラフに描くようにすればいいと思います。切り取る理由はFFT後の周波数分解能は元の波形データの時間ウィンドウで決まることと、このVIでは波形データを配列に無限に追加しているので次第にサイズが膨れ上がり処理が重くなるためです。
やってみてうまくいかなければまた質問してください。
12-04-2023 06:07 AM
返信が遅れてしまい申し訳ありません。
SDK自体は自分もいただいているのですがいまいち理解ができていなかったため質問させていただきました。
labviewについてもまだ学び始めてそれほど長くないのでわからないことが多いです。頂いたアドバイスを元にプログラミングを作成していきたいと思います。また質問をしてお世話になることがあるかもしれませんが、その時はお返事いただけると幸いです。
12-18-2023 03:01 AM
お久しぶりです。質問させていただきます。
波形データ配列を切り取って処理を行う方法というのは名前でバンドル解除の関数を使えば可能なのでしょうか。
また、波形データの情報が伝わるワイヤというのはGBDheadというサブviから出ているクラスタの部分であっていますか?
申し訳ないのですが、どこから接続の情報が流れているかも自信をもって答えることができないのでそのあたりも教えていただけるとありがたいです。
12-18-2023 09:58 AM
>波形データ配列を切り取って処理を行う方法というのは名前でバンドル解除の関数を使えば可能なのでしょうか。
いいえ。「名前でバンドル解除」はクラスタから要素を取り出すためのものです。
波形データ配列を操作するには配列関数を使います。
>波形データの情報が伝わるワイヤというのはGBDheadというサブviから出ているクラスタ・・・
はい。
>どこから接続の情報が流れているか・・・
「接続の情報」とは具体的に何を想定していますか?