RoboLinkLab spoj dělá smyčku nepředvídatelnou

Tohle je statická kopie kapitoly pro vyhledávače. Interaktivní verze má animované obrázky, kontrolní otázky a tlačítka, která příklad načtou do kalkulačky.

Watchdog: dvě čísla a obě jsou špatně

Bezdrátová smyčka potřebuje pravidlo pro ticho. To pravidlo má jen dvě čísla — kolik zmeškaných period se ještě toleruje a co se pak stane — a obě strany té volby jsou špatné.

málo povolených → stojí bezdůvodněmoc povolených → jede bez řízeníčasový limit30 msplaných zastavení233,3/denujede, než si všimne4,5 cmcelá dráha do stání64 cmnevšiml si · reakce · brzdění64 cmJeden povolený výpadek navíc zředí planá zastavení faktorem 1/p — a stojí jednu periodu slepoty.
Vlevo je cena přísného nastavení, vpravo cena benevolentního. Uprostřed to, co z toho vyjde. Zkus posunout ztrátovost.

Krátký limit

Stroj se zastaví, kdykoli rádio kýchne. Při pěti procentech ztrátovosti a limitu na jeden výpadek se to stane každou dvacátou periodu — u smyčky na 100 Hz pětkrát za sekundu. Provoz s takovým nastavením nevydrží ani hodinu a první, co obsluha udělá, je že watchdog vypne. To je nejhorší možný výsledek celé té úvahy.

Dlouhý limit

Stroj jede dál, i když už dávno nikdo neřídí. Půl sekundy při jednom a půl metru za sekundu je pětasedmdesát centimetrů nevšimnutí si — a teprve pak začne brzdit.

sslepý = v · k · Tsdráha, než si toho někdo všimne

Jak se ta dvě čísla volí

Šance na k výpadků za sebou je p^k, takže každý povolený výpadek navíc zředí planá zastavení faktorem 1/p a přidá jednu periodu slepoty. Při pěti procentech to je dvacetinásobek méně planých zastavení za jednu periodu — a to je mimořádně výhodný obchod, který se dá udělat jen několikrát.

povolených výpadkůP(planě) při p = 5 %na 100 Hz jednou zaslepá dráha při 1,5 m/s
15 %0,2 s1,5 cm
20,25 %4 s3 cm
30,0125 %80 s4,5 cm
46 ppm27 min6 cm
50,3 ppm9 hodin7,5 cm

Ta tabulka je celý návrh watchdogu. Čtyři až pět povolených výpadků obvykle sedne: planá zastavení jsou vzácná a slepá dráha je pár centimetrů. Vždycky se ale musí ověřit na skutečném rozdělení ztrát, ne na tomhle nezávislém modelu — o tom byla minulá kapitola, a se shluky vyjdou čísla v prvním sloupci o dva řády jinak.

A co se stane potom

„Zastavit“ není jedna věc. Zastavení kategorie 1 podle IEC 60204-1 znamená řízené zabrzdění s odpojením až po zastavení; kategorie 0 znamená okamžité odpojení energie a dojezd setrvačností. Pro výpadek spoje je správně kategorie 1 — brzdit se dá, protože pohon je pořád napájený a jen nedostává povely.

Chyba, která se dělá pravidelně: watchdog se nastaví na komunikačním stacku, ne v aplikaci. Stack pak hlásí spojení jako živé, protože se udržuje vlastními keep-alive rámci, zatímco aplikace nedostala čerstvá data už tři sekundy. Watchdog musí hlídat data, ne spojení.

Vzorce v této kapitole