Skip to main content
architecturepredictive-maintenancemachine-learningindustrial-IoT

Od czujników do prognoz: jak naprawdę działa platforma PdM

Prevly Team·

Od czujników do prognoz: jak naprawdę działa platforma PdM

„Wystarczy nałożyć ML na dane z czujników" — to zdanie stoi za tysiącem nieudanych projektów PdM. Rzeczywistość jest taka, że model ML to może 20% systemu. Pozostałe 80% to niezawodne przesyłanie danych od czujników do modeli oraz niezawodne dostarczanie prognoz od modeli do ludzi.

Oto jak wygląda cały potok danych w nowoczesnej platformie — od fizycznego czujnika do smartfona inżyniera.

Warstwa 1: Zbieranie danych na brzegu sieci

Czujniki przemysłowe generują dane z bardzo różnymi częstotliwościami. Akcelerometr drgań na łożysku próbkuje z częstotliwością 12 800 Hz. Czujnik temperatury aktualizuje odczyt co 30 sekund. Przepływomierz wysyła dane co 5 sekund.

Brama brzegowa (edge gateway) odpowiada za:

  • Translację protokołów — OPC-UA, MQTT, Modbus RTU i analogowe sygnały 4-20 mA wymagają oddzielnych sterowników
  • Lokalne buforowanie — awarie sieci nie mogą powodować utraty danych; brama przechowuje odczyty lokalnie i synchronizuje je po przywróceniu łączności
  • Downsampling — dane drgań 12,8 kHz są agregowane (RMS, wartość szczytowa, kurtoza) na potrzeby ciągłego monitorowania; surowe przebiegi są przechwytywane okresowo do analizy widmowej

Wyzwanie protokołów

Translacja protokołów brzmi prosto na slajdach producenta. W praktyce to właśnie tu większość wdrożeń PdM napotyka pierwszą ścianę.

OPC-UA to nowoczesny standard, lecz słowo „standard" bywa tu nadużywane — każdy dostawca sprzętu implementuje go inaczej. Konfiguracja certyfikatów bezpieczeństwa (OPC-UA wymaga wymiany certyfikatów X.509), mapowanie identyfikatorów węzłów na zrozumiałe nazwy tagów i praca z serwerami obsługującymi tylko podzbiór specyfikacji potrafią pochłonąć wiele dni. Nowszy sprzęt jest zazwyczaj zgodny; wszystko wyprodukowane przed 2015 rokiem to loteria.

Modbus RTU/TCP jest niezawodny, lecz surowy. Mapowanie rejestrów jest w pełni ręczne — dokumentacja czujnika mówi: „rejestr 40001 to drgania osi X, 32-bitowy float, big-endian", a Ty przekładasz to na konfigurację. Pomnóż to przez 50–200 czujników na obiekt i zrozumiesz, dlaczego samo mapowanie protokołów może pochłonąć cały tydzień uruchamiania.

Sygnały analogowe 4-20 mA wymagają dodatkowego sprzętu: kondycjonerów sygnału, przetworników analogowo-cyfrowych i starannego uziemienia, by uniknąć zakłóceń. Przesunięcie o 0,1 mA w pętli prądowej 4-20 mA przekłada się bezpośrednio na błąd pomiarowy, który model ML zinterpretuje jako zmianę procesu.

Wymagania sprzętowe bram brzegowych są często niedoszacowane. Brama obsługująca 200 czujników potrzebuje wystarczającej mocy obliczeniowej do lokalnego buforowania (co najmniej 32 GB pamięci na 72-godzinną pracę offline), translacji protokołów (OPC-UA szyfrowanie obciąża CPU) i opcjonalnej inferencji na brzegu sieci. Przemysłowe bramy od producentów takich jak Advantech, Moxa czy Siemens IOT2050 kosztują zazwyczaj 500–2 000 € za jednostkę; dysponują procesorami ARM lub x86 i przemysłowymi zakresami temperatur (-40 do 70°C).

Warstwa 2: Strumieniowe pozyskiwanie danych

Dane opuszczają brzeg sieci jako komunikaty MQTT i trafiają do brokera wiadomości (zazwyczaj Apache Kafka), który zapewnia:

  • Trwałość — wiadomości utrzymują się do momentu ich przetworzenia, przeżywając restarty usług
  • Wielu konsumentów — te same dane jednocześnie zasilają przetwarzanie w czasie rzeczywistym, zimne składowanie i potoki ML
  • Walidację schematu — schematy Avro weryfikują strukturę danych przed wejściem do potoku

