Jak narysować wykres czasowy — Wspólny interfejs między ludźmi a kodem i między ludźmi

Ostatnia zmiana: 2026-09-25 / Kategoria: Projektowanie sterowania, PLC

Wykres czasowy przekazuje programiście sekwencję z głowy konstruktora. Ten poradnik jest dla osoby, która ma napisać program mając tylko rysunki i listę połączeń, i dla konstruktora, który chce przekazać sekwencję dalej.

1. Rysunki nie niosą sekwencji. Ten diagram ją niesie

Patrząc na maszynę, nie dowiesz się, jak miała się poruszać. Rysunki pokazują, gdzie są siłowniki i czujniki, ale nie sekwencję „zamknij chwytak po osiągnięciu pozycji wysuniętej”.

Programista, który nie zna sekwencji, może tylko zgadywać. Trafny domysł działa; chybiony zatrzymuje linię przy uruchomieniu. Wykres czasowy wyjmuje tę sekwencję z rysunków i umieszcza ją między sprzętem a oprogramowaniem. Przebiegi i strzałki to tylko powierzchnia; treścią są trzy rzeczy poniżej.

2. Wykres zawiera trzy rzeczy

① Ciągły ruch tnie się na stany

Pierwsza to pocięcie ruchu bez przerw na „stany”. Tłoczysko porusza się ciągle, a silnik kręci się dalej. Oprogramowanie nie poradzi sobie z niczym bez granic, więc gdzieś robi się cięcie: „wysuwanie, dopóki krańcówka pozycji wysuniętej nie przejdzie w ON”, „wysunięty, gdy jest ON”.

Wykres czasowy z 1 Step = 100 ms. Od góry: bFwdCmd (rozkaz wysuwu, PLC→siłownik), nRodPos (położenie tłoczyska, siłownik→PLC, przebieg rosnący od 0 do 100 mm), bFwdLS (krańcówka pozycji wysuniętej, ON w S7, gdy położenie osiąga 100) i wewnętrzny sState (stan) jako bloki wartości Cofnięty, W ruchu, Wysunięty. Strzałki prowadzą od zbocza narastającego rozkazu do W ruchu i od zbocza narastającego krańcówki do Wysunięty.
Dwa górne wiersze to strona maszyny (rozkaz i nieprzerwany ruch tłoczyska); dwa dolne to strona oprogramowania (krańcówka wyznaczająca cięcie i wynikowe stany). Strzałki zaznaczają decyzję, gdzie ciąć.

Dlaczego to ważne — Tylko konstruktor wie, gdzie ciąć. Położenie czujnika i położenie, które konstruktor nazywa „zakończone”, nie zawsze są takie same. Bez cięcia na wykresie programista traktuje ON czujnika jako zakończenie.

② Urządzenia o różnych cyklach się synchronizuje

Druga to procedura, która trzyma w rytmie urządzenia o niezależnych cyklach. PLC skanuje co 10 ms, robot ma własny cykl, sąsiednia maszyna pracuje na innym PLC. Żadne nie zna cyklu drugiego. Samo rzucenie sygnału znaczy, że może zniknąć, zanim druga strona spojrzy, albo zostać odczytany dwa razy, gdy miał być raz.

Wykres czasowy z 1 Step = 10 ms. Od góry: bReq (żądanie, PLC A→PLC B), wewnętrzny bReqRead (żądanie odczytane przez B, które czyta co 50 ms) i bAck (odpowiedź, PLC B→PLC A). W pierwszej połowie żądanie, które A włącza na jeden Step w S1, nigdy nie pojawia się w tym, co czyta B. W drugiej połowie A trzyma żądanie od S6; B czyta je w S10 i odpowiedź przechodzi w ON; A widzi odpowiedź i zrzuca żądanie w S11; B widzi opadnięcie żądania i zrzuca odpowiedź w S13. Trzy strzałki.
Pierwsza połowa: samo rzucenie sygnału (znika między cyklami B). Druga połowa: oczekiwanie na odpowiedź drugiej strony (odczytany niezawodnie bez znajomości cyklu).

