Nowoczesny sterownik to nie tylko sterowanie — to także dane. W tym wpisie pokażę cztery scenariusze Industry 4.0 na PLCnext: jak udostępnić dane produkcyjne paletyzatora przez OPC UA i MQTT, przetworzyć je w Node-RED i wygenerować raport PDF skryptem w Pythonie — wszystko lokalnie, na jednym sterowniku PLCnext Control, bez chmury i bez dodatkowego komputera.
To czwarta i ostatnia część serii o programowaniu sterowników Phoenix Contact. Wcześniej omówiliśmy start z PLCnext, konfigurację AXC F 2152 oraz programowanie w języku LAD z Factory IO.
Całość zobaczysz na wideo z lekcji minikursu:
Po co udostępniać dane ze sterownika?
Klient nie chce już samego systemu sterowania — chce zbierać i analizować dane, przewidywać awarie i integrować maszyny od różnych dostawców. Nasz paletyzator generuje cenne dane produkcyjne: wskaźnik OEE, liczniki palet i paczek, czasy pracy. Twoim zadaniem jako automatyka jest te dane udostępnić i zapisać. Dzięki temu, że PLCnext to platforma Linux z konteneryzacją, robisz to natywnie — bez gateway’ów i warstw pośrednich.
Scenariusz 1 — OPC UA: serwer wprost na sterowniku
OPC UA to przemysłowy standard wymiany danych w Industry 4.0. PLCnext ma serwer OPC UA wbudowany — domyślnie aktywny na porcie 4840. Włączasz go w Web Based Management (System Services) lub konfigurujesz w projekcie (zakładka OPC UA), wybierając widoczność zmiennych (None / Marked / All).
Do serwera podłączysz wielu klientów jednocześnie: oprogramowanie UaExpert (do szybkiej weryfikacji danych), aplikację Node-RED oraz system SCADA z dashboardem dla operatora. Przez UaExpert łączysz się z endpointem opc.tcp i odczytujesz zmienne (np. dane ostatniej zmiany z gałęzi Arp.Plc.Eclr).
Ważne: w demonstracji łączymy się bez szyfrowania, ale w produkcji zawsze włącz Sign & Encrypt oraz wymianę certyfikatów.
Scenariusz 2 — MQTT: publisher danych paletyzatora
MQTT to lekki protokół typu publish/subscribe, idealny do telemetrii i komunikacji z chmurą. Na PLCnext wykorzystujemy bibliotekę Industrial IoT (IIoT) Library, którą pobierasz bezpłatnie z PLCnext Store.
Po dodaniu biblioteki implementujesz klienta MQTT (blok IIoT_MQTT_Client z funkcjami connect / subscribe / publish), a strukturę zmiennych z PLC zamieniasz na tekst JSON blokiem IIoT_JSON_Writer. Sterownik publikuje dane na temat (topic), a broker MQTT — np. uruchomiony w Node-RED — odbiera pięknie sformatowany JSON z danymi ostatniej zmiany pracy paletyzatora.
Scenariusz 3 — Node-RED w kontenerze na sterowniku
PLCnext Control to nie tylko PLC — to platforma Linux z silnikiem kontenerów. Node-RED uruchamiasz jako aplikację z PLCnext Store, w kontenerze, bezpośrednio na sterowniku (domyślnie port 51880). Wbudowany PLCnext Connector pobiera dane ze sterownika w czasie rzeczywistym przez REST API.
Node-RED to narzędzie low-code do integracji i automatyzacji przepływów danych. Prosty flow: trigger co sekundę → odczyt wybranych zmiennych z PLC → dalsze przetwarzanie. Dane zapiszesz w dowolnym formacie:
- pliku CSV lub JSON,
- bazie szeregów czasowych InfluxDB,
- bazie SQL (MySQL / MariaDB),
- chmurze (np. Proficloud.io).
W efekcie ze sterownika tworzysz pełnoprawny węzeł edge: pomiar, przetwarzanie, archiwizacja i przesyłanie danych w jednym urządzeniu.
Scenariusz 4 — Python: raport PDF prosto z PLC
Najbardziej zaawansowany scenariusz pokazuje, że PLCnext to pełnoprawny komputer przemysłowy z Linuksem — możesz na nim uruchomić własny kod w Pythonie. Skrypt (np. PDF_Report.py) działa natywnie na sterowniku, łączy się z runtime przez REST API i jednym wywołaniem czyta całą strukturę OEE ostatniej zmiany: wszystkie KPI, liczniki i czasy pracy.
Skrypt generuje raport PDF (wskaźniki, liczniki, czasy zmiany) i zapisuje go na karcie pamięci sterownika. Wisienka na torcie: zapisuje nazwę pliku z powrotem do zmiennej w PLC, dzięki czemu w panelu eHMI pojawia się przycisk „Open Last Shift Report” — operator klika i widzi świeży raport. Skrypt wywołasz z poziomu programu PLC (biblioteka PLCnext, blok Sys Linux Shell) lub według harmonogramu.
To otwiera nieograniczone możliwości: od raportów PDF, przez bazy danych, po uczenie maszynowe — wszystko, co da się napisać w Pythonie, działa lokalnie na sterowniku.
Który scenariusz wybrać do swojego projektu?
Każdy z czterech scenariuszy sprawdza się w innej sytuacji:
- OPC UA — gdy łączysz sterownik ze SCADA, panelem HMI lub systemem nadrzędnym; uniwersalny most OT–IT.
- MQTT — gdy wysyłasz telemetrię do chmury lub brokera, także po słabych i zmiennych łączach.
- Node-RED — gdy chcesz szybko, metodą low-code, zbierać i archiwizować dane lokalnie (CSV, InfluxDB, SQL).
- Python — gdy potrzebujesz własnej logiki: raportów, analityki czy uczenia maszynowego.
W praktyce scenariusze często łączysz — np. PLC publikuje dane przez OPC UA, Node-RED archiwizuje je w InfluxDB, a Python generuje cykliczny raport zmianowy.
A co z cyberbezpieczeństwem OT?
Udostępnianie danych nie może odbywać się kosztem bezpieczeństwa. PLCnext ma wbudowaną warstwę cyberbezpieczeństwa, a komunikację (OPC UA, MQTT) zabezpieczysz szyfrowaniem i certyfikatami. To istotne w kontekście norm IEC 62443 i dyrektywy NIS2. Gdy wyprowadzasz dane poza halę, warto dołożyć router z firewallem (np. mGuard) i segmentować sieć — zgodnie z dobrymi praktykami OT security.
Dlaczego jeden sterownik wystarczy?
Linux, runtime PLC, silnik kontenerów i warstwa cyberbezpieczeństwa są na pokładzie każdego sterownika PLCnext — out of the box. Dzięki temu jedno urządzenie zastępuje zestaw, w którym dawniej potrzebowałeś osobnego PLC, komputera edge i bramki komunikacyjnej. Wszystkie cztery scenariusze — OPC UA, MQTT, Node-RED i Python — działają lokalnie, bez chmury i bez VPN. To istota platformy PLCnext i fundament nowoczesnej automatyki Industry 4.0.
Najczęstsze pytania (FAQ)
Czy serwer OPC UA jest wbudowany w PLCnext?
Tak — jest domyślnie aktywny na porcie 4840. Wystarczy oznaczyć zmienne jako widoczne dla OPC UA.
Czy Node-RED działa na samym sterowniku?
Tak. Instalujesz go jako kontener z PLCnext Store i otwierasz w przeglądarce pod adresem sterownika, port 51880.
Czy mogę uruchomić Python na PLC?
Tak — natywnie na systemie Linux sterownika lub w kontenerze. Skrypt łączy się z runtime przez REST API.
Czy do tych scenariuszy potrzebuję chmury?
Nie. OPC UA, MQTT, Node-RED i raport PDF w Pythonie działają w całości lokalnie, na jednym sterowniku.
Podsumowanie
Industry 4.0 na PLCnext to nie teoria, lecz cztery praktyczne scenariusze realizowane na jednym urządzeniu: udostępnianie danych przez OPC UA, telemetria MQTT, przetwarzanie w Node-RED i raportowanie w Pythonie. Jeden sterownik łączy świat automatyki (OT) ze światem IT — dokładnie tego oczekuje dziś rynek od inżyniera automatyka.
To koniec naszej serii o programowaniu sterowników PLCnext. Jeśli chcesz przejść całość krok po kroku, z wideo i plikami do pobrania — zapraszam do bezpłatnego minikursu:









