OtoBlog

OPC Server Değeri Okuyor Ama HMI Güncellemiyorsa Tag Refresh ve veri tipi nasıl kontrol edilir?

10 dk okuma Mermak CNC Teknik İçerik
OPC Server Değeri Okuyor Ama HMI Güncellemiyorsa Tag Refresh ve veri tipi nasıl kontrol edilir?
İçindekiler
  1. OPC Server Değeri Okuyor Ama HMI Güncellemiyorsa Tag Refresh ve veri tipi nasıl kontrol edilir? Nedir?
  2. Çalışma Prensibi ve Teknik Veriler
  3. Sahada Dikkat Edilmesi Gerekenler
  4. Sık Karşılaşılan Sorunlar ve Çözümleri
  5. Uzman Tavsiyesi

OPC Server’ın değer okuyup HMI’ın güncellememesi durumunda, öncelikle HMI’daki tag refresh rate ayarlarını ve OPC Server ile HMI arasındaki veri tipi uyuşmazlıklarını kontrol edin. OPC sunucusunda tag’in güncel değerini doğrulayın, HMI sürücüsünün doğru çalıştığından ve iletişim kesintisi olmadığından emin olun. HMI’ın veri okuma döngüsünü ve tag’in abonelik ayarlarını gözden geçirmek kritik öneme sahiptir.

OPC Server Değeri Okuyor Ama HMI Güncellemiyorsa Tag Refresh ve veri tipi nasıl kontrol edilir? Nedir?

 

Endüstriyel otomasyon sistemlerinde OPC Server (OLE for Process Control), PLC’ler, DCS’ler veya diğer kontrol cihazlarından gelen verileri standart bir arayüz üzerinden toplar ve HMI (Human-Machine Interface), SCADA veya diğer istemci uygulamalarına sunar. Bu senaryoda karşılaşılan yaygın bir problem, OPC Server’ın ilgili tag değerini doğru bir şekilde okuduğunu doğrulamanıza rağmen, HMI ekranında bu değerin hiç güncellenmemesi veya yanlış bir şekilde gösterilmesidir. Bu durum, operatörlerin tesis süreçlerini doğru izleyememesine ve kritik operasyonel kararların hatalı verilmesine yol açabilir. Temel nedenler genellikle veri yenileme hızları (refresh rate) ile ilgili ayarlarda ve veri tipi uyuşmazlıklarında yatar. HMI’ın OPC Server’dan verileri ne sıklıkla talep ettiği, OPC Server’ın bu verileri ne sıklıkla güncellediği ve her iki taraftaki verinin tipinin (örneğin, tam sayı, ondalıklı sayı, boolean) birbiriyle eşleşip eşleşmediği, sorunun kaynağını belirlemede kilit rol oynar. Ayrıca, iletişim katmanındaki sorunlar, güvenlik ayarları veya yazılımsal hatalar da bu duruma yol açabilir. Bu rehber, sahada bu tür sorunları adım adım nasıl teşhis edeceğinizi ve çözeceğinizi detaylandırmaktadır.

Çalışma Prensibi ve Teknik Veriler

OPC iletişiminin temelinde, istemci-sunucu mimarisi yatar. OPC Server, kontrol cihazlarından (PLC gibi) verileri belirli bir scan rate ile okur ve dahili bir hafızada depolar. HMI gibi OPC istemcileri, bu sunucuya bağlanarak belirli tag’lere abone olur ve bu tag’lerin güncel değerlerini talep eder. Veri akışı genellikle şu adımları takip eder:

  • PLC Veri Okuma: PLC, bağlı olduğu sensörlerden veya iç mantığından verileri kendi program döngüsünde günceller.
  • OPC Server Scan Rate: OPC Server, PLC’deki tag’leri belirli bir frekansta (scan rate) sorgular ve okur. Bu, genellikle milisaniyeler cinsinden ayarlanır (örn. 100ms, 500ms). Eğer bu oran PLC’deki değer değişiminden yavaşsa, OPC Server güncel değeri kaçırabilir.
  • OPC Group Update Rate: OPC Server, abone olan HMI gibi istemcilere veri güncellemelerini belirli bir frekansta (update rate) gönderir. Bu, OPC Server’daki OPC Group ayarlarında yapılandırılır ve istemciye ne sıklıkla veri gönderileceğini belirler. Genellikle OPC Server’ın yükünü azaltmak ve ağ trafiğini yönetmek için kullanılır.
  • HMI Tag Polling Rate (Yenileme Hızı): HMI uygulaması, OPC Server’dan belirli tag’ler için veri taleplerini belirli bir sıklıkta (polling rate) yapar. Bu, HMI’ın kendi içindeki tag konfigürasyonunda veya ekran nesnelerinin özelliklerinde ayarlanır. Eğer HMI’ın polling rate’i, OPC Server’ın update rate’inden veya PLC’nin değer değişim hızından çok yavaşsa, ekranda gecikmeli veya donmuş veriler görülebilir.
  • Veri Tipi Eşleşmesi: PLC’den okunan verinin (örneğin bir Integer), OPC Server’da doğru bir OPC veri tipine (örneğin VT_I2 veya VT_I4) dönüştürülmesi ve son olarak HMI’da da bu veri tipine karşılık gelen bir formata (örneğin Short Integer veya Long Integer) çevrilmesi gerekir. Uyuşmazlıklar, değerlerin yanlış yorumlanmasına, “Bad Quality” durumuna veya HMI’da anlamsız değerlerin görünmesine neden olabilir. Özellikle float/real değerlerde ondalık basamak hassasiyeti ve string değerlerde karakter kodlaması (ASCII, Unicode) farklılıkları sorun yaratabilir.

