OPC UA Nedir? Adres Alanı, Sertifika Güvenliği ve PLC-SCDA Arasındaki Dil
OPC UA'nın klasik OPC'den farkını, adres alanı (node/reference) mantığını, sertifika tabanlı güvenliğini ve bir SCADA entegrasyonunda 'server kuruldu ama istemci bağlanmıyor' vakasını — TLS ve port 4840 ayrıntısıyla anlatıyorum.

Kısa Cevap (Özet): OPC UA (Open Platform Communications Unified Architecture), platformdan bağımsız, servis tabanlı ve kendi güvenlik modelini taşıyan endüstriyel veri standardıdır. Veriyi düz register listesi değil, adres alanı (node, reference, type) olarak modeller; X.509 sertifika, imza ve şifreleme ile korur. Varsayılan taşıma portu 4840 (binary); HTTPS ve PubSub (MQTT/AMQP üzerinden) profilleri de vardır. SCADA/HMI ↔ PLC, veri arşivi ve MES entegrasyonunun bugün en yaygın ortak dilidir.
Bir SCADA projesi, son prova. OP C UA server kurulmuştu, PLC’den veriyi çekiyordu, HMI’de değerler görünüyordu — ama kurumsal istemci bağlanınca “no secure channel” diyordu. Otuz dakika sonra anladım: sertifika. Server’ın sertifikası, istemcinin trusted list’inde yoktu; OPC UA, “tanımadığınla konuşmam” deyip kapıyı kapatıyordu. Sertifikayı karşılıklı ekledik, kanal açıldı. OPC UA’nın sahadaki karakteri budur: güvenlik, bir ayar değil, protokolün doğasıdır. Bu yazı o “no secure channel” anını ve standardın tamamını anlatıyor.
Klasik OPC’den Farkı Nedir?
Klasik OPC (DA, HDA, A&E), COM/DCOM üzerine kurulu, Windows’a bağlıydı. Bir Linux’a, bir buluta, bir mobil cihaza taşımak başlı başına bir projeydi. OPC UA bu bağımlılığı kökten kaldırdı:
- Platformdan bağımsız: C++, C#, Java, Python — hepsi aynı standardı konuşur.
- Servis tabanlı: COM arayüzü değil, tanımlı servisler (Read, Write, Browse, MonitoredItems…).
- Güvenlik yerleşik: sertifika, imza, şifreleme opsiyonel değil, protokolün parçası.
- Ağ geçişi: TCP 4840 (binary), HTTPS (REST), PubSub (UDP/MQTT/AMQP).
Adres Alanı: Register Değil, Nesne
OPC UA, veriyi adres alanı (address space) olarak modeller. Her veri bir nodedur; node’lar reference (referans) ile birbirine bağlanır, type (tip) ile sınıflandırılır. Yani “40001’deki holding register” değil, “Tank-01 > Basınç > ŞuAnkiDeğer” gibi bir hiyerarşi.
Bu, iki şeyi değiştirir:
- Keşif (Browse): istemci, server’ı “tarayabilir” — ne olduğunu, nasıl hiyerarşide durduğunu görür.
- Tip bilgi: bir node’un “basınç”, “sıcaklık”, “durum” olduğu metadata’da taşır; birim, ölçek, erişim hakkı.
Register tablosu “nerede”yi söyler; adres alanı “ne”yi de söyler.
Sertifika: “Tanımadığımla Konuşmam”
OPC UA’nın güvenliği üç katmandır:
- Transport security: X.509 sertifika ile kimlik doğrulama + kanal şifreleme (TLS benzeri).
- Imza (signing): verinin bozulmadığını kanıt.
- Rol/tab: kullanıcı yetkileri.
O “no secure channel” vakası, tam da 1. katmandan doğdu: server’ın sertifikası istemcinin trusted listesinde değildi. OPC UA’da iki taraf birbirinin sertifikasını karşılıklı ekler; bir taraf eksikse kanal açılmaz. Bu, “güvenlik ayarı” değil, protokolün varsayılan davranışıdır — çoğu “neden bağlanmıyor” sorusunun cevabı buradadır.
Kullanım Alanları
- SCADA/HMI ↔ PLC: üreticiden bağımsız genel dil.
- Veri arşivi (historian) ve analitik: yüksek hacimli, tip-li veri.
- MES/ERP entegrasyonu: katmanlar arası köprü.
- Bulut/edge: PubSub + MQTT ile dağıtık mimari.
Diğer Protokollerle İlişkisi
OPC UA, Modbus veya PROFINET’in yerini saha seviyesinde almaz; onları ağ seviyesinde birleştirir. Bir PLC Modbus’tan veri alır, OPC UA server onu tip-li bir adres alanına çevirir, SCADA ve bulut aynı kaynaktan okur. MQTT ile birlikte, “OPC UA PubSub over MQTT” mimarisi bulut tarafının standart haline gelmiştir.
PLC’ye mi Yeni Başlıyorsun?
Protokolü seçmek, PLC’nin o protokolü nasıl konuştuğunu bilmektir. Eğitim programı sayfasında müfredat; iletişim sayfasından kendi mimarinize özel seçim yapabiliriz. Tam liste için Haberleşme Protokolleri Rehberi’ne bak.
O otuz dakikalık sertifika vakası, bana OPC UA’nın asıl dersini verdi: güvenlik, engel değil, protokoldür. Bir istemci “no secure channel” diyorsa, sorun ağda değil, güvenilirliktedir. Sertifika karşılıklı eklendiği an, kanal — tıpkı o SCADA provada olduğu gibi — kesintisiz açılır.