Jak narysować diagram stanów PLC — Stany maszyny na jednym arkuszu, a nienarysowane kombinacje w tabeli

Ostatnia zmiana: 2026-09-24 / Kategoria: Programowanie PLC, projektowanie logiki sterowania

Diagram stanów pokazuje na jednym arkuszu, w jakim stanie jest cała maszyna i który przycisk lub błąd przenosi ją dokąd. Ten poradnik jest dla projektanta sterowania PLC, który nie chce, żeby o kombinacjach brakujących w specyfikacji decydował ten, kto pisze ladder.

Start naciśnięto ponownie, gdy maszyna pracowała, i flaga pierwszego kroku ustawiła się drugi raz. Tej kombinacji nie ma w normalnym przebiegu schematu blokowego, więc autor laddera zdecydował na miejscu. Diagram pokazuje tylko strzałki, o których pomyślałeś. Kombinacje, których nie narysowano, wypełnia się komórka po komórce w tabeli stan × zdarzenie.

Diagram stanów maszyny transportowej. Włączenie zasilania zaczyna w Niezbazowany. Przycisk bazowania przenosi Niezbazowany do Bazowania, zakończenie bazowania do Oczekiwania na start, start do Pracy. Pauza przenosi Pracę do Pauzy; start przenosi Pauzę z powrotem do Pracy. Na końcu kroku z ustawioną flagą zatrzymania cyklu Praca wraca do Oczekiwania na start. Pauza przenosi Bazowanie do Niezbazowany; bazowanie przenosi Oczekiwanie na start do Bazowania; przełączenie na ręczny przenosi Oczekiwanie na start do Niezbazowany. Z wewnętrznej ramki (stany inne niż Stop po błędzie i Stop awaryjny) błąd prowadzi do Stop po błędzie. Reset ze Stop po błędzie prowadzi do Oczekiwania na start, gdy wznowienie jest dozwolone, inaczej do Niezbazowany. Z zewnętrznej ramki (stany inne niż Stop awaryjny) stop awaryjny prowadzi do Stop awaryjny. Odblokowanie stopu awaryjnego, reset i powrót zasilania prowadzą do Niezbazowany.
Maszyna transportowa (przenośnik dowozi, zacisk trzyma, robot odbiera) podzielona na 7 stanów, z wyzwalaczem każdej strzałki (przycisk, zakończenie, błąd). [ ] to warunek przejścia, ( ) uwaga. Strzałka wychodząca z ramki oznacza, że przejście może nastąpić z każdego stanu w ramce. Kroki wykonywane w stanie Praca (oczekiwanie na detal, transport, zacisk, pobranie) idą na osobny schemat blokowy. Na telefonie przewiń rysunek w bok albo dotknij, żeby go otworzyć.

1. Diagram stanów zawiera tylko stany całej maszyny; kroki idą na schemat blokowy

Diagram pokazuje stany całej maszyny. Przykład ma ich 7 i nie pokazuje „oczekiwanie na detal → transport → zacisk → pobranie”, czyli kroków wykonywanych w stanie Praca. Kroki idą na Jak narysować schemat blokowy sterowania PLC jako numery kroków (10, 20, 30…) z warunkiem przejścia dalej. Wstaw tu kroki, a każde zdarzenie możliwe zewsząd, jak błąd czy pauza, potrzebuje jednej strzałki na krok.

Oba arkusze łączy numer kroku. Start z Pauzy wznawia przerwany krok; po bazowaniu zaczyna od pierwszego kroku. Po resecie z błędu, który dopuszcza wznowienie, zaczyna od początku przerwanego kroku.

To, co Jak narysować schemat blokowy sterowania PLC nazywało „krokiem (stanem)”, w tym artykule jest krokiem. Gdy stanów przybywa jak w tym przykładzie, Oczekiwanie na start i Stop po błędzie przenoszą się na ten diagram; wyjście błędu na schemacie blokowym musi wtedy mówić tylko „do Stop po błędzie”. Na maszynie, gdzie operator za każdym razem kładzie detal i naciska start, usuń warunek flagi zatrzymania cyklu i wracaj do Oczekiwania na start na końcu każdego kroku.

