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

Veilige Remote gRPC Toegang Met grpcurl Op PLCnext Apparaten

WAARSCHUWING: De procedure die in deze blog beschreven wordt, gebruikt functies van de PLCnext Runtime die momenteel niet ondersteund worden. Gebruik deze functies op eigen risico, en absoluut niet in productie-applicaties.

Vanuit het gRPCurl GitHub-project:

In recente firmware-versies is het mogelijk geweest om toegang te krijgen tot de gRPC-server op PLCnext Control-apparaten, maar alleen met gRPC-clients die op het lokale apparaat draaien. Eerdere Makers Blog-posts hebben voorbeelden gegeven van gRPC-clients geschreven in C# en Python.

In toekomstige firmware-versies zal het ook mogelijk zijn om toegang te krijgen tot de gRPC-server op PLCnext Control-apparaten vanaf externe apparaten. In feite is deze functie al opgenomen in firmwareversie 2022.6, maar dit is nog steeds in ontwikkeling en wordt momenteel niet ondersteund. Dit artikel beschrijft hoe je deze functie activeert voor test- en ontwikkelingsdoeleinden, met behulp van een open-source gRPC-client genaamd gRPCurl.

Let op dat de gRPC-server NIET momenteel op afstand toegankelijk moet zijn in productie-applicaties.

Procedure

Op het PLCnext Control-apparaat (met firmware 2022.6)

  • Bewerk het bestand /etc/plcnext/Packages.acf.settings en wijzig de waarde van de omgevingsvariabele ARP_PACKAGE:Arp.Services.GrpcRemote in "true"

In de toekomst zal deze instelling via de Web Based Management "System Services" pagina worden gemaakt.

  • Controleer de inhoud van het bestand /opt/plcnext/config/Services/Grpc/Remote.grpc.config. Je zou een waarde van "0.0.0.0:50051" moeten zien voor het listener-socketadres. Dit betekent dat de gRPC-server op poort 50051 zal luisteren naar berichten van gRPC-clients.

  • Herstart de PLCnext Runtime.

Op het externe apparaat

  • Installeer gRPCurl met de instructies op GitHub.

  • Download de protobuf-map, met de gRPC-servicedefinitiebestanden, van de PLCnext/gRPC-repository op GitHub

  • Op de commandoregel, geef een grpcurl-opdracht om de bordtemperatuur in het PLCnext Control-apparaat te lezen:

grpcurl -insecure -import-path Documents/plcnext-grpc/protobuf -proto Device/Interface/IDeviceStatusService.proto -d '{"identifier":"Status.Board.Temperature.Centigrade"}' 192.168.1.10:50051 Arp.Device.Interface.Services.Grpc.IDeviceStatusService/GetItem 

... waar -import-path het pad is naar de protobuf-map, en het IP-adres het adres is van het PLCnext Control-apparaat.

Het antwoord zou een JSON-object moeten zijn met de bordtemperatuur in graden Celsius:

{ "ReturnValue": { "TypeCode": "CT_Int8", "Int8Value": 43 } } 

FAQ

Dit zou mogelijk kunnen zijn, maar grpcurl zou vanaf de bron moeten worden gebouwd voor het doelplatform, en gegeven het aantal afhankelijkheden zal dat waarschijnlijk niet simpel zijn.

Voor meer hulp ...

Gebruik grpcurl -help om meer informatie te krijgen over beschikbare opties.

Voor vragen over de gRPC-server in de PLCnext Runtime, gebruik het PLCnext Community Forum.


Industriële technologie

  1. Externe weerbewaking met Raspberry Pi 3 en PubNub
  2. IR-afstandsbediening-commando's vastleggen op Raspberry Pi zonder LIRC: Een Python UART-benadering
  3. 5 Belangrijkste voordelen van externe productiecontrole voor de moderne industrie
  4. Veilige Remote gRPC Toegang Met grpcurl Op PLCnext Apparaten
  5. Clusterbeheer op PLCnext: Kubernetes Benutten voor Industriële Automatisering
  6. Real-time PLCnext-monitoring met Tableau-dashboards
  7. Power BI-dashboards maken vanuit PLCnext-clouddata
  8. Real-time Grafana-dashboards maken voor PLCnext Control in Azure IoT Hub
  9. Java 9-apps optimaliseren op PLCnext Control met Jlink
  10. APT-pakketbeheer installeren op PLCnext Linux: Stap-voor-stap handleiding
  11. C# using-statements: imports, aliasen en static directives