Hubungkan Skrip Python dengan Lancar ke Proyek Insinyur PLCnext Menggunakan Refleksi gRPC
Postingan ini berfungsi sebagai pelengkap postingan lainnya di tahun 2025.
File dan perpustakaan dapat ditemukan di repositori github yang sama dari postingan lama.
Pendekatan ini berfungsi baik untuk AXC F 2152 dan AXC F 3152. Perbedaannya, sekali lagi, terletak pada cara menginstal perpustakaan yang diperlukan.
PENTING: Pendekatan ini telah diuji dan terlihat berhasil untuk FW 2025.X
Untuk AXC F 2152:
Perpustakaan grpcio dan refleksi grpcio perlu dikompilasi silang dari perangkat dan diinstal secara manual. Pustaka ini (sudah dikompilasi silang untuk Python 3.12) tersedia di repositori github.
Pemberitahuan: Bertentangan dengan postingan lama, penggunaan refleksi memungkinkan untuk melewatkan sepenuhnya penggunaan dan kompilasi file protobuf. Petunjuk berikut memungkinkan Anda membuat container dengan Python 3.12 tempat Anda dapat menjalankan skrip yang menggunakan gRPC.
- Buat folder di /opt/plcnext yang akan digunakan untuk komunikasi gRPC, contoh ini akan memberikan nama "grpc2152" ke folder tersebut. Di dalam grpc2152, buat struktur folder berikut:
grpc2152/
├──── whl_files312/
│ └─── (content of the whl_files312 folder from the given github repo)
│
└── gRPC_with_Reflection_26_0.py
- Hubungkan ke PLC Anda melalui sesi SSH, masuk sebagai pengguna root (su) dan dapatkan versi ramping python 3.12:(pada titik ini, koneksi internet diperlukan untuk mendapatkan image python)
$ podman pull docker.io/library/python:3.12.13-slim
- Jalankan container dan lampirkan ke dalamnya (menautkan folder grpc2152 sebagai volume dan volume kedua (jalankan) yang diperlukan untuk koneksi ke soket grpc):
$ podman run -it -v /opt/plcnext/grpc2152/:/grpc2152 -v /run/:/run --restart=always --name grpctester python:3.12.13-slim /bin/bash
- Setelah terpasang ke konsol penampung, navigasikan ke folder whl_files312 dan instal perpustakaan grpcio yang diperlukan.
$ cd /grpc2152/whl_files312/
$ pip install *.whl
-
Unduh dan mulai proyek PLCnext Engineer "TestingGRPC.pcwex" dari repositori github.
-
Uji fungsionalitas grpc dari konsol penampung dengan menjalankan skrip "gRPC_with_Reflection_26_0.py". Dalam mode debug, konten variabel harus diisi dengan nilai teks dari skrip dan juga ditampilkan di konsol setelah dibaca dari proyek PLCnext Engineer.
Untuk AXC F 3152.
Ikuti prosedur yang sama yang diberikan untuk 2152 daripada menggunakan perpustakaan dari repositori, instal perpustakaan langsung dari pypi.org
$ pip install grpcio==1.76.0
$ pip install grpcio-reflection==1.76.0
Catatan:
Blog Pembuat menampilkan aplikasi dan kisah pengguna anggota komunitas yang tidak diuji atau ditinjau oleh Phoenix Contact. Gunakan dengan risiko Anda sendiri.