2. Stany to rzeczy, które trwają; strzałki to rzeczy, które się zdarzają

  1. Stany nazywaj jak rzeczy, które trwają, a strzałki jak rzeczy, które się zdarzają Nazwy stanów to warunki trwające jakiś czas: „praca”, „oczekiwanie na”. Nazwy strzałek to chwile: „start (naciśnięto)”, „błąd (minął czas)”. Stan o nazwie „Start” nie mówi, czy chodzi o moment naciśnięcia, czy o czas ruchu.
  2. Oddziel stany, w których coś się dzieje, od stanów oczekiwania Szare Bazowanie samo przechodzi do Oczekiwania na start, gdy skończy pracę. Białe Oczekiwanie na start czeka, aż człowiek naciśnie start. Bazowanie kończy się, gdy procedura dojdzie do ostatniego etapu (w Schemat blokowy bazowania (przykład) etap ustawiający bHomeDone).
  3. Strzałkę „z dowolnego stanu” rysuj raz, z ramki Błąd może wystąpić w każdym z 5 stanów. Zamiast 5 strzałek narysuj jedną z ramki obejmującej 5 stanów innych niż Stop po błędzie i Stop awaryjny do Stop po błędzie. Na diagramie z wszystkimi strzałkami nikt nie zauważy, że jednej brakuje.
  4. Narysuj, gdzie maszyna zaczyna po włączeniu zasilania W przykładzie strzałka od kropki włączenia zasilania idzie do Niezbazowany. Po zaniku zasilania detale zostają w połowie cyklu, a położenia osi są niepewne. Trzymaj zmienną stanu w pamięci podtrzymywanej, a maszyna, która straciła zasilanie w Pracy, ruszy, choć nikt nie nacisnął startu.
  5. Gdy jedno zdarzenie ma dwie strzałki, zrób warunki rozłączne Reset ze Stop po błędzie ma dwa cele: Oczekiwanie na start, gdy wznowienie jest dozwolone (E01 i E02 na Jak napisać specyfikację sterowania), inaczej Niezbazowany. Jeśli oba warunki mogą być spełnione naraz, o celu po cichu decyduje kolejność w programie.
  6. Tryby trzymaj na osobnej osi i dla każdego stanu ustal, dokąd idzie zmiana trybu Przykład pokazuje stany trybu automatycznego. Przy przełączeniu na ręczny Niezbazowany i Stop po błędzie dopuszczają ruch ręczny bez zmian, a Oczekiwanie na start przechodzi do Niezbazowany. Nikt nie wie, co przesunięto przy przezbrojeniu, więc jedno bazowanie sprawdza wszystko ponownie przed powrotem do automatu.

3. Kombinacje, których nie narysowano, wypełnij w tabeli stan × zdarzenie

Diagram ma 14 strzałek oprócz włączenia zasilania. Jako tabela to 7 stanów × 10 zdarzeń, 70 komórek, a przepisanie strzałek wypełnia tylko 25. Pozostałych 45 nigdy nie pojawia się na diagramie. Start naciśnięty w Niezbazowany, start naciśnięty ponownie w Pracy: każdą rozstrzyga się komórka po komórce.

Komórka zawiera jedną z pięciu rzeczy, a „nieprzyjmowane” to co innego niż „niemożliwe”. Komórkę nieprzyjmowaną sprawdza się przy odbiorze, naciskając przycisk i widząc, że nic się nie dzieje. Komórki niemożliwej nie da się sprawdzić naciśnięciem; jeśli jednak się zdarzy, to błąd programu i maszyna przechodzi do Stop po błędzie.

