Jednostka 6 / 9

Automatyka Przemysłowa i Programowanie PLC

Zyski:

  • Możliwość tworzenia struktur logiki drabinkowej i tekstu strukturalnego (ST) w formie roboczej za pomocą sztucznej inteligencji
  • Możliwość konfiguracji obwodów bezpieczeństwa, blokad i maszyn stanu za pomocą sztucznej inteligencji
  • Możliwość weryfikacji logiki PLC generowanej przez sztuczną inteligencję pod kątem mapy wejść/wyjść i wymagań bezpieczeństwa

Nazwą niezawodności na polu fabrycznym jest PLC (programowalny sterownik logiczny). Przenośniki, gniazda robotów, linie napełniające, prasy; wszystko sterowane przez sterowniki PLC. Programowanie sterowników PLC to coś innego niż oprogramowanie komputerowe: Ladder Logic (LD) to język wizualny naśladujący logikę przekaźnika, podczas gdy Tekst Strukturalny (ST) to język tekstowy podobny do Pascala; oba są zdefiniowane w normie IEC 61131-3. W tym środowisku najważniejsza jest nie funkcjonalność, ale bezpieczeństwo; ponieważ błąd logiczny może wyłączyć prasę w niewłaściwym momencie, zagrażając operatorowi. AI pomaga w generowaniu wersji drabinkowych i ST, budowaniu maszyn stanowych i dokumentowaniu logiki. Jednakże obwody bezpieczeństwa, blokady i ostateczna weryfikacja należą do obowiązków inżyniera i nie można ich delegować na sztuczną inteligencję. W tej części omówimy, jak konstruować i weryfikować logikę PLC za pomocą sztucznej inteligencji.

Logika działania PLC: Cykl skanowania

PLC nie tylko uruchamia kod raz i gotowe; Wykonuje ciągły cykl skanowania. W każdej pętli: (1) odczytuje wszystkie wejścia, (2) wykonuje logikę od góry do dołu, (3) aktualizuje wszystkie wyjścia. Cykl ten trwa milisekundy i powtarza się w nieskończoność. To zachowanie ma krytyczne konsekwencje podczas pisania logiki PLC:

  • Wyjścia są aktualizowane na końcu pętli; Jeśli przypiszesz wartość do wyjścia w więcej niż jednym miejscu pętli, wygrywa ostatnie przypisanie.
  • Logika działa od zera w każdym cyklu; więc zmienne zatrzaskowe lub stanowe służą do „zapamiętywania” stanu.
  • Szybkie zdarzenia mogą zostać pominięte, jeśli czas skanowania zostanie wydłużony; zdarzenia krytyczne są rejestrowane przez przerwanie sprzętowe lub szybki licznik.
Wskazówka: Pisząc logikę PLC do AI, powiedz „weź pod uwagę zachowanie pętli skanowania, brak sprzecznych przypisań do tego samego wyjścia, użyj zatrzasku/automatu stanu dla stanu”. Sztuczna inteligencja czasami myśli jak komputer stacjonarny i pomija skanowanie.

Logika drabinkowa i tekst strukturalny

Tę samą logikę można zapisać w obu językach. Prosty przykład: silnik uruchamia się po naciśnięciu przycisku Start, zatrzymuje się i zatrzaskuje po naciśnięciu przycisku Stop.

DRABINKA (wyświetlacz tekstowy): Start Stop Engine---| |------|/|------------( )--- | Silnik |---| |------+ (Styk silnika utrzymuje się -> jest uszczelniony) Wyjaśnienie: Po naciśnięciu przycisku Start silnik jest zasilany; Silnik utrzymuje prąd poprzez własny styk (uszczelnienie). Po naciśnięciu przycisku Stop (NC) łańcuch zostaje przecięty.

(* Taka sama logika jak TEKST STRUKTURALNY *) JEŚLI Start I NIE Zatrzymaj WTEDY silnik := PRAWDA;END_IF;JEŚLI Zatrzymaj WTEDY silnik := FAŁSZ; (* Stop ma zawsze priorytet *)END_IF;(* Uwaga: Przycisk Stop jest fizycznie podłączony do NC (normalnie zamknięty); więc jeśli kabel ulegnie zerwaniu, Stop=FALSE i system przełączy się na bezpieczną stronę. *)

