NI製品ディスカッション

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

2つの動作を交互に行うには

前回積分値を引き算する

で上手くいかなかった件

     ダイアグラムを見ていないので、推測になりますが

     シフトレジスタの設置場所が間違っていないでしょうか?

     シーケンス内のループではなくて、一番外のループに設置してください。

 

サイクル毎にしきい値を増量するの件

    使用する反復端子が間違っています。

    シーケンス内ループの反復端子ではなくて

    一番外ループの反復端子を使用してください。

     注意  反復端子は0からカウントするので、初回ループ時1となるように

         1を足して使用してください。

 

22998i53F1454954D534E0

 

23000iA1EA1CD33380A10B

メッセージ11/15
1,798件の閲覧回数

xyzz様、返信ありがとうございました。

 

ご指摘ありがとうございました。

サイクル毎にしきい値を増量する方法で、問題が解決し、希望していた動作をすることができました。

後で気づいたのですが、最終的に累積した数値が残ると便利なので、こちらの方法を採用させていただきました。

 

目的としていたプログラムが完成できたと思います。

改めて、親切丁寧にサポートしていただき、ありがとうございました。

今後ともよろしくお願いいたします。

0 件の賞賛
メッセージ12/15
1,782件の閲覧回数

積分関数を使った事が無く、このような振る舞いをするとは知りませんでした。

こちらこそ勉強になりました。

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

 

0 件の賞賛
メッセージ13/15
1,772件の閲覧回数

話が終息しているところ申し訳ありませんが、途中でNIの方が「デザインパターン」と言い出しているにも関わらずその後まったく触れられていないのが気になりました。

ディスカッションフォーラムではめったにデザインパターンにお目にかからないので、ぜひともサンプルが欲しいと思った次第です。

 

このスレッドの処理内容でしたらステートマシンで決まりでしょうか?他にお勧めのデザインパターンはないでしょうか?デザインパターン選定の基準も含めて意見が欲しいところです。

 

よろしくお願いします。

0 件の賞賛
メッセージ14/15
1,722件の閲覧回数

Yoshihito 様、 xyzz 様、 高須 様

 

 

お世話になっております。

 

ご返信が遅れまして大変申し訳ございません。 Yoshihito 様に添付いただきました状態遷移と、xyzz 様の乱数を使用した部分を参考にいたしまして、ステートマシンを使用した VI を作成いたしました。 LabVIEW 8.2 用に保存した VI 、およびプロジェクトを添付いたします。プロジェクト内の Main.vi という VI をハイライト実行して実行の様子をブロックダイアグラム上で見てみてください。

 

ステートマシンは、状態遷移図の一つ一つの状態をケースストラクチャのケースとして用意しておき、While ループが一度回る度にケースストラクチャ内に用意されているケースの一つを実行し、シフトレジスタで次回の While ループで実行する状態を受け渡します。より詳しい解説が以下のページにございますが、現在英語版のみのご案内となっております。

 

Application Design Patterns: State Machines

 

もし、私の添付いたしました VI でご不明点等がございましたらまたお気軽にご連絡ください。よろしくお願いいたします。

メッセージ15/15
1,622件の閲覧回数