gRPC リフレクションを使用して Python スクリプトを PLCnext エンジニア プロジェクトにシームレスに接続
この投稿は、2025 年の他の投稿を補完するものです。
ファイルとライブラリは、古い投稿と同じ github リポジトリにあります。
このアプローチは、AXC F 2152 と AXC F 3152 の両方で機能します。違いは、必要なライブラリのインストール方法にあります。
重要: このアプローチはテストされ、FW 2025.X で機能することが確認されています。
AXC F 2152 の場合:
ライブラリ grpcio および grpcio-reflection は、デバイスからクロスコンパイルし、手動でインストールする必要があります。これらのライブラリ (すでに Python 3.12 用にクロスコンパイルされています) は、github リポジトリで入手できます。
注意: 古い投稿とは異なり、リフレクションを使用すると、protobuf ファイルの使用とコンパイルを完全にスキップできます。次の手順により、gRPC を利用するスクリプトを実行できる Python 3.12 でコンテナを作成できます。
<オル>grpc2152/
├──── whl_files312/
│ └─── (content of the whl_files312 folder from the given github repo)
│
└── gRPC_with_Reflection_26_0.py
<オル> $ podman pull docker.io/library/python:3.12.13-slim
<オル> $ podman run -it -v /opt/plcnext/grpc2152/:/grpc2152 -v /run/:/run --restart=always --name grpctester python:3.12.13-slim /bin/bash
<オル> $ cd /grpc2152/whl_files312/
$ pip install *.whl
<オル> PLCnext エンジニア プロジェクト「TestingGRPC.pcwex」を Github リポジトリからダウンロードして開始します。
コンテナのコンソールからスクリプト「gRPC_with_Reflection_26_0.py」を実行して、grpc 機能をテストします。デバッグ モードでは、変数の内容にスクリプトのテキスト値を入力し、PLCnext Engineer プロジェクトから読み取った後にコンソールに表示する必要があります。
AXC F 3152 の場合。
リポジトリのライブラリを使用する代わりに、2152 と同じ手順に従い、pypi.org からライブラリを直接インストールします。
$ pip install grpcio==1.76.0
$ pip install grpcio-reflection==1.76.0
注:
Makers Blog には、フエニックス・コンタクトによってテストまたはレビューされていないアプリケーションとコミュニティ メンバーのユーザー ストーリーが表示されます。ご自身の責任で使用してください。
産業技術