Nahtlose Verbindung von Python-Skripten mit PLCnext Engineer Projekten via gRPC Reflection
Dieser Beitrag dient als Ergänzung zu einem anderen Beitrag aus dem Jahr 2025.
Die Dateien und Bibliotheken finden Sie im selben GitHub-Repository wie im alten Beitrag.
Der Ansatz funktioniert sowohl für den AXC F 2152 als auch für den AXC F 3152. Der Unterschied liegt erneut darin, wie die erforderlichen Bibliotheken installiert werden.
WICHTIG: Der Ansatz wurde für FW 2025.X getestet und funktioniert.
Für den AXC F 2152:
Die Bibliotheken grpcio und grpcio-reflection müssen gerätefremd cross-kompiliert und manuell installiert werden. Diese Bibliotheken (bereits cross-kompiliert für Python 3.12) sind im GitHub-Repository verfügbar.
Hinweis: Im Gegensatz zum alten Beitrag ermöglicht die Verwendung von Reflection, die Verwendung und Kompilierung der Protobuf-Dateien vollständig zu überspringen. Die folgenden Anweisungen ermöglichen es Ihnen, einen Container mit Python 3.12 zu erstellen, in dem Sie die Skripte ausführen können, die gRPC nutzen.
- Erstellen Sie einen Ordner in /opt/plcnext für die gRPC-Kommunikation; dieses Beispiel weist dem Ordner den Namen „grpc2152“ zu. Innerhalb von grpc2152 erstellen Sie die folgende Ordnerstruktur:
grpc2152/ ├──── whl_files312/ │ └─── (Inhalt des whl_files312 Ordners aus dem gegebenen GitHub-Repo) │ └── gRPC_with_Reflection_26_0.py
- Verbinden Sie sich per SSH-Sitzung mit Ihrer SPS, melden Sie sich als Root-Benutzer (su) an und holen Sie die schlanke Version von Python 3.12 (an dieser Stelle ist eine Internetverbindung erforderlich, um das Python-Image zu erhalten):
$ podman pull docker.io/library/python:3.12.13-slim
- Führen Sie den Container aus und hängen Sie sich daran an (Verknüpfen des grpc2152-Ordners als Volume und eines zweiten Volumes (run), das für die Verbindung zum gRPC-Socket notwendig ist):
$ podman run -it -v /opt/plcnext/grpc2152/:/grpc2152 -v /run/:/run --restart=always --name grpctester python:3.12.13-slim /bin/bash
- Sobald Sie an der Konsole des Containers angekommen sind, navigieren Sie zum Ordner whl_files312 und installieren Sie die notwendigen grpcio-Bibliotheken.
$ cd /grpc2152/whl_files312/ $ pip install *.whl
Laden Sie das PLCnext Engineer Projekt „TestingGRPC.pcwex“ aus dem GitHub-Repository herunter und starten Sie es.
Testen Sie die gRPC-Funktionalität von der Konsole des Containers aus, indem Sie das Skript „gRPC_with_Reflection_26_0.py“ ausführen. Im Debug-Modus sollten die Variableninhalte mit den Textwerten aus dem Skript gefüllt und auch auf der Konsole angezeigt werden, nachdem sie aus dem PLCnext Engineer Projekt gelesen wurden.
Für den AXC F 3152.
Führen Sie dieselbe Prozedur wie für den 2152 aus, installieren Sie jedoch anstelle der Bibliotheken aus dem Repository die Bibliotheken direkt von pypi.org:
$ pip install grpcio==1.76.0 $ pip install grpcio-reflection==1.76.0
Hinweis:
Der Makers Blog zeigt Anwendungen und Benutzerberichte von Community-Mitgliedern, die nicht von Phoenix Contact getestet oder überprüft wurden. Verwendung auf eigenes Risiko.
Industrietechnik
- Kalifornien Geschenk-Guide 2020: Kuratierte Kalifornien-Geschenke für jeden Empfänger
- Metallspinnen & Hydroformen: Kosteneffiziente Alternativen zum klassischen Tiefziehen
- Boolesche Arithmetik: Addieren, Multiplizieren und Komplementieren in digitaler Logik
- Top 50 Defense Manufacturing Conferences 2020 – Premier Industry Events für Best Practices
- Die drei Kernarten von Schaltanlagen und ihre Funktionen verstehen
- US-Hersteller innovieren, um mit China zu konkurrieren: Bewährte Strategien
- Kalibtoleranz im Qualitätsmanagement verstehen
- Supply Chain 2020: Zukünftige Trends von Branchenführern enthüllt
- Industrie 4.0 & IoT: Wichtige Markttrends für die nächsten zwei Jahre
- Polyurethan-Schaum: Zusammensetzung, Eigenschaften und vielfältige Anwendungen