Makineniz mi durdu? Eskişehir ve çevre illerde arıza servisi · mesai dışında da arayabilirsiniz0533 454 52 32

Son güncelleme: · Okuma süresi: yaklaşık 6 dk · Hazırlayan: Arslan Ünal, AveA Otomasyon

Bir makinenin üretim sayısını, alarmlarını ve proses değerlerini MES, ERP veya SCADA sistemine aktarmak istendiğinde, bugün en sık konuşulan haberleşme standardı OPC UA‘dır. OPC UA, sadece bir değeri okumakla kalmaz; verinin ne anlama geldiğini, birimini ve hangi makineye ait olduğunu da taşıyabilir. Bu yazıda OPC UA’nın ne olduğunu, eski OPC’den farkını, güvenlik yapısını, nerede kullanıldığını ve devreye alma sırasında en sık karşılaşılan sorunları anlatıyoruz.

Bu yazıda (11 başlık)

OPC UA ne demek?

OPC UA (Open Platform Communications Unified Architecture), endüstriyel sistemler arasında güvenli ve platformdan bağımsız veri alışverişi için geliştirilmiş bir haberleşme standardıdır. Standart, OPC Foundation tarafından geliştirilir ve uluslararası standart olarak IEC 62541 numarasıyla yayımlanmıştır.

OPC UA, PLC’den sahadaki sensöre giden hızlı I/O haberleşmesinin yerine geçmek için değil, daha çok makine ile üst sistemler arasındaki ve makineler arası veri alışverişi için kullanılır. Gömülü bir kontrol cihazından bulut sunucusuna kadar farklı donanımlarda ve Windows, Linux gibi farklı işletim sistemlerinde çalışabilir.

OPC Classic ile OPC UA arasındaki fark

İlk OPC standartları (bugün OPC Classic olarak anılır: OPC DA, OPC A&E, OPC HDA) Microsoft Windows üzerinde COM/DCOM teknolojisine dayanıyordu. Bu yapı sahada şu sorunları getiriyordu:

  • Yalnızca Windows’ta çalışıyordu; gömülü cihazlarda ve Linux tabanlı sistemlerde kullanılamıyordu.
  • DCOM ayarları karmaşıktı; ağ üzerinden bağlantı kurmak ve güvenlik duvarından geçirmek zordu.
  • Farklı veri türleri (anlık değer, alarm, geçmiş veri) için ayrı spesifikasyonlar vardı.

OPC UA, DCOM’a bağımlı olmayan, platformdan bağımsız ve hizmet odaklı bir mimariyle bu spesifikasyonları tek çatı altında topladı. Eski OPC Classic sunucularını OPC UA’ya bağlamak için sarmalayıcı (wrapper) ve gateway çözümleri kullanılabilir.

Bilgi modeli: adres alanı ve node’lar

OPC UA’yı Modbus gibi protokollerden ayıran en önemli özellik bilgi modelidir. Bir OPC UA sunucusundaki tüm veriler, adres alanı (address space) adı verilen bir yapı içinde node‘lar olarak tutulur:

  • Object (nesne): Bir makine, bir istasyon, bir motor gibi bir varlığı temsil eder.
  • Variable (değişken): Sıcaklık, hız, sayaç gibi değerlerdir; değerin yanında veri tipi, zaman damgası ve kalite bilgisi de bulunur.
  • Method (metot): Sunucuda çalıştırılabilen işlemlerdir; örneğin bir reçeteyi yükleme.
  • Referanslar: Node’lar arasındaki ilişkileri tanımlar; böylece istemci, “Makine 1 > Ekstrüder > Bölge 2 > Sıcaklık” gibi bir ağaçta gezinerek (browse) veriyi bulabilir.

Her node, bir NodeId ile tanımlanır. NodeId’nin içinde bir namespace index (ad alanı numarası) ve bir tanımlayıcı bulunur. Bu yapı sayesinde istemci, register adresi ezberlemek yerine anlamlı isimler ve yapılar üzerinden veri okur.

Client-server ve PubSub

  • Client-server: İstemci (ör. SCADA, MES yazılımı) sunucuya (ör. PLC veya makine bilgisayarı) bağlanır, veri okur, yazar veya değişiklikleri abonelik (subscription) ile takip eder. Abonelikte sunucu, yalnızca değişen değerleri istemciye bildirir; bu, sürekli sorgulamaya göre ağ yükünü azaltır.
  • PubSub (yayınla-abone ol): Yayıncı, verisini kimin alacağını bilmeden bir ağ altyapısına veya mesaj aracısına (broker) gönderir; ilgilenen aboneler bu veriyi alır. Birçok alıcıya aynı verinin dağıtılması gereken senaryolar için tasarlanmıştır ve UDP veya MQTT gibi taşıma yöntemleriyle kullanılabilir.

