- ソース を表示
- 公開Data集/Hint集/演算時間削減/分岐削減 は削除されています。
5: 2008-06-19 (木) 09:10:30 なーお  |
現: - no date -  |
| - | **SFC分岐を減らす方法 [#r949943c] | |
| - | SFC演算時間のうち、数値演算の部分が多いかと思えば実はそれほどでもなくて、SFCの図の移行や選択分岐・並列分岐/結合 などが結構な負担になっています。 イベントタスクで処理する場合など、SFC図の描き方次第で、設定周期で回りきれないソフトになてしまうことも、しばしばあります。 | |
| | | | |
| - | このうち、いくつかの方法を用いることで、分岐を減らすことができますので、その例を紹介します。 | |
| - | | |
| - | ***数値演算結果の上限制限処理 [#gea300bd] | |
| - | 数値計算の結果を上限制限をかける必要がある時に有効です。 | |
| - | この例では、サーボの速度変更をかける場合を想定します。 | |
| - | 選択分岐を2つ減らした結果、左の図ではQ173:460μs→207μs、QD173:165μs→74μs に短縮の可能性があることがわかります。 実際にこのプログラムを書くのはそう難しいことではありませんが、可読性が落ちるのでデバグは少々面倒です。 :-D | |
| - | | |
| - | -通常のSFC選択分岐による方法 | |
| - | |CENTER:|CENTER:|c | |
| - | |元案|修正案(i-brownさんご指摘-v2)| | |
| - | |&ref(bunki_1.jpg,mw:240,mh:240);|&ref(bunki_5.jpg,mw:240,mh:240);| | |
| - | | |
| - | -選択分岐を無くした方法 | |
| - | |CENTER:|CENTER:|c | |
| - | |元案|修正案(i-brownさんご指摘)| | |
| - | |&ref(bunki_2.jpg,mw:240,mh:240);|&ref(bunki_4.jpg,mw:240,mh:240);| | |
| - | | |
| - | 注意:この図のSFCをイベントタスクとする場合は、連続移行数=1にします。 2以上のn回だと、1回のイベントでn回計算されるため、負荷が跳ね上がります。 | |
Counter: 0,
today: 0,
yesterday: 0