Dlaczego to ważne — Każde urządzenie może być zbudowane poprawnie z osobna, a i tak psuje się tam, gdzie się spotykają. Cztery zmiany żądanie ON → odpowiedź ON → żądanie OFF → odpowiedź OFF (handshake) to nie sztuczka. To najmniejsza procedura, którą dwa asynchroniczne urządzenia niezawodnie uzgadniają stan. Pomiń krok, a obie implementacje rozejdą się dokładnie tam.

③ Granicę odpowiedzialności między urządzeniami ustala się jako umowę

Trzecia to obietnica między urządzeniami. Ustala się ją aż do czasów: „zostaw co najmniej 500 ms między przejściem gotowości serwa w ON a żądaniem ruchu”. Czas oczekiwania rysuje się jako przebieg timera, który my odmierzamy, a co podnosi druga strona i kiedy my podnosimy nasze, rozdziela się na wiersze. To, który wiersz do kogo należy, uwidacznia granicę.

Wykres czasowy z 1 Step = 100 ms. Górny wiersz to bServoReady (gotowość serwa, serwowzmacniacz→PLC), ON w S3. Środkowy wiersz to wewnętrzny tReadyWait (czas od gotowości), przebieg rosnący 0, 100, … 500 ms od zbocza narastającego gotowości. Dolny wiersz to bRunReq (żądanie ruchu, PLC→serwowzmacniacz), ON w S8, gdy przebieg osiąga 500. Strzałki prowadzą od zbocza narastającego gotowości do początku przebiegu i od 500 na przebiegu do zbocza narastającego żądania.
Góra: odpowiedzialność drugiej strony (podnieś gotowość). Dół: nasza (zobacz gotowość, odczekaj 500 ms, podnieś żądanie). Przebieg pośrodku to czas, który mierzymy. Ten rodzaj obietnicy zapisuje się w instrukcji obsługi.

Dlaczego to ważne — Gdy to jest uzgodnione, każda strona może dowolnie budować swoje wnętrze. Cokolwiek wzmacniacz robi w środku, strona PLC się nie zmienia, dopóki gotowość i 500 ms są dotrzymane. Bez uzgodnienia obie strony budują na domysłach o drugiej, a uruchomienie zamienia się w „wasza strona jest wolna” i „wasza strona zrzuciła pierwsza”.

3. Tak to wygląda na wykresie

4. Kolejność rysowania

  1. Wypisz urządzenia i sygnały wymieniane na granicy Grupuj wiersze według urządzeń i dodaj do każdego sygnału nazwę zmiennej i adres, np. Żądanie załadunku bLoadReq / Y020.
  2. Narysuj jeden normalny cykl, tnąc na każdej granicy stanu Od startu do zakończenia umieszczaj zbocza po kolei i łącz je strzałkami. Zbocze, którego nie da się połączyć, to cięcie jeszcze nieustalone.
  3. Dodaj warunki czasowe na granicach jako liczby Czasy oczekiwania i terminy odpowiedzi, obok zbocza albo w komentarzu wiersza.
  4. Błędy i powrót rysuj na osobnych wykresach Te same wiersze, inny scenariusz. Ustal, gdzie staje, które sygnały opadają i jak wraca do pozycji wyjściowej.

5. Potknięcia

6. Po narysowaniu wykresu

Strzałki stają się decyzjami schematu blokowego (warunkami przejścia dalej), a wiersze zmiennymi mapy adresów.

Narzędzia użyte do rysunków w tym artykule

Wszystkie rysunki w tym artykule narysowano w Timing Chart Editor i wyeksportowano do SVG.

  • Timing Chart Editor — Układa wiersze według strony sterującej (M / S), rysuje strzałki od zmiany do zmiany i zapisuje czasy oczekiwania oraz komentarze.
  • Flowchart Editor — Zamienia strzałki wykresu na decyzje i oczekiwania i składa schemat blokowy.
  • Address Map Editor — Przydziela adresy PLC sygnałom z wykresu.

Bez instalacji i rejestracji. Działają w przeglądarce.

Powiązane artykuły

yk.builds