OPC UA TCP bağlantılarında IANA’ya kayıtlı varsayılan port 4840‘tır. Bağlantı adresleri `opc.tcp://sunucu-adresi:4840` biçimindedir. Birçok cihazda port farklı ayarlanabilir; bağlantı kurmadan önce sunucunun gerçek endpoint adresi kontrol edilmelidir.

OPC UA güvenliği

OPC UA, güvenliği sonradan eklenen bir özellik olarak değil, standardın parçası olarak içerir:

  • Uygulama sertifikaları: Her istemci ve sunucu uygulamasının bir X.509 sertifikası vardır. Bağlantı kurulabilmesi için tarafların birbirinin sertifikasına güvenmesi (trust) gerekir.
  • Güvenlik modları: Mesajlar None (güvenliksiz), Sign (imzalı) veya SignAndEncrypt (imzalı ve şifreli) modlarında gönderilir. İmzalama verinin değiştirilmediğini, şifreleme ise verinin okunamamasını sağlar. Sunucu, hangi modlarda ve hangi güvenlik politikalarında bağlantı kabul ettiğini endpoint listesinde yayımlar.
  • Kullanıcı kimlik doğrulaması: Anonim, kullanıcı adı/şifre veya kullanıcı sertifikası ile giriş yapılabilir; sunucu kullanıcıya göre okuma ve yazma yetkilerini sınırlayabilir.

Sahada en yaygın hata, devreye almayı kolaylaştırmak için None modu ve anonim erişimle başlamak ve sistemi bu şekilde bırakmaktır. Üretim ağında tercihen imzalı ve şifreli (SignAndEncrypt) bağlantı, güncel bir güvenlik politikası (ör. Basic256Sha256) ve kullanıcı doğrulaması kullanılmalıdır; Basic128Rsa15 ve Basic256 gibi eski politikalar kullanım dışıdır. Endüstriyel siber güvenlik çerçevesi için: IEC 62443 siber güvenlik.

Companion spesifikasyonlar

OPC UA’nın bilgi modeli, belirli sektörler için ortak modeller tanımlamaya izin verir. Bunlara companion specification denir. Aynı companion spesifikasyonu destekleyen farklı markalardaki makineler, üst sisteme aynı yapıda veri sunar. OPC Foundation bu alanda yüzün üzerinde spesifikasyondan söz etmektedir. Örnekler:

  • EUROMAP 77: Plastik enjeksiyon makineleri ile MES arasındaki veri alışverişi (OPC 40077). Ortak temel tipler EUROMAP 83 (OPC 40083) ile tanımlanır. Ayrıntılar: enjeksiyon makine entegrasyonu.
  • PackML: Ambalaj makinelerinde durum modeli ve performans verileri için OPC UA modeli (OPC 30050).
  • Takım tezgâhları, robotlar ve farklı makine grupları için de spesifikasyonlar bulunur; makine alırken hangisini desteklediği üreticiye sorulmalıdır.

OPC UA nerede kullanılır?

  • MES ve ERP bağlantısı: Üretim adetleri, duruş nedenleri, reçete ve iş emri bilgilerinin aktarımı.
  • SCADA: Farklı markalardaki PLC’lerden tek bir izleme sistemine veri toplama. Ayrıntılar: SCADA sistemleri nedir.
  • IIoT ve bulut: Makine verisinin gateway üzerinden veri tabanına veya buluta aktarılması. Ayrıntılar: IIoT gateway ile veri toplama.
  • Makineler arası haberleşme: Farklı üreticilerin hatlarındaki makinelerin birbirine durum bilgisi vermesi.

OPC UA, Modbus ve MQTT karşılaştırması

OPC UAModbus TCPMQTT
Veri yapısıBilgi modeli, isimli ve tipli node’larNumaralı register ve bit tablolarıKonu (topic) ve serbest içerik
Anlam bilgisiVar (tip, birim, ilişki)Yok, register haritası gerekirProtokolde yok, içerik formatına bağlı
GüvenlikSertifika, imza, şifreleme, kullanıcı doğrulama standarttaTemel protokolde yok (isteğe bağlı Modbus/TCP Security ile TLS, port 802)TLS ve broker yetkilendirmesi ile
Haberleşme modeliClient-server ve PubSubİstek-cevapYayınla-abone ol (broker üzerinden)
Tipik kullanımMakine-MES/SCADA, makineler arasıBasit cihaz verisi, sayaç, sürücüIIoT, bulut veri aktarımı

