Akwizycja i wizualizacja danych w procesach przemysłowych · ZIP, IV rok, spec. Inżynier procesu, niestacjonarne
Na ćwiczeniach liczyliście OEE, Pareto i kartę kontrolną na kartce, z gotowych liczb. Dziś robicie to samo na surowych danych z maszyny: zapis wszystkich tagów Pakowaczki 01 co 10 s przez całą zmianę II (14:00–22:00). Jak w prawdziwym eksporcie z systemu — w danych są błędy, które trzeba najpierw znaleźć i usunąć.
Pracujecie w pliku .xlsx: arkusz Dane (2 892 rekordy), arkusz Wyniki (żółte pola do wypełnienia), arkusz Dashboard (pusty — na zadanie 12).
Lab1_Nazwisko1_Nazwisko2.xlsx i zapisujcie co jakiś czas (Ctrl+S).| kolumna | tag | co zawiera |
|---|---|---|
| A | Czas | znacznik czasu rekordu (data i godzina) |
| B | Pak01.Stan | praca / postój / awaria / przezbrojenie |
| C | Pak01.PrzyczynaPostoju | przyczyna wybrana przez operatora na panelu (puste w czasie pracy) |
| D, E | Pak01.LicznikDobre / LicznikZle | liczniki sztuk ze sterownika (rosną przez cały czas, nie zerują się na zmianę) |
| F | Pak01.TempZgrzew | temperatura zgrzewu [°C], zakres normalny 165–180 °C |
| G | Pak01.CisnieniePowietrza | ciśnienie sprężonego powietrza [bar], zakres normalny 5,5–6,5 bar |
| H | Pak01.Energia | licznik energii [kWh] (osobny licznik, nie w sterowniku) |
Dane do wskaźników: czas planowany = 480 min (w tej zmianie nie ma przerw planowanych), cykl idealny = 1,5 s (40 szt./min), plan zmiany = 14 000 szt.
| potrzebuję… | polska wersja Excela | angielska |
|---|---|---|
| liczba wypełnionych komórek | =ILE.NIEPUSTYCH(A:A) | =COUNTA(A:A) |
| średnia / min / max | =ŚREDNIA(F:F) · =MIN(…) · =MAKS(…) | AVERAGE · MIN · MAX |
| odchylenie standardowe | =ODCH.STANDARDOWE.PRÓBKI(F:F) | =STDEV.S(F:F) |
| warunek | =JEŻELI(warunek; tak; nie), ORAZ(…; …) | IF(…), AND(…) |
| zliczenie / suma z warunkiem | =LICZ.JEŻELI(B:B;"praca") · =SUMA.JEŻELI(…) | COUNTIF · SUMIF |
| usunięcie duplikatów | Dane → Usuń duplikaty (zaznaczone wszystkie kolumny) | |
| filtr | Dane → Filtruj (strzałki w nagłówkach), Ctrl+Shift+L | |
| tabela przestawna | kliknij w dane → Wstawianie → Tabela przestawna → nowy arkusz | |
| wykres w czasie | zaznacz kolumnę Czas, z Ctrl kolumnę wartości → Wstawianie → Wykres punktowy (XY) → z prostymi liniami. Nie wybierajcie zwykłego „liniowego” — z datami potrafi zbić całą zmianę w jedną pionową kreskę. | |
| wykres Pareto | zaznacz przyczyny + minuty → Wstawianie → Wykres statystyczny → Pareto | |
Separator argumentów w polskim Excelu to średnik ;, a przecinek jest separatorem dziesiętnym.
a) Ile jest rekordów (wierszy danych, bez nagłówka)? b) Co ile sekund zapisywane są dane? Ile rekordów powinno być w zmianie 8 h przy takim zapisie?
Zróbcie trzy wykresy w czasie (punktowe z liniami — patrz ściąga): temperatura zgrzewu, ciśnienie powietrza, licznik dobrych. Obejrzyjcie też kolumnę Czas. Znajdźcie co najmniej 3 miejsca, w których dane wyglądają podejrzanie — wpiszcie godzinę i co widać. Przypomnijcie sobie katalog błędów danych z ćwiczeń 2.
Podpowiedź: czy jakaś godzina występuje dwa razy? Czy wartość może być idealnie stała przez pół godziny?
Usuńcie duplikaty (Dane → Usuń duplikaty). Ile rekordów usunięto, ile zostało? Czy teraz liczba rekordów zgadza się z zadaniem 1?
a) Policzcie średnią temperaturę zgrzewu. b) Odfiltrujcie wiersze z temperaturą 0, wyczyśćcie te komórki (Delete — brak danych to nie 0 °C) i policzcie średnią ponownie. Skąd te zera? O ile różnią się wyniki?
a) Policzcie produkcję „naiwnie”: ostatnia wartość licznika dobrych − pierwsza. Co wyszło i dlaczego?
b) Dodajcie kolumnę I „przyrost dobre”: w komórce I3 =JEŻELI(D3>=D2; D3-D2; D3), skopiujcie w dół (dwuklik w róg komórki), zsumujcie. To samo dla złych (kolumna J z licznika E).
Formuła: jeśli licznik rośnie — bierzemy różnicę; jeśli spadł (restart) — liczymy od zera.
W którym okresie ciśnienie ma stałą wartość? Czy w tym czasie wiemy, jakie było ciśnienie? Co mogło być przyczyną?
Tabela przestawna: wiersze — Pak01.Stan, wartości — liczba z Czas. Jeden rekord = 10 s, więc minuty = liczba rekordów / 6. Ile minut maszyna pracowała, a ile stała (postój + awaria + przezbrojenie)?
Policzcie A = czas pracy / 480, P = wyprodukowane / (czas pracy · 40), Q = dobre / wyprodukowane, OEE = A · P · Q. Sprawdźcie: OEE = dobre · 1,5 s / 28 800 s. Porównajcie ze zmianą I (61,7%).
Energia zmiany = ostatnia − pierwsza wartość licznika kWh. Energia na dobrą sztukę = kWh · 1000 / sztuki dobre [Wh/szt.]. Porównajcie ze zmianą I (8,1 Wh/szt.). Policzcie też wykonanie planu = dobre / {pl(PLAN_SZT, 0)}.
a) Tabela przestawna: wiersze — PrzyczynaPostoju (bez pustych), wartości — liczba rekordów → przeliczcie na minuty i zróbcie wykres Pareto.
b) Ile było zdarzeń każdej przyczyny? Dodajcie kolumnę K „start postoju”: w K3 =JEŻELI(ORAZ(C3<>""; C3<>C2); 1; 0), skopiujcie w dół i zsumujcie ją w tabeli przestawnej według przyczyny. Czy kolejność wg minut i wg liczby zdarzeń jest taka sama?
Na danych bez zer (zad. 4b): a) średnia x̄ i odchylenie σ, b) granice UCL = x̄ + 3σ, LCL = x̄ − 3σ. c) Dodajcie kolumny z x̄, UCL i LCL (ta sama wartość w każdym wierszu, z $: np. =$N$2) i zróbcie wykres punktowy temperatury z tymi trzema liniami (zaznaczcie Czas + 4 kolumny). Kiedy temperatura pierwszy raz przekroczyła UCL? O której była awaria zgrzewu (kolumna C)? Ile minut wcześniej karta dała sygnał?
W arkuszu Dashboard zbudujcie jeden ekran dla wybranego odbiorcy (operator / mistrz / kierownik — wpiszcie w Wynikach): 3–4 „kafle” z liczbami i 2 wykresy. Zasada z ćwiczeń: kolor tylko dla odchyłek od celu.
=Wyniki!C23 (OEE) (wpiszcie =, przejdźcie do arkusza Wyniki, kliknijcie wynik, Enter). Duża czcionka (28), pogrubienie, obramowanie; pod spodem cel, np. „cel ≥ 65%”.0,65) → „Jasnoczerwone wypełnienie”. Wynik zgodny z celem zostaje czarny.Propozycje celów: OEE ≥ 65%, wykonanie planu ≥ 100%, jakość ≥ 97,5%, energia ≤ 8,5 Wh/szt.
Trzy zdania dla kierownika: co w tej zmianie poprawiać najpierw i dlaczego? Jakie dane z maszyny trzeba naprawić, żeby kolejne raporty były wiarygodne?
Zaproponujcie alarm dla temperatury zgrzewu (próg i opóźnienie zadziałania, np. „> 177 °C przez 1 min”). Ile razy zadziałałby w tej zmianie? Czy uprzedziłby awarię? Czy zadziałałby także przy przerwie w przewodzie — i czy to dobrze?