02-21-2012 03:02 AM
お世話になります。
現在Whileループを回して電圧を計測し、その値からTURE、FALSEを検出しています。
そこで検出されたTRUEの時間間隔を知るにはどうすればいいでしょうか?
算出された時間間隔の平均値をとろうとしています。
バージョンは6.1を使用しております。
ご教授のほうよろしくお願いします。
02-22-2012 11:27 PM
tooyama 様
弊社ディスカッションフォーラムをご利用頂きまして誠にありがとうございます。
日本ナショナルインスツルメンツ技術部の桑島と申します。
ご質問頂きましたTRUEの間隔を測る件に関してご連絡差し上げます。
電圧の値によってTRUEもしくはFALSEを出力されているとのことですので、その値をケースストラクチャに入力するのはいかがでしょうか。
そしてTRUEのケースのみ経過時間を計測するというプログラムを組めばtooyama様のご希望の動作が確認できると思われます。
経過時間を測る関数はティックカウント(プログラミング ≫ タイミング ≫ ティックカウント(ms))を推奨致します。
EXPRESS VIの経過時間でも出来ますが、ティックカウントに比べると重いため、無駄な時間を費やすデメリットがございます。
私の方でもサンプルを構築致しましたので、スクリーンショットを添付させて頂きます。
乱数で待機関数の値を入力し、その乱数が0.5以上の時の時間間隔を計測する仕様になっております。
①初期ティックカウントをループ外に配置し、TRUEケース内に配置したティックカウントから引くとTRUE毎の時間経過が計れます。
②さらに、シフトレジスタを使用することで、現在値-前のTRUE時間値=TRUEの間隔時間 というプログラムを構築致しました。
③そしてTRUEの間隔時間を配列連結追加(プログラミング » 配列 » 配列連結追加)を使って配列にします。
④FALSE内ではシフトレジスタ値をそのまま再入力する形に致しました。
⑤最後に配列連結された配列がTRUE時の間隔時間の配列になります。
上記内容をご確認の上、ご不明な点などございましたら再度ご連絡いただけますでしょうか。
宜しくお願い致します。
日本ナショナルインスツルメンツ株式会社
技術部 桑島
02-23-2012 03:06 AM
桑島 様
丁寧な回答ありがとうございます。
ケースストラクチャを使ってやってみようと思います。
頂いた画像を参考に作製してみましたが、どうにもうまく動きませんでした。
おそらくバージョンが古いためフラットシーケンスストラクチャを使っていないためだと思いますが、スタックシーケンスストラクチャでも可能でしょうか?
また、ティックカウントの値がとても大きな値になるのは仕様でしょうか?
知識が足りず申し訳ないですがよろしくお願いします。
試作したものを添付させて頂きます。
02-24-2012 01:13 AM
tooyama 様
弊社ディスカッションフォーラムをご利用頂きまして誠にありがとうございます。
日本ナショナルインスツルメンツ技術部の桑島です。
サンプルの件に関してご連絡差し上げます。
仰る通り、フラットシーケンスストラクチャもご使用いただけます。
プログラムの動作を①待機②時間間隔の計算 の順序付けを行いたい為、シーケンスを使った次第です。
差を取る前のティックカウントの値はOSからの値になりますので、プログラム実行時でも仰る通り、大きな値になります。
ティックカウントは仕様でミリ秒を出力していますのでご了承くださいませ。
添付画像で私が気になった点は、配列1がシフトレジスタに配線されておりますが、その配列の中身は0でしょうか。
サンプル内では、0の定数の配列を使用しています。
上記内容をご確認の上、お手数ですが再度ご連絡いただけますと幸いです。
宜しくお願い致します。
日本ナショナルインスツルメンツ株式会社
技術部 桑島
02-25-2012 11:32 PM
桑島 様
ご回答ありがとうございます。
無事に求めたい値を測ることができました。
もう一つだけお尋ねしたいことがあります。
TRUEの間隔を測る際に、測定の問題により時々連続してTRUEが検出され、正確に測れないことがあります。
このような問題の解決策がありますでしょうか?
もし何か方法がありましたらよろしくお願いします。
02-26-2012 10:38 PM
tooyama 様
日本ナショナルインスツルメンツ技術部の桑島です。
解決策をお調べ致しますので、以下の質問にお答え頂けますよう宜しくお願い致します。
-計測の問題とは具体的にどういった問題でしょうか。
-時々起こるとのことですが、頻度、もしくはエラー時の関連性などを教えていただけますでしょうか。
-正確に計れない場合、他の数値とどれほど異なるのでしょうか。
-正確に計れていない、という判断に至った理由を教えていただけますでしょうか
上記内容をご確認の上、お手数ですが再度ご連絡いただけますと幸いです。
宜しくお願い致します。
日本ナショナルインスツルメンツ株式会社
技術部 桑島