Локальное взаимодействие gRPC с управлением PLCnext через grpcurl в контейнере OCI
Это последняя статья в серии об использовании gRPC для взаимодействия со средой выполнения PLCnext на устройстве управления PLCnext.
Предыдущие публикации этой серии включали:
- Удаленный gRPC с помощью grpcurl
- Защитите удаленный gRPC с помощью grpcurl
- Удаленный gRPC с использованием отражения
В статьях, перечисленных выше, показано, как получить доступ к серверу gRPC на устройстве PLCnext Control с удаленного. клиентское устройство. В этом сообщении приведен пример локального Клиент gRPC — то есть клиент gRPC, работающий на устройстве PLCnext Control, который обращается к серверу gRPC на том же устройстве.
Другие примеры локального Клиенты gRPC на устройствах PLCnext Control можно найти здесь:
- Как создать клиент для сервера gRPC PLCnext Control на C#
- Используйте gRPC для взаимодействия сценариев Python с проектами PLCnext Engineer.
Поскольку на устройствах 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 ?:Измерение добавленной стоимости в обрабатывающей промышленности на одного сотрудника в стране
- Бесполетная зона:как аэрокосмическая промышленность борется с COVID-19
- Датчики вибрации:полное руководство по типам датчиков вибрации и их использованию
- Что такое графен и его преимущества
- Ключевое примечание о машинном обучении и его четырех основных типах для начинающих
- Знакомство с сектором промышленных товаров!
- Оптотиристоры
- Пять препятствий для доставки в домашний офис - и как их преодолеть
- Калькулятор стоимости электроэнергии – Расчет стоимости энергии
- Ваше основное руководство по сборным резервуарам для хранения