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

Konfigurasikan Klien OPC UA pada Kontrol PLCnext:Panduan Langkah demi Langkah

Firmware versi 2023.0 menyertakan komponen Klien OPC UA yang telah lama ditunggu-tunggu. Pusat Info PLCnext menyertakan referensi teknis yang bagus untuk fitur ini.

Tutorial ini adalah panduan langkah demi langkah yang menunjukkan cara mengkonfigurasi klien OPC UA di perangkat Kontrol PLCnext sehingga bertukar data dengan server OPC UA.

Anda memerlukan:

Salah satu poin penting yang perlu diingat ketika mengonfigurasi komunikasi OPC UA adalah, demi alasan keamanan, Klien OPC UA dan Server OPC UA harus saling percaya. Oleh karena itu, sertifikat keamanan harus dipertukarkan antara perangkat Klien dan Server. Prosedur ini melibatkan peralihan antara perangkat Klien dan perangkat Server, yang bisa sedikit membingungkan. Jika Anda memiliki saran tentang cara menyederhanakan prosedur (tanpa menonaktifkan pemeriksaan keamanan!), silakan tambahkan di komentar.

Prosedur

Perangkat Server OPC UA

  1. Buka situs Manajemen Berbasis Web (WBM) dengan menelusuri alamat IP PLC.

  2. Pilih Layanan Sistem item dari menu Konfigurasi.

  3. Aktifkan Server OPC UA layanan, jika belum diaktifkan.

  4. Tekan Terapkan dan reboot tombol jika perlu.

  5. Buka PLCnext Engineer.

  6. Buat proyek PLCnext Engineer baru menggunakan template untuk perangkat Kontrol PLCnext Anda.

  7. Tetapkan alamat IP PLC di proyek PLCnext Engineer.

  8. Di Server OPC UA halaman konfigurasi:

    • atur nama DNS/alamat IP ke Nama DNS atau alamat IP PLC, tergantung apakah klien OPC UA akan mengakses server menggunakan nama DNS atau alamat IP server. Informasi ini akan disertakan dalam sertifikat keamanan Server OPC UA. Banyak Klien OPC UA akan menolak sertifikat server jika informasi dalam sertifikat ini tidak cocok dengan URL server.

    • atur Visibilitas variabel untuk Ditandai . Artinya semua variabel yang ditandai dengan atribut OPC akan dapat diakses melalui Server OPC UA.

  9. Buat variabel yang akan diekspos oleh Server OPC UA. Pastikan OPC kotak centang dicentang untuk variabel-variabel tersebut. Pada contoh di bawah ini, dua variabel telah dibuat di program Utama.

  10. Tambahkan logika untuk mengubah variabel Output ketika nilai Input baru diterima. Dalam contoh ini, program Utama mengeksekusi kode berikut:

    Server_Data_Out := Server_Data_In + 1;

  11. Tulis dan mulai proyek.

    Perhatikan bahwa PLCnext Engineer versi 2025.0 dan yang lebih baru menyertakan fitur "jelajahan" yang dapat digunakan untuk membuat entri variabel di Klien OPC UA. Jika fitur jelajah tersebut digunakan, maka UaExpert tidak perlu digunakan untuk mendapatkan informasi tentang variabel server, dan tiga langkah berikutnya dapat dilewati.

  12. Gunakan UaExpert untuk terhubung ke Server OPC UA menggunakan nama pengguna dan kata sandi PLC. Anda akan melihat peringatan bahwa sertifikat tersebut "Tidak Tepercaya", namun tidak akan ada peringatan lainnya.

  13. Percayai sertifikat server, baik secara permanen atau hanya untuk sesi ini.

  14. Untuk setiap variabel server, tuliskan nama ID Node dan Ruang Nama untuk variabel itu.

  15. Buka kembali situs WBM untuk Server PLC.

  16. Pilih Otentikasi Sertifikat item dari menu Keamanan.

  17. Pilih Toko Identitas tab.

  18. Unduh Sertifikat dari OPC UA yang ditandatangani sendiri [server] Penyimpanan Identitas. Pasangan Kunci tidak perlu diunduh.

Perangkat Klien OPC UA

  1. Buka situs Manajemen Berbasis Web (WBM) dengan menelusuri alamat IP PLC.

  2. Pilih Layanan Sistem item dari menu Konfigurasi.

  3. Aktifkan Klien OPC UA layanan, jika belum diaktifkan.

  4. Tekan Terapkan dan reboot tombol jika perlu.

  5. Ketika reboot selesai, masuk kembali ke situs WBM dan pilih Otentikasi Sertifikat item dari menu Keamanan.

  6. Pilih Toko Tepercaya tab.

  7. Tambahkan OPC UA yang ditandatangani sendiri sertifikat [server] (diunduh sebelumnya) ke Trust Store bernama Klien OPC UA . Sekarang, Klien OPC UA akan mempercayai sertifikat keamanan yang digunakan oleh Server OPC UA untuk memverifikasi identitasnya. Langkah ini perlu diulangi setiap kali sertifikat Server berubah.

  8. Pilih Toko Identitas tab .

  9. Unduh Sertifikat dari Klien OPC UA yang ditandatangani sendiri Toko Identitas. Pasangan Kunci tidak perlu diunduh.

Perangkat Server OPC UA

  1. Buka situs Manajemen Berbasis Web (WBM) dengan menelusuri alamat IP PLC.

  2. Pilih Otentikasi Sertifikat item dari menu Keamanan.

  3. Pilih Toko Tepercaya tab.

  4. Tambahkan Klien OPC UA yang ditandatangani sendiri sertifikat (diunduh sebelumnya) ke Trust Store bernama OPC UA-configurable . Sekarang, Server OPC UA akan mempercayai sertifikat keamanan yang digunakan oleh Klien OPC UA untuk memverifikasi identitasnya. Langkah ini perlu diulangi setiap kali sertifikat Klien berubah.

Perangkat Klien OPC UA

  1. Buka PLCnext Engineer.

  2. Buat proyek PLCnext Engineer baru menggunakan templat untuk perangkat Kontrol PLCnext Anda. Jika Anda menggunakan perangkat yang sama untuk Klien OPC UA dan Server OPC UA, maka proyek PLCnext Engineer yang sama akan digunakan.

  3. Tetapkan alamat IP PLC di proyek PLCnext Engineer.

  4. Hanya diperlukan untuk PLC yang menjalankan versi firmware sebelum 2023.6: Di Server OPC UA halaman konfigurasi, atur Visibilitas variabel untuk Ditandai . Ya, memang terasa aneh memerlukan pengaturan Server OPC UA ini untuk Klien OPC UA. Masalah ini telah diperbaiki pada firmware versi 2023.6 dan yang lebih baru.

  5. Buat variabel yang akan dihubungkan ke variabel di OPC UA Server. Hanya diperlukan untuk PLC yang menjalankan versi firmware sebelum 2023.6: Pastikan OPC kotak centang dicentang untuk variabel tersebut (kotak centang tidak perlu dicentang untuk PLC yang menjalankan firmware versi 2023.6 atau lebih baru).

    Pada contoh di bawah ini, dua variabel telah dibuat di program Utama.

  6. Di tab Koneksi Klien OPC UA, tambahkan satu Server dan dua Grup Variabel, seperti yang ditunjukkan di bawah ini.

    URL server, nama pengguna, dan kata sandi harus diubah agar sesuai dengan Server OPC UA yang Anda gunakan.

  7. Pada grup variabel "Berlangganan", tambahkan satu pemetaan variabel, seperti gambar di bawah ini.

    Ini secara otomatis mentransfer nilai dari variabel jarak jauh (di Server OPC UA) ke variabel lokal di proyek PLCnext Engineer.

  8. Pada grup variabel "Tulis", tambahkan satu pemetaan variabel, seperti gambar di bawah ini.

    Ini secara otomatis mentransfer nilai dari variabel lokal di proyek PLCnext Engineer ke variabel jarak jauh (di Server OPC UA).

  9. Tulis dan mulai proyek PLCnext Engineer.

  10. Dalam mode Debug, ubah nilai variabel Client_Data_out . Nilainya akan ditulis ke variabel Server_Data_In di Server OPC UA. Nilai tersebut akan bertambah oleh Server dan ditulis ke variabel Server_Data_Out . Nilai variabel tersebut kemudian akan ditransfer ke variabel Client_Data_In pada Klien.

