Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Lokale gRPC-Interaktion mit PLCnext Control über grpcurl im OCI-Container

Dies ist der neueste Teil einer Reihe über die Verwendung von gRPC zur Interaktion mit der PLCnext Runtime auf einem PLCnext-Steuerungsgerät.

Zu den früheren Beiträgen der Serie gehörten:

Die oben aufgeführten Artikel zeigen, wie Sie von einer Remote auf den gRPC-Server auf einem PLCnext Control-Gerät zugreifen Client-Gerät. Dieser Beitrag gibt ein Beispiel für ein lokales gRPC-Client – also ein gRPC-Client, der auf einem PLCnext-Steuerungsgerät läuft und auf den gRPC-Server auf demselben Gerät zugreift.

Weitere Beispiele für lokal gRPC-Clients auf PLCnext Control-Geräten finden Sie hier:

Da auf PLCnext Control-Geräten standardmäßig keine gRPC-Client-Software installiert ist, zeigt dieser Artikel, wie man einen gRPC-Client (in diesem Fall grpcurl) in einem OCI-Container mit Podman und einem passenden Image von Dockerhub ausführt.

Voraussetzungen

  1. Ein geeignetes PLCnext-Steuergerät mit Internetzugang.Beispiele:AXC F 3152 mit Firmware-Version 2025.0 oder höher; AXC F 1252 mit Firmware-Version 2026.0 oder höher. Das in diesem Artikel verwendete OCI-Image ist derzeit nicht für armv7-Ziele wie den AXC F 2152 verfügbar.

  2. Öffnen Sie in einem Browser die Web-based Management (WBM)-Site auf dem Gerät und stellen Sie auf der Seite „Systemdienste“ sicher, dass die GRPC LOCAL SERVER-Funktion aktiviert ist.

Vorgehensweise:

  1. Öffnen Sie eine Secure Shell-Sitzung auf dem PLCnext Control-Gerät mit dem Admin-Benutzerkonto.

  2. Führen Sie in der Shell-Sitzung den folgenden Befehl aus:

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

    Dadurch wird ein OCI-Image mit dem grpcurl-Befehlszeilentool auf das PLCnext-Steuerungsgerät heruntergeladen.

  3. Listen Sie die auf dem lokalen PLCnext-Steuerungsgerät verfügbaren gRPC-Dienste auf:

     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
    

    Antwort:

    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. (Optional) Erstellen Sie einen Alias, um nachfolgende grpcurl-Befehle zu vereinfachen:

     alias grpcurl="podman run -it --rm -v /run/plcnext/:/run/plcnext/ --userns=keep-id docker.io/fullstorydev/grpcurl:latest-alpine" 
    
  5. Rufen Sie die Platinentemperatur vom PLCnext-Steuergerät ab:

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

    Antwort:

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

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

  1. Oberschwingungen in Mehrphasenstromsystemen
  2. Welche Funktion hat das Druckhalteventil in der Kälteanlage?
  3. Sichere Datenverwaltung mit der Fusion 360-Verwaltungserweiterung
  4. Was ist die beste Schleifscheibe für meine Anwendung?
  5. Bedeutung der Planung von Lieferkettenunterbrechungen
  6. Was ist das Übersetzungsverhältnis? Es ist Formel und Berechnung des Übersetzungsverhältnisses
  7. Was ist ein Identifikationssystem für Strommasten?
  8. 3 Regeln für die Analysatorgenauigkeit
  9. Blechkonstruktion:Tipps und Tricks
  10. LM324-Schaltungen:Verschiedene Schaltungen, die Sie mit dem LM324 herstellen können