03-01-2019 11:24 PM
写真のVIはY=0を交差した回数を出すものとなっております。このVIから交差した時間を出したいと思っているのですがうまくいきません。誰か教えてください。お願いします。
解決済! 解決策の投稿を見る。
03-03-2019 12:02 AM
平素よりNI製品をご愛顧頂きありがとうございます。
日本ナショナルインスツルメンツ技術部の上野です。
スクリーンショットを拝見したところ、波形データタイプからY配列をバンドル解除して、Forループで処理しておりますので、それにdt(Δt)を合わせて処理するようにすれば良いと思います。
Y配列は、サンプリング情報のサンプル数で設定されたサイズと同等の量になりますが、バンドル解除を拡張してdtを読み取れるようにすると、サンプリング情報の周波数で設定した速さの逆数が出力されます。これがY配列における値間隔となりますので、ループの反復回数と乗算することで各ループでの”時間”となり、その値をAdd関数がTrue値のときだけ収集するようにForループのループトンネルの条件に設定することで、Trueのときの時間が出力されます。
上記の画像は、スニペットにしておりますので、画像を保存して新規VIのダイアグラムにドラッグすることですぐ動作確認がおこなえます。
ご確認のほどよろしくお願い申し上げます。
06-03-2019 02:25 AM
返事が遅くなり大変申し訳ございません。先日は、ご丁寧に教えていただきありがとうございます。
もう1つ質問なのですが、このviに手を加えて半周期分から任意の4点(半周期ならどこでもいい)の値を出すことは可能なのでしょうか?
可能でしたらご教授の程お願い申し上げます。
06-03-2019 07:57 AM
コードを変更する前にカーソルを使ってみては如何でしょうか?
波形グラフを右クリックして、表示項目 >> カーソルの凡例を選択すると下図のようにカーソル凡例が表示されます。この中で右クリックするとカーソルを追加することができるのですが、単一プロットを選択するとカーソルがグラフの波形に追随します。この凡例にカーソルで選択したX(時間)とY(振幅)が表示されます。
プロパティノードを使うと、カーソルの情報が抽出可能です。それにより、プログラム的にカーソル情報も扱うことが可能です。
他にも交差した時間の配列指標から半周期分の配列数を算出する方法も考えられますので、ユーザが操作して指定する部分、プログラム的に自動化したい部分をもう少し具体的に決定するとプログラミング手法も絞れると思います。
06-04-2019 08:53 PM
解決しました。基礎から丁寧に回答してくださりありがとうございます。
06-04-2019 09:34 PM
無事解決して何よりです。
また何かございましたらご投稿いただけると幸いです。
今後ともよろしくお願い申し上げます。
07-04-2019 01:39 AM
何回もすみません。交差した時間が出せるのですが2回目に交差した時間も出すことは可能なのでしょうか?可能でしたら教えて頂けませんでしょうか?
07-04-2019 02:14 AM
Y=0に交差した時間ということですよね?
前回添付したフロントパネルの画像では、周波数が2Hzでしたので、交差時間表示器では、0.5と1つだけすが、周波数をあげれば複数交差するようになりますので、2つ目以降の交差時間も配列の中に表示されます。
もしご質問を読み間違えているようでしたら、ご指摘ください。
07-05-2019 02:58 AM
分かりました。ありがとうございます。
08-05-2019 06:38 AM
今更すみません。
このVIはY=0でクロスした回数を表示していますがY=0.5にクロスした回数やY=0.25の時クロスした回数などその都度クロスしたところを変えたい場合はまた別物のVIを作らないとダメですよね?