OPC UA Nedir?

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}

OPC UA Neden Kullanılır?

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 Client ve Server

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 Address Space

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 Node Nedir?

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.

Namespace ve NodeId

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 Subscription

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 Information Model

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}

OPC UA Güvenliği

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 PubSub

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 Araçları

Bu bölümde OPC UA ile çalışırken kullanılabilecek yardımcı yazılımlar, test araçları, Client ve Server uygulamaları, örnek projeler ve geliştirici araçları paylaşılacaktır.

Araçlar; OPC UA Server'ları keşfetme, Address Space'i inceleme, NodeId'leri görüntüleme, veri okuma ve yazma, Subscription testleri gerçekleştirme ve OPC UA haberleşmesini analiz etme gibi amaçlarla kullanılabilir.

🔧 OPC UA Test ve Yardımcı Araçları

OPC UA ile ilgili indirilebilir araçlar, test uygulamaları ve yardımcı yazılımlar burada paylaşılacaktır.

  • OPC UA Client araçları
  • OPC UA Server test araçları
  • Address Space inceleme araçları
  • NodeId ve veri test araçları
  • Subscription test araçları
  • OPC UA örnek uygulamaları

Özet

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}