Wczytujemy postępy z tego urządzenia…
PLC Gym
Strona główna PLC GymPoziom 1, 0 XP · Twoje postępy
Misja 89 · PRO (wymaga Pro)

Ćwiczenie: Jeden blok alarmowy dla każdego alarmu: szkolenie PLC SCADA

Nowy, widziany, skasowany: jedna pętla prowadzi każdy alarm przez te same stany i oznacza ten, który pojawił się pierwszy.

Napisz blok alarmowy stojący za listą alarmów fabryki: jedną pętlę, która prowadzi każdy z pięciu alarmów przez stany nowy, widziany i skasowany, liczy alarmy aktywne i niepotwierdzone, podaje najwyższy priorytet i oznacza alarm, który pojawił się pierwszy.

Ta misja jest częścią ProZałóż darmowe konto: każde konto ma darmowy okres próbny Pro do 5 grudnia.

Bez karty. Bez płacenia. Bez anulowania.

Official release: 5 December. Bądź na szczycie rankingu tego dnia i wygraj 3 miesiące Pro oraz 2 tygodnie Pro do podarowania znajomemu. 2. miejsce wygrywa 4 tygodnie. 3. miejsce wygrywa 2 tygodnie. Zasady

  • Każda lekcja, od zera
  • Każda misja i lekcja, wraz z kolejnymi poziomami
  • Praktyczny test dla każdego tytułu, z certyfikatem
  • Przewiń dowolny test, cykl po cyklu
  • Rozwiązania z objaśnieniem, gdy utkniesz
  • Konwerter kodu, ile tylko chcesz
Model 3D (fabryka modelowa), na którym działa ta misjaPRO (wymaga Pro) misja
Jak przebiega test

Nowy, widziany, skasowany

Test 1 z 6
Ustawione przez testSprawdzone przez testKrok 8 z 8 · 1.9 s
Level
Ekspert
Czas
O nas 45 min
Nagroda
+800 XP
Instalacja
fabryka modelowa 3D
Edytory: Siemens
SCL
Edytory: Rockwell
Tekst strukturalny
Edytory: Beckhoff
Tekst strukturalny
Etap
44. SCADA 2: jeden blok alarmowy dla każdego alarmu
Wymagane działanie

Jeden blok alarmowy dla każdego alarmu: co musi robić twój kod

Sterowanie zakładem, pięć warunków alarmowych od Cond[0] do Cond[4] i ich priorytety od Prio[0] do Prio[4] są już napisane. Napisz jedną pętlę FOR po pięciu alarmach, która prowadzi AlarmState[0] do AlarmState[4]: 0 Normal, 1 New (aktywny, niepotwierdzony), 2 Seen (aktywny, potwierdzony), 3 Cleared, not seen (ustąpił, niepotwierdzony). Z 0 pojawienie się warunku daje 1. W 1 naciśnięcie Ack daje 2; zniknięcie warunku daje 3. W 2 zniknięcie warunku daje 0. W 3 naciśnięcie Ack daje 0; powrót warunku daje 1. Każdy alarm wykonuje najwyżej jeden ruch na cykl, a Ack działa na naciśnięcie, a nie przy przytrzymaniu. ActiveCount to liczba alarmów w stanie 1 lub 2. UnackCount to liczba alarmów w stanie 1 lub 3. TopPriority to najpilniejszy priorytet wśród alarmów poza stanem 0: 1, 2 lub 3, albo 0, gdy nie ma żadnego. FirstOut to numer alarmu, który zapoczątkował kłopoty, licząc od 1: gdy alarm opuszcza stan 0, a FirstOut wynosi 0, FirstOut przyjmuje jego numer. Jeśli dwa zaczną się w tym samym cyklu, wygrywa ten, który jest wcześniej w tabeli. FirstOut wraca do 0 dopiero, gdy każdy alarm jest znowu w stanie 0. W zakładce Ekran operatora wybierz, jak lista traktuje alarm, który ustąpił, pierwszy alarm i stany.

Stany
0 Normalny, 1 Nowy, 2 Widziany, 3 Skasowany, niewidziany.
Ack
W chwili naciśnięcia: 1 zmienia się w 2, a 3 w 0.
Sumy
ActiveCount: stany 1 i 2. UnackCount: stany 1 i 3. TopPriority: najpilniejszy alarm spoza stanu 0.
Pierwszy alarm
Ustawiany przez pierwszy alarm, który opuści 0; kasowany, gdy wszystkie znowu są w 0.
Tablica zmiennych

Jeden blok alarmowy dla każdego alarmu: wejścia i wyjścia

