Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Lokale gRPC-interactie met PLCnext Control via grpcurl in OCI-container

Dit is de laatste aflevering in een serie over het gebruik van gRPC om te interacteren met de PLCnext Runtime op een PLCnext Control-apparaat.

Eerdere posts in de serie omvatten:

  • Remote gRPC met grpcurl
  • Veilige remote gRPC met grpcurl
  • Remote gRPC met reflection

De bovenstaande artikelen laten zien hoe je de gRPC-server op een PLCnext Control-apparaat benadert vanaf een remote client-apparaat. Deze post geeft een voorbeeld van een lokale gRPC-client – dat wil zeggen, een gRPC-client die op een PLCnext Control-apparaat draait en toegang heeft tot de gRPC-server op hetzelfde apparaat.

Andere voorbeelden van lokale gRPC-clients op PLCnext Control-apparaten vind je hier:

  • Hoe je een client maakt voor de PLCnext Control gRPC-server in C#
  • gRPC gebruiken om Python-scripts te koppelen aan PLCnext Engineer-projecten.

Omdat er standaard geen gRPC-clientsoftware op PLCnext Control-apparaten geïnstalleerd is, laat dit artikel zien hoe je een gRPC-client (in dit geval grpcurl) draait in een OCI-container met Podman en een geschikte image van Docker Hub.

Vereisten

  1. Een geschikt PLCnext Control-apparaat met internettoegang. Voorbeelden: AXC F 3152 met firmwareversie 2025.0 of later; AXC F 1252 met firmwareversie 2026.0 of later. Op dit moment is de OCI-image die in dit artikel gebruikt wordt niet beschikbaar voor armv7-targets zoals de AXC F 2152.

  2. Open in een browser de Web-based Management (WBM)-site op het apparaat en ga op de System Services-pagina na of de GRPC LOCAL SERVER-functie geactiveerd is.

Procedure:

  1. Open een secure shell-sessie op het PLCnext Control-apparaat met het admin-gebruikersaccount.

  2. Voer in de shell-sessie het volgende commando uit:

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

    Dit downloadt een OCI-image met het grpcurl-commandlinetool naar het PLCnext Control-apparaat.

  3. Lijst de gRPC-services die beschikbaar zijn op het lokale PLCnext Control-apparaat:

     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 

    Respons:

    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. (Optioneel) Maak een alias om verdere grpcurl-commando's te vereenvoudigen:

     alias grpcurl="podman run -it --rm -v /run/plcnext/:/run/plcnext/ --userns=keep-id docker.io/fullstorydev/grpcurl:latest-alpine" 
  5. Haal de bordtemperatuur op van het PLCnext Control-apparaat:

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

    Respons:

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

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

  1. De ASME-code begrijpen: Waarom gecertificeerde lasters essentieel zijn
  2. Uw Metaalfabricagekosten Verlagen: Bewezen Strategieën & Besparingen
  3. Vermijd Deze 5 Veelvoorkomende Valkuilen bij Implementatie van Assetbeheersystemen in Nutbedrijven
  4. Cryogene PCB's: Laagtemperatuur PCB-materialen uitgelegd
  5. Voorbereiden op Manufacturing Day 2017: Nu al plannen
  6. 8 bewezen veiligheidstips voor de productie om je personeel te beschermen
  7. In-Shop Metrologie Verhogen: Walk-Up Diensten Voor Nauwkeurige Onderdeelinspectie
  8. Waarom Regelmatig Onderhoud Essentieel Is Voor Zware Machines
  9. Lot Tracking Beheersen: Een Sleutelstrategie voor Productie-excellentie
  10. Panmobil smartSCANNDY Barcodescanner: Uitgebreide Review & Prestatieoverzicht
  11. Composiet vs Aluminium: Waarom Moderne Vliegtuigen Kiezen Voor Lichte Materialen