Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Integración perfecta de gRPC:conecte scripts de Python a proyectos de ingeniería de PLCnext

La siguiente información sirve como actualización y ampliación de esta publicación a partir de 2022.

El enfoque funciona igual para el AXC F 2152 y el AXC F 3152, la diferencia reside en cómo instalar las bibliotecas necesarias.

IMPORTANTE: El enfoque ha sido probado y funciona para FW 2024.x y 2025.0

Para el AXC F 2152:

Las bibliotecas grpcio y grpcio-tools deben compilarse en el dispositivo e instalarse manualmente. Puede encontrar una descripción general del enfoque que tomo para realizar la compilación cruzada usando QEMU en esta entrada del foro

Las bibliotecas compiladas cruzadas para Python 3.11, junto con el resto de los archivos que seguirán a esta publicación, están disponibles a través de este enlace

Las siguientes instrucciones le permiten crear un contenedor con Python 3.11 donde puede ejecutar los scripts que utilizan gRPC.

  1. Utilizando WinSCP (o algún otro software que permita acceder al sistema de archivos de su controlador), cree una carpeta en /opt/plcnext para usarla en la comunicación gRPC. Este ejemplo asignará el nombre "grpc2152" a esa carpeta. Dentro de grpc2152, cree la siguiente estructura de carpetas.
grpc2152/
├── include/
│ └── google/
│ └── (empty folder for now) 
│
├── whl_files311/
│ ├── grpcio-1.71.0-cp311-cp311-linux_armv7l.whl
│ └── grpcio_tools-1.71.0-cp311-cp311-linux_armv7l.whl
│
├── generate_googlegrpc.py
├── grpc_test.py
└── Readme.txt
  1. Descargue el repositorio "https://github.com/PLCnext/gRPC" y desde allí, tome la carpeta "protobuf" y colóquela dentro de la carpeta de Google creada previamente. La estructura de carpetas resultante se verá así:
grpc2152/
├── include/
│ └── google/
│ └── protobuf/ 
│ └── (content of the protobuf folder from the PLCnext github repo)
│
├── whl_files311/
│ ├── grpcio-1.71.0-cp311-cp311-linux_armv7l.whl
│ └── grpcio_tools-1.71.0-cp311-cp311-linux_armv7l.whl
│
├── generate_googlegrpc.py
├── grpc_test.py
└── Readme.txt
  1. Cree una sesión SSH en su PLC, inicie sesión como usuario root (su) y obtenga la versión reducida de Python 3.11. (en este punto, es necesaria una conexión a Internet para obtener la imagen de Python)
$ podman pull docker.io/library/python:3.11.10-slim-bookworm
  1. Ejecutar y adjuntar al contenedor (vinculando la carpeta grpc2152 como un volumen y un segundo volumen (ejecutar) necesario para la conexión al socket grpc):
$ podman run -it -v /opt/plcnext/grpc2152:/grpc2152 -v /run:/run --restart=always --name grpctester python:3.11.10-slim-bookworm /bin/bash
  1. Una vez conectado a la consola del contenedor, navegue hasta la carpeta whl_files311 e instale las bibliotecas grpcio. (Es necesaria conexión a internet para las dependencias)
 $ cd /grpc2152/whl_files311/
 $ pip install *.whl
  1. Vuelva a la carpeta principal grpc2152 dentro del contenedor y ejecute el script de Python "generate_googlegrpc.py" (algunos mensajes deberían aparecer -¡funcionando!-)
 $ cd /grpc2152
 $ python3 generate_googlegrpc.py
  1. Una vez que el script haya finalizado su ejecución exitosamente, debería aparecer una nueva carpeta (pxc_grpc). Dentro de grpc2152, los fragmentos de Python para grpc ahora se encuentran allí. Ahora puede probar la funcionalidad gRPC con el proyecto y el script de ejemplo.

  2. Descargue e inicie el proyecto de PLCnext Engineer "TestingGRPC.pcwex" en el controlador.

  3. Pruebe la funcionalidad gRPC desde la consola del contenedor ejecutando el script "grpc_test.py". En el proyecto PLCnext Engineer, accediendo a las variables en modo depuración, el contenido de las variables debe rellenarse con los valores del script.

Para el AXC F 3152.

Siga el mismo procedimiento indicado anteriormente para el 2152 pero en el paso 5, instale las bibliotecas directamente desde pypi.org

 $ pip install grpcio==1.71.0
 $ pip install grpcio-tools==1.71.0

Tipos de datos y uso de fragmentos de código.

Ahora, siempre que desee utilizar gRPC para acceder a variables, incluya la carpeta donde se generaron los fragmentos de código en la ruta de Python utilizada por sus scripts e importe las clases necesarias (líneas 6 a 14 del archivo grpc_test.py proporcionado).

Recuerde considerar los tipos de datos descritos en la publicación anterior que mencioné al principio de este artículo.

Nota:

El Makers Blog muestra aplicaciones e historias de usuarios de miembros de la comunidad que Phoenix Contact no prueba ni revisa. Úselos bajo su propio riesgo.


Tecnología Industrial

  1. ¿QUÉ ES EL TORNEADO DURO?
  2. Una breve descripción de las ventajas de la fundición de inversión y los defectos de la creación de patrones en cera
  3. Consideraciones de calidad para la fabricación aeroespacial
  4. Comprender la estructura del proceso de fundición de inversión
  5. Diferentes métodos de fabricación de piezas de aluminio
  6. Fundamentos de mecanizado:Introducción al sistema de coordenadas de trabajo
  7. Diferentes tipos de chorro abrasivo (arena)
  8. Predecir con precisión la duración de la batería con modelos de aprendizaje automático
  9. Ciberseguridad del teletrabajo:cómo proteger a su empresa
  10. 5 mejores prácticas para la gestión de inventario que se aplican a todas las empresas
  11. Haciendo el futuro:Sostenibilidad y la nube