Twój program czyta wejścia: 19 i ustawia wyjścia: 20. Jeszcze jedno wejście steruje symulacją lub pokazuje odczyt, żebyś mógł testować. Nazwy są takie same w edytorze każdego producenta.

ZmiennaTyp danychTwój kodCo to oznacza na maszynie
StartBOOLOdczytujeWejście potrzebne twojemu kodowiUruchom fabrykę
StopBOOLOdczytujeWejście potrzebne twojemu kodowiZatrzymaj fabrykę w obecnym stanie
ResetBOOLOdczytujeWejście potrzebne twojemu kodowiReset po wyłączeniu awaryjnym lub zadziałaniu kurtyny świetlnej
EStopBOOLOdczytujeWejście potrzebne twojemu kodowiWyłącznik awaryjny wciśnięty
CompressorFaultBOOLOdczytujeWejście potrzebne twojemu kodowiSpróbuj: sprężarka wypada
AirPressureREALOdczytujeWejście potrzebne twojemu kodowiCiśnienie w zbiorniku powietrza, bar
SteamPressureREALOdczytujeWejście potrzebne twojemu kodowiCiśnienie pary w kotle, bar
VesselLevelREALOdczytujeWejście potrzebne twojemu kodowiPoziom w zbiorniku mieszającym, %
VesselTempREALOdczytujeWejście potrzebne twojemu kodowiTemperatura partii, °C
SugarAddedREALOdczytujeWejście potrzebne twojemu kodowiCukier dodany do tej partii przez dozownik wagowy, kg
BufferLevelREALOdczytujeWejście potrzebne twojemu kodowiPoziom w zbiorniku buforowym napełniarki, %
BadBottleBOOLOdczytujeWejście potrzebne twojemu kodowiKamera: przechodzi butelka bez etykiety
GateEyeBOOLOdczytujeWejście potrzebne twojemu kodowiButelka jest przed bramką odrzutu
AccumFullBOOLOdczytujeWejście potrzebne twojemu kodowiTrzy zgrzewki czekają na robota
CurtainClearBOOLOdczytujeWejście potrzebne twojemu kodowiWiązki kurtyny świetlnej nieprzerwane
PalletFullBOOLOdczytujeWejście potrzebne twojemu kodowiPełna paleta czeka lub jedzie do owijarki
PalletOnWrapperBOOLOdczytujeWejście potrzebne twojemu kodowiPaleta jest na stole obrotowym owijarki
WrapDoneBOOLOdczytujeWejście potrzebne twojemu kodowiPaleta na owijarce jest owinięta
AckBOOLOdczytujeWejście potrzebne twojemu kodowiPrzycisk na ekranie: potwierdź alarmy
PersonInCellBOOLNiepotrzebneDo testowania lub obserwacji; twój kod może je pominąćSpróbuj: ktoś wchodzi do celi robota
CompressorBOOLZapisujeWyjście ustawiane przez twój kodUruchom sprężarkę powietrza
BoilerOnBOOLZapisujeWyjście ustawiane przez twój kodWłącz kocioł
WaterValveBOOLZapisujeWyjście ustawiane przez twój kodWoda do zbiornika mieszającego
FeederBOOLZapisujeWyjście ustawiane przez twój kodUruchom wagowy dozownik cukru
AgitatorBOOLZapisujeWyjście ustawiane przez twój kodUruchom mieszadło
SteamValveBOOLZapisujeWyjście ustawiane przez twój kodPara do płaszcza zbiornika
TransferPumpBOOLZapisujeWyjście ustawiane przez twój kodPompuj partię do zbiornika buforowego
LineRunBOOLZapisujeWyjście ustawiane przez twój kodUruchom linię butelkowania
RejectGateBOOLZapisujeWyjście ustawiane przez twój kodUruchom bramkę odrzutu
RobotEnableBOOLZapisujeWyjście ustawiane przez twój kodPozwól robotowi paletyzować
PalletOutBOOLZapisujeWyjście ustawiane przez twój kodPrzenieś pełną paletę do owijarki
WrapBOOLZapisujeWyjście ustawiane przez twój kodUruchom owijarkę folią stretch
AGVCallBOOLZapisujeWyjście ustawiane przez twój kodWezwij AGV po owiniętą paletę
GreenLampBOOLZapisujeWyjście ustawiane przez twój kodKolumna sygnalizacyjna: produkcja
AmberLampBOOLZapisujeWyjście ustawiane przez twój kodKolumna sygnalizacyjna: uruchamianie lub oczekiwanie
RedLampBOOLZapisujeWyjście ustawiane przez twój kodKolumna sygnalizacyjna: wyłączenie awaryjne lub zadziałanie kurtyny świetlnej
ActiveCountINTZapisujeWyjście ustawiane przez twój kodLista alarmów: alarmy, których warunek jest aktywny
UnackCountINTZapisujeWyjście ustawiane przez twój kodLista alarmów: alarmy, których nikt nie potwierdził
TopPriorityINTZapisujeWyjście ustawiane przez twój kodLista alarmów: najpilniejszy wyświetlany priorytet, od 1 do 3, lub 0
FirstOutINTZapisujeWyjście ustawiane przez twój kodLista alarmów: alarm, który pojawił się pierwszy, od 1 do 5, lub 0

