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製品ディスカッション

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

最大値のホールド

いつもお世話になっております.高橋と申します.

ランダムに入力される数値の最大値を表示し続けるには,どのようにすればよいのでしょうか? 
例えば,はじめに入力される数値が「5」のとき,「5」を表示し,次に,「5」よりも小さい値が入力された場合は,そのまま「5」を表示します.その後,「5」を超える値が入力されるまで「5」をホールドして,「5」よりも大きい値が入力されたときには,その値が表示されるようにしたいです.
実際に考えてみたところ,比較とループを用いました.しかし,ループする値と入力される値とを比較してしまい,表示されている数値と入力される値を比較するようにプログラムすることができませんでした.そのため,「5」の後に「2」が入力された時に,「5」を表示するまではよいのですが,その「2」の後に「4」が入力されると,「2」と「4」を比較してしまうので,「4」が表示されてしまいます.

参考までに作成しましたviを添付させていただきます.

以上です.よろしくお願いします.
0 件の賞賛
メッセージ1/3
3,335件の閲覧回数
高橋様、

平素よりLabVIEWをご使用いただきまして誠にありがとうございます。
日本ナショナルインスツルメンツ技術部の荒瀬と申します。

お問い合わせいただきました、ランダム値の最大値を表示続ける件につきまして以下のようにお答えさせていただきます。

お送りいただきましたVIを拝見させていただきましたところ、シフトレジスタを使っていらっしゃいますので、
大体の流れとしてはほとんど完成していると思いますが、シフトレジスタへ入力するデータを少々変更させていただきました。

添付致しましたVIをご参照下さい。LabVIEW 8.0用に作成させていただきましたが、それ以前のバージョンをご使用でしたら
ダウンコンバートいたしますのでお申し付け下さい。

全体のプログラムの流れとしましては、以下のようになっております。
1) 0から10の間のランダム数を生成します
2A) 生成されたランダム数が、今のところの最大値(左側のシフトレジスタから出てくる値、最初は0として初期化されております)よりも大きい場合、
ランダム数を今のところの最大値として、右側のシフトレジスタに入力します。
2B) 生成されたランダム数が、今のところの最大値よりも小さい場合は、今のところの最大値は変更せずに
そのまま右側のシフトレジスタに入力します。
3) ステップ1へ

ループが10回実行された後に、実際に生成された10個のランダム数を配列として出力しております。
こちらの配列の中で一番大きい値が「今のところの最大値」の表示器に表示されているかと思います。

以上、ご不明な点などございましたらご返信いただきますようお願い致します。

よろしくお願い致します。

日本NI技術部
荒瀬
0 件の賞賛
メッセージ2/3
3,314件の閲覧回数
いつもお世話になっております.高橋です.

ご指導いただいた方法によりうまくいきました.

ありがとうございました.
0 件の賞賛
メッセージ3/3
3,290件の閲覧回数