Bu protokoller birbirinin rakibi olmaktan çok farklı katmanlarda tamamlayıcıdır: sahadan Modbus ile toplanan veri bir gateway’de OPC UA’ya veya MQTT’ye dönüştürülebilir. Modbus ayrıntıları için: Modbus nedir.

Sık görülen OPC UA sorunları

  • Sertifika reddedildi (certificate untrusted/rejected): İlk bağlantıda istemcinin sertifikası sunucunun “reddedilenler” listesine düşer. Sunucu tarafında bu sertifika güvenilenlere taşınmalı, gerekirse istemci tarafında da sunucu sertifikası onaylanmalıdır. Sertifikanın süresinin dolması veya cihaz saatinin yanlış olması da benzer bir sertifika hatası (ör. BadCertificateTimeInvalid) verir.
  • Endpoint güvenlik uyuşmazlığı: İstemci None modunda bağlanmaya çalışıyor, sunucu yalnızca SignAndEncrypt kabul ediyor (veya tersi). İstemcide sunucunun yayımladığı endpoint’lerden biri seçilmelidir.
  • Güvenlik duvarı: Port 4840 (veya ayarlı port) güvenlik duvarında kapalı ya da sunucu, endpoint adresinde istemcinin çözemediği bir bilgisayar adı döndürüyor. Bu durumda ağ ayrımı ve erişim kuralları IT ekibiyle birlikte gözden geçirilmelidir.
  • Namespace index değişmesi: Sunucu yazılımı güncellendiğinde veya yeni bir bilgi modeli eklendiğinde namespace numaraları değişebilir ve istemcideki sabit NodeId’ler artık çalışmaz. İstemci, namespace’i numarası yerine namespace URI‘si üzerinden çözümlemelidir.
  • Kullanıcı yetkisi: Bağlantı kuruluyor ama yazma işlemi reddediliyor; kullanıcının yazma yetkisi yoktur.

Sıkça Sorulan Sorular

OPC UA nedir, ne işe yarar?

OPC Foundation tarafından geliştirilen ve IEC 62541 olarak standartlaşan, platformdan bağımsız bir endüstriyel haberleşme standardıdır. Makineler ile MES, ERP, SCADA ve bulut sistemleri arasında güvenli ve anlamlı veri alışverişi için kullanılır.

OPC UA ile OPC DA arasındaki fark nedir?

OPC DA, Windows’a ve DCOM teknolojisine bağlı eski bir OPC Classic spesifikasyonudur. OPC UA ise DCOM’dan bağımsızdır, farklı işletim sistemlerinde ve gömülü cihazlarda çalışır, güvenliği standart içinde tanımlar ve bilgi modeli sunar.

OPC UA hangi portu kullanır?

OPC UA TCP için IANA’ya kayıtlı varsayılan port 4840’tır. Ancak birçok cihazda port değiştirilebilir; bağlantı için sunucunun yayımladığı endpoint adresi esas alınmalıdır.

OPC UA’da sertifika hatası nasıl çözülür?

İlk bağlantıda istemci sertifikası genellikle sunucuda reddedilenler listesine düşer. Sunucunun sertifika yönetiminden bu sertifika güvenilenlere taşınır ve istemcide de sunucu sertifikası onaylanır; cihaz saatleri ve sertifika geçerlilik tarihleri de kontrol edilmelidir.

OPC UA mı MQTT mi kullanılmalı?

Makine ile MES veya SCADA arasında yapılandırılmış, anlamlı ve güvenli veri alışverişi gerekiyorsa OPC UA öne çıkar. Çok sayıda cihazdan buluta hafif veri aktarımında MQTT yaygındır; OPC UA PubSub, MQTT üzerinden de çalışabildiği için ikisi birlikte kullanılabilir.

Eskişehir’de OPC UA ve sistem entegrasyonu desteği

AveA Otomasyon olarak Eskişehir ve çevre illerdeki tesislerde PLC ve makinelerde OPC UA sunucu yapılandırması, MES, SCADA ve veri toplama sistemlerine bağlantı ile haberleşme sorunlarının tespitini yapıyoruz. Ayrıntılar: ERP, MES ve otomasyon entegrasyonu, IIoT gateway ile veri toplama ve PLC programlama hizmeti. Bize 0533 454 52 32 numarasından ulaşabilirsiniz; mesai dışında da arayabilirsiniz.