Zdarzenie \ StanNiezbazowanyBazowanieOczekiwanie na startPracaPauzaStop po błędzieStop awaryjny
Bazowanie (przycisk)→ Bazowanie/→ Bazowanie////
Bazowanie zakończone×→ Oczekiwanie na start×××××
StartPokaż „Nie wykonano bazowania”/W pozycji wznowienia → Praca
Nie w pozycji → pokaż „Brak pozycji wznowienia”
/→ Praca (wznów przerwany krok)//
Pauza/→ Niezbazowany (przerwij bazowanie)/→ Pauza///
Zatrzymanie cyklu///Ustaw flagęUstaw flagę//
Koniec kroku×××Flaga ustawiona → Oczekiwanie na start
Brak flagi → czekaj dalej na następny detal
×××
Błąd→ Stop po błędzie→ Stop po błędzie→ Stop po błędzie→ Stop po błędzie→ Stop po błędzieNowo zgłoszony błąd o innym numerze dopisz do historii (wznowienie przestaje być dozwolone)Dopisz nowy błąd do historii
Reset/////Przyczyna nadal obecna → /
Wznowienie dozwolone → Oczekiwanie na start
W przeciwnym razie → Niezbazowany
Przed odblokowaniem → /
Odblokowano i zasilanie wróciło → Niezbazowany
Brak zasilania 3 s po odblokowaniu → pokaż „Zasilanie nie wróciło”
Stop awaryjny→ Stop awaryjny→ Stop awaryjny→ Stop awaryjny→ Stop awaryjny→ Stop awaryjny→ Stop awaryjny/
Przełączenie na ręcznyRuch ręczny dozwolony→ Stop po błędzie→ Niezbazowany→ Stop po błędzie→ Stop po błędzieRuch ręczny dozwolonyZmień tylko tryb

„Koniec kroku” to warunek istniejący tylko w Pracy, gdy pierwszy krok (oczekiwanie na detal) czeka na następny detal. Start z Oczekiwania na start przyjmuje się tylko w pozycji wyjściowej dla pierwszego kroku albo przy spełnionych warunkach początku przerwanego kroku przy wznawianiu. Flaga zatrzymania cyklu kasuje się przy wejściu do Oczekiwania na start, Stop po błędzie lub Stop awaryjny. Wiersz błędu obejmuje E01–E04 z listy błędów; zatrzymanie awaryjne (E05) ma własny wiersz.

Komórki, przy których ludzie się wahają, to te.

Tabelę zrób w Excelu, nadaj jej numer wersji i wstaw do specyfikacji. Lista sprawdzania poprawności danych „/,×” z wyłączonym komunikatem o błędzie nadal pozwala wpisać „→ Oczekiwanie na start”. Puste komórki maluj na czerwono formatowaniem warunkowym =ISBLANK(B2). Dodaj zdarzenie, a jeśli nie dodasz wiersza i nie wypełnisz wszystkich 7 komórek, diagram, tabela i ladder się rozjadą.

4. Zbierz stany i zdarzenia, narysuj normalne strzałki, potem wypełnij tabelę

  1. Wypisz stany Weź je ze stanów pracy, które chcesz mieć na lampkach pulpitu i na ekranie. Stan to coś, do czego wchodzi się i z czego wychodzi osobnym działaniem: przyciskiem operatora, błędem, zakończeniem bazowania. Transport i zacisk, które idą dalej na warunkach czujników, to kroki i idą na schemat blokowy, nawet jeśli ekran pokazuje „transport”.
  2. Zbierz zdarzenia Z przycisków i przełączników pulpitu, zakończeń, warunków sprawdzanych tylko w Pracy i błędów. Błędy z listy błędów dzielą jeden wiersz; tylko zatrzymanie awaryjne ma własny. Operacje robiące to samo w każdym stanie, jak kasowanie buczka, zostają poza tabelą.
  3. Narysuj normalne strzałki, a to, co możliwe zewsząd, ujmij w ramkę Najpierw od włączenia zasilania do Pracy i droga powrotu po zatrzymaniu. Błąd i stop awaryjny: po jednej strzałce, z ramki.
  4. Zrób tabelę i wypełnij puste Przepisz strzałki z diagramu, potem wypełnij pozostałe komórki przez /, × lub tekst. Komórki, których nie możesz rozstrzygnąć, zostaw puste i zanotuj obok, kto może (klient, konstruktor, bezpieczeństwo).

