Penemuan Lokal OPC UA
Server penemuan memungkinkan klien OPC UA untuk mendapatkan detail tentang satu atau beberapa server OPC UA, dari satu titik.
Ada dua jenis server penemuan UA OPC:
- Server Penemuan Lokal (LDS)
- Server Penemuan Global (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.
Pengantar
Seperti namanya, Local Discovery Server (LDS) dapat dijalankan pada perangkat yang sama dengan satu atau beberapa server OPC UA. Misalnya, dimungkinkan untuk menginstal satu atau beberapa server OPC UA pada perangkat Kontrol PLCnext, di samping server OPC UA yang disertakan dengan PLCnext Runtime. Jika LDS juga diinstal pada perangkat Kontrol PLCnext tersebut, maka semua server OPC UA pada perangkat tersebut dapat mendaftar ke LDS. Kemudian, klien OPC UA jarak jauh dapat dengan mudah menanyakan LDS untuk detail semua server OPC UA yang berjalan pada perangkat Kontrol PLCnext tersebut, dan menggunakan detail tersebut untuk terhubung langsung ke satu atau beberapa server OPC UA tersebut.
Agak membingungkan, server OPC UA juga mungkin mendaftar dengan LDS yang berjalan di jarak jauh mesin. Dengan cara ini, satu LDS dapat digunakan oleh klien OPC UA untuk menemukan semua server OPC UA yang berjalan di seluruh jaringan perangkat.
Ada pengantar yang bagus untuk server penemuan OPC UA dalam artikel ini dari Otomatisasi Terpadu:
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 server UA OPC dasar.
- Cara menghubungkan klien ke server OPC UA pada perangkat Kontrol PLCnext.
- Bagaimana sertifikat keamanan disimpan dan dikelola di perangkat Kontrol PLCnext.
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 di seluruh artikel ini, tetapi tentu saja Anda harus memodifikasinya untuk aplikasi Anda sendiri.
Mengatur nama DNS
Jika jaringan Anda tidak menyertakan server DNS, edit hosts
file di setiap perangkat.
File host terletak di direktori berikut:
- Windows:
C:\Windows\System32\drivers\etc\
- Linux:
/etc/
Tambahkan entri DNS baru berikut (menggantikan 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 LDS dan PLC:
192.168.1.42 mypc.mycompany.com
192.168.1.10 axc-f-2152-1
Periksa apakah semua entri sudah benar dengan melakukan ping ke nama DNS (bukan alamat IP) yang telah Anda siapkan di setiap perangkat.
Instal Server Penemuan Lokal
Yayasan OPC menyediakan Server Penemuan Lokal 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 di 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 di mesin OPC UA Client.
Temukan sertifikat
Berbagai komponen OPC UA – Server, Klien, dan LDS – perlu saling percaya untuk memastikan komunikasi yang aman. Kepercayaan dapat dicapai dengan menukar sertifikat publik – yaitu, dengan menempatkan sertifikat publik setiap komponen di “toko kepercayaan” untuk komponen yang perlu memercayainya.
Anda dapat menemukan sertifikat publik untuk setiap komponen sebagai berikut:
Server UA OPC
Sertifikat perangkat dapat ditemukan di penyimpanan Identitas “OPC UA-self-signed”, secara default. Ini akan berbeda jika Anda menggunakan sertifikat Anda sendiri.
Sertifikat server OPC UA dapat diunduh dari halaman Manajemen Berbasis Web di PLC. Sertifikat kemudian harus dikonversi dari format PEM ke format DER agar dapat digunakan oleh komponen lain. Ada banyak alat gratis yang dapat digunakan untuk konversi ini, termasuk openssl
alat baris perintah linux. Contoh perintah bash yang mungkin Anda gunakan adalah:
openssl x509 -outform der -in OPC\ UA-self-signed_certificate.crt -out uaserver.der
Server LDS
Secara default, sertifikat untuk LDS terletak di sini:
C:\ProgramData\OPC Foundation\UA\pki\own\certs\ualdscert.der
Klien UA OPC
- Di UaExpert, pilih item menu Pengaturan -> Kelola Sertifikat.
- Klik tombol “Salin Sertifikat Aplikasi Ke…”.
- Simpan sertifikat di suatu tempat yang berguna.
Salin sertifikat ke Toko Tepercaya
Salin setiap sertifikat (dalam format .der) ke penyimpanan kepercayaan untuk dua komponen lainnya.
Toko kepercayaan untuk setiap komponen dapat ditemukan sebagai berikut:
Server UA OPC (PLC)
Toko kepercayaan adalah folder /opt/plcnext/Security/TrustStores/Empty/trusted
LDS
Toko kepercayaan adalah folder C:\ProgramData\OPC Foundation\UA\pki\trusted\certs
Klien UA OPC (UaExpert)
- Di UaExpert, pilih item menu Pengaturan -> Kelola Sertifikat.
- Klik tombol “Buka Lokasi Sertifikat”. Ini adalah toko kepercayaan untuk UaExpert.
Periksa semua firewall
Minimal, periksa apakah firewall di server LDS mengizinkan lalu lintas di port 4840.
Konfigurasi Server OPC UA di PLCnext Engineer
Di PLCnext Engineer, di jendela konfigurasi UA OPC:
- Periksa bahwa:
- Nama DNS sama dengan yang dikonfigurasi sebelumnya.
- “Visibilitas variabel” tidak “Tidak ada”.
- Aktifkan Pendaftaran Penemuan
- Setel URL Server ke
opc.tcp://mypc.mycompany.com:4840
(mengganti 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 sambungkan ke server OPC UA
- Di UaExpert, klik tombol + (plus) di bilah alat.
- Klik kanan pada cabang “Lokal” dari tampilan hierarki, dan pilih “Edit URL Penemuan”.
- Di kotak teks, masukkan
opc.tcp://mypc.mycompany.com:4840
(mengganti nama DNS mesin LDS Anda), dan klik OK.
Server OPC UA akan muncul di cabang pohon Lokal. Anda sekarang dapat menggunakan detail ini untuk terhubung ke server OPC UA dengan cara biasa.
Pemecahan Masalah
- File log LDS terletak di sini:
C:\ProgramData\OPC Foundation\UA\Discovery\opcualds.log
Dimungkinkan untuk mengubah LogLevel (dan banyak parameter lainnya) dalam file berikut:C:\ProgramData\OPC Foundation\UA\Discovery\ualds.ini
LogLevel = debug
memberikan informasi pencatatan paling rinci. Setelah mengubah pengaturan LDS, mungkin perlu untuk memulai ulang LDS melalui konsol “Layanan” Windows. Nama tampilan LDS adalah “OPC UA Local Discovery Server”.
- Perhatikan bahwa LDS dapat 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 diselesaikan, pesan kesalahan yang berisi URL akan muncul di jendela log UaExpert. Adalah di luar cakupan tutorial ini untuk menjelaskan cara menginstal dan mengonfigurasi server DNS multicast untuk menyelesaikan nama DNS dengan .local.
akhiran.
Kesimpulan
Jelas tidak banyak manfaat dalam menggunakan LDS ketika hanya ada satu server OPC UA di jaringan. Namun untuk jaringan yang menyertakan server OPC UA dalam jumlah besar, LDS menyediakan cara yang nyaman untuk menelusuri dan menyambung ke server tersebut.