Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Interaction gRPC locale avec PLCnext Control via grpcurl dans le conteneur OCI

Il s'agit du dernier volet d'une série sur l'utilisation de gRPC pour interagir avec le runtime PLCnext sur un appareil PLCnext Control.

Les articles précédents de la série incluaient :

Les articles répertoriés ci-dessus montrent comment accéder au serveur gRPC sur un appareil PLCnext Control à partir d'un distant. périphérique client. Cet article donne un exemple de projet local Client gRPC - c'est-à-dire un client gRPC exécuté sur un appareil PLCnext Control, qui accède au serveur gRPC sur le même appareil.

Autres exemples de local Les clients gRPC sur les appareils PLCnext Control peuvent être trouvés ici :

Puisqu'aucun logiciel client gRPC n'est installé en standard sur les appareils PLCnext Control, cet article montre comment exécuter un client gRPC (dans ce cas, grpcurl) dans un conteneur OCI à l'aide de Podman et d'une image appropriée de Dockerhub.

Prérequis

  1. Un appareil PLCnext Control approprié, avec accès à Internet. Exemples :AXC F 3152 avec la version de firmware 2025.0 ou ultérieure ; AXC F 1252 avec la version du micrologiciel 2026.0 ou ultérieure. Actuellement, l'image OCI utilisée dans cet article n'est pas disponible pour les cibles armv7 comme l'AXC F 2152.

  2. Dans un navigateur, ouvrez le site Web-based Management (WBM) sur l'appareil et, sur la page Services système, assurez-vous que la fonctionnalité GRPC LOCAL SERVER est activée.

Procédure :

  1. Ouvrez une session Secure Shell sur l'appareil PLCnext Control à l'aide du compte utilisateur admin.

  2. Dans la session shell, exécutez la commande suivante :

     podman pull docker.io/fullstorydev/grpcurl:latest-alpine
    

    Cela télécharge une image OCI contenant l'outil de ligne de commande grpcurl sur le périphérique PLCnext Control.

  3. Répertoriez les services gRPC disponibles sur le périphérique PLCnext Control 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 list
    

    Réponse :

    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
    
  4. (Facultatif) Créez un alias pour simplifier les commandes grpcurl suivantes :

     alias grpcurl="podman run -it --rm -v /run/plcnext/:/run/plcnext/ --userns=keep-id docker.io/fullstorydev/grpcurl:latest-alpine" 
    
  5. Récupérer la température de la carte depuis le dispositif PLCnext Control :

    grpcurl -format json -d '{"identifier":"Status.Board.Temperature.Centigrade"}' --plaintext unix:///run/plcnext/grpc.sock Arp.Device.Interface.Services.Grpc.IDeviceStatusService.GetItem
    

    Réponse :

    {
     "_ReturnValue": {
     "TypeCode": "CT_Int8",
     "Int8Value": 46
     }
    }
    

Remarque :

Le Makers Blog présente des applications et des témoignages d'utilisateurs de membres de la communauté qui ne sont ni testés ni examinés par Phoenix Contact. Utilisez-les à vos propres risques.


Technologie industrielle

  1. Circuit de batterie de secours :un guide complet pour en créer un
  2. Faites confiance à Camcode pour des services de gestion d'actifs complets et personnalisés
  3. Choisir le bon matériau pour votre projet d'usinage CNC
  4. Comment câbler un disjoncteur GFCI ? Câblage GFCI 1, 2, 3 et 4 pôles
  5. Périphériques quantiques
  6. Déficit de compétences :pourquoi vous devez développer une main-d'œuvre multigénérationnelle
  7. Mesure de distance à l'aide d'Arduino et d'un capteur à ultrasons
  8. Décodage des fiches matières
  9. Pressions étrangères sur les fabricants d'acier basés aux États-Unis