Na tym etapie dane są walidowane: identyfikatory czujników są weryfikowane, znaczniki czasu sprawdzane pod kątem dryfu, a odczyty poza fizycznymi granicami są oznaczane flagą. Odczyt drgań -500 mm/s lub temperatura 3 000°C są poddawane kwarantannie, a nie przekazywane do modeli ML. Ocena jakości (0–100) taguje każdy odczyt — wszystko poniżej 50 jest odfiltrowywane przed etapem inżynierii cech.

Warstwa 3: Przetwarzanie strumieniowe

Procesor strumieni (Apache Flink) transformuje surowe odczyty na cechy gotowe do ML w czasie rzeczywistym:

  • Statystyki kroczące — średnia, odchylenie standardowe, RMS, kurtoza w oknach 60 s, 5 min i 30 min
  • Wykrywanie trendów — czy drgania rosną, są stabilne czy maleją w ciągu ostatniej godziny?
  • Korelacje między czujnikami — wzrost temperatury przy stabilnych drganiach sugeruje zmianę otoczenia, nie degradację
  • Cechy częstotliwościowe — FFT na danych drgań wyodrębnia częstotliwości łożysk, częstotliwości zazębienia kół zębatych i harmoniczne

Inżynieria cech w szczegółach

Jakość prognoz ML jest determinowana właśnie tutaj, nie w architekturze modelu. Kilka konkretnych przykładów:

RMS krocząca a wartość szczyt-szczyt: RMS drgań uchwytuje energię ogólną i dobrze wykrywa niewyważenie lub niewyosiowanie. Wartość szczyt-szczyt chwyta uderzenia przejściowe i lepiej wykrywa wczesne uszkodzenia łożysk (gdzie kontakt metal-metal tworzy krótkie, ostre impulsy). Obliczanie obu wartości dla wielu rozmiarów okna (60 s, 300 s, 1800 s) daje modelowi różne perspektywy tego samego procesu degradacji.

FFT i częstotliwości defektów łożysk: W monitorowaniu łożysk na podstawie drgań sama FFT to za mało — trzeba wiedzieć, czego szukać. Każde łożysko toczne ma cztery charakterystyczne częstotliwości defektów, wynikające z geometrii łożyska i prędkości wału:

  • BPFO (Ball Pass Frequency Outer) = (N/2) × RPM × (1 − d/D × cos(α)) — defekt pierścienia zewnętrznego
  • BPFI (Ball Pass Frequency Inner) = (N/2) × RPM × (1 + d/D × cos(α)) — defekt pierścienia wewnętrznego
  • BSF (Ball Spin Frequency) = (D/2d) × RPM × (1 − (d/D × cos(α))²) — defekt elementu tocznego
  • FTF (Fundamental Train Frequency) = RPM/2 × (1 − d/D × cos(α)) — defekt koszyka

Gdzie N = liczba elementów tocznych, d = średnica kulki, D = średnica podziałowa, α = kąt natarcia. Procesor strumieni oblicza FFT na surowych przebiegach drgań i wyodrębnia amplitudy przy tych konkretnych częstotliwościach (plus harmoniczne 2. i 3. rzędu). Rosnąca amplituda przy BPFO z harmonicznymi to podręcznikowy defekt pierścienia zewnętrznego — rodzaj wzorca niewidoczny w dziedzinie czasu, lecz jednoznaczny w dziedzinie częstotliwości.

Dobór rozmiaru okna ma większe znaczenie, niż większość zespołów zdaje sobie sprawę. Okno 60-sekundowe rejestruje szybkie stany przejściowe (rozruch silnika, zmiany obciążenia). Okno 30-minutowe wygładza je i ujawnia powolne trendy. Użycie tylko jednego rozmiaru okna zmusza model do uczenia się zarówno szybkiej, jak i wolnej dynamiki z jednej reprezentacji — dostarczenie obu daje mu rozdzielczość czasową pozwalającą odróżnić „silnik właśnie się uruchomił" od „to łożysko się pogarsza".

Warstwa 4: Składowanie

