OPC UA (OPC Unified Architecture),
farklı üreticilere ait endüstriyel cihazların,
kontrol sistemlerinin, SCADA uygulamalarının ve
üst seviye yazılım sistemlerinin güvenli ve standart
bir şekilde bilgi alışverişi yapmasını sağlayan
platform bağımsız bir endüstriyel iletişim standardıdır.
OPC UA yalnızca bir veri okuma ve yazma protokolü değildir.
Verilerin yapısını, anlamını, ilişkilerini ve durumunu
tanımlayabilen kapsamlı bir bilgi modelleme altyapısı sunar.
Bu nedenle küçük saha cihazlarından SCADA sistemlerine,
MES ve ERP uygulamalarından bulut ve IIoT sistemlerine
kadar farklı seviyelerde kullanılabilir.
OPC UA, endüstriyel sistemlerde farklı marka ve
teknolojilerin birbirleriyle haberleşmesini kolaylaştırmak
amacıyla geliştirilmiş bir standarttır.
Bir üreticinin PLC'si, başka bir üreticinin SCADA sistemi
ve üçüncü bir üreticinin veri toplama veya analiz yazılımı
OPC UA üzerinden ortak bir iletişim modeli kullanarak
birbirleriyle veri alışverişi yapabilir.
OPC UA'nın önemli özelliklerinden biri platform bağımsız
olmasıdır. Windows, Linux, gömülü sistemler ve farklı
donanım platformlarında çalışan uygulamalar OPC UA
kullanabilir.
OPC UA, OPC Foundation tarafından geliştirilen ve sürdürülen
OPC standart ailesinin modern mimarisidir. OPC UA, 2008
yılında kullanıma sunulmuş ve önceki OPC Classic
teknolojilerinin işlevlerini genişletilebilir bir mimari
altında birleştirmiştir.
:contentReference[oaicite:1]{index=1}
Endüstriyel tesislerde farklı üreticilere ait çok sayıda
cihaz ve yazılım bulunabilir. PLC, RTU, inverter, enerji
analizörü, koruma rölesi, SCADA, historian, MES ve ERP
sistemlerinin aynı ortamda çalışması gerekebilir.
Bu sistemlerin her biri farklı haberleşme yöntemleri
kullanabildiğinden, aralarındaki veri alışverişi önemli
bir entegrasyon problemi oluşturabilir.
OPC UA, bu farklı sistemler arasında ortak ve standart
bir iletişim katmanı oluşturarak bu problemi azaltmayı
amaçlar.
-
Farklı üreticilerin cihazları arasında haberleşme
-
SCADA ve HMI sistemlerine veri aktarımı
-
Endüstriyel verilerin üst seviye sistemlere aktarılması
-
MES, ERP ve veri analiz sistemleriyle entegrasyon
-
IIoT ve bulut sistemleriyle veri alışverişi
-
Standartlaştırılmış bilgi modellerinin kullanılması
OPC UA Server
OPC UA Server, endüstriyel verileri OPC UA
standardına uygun şekilde sunan uygulamadır.
Server gerçek saha cihazlarından veri okuyabilir,
başka bir sistemden aldığı bilgileri sunabilir
veya tamamen yazılım tarafından oluşturulan
verileri OPC UA üzerinden yayınlayabilir.
- Veri noktalarının sunulması
- Gerçek zamanlı değerlerin paylaşılması
- Veri yazma işlemlerinin desteklenmesi
- Alarm ve olay bilgilerinin sunulması
- Bilgi modellerinin oluşturulması
- Client bağlantılarının yönetilmesi
OPC UA Client
OPC UA Client, bir OPC UA Server'a bağlanarak
Server tarafından sunulan verileri kullanan
uygulamadır.
Bir SCADA sistemi, veri kayıt yazılımı,
raporlama uygulaması veya özel geliştirilmiş
bir yazılım OPC UA Client olarak çalışabilir.
- OPC UA Server keşfi
- Adres alanının incelenmesi
- Veri okuma
- Veri yazma
- Subscription oluşturma
- Alarm ve olayların alınması
EOS Yazılımları İçin OPC UA Veri Adresleme (O#)
EOS SCADA OPC UA istemcisinde veri adresi,
OPC UA Server tarafından sunulan
NodeId kullanılarak belirtilir.
Adres O# prefix'i ile başlar.
O#NODE_ID
Örneğin OPC UA Server üzerinde
ns=2;s=Channel1.Device1.Tag1
NodeId'sine sahip bir veri için:
O#ns=2;s=Channel1.Device1.Tag1
OPC UA veri adresinde OPC UA Server
tarafından sunulan geçerli
NodeId doğrudan kullanılmalıdır.
OPC UA'nın en önemli kavramlarından biri
Address Space'tir.
Address Space, OPC UA Server'ın dış dünyaya sunduğu
bilgilerin organize edildiği yapıdır.
Klasik protokollerde bir veri çoğu zaman yalnızca bir
adres veya register numarasıyla ifade edilirken,
OPC UA'da veriler daha zengin bir yapıyla temsil edilebilir.
Örneğin bir santraldeki bir jeneratör aşağıdaki gibi
bir yapı içerisinde temsil edilebilir:
Plant
└── Generator01
├── Status
├── ActivePower
├── ReactivePower
├── Voltage
├── Current
├── Temperature
└── Start
Böylece Client yalnızca bir değer okumakla kalmaz;
bu değerin hangi ekipmana ait olduğunu, hangi türde
olduğunu ve diğer nesnelerle olan ilişkilerini de
anlayabilir.
OPC UA Address Space ve bilgi modelleme yaklaşımı,
standardın temel mimari özellikleri arasında yer alır.
:contentReference[oaicite:2]{index=2}
OPC UA'da Address Space içerisinde bulunan her bilgi
Node olarak temsil edilebilir.
Bir Node; değişken, nesne, yöntem, veri tipi veya başka
bir bilgi türünü temsil edebilir.
Örneğin bir motorun sıcaklık bilgisi bir Variable Node,
motorun kendisi ise bir Object Node olarak temsil edilebilir.
OPC UA'da Node'ların benzersiz kimlikleri bulunur.
Bu kimlikler NodeId olarak adlandırılır.
Bunun yanında kullanıcıların ve yazılımların Node'ları
daha anlaşılır şekilde tanımlayabilmesi için
BrowseName ve DisplayName
gibi bilgiler de kullanılabilir.
OPC UA'da farklı üreticiler veya uygulamalar tarafından
oluşturulan bilgi modellerinin birbirleriyle karışmasını
önlemek için Namespace kavramı kullanılır.
Bir Node'un kimliği çoğunlukla Namespace ile birlikte
değerlendirilir. Bu nedenle OPC UA uygulamalarında
yalnızca görünen isimlere bakmak yerine NodeId ve
Namespace bilgilerinin birlikte değerlendirilmesi önemlidir.
Örneğin bir OPC UA Server içerisinde aşağıdaki gibi
NodeId'ler bulunabilir:
ns=2;s=Plant.Generator01.ActivePower
ns=2;s=Plant.Generator01.Voltage
ns=2;s=Plant.Generator01.Temperature
Buradaki yapı örnek amaçlıdır. Gerçek NodeId biçimleri
kullanılan OPC UA Server'ın tasarımına bağlıdır.
OPC UA ile Veri Okuma ve Yazma
OPC UA Client, Server'ın Address Space'inde bulunan
uygun yetkilendirmeye sahip Node'ların değerlerini
okuyabilir veya yazabilir.
Örneğin bir enerji tesisinde Client aşağıdaki değerleri
okuyabilir:
- Aktif güç
- Reaktif güç
- Gerilim
- Akım
- Frekans
- Sıcaklık
- Basınç
- Debi
- Ekipman çalışma durumu
- Alarm ve durum bilgileri
Yazma desteği bulunan sistemlerde ise uygun yetkilere
sahip Client'lar Server üzerindeki değerleri veya
kontrol komutlarını yazabilir.
OPC UA'nın önemli özelliklerinden biri
Subscription mekanizmasıdır.
Bir Client'ın sürekli olarak "değer değişti mi?" diye
Server'a tekrar tekrar sorması yerine, Client bir
Subscription oluşturabilir ve ilgilendiği Node'ları
izlemeye alabilir.
Değer değiştiğinde veya belirlenen koşullar oluştuğunda
Server Client'a bildirim gönderebilir.
Subscription içerisinde izlenen her veri noktası
MonitoredItem olarak tanımlanabilir.
Bu yapı özellikle çok sayıda veri noktasının bulunduğu
SCADA, veri toplama ve historian uygulamalarında
önemli avantajlar sağlayabilir.
OPC UA spesifikasyonu Subscription ve MonitoredItem
yapılarını temel servisler arasında tanımlar.
:contentReference[oaicite:3]{index=3}
OPC UA'yı geleneksel veri iletişim protokollerinden
ayıran önemli özelliklerden biri
Information Model yaklaşımıdır.
Bir cihazın yalnızca değerlerini değil, cihazın ne
olduğunu, hangi özelliklere sahip olduğunu, hangi
değerlerin ona ait olduğunu ve diğer nesnelerle
ilişkilerini de modellemek mümkündür.
Örneğin bir pompa için:
- Pompanın çalışma durumu
- Debi
- Basınç
- Motor devri
- Sıcaklık
- Çalıştırma ve durdurma komutları
- Alarm bilgileri
aynı nesnenin bilgi modeli içerisinde birlikte
tanımlanması mümkün olabilir.
OPC Foundation ayrıca farklı sektörler ve cihaz türleri
için Companion Specifications adı verilen
özel bilgi modelleri geliştirmektedir. Bunlar enerji,
üretim, proses, makine ve farklı endüstriyel uygulamalar
için standartlaştırılmış modeller sağlayabilir.
:contentReference[oaicite:5]{index=5}
Endüstriyel sistemlerde haberleşmenin güvenli olması
büyük önem taşır. OPC UA, güvenliği mimarisinin temel
parçalarından biri olarak ele alır.
Kimlik Doğrulama
Client ve Server uygulamalarının ve
gerektiğinde kullanıcıların kimliklerinin
doğrulanmasını destekler.
Şifreleme
Haberleşmenin gizliliğini korumak için
güvenlik mekanizmaları kullanılabilir.
Sertifikalar
OPC UA uygulamalarının güvenli şekilde
tanımlanması ve güven ilişkilerinin
oluşturulmasında sertifikalar kullanılabilir.
Güvenli İletişim
Haberleşmenin bütünlüğünün ve güvenliğinin
korunması için OPC UA güvenlik modeli
kullanılabilir.
OPC UA güvenlik mimarisi Client/Server iletişiminin
yanında Publish-Subscribe iletişim modelini de kapsar.
:contentReference[oaicite:6]{index=6}
OPC UA'nın klasik Client/Server iletişim modelinin
yanında Publish-Subscribe (PubSub)
iletişim modeli de bulunmaktadır.
Client/Server modelinde Client belirli bir Server'a
bağlanarak servisleri kullanırken, PubSub modelinde
veriler Publisher tarafından yayınlanabilir ve bu
verilerle ilgilenen Subscriber uygulamalar tarafından
alınabilir.
Bu yaklaşım özellikle çok sayıda sistemin aynı veriyi
kullanması gereken büyük endüstriyel ve IIoT
uygulamalarında faydalı olabilir.
OPC UA PubSub farklı taşıma yöntemleriyle kullanılabilir.
OPC UA spesifikasyonunda UDP'nin yanı sıra MQTT ve AMQP
gibi taşıma seçenekleri de tanımlanmıştır.
:contentReference[oaicite:7]{index=7}
OPC UA Nerelerde Kullanılır?
OPC UA, farklı otomasyon seviyeleri arasında veri
alışverişi gereken çok çeşitli uygulamalarda kullanılabilir.
-
SCADA ve HMI sistemleri
-
PLC ve RTU sistemleri
-
Enerji üretim tesisleri
-
Fabrika otomasyonu
-
Proses otomasyonu
-
Makine otomasyonu
-
Historian sistemleri
-
MES uygulamaları
-
ERP entegrasyonu
-
Veri analizi
-
IIoT uygulamaları
-
Bulut sistemleri
OPC UA'nın kapsamı cihaz seviyesinden işletme ve kurumsal
sistemlere kadar genişletilebilecek şekilde tasarlanmıştır.
:contentReference[oaicite:8]{index=8}
OPC UA ve OPC DA Arasındaki Fark
OPC DA ve OPC UA aynı amaca, yani farklı sistemler
arasında standart veri alışverişine hizmet etse de
mimarileri birbirinden oldukça farklıdır.
| Özellik |
OPC DA |
OPC UA |
| Temel teknoloji |
OPC Classic / COM teknolojileri |
Platform bağımsız OPC UA mimarisi |
| Platform bağımsızlığı |
Sınırlı |
Evet |
| Güvenlik |
Windows/COM altyapısına bağımlı |
Entegre güvenlik modeli |
| Bilgi modelleme |
Sınırlı |
Gelişmiş |
| Subscription |
Desteklenir |
Gelişmiş Subscription yapısı |
| Events / Alarms |
OPC Classic ailesinde ayrı spesifikasyonlar |
Entegre bilgi modelleri ve servisler |
| PubSub |
Hayır |
Evet |
| Modern IIoT uygulamaları |
Sınırlı |
Uygun |
OPC Foundation, OPC UA'yı OPC Classic teknolojilerinin
işlevlerini daha geniş ve platform bağımsız bir mimaride
birleştiren bir teknoloji olarak tanımlar.
:contentReference[oaicite:9]{index=9}
OPC UA Öğrenirken Bilinmesi Gereken Kavramlar
OPC UA ile çalışmaya yeni başlayanların aşağıdaki
kavramları öğrenmesi, Client ve Server uygulamalarının
anlaşılmasını büyük ölçüde kolaylaştırır.
-
OPC UA Server:
Verileri ve bilgileri OPC UA üzerinden sunan uygulama.
-
OPC UA Client:
Server'a bağlanarak verileri kullanan uygulama.
-
Address Space:
Server tarafından sunulan bilgi alanı.
-
Node:
Address Space içerisindeki bilgi birimi.
-
NodeId:
Node'un benzersiz kimliği.
-
BrowseName:
Node'un adres alanında gezinirken kullanılan adı.
-
Namespace:
Bilgi modellerini birbirinden ayırmaya yarayan yapı.
-
MonitoredItem:
İzlenmek üzere Subscription'a eklenen veri veya olay.
-
Subscription:
Değişiklik ve olay bildirimlerinin yönetildiği yapı.
-
Information Model:
Verilerin ve nesnelerin anlamlı bir yapıda modellenmesi.
-
PubSub:
Publisher ve Subscriber tabanlı iletişim modeli.
OPC UA, endüstriyel sistemler arasında standart ve güvenli
bilgi alışverişi sağlamak için geliştirilmiş kapsamlı
bir iletişim teknolojisidir.
OPC UA'yı yalnızca bir "veri okuma protokolü" olarak
düşünmek doğru değildir. Client/Server iletişiminin
yanında Address Space, bilgi modelleme, Subscription,
Events, Alarms, Historical Access, güvenlik ve PubSub
gibi birçok farklı yeteneği bir araya getirir.
Bu özellikleri sayesinde OPC UA; SCADA ve HMI
uygulamalarından veri toplama sistemlerine, üretim
sistemlerinden enerji tesislerine ve IIoT uygulamalarına
kadar geniş bir kullanım alanına sahiptir.
OPC UA'nın temel mimarisi ve standartlaştırılmış bilgi
modelleri, farklı üreticilere ait sistemlerin aynı
endüstriyel veri altyapısı içerisinde birlikte
çalışmasını kolaylaştırmayı amaçlar.
:contentReference[oaicite:10]{index=10}