Jak nakreslit časový diagram — Společné rozhraní mezi lidmi a kódem i mezi lidmi navzájem

Naposledy upraveno: 2026-09-25 / Kategorie: Návrh řízení, PLC

Časový diagram předává sekvenci z hlavy strojního konstruktéra programátorovi. Tento návod je pro člověka, který musí napsat program jen z výkresů a seznamu zapojení, i pro strojního konstruktéra, který chce sekvenci předat dál.

1. Výkresy žádnou sekvenci nenesou. Tento diagram ano

Pohled na stroj neřekne, jak se měl pohybovat. Výkresy ukazují, kde jsou válce a snímače, ale ne sekvenci „zavřít uchopovač po dosažení koncové polohy vysunutí“.

Programátor, který sekvenci nezná, může jen hádat. Správný odhad běží; špatný zastaví linku při uvádění do provozu. Časový diagram tuto sekvenci vyjme z výkresů a umístí ji mezi hardware a software. Průběhy a šipky jsou jen povrch; podstatou jsou tři věci níže.

2. Tři věci, které diagram obsahuje

① Rozdělte spojitý pohyb na stavy

První je rozdělit pohyb bez přerušení na „stavy“. Pístnice se pohybuje spojitě a motor se točí dál. Software nezvládne nic bez hranic, takže se někde udělá řez: „vysouvání, dokud koncový spínač vysunutí není ON“, „vysunuto, jakmile je ON“.

Časový diagram s 1 Step = 100 ms. Shora: bFwdCmd (povel vysunutí, PLC→válec), nRodPos (poloha pístnice, válec→PLC, průběh stoupající z 0 na 100 mm), bFwdLS (koncový spínač vysunutí, ON v S7, když poloha dosáhne 100) a interní sState (stav) jako bloky hodnot Zasunuto, Vysouvání, Vysunuto. Šipky vedou z náběžné hrany povelu do Vysouvání a z náběžné hrany koncového spínače do Vysunuto.
Horní dva řádky jsou strana stroje (povel a nepřerušený pohyb pístnice); dolní dva jsou strana softwaru (koncový spínač, který značí řez, a výsledné stavy). Šipky značí rozhodnutí, kde řezat.

Proč na tom záleží — Kde řezat, ví jen strojní konstruktér. Poloha snímače a poloha, kterou strojní konstruktér nazývá „dokončeno“, nejsou vždy stejné. Bez řezu v diagramu považuje programátor ON snímače za dokončeno.

② Synchronizujte zařízení s různými cykly

Druhá je postup, který drží v kroku zařízení s nesouvisejícími cykly. PLC má cyklus 10 ms, robot má vlastní cyklus, sousední stroj běží na jiném PLC. Žádné z nich nezná cyklus druhého. Pouhé vyslání signálu znamená, že může zmizet dřív, než se druhá strana podívá, nebo být zachycen dvakrát, když jste mysleli jednou.

Časový diagram s 1 Step = 10 ms. Shora: bReq (požadavek, PLC A→PLC B), interní bReqRead (požadavek, jak ho čte B, které čte každých 50 ms) a bAck (odpověď, PLC B→PLC A). V první polovině se požadavek, který A zapne na jeden Step v S1, nikdy neobjeví v tom, co B čte. Ve druhé polovině A drží požadavek od S6; B ho přečte v S10 a odpověď se zapne; A vidí odpověď a shodí požadavek v S11; B vidí shození požadavku a shodí odpověď v S13. Tři šipky.
První polovina: jen vyslání signálu (zmizí mezi cykly B). Druhá polovina: čekání na odpověď druhé strany (spolehlivě zachyceno bez znalosti cyklu).

Proč na tom záleží — Každé zařízení může být samo o sobě správně postaveno a přesto se rozbít tam, kde se setkají. Čtyři změny požadavek ON → odpověď ON → požadavek OFF → odpověď OFF (handshake) nejsou trik. Jsou to nejmenší postup, kterým se dvě asynchronní zařízení spolehlivě shodnou na stavu. Vynechte krok a obě implementace se přesně tam rozejdou.

③ Zafixujte hranici odpovědnosti mezi zařízeními jako smlouvu

Třetí je slib mezi zařízeními. Určuje se až do časování: „mezi zapnutím Servo Ready a požadavkem na pohyb nechat alespoň 500 ms“. Čekací doba se kreslí jako průběh časovače, který běží u nás, a co druhá strana vystaví a kdy vystavíme my, se rozdělí do řádků. Který řádek komu patří, je to, co hranici zviditelní.

Časový diagram s 1 Step = 100 ms. Horní řádek je bServoReady (Servo Ready, servozesilovač→PLC), ON v S3. Prostřední řádek je interní tReadyWait (čas od Ready), průběh stoupající 0, 100, … 500 ms od náběžné hrany Ready. Dolní řádek je bRunReq (požadavek na pohyb, PLC→servozesilovač), ON v S8, když průběh dosáhne 500. Šipky vedou z náběžné hrany Ready na začátek průběhu a z 500 průběhu na náběžnou hranu požadavku.
Nahoře: odpovědnost druhé strany (vystavit Ready). Dole: naše (vidět Ready, počkat 500 ms, vystavit požadavek). Průběh uprostřed je čas, který měříme my. Druh slibu, který se píše do návodu.

Proč na tom záleží — Jakmile je to dohodnuto, každá strana si může vnitřek postavit, jak chce. Ať zesilovač uvnitř dělá cokoli, strana PLC se nemění, dokud jsou dodrženy Ready a 500 ms. Bez dohody obě strany staví na dohadech o druhé a uvádění do provozu se změní v „vaše strana je pomalá“ a „vaše strana to shodila první“.

3. Jak to vypadá v diagramu

4. Pořadí kreslení

  1. Vypište zařízení a signály vyměňované na hranici Řádky seskupte podle zařízení a ke každému signálu přidejte název proměnné a operand, např. Požadavek na vstup bLoadReq / Y020.
  2. Nakreslete jeden normální cyklus s řezem na každé hranici stavu Od startu po dokončení umisťujte hrany po pořadí a spojujte je šipkami. Hrana, kterou nelze spojit, je řez ještě nerozhodnutý.
  3. Přidejte časové podmínky na hranicích jako čísla Čekací doby a lhůty odpovědí, vedle hrany nebo v komentáři řádku.
  4. Poruchy a obnovu kreslete na samostatné diagramy Stejné řádky, jiný příběh. Určete, kde se zastaví, které signály spadnou a jak se vrátí do výchozí polohy.

5. Kde lidé klopýtají

6. Po nakreslení diagramu

Šipky se stanou rozhodnutími vývojového diagramu (podmínkami pokračování) a řádky se stanou proměnnými mapy adres.

Nástroje použité pro obrázky v tomto článku

Každý obrázek v tomto článku byl nakreslen v Timing Chart Editor a exportován jako SVG.

  • Timing Chart Editor — Uspořádejte řádky podle strany, která je budí (M / S), kreslete šipky ze změny na změnu a zapisujte čekací doby a komentáře.
  • Flowchart Editor — Převádí šipky diagramu na rozhodnutí a čekání a sestavuje vývojový diagram.
  • Address Map Editor — Přiděluje operandy PLC signálům diagramu.

Bez instalace, bez registrace. Běží v prohlížeči.

Související články

yk.builds