Cara Menggunakan OPC UA Local Discovery Server untuk Pendaftaran Server dan Koneksi Klien yang Efisien
Discovery servers memungkinkan klien OPC UA untuk mendapatkan detail tentang satu atau lebih server OPC UA, dari satu titik.
Ada dua jenis OPC UA discovery servers:
- Local Discovery Servers (LDS)
- Global Discovery Servers (GDS)
Artikel ini akan menunjukkan cara mendaftarkan server OPC UA dengan LDS, dan bagaimana klien OPC UA dapat menggunakan LDS tersebut untuk terhubung ke server OPC UA.
Pendahuluan
Seperti yang namanya saran, Local Discovery Server (LDS) dapat dijalankan pada perangkat yang sama dengan satu atau lebih server OPC UA. Misalnya, mungkin untuk menginstal satu atau lebih server OPC UA pada perangkat PLCnext Control, bersama dengan server OPC UA yang disertakan dengan PLCnext Runtime. Jika LDS juga diinstal pada perangkat PLCnext Control tersebut, maka semua server OPC UA pada perangkat itu dapat mendaftar dengan LDS. Kemudian, klien OPC UA jarak jauh dapat dengan mudah meminta detail dari semua server OPC UA yang berjalan pada perangkat PLCnext Control tersebut ke LDS, dan menggunakan detail tersebut untuk terhubung langsung ke satu atau lebih server OPC UA tersebut.
Secara agak membingungkan, juga mungkin bagi server OPC UA untuk mendaftar dengan LDS yang berjalan pada mesin jarak jauh. Dengan cara ini, satu LDS dapat digunakan oleh klien OPC UA untuk menemukan semua server OPC UA yang berjalan pada seluruh jaringan perangkat.
Ada pengantar yang baik tentang OPC UA discovery servers dalam artikel ini dari Unified Automation:
https://documentation.unified-automation.com/uasdkdotnet/2.5.2/html/L2UaDiscoveryConnect.html
Latar Belakang
Sebelum mengikuti langkah-langkah dalam artikel ini, Anda harus memahami:
- Konfigurasi dasar server OPC UA.
- Cara menghubungkan klien ke server OPC UA pada perangkat PLCnext Control.
- Cara sertifikat keamanan disimpan dan dikelola pada perangkat PLCnext Control.
Prosedur
Untuk contoh ini, pengaturan jaringan adalah sebagai berikut:
OPC UA Server: AXC F 2152 FW 2020.6.1 IP address: 192.168.1.10 DNS name: axc-f-2152-1 Local Discovery Server: Windows 10 PC IP address: 192.168.1.42 DNS name: mypc.mycompany.com OPC UA Client: Debian 10 PC IP address: 192.168.1.3
Alamat IP dan nama DNS ini akan digunakan sepanjang artikel ini, tetapi tentunya Anda harus memodifikasi ini untuk aplikasi Anda sendiri.
Siapkan Nama DNS
Jika jaringan Anda tidak mencakup server DNS, edit file hosts pada setiap perangkat.
File hosts terletak di direktori berikut:
- Windows:
C:\Windows\System32\drivers\etc\
- Linux:
/etc/
Tambahkan entri DNS baru berikut (ganti dengan alamat IP dan nama DNS untuk aplikasi Anda):
Pada PLC, tambahkan LDS:
192.168.1.42 mypc.mycompany.com
Pada mesin LDS, tambahkan PLC:
192.168.1.10 axc-f-2152-1
Pada mesin OPC UA Client, tambahkan baik LDS maupun PLC:
192.168.1.42 mypc.mycompany.com 192.168.1.10 axc-f-2152-1
Periksa apakah semua entri benar dengan memping nama DNS (bukan alamat IP) yang telah Anda siapkan pada setiap perangkat.
Instal Local Discovery Server
OPC Foundation menyediakan Local Discovery Server dalam bentuk executable berbasis Windows. Ini dapat diunduh secara gratis (setelah pendaftaran) dari halaman ini:
https://opcfoundation.org/developer-tools/samples-and-tools-unified-architecture/local-discovery-server-lds/
Unduh dan instal LDS ini pada mesin Windows.
Instal klien OPC UA
Contoh ini menggunakan UaExpert dari Unified Automation:
https://www.unified-automation.com/products/development-tools/uaexpert.html
Unduh dan instal UaExpert pada mesin OPC UA Client.
Temukan sertifikat
Komponen OPC UA yang berbeda – Server, Client, dan LDS – perlu saling percaya untuk memastikan komunikasi yang aman. Kepercayaan dapat dicapai dengan bertukar sertifikat publik – yaitu, dengan menempatkan sertifikat publik setiap komponen di “trust store” untuk komponen yang perlu mempercayainya.
Anda dapat menemukan sertifikat publik untuk setiap komponen sebagai berikut:
OPC UA Server
Sertifikat perangkat dapat ditemukan di “OPC UA-self-signed” Identity store, secara default. Ini akan berbeda jika Anda menggunakan sertifikat Anda sendiri.
Sertifikat server OPC UA dapat diunduh dari halaman Web Based Management PLC. Sertifikat harus kemudian dikonversi dari format PEM ke format DER untuk dapat digunakan oleh komponen lain. Ada banyak alat gratis yang dapat digunakan untuk konversi ini, termasuk alat command-line linux openssl. Contoh perintah bash yang mungkin Anda gunakan adalah:
openssl x509 -outform der -in OPC\ UA-self-signed_certificate.crt -out uaserver.der
LDS Server
Secara default, sertifikat untuk LDS terletak di sini:
C:\ProgramData\OPC Foundation\UA\pki\own\certs\ualdscert.der
OPC UA Client
- Di UaExpert, pilih menu Settings -> Manage Certificates.
- Klik tombol “Copy Application Certificate To…”.
- Simpan sertifikat di tempat yang mudah.
Salin sertifikat ke Trust Stores
Salin setiap sertifikat (dalam format .der) ke trust stores untuk dua komponen lainnya.
Trust store untuk setiap komponen dapat ditemukan sebagai berikut:
OPC UA Server (PLC)
Trust store adalah folder /opt/plcnext/Security/TrustStores/Empty/trusted
LDS
Trust store adalah folder C:\ProgramData\OPC Foundation\UA\pki\trusted\certs
OPC UA Client (UaExpert)
- Di UaExpert, pilih menu Settings -> Manage Certificates.
- Klik tombol “Open Certificate Location”. Ini adalah trust store untuk UaExpert.
Periksa semua firewall
Setidaknya, periksa apakah firewall pada server LDS mengizinkan lalu lintas pada port 4840.
Konfigurasikan OPC UA Server di PLCnext Engineer
Di PLCnext Engineer, di jendela konfigurasi OPC UA:
- Periksa bahwa:
- Nama DNS sama dengan yang dikonfigurasi sebelumnya.
- “Visibility of variables” bukan “None”.
- Aktifkan Discovery Registration
- Atur Server URL ke
opc.tcp://mypc.mycompany.com:4840 (ganti dengan nama DNS mesin LDS Anda)
Tulis proyek PLCnext Engineer ke PLC.
PLC sekarang akan secara otomatis mencoba mendaftarkan server OPC UA dengan LDS.
Temukan dan terhubung ke server OPC UA
- Di UaExpert, klik tombol + (plus) di toolbar.
- Klik kanan pada cabang “Local” di tree view, dan pilih “Edit Discovery URL”.
- Dalam kotak teks, masukkan
opc.tcp://mypc.mycompany.com:4840 (ganti dengan nama DNS mesin LDS Anda), dan klik OK.
Server OPC UA seharusnya muncul di cabang Local dari tree. Anda sekarang dapat menggunakan detail ini untuk terhubung ke server OPC UA dengan cara biasa.
Troubleshooting
- File log LDS terletak di sini:
C:\ProgramData\OPC Foundation\UA\Discovery\opcualds.logMungkin untuk mengubah LogLevel (dan banyak parameter lain) dalam file berikut:C:\ProgramData\OPC Foundation\UA\Discovery\ualds.iniLogLevel = debug memberikan informasi logging paling terperinci. Setelah mengubah pengaturan LDS, mungkin perlu untuk memulai ulang LDS melalui konsol Windows “Services”. Nama tampilan LDS adalah “OPC UA Local Discovery Server”.
- Perhatikan bahwa LDS mungkin mengembalikan URL server OPC UA dengan
.local. ditambahkan ke nama DNS. Nama DNS ini harus dapat dipecahkan oleh server mDNS multicast. Jika nama DNS ini tidak dapat dipecahkan, pesan error yang berisi URL akan muncul di jendela log UaExpert. Di luar lingkup tutorial ini untuk menjelaskan cara menginstal dan mengonfigurasi server DNS multicast untuk memecahkan nama DNS dengan akhiran .local..
Kesimpulan
Jelas tidak ada banyak manfaat dalam menggunakan LDS ketika hanya ada satu server OPC UA di jaringan. Namun, untuk jaringan yang mencakup sejumlah besar server OPC UA, LDS menyediakan cara yang nyaman untuk menelusuri dan terhubung ke server-server tersebut.