Detale dotyczące bezpieczeństwa są tutaj krytyczne: przycisk stop jest fizycznie podłączony normalnie zamknięty (NC). Tym samym, w przypadku przerwania kabla lub awarii styku, sygnał zostaje odcięty i system przechodzi do kierunku „stop” (bezawaryjny). Jeżeli podłączone jest złącze NO (normalnie otwarte), ogranicznik nie będzie działał w przypadku przerwania kabla – jest to niebezpieczna, cicha usterka. Nawet jeśli kod AI wydaje się logicznie poprawny, decyzja o fizycznym połączeniu należy do inżyniera.

Bezpieczeństwo: E-Stop, blokada i zabezpieczenie przed awarią

Bezpieczeństwo w automatyce przemysłowej nie jest zagadnieniem, które można „obsłużyć programowo”; Jest to wielowarstwowa współpraca sprzętu i oprogramowania. Podstawowe zasady:

zasada

Znaczenie

Zastosowanie

niezawodne

Porażka powinna prowadzić na bezpieczną stronę

Styk rozwierny, błąd=stop

Redundancja

Funkcja krytyczna dwukanałowa

Dwa kontakty, monitorowanie krzyżowe

Blokujące

Zapobiegaj niebezpiecznym sytuacjom

Maszyna nie działa, gdy drzwi są otwarte

e-stop

Niezależny wyłącznik awaryjny

Na poziomie sprzętowym, niezależnie od PLC

Punkt krytyczny: Funkcja zatrzymania awaryjnego nie jest pozostawiona wyłącznie oprogramowaniu. Zatrzymanie awaryjne ze względów bezpieczeństwa jest często przerywane również na poziomie sprzętowym przez przekaźniki bezpieczeństwa lub sterownik PLC bezpieczeństwa; standardowe oprogramowanie PLC stanowi dodatkową warstwę. Normy ISO 13849 (bezpieczeństwo maszyn) i IEC 62061 stanowią ramy dla tych projektów.

Przestroga: Nie należy zakładać, że wygenerowany przez sztuczną inteligencję wyłącznik awaryjny lub logika blokowania są „wystarczające programowo”. Funkcje bezpieczeństwa projektowane są według odpowiednich norm (ISO 13849 PL, IEC 62061 SIL), obejmują warstwę sprzętową i są weryfikowane poprzez ocenę ryzyka. Za tę ocenę odpowiedzialny jest inżynier i organizacja; Sztuczna inteligencja może tworzyć jedynie konspekty i listy kontrolne.

Maszyny Stanowe

Złożona logika automatyzacji jest zorganizowana za pomocą maszyny stanów, a nie bałaganu „if-else”: system znajduje określone stany (bezczynność, uruchamianie, działanie, zatrzymywanie, błąd) i przechodzi przez zdefiniowane przejścia. Struktura ta jest zarówno czytelna, jak i weryfikowalna.

(* Prosta maszyna stanu stacji benzynowej *) PRZYPADEK Przypadek 0: (* BOSTA *) JEŚLI Przycisk Start ORAZ Pokrywa Zamknięta WTEDY Przypadek := 10; END_IF; 10: (* NAPEŁNIJ *) Zawór := PRAWDA; JEŚLI Poziom Pełny TO Zawór := FAŁSZ; Stan := 20; END_IF; JEŚLI NIE PokrywaZamknięta WTEDY Zawór := FAŁSZ; Stan := 90; END_IF; (* bezpieczeństwo *) 20: (* DRENACJA *) WYPEŁNIANIE := PRAWDA; JEŚLI PoziomPusty WTEDY Pusty := FAŁSZ; Stan := 0; END_IF; 90: (* BŁĄD *) Zawór := FAŁSZ; Puste := FAŁSZ; (* wszystkie siłowniki są bezpieczne *) IF ResetButton TO Status := 0; END_IF;END_CASE;

W tej konstrukcji przejścia bezpieczeństwa (przejście do stanu błędu w przypadku otwarcia pokrywy, zamknięcie wszystkich siłowników) są wyraźnie uwzględnione w każdej sytuacji. AI szybko generuje szkielet maszyny stanu; Ale jakie zdarzenie związane z bezpieczeństwem będzie skutkiem jakiej sytuacji, wynika z analizy ryzyka.

Słaba podpowiedź/silna podpowiedź