Tidak berfungsi?

Silakan periksa Panduan Mengatasi Masalah di Pusat Info PLCnext (di bagian bawah halaman).

Pertanyaan Umum

T:Dapatkah klien terhubung ke Server OPC UA menggunakan autentikasi Sertifikat/Kunci?

J:Tidak, saat ini tidak.

T:Bagaimana cara Klien OPC UA menyimpan kata sandi Server?

J:Saat ini kata sandi Server OPC UA disimpan sebagai teks biasa di file konfigurasi klien, namun pengembang PLCnext Runtime sedang mengerjakan metode penyimpanan kata sandi yang lebih aman.

T:Bisakah saya mendapatkan informasi berkualitas (misalnya Kode Status, Stempel Waktu) untuk data yang dibaca dari Server OPC UA?

A:Saat ini belum, maaf.

Artikel ini diperbarui pada 24.03.2025 untuk menyertakan informasi tentang fitur Telusuri Server yang sekarang tersedia di PLCnext Engineer.

Lampiran:Konfigurasi berbasis file

Konfigurasi OPC UA Client di PLCnext Engineer disimpan di pengontrol dalam format XML. Untuk aplikasi yang tidak menggunakan PLCnext Engineer, dimungkinkan untuk mengkonfigurasi OPC UA Client dengan menulis konfigurasi XML langsung pada controller.

