Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Mempersingkat PLCnext REST API: Menyiapkan Reverse Proxy

PLCnext REST Interface adalah alat yang luar biasa baik untuk menyajikan dan menerima data dari sistem back-end. REST, atau REpresentational State Transfer, adalah gaya arsitektur perangkat lunak yang terdiri dari pedoman dan praktik terbaik untuk membuat layanan web yang scalable. Ada banyak informasi yang bagus sudah ada di PLCnext infoportal, pastikan untuk memeriksa! URI yang disediakan oleh PLCnext Firmware sempurna jika Anda dapat membangun sistem Anda dari awal. Namun mereka tidak ideal jika Anda ingin memasang ulang antarmuka REST yang ada di PLCnext. Blog ini akan menunjukkan kepada Anda cara menyiapkan URI Anda sendiri dan menghubungkannya dengan variabel-variabel Anda dengan reverse proxy. Kami memulai dengan menyiapkan contoh kecil dan bekerja dari sana!

Prasyarat

Saya menggunakan controller AXC F 2152 dengan FW2020.6 dan PLCnext Engineer 2020.6. Tetapi hal yang sama seharusnya mungkin dengan versi sebelumnya setelah 2020.0. Saya akan menggunakan PuTTY untuk menyiapkan koneksi SSH dan postman untuk menangani permintaan HTTP saya. Saya telah menonaktifkan autentikasi untuk tujuan pengembangan, Anda tidak boleh melakukan yang sama dalam produksi! Instruksi untuk PLCnext Engineer akan diberikan sangat tinggi level, tidak yakin harus melakukan apa? Lihat infoportal PLCnext dan video instruksi dan/atau bandingkan dengan proyek contoh! Controller yang saya gunakan memiliki alamat IP 192.168.10.10, silakan ubah ini ke alamat IP yang Anda gunakan.

Contoh

Dalam blog ini saya akan menggunakan pump UDT sederhana sebagai contoh. Anda dapat mengunduh program contoh dari halaman GitHub ini, atau tentu saja membuat sendiri. Matikan penggunaan “user management” di pengaturan eHMI dan buat variabel global. Gunakan variabel ini pada halaman eHMI sehingga kita dapat menggunakannya di API.

Pemanggilan API Pertama

Mungkin kita harus terlebih dahulu menemukan apa yang tepat kita ubah dalam beberapa saat!
Mari kita kirim permintaan GET untuk mendapatkan nilai pompa pertama kita.

Gunakan Postman untuk mengirim permintaan GET ke URI berikut:

GET https://192.168.10.10/_pxc_api/api/variables?paths=Arp.Plc.Eclr/Pump1

(Anda dapat mengubah Pump1 menjadi variabel Anda sendiri)

Hasilnya adalah:

{
"apiVersion": "1.4.0.0",
"projectCRC": 3448945666,
"userAuthenticationRequired": true,
"variables": [
{
"path": "Arp.Plc.Eclr/Pump1",
"value": {
"xStatus": false,
"iNumberOfStarts": 0,
"sStatus": ""
}
}
]
}

Menyiapkan endpoint kustom

Buka sesi shell, buat password root dan login sebagai root user.
Selanjutnya, ketik perintah berikut di terminal Anda, pergi ke “bawah” terminal dan hati-hati tidak mengetik sesuatu di antaranya!

nano /etc/nginx/nginx.conf

Salin tempel bagian berikut ke terminal dan simpan dengan ctrl + s dan tutup dengan ctrl +x.

location /Pump1 {
proxy_pass https://127.27.0.1:443/_pxc_api/api/variables?paths=Arp.Plc.Eclr/Pump1;
}

Mengirim permintaan ke endpoint baru

Kirim permintaan GET baru dengan postman, kali ini ke URI berikut:

GET https://192.168.10.10/Pump1

Menerima jawaban yang sama? Selamat proxy Anda telah diatur dengan sukses!

Menyiapkan beberapa pompa

Oke, tapi bagaimana jika saya memiliki beberapa pompa? Nah, satu pendekatan bisa membuat array yang menampung pump UDT Anda. Anda bisa mendapatkan seluruh array dengan memanggil variabel atau hanya elemen yang Anda inginkan dengan menentukan indeks yang Anda inginkan antara kurung siku, misalnya Pump2[1] akan memberikan elemen dengan indeks 1 dalam array bernama Pump2.

Tapi itu subjek dari blog ini. Kami juga dapat menyiapkan proxy dengan cara sehingga kami dapat mengakses beberapa pompa.
Ubah teks yang ditempel dalam langkah sebelumnya agar cocok dengan skema berikut:

location /pumps {
proxy_pass https://127.27.0.1:443/_pxc_api/api/variables?paths=Arp.Plc.Eclr;
}

Mengirim permintaan GET dengan postman ke URI pertama akan memberikan Anda yang sama seperti sebelumnya. Mengirim permintaan GET ke URI kedua akan memberikan Anda array dengan tipe data yang sama.

https://192.168.10.10/pumps/Pump1
https://192.168.10.10/pumps/Pump2

Sekarang Anda harus memiliki semua yang diperlukan untuk mencocokkan skema API apa pun yang Anda temukan dan mengintegrasikannya di perangkat PLCnext Anda!

Baca lebih lanjut

https://www.howtogeek.com/343877/what-is-an-api/ https://www.w3schools.com/tags/ref_httpmethods.asp https://medium.com/@TebbaVonMathenstien/what-is-an-api-and-why-should-i-use-one-863c3365726b https://restfulapi.net/rest-api-design-tutorial-with-example/

Teknologi Industri

  1. Termo set vs Termoplastik: Memahami Perbedaan Kunci dan Aplikasi
  2. Evolusi Rumah Pintar: Apa yang Diholdi Masa Depan untuk Hidup Terkoneksi
  3. Temukan CONNEX™: Platform Jaringan Rantai Pasokan Terbaik untuk Produsen
  4. Jadi Pilihan Teratas: 26 Item Checklist Esensial untuk Keberhasilan Pembelian B2B
  5. Membuka Nilai: Logistik Balik Teroptimasi Meningkatkan ROI dan Loyalitas Pelanggan
  6. Kembalinya Lelang Terbalik: Memberdayakan Pemasok dalam Perang Harga
  7. Maksimalkan Efisiensi: Tips Ahli untuk Sistem Pencocokan Gudang Anda
  8. Maksimalkan ROI dari Investasi Generasi Lead Anda
  9. Adopsi Industri 4.0: Spanyol vs Lanskap Global
  10. Mahir dalam Inferensi Edge AI: Panduan Praktis untuk Wawasan yang Dapat Ditindaklanjuti