使用 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 文件的使用和编译。以下说明允许您使用 Python 3.12 创建一个容器,在其中可以运行使用 gRPC 的脚本。
- 在 /opt/plcnext 中创建一个用于 gRPC 通信的文件夹,本示例将为该文件夹分配名称“grpc2152”。在 grpc2152 中,创建以下文件夹结构:
- 通过 SSH 会话连接到您的 PLC,以 root 用户 (su) 身份登录并获取精简版本的 python 3.12:(此时,需要互联网连接才能获取 python 映像)
- 运行容器并附加到它(将文件夹 grpc2152 作为连接到 grpc 套接字所需的卷和第二个卷(运行)链接):
- 连接到容器的控制台后,导航到文件夹 whl_files312 并安装必要的 grpcio 库。
-
从 github 存储库下载并启动 PLCnext Engineer 项目“TestingGRPC.pcwex”。
-
通过执行脚本“gRPC_with_Reflection_26_0.py”,从容器的控制台测试 grpc 功能。在调试模式下,变量的内容应使用脚本中的文本值进行填充,并在从 PLCnext Engineer 项目读取后显示在控制台上。
适用于 AXC F 3152。
按照为 2152 提供的相同过程,而不是使用存储库中的库,直接从 pypi.org 安装库
<前>42前>注意:
创客博客显示未经菲尼克斯电气测试或审核的社区成员的应用程序和用户故事。使用它们的风险由您自行承担。
工业技术