Pewnego razu stażysta zapytał, dlaczego jego program maszyny napełniającej czasami pomijał krok i napełniał butelkę przed jej ustawieniem. Odpowiedzią nie był brak timera — brakowało stanu. Jego program był zbiorem niezależnych warunków; prawdziwe maszyny sekwencyjne to maszyny stanowe, a różnica polega na różnicy między programem, który działa na papierze, a programem, który działa w poniedziałek.
Kontrola sekwencyjna jest wszędzie w automatyzacji: linia napełniająca, talerz obrotowy, prasa do stemplowania, kabina malarska. Klasycznym błędem jest pisanie każdego wyjścia jako luźnego warunku — "gdy czujnik A i timer B, otwórz zawór C" — a następnie debugowanie niemożliwych kombinacji o 2 w nocy. Rozwiązaniem jest przestanie myśleć w kategoriach wyjść i rozpoczęcie myślenia w kategoriach stanów.
Czym właściwie jest maszyna stanowa
Maszyna stanowa to zestaw nazwanych kroków i reguł przechodzenia między nimi. Maszyna zawsze znajduje się dokładnie w jednym kroku: CZEKAJ, USTAW, NAPEŁNIJ, ZAMKNIJ, WYRZUĆ. Każdy krok ma działania wejściowe, warunki wyjścia i strażników. Butelka jest napełniana tylko w kroku NAPEŁNIJ, a krok NAPEŁNIJ jest osiągalny tylko z USTAW, gdy czujnik butelki potwierdzi pozycję. To brzmi jak biurokracja; zachowuje się jak inżynieria.
W FBD xLogicSoft maszyna stanowa czysto mapuje się na klasyczny wzór rejestru przesunięcia lub na flagi F używane jako bity kroków. Wzór: jedna flaga F na krok, zestaw warunków przejścia i blok przejścia jednokrotnego, aby maszyna przesuwała się dokładnie o jeden krok na zdarzenie. Ponieważ bieżący krok jest zawsze widoczny — LCD pokazuje, która flaga F jest aktywna — operator i technik mogą na pierwszy rzut oka zobaczyć, gdzie maszyna myśli, że się znajduje. Ta jedna funkcja skraca czas rozwiązywania problemów bardziej niż jakikolwiek podręcznik diagnostyczny.
Budowanie jej: Trzy Stacje Napełniające
Weźmy prosty przykład z trzema stacjami: butelka przybywa, jest napełniana, jest zakręcana. Kroki:
- Krok 0 IDLE: wszystkie wyjścia wyłączone. Przejście: czujnik obecności butelki, przycisk start.
- Krok 1 POZYCJA: taśma transportowa działa, aż butelka zatrzyma się przy głowicy napełniającej. Przejście: czujnik pozycji.
- Krok 2 NAPEŁNIANIE: zawór napełniający otwiera się na określony czas lub do momentu, gdy czujnik poziomu zadziała. Przejście: czas minął.
- Krok 3 ZAKRYWANIE: zakręcacz opuszcza się i naciska. Przejście: potwierdzono ciśnienie, czas minął.
- Krok 4 WYRZUCENIE: taśma transportowa działa, aby przesunąć butelkę na zewnątrz. Przejście: czujnik wyjścia się zwalnia.
Każde przejście wykorzystuje blok On-Delay lub Wiping Relay (jednokrotnego działania), aby postęp następował dokładnie raz. Strażnikiem każdego przejścia jest sam krok — Krok 2 nie może się rozpocząć, chyba że maszyna znajduje się w Kroku 1, koniec kropka. Butelka nie może być napełniana wcześniej, ponieważ "wcześnie" nie istnieje jako warunek; nie ma go w tabeli kroków, a butelka nie jest ustawiona, dopóki maszyna nie opuści USTAW.
Daj operatorowi ręczny tryb kroku, zanim dasz mu cokolwiek innego. Wejście selektora pozwala maszynie przesuwać się o jeden krok na raz przez sekwencję, dzięki czemu technik może przesuwać linię przez USTAW, NAPEŁNIJ i ZAKRĘCENIE indywidualnie, obserwując siłowniki. Maszyna stanowa sprawia, że jest to trywialne — przesuwanie o jeden krok to po prostu wymuszenie następnego przejścia — i przekształca uruchamianie z tajemnicy w listę kontrolną. Maszyny, które nie mogą być ręcznie przesuwane, to maszyny, które są debugowane przy użyciu śrubokrętu.
Test Trybu Awarii
Oto ćwiczenie, które ujawnia, czy zbudowałeś maszynę stanową, czy stos warunków: wymień sytuacje awaryjne. Butelka zablokowana pod głowicą napełniającą? Maszyna powinna pozostać w NAPEŁNIJ, zatrzymać pompę i alarmować — a nie wędrować do WYRZUĆ i zrzucać produkt na podłogę. Czujnik zawodzi i raportuje "butelka obecna" na zawsze? Maszyna powinna zakończyć krok USTAW i alarmować, a nie napełniać tę samą niewidoczną butelkę przez całą noc. Czujnik zawodzi w drugą stronę, "nigdy obecny"? Maszyna czeka cierpliwie — to w porządku, to jest to, co maszyny powinny robić.
Napisz watchdog do programu: jeśli maszyna siedzi w jakimkolwiek kroku nie-IDLE dłużej niż maksymalny czas kroku, przejdź do stanu FAULT, odetnij wyjścia i migaj alarmem. Maksymalny czas to liczba, którą już znasz z czasu cyklu — nie zgadujesz, egzekwujesz fizykę.
Zdecyduj, co się stanie po awarii, zanim awaria nastąpi. Powszechny wybór: maszyna zatrzymuje się tam, gdzie jest, operator usuwa przyczynę, naciska reset, a sekwencja wraca do IDLE — lub do początku przerwanego kroku, jeśli produkt jest nadal bezpieczny. Powrót do IDLE jest prostszy i bezpieczniejszy dla małych maszyn; wznowienie w trakcie cyklu jest szybsze, ale wymaga, aby każdy stan wyjścia był znany i udowodniony. Dla maszyny napełniającej, IDLE to uczciwa odpowiedź — półpełna butelka to odpad w każdym przypadku.
Dlaczego FBD przewyższa drabinkę w tym przypadku
Jedna nawyk debugowania zwraca się natychmiast: spraw, aby bieżący krok był widoczny na przednim LCD jako zwykła liczba. Pierwszy raport operatora staje się "utknął na kroku 4", a nie "robi coś dziwnego", a krok 4 wskazuje prosto na jego warunek przejścia. W xLogicSoft bity flag są tam w oknie monitorowania, więc sesja na laptopie pokazuje ten sam obraz, co LCD. Dopasowanie słów operatora do stanu programu skraca dwugodzinne poszukiwania do dwudziestu minut za każdym razem.
Logika drabinkowa może wyrazić maszynę stanową, ale wymaga setki szczebli i diagramu, którego nikt nie czyta. W FBD struktura kroków jest przed tobą: rejestr przesunięcia lub blok flag pokazuje bieżący krok, bloki przejścia są widoczne, a sekwencja czyta się od góry do dołu. Środowisko xLogicSoft zawiera około siedemdziesięciu bloków funkcji, a maszyna pięcioetapowa z blokadami mieści się wygodnie na jednej stronie programu. Gdy maszyna się zmienia — nowa stacja, nowy czujnik — dodajesz krok i dwa przejścia zamiast przepinać logikę.
Zacznij od tabeli kroków na papierze, potem flagi, potem przejścia. Program będzie nudno poprawny, a nudno poprawny to najwyższy komplement, jaki program automatyzacji może zdobyć. Maszyny nie potrzebują sprytu; potrzebują przewidywalności.