W Siemens SCL pisz własne zmienne bloku z # na początku, tak jak robi to TIA Portal: #Start. Rockwell i TwinCAT używaj samej nazwy: Start.

Testy automatyczne

Jeden blok alarmowy dla każdego alarmu: co sprawdzają testy

  1. Każdy alarm przechodzi przez te same cztery stany: 0 Normalny, 1 Nowy, 2 Widziany, 3 Skasowany, niewidziany.
  2. Alarm, który ustąpi przed Ack, zostaje na liście jako 3 aż do Ack; alarm, który wróci przed Ack, znowu jest Nowy.
  3. Ack działa w chwili naciśnięcia: trzymany Ack nie potwierdza alarmu, który pojawi się później.
  4. ActiveCount, UnackCount i TopPriority zgadzają się z listą w każdym cyklu.
  5. FirstOut wskazuje alarm, który pojawił się pierwszy, i trzyma go, aż lista będzie pusta.
  6. Lista trzyma skasowany alarm, dopóki nie zostanie zauważony, oznacza pierwszy i opisuje słownie każdy stan.
  1. Wypróbuj Użyj przycisków pod modelem i obserwuj, jak reaguje instalacja.
  2. Sprawdź rozwiązanie Jedno naciśnięcie uruchamia wszystkie sprawdzenia twojego kodu.
  3. Przewiń PRO (wymaga Pro) Jeśli któreś nie przejdzie, cofaj się cykl po cyklu, aby zobaczyć dlaczego.

Utknąłeś w tej misji? Zapytaj członków w Szatnia.

Dlaczego to ważne

Gdzie zobaczysz to w zakładzie

Serwer SCADA zakładu ma jedną tabelę alarmów, w której każdy wiersz ma stan, priorytet i czas. Oznaczenie pierwszego alarmu to właśnie to, co czyta dzienna zmiana po nocy pełnej postojów.

Jedno zadziałanie zabezpieczenia może wywołać dwadzieścia alarmów w kilka sekund. Bez stanów i oznaczenia pierwszego alarmu operator potwierdza je wszystkie, żeby wyciszyć syrenę, a przyczyna przepada.

Gdzie to znajdzieszJeden sterownik dla całej fabryki: kiedy każda maszyna może pracować i co zapewnia jej bezpieczeństwo

Mała fabryka napojów produkuje napój pomarańczowy. Cukier i woda są dozowane i pasteryzowane, a potem pompowane do napełniarki. Butelki są napełniane, zakręcane, etykietowane i sprawdzane, pakowane po sześć, układane na paletach przez robota, owijane i wożone do rampy przez wózek bez kierowcy. Każda maszyna ma własne sterowanie; sterownik zakładu decyduje, kiedy każda może pracować, przekazuje pracę z jednej do następnej i bezpiecznie wszystko zatrzymuje.

  1. BatchMieszanie i pasteryzacja
  2. FillNapełnianie, zakręcanie, etykietowanie
  3. KontrolaOdrzut wadliwych butelek
  4. PakowanieRobot układa zgrzewkiJesteś tutaj
  5. WysyłkaOwijanie, AGV do rampy
Na prawdziwym obiekcie: miejsca, części i bezpieczeństwo
  • Rozlewnie napojów i soków
  • Zakłady sosów, nabiału i płynnej żywności
  • Płyny do domu i kosmetyki

Wyłącznik awaryjny jest podłączony przez przekaźnik bezpieczeństwa, który sam odcina zasilanie. Program musi wtedy trzymać wszystko wyłączone i czekać na świadomy Reset i Start, aby nic nie ruszyło niespodziewanie.

Cele robotów są ogrodzone. Kurtyny świetlne i drzwi z blokadą zatrzymują robota, gdy ktoś wejdzie, a ponowny start wymaga resetu spoza celi, w duchu norm ISO 10218 i ISO 13849.

Rozmiary, czasy i przekroje to wybory dydaktyczne, a nie rysunek jakiejkolwiek prawdziwej instalacji.

Idź dalej

Następne na drodze