Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Локальное взаимодействие gRPC с управлением PLCnext через grpcurl в контейнере OCI

Это последняя статья в серии об использовании gRPC для взаимодействия со средой выполнения PLCnext на устройстве управления PLCnext.

Предыдущие публикации этой серии включали:

В статьях, перечисленных выше, показано, как получить доступ к серверу gRPC на устройстве PLCnext Control с удаленного. клиентское устройство. В этом сообщении приведен пример локального Клиент gRPC — то есть клиент gRPC, работающий на устройстве PLCnext Control, который обращается к серверу gRPC на том же устройстве.

Другие примеры локального Клиенты gRPC на устройствах PLCnext Control можно найти здесь:

Поскольку на устройствах PLCnext Control в стандартной комплектации не установлено клиентское программное обеспечение gRPC, в этой статье показано, как запустить клиент gRPC (в данном случае grpcurl) в контейнере OCI с помощью Podman и подходящего образа из dockerhub.

Предварительные условия

    <ли>

    Подходящее устройство управления PLCnext с доступом в Интернет. Примеры:AXC F 3152 с версией прошивки 2025.0 или новее; AXC F 1252 с версией встроенного ПО 2026.0 или новее. В настоящее время образ OCI, используемый в этой статье, недоступен для устройств Armv7, таких как AXC F 2152.

    <ли>

    В браузере откройте сайт веб-управления (WBM) на устройстве и на странице «Системные службы» убедитесь, что функция «ЛОКАЛЬНЫЙ СЕРВЕР GRPC» активирована.

    Процедура:

      <ли>

      Откройте защищенный сеанс оболочки на устройстве PLCnext Control, используя учетную запись администратора.

      <ли>

      В сеансе оболочки выполните следующую команду:

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

      При этом образ OCI, содержащий инструмент командной строки grpcurl, загружается на устройство управления PLCnext.

      <ли>

      Перечислите службы gRPC, доступные на локальном устройстве управления PLCnext:

       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
      

      Ответ:

      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
      
      <ли>

      (Необязательно) Создайте псевдоним, чтобы упростить последующие команды grpcurl:

       alias grpcurl="podman run -it --rm -v /run/plcnext/:/run/plcnext/ --userns=keep-id docker.io/fullstorydev/grpcurl:latest-alpine" 
      
      <ли>

      Получите температуру платы от устройства управления PLCnext:

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

      Ответ:

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

      Примечание.

      В блоге Makers представлены приложения и пользовательские истории членов сообщества, которые не тестировались и не проверялись Phoenix Contact. Используйте их на свой страх и риск.


Промышленные технологии

  1. Кто №1 ?:Измерение добавленной стоимости в обрабатывающей промышленности на одного сотрудника в стране
  2. Бесполетная зона:как аэрокосмическая промышленность борется с COVID-19
  3. Датчики вибрации:полное руководство по типам датчиков вибрации и их использованию
  4. Что такое графен и его преимущества
  5. Ключевое примечание о машинном обучении и его четырех основных типах для начинающих
  6. Знакомство с сектором промышленных товаров!
  7. Оптотиристоры
  8. Пять препятствий для доставки в домашний офис - и как их преодолеть
  9. Калькулятор стоимости электроэнергии – Расчет стоимости энергии
  10. Ваше основное руководство по сборным резервуарам для хранения