Naadloos Python-scripts verbinden met PLCnext Engineer-projecten via gRPC Reflection
Deze post is een aanvulling op een andere post uit 2025.
De bestanden en bibliotheken zijn te vinden in dezelfde GitHub-repository van de oude post.
De aanpak werkt voor zowel de AXC F 2152 als de AXC F 3152. Het verschil zit weer in hoe de vereiste bibliotheken geïnstalleerd moeten worden.
BELANGRIJK: De aanpak is getest en werkt voor FW 2025.X
Voor de AXC F 2152:
De bibliotheken grpcio en grpcio-reflection moeten off-device cross-gecompileerd en handmatig geïnstalleerd worden. Deze bibliotheken (al cross-gecompileerd voor Python 3.12) zijn beschikbaar in de GitHub-repository.
Let op: In tegenstelling tot de oude post, stelt het gebruik van reflection je in staat om het gebruik en de compilatie van de protobuf-bestanden volledig over te slaan. De volgende instructies laten je een container met Python 3.12 maken waarin je de scripts kunt draaien die gebruikmaken van gRPC.
- Maak een map in /opt/plcnext voor de gRPC-communicatie, in dit voorbeeld noemen we die map "grpc2152". Binnen grpc2152, maak de volgende mappenstructuur:
grpc2152/ ├──── whl_files312/ │ └─── (inhoud van de whl_files312-map uit de gegeven GitHub-repo) │ └── gRPC_with_Reflection_26_0.py
- Maak verbinding met je PLC via een SSH-sessie, log in als root-gebruiker (su) en haal de slim-versie van Python 3.12 op: (op dit moment is internetverbinding nodig om de Python-image op te halen)
$ podman pull docker.io/library/python:3.12.13-slim
- Draai de container en koppel eraan (de map grpc2152 koppelen als volume en een tweede volume (run) nodig voor de verbinding met de gRPC-socket):
$ podman run -it -v /opt/plcnext/grpc2152/:/grpc2152 -v /run/:/run --restart=always --name grpctester python:3.12.13-slim /bin/bash
- Eenmaal gekoppeld aan de console van de container, navigeer naar de map whl_files312 en installeer de benodigde grpcio-bibliotheken.
$ cd /grpc2152/whl_files312/ $ pip install *.whl
-
Download en start het PLCnext Engineer-project "TestingGRPC.pcwex" uit de GitHub-repository.
-
Test de gRPC-functionaliteit vanaf de console van de container door het script "gRPC_with_Reflection_26_0.py" uit te voeren. In debug-modus moeten de variabelen gevuld worden met de tekstwaarden uit het script en ook op de console getoond worden na het uitlezen uit het PLCnext Engineer-project.
Voor de AXC F 3152.
Volg dezelfde procedure als voor de 2152, maar in plaats van de bibliotheken uit de repository te gebruiken, installeer je de bibliotheken direct vanaf pypi.org
$ pip install grpcio==1.76.0 $ pip install grpcio-reflection==1.76.0
Let op:
De Makers Blog toont toepassingen en gebruikersverhalen van community-leden die niet getest of beoordeeld zijn door Phoenix Contact. Gebruik ze op eigen risico.
Industriële technologie
- PCB-vervorming Voorkomen: Oorzaken, Symptomen En Best Practices
- Rapid Prototyping uitgelegd: Hoe de juiste methode voor je product te kiezen
- Bandenvorm Oppervlaktekwaliteit Verbeteren: Bewezen Technieken voor Langdurige Prestaties
- Tesla's virtuele elektriciteitscentrale: de mondiale energienetwerk transformeren
- Snijgereedschappen Selecteren: Een Uitgebreide Gids Voor Ferrose En Non-Ferrose Metaalbewerking
- Jigs & Fixtures ontwerpen met CNC-frezen & 3D-printen
- Europese eerste IIC Track & Trace-testbed toont verbonden elektrisch gereedschap
- Snel herstel gids: uw machinewerkplaats na een brand weer op gang brengen
- Expert gefabriceerde waterdichte verhelderings tanks voor superieure afvalwaterbehandeling
- Composieten Benutten: De Sleutel tot Efficiënte Lichtgewicht CNC-Gebeurde Onderdelen
- Hoe een poedercoatinglijn efficiëntie, duurzaamheid en kostenbesparing verbetert