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

Ćwiczenie: Uśrednij cztery ostatnie odczyty: średnia krocząca

Wygładź zaszumiony poziom. Przechowuj cztery odczyty i niech każdy nowy zastępuje najstarszy.

Wylicz SmoothedLevel jako średnią z czterech ostatnich odczytów Level. Przechowuj je w Readings, tablicy REAL z czterema miejscami, od 0 do 3. Gdy Sample jest ON, pobieraj jeden odczyt w każdym cyklu. Wpisz go w miejsce, które wskazuje WriteIndex, a potem przesuń WriteIndex o jeden. Po miejscu 3 zawiń WriteIndex z powrotem do 0, aby najnowszy odczyt zastąpił najstarszy. Zsumuj cztery miejsca pętlą FOR i podziel przez 4.

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 (zbiornik procesowy), na którym działa ta misjaPRO (wymaga Pro) misja
Jak przebiega test

Cztery odczyty zapełniają okno

Test 1 z 4
Ustawione przez testSprawdzone przez testKrok 6 z 6 · 120 ms
Level
Zastosowania
Czas
O nas 15 min
Nagroda
+350 XP
Instalacja
zbiornik procesowy 3D
Edytory: Siemens
SCL
Edytory: Rockwell
Tekst strukturalny
Edytory: Beckhoff
Tekst strukturalny
Etap
18. Zachowaj najnowsze odczyty
Wymagane działanie

Uśrednij cztery ostatnie odczyty: co musi robić twój kod

Zaszumiony odczyt poziomu skacze. Wygładzenie go sprawia, że dalsza logika nie reaguje na każde drgnięcie. Trendy pokazują Level i SmoothedLevel obok siebie, cykl po cyklu. To pierwsza z dwóch misji o tym samym filtrze. Tutaj okno, czyli liczba uśrednianych odczytów, jest stałe i wynosi cztery. Wszystkie cztery miejsca zaczynają od 0.0, więc pierwsze trzy wyniki są zaniżone. Następna misja to naprawia i pozwala zmieniać rozmiar okna. Twój filtr tylko wylicza liczbę dla dalszej logiki. Nie przełącza pompy ani zaworu.

Sample
Sample ON pobiera jeden odczyt Level w każdym cyklu. Sample OFF pozostawia SmoothedLevel bez zmian.
Zapis i zawijanie
Każdy odczyt trafia w następne z czterech miejsc. Po czwartym wróć do pierwszego, aby najnowszy odczyt zastąpił najstarszy. Układ bufora zależy od ciebie.
Średnia
Po każdym odczycie SmoothedLevel to suma czterech miejsc podzielona przez 4. Zachowaj miejsca po przecinku.
Pierwsze trzy odczyty
Wszystkie cztery miejsca zaczynają od 0.0, i SmoothedLevel też. Puste miejsce nadal liczy się jako 0. Dlatego gdy zapisane są tylko 10% i 30%, wynik to 10%: 40 podzielone przez 4.
Tablica zmiennych

Uśrednij cztery ostatnie odczyty: wejścia i wyjścia

Twój program czyta wejścia: 2 i ustawia wyjścia: 1. Nazwy są takie same w edytorze każdego producenta.

ZmiennaTyp danychTwój kodCo to oznacza na maszynie
LevelREALOdczytujeWejście potrzebne twojemu kodowiPoziom w zbiorniku, %
SampleBOOLOdczytujeWejście potrzebne twojemu kodowiGdy ON, pobieraj jeden odczyt Level w każdym cyklu.
SmoothedLevelREALZapisujeWyjście ustawiane przez twój kodŚrednia z czterech ostatnich odczytów, w %.

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

Testy automatyczne

Uśrednij cztery ostatnie odczyty: co sprawdzają testy

  1. Po każdym odczycie SmoothedLevel to suma czterech miejsc podzielona przez 4. Zachowaj miejsca po przecinku w odczytach.
  2. Piąty odczyt zastępuje pierwszy, i tak dalej w kółko po czterech miejscach, bez względu na to, ile odczytów przyjdzie.
  3. Gdy Sample jest OFF, średnia się nie zmienia. Gdy Sample jest trzymany ON, każdy cykl dodaje odczyt.
  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

Fale na powierzchni sprawiają, że odczyt poziomu zbiornika w fabryce skacze. Operator chce na wyświetlaczu stabilniejszej liczby.

Uśrednienie czterech ostatnich odczytów wygładza fale. Odczyt zostawiony w złym miejscu albo nigdy niezastąpiony daje fałszywą liczbę, która ukrywa prawdziwą zmianę.

Gdzie to znajdzieszPrzygotowanie jednej partii napoju

W fabryce napojów zawory wpuszczają odmierzone ilości wody i syropu do zbiornika mieszającego. Mieszadło elektryczne łączy je w jedną partię. Zawór wylotowy przesyła potem napój do zbiornika buforowego. Stamtąd rozlewają go maszyny do napełniania.

  1. Zbiorniki składnikówPrzechowują wodę i syrop
  2. Zbiornik mieszającyNapełnij, wymieszaj i zmierz jedną partięJesteś tutaj
  3. Zbiornik buforowyTrzyma gotowy napój w gotowości
  4. Napełniarka butelekRozlewa napój do butelek
Na prawdziwym obiekcie: miejsca, części i bezpieczeństwo
  • Fabryka napojów — mieszanie wody i syropu
  • Fabryka farb — mieszanie składników do jednolitego koloru
  • Stacja uzdatniania wody — przygotowanie odmierzonej mieszaniny chemicznej
  • Browar — podgrzewanie wody do mycia urządzeń

Pełny zbiornik nie zamyka sam swojego wlotu. Woda płynie, dopóki zawór się nie zamknie, więc otwarty wlot może zalać pomieszczenie.

Grzałka, której nie przykrywa ciecz, może się przegrzać. Prawdziwe zbiorniki mają oprócz programu PLC osobne urządzenia bezpieczeństwa.

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

Idź dalej

Następne na drodze