Bu süreçteki herhangi bir adımda oluşabilecek bir aksaklık, HMI’da doğru ve güncel verinin görünmemesine yol açabilir. Özellikle eski OPC DA (Data Access) tabanlı sistemlerde DCOM (Distributed Component Object Model) ayarları, güvenlik duvarı kuralları ve ağ gecikmeleri de iletişimi etkileyen önemli faktörlerdir. Modern OPC UA (Unified Architecture) sistemleri ise DCOM bağımlılığını ortadan kaldırarak daha güvenli ve platform bağımsız bir iletişim sunar.

ParametreDeğer/Açıklama
OPC Server Scan RateOPC Server’ın kontrol cihazından (PLC) veriyi okuma sıklığı. Genellikle 50ms – 1000ms aralığında ayarlanır.
OPC Group Update RateOPC Server’ın abone olan HMI’a veri güncellemelerini gönderme sıklığı. 100ms – 5000ms veya daha fazlası olabilir.
HMI Tag Polling RateHMI uygulamasının OPC Server’dan bir tag’i talep etme sıklığı. Genellikle HMI’ın kendi içindeki tag ayarlarında bulunur.
PLC Veri TipiKontrol cihazındaki (PLC) tag’in orijinal veri tipi (örn. INT, REAL, BOOL, DINT).
OPC Tag Veri TipiOPC Server’da tanımlanan tag’in veri tipi (örn. VT_I2, VT_R4, VT_BOOL, VT_BSTR).
HMI Tag Veri TipiHMI uygulamasında tanımlanan tag’in veri tipi (örn. Integer, Float, Boolean, String).
OPC Quality (Kalite Durumu)OPC Server’dan gelen verinin güvenilirliğini belirten durum kodu (örn. Good, Bad, Uncertain).
DCOM Ayarları (OPC DA)Uzak OPC DA bağlantılarında kimlik doğrulama, başlatma ve erişim izinleri. Güvenlik duvarı portları ile ilişkilidir.
OPC Server Değeri Okuyor Ama HMI Güncellemiyorsa Tag Refresh ve veri tipi nasıl kontrol edilir?

