Interacción local de gRPC con control PLCnext a través de grpcurl en contenedor OCI
Esta es la última entrega de una serie sobre el uso de gRPC para interactuar con PLCnext Runtime en un dispositivo de control PLCnext.
Las publicaciones anteriores de la serie incluyeron:
- gRPC remoto usando grpcurl
- GRPC remoto seguro usando grpcurl
- gRPC remoto mediante reflexión
Los artículos enumerados anteriormente muestran cómo acceder al servidor gRPC en un dispositivo PLCnext Control desde un remoto dispositivo cliente. Esta publicación da un ejemplo de un local Cliente gRPC:es decir, un cliente gRPC que se ejecuta en un dispositivo PLCnext Control, que accede al servidor gRPC en el mismo dispositivo.
Otros ejemplos de local Los clientes gRPC en dispositivos PLCnext Control se pueden encontrar aquí:
- Cómo crear un cliente para el servidor gRPC de PLCnext Control en C#
- Utilice gRPC para interconectar scripts de Python con proyectos de ingeniería de PLCnext.
Dado que no hay ningún software de cliente gRPC instalado en los dispositivos PLCnext Control como estándar, este artículo muestra cómo ejecutar un cliente gRPC (en este caso, grpcurl) en un contenedor OCI usando Podman y una imagen adecuada de dockerhub.
Requisitos previos
-
Un dispositivo de control PLCnext adecuado, con acceso a Internet.Ejemplos:AXC F 3152 con versión de firmware 2025.0 o posterior; AXC F 1252 con versión de firmware 2026.0 o posterior. Actualmente, la imagen OCI utilizada en este artículo no está disponible para objetivos armv7 como el AXC F 2152.
-
En un navegador, abra el sitio de administración basada en web (WBM) en el dispositivo y, en la página Servicios del sistema, asegúrese de que la función SERVIDOR LOCAL GRPC esté activada.
Procedimiento:
-
Abra una sesión de shell segura en el dispositivo PLCnext Control utilizando la cuenta de usuario administrador.
-
En la sesión de shell, ejecute el siguiente comando:
podman pull docker.io/fullstorydev/grpcurl:latest-alpineEsto descarga una imagen OCI que contiene la herramienta de línea de comandos grpcurl al dispositivo de control PLCnext.
-
Enumere los servicios gRPC disponibles en el dispositivo de control PLCnext local:
podman run -it --rm -v /run/plcnext/:/run/plcnext/ --userns=keep-id docker.io/fullstorydev/grpcurl:latest-alpine --plaintext unix:///run/plcnext/grpc.sock listRespuesta:
Arp.Device.Interface.Services.Grpc.IDeviceControlService Arp.Device.Interface.Services.Grpc.IDeviceInfoService Arp.Device.Interface.Services.Grpc.IDeviceSettingsService Arp.Device.Interface.Services.Grpc.IDeviceStatusService Arp.Io.Axioline.Services.Grpc.IAcyclicCommunicationService Arp.Io.Axioline.Services.Grpc.IAxioMasterService Arp.Plc.Gds.Services.Grpc.IDataAccessService Arp.Plc.Gds.Services.Grpc.IForceService Arp.Plc.Gds.Services.Grpc.ISubscriptionService Arp.Services.DataLogger.Services.Grpc.IDataLoggerService2 Arp.Services.NotificationLogger.Services.Grpc.INotificationLoggerService Arp.System.Commons.Services.Io.Grpc.IDirectoryService Arp.System.Commons.Services.Io.Grpc.IFileService Arp.System.Commons.Services.Io.Grpc.IFileSystemInfoService Arp.System.Lm.Services.Grpc.ILicenseStatusService Arp.System.Nm.Services.Grpc.INotificationManagerService Arp.System.Security.Services.Grpc.IAuthenticationService Arp.System.Um.Services.Grpc.IAuthorizationInfoService Arp.System.Um.Services.Grpc.IPasswordAuthenticationService grpc.reflection.v1.ServerReflection grpc.reflection.v1alpha.ServerReflection -
(Opcional) Cree un alias para simplificar los comandos grpcurl posteriores:
alias grpcurl="podman run -it --rm -v /run/plcnext/:/run/plcnext/ --userns=keep-id docker.io/fullstorydev/grpcurl:latest-alpine" -
Recuperar la temperatura de la placa desde el dispositivo de Control PLCnext:
grpcurl -format json -d '{"identifier":"Status.Board.Temperature.Centigrade"}' --plaintext unix:///run/plcnext/grpc.sock Arp.Device.Interface.Services.Grpc.IDeviceStatusService.GetItemRespuesta:
{ "_ReturnValue": { "TypeCode": "CT_Int8", "Int8Value": 46 } }
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
- Qué esperar al contratar una agencia de marketing industrial
- Los inventos estadounidenses que revolucionaron la fabricación
- LM1875:una guía completa sobre amplificación de audio
- Cómo determinar si un taller de fabricación de metal puede manejar su proyecto
- Cómo utilizar el corte por láser para dar vida a su idea de producto
- Una visión estratégica de la gestión de la cadena de suministro
- Una receta para la infiltración perfecta de electrodos
- E.G.O. América del Norte:nuevas formas de hacer crecer una empresa de 90 años
- 4 desafíos de almacén resueltos con etiquetas de almacén
- Comprensión del puente de unión principal (MBJ):definición, ubicación y pautas de tamaño
- Fuente de alimentación sin transformador:los conceptos básicos generales, el funcionamiento y los requisitos explicados