Бесшовное подключение Python-скриптов к проектам PLCnext Engineer через gRPC Reflection
Эта публикация служит дополнением к другому посту 2025 года.
Файлы и библиотеки можно найти в том же репозитории GitHub из старого поста.
Подход работает как для AXC F 2152, так и для AXC F 3152. Разница, как и прежде, заключается в том, как установить необходимые библиотеки.
ВАЖНО: Подход был протестирован и работает для FW 2025.X
Для AXC F 2152:
Библиотеки grpcio и grpcio-reflection должны быть кросскомпилированы вне устройства и установлены вручную. Эти библиотеки (уже кросскомпилированные для Python 3.12) доступны в репозитории GitHub.
Уведомление: В отличие от старого поста, использование рефлексии позволяет полностью пропустить использование и компиляцию protobuf-файлов. Следующие инструкции позволяют создать контейнер с Python 3.12, где можно запускать скрипты, использующие gRPC.
- Создайте папку в /opt/plcnext для gRPC-коммуникации, в этом примере назовем её «grpc2152». Внутри grpc2152 создайте следующую структуру папок:
grpc2152/ ├──── whl_files312/ │ └─── (содержимое папки whl_files312 из данного GitHub-репо) │ └── gRPC_with_Reflection_26_0.py
- Подключитесь к вашему ПЛК через SSH-сессию, войдите как root-пользователь (su) и получите slim-версию Python 3.12 (в этот момент необходимо интернет-соединение для получения образа Python):
$ podman pull docker.io/library/python:3.12.13-slim
- Запустите контейнер и подключитесь к нему (смонтировав папку grpc2152 как том и второй том (run), необходимый для подключения к gRPC-сокету):
$ podman run -it -v /opt/plcnext/grpc2152/:/grpc2152 -v /run/:/run --restart=always --name grpctester python:3.12.13-slim /bin/bash
- После подключения к консоли контейнера перейдите в папку whl_files312 и установите необходимые библиотеки grpcio.
$ cd /grpc2152/whl_files312/ $ pip install *.whl
Скачайте и запустите проект PLCnext Engineer «TestingGRPC.pcwex» из репозитория GitHub.
Протестируйте gRPC-функциональность из консоли контейнера, выполнив скрипт «gRPC_with_Reflection_26_0.py». В режиме отладки содержимое переменных должно заполниться текстовыми значениями из скрипта и также отображаться на консоли после чтения из проекта PLCnext Engineer.
Для AXC F 3152.
Следуйте той же процедуре, что и для 2152, но вместо использования библиотек из репозитория установите библиотеки напрямую с pypi.org
$ pip install grpcio==1.76.0 $ pip install grpcio-reflection==1.76.0
Примечание:
Блог Makers демонстрирует приложения и пользовательские истории членов сообщества, которые не тестировались и не проверялись Phoenix Contact. Используйте их на свой страх и риск.
Промышленные технологии
- Понимание трёх основных типов распределительного устройства и их ролей
- Интероперабельность: как вашей компании достичь бесшовной интеграции
- Схема десульфатора батареи: Проверенное решение для обращения сульфатации и восстановления жизни батареи
- Снижение экологического следа производства полупроводников и электроники
- Вставное литье: одношаговый процесс для долговечных многослойных компонентов
- Основы ГД&T: Как символьный язык повышает точность проектирования
- Освоение чистоты поверхности: измерение, анализ и влияние на производительность
- Гибкие печатные платы: передовые техники сборки и производственные инсайты
- Производители: 10 проверенных стратегий email-маркетинга для роста ROI
- Полное руководство по AWG: Таблица сечений проводов и допустимых токов для точного электрорасчета