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

Бесшовная gRPC-интеграция: Подключение Python-скриптов к проектам PLCnext Engineer

Следующая информация служит как обновлением, так и расширением этого поста 2022 года.

Подход работает одинаково для AXC F 2152 и AXC F 3152, разница заключается в том, как установить необходимые библиотеки.

ВАЖНО: Подход протестирован и работает для FW 2024.x и 2025.0

Для AXC F 2152:

Библиотеки grpcio и grpcio-tools нужно кросскомпилировать вне устройства и установить вручную. Обзор подхода, который я использую для кросскомпиляции с помощью QEMU, можно найти в этой записи форума.

Кросскомпилированные библиотеки для Python 3.11 вместе с остальными файлами для следования этому посту были доступны по этой ссылке.

Следующие инструкции позволяют создать контейнер с Python 3.11, где можно запускать скрипты, использующие gRPC.

  1. Используя WinSCP (или другое ПО, позволяющее доступ к файловой системе вашего контроллера), создайте папку в /opt/plcnext для gRPC-коммуникации, в этом примере назовем её «grpc2152». Внутри grpc2152 создайте следующую структуру папок.
grpc2152/ ├── include/ │ └── google/ │ └── (пустая папка пока) │ ├── whl_files311/ │ ├── grpcio-1.71.0-cp311-cp311-linux_armv7l.whl │ └── grpcio_tools-1.71.0-cp311-cp311-linux_armv7l.whl │ ├── generate_googlegrpc.py ├── grpc_test.py └── Readme.txt 
  1. Скачайте репозиторий «https://github.com/PLCnext/gRPC» и оттуда возьмите папку «protobuf» и поместите её внутрь ранее созданной папки google. Получившаяся структура папок выглядит так:
grpc2152/ ├── include/ │ └── google/ │ └── protobuf/ │ └── (содержимое папки protobuf из PLCnext github repo) │ ├── whl_files311/ │ ├── grpcio-1.71.0-cp311-cp311-linux_armv7l.whl │ └── grpcio_tools-1.71.0-cp311-cp311-linux_armv7l.whl │ ├── generate_googlegrpc.py ├── grpc_test.py └── Readme.txt 
  1. Создайте SSH-сессию к вашему ПЛК, войдите как root-пользователь (su) и получите slim-версию python 3.11. (в этот момент необходимо интернет-соединение для получения образа python)
$ podman pull docker.io/library/python:3.11.10-slim-bookworm 
  1. Запустите и подключитесь к контейнеру (смонтируйте папку grpc2152 как том и второй том (run), необходимый для подключения к gRPC-сокету):
$ podman run -it -v /opt/plcnext/grpc2152:/grpc2152 -v /run:/run --restart=always --name grpctester python:3.11.10-slim-bookworm /bin/bash 
  1. После подключения к консоли контейнера перейдите в папку whl_files311 и установите библиотеки grpcio. (интернет-соединение необходимо для зависимостей)
 $ cd /grpc2152/whl_files311/ $ pip install *.whl 
  1. Вернитесь в родительскую папку grpc2152 внутри контейнера и выполните python-скрипт «generate_googlegrpc.py» (должны появиться некоторые сообщения -working!-)
 $ cd /grpc2152 $ python3 generate_googlegrpc.py 
  1. После успешного завершения скрипта должна появиться новая папка (pxc_grpc). Внутри grpc2152 python-сниппеты для grpc теперь находятся там. Теперь вы можете протестировать gRPC-функциональность с примером проекта и скриптом.

  2. Скачайте и запустите проект PLCnext Engineer «TestingGRPC.pcwex» на контроллере.

  3. Протестируйте gRPC-функциональность из консоли контейнера, выполнив скрипт «grpc_test.py». В проекте PLCnext Engineer, обращаясь к переменным в режиме отладки, содержимое переменных должно заполниться значениями из скрипта.

Для AXC F 3152.

Следуйте той же процедуре, что и выше для 2152, но в шаге 5 установите библиотеки напрямую с pypi.org

 $ pip install grpcio==1.71.0 $ pip install grpcio-tools==1.71.0 

Типы данных и использование сниппетов кода.

Теперь, когда вы хотите использовать gRPC для доступа к переменным, включите папку, где были сгенерированы сниппеты кода, в Python path, используемый вашими скриптами, и импортируйте необходимые классы (строки 6–14 данного файла grpc_test.py).

Помните, что нужно учитывать типы данных, описанные в старом посте, который я упоминал в начале этой статьи.

Примечание:

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

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

  1. Почему управление производством критически важно для успеха бизнеса
  2. 5 проверенных стратегий для более экологичной доставки последней мили
  3. Как правильно чистить и дезинфицировать защитные очки для максимальной защиты
  4. 13 обязательных квантовых языков программирования и инструментов для 2026 года
  5. Индивидуальное производство в 2026 году: преимущества, процесс и цифровые решения
  6. Как строительные компании используют префабрикацию для ускорения проектов
  7. Ступица для расточки со смещением: повышение точности и качества отверстий
  8. Ключевые переменные, влияющие на эффективность вихретокового контроля
  9. Экономия $2,2 трлн в год: как полиуретановые покрытия предотвращают коррозию
  10. Материалы и конструкция гибких печатных плат: создание надежных высокопроизводительных PCB