From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI製品ディスカッション

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

時間を表示

解決済み
解決策を見る

写真のVIはY=0を交差した回数を出すものとなっております。このVIから交差した時間を出したいと思っているのですがうまくいきません。誰か教えてください。お願いします。

0 件の賞賛
メッセージ1/22
3,102件の閲覧回数
解決策
トピック作成者cva125が受理

平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。

 

スクリーンショットを拝見したところ、波形データタイプからY配列をバンドル解除して、Forループで処理しておりますので、それにdt(Δt)を合わせて処理するようにすれば良いと思います。

 

Y配列は、サンプリング情報のサンプル数で設定されたサイズと同等の量になりますが、バンドル解除を拡張してdtを読み取れるようにすると、サンプリング情報の周波数で設定した速さの逆数が出力されます。これがY配列における値間隔となりますので、ループの反復回数と乗算することで各ループでの”時間”となり、その値をAdd関数がTrue値のときだけ収集するようにForループのループトンネルの条件に設定することで、Trueのときの時間が出力されます。

 

display time.png

 

上記の画像は、スニペットにしておりますので、画像を保存して新規VIのダイアグラムにドラッグすることですぐ動作確認がおこなえます。

 

ご確認のほどよろしくお願い申し上げます。

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

返事が遅くなり大変申し訳ございません。先日は、ご丁寧に教えていただきありがとうございます。

もう1つ質問なのですが、このviに手を加えて半周期分から任意の4点(半周期ならどこでもいい)の値を出すことは可能なのでしょうか?

可能でしたらご教授の程お願い申し上げます。

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

コードを変更する前にカーソルを使ってみては如何でしょうか?
波形グラフを右クリックして、表示項目 >> カーソルの凡例を選択すると下図のようにカーソル凡例が表示されます。この中で右クリックするとカーソルを追加することができるのですが、単一プロットを選択するとカーソルがグラフの波形に追随します。この凡例にカーソルで選択したX(時間)とY(振幅)が表示されます。

 

slope.png

 

プロパティノードを使うと、カーソルの情報が抽出可能です。それにより、プログラム的にカーソル情報も扱うことが可能です。

 

他にも交差した時間の配列指標から半周期分の配列数を算出する方法も考えられますので、ユーザが操作して指定する部分、プログラム的に自動化したい部分をもう少し具体的に決定するとプログラミング手法も絞れると思います。

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

解決しました。基礎から丁寧に回答してくださりありがとうございます。

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

無事解決して何よりです。

 

また何かございましたらご投稿いただけると幸いです。

今後ともよろしくお願い申し上げます。

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

何回もすみません。交差した時間が出せるのですが2回目に交差した時間も出すことは可能なのでしょうか?可能でしたら教えて頂けませんでしょうか?

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

Y=0に交差した時間ということですよね?

 

前回添付したフロントパネルの画像では、周波数が2Hzでしたので、交差時間表示器では、0.5と1つだけすが、周波数をあげれば複数交差するようになりますので、2つ目以降の交差時間も配列の中に表示されます。

 

もしご質問を読み間違えているようでしたら、ご指摘ください。

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

分かりました。ありがとうございます。

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

今更すみません。

このVIはY=0でクロスした回数を表示していますがY=0.5にクロスした回数やY=0.25の時クロスした回数などその都度クロスしたところを変えたい場合はまた別物のVIを作らないとダメですよね?

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