SŁABY: „Napisz kod PLC dla przenośnika.” (Brak we/wy, brak bezpieczeństwa, niejasny język. Nie można wykonać szkicu w terenie.) SILNY: „Napisz sterownik przenośnika za pomocą tekstu strukturalnego IEC 61131-3. Wejścia: Start (NO), Stop (NC), PhotocellProductVar (NO), CoverOpen (bezpieczeństwo NC). Wyjścia: ConveyorMotor, Lampka ostrzegawcza. Użyj maszyny stanu (bezczynność, praca, błąd) Stop zawsze ma pierwszeństwo, idź na Błąd, gdy pokrywa jest otwarta i wyłącz silnik. Załóż, że kod ten spełnia ocenę bezpieczeństwa.

Mini etui

Inżynier automatyk Tolga prosi AI o kod ST dla linii pakującej. Sztuczna inteligencja tworzy kod, który wydaje się działać, ale kiedy Tolga sprawdza go w oparciu o mapę we/wy, znajduje dwa problemy. Po pierwsze: sztuczna inteligencja potraktowała przycisk Stop z logiką NIE (normalnie otwarty); Tolga przekształca to w logikę bezpieczeństwa NC, ponieważ w przypadku uszkodzenia kabla linia musi się zatrzymać. Po drugie: blokowanie, w którym maszyna musi się zatrzymać, gdy pokrywa ochronna jest otwarta, sprawdzane jest tylko przy uruchomieniu, a nie podczas pracy; Tolga koryguje to tak, aby było sprawdzane w każdym cyklu skanowania. Potwierdza również, że faktyczne zatrzymanie awaryjne nie jest pozostawione oprogramowaniu, ale jest również przerywane sprzętowo za pomocą przekaźnika bezpieczeństwa. AI szybko oddało swój szkielet logiczny; Jednak weryfikacja inżyniera zapewniła trzy decyzje dotyczące bezpieczeństwa: bezpieczne połączenie, trwałe zablokowanie i sprzętowy wyłącznik awaryjny.

Typowe błędy

  • Podłączenie przycisku Stop/E-stop do NO i utrata bezpiecznego działania w przypadku uszkodzenia kabla.
  • Sprawdzanie blokady (pokrywa, kurtyna świetlna) tylko przy uruchomieniu i pomijanie jej w trakcie pracy.
  • Pozostawiając funkcję bezpieczeństwa całkowicie oprogramowaniu i zaniedbując warstwę sprzętową.
  • Zapominanie o zachowaniu pętli skanowania i wykonywanie sprzecznych przypisań do tego samego wyjścia.
  • Uczynienie złożonej logiki niemożliwą do sprawdzenia poprzez zapisanie jej za pomocą niechlujnego if-else zamiast maszyny stanu.
  • Akceptowanie interpretacji standardu bezpieczeństwa dokonanej przez AI bez weryfikowania jej z oficjalnym tekstem.

Podsumowując

  • PLC działa w ciągłym cyklu skanowania; Wyjścia są aktualizowane na końcu pętli.
  • Tekst drabinkowy i tekst strukturalny wyrażają tę samą logikę w dwóch różnych językach IEC 61131-3.
  • Przyciski Stop/E-stop NC i zabezpieczenie przed awarią są podłączone; porażka powinna prowadzić na bezpieczną stronę.
  • Blokady są sprawdzane w każdym cyklu skanowania; Zawiera warstwę sprzętową zabezpieczeń.
  • Maszyna stanów sprawia, że ​​złożona logika jest czytelna i możliwa do sprawdzenia.
  • Ocena bezpieczeństwa (ISO 13849/IEC 62061) jest obowiązkiem inżyniera; AI generuje przeciąg.

Zadanie aplikacji

Wybierz prosty scenariusz automatyzacji (np. silnik z blokadą start/stop, siłownik dwupozycyjny lub mała stacja benzynowa). Zapisz listę wejść/wyjść i wymagania bezpieczeństwa (który przycisk jest NC i który jest blokowany). Niech sztuczna inteligencja wygeneruje maszynę stanu tekstu strukturalnego w tym kontekście. Następnie sprawdź wyjście pod kątem bezpieczeństwa: (1) czy Stop zapewnia bezpieczne wyjście z każdego stanu, (2) czy sprawdzana jest blokada w każdym cyklu skanowania, (3) czy w przypadku błędu wszystkie elementy wykonawcze przechodzą w stan bezpieczny? Zanotuj wszelkie znalezione braki w zakresie bezpieczeństwa i poprawki.