OPC UA İstemci
OPC UA istemcisi, 2WinScada'nın bir OPC UA sunucusuna (KEPServerEX gibi ağ geçitleri, PLC'lerin yerleşik OPC UA sunucuları vb.) bağlanıp düğümlerin (node) değerlerini abonelik (subscription) yoluyla okumasını ve yazmasını sağlar. Her kanal sunucu ile bir oturum (session) açar; kanal altındaki her cihaz bu oturumda kendi aboneliğini oluşturur.
Desteklenen başlıca özellikler:
opc.tcp://uç noktalarına anonim veya kullanıcı adı / şifre ile bağlantı- Sunucunun sunduğu uç noktaların listelenmesi ve seçilmesi
- Otomatik oluşturulan uygulama sertifikası ile imzalı ve şifreli bağlantı
- Sunucunun adres alanında gezinme ve tag'lerin toplu içe aktarılması
- Abonelik ve izlenen öğe (monitored item) ayarları
- Veri tipinin sunucudan otomatik belirlenmesi
Lisans
OPC UA, Standard ve Professional lisans sürümlerinde bulunur; Starter sürümünde ek modül olarak eklenebilir. Lisansa OPC UA eklendikten sonra servisler yeniden başlatılana kadar OPC UA haberleşmesi çalışmaz. Lisans ayrıntıları için Lisans sayfasına bakın.
Kanal Tanımı
Yeni kanal penceresinin Genel sekmesinde kanal adı girilir ve Bağlantı Tipi olarak OPCUA seçilir. Diğer sekmelerdeki ayarlar yapıldıktan sonra Kaydet butonuna tıklanır.
Bağlantı Parametereleri sekmesi:
| Alan | Açıklama | Varsayılan | Aralık |
|---|---|---|---|
| EndPoint Adresi | OPC UA sunucusunun uç nokta adresi, örn. opc.tcp://192.168.1.10:49320 | opc.tcp://127.0.0.1:49320 | Geçerli bir adres olmalıdır |
| Zaman aşımı [ms] | Bağlantı denemesinin en fazla süresi; oturum süresi olarak da sunucuya bildirilir | 3000 | 3000–86400000 |

Aynı sekmedeki Yetkilendirme grubu:
| Alan | Açıklama | Varsayılan |
|---|---|---|
| Yetkilendirme Tipi | Sunucuya hangi kullanıcı kimliğiyle bağlanılacağı: Anonymous veya User (kullanıcı adı / şifre) | Anonymous |
| Kullanıcı Adı | User seçildiğinde sunucu kullanıcı adı | Boş |
| Şifre | User seçildiğinde sunucu şifresi. Kayıtlı şifre güvenlik nedeniyle gösterilmez (********); değiştirmek için yeni değer yazın, alanı boş bırakmak şifreyi silmez | Boş |
| Güvenilmeyen sunucu sertifikasını kabul et | İşaretliyse güvenilen depoda olmayan sunucu sertifikası da kabul edilir. Kapalıyken böyle bir sertifika reddedilir (bkz. Sunucu sertifikasına güvenme). | Yeni kanalda kapalı |

Yetkilendirme Tipi Anonymous yapıldığında Kullanıcı Adı ve Şifre alanları temizlenir.
Desteklenmeyen kimlik tipleri
Certificate ve IssuedToken kimlikleri 2.10'da desteklenmez: listede görünür ama seçilemez, sunucu da bu kimlikle kaydı reddeder. Bu kimliklerle önceden kaydedilmiş kanallar silinmez; Bad kalır ve servis loguna hata yazılır. Bu kanallarda Anonymous veya User seçip kaydedin. 2WinScada'nın kendi uygulama sertifikası otomatik yönetilir (bkz. Sertifikalar).
Uç nokta seçimi
EndPoint Adresi alanının yanındaki ... butonu, alana yazılan adresteki sunucunun sunduğu uç noktaları OpcUa Endpoint Adres Seçimi penceresinde listeler. Listeyi almak için önce sunucunun adresini (örn. opc.tcp://192.168.1.10:49320) yazın; sorgu 2WinScada sunucusundan yapılır.
Uç noktalar sunucunun uygulama adı altında gruplanır. Her satır <adres>#<güvenlik politikası>#<güvenlik modu> biçimindedir, örn. opc.tcp://192.168.1.10:49320#Basic256Sha256#SignAndEncrypt. Bir satır seçilip Seç butonuna tıklandığında EndPoint Adresi, Güvenlik Politikası ve Güvenlik Modları alanları birlikte doldurulur.

Gelişmiş Parametreler sekmesi:
| Alan | Açıklama | Varsayılan | Aralık |
|---|---|---|---|
| Güvenlik Modları | None, Sign veya SignAndEncrypt. Güvenlik Politikası None ise yalnızca None, diğer politikalarda Sign ve SignAndEncrypt listelenir. | Boş | — |
| Güvenlik Politikası | None, Basic128Rsa15, Basic256, Basic256Sha256, Aes128_Sha256_RsaOaep, Aes256_Sha256_RsaPss veya Https | Boş | — |
| Session yeniden başlatmak için boşta kalma süresi [s] | Kanaldaki hiçbir tag'den bu süre boyunca değer değişikliği bildirimi gelmezse oturum kapatılıp yeniden açılır. 0 bu denetimi kapatır. | 0 | 0–86400 |

Güvenlik Modları ve Güvenlik Politikası birlikte seçilir veya ikisi de boş bırakılır:
- İkisi de seçiliyse 2WinScada sunucunun uç nokta listesinden yalnız bu mod ve politikayı birlikte sunan uç noktaya bağlanır. Sunucu bu çifti sunmuyorsa bağlantı kurulmaz, daha zayıf bir uca düşülmez; kanal Bad olur ve durum metninde sunucunun sunduğu mod/politika çiftleri listelenir.
- İkisi de boşsa uç nokta otomatik seçilir: User kimliğinde sunucunun sunduğu en güvenli uç nokta, Anonymous'ta güvenliksiz (None) uç nokta kullanılır.
- Yalnız birini seçmek veya tutarsız bir çift (None modu ile None dışı politika, Sign / SignAndEncrypt ile None politikası) seçmek kayıtta reddedilir.
Güvenlikli (Sign veya SignAndEncrypt) bir uç noktada sunucunun 2WinScada uygulama sertifikasına, 2WinScada'nın da sunucu sertifikasına güvenmesi gerekir (bkz. Sertifikalar).
User kimliği ve None güvenliği
User kimliği None / None ile kaydedilmişse oturum şifresiz açılır; şifre yalnız sunucunun kullanıcı jetonu politikası şifreliyorsa korunur. Bu durumda formda Güvenlik Modları alanının altında uyarı görünür ve kanal açılışında servis loguna uyarı yazılır. Kullanıcı adı ve şifreyle bağlanan kanallarda Sign veya SignAndEncrypt seçin.
Eski sürümde kaydedilmiş kanallar
2.10'dan önce yalnız modu veya yalnız politikası kaydedilmiş kanallar (ör. eski formda seçilen Aes uç noktaları) yükseltmeden sonra da bağlanır; güvenliksiz uca düşülmez ve kanal açılışında "iki alanı birlikte seçip kaydedin" uyarısı loglanır. Kayıtlı tutarsız bir çift ise kanal Bad olur. Her iki durumda kanalı düzenlerken iki alanı birlikte seçip kaydedin.
Sertifikalar
2WinScada, OPC UA sunucularına 2WinUaClient adlı bir istemci uygulaması olarak bağlanır. Sertifika yönetimi için arayüzde ayrı bir ekran yoktur; işlemler otomatik yapılır:
- Uygulama sertifikası: İlk OPC UA bağlantısında kendinden imzalı bir uygulama sertifikası (
CN=2WinUaClient) otomatik oluşturulur. Varsayılan anahtar uzunluğu 2048 bit, geçerlilik süresi 60 aydır. Sertifika silinirse bir sonraki bağlantıda yenisi oluşturulur; bu durumda sunucu tarafında yeniden güvenilir yapılması gerekir. - Sunucu sertifikaları: Kanalın Güvenilmeyen sunucu sertifikasını kabul et ayarına göre doğrulanır (bkz. Sunucu sertifikasına güvenme).
- Sunucu tarafında güven: Güvenlikli bir uç nokta kullanılacaksa (bkz. yukarıdaki uyarı) sunucu yöneticisi
2WinUaClientsertifikasını sunucunun güvenilen istemciler listesine eklemelidir. Çoğu sunucu, ilk bağlantı denemesinden sonra bu sertifikayı reddedilenler listesinde gösterir; sertifika oradan güvenilenlere taşınır ve bağlantı yeniden denenir.
Sertifika depoları 2WinScada sunucusunda tutulur. Uygulama sertifikasını OPC UA sunucusuna elle yüklemek gerekiyorsa sistem entegratörünüze başvurun.
Sunucu sertifikasına güvenme
Güvenilmeyen sunucu sertifikasını kabul et ayarı, formdan veya API'den oluşturulan yeni OPC UA kanallarında kapalıdır. Kapalıyken 2WinScada yalnız güvenilen depodaki sunucu sertifikalarını kabul eder; diğer sertifikalar reddedilir. Sunucu sertifikası Sign veya SignAndEncrypt uç noktalarında her zaman doğrulanır. Güvenlik modu None olan uç noktalarda sunucu sertifikası yalnız User kimliğiyle bağlanırken doğrulanır.
Reddedilen bir sunucu sertifikasında kanalın durum metninde sertifikanın Subject ve Thumbprint (parmak izi) değerleri görünür. Sunucu sertifikasını güvenilen depoya eklemek için sistem entegratörünüze başvurun.
Yükseltilen kurulumlarda bazı kanallarda bu seçenek işaretli gelebilir; formda uyarı görünür. Bu kanallarda sunucu sertifikasını güvenilen depoya ekleyip seçeneği kapatın. Seçenek açıkken bağlantı ortadaki adam saldırılarına açıktır.
Bağlantı davranışı
- Bağlantı kurulamazsa 2WinScada yeniden dener; bekleme süresi 20 saniyeden başlar, her denemede 10 saniye artar ve en fazla 130 saniyeye ulaşır.
- Varsayılan olarak tüm OPC UA kanallarında aynı anda en fazla 2 bağlantı denemesi yapılır; diğer kanallar sıra bekler.
- Bağlantı kurulduğunda etkin cihazların abonelikleri oluşturulur. Bağlantı koptuğunda cihaz ve tag kaliteleri Bad olur.
Cihaz Tanımı
Kanal üzerinde sağ tık menüsünden Yeni Cihaz seçilir. Genel sekmesindeki alanlar diğer protokollerdeki gibi doldurulur. Her cihaz sunucuda bir abonelik oluşturur; farklı yayınlama sıklıkları gereken tag'leri ayrı cihazlarda toplayabilirsiniz.

Parametreler sekmesi:
| Alan | Açıklama | Varsayılan | Aralık |
|---|---|---|---|
| Yayınlama Sıklığı [ms] | Sunucunun abonelikteki değişiklikleri 2WinScada'ya gönderme aralığı (publishing interval) | 1000 | Zorunlu |
| Life time count | Sunucunun istemciden yanıt almadan aboneliği kaç yayınlama aralığı boyunca koruyacağı | 60 | 3–600 |
| Max keep alive | Değişiklik olmadığında sunucunun kaç yayınlama aralığında bir canlılık mesajı göndereceği | 5 | 1–90 |
| Öncelik | Aboneliğin sunucudaki göreli önceliği: En Düşük, Düşük, Orta, Yüksek veya En Yüksek | Orta | — |
Örnek: Yayınlama Sıklığı [ms] 1000 ve Max keep alive 5 ise sunucu değişiklik olmasa da en geç 5 saniyede bir canlılık mesajı gönderir. Life time count 60 ise istemciden 60 saniye boyunca haber alamayan sunucu aboneliği siler. OPC UA kuralı gereği Life time count, Max keep alive değerinin en az üç katı olmalıdır; aksi hâlde sunucu değeri kendisi düzeltir.

Gelişmiş Parametreler sekmesi:
| Alan | Açıklama | Varsayılan | Aralık |
|---|---|---|---|
| Subscription yeniden başlatmak için boşta kalma süresi [s] | Cihazın tag'lerinden bu süre boyunca değer değişikliği bildirimi gelmezse abonelik kapatılıp yeniden oluşturulur. 0 bu denetimi kapatır. | 600 | 0–86400 |
Aynı sekmedeki İzlenen Değişkenler grubu, cihazdaki her tag için sunucuda oluşturulan izlenen öğenin ayarlarını içerir:
| Alan | Açıklama | Varsayılan | Aralık |
|---|---|---|---|
| Kuyruk Büyüklüğü | Sunucunun iki yayın arasında bir tag için saklayacağı değer sayısı | 1 | 1–100 |
| En eskiyi sil | Kuyruk dolduğunda en eski değerin atılması. Seçim kaldırılırsa en yeni değer atılır. | İşaretli | — |
| Ölü bölge Tipi | Yok (her değişiklik bildirilir), Mutlak (mutlak fark) veya Yüzde (yüzde fark) | Yok | — |
| Ölü bölge değeri | Mutlak veya Yüzde seçildiğinde değişikliğin bildirilmesi için gereken en küçük fark. Yok seçiliyken pasiftir. | 0 | Sayı |
Ölü bölge yalnızca sayısal tag'lere ve tag'in ilk değeri geldikten sonra uygulanır. Yüzde tipindeki ölü bölge, sunucuda düğümün mühendislik aralığının (EURange) tanımlı olmasını gerektirir; bu aralığı sunmayan sunucu ilgili öğenin filtresini reddedebilir ve servis loguna hata yazılır.
Yükseltme sonrası kontrol
Öncelik, Ölü bölge Tipi ve Ölü bölge değeri ayarları abonelikte uygulanır. Yükseltmeden sonra ölü bölge tanımlı cihazlarda değerlerin beklendiği gibi geldiğini sahada kontrol edin.
Tag'leri içe aktarma
Gelişmiş Parametreler sekmesinin Değişkenler grubundaki Değişkenleri içe aktar butonu sunucunun adres alanını ağaç olarak listeler. Buton yalnızca kaydedilmiş cihazlarda etkindir ve listenin gelmesi için kanalın çalışıyor ve sunucuya bağlı olması gerekir.
Adı sütununda klasör simgesi olan satırlar başka düğümleri içerir ve genişletilebilir. simgesi değişken düğümünü gösterir. Node Id sütunu, tag'in Adres alanına yazılacak değerdir. Eklenecek düğümleri seçip Seç butonuna tıklayın ve onay sorusunu kabul edin.
Yalnızca değişken ve metot düğümleri tag olarak eklenir; diğer düğümler desteklenmeyen öğe olarak sayılır. İçe aktarma sonunda eklenen, hata alınan ve desteklenmeyen öğe sayıları bildirilir. Eklenen tag'lerde ad düğümün görünen adı, Adres düğümün Node Id değeridir; Veri Tipi Otomatik olur, tag Sadece Okuma olarak işaretlenir ve Güncelleme Süresi[s] 2 saniye olur. Aynı ada sahip düğümler farklı klasörlerde bulunabileceği için içe aktarılan tag adlarını kontrol edin.
KEPServerEX cihaz durumu
Sunucu KEPServerEX ise ve 2WinScada'daki kanal ve cihaz adları KEPServerEX'teki kanal ve cihaz adlarıyla aynıysa, 2WinScada cihazın bağlantı kalitesini KEPServerEX'in ns=2;s=<Kanal>.<Cihaz>._System._Error düğümünden izler. Bu düğüm hata bildirdiğinde 2WinScada'daki cihaz kalitesi Bad olur.
Tag Tanımı
Tag'ler cihazın tag tablosunda diğer protokollerdeki gibi tanımlanır (bkz. Tag Yönetimi). Adres alanına OPC UA düğüm kimliği (NodeId) yazılır. Kimlik, ad alanı indeksi ile tanımlayıcının ; ile birleştirilmesinden oluşur:
| Tanımlayıcı türü | Biçim | Örnek |
|---|---|---|
| Metin (String) | ns=<indeks>;s=<metin> | ns=2;s=Hat1.Motor1.Hiz |
| Sayı (Numeric) | ns=<indeks>;i=<sayı> | ns=3;i=1005 |
| GUID | ns=<indeks>;g=<guid> | ns=4;g=09087e75-8e5e-499b-954f-f2a9603db28a |
| Bayt dizisi (Opaque) | ns=<indeks>;b=<base64> | ns=5;b=M/RbKBsRVkePCePcx24oRA== |
nsad alanı indeksidir.ns=yazılmazsa 0 numaralı standart OPC UA ad alanı kullanılır; örneğini=2258sunucunun güncel zamanıdır.- Ad alanı indeksleri sunucu yeniden yapılandırıldığında değişebilir. Doğru kimliği Değişkenleri içe aktar penceresinden veya sunucunun kendi aracından alın.
- Veri Tipi Otomatik seçilirse tip, sunucudan gelen ilk değere göre belirlenir. Elle seçilen tip, sunucudaki değerle uyumlu olmalıdır.
- Güncelleme Süresi[s], tag için sunucudan istenen örnekleme aralığıdır (sampling interval). Değişiklikler 2WinScada'ya cihazın Yayınlama Sıklığı [ms] aralığında gönderilir.
- Tag kalitesi, sunucunun değerle birlikte gönderdiği durum koduna göre Good veya Bad olur.
Yazma
Sadece Okuma işaretli olmayan bir tag'e yazıldığında 2WinScada düğümün güncel değerini okur, yazılacak değeri bu değerin tipine çevirir ve düğüme yazar. Sunucuda düğümün yazılabilir olması ve bağlanılan kullanıcının yazma yetkisinin bulunması gerekir.
Sorun giderme
| Belirti | Kontroller |
|---|---|
| Bağlantı kurulamıyor | EndPoint Adresi, port, güvenlik duvarı ve sunucunun çalıştığını kontrol edin. Anonymous kullanılıyorsa sunucuda güvenliksiz (None) uç noktanın ve anonim erişimin açık olduğunu doğrulayın. |
| User ile bağlantı reddediliyor | Kullanıcı adı ve şifreyi, sunucunun güvenilen istemciler listesinde 2WinUaClient sertifikasının bulunduğunu ve güvenlikli bir uç noktanın açık olduğunu kontrol edin. |
| Kanal Bad, durum metninde sunulan mod/politika çiftleri listeleniyor | Sunucu kayıtlı Güvenlik Modları / Güvenlik Politikası çiftini sunmuyor. Uç nokta seçiciden sunucunun sunduğu bir çifti seçin veya iki alanı da boş bırakıp kaydedin. |
| Kanal Bad, durum metninde reddedilen sertifikanın parmak izi görünüyor | Sunucu sertifikası güvenilen depoda değil. Sunucu sertifikasına güvenme adımlarını izleyin. |
| Yükseltmeden sonra kanal bağlanmıyor | Kanal Certificate / IssuedToken kimliğiyle veya tutarsız bir güvenlik çiftiyle kaydedilmiş olabilir. Servis logunu inceleyin; desteklenen bir kimlik ve geçerli bir çift seçip kaydedin. |
| Uç nokta listesi boş geliyor | EndPoint Adresi alanına sunucunun adresini yazdığınızdan ve 2WinScada sunucusunun bu adrese erişebildiğinden emin olun. |
| Değişkenleri içe aktar hata veriyor | Kanalın çalıştığını ve sunucuya bağlı olduğunu kontrol edin. |
| Tag kalitesi Bad | Adres değerindeki ad alanı indeksini ve tanımlayıcıyı, düğümün sunucuda bulunduğunu ve kullanıcının okuma yetkisini kontrol edin. |
| Değerler geç güncelleniyor | Tag'in Güncelleme Süresi[s] ve cihazın Yayınlama Sıklığı [ms] değerlerini düşürün. |
| Yazma çalışmıyor | Sadece Okuma seçimini, düğümün yazılabilir olduğunu ve kullanıcının yazma yetkisini kontrol edin. |
| Veri akışı duruyor | Cihazdaki Subscription yeniden başlatmak için boşta kalma süresi [s] ve kanaldaki Session yeniden başlatmak için boşta kalma süresi [s] değerlerini, tag değerlerinin değişme sıklığından büyük olacak şekilde ayarlayın. |