Konfigurasi yang disiapkan dalam contoh ini direpresentasikan dalam file XML berikut:

  1. Setiap perubahan yang diperlukan pada pengaturan default Klien OPC UA ditentukan dalam file /opt/plcnext/projects/current/Services/OpcUA/Modules/Client/client.module.config :

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <OpcUAClientModuleConfigurationDocument schemaVersion="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.phoenixcontact.com/schema/opcuaclientmoduleconfig" xmlns="http://www.phoenixcontact.com/schema/opcuaclientmoduleconfig">
     <Application>
     <CertificateStore>
     <SelfSignedIdentityStoreName>OPC UA Client self-signed</SelfSignedIdentityStoreName>
     <GivenIdentityStoreName>OPC UA Client</GivenIdentityStoreName>
     <TrustStoreName>OPC UA Client</TrustStoreName>
     </CertificateStore>
     <SessionSecurity>
     <ApplicationAuthentication>false</ApplicationAuthentication>
     <ApplicationUriCheck>true</ApplicationUriCheck>
     <CertificateHostnameCheck>true</CertificateHostnameCheck>
     <CertificateTimeCheck>true</CertificateTimeCheck>
     <CertificateIssuerTimeCheck>true</CertificateIssuerTimeCheck>
     <PasswordEncryptionCheck>true</PasswordEncryptionCheck>
     </SessionSecurity>
     <Timeouts>
     <SessionTimeout>1200000</SessionTimeout>
     <ConnectTimeout>5000</ConnectTimeout>
     <WatchdogTimeout>5000</WatchdogTimeout>
     <CallTimeout>10000</CallTimeout>
     </Timeouts>
     </Application>
    </OpcUAClientModuleConfigurationDocument>
    
  2. Koneksi Klien OPC UA ditentukan dalam file /opt/plcnext/projects/current/Services/OpcUA/Modules/Client/Configs/ clientconnections.xml :

    <?xml version="1.0" encoding="utf-8"?>
    <eUAClientConfigurationDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd" xmlns="http://phoenixcontact.com/OpcUA/PLCnext/UAClientConfig/Types.xsd">
     <eUAClientConfiguration>
     <Name>ClientConnectionsConfiguration</Name>
     <NamespaceArray> 
     <uax:String>http://phoenixcontact.com/OpcUA/PLCnext/GlobalDataSpace/</uax:String>
     </NamespaceArray>
     <ServerConnections>
     <eUAClientServerConnection>
     <EncodingMask>3</EncodingMask>
     <Endpoint> 
     <uax:EndpointUrl>opc.tcp://192.168.1.10:4840</uax:EndpointUrl>
     <uax:SecurityMode>Sign_2</uax:SecurityMode> 
     <uax:SecurityPolicyUri>http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256</uax:SecurityPolicyUri>
     </Endpoint>
     <UserTokenType>UserName_1</UserTokenType>
     <UserName>admin</UserName>
     <Password>xxxxxxxx</Password>
     </eUAClientServerConnection>
     </ServerConnections>
     <VariableGroups>
     <eUAClientVariableGroup>
     <GroupType>Write_1</GroupType> 
     <CycleTime>100</CycleTime>
     <NodeMappings>
     <eUAClientNodeMapping>
     <LocalVariable>
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Client_Data_Out</uax:Identifier> 
     </LocalVariable>
     <RemoteVariableDescriptor>
     <EncodingMask>2</EncodingMask>
     <ServerIndex>1</ServerIndex>
     <NodeId> 
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Server_Data_In</uax:Identifier>
     </NodeId>
     </RemoteVariableDescriptor>
     </eUAClientNodeMapping>
     </NodeMappings>
     </eUAClientVariableGroup> 
     <eUAClientVariableGroup>
     <GroupType>Subscribe_0</GroupType> 
     <CycleTime>100</CycleTime>
     <NodeMappings>
     <eUAClientNodeMapping>
     <LocalVariable>
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Client_Data_In</uax:Identifier> 
     </LocalVariable>
     <RemoteVariableDescriptor>
     <EncodingMask>2</EncodingMask>
     <ServerIndex>1</ServerIndex>
     <NodeId> 
     <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Server_Data_Out</uax:Identifier>
     </NodeId>
     </RemoteVariableDescriptor>
     </eUAClientNodeMapping>
     </NodeMappings>
     </eUAClientVariableGroup> 
     </VariableGroups>
     </eUAClientConfiguration>
    </eUAClientConfigurationDocument>
    

    File ini menggunakan Namespace dan ID Node informasi yang direkam sebelumnya (menggunakan UaExpert) untuk menentukan variabel server mana yang akan diakses klien.

  3. Pada file di atas, ubah yang berikut ini agar sesuai dengan aplikasi Anda:

    • Elemen uax:EndpointUrl harus menyertakan alamat IP (atau nama DNS) server OPC UA Anda.

    • Username dan Password elemen harus berisi kredensial yang diperlukan untuk server OPC UA.

    PENTING: Dalam contoh ini, ID Node string di UaExpert menyertakan teks ns=6 . Pada file XML di atas telah diubah menjadi ns=1 , karena parameter "namespace" (ns ) adalah indeks ke dalam daftar namespace di klien lokal . Dalam contoh ini, Namespace nama yang disalin dari UaExpert adalah namespace pertama (dan satu-satunya) dalam daftar namespace di clientconfig.xml kami mengajukan.

Runtime PLCnext harus dimulai ulang setelah melakukan perubahan pada file konfigurasi Klien OPC UA.


Teknologi Industri

  1. AI Sekarang Dapat Mendeteksi Dan Memetakan Pemukiman Informal Di Dunia
  2. Melas Baja Karbon ke Baja Tahan Karat
  3. Manufaktur PCB untuk 5G
  4. GPS untuk Raspberry Pi:Menghubungkan GPS Anda dengan Raspberry PI
  5. Pengantar Motor AC
  6. Detektor Puncak
  7. Segala sesuatu tentang IoT Industri
  8. Apa itu Baja Struktural dan Struktur Apa yang Dapat Dibuatnya(fakta)?
  9. Ketahui materi Anda:EPX 82
  10. Tabung Elektron