Sahada Dikkat Edilmesi Gerekenler

  • OPC Server Durumunu Doğrulama: Öncelikle, OPC Server yazılımının düzgün çalıştığından emin olun. OPC Server’ın kendi yönetim arayüzünden veya bir OPC Test Client (örneğin, Matrikon OPC Explorer, Kepware Quick Client) kullanarak ilgili tag’in değerini ve kalitesini (Quality) kontrol edin. Eğer OPC Test Client’ta değer güncelleniyor ve kalitesi “Good” ise, sorun genellikle HMI tarafında veya OPC Server ile HMI arasındaki iletişimde demektir. Eğer burada da değer güncellenmiyor veya kalite “Bad” ise, sorun OPC Server’ın PLC ile iletişiminde veya kendi iç ayarlarında olabilir.
  • HMI Tag Konfigürasyonunu İnceleme: HMI projesini açarak, sorunlu tag’in konfigürasyonunu detaylıca inceleyin. Özellikle veri okuma döngüsü (polling rate) veya yenileme hızı (refresh rate) ayarlarının uygun değerde olduğundan emin olun (örneğin, 100ms veya 1 saniye gibi). Bazı HMI yazılımlarında, ekran nesnelerinin kendi yenileme hızları da olabilir. Bu ayarların çok yüksek (yavaş) olması, HMI’da değerin gecikmeli veya hiç güncellenmemesine neden olabilir. Ayrıca, HMI’daki tag adreslemesinin OPC Server’daki Item ID ile birebir eşleştiğinden emin olun.
  • Veri Tipi Uyuşmazlıklarını Giderme: Bu, en sık karşılaşılan sorunlardan biridir. PLC’de tanımlı olan orijinal veri tipini (örneğin, Siemens S7’de INT, REAL), OPC Server’daki karşılığını (örneğin, VT_I2, VT_R4) ve HMI’daki karşılığını (örneğin, Short Integer, Float) dikkatlice kontrol edin. Özellikle float (REAL) ve double (LREAL) değerlerde hassasiyet farkları, integer (INT) ve long integer (DINT) değerlerde boyut farkları veya boolean değerlerin bazen 0/1 olarak değil de farklı bir formatta (örn. -1) yorumlanması sorunlara yol açabilir. String (metin) verilerinde ise karakter kodlama (ASCII/Unicode) uyuşmazlıkları garip karakterlerin görünmesine neden olabilir. Genellikle, en güvenli yaklaşım, tüm katmanlarda (PLC, OPC, HMI) aynı veya en yakın veri tipini kullanmaktır.
  • Ağ ve Güvenlik Duvarı Ayarları: OPC Server ve HMI farklı makinelerde çalışıyorsa, aralarındaki ağ bağlantısını kontrol edin. Ping testi yapın. Özellikle OPC DA kullanılıyorsa, DCOM (Distributed Component Object Model) ayarları kritik öneme sahiptir. DCOM ayarları (erişim izinleri, başlatma izinleri, kimlik doğrulama) her iki makinede de doğru yapılandırılmalı ve birbirleriyle uyumlu olmalıdır. Güvenlik duvarları (Windows Firewall veya kurumsal güvenlik duvarları) OPC iletişimine izin verecek şekilde yapılandırılmalıdır. DCOM genellikle dinamik portlar kullandığı için, statik port ataması veya belirli port aralıklarına izin verme gerekebilir (genellikle RPC Endpoint Mapper için TCP 135 ve rastgele portlar). OPC UA kullanılıyorsa, genellikle TCP 4840 portu kullanılır ve bu portun açık olması gerekir.
  • Sistem Kaynakları ve Performans: OPC Server ve HMI yazılımlarının çalıştığı bilgisayarların CPU, RAM ve disk kullanımını izleyin. Yetersiz sistem kaynakları, OPC Server’ın veya HMI’ın verileri zamanında işlemesini engelleyebilir, bu da güncellemelerin gecikmesine veya durmasına neden olabilir. Yüksek CPU kullanımı veya bellek sızıntıları, genel sistem performansını olumsuz etkileyebilir.
OPC Server Değeri Okuyor Ama HMI Güncellemiyorsa Tag Refresh ve veri tipi nasıl kontrol edilir?

Sık Karşılaşılan Sorunlar ve Çözümleri