Przetworzone dane trafiają do bazy danych szeregów czasowych (TimescaleDB) zoptymalizowanej pod kątem:

  • Hypertablic — automatyczne partycjonowanie według czasu dla szybkich zapytań zakresowych
  • Ciągłych agregacji — wstępnie obliczone zestawienia (1 min, 5 min, 1 h) dla wydajności dashboardów
  • Polityk retencji — gorące dane (90 dni) w PostgreSQL, zimne dane eksportowane do kolumnowego składowania na potrzeby długoterminowej analityki

Wielodostępność jest wymuszana na poziomie bazy danych za pomocą zabezpieczeń wierszowych (RLS). Każde zapytanie — z API, dashboardu czy wewnętrznej usługi — jest automatycznie ograniczone do uwierzytelnionego najemcy. To nie jest filtrowanie na poziomie aplikacji, które błąd mógłby ominąć; to ograniczenie na poziomie bazy danych, które fizycznie uniemożliwia dostęp do danych innych najemców bez uprawnień superużytkownika.

Warstwa 5: Inferencja ML

Trzy typy modeli na każdy zasób:

Wykrywanie anomalii

Autoenkoder LSTM uczy się normalnego wzorca pracy każdego zasobu. Wysoki błąd rekonstrukcji = bieżące zachowanie nie odpowiada nauczonym wzorom. Model przetwarza przesuwające się okno wielowymiarowych danych z czujników (zazwyczaj 60 kroków czasowych) i wyznacza wskaźnik błędu rekonstrukcji. Gdy wskaźnik ten przekroczy nauczony próg (kalibrowany dla każdego zasobu na podstawie danych ze zdrowej pracy), zostaje oznaczona anomalia.

Pozostały czas eksploatacji (RUL)

Modele LSTM szacują dni do kolejnego zdarzenia serwisowego. LSTM przetwarzający surowe dane z 14 czujników osiągnął RMSE 11,48 dnia na benchmarku NASA C-MAPSS — co oznacza, że prognozy są zazwyczaj dokładne z tolerancją 11 dni. W praktycznym planowaniu konserwacji to różnica między „zaplanuj w tym tygodniu" a „zaplanuj w tym miesiącu".

Diagnostyka usterek

1D-CNN z mechanizmem uwagi klasyfikuje przebiegi drgań na kategorie usterek: defekt pierścienia wewnętrznego, defekt pierścienia zewnętrznego, defekt elementu tocznego, defekt koszyka, niewyosiowanie, niewyważenie. Wstępnie wytrenowany na zbiorze danych łożysk CWRU i dostrojony na danych specyficznych dla zakładu.

Wymagania dotyczące danych treningowych i oczekiwania co do dokładności

Wydajność modelu silnie zależy od wolumenu danych:

| Wolumen danych | Najlepszy model | Oczekiwana dokładność | |---|---|---| | < 1 000 próbek | Isolation Forest | Wykrywa rażące anomalie, brak RUL | | 1 000 – 50 000 | LSTM Autoencoder | Dobra detekcja anomalii, podstawowy RUL | | 50 000 – 200 000 | LSTM + LightGBM | Silna detekcja anomalii + prognozy RUL | | > 200 000 + GPU | TranAD (Transformer) | Anomalie + RUL na poziomie state-of-the-art |

W przypadku nowego wdrożenia bez danych historycznych, wstępnie wytrenowane modele (na zbiorze łożysk CWRU i danych turbin NASA C-MAPSS) zapewniają natychmiastową zdolność bazową. Nie są doskonałe dla konkretnego sprzętu, lecz kodują ogólną fizykę degradacji, która zaskakująco dobrze przenosi się na podobne klasy urządzeń.

Warstwa 6: Silnik alertów

Silnik alertów stosuje reguły biznesowe:

  • Mapowanie wagi — progi wskaźnika anomalii przekładają się na poziomy wagi. Wskaźnik 2× powyżej progu to OSTRZEŻENIE; 4× to KRYTYCZNY. Mnożniki te są konfigurowalne dla każdej klasy zasobów, bo „krytyczna" anomalia na pompie rezerwowej ma inne implikacje operacyjne niż ten sam wskaźnik na sprężarce będącej pojedynczym punktem awarii.
  • Deduplikacja — degradujące łożysko generuje ciągłe wskaźniki anomalii powyżej progu. Bez deduplikacji dostawałbyś alert przy każdym cyklu inferencji (zazwyczaj co 30–60 sekund). Silnik alertów grupuje powiązane anomalie według zasobu i trybu awarii, wysyłając pojedynczy alert z aktualizacjami zamiast zalewu powtarzających się powiadomień.
  • Eskalacja — OSTRZEŻENIE niezatwierdzone w konfigurowalnym oknie (domyślnie 4 godziny)? Eskalacja do KRYTYCZNEGO i powiadomienie kolejnego poziomu. KRYTYCZNY niezatwierdzony w ciągu 1 godziny? Wezwanie menedżera dyżurnego.
  • Atrybucja cech — każdy alert pokazuje, które czujniki i w jakim stopniu przyczyniły się do jego wygenerowania. To nie jest opcja ani funkcja premium — to różnica między alertem, który zostaje zbadany, a tym, który zostaje zbagatelizowany.

Wzorce integracji

Alerty muszą docierać do ludzi tam, gdzie pracują. Silnik alertów obsługuje jednocześnie wiele kanałów dostarczania:

  • PagerDuty / OpsGenie — rotacja dyżurów i eskalacja
  • ServiceNow / SAP PM / Maximo — automatycznie tworzone zlecenia pracy z kontekstem diagnostycznym
  • Webhooki — niestandardowe integracje z systemami wewnętrznymi
  • E-mail / SMS — dla zespołów niekorzystających z platform zarządzania incydentami
  • Powiadomienia mobilne — dla operatorów na hali produkcyjnej

Problem zimnego startu

Najczęstsze pytanie przy nowych wdrożeniach PdM: „Co się dzieje pierwszego dnia bez żadnych danych?"

To właśnie tutaj większość własnoręcznie tworzonych projektów PdM staje w miejscu. Wytrenowanie autoenkodera LSTM od zera wymaga tygodni czystych danych operacyjnych. Wytrenowanie modelu RUL wymaga historycznych danych o awariach — których możesz nie mieć w ustrukturyzowanej postaci.

Nowoczesna platforma radzi sobie z zimnym startem w trzech fazach:

Dni 1–7: Wstępnie wytrenowane modele. Modele wytrenowane na publicznych zbiorach benchmarkowych (łożyska CWRU, silniki turbinowe NASA C-MAPSS) i anonimizowanych danych wielu klientów zapewniają natychmiastową detekcję anomalii. Nie wykryją usterek specyficznych dla konkretnego sprzętu, ale uchwycą typowe wzorce degradacji (zużycie łożysk, niewyważenie, termiczne rozbiegnięcie), które stanowią 60–70% awarii maszyn rotacyjnych.

Tygodnie 2–4: Uczenie bazy odniesienia. Mając 2–4 tygodnie ciągłych danych, platforma trenuje modele specyficzne dla zasobu. Autoenkoder LSTM uczy się, jak wygląda „normalność" dla każdej maszyny w jej konkretnych warunkach pracy. Dokładność detekcji anomalii znacznie rośnie, bo model wie teraz, że Pompa 7A przy 1 800 obr./min normalnie drga z amplitudą 1,8 mm/s — nie tylko że „pompy drgają między 0 a 10 mm/s".

Miesiąc 2+: Progresywne ML. Wraz z narastaniem danych platforma automatycznie aktualizuje modele: Isolation Forest → LSTM Autoencoder → TranAD (oparty na Transformerze). Każda aktualizacja poprawia zarówno czułość detekcji, jak i czas wyprzedzenia. Przejście jest automatyczne — platforma śledzi metryki wydajności każdego modelu i promuje lepszy, gdy udowodni swoją wartość na wydzielonych danych walidacyjnych.

Warstwa 7: Działanie

Alerty uruchamiają: powiadomienia PagerDuty/ServiceNow, automatycznie tworzone zlecenia pracy, webhooki do niestandardowych integracji i wizualizację w czasie rzeczywistym na dashboardzie. Ostatnia warstwa zamyka pętlę: przewidywana awaria → alert → dochodzenie → zlecenie pracy → naprawa → potwierdzenie. Każdy krok jest rejestrowany, tworząc ścieżkę audytu zasilającą ponowne trenowanie modeli i pomiar ROI.


Prevly obsługuje wszystkie siedem warstw jako zarządzana platforma. Zobacz, jak to działa dzięki interaktywnej demonstracji z prawdziwymi modelami ML.

Powiązane artykuły: Prognozowanie RUL wyjaśnione · Monitoring OPC-UA w trybie tylko do odczytu · Pierwsze kroki z analizą drgań