5. W PLC trzymaj stan w jednej zmiennej i zmieniaj go najwyżej raz na skan

  1. Stan trzymaj jako numer w jednej zmiennej Wpisz numer stanu do jednej zmiennej całkowitej. Z jedną flagą na stan nic w projekcie nie zapobiega ustawieniu dwóch naraz. Zmienna niepodtrzymywana po włączeniu zasilania ma 0, więc Niezbazowany dostaje numer 0.
  2. Przejścia oceniaj na stanie z początku skanu i zmieniaj go najwyżej raz na skan Oceniaj względem kopii stanu pobranej na początku skanu. Napisane od góry do dołu jako „jeśli Oczekiwanie na start i start, to Praca”, niższy szczebel zobaczy świeżo wpisaną Pracę i przejdzie dalej jeszcze raz. Następny stan wpisz raz na końcu; w instrukcji CASE w ST wykonuje się tylko jedna gałąź na skan.
  3. Przejścia „zewsząd” pisz po przejściach dla poszczególnych stanów Kolejność: przejścia dla stanów → błąd → stop awaryjny. Wygrywa ostatnie przypisanie, więc gdy start i stop awaryjny zbiegną się w jednym skanie, wygrywa stop awaryjny. Każda strzałka z ramki na diagramie to też jedno miejsce w programie.
  4. Oddziel działania przy wejściu od wyjść ciągłych Działania przy wejściu wykonują się tylko w skanie, w którym zmienił się numer. Zapisuj numer błędu przy wejściu do Stop po błędzie w każdym skanie, a historia urośnie o jeden wpis na skan. Wyjścia zależne tylko od stanu, jak lampki i wyświetlanie, to jedno wyrażenie na wyjście: „czerwona = Stop po błędzie lub Stop awaryjny”.
  5. Niemożliwy numer idzie do Stop po błędzie W gałęzi ELSE przejdź do Stop po błędzie i pokaż numer na ekranie. Pusty ELSE albo taki, który wraca do Oczekiwania na start, ukrywa zapis z innego układu lub literówkę. To samo dotyczy sytuacji, gdy zdarzy się komórka × z tabeli.
  6. Przyciski to zdarzenia w chwili naciśnięcia; stop awaryjny i błędy sprawdza się, dopóki trwają Na przyciski patrz przez jeden skan zbocza narastającego. Przyjmuj je przez cały czas ON, a maszyna ruszy w chwili położenia detalu z przytrzymanym startem. Stop awaryjny i błędy odwrotnie: sprawdzaj w każdym skanie, dopóki trwają, żeby włączenie zasilania z wciśniętym przyciskiem nadal przenosiło do Stop awaryjny.

6. Potknięcia: informacja o zatrzymaniu cyklu, liczenie oczekiwania na detale, rola stopu awaryjnego

7. 58 komórek innych niż × to punkty testu odbiorczego

58 komórek innych niż × to punkty testu. Dla komórki → sprawdź stan docelowy i działanie przy wejściu; dla komórki / naciśnij przycisk i sprawdź, że nic się nie dzieje. Błędy i stop awaryjny wywołuj z każdego stanu w ramce, nie tylko z Pracy. Przekroczenie czasu w Bazowaniu i stop awaryjny w Pauzie to kombinacje najczęściej pomijane.

Po pojedynczych komórkach przetestuj sekwencje dwóch operacji. Naciśnij zatrzymanie cyklu, potem pauzę, potem start: czy flaga nadal jest ustawiona i czy na końcu kroku zatrzymuje się w Oczekiwaniu na start? Wyłącz i włącz zasilanie w Pracy: czy startuje w Niezbazowany i nic się nie rusza (albo Stop awaryjny, jeśli przekaźnik bezpieczeństwa wymaga ręcznego resetu)? Sprawdzanie tabeli komórka po komórce nie znajdzie takich błędów kolejności.

Edytor do schematu blokowego kroków

  • Flowchart Editor — Rysuje kroki wykonywane w Pracy (oczekiwanie na detal, transport, zacisk, pobranie) jako numery kroków z warunkiem przejścia dalej. Nie rysuje samego diagramu stanów.

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

Powiązane artykuły

yk.builds