Pomiar energii w Pythonie pozwala dowiedzieć się o maszynie tego, czego nie powie żaden schemat: ile prądu naprawdę ciągnie silnik, kiedy miał pik prądowy i czy jego sprawność spada. W tym wpisie łączymy licznik energii, sterownik Finder Opta i Python, żeby zbierać dane napędu po Modbus i pokazywać je na żywo na własnym dashboardzie.
To naturalne rozwinięcie tematu komunikacji. Jeśli dopiero zaczynasz, zobacz najpierw jak połączyć Pythona ze sterownikiem PLC po Modbus – tutaj idziemy o krok dalej i budujemy kompletny system pomiaru energii.
Po co mierzyć energię silnika?
Większość napędów w zakładzie pracuje latami bez żadnego monitoringu. Tymczasem pomiar energii w Pythonie daje konkretne odpowiedzi: jakie jest typowe i maksymalne zużycie prądu, jak zmienia się moc czynna i bierna, kiedy silnik startuje i zatrzymuje się oraz czy z czasem nie rośnie pobór przy tej samej pracy. To wstęp do analizy danych ze sterowników PLC i do predykcyjnego utrzymania ruchu.
Architektura: licznik energii, falownik i Finder Opta
System składa się z czterech elementów spiętych w jeden łańcuch pomiarowy:
- Licznik energii Finder – mierzy prąd, napięcie i moce na zaciskach napędu.
- Falownik SINAMICS V20 z silnikiem – obiekt, który monitorujemy.
- Finder Opta (PLC programowany w CODESYS) – zbiera dane z licznika po Modbus RTU.
- Aplikacja Python – pobiera dane z Finder Opta po Modbus TCP (port 502) i przetwarza je.

Licznik energii rozmawia z Finder Opta po Modbus RTU – wystarczają dwa przewody A i B (transmisja szeregowa). Finder Opta udostępnia te dane wyżej po Modbus TCP, skąd odbiera je Python.
Finder Opta jako brama danych Modbus
Najważniejsza część aplikacji to pobranie parametrów sieciowych z licznika energii. Służy do tego program Energy napisany w języku Structured Text (ST). Odczytuje on rejestry Modbus i skaluje surowe wartości na realne jednostki, np. napięcie fazowe L1 czy prąd fazy L1 z odpowiednią liczbą miejsc po przecinku.

- Finder Opta jako Modbus RTU Master odpytuje licznik (adres 33) i czyta serię input registers.
- Surowe wartości są skalowane w ST (INT_TO_REAL) na prąd, napięcie, częstotliwość i moce.
- Finder Opta wystawia te parametry jako Modbus TCP Server w serii Holding Registers.
- Aplikacja Python łączy się po Modbus TCP i pobiera gotowe odczyty.
Python i dashboard live we Flasku
Po stronie Pythona budujemy dashboard, który odświeża dane na żywo. Stack jest lekki i w całości darmowy:
- pyModbus – komunikacja Modbus TCP/IP z Finder Opta.
- Flask – lekki framework webowy serwujący dashboard.
- Chart.js – wykresy aktualizowane w czasie rzeczywistym.
- SQLite – baza danych z historią pomiarów.

Gdy zwiększamy prędkość silnika potencjometrem, reakcja jest widoczna od razu na wykresie poboru prądu. Obok pojawiają się kolejne parametry: napięcie sieciowe, częstotliwość oraz moc czynna, bierna i pozorna.
Wykrywanie stanu silnika i wstęp do predykcyjnego utrzymania ruchu
Aplikacja ma prostą, ale przydatną detekcję stanu: jeśli pobierany prąd przekracza ustalony próg, silnik jest ON; poniżej progu – OFF. To pokazuje, jak Python nadaje się do wykrywania stanów i anomalii w danych z linii produkcyjnej.

Stąd już blisko do uczenia maszynowego i predykcyjnego utrzymania ruchu. Mając historię pomiarów, możesz wykrywać trendy poboru energii, które zapowiadają zużycie łożysk czy spadek sprawności napędu.
Baza danych i raporty: CSV, Excel i SQLite
Każdy pomiar trafia do bazy danych SQLite. W zakładce Baza danych widać prąd minimalny, maksymalny i średni, statusy ON/OFF oraz poszczególne moce i liczbę próbek.

Pomiary można wyeksportować do pliku CSV z wybranego zakresu czasu. Format rozdzielany przecinkami otwiera się wprost w arkuszu kalkulacyjnym – idealny pod raport dla kierownika albo dalszą analizę.

Sama baza to kilka linii SQL: zapytanie CREATE TABLE tworzy tabelę pomiarów, a stałe w pliku app.py określają adres IP sterownika, port i Slave ID.

Dlaczego automatyk powinien znać Python?
Pomiar energii w Pythonie to tylko jeden przykład. Podstawy tego języka przydają się każdemu elektrykowi, automatykowi i kierownikowi produkcji, bo pozwalają:
- pobierać dane ze sterowników przemysłowych i linii produkcyjnych,
- przetwarzać je i generować raporty (CSV, Excel, PDF),
- budować własne, dopasowane aplikacje webowe i dashboardy,
- integrować się z narzędziami typu InfluxDB czy Grafana,
- wykrywać anomalie i wchodzić w uczenie maszynowe.
Najczęściej zadawane pytania (FAQ)
Czym jest Finder Opta?
To programowalny sterownik PLC oparty na Arduino, który programuje się w CODESYS. Obsługuje Modbus RTU i Modbus TCP, dzięki czemu świetnie nadaje się na bramę danych między licznikiem energii a aplikacją Python.
Jaką bibliotekę Pythona wybrać do Modbus TCP?
Najczęściej używa się biblioteki pyModbus. Pozwala ona połączyć się ze sterownikiem po Modbus TCP/IP (port 502) i odczytać rejestry, w których Finder Opta wystawia parametry energii.
Czy potrzebuję licznika energii Finder, żeby zmierzyć prąd?
Dowolny licznik energii z komunikacją Modbus zadziała podobnie. Licznik mierzy prąd, napięcie i moce, a sterownik tylko odczytuje jego rejestry i przekazuje dane dalej.
Czy to ma sens bez znajomości programowania?
Warto znać podstawy. Bez nich trudno poprawnie zintegrować cały łańcuch i mieć pewność, że pomiar jest wiarygodny i bezpieczny. Dlatego zaczynamy od podstaw Pythona dla przemysłu.
Podsumowanie
Pomiar energii w Pythonie łączy świat automatyki (licznik energii, Finder Opta, Modbus) ze światem analizy danych (Flask, SQLite, wykresy live). To prosty, tani i w pełni konfigurowalny sposób, żeby wreszcie wiedzieć, co naprawdę dzieje się z napędami w zakładzie.
Chcesz budować takie dashboardy samodzielnie? Zacznij od podstaw Pythona dla przemysłu:










