ページへ戻る

− Links

 印刷 

公開Data集​/Hint集​/演算時間削減​/分岐削減 :: Motion cafe

xpwiki:公開Data集/Hint集/演算時間削減/分岐削減

SFC分岐を減らす方法 anchor.png[1]

SFC演算時間[2]のうち、数値演算の部分が多いかと思えば実はそれほどでもなくて、SFCの図の移行や選択分岐[3]並列分岐[4]/結合 などが結構な負担になっています。 イベントタスク[5]で処理する場合など、SFC図の描き方次第で、設定周期で回りきれないソフトになてしまうことも、しばしばあります。

このうち、いくつかの方法を用いることで、分岐を減らすことができますので、その例を紹介します。

Page Top

数値演算結果の上限制限処理 anchor.png[6]

数値計算の結果を上限制限をかける必要がある時に有効です。
この例では、サーボの速度変更をかける場合を想定します。
選択分岐[3]を2つ減らした結果、左の図ではQ173:460μs→207μs、QD173:165μs→74μs に短縮の可能性があることがわかります。 実際にこのプログラム[7]を書くのはそう難しいことではありませんが、可読性が落ちるのでデバグは少々面倒です。 :-D

  • 通常のSFC選択分岐による方法
    元案修正案(i-brownさんご指摘-v2)
    bunki_1.jpg[8]bunki_5.jpg[9]

注意:この図のSFCをイベントタスク[5]とする場合は、連続移行数[12]=1にします。 2以上のn回だと、1回のイベントでn回計算されるため、負荷が跳ね上がります。

Last-modified: 2008-04-02 (水) 15:53:01 (JST) (1954d) by 管理人