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

Ćwiczenie: Rejestruj to, co wyjaśnia postój: szkolenie PLC SCADA

Zapisuj wartość, gdy zmieni się wystarczająco, nigdy nie milknij, a potem odczytaj trend, aby znaleźć, co zawiodło.

Daj historii fabryki to, czego potrzebuje, by wyjaśnić postój. Napisz zapis dla dwóch zmiennych: ciśnienia powietrza, zapisywanego, gdy zmieni się o 0,2 bar lub po 10 s, oraz stanu linii, zapisywanego przy każdej zmianie lub po 10 s. Potem wybierz, co i jak rejestrować, i odczytaj zarejestrowany postój, aby znaleźć jego przyczynę.

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

Płaska linia też dostaje sygnał życia

Test 1 z 3
Ustawione przez testSprawdzone przez testKrok 9 z 9 · 21 s
Level
Zaawansowane
Czas
O nas 45 min
Nagroda
+500 XP
Instalacja
fabryka modelowa 3D
Edytory: Siemens
Język drabinkowy (LAD), SCL
Edytory: Rockwell
Język drabinkowy, Tekst strukturalny
Edytory: Beckhoff
Tekst strukturalny
Etap
45. SCADA 3: rejestruj to, co wyjaśnia zatrzymanie
Wymagane działanie

Rejestruj to, co wyjaśnia postój: co musi robić twój kod

Sterowanie zakładem jest napisane i działa. Historian nie może przechowywać każdego cyklu każdej zmiennej, więc każda zmienna jest zapisywana przy zmianie, z najwolniejszą częstotliwością, aby było wiadomo, że płaska linia żyje. Napisz ten zapis w PLC, tak jak robi to stacja zdalna, aby wysyłane było tylko to, co ważne. Ciśnienie powietrza: dodawaj 0.02 do AirAge w każdym cyklu. Gdy AirPressure jest o 0,2 bar lub więcej powyżej lub poniżej AirStored albo AirAge osiągnie 10,0 s, zapisz je: skopiuj AirPressure do AirStored, dodaj 1 do AirSamples i ustaw AirAge na 0. Linia: dodawaj 0.02 do LineAge w każdym cyklu. Gdy LineRun różni się od LineStored albo LineAge osiągnie 10,0 s, zapisz ją: skopiuj LineRun do LineStored, dodaj 1 do LineSamples i ustaw LineAge na 0. Zakładka Ekran operatora rysuje to, co zapisuje twój PLC, na tle prawdziwego sygnału. Tam wybierz, które zmienne przechowuje historia, jak często i z jaką strefą martwą. Potem odczytaj zatrzymanie zapisane zeszłej nocy i powiedz, co zawiodło.

Powietrze
Zapisuj przy zmianie o 0,2 bar w dowolną stronę lub po 10 s.
Wiersz
Zapisuj przy każdej zmianie LineRun lub po 10 s.
Zapis
Skopiuj wartość, dodaj 1 do licznika, ustaw wiek na 0.
Tablica zmiennych

Rejestruj to, co wyjaśnia postój: wejścia i wyjścia

Twój program czyta wejścia: 17 i ustawia wyjścia: 18. Dodatkowe wejścia (2) sterują symulacją lub pokazują odczyty, ż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
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
PersonInCellBOOLNiepotrzebneDo testowania lub obserwacji; twój kod może je pominąćSpróbuj: ktoś wchodzi do celi robota
CompressorFaultBOOLNiepotrzebneDo testowania lub obserwacji; twój kod może je pominąćSpróbuj: sprężarka wypada
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
AirStoredREALZapisujeWyjście ustawiane przez twój kodHistoria: ostatnio zapisane ciśnienie powietrza, bar
LineStoredBOOLZapisujeWyjście ustawiane przez twój kodHistoria: ostatnio zapisany stan linii

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

Rejestruj to, co wyjaśnia postój: co sprawdzają testy

  1. AirStored podąża za AirPressure z dokładnością do 0,2 bar.
  2. Stałe ciśnienie i tak jest zapisywane co 10 s, więc wiadomo, że płaska linia jest żywa.
  3. LineStored zapisuje każdą zmianę LineRun w cyklu, w którym zachodzi, oraz sygnał życia co 10 s.
  4. AirSamples i LineSamples liczą jeden za każdy zapis: dziesiątki na minutę, nie tysiące.
  5. Historia zapisuje pomiar, polecenie i stan, które wyjaśniają postój, przy zmianie, ze strefą nieczułości tuż powyżej szumu czujnika.
  6. Zarejestrowany postój jest odczytany poprawnie: sprężarka była wywołana, a ciśnienie dalej spadało.
  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

Historian zakładowy przechowuje lata odczytów z tysięcy zmiennych. Po każdym niewyjaśnionym postoju inżynier najpierw otwiera trend z minut przed nim.

Zadziałanie zabezpieczenia w nocy, gdy nikt nie patrzy, zostawia tylko to, co zostało zarejestrowane. Jeśli polecenie i ciśnienie nie były zapisywane oba, wystarczająco często, by zobaczyć, co zmieniło się pierwsze, przyczyna to zgadywanie.

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