Verbinden Sie Python-Skripte mithilfe von gRPC Reflection nahtlos mit PLCnext Engineer-Projekten
Dieser Beitrag dient als Ergänzung zu diesem anderen Beitrag aus dem Jahr 2025.
Die Dateien und Bibliotheken befinden sich 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 wiederum darin, wie die erforderlichen Bibliotheken installiert werden.
WICHTIG: Der Ansatz wurde getestet und funktioniert für FW 2025.X
Für den AXC F 2152:
Die Bibliotheken grpcio und grpcio-reflection müssen geräteübergreifend kompiliert und manuell installiert werden. Diese Bibliotheken (bereits für Python 3.12 kreuzkompiliert) sind im Github-Repository verfügbar.
Hinweis: Im Gegensatz zum alten Beitrag kann durch die Verwendung von Reflection die Verwendung und Kompilierung der Protobuf-Dateien vollständig übersprungen werden. Mit den folgenden Anweisungen können Sie mit Python 3.12 einen Container erstellen, in dem Sie die Skripte ausführen können, die gRPC verwenden.
- Erstellen Sie einen Ordner in /opt/plcnext, der für die gRPC-Kommunikation verwendet werden soll. In diesem Beispiel wird diesem Ordner der Name „grpc2152“ zugewiesen. Erstellen Sie in grpc2152 die folgende Ordnerstruktur:
grpc2152/
├──── whl_files312/
│ └─── (content of the whl_files312 folder from the given github repo)
│
└── gRPC_with_Reflection_26_0.py
- Stellen Sie über eine SSH-Sitzung eine Verbindung zu Ihrer SPS her, melden Sie sich als Root-Benutzer (su) an und holen Sie sich die schlanke Version von Python 3.12:(Zu diesem Zeitpunkt 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 ihn an (verknüpfen Sie den Ordner grpc2152 als Volume und ein zweites Volume (Ausführen), das für die Verbindung zum grpc-Socket erforderlich ist):
$ podman run -it -v /opt/plcnext/grpc2152/:/grpc2152 -v /run/:/run --restart=always --name grpctester python:3.12.13-slim /bin/bash
- Navigieren Sie nach dem Anhängen an die Konsole des Containers zum Ordner whl_files312 und installieren Sie die erforderlichen 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 über die Konsole des Containers, indem Sie das Skript „gRPC_with_Reflection_26_0.py“ ausführen. Im Debug-Modus soll der Inhalt der Variablen mit den Textwerten aus dem Skript gefüllt und nach dem Lesen aus dem PLCnext Engineer-Projekt auch auf der Konsole angezeigt werden.
Für den AXC F 3152.
Befolgen Sie das gleiche Verfahren wie für 2152, anstatt die Bibliotheken aus dem Repository zu verwenden, installieren Sie 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 User Stories von Community-Mitgliedern, die nicht von Phoenix Contact getestet oder überprüft wurden. Die Nutzung erfolgt auf eigene Gefahr.
Industrietechnik
- Der beste Weg zur Herstellung kleiner Blechteile
- Unterschied zwischen Fertigung und Bearbeitung
- 5 Feuerklassen
- Professionelles manuelles Fräsen mit Huron-Maschinen – Präzisionsdienstleistungen von Aerospec Engineering
- Edge Connector Abschrägung-Gold-Fingerbeschichtung für Edge Connectors
- So identifizieren Sie FDA-Kunststoffe
- Wie Industrie-4.0-Technologie die Qualifikationslücke schließt
- Automatisierung in der Industrie 4.0
- Dinge, die Sie über den Siebdruck von Leiterplatten wissen müssen
- Sicherheit in Fabriken:eine Quelle der kontinuierlichen Verbesserung