Bu bölümde, OPC Server-HMI veri güncelleme sorunlarında sıkça karşılaşılan senaryolar ve bunların pratik çözüm yolları ele alınmıştır:

  • Sorun: HMI’da Tag Kalitesi “Bad” veya “Comm Error” olarak görünüyor.

    Çözüm: Bu durum genellikle iletişim katmanında bir problem olduğunu gösterir. Öncelikle OPC Server’ın çalıştığı bilgisayarı kontrol edin, OPC Server servisinin aktif olduğundan ve lisansının geçerli olduğundan emin olun. OPC Test Client ile tag’in kalitesini kontrol edin. Eğer burada da “Bad” ise, sorun OPC Server’ın PLC ile iletişiminde veya OPC Server’ın kendi iç ayarlarındadır (örn. PLC sürücüsü, adresleme). Eğer OPC Test Client’ta “Good” ise, sorun OPC Server ile HMI arasındaki bağlantıdadır. Ağ bağlantısını, güvenlik duvarı ayarlarını ve DCOM izinlerini (OPC DA için) dikkatlice gözden geçirin. DCOMcfg aracını kullanarak erişim, başlatma ve yapılandırma izinlerini hem OPC Server hem de HMI makinelerinde doğru kullanıcılar veya gruplar için ayarlayın.

  • Sorun: HMI’da değerler güncellenmiyor ancak Tag Kalitesi “Good” olarak görünüyor.

    Çözüm: Bu durum, iletişimin temel olarak çalıştığını ancak veri yenileme mekanizmasında bir aksaklık olduğunu gösterir. OPC Server’ın yönetim arayüzünden ilgili OPC Group’un update rate ayarını kontrol edin. Bu değerin çok yüksek (yavaş) olması, HMI’a güncellemelerin nadiren gönderilmesine neden olabilir. Ardından, HMI yazılımında ilgili tag’in veya ekran nesnesinin polling rate/refresh rate ayarını kontrol edin. Bu ayarın da çok yüksek olması, HMI’ın veriyi nadiren talep etmesine yol açar. Her iki oranın da uygun ve birbirine yakın değerlerde olduğundan emin olun. Ayrıca, OPC Server’daki deadband ayarını kontrol edin; eğer bir tag’in değeri deadband aralığında değişiyorsa, OPC Server istemcilere güncelleme göndermeyebilir. Deadband’i geçici olarak sıfırlayarak test edin.

  • Sorun: HMI’da değerler güncelleniyor ancak yanlış veya anlamsız değerler görünüyor.

    Çözüm: Bu neredeyse kesinlikle bir veri tipi uyuşmazlığı sorunudur. PLC’deki tag’in orijinal veri tipini (örn. 16-bit Integer), OPC Server’da tanımlanan veri tipini (örn. VT_I2) ve HMI’daki tag’in veri tipini (örn. Short Integer) karşılaştırın. Örneğin, PLC’den bir REAL (Float) değeri okuyup HMI’da Integer olarak gösterirseniz, ondalık kısım kaybolur veya tamamen yanlış bir değer görünür. Özellikle endianness (byte sıralaması) farklılıkları (örn. big-endian vs. little-endian) bazı sistemlerde (özellikle farklı üreticilerin cihazları arasında) float ve long integer değerlerinde yanlış yorumlamalara yol açabilir. OPC Server’ın gelişmiş ayarlarında veya HMI’ın sürücü ayarlarında bu tür dönüşümler için seçenekler bulunabilir. Gerekirse, PLC programında veya OPC Server’da ara dönüşümler yaparak veri tiplerini uyumlu hale getirin.

  • Sorun: HMI’da güncelleme çok yavaş gerçekleşiyor veya sistem genel olarak yavaş çalışıyor.

    Çözüm: Bu sorun, genellikle birden fazla faktörün birleşimiyle ortaya çıkar. OPC Server scan rate, OPC Group update rate ve HMI tag polling rate ayarlarını optimize edin; çok düşük (hızlı) ayarlamak ağ trafiğini ve sunucu/HMI yükünü artırabilir, çok yüksek (yavaş) ayarlamak ise gecikmelere yol açar. Sistem kaynaklarını (CPU, RAM) kontrol edin; OPC Server veya HMI bilgisayarı yetersiz kaynaklarla çalışıyorsa performans düşebilir. Ağ trafiğini izleyin; yoğun ağ kullanımı veya ağdaki gecikmeler iletişimi yavaşlatabilir. OPC Server’daki tag sayısını ve HMI’daki aynı anda gösterilen tag sayısını gözden geçirin; çok fazla tag’in aynı anda hızlı bir şekilde güncellenmesi performansı etkileyebilir. Gereksiz tag’leri kaldırın veya güncelleme hızlarını düşürün.

Uzman Tavsiyesi

OPC Server’dan değer okunduğu halde HMI’da güncellenmeyen tag’ler sorunu, endüstriyel otomasyon sistemlerinde sıkça karşılaşılan ve operasyonel verimliliği doğrudan etkileyen kritik bir durumdur. Bu tür sorunların çözümünde sistematik bir yaklaşım benimsemek esastır. İlk olarak, bir OPC Test Client kullanarak OPC Server’ın kendisinin doğru değerleri ve “Good” kalitede okuduğunu doğrulamak, sorunun HMI tarafında mı yoksa OPC Server’da mı olduğunu anlamak için kritik bir adımdır. Ardından, HMI’ın tag refresh rate ayarları ve OPC Server ile HMI arasındaki veri tipi uyuşmazlıkları en öncelikli kontrol noktalarıdır. Özellikle karmaşık sistemlerde, DCOM ayarları gibi iletişim katmanındaki detaylar ve güvenlik duvarı kuralları da göz ardı edilmemelidir. Saha tecrübesi, çoğu zaman bu tür sorunların küçük bir konfigürasyon hatasından veya yanlış bir veri tipi tanımlamasından kaynaklandığını göstermiştir. Bu nedenle, her bir katmandaki (PLC, OPC Server, HMI) tag tanımlamalarını, adreslemeleri ve veri tiplerini adım adım karşılaştırmak ve doğrulamak büyük önem taşır. Geleceğe dönük olarak, OPC DA tabanlı sistemlerdeki DCOM bağımlılığının getirdiği zorluklar nedeniyle, yeni projelerde veya mevcut sistemlerin modernizasyonunda OPC UA (Unified Architecture) teknolojisine geçiş yapmak, daha güvenli, daha esnek ve daha kolay yapılandırılabilir iletişim altyapıları sunarak benzer sorunların önüne geçebilir. Unutmayın, iyi belgelenmiş bir sistem ve düzenli bakım, bu tür sorunların oluşma olasılığını önemli ölçüde azaltacaktır. Sorun giderme sürecinde sabırlı olmak, her adımı dikkatlice kontrol etmek ve gerekli durumlarda üretici dokümantasyonlarına başvurmak, en hızlı ve doğru çözüme ulaşmanın anahtarıdır.

⚙ Araçlar