OPC UA sunucu
OPC UA sunucu sürücüsü projenin sinyallerini diğer sistemlere, örneğin bir MES'e, bir tarihçe sistemine ya da üst düzey bir SCADA'ya yayınlar. Bu sistemler YTCC'ye OPC UA istemcisi olarak bağlanır. Tüm sürücülerin ortak yanları için bkz. Sürücüler nasıl çalışır.
Protokol ve rol
| Rol | OPC UA sunucusu. Diğer sistemler YTCC'ye bağlanır. |
| Uç nokta | opc.tcp://<sunucu>:<port><uç nokta yolu>, varsayılan opc.tcp://<sunucu>:4840/scada |
| Dinlediği yer | Sunucunun tüm ağ arayüzleri |
| Cihazlar | Yok. Sunucu cihazı olmayan bir sürücüdür. |
| Sürücü tipi | Opc ua server (opc_ua_server) |
Farklı portlar kullanırlarsa bir makinede birden çok OPC UA sunucusu çalışabilir.
Parametreler
Bunları Drivers → devices görünümünde sürücü üzerinde ayarlayın. Değişiklikler ancak sürücü yeniden başlayınca geçerli olur: Apply requires a restart gösterir ve bir şerit sürücü için Restart sunar. Her parametrenin yanındaki yardım işareti kısa bir açıklama gösterir.
| Parametre | Yeni sunucuda varsayılan | Anlamı |
|---|---|---|
| Port | 4840 | TCP portu, 1–65535. |
| Endpoint path (Uç nokta yolu) | /scada | Uç nokta adresinin yol kısmı. |
| Namespace uri (Ad alanı URI'si) | urn:ytcc:scada | YTCC düğümlerinin ad alanı. |
| Security policies (Güvenlik politikaları) | ["Basic256Sha256"] | Her öğe bir uç nokta açar: None (imza ve şifreleme yok) ve Basic256Sha256 (imza ve şifreleme). |
| Allow anonymous (Anonime izin ver) | kapalı | İstemcilerin kullanıcısız bağlanmasına izin verir. |
| Users (Kullanıcılar) | rastgele parolalı bir ytcc kullanıcısı | İstemciler için kullanıcı adları ve parolalar, JSON listesi olarak. |
| Trust client certs (İstemci sertifikalarına güven) | kapalı | Her istemci sertifikasına denetlemeden güvenir. |
| Allow writes (Yazmaya izin ver) | kapalı | Kapalı tutun. Bkz. Yazma. |
Editörde oluşturulan bir sunucu Allow anonymous ve Trust client certs kapalı başlar; kapalı bırakın.
Uygulama adı YTCC OPC-UA Server'dır.
Güvenlik
- Politikalar. Üretimde yalnız
Basic256Sha256'yı bırakın.Noneile veri ve parolalar korumasız gider. - Kullanıcılar. Her istemci sisteme kendi kullanıcısını ve parolasını verin. Parolalar sürücü ayarlarında metin olarak saklanır; konfigürasyonu kimin düzenleyebileceğini sınırlayın.
- Sertifikalar. Sunucu ilk başladığında kendi imzalı sertifikasını oluşturur. İstemci sertifikaları sunucunun
güvenilenler klasörüyle (
pki-opcua-server/trusted) denetlenir; tanınmayan bir istemcinin sertifikasıpki-opcua-server/rejectediçine konur. Denetledikten sonratrusted'a taşıyın. İstemcinin de sunucu sertifikasına güvenmesi gerekir. - Ağ. Sunucu her ağ arayüzünü dinler. 4840 numaralı portu (ya da sizin portunuzu) sunucunun güvenlik duvarıyla yalnız gereken sistemlere açın.
Adres uzayı
- Projenin her etkin sinyali yayınlanır. Bir sinyali gizlemek için etkin olmayan yapın.
- Tüm düğümler alt klasör olmadan doğrudan Objects klasörünün altındadır.
- Düğüm kimliği Namespace uri'nin ad alanı ve sinyalin tam yoludur, örneğin
ns=2;s=Station.OutletFlow. Gezinme adı ve görünen ad da tam yoldur. Ad alanı dizini sunucu başlarken atanır; istemciler onu ad alanı URI'sinden çözmelidir. - Her sinyalin yalnız ana değeri, durum kodu ve bir zaman damgasıyla yayınlanır.
- Başlangıçtan sonra eklenen, kaldırılan ya da etkisizleştirilen sinyaller sürücü yeniden başlayınca görünür.
Veri tipleri
| Sinyal tipi | OPC UA tipi |
|---|---|
| Bit | Boolean |
| Int16, UInt16 | Int16, UInt16 |
| Int32, UInt32 | Int32, UInt32 |
| Int64, UInt64 | Int64, UInt64 |
| Float32 | Float |
| Float64 | Double |
| Text | String |
| Time | DateTime |
| diğer | BaseDataType |
İlk canlı değer gelene kadar düğümün değeri yoktur.
Durum kodları ve zaman damgaları
| YTCC'deki kalite | Durum kodu |
|---|---|
| Good | Good |
| Uncertain | Uncertain |
| Bad · Not connected | BadNotConnected |
| diğer | Bad |
Bir değerin zaman damgası, sunucunun onu YTCC'den aldığı andır, cihaz zamanı değildir.
Değerler değiştikçe abone istemcilere gönderilir. Bir istemci çok yavaşsa güncellemeler düşebilir.
Yazma
OPC UA istemcileri YTCC sinyallerini okur. Allow writes'ı kapalı tutun: her yazma o zaman BadUserAccessDenied ile reddedilir. Açıkken sürücü günlüğü uyarır.
Tanılama
Sunucunun durumu sürücü günlüğündedir: başlangıçtaki düğüm sayısı, port ve ad alanı, güvenilen sertifikalar ve yazma hakkındaki uyarılar. Sunucu başlayamazsa sürücü bir hatayla durur ve süreç yöneticisi onu yeniden başlatır.
| İstemcinin gördüğü | Olası neden |
|---|---|
| Bağlanamıyor | Güvenlik duvarı; yanlış port ya da uç nokta yolu; sürücü çalışmıyor |
| Güvenli bağlantı reddediliyor | İstemci sertifikası rejected içinde ya da istemci sunucu sertifikasına güvenmiyor |
| Kullanıcı reddediliyor | Yanlış kullanıcı ya da parola; anonim erişim kapalı |
| Düğüm bulunamıyor | Yanlış ad alanı dizini ya da yol; sinyal etkin değil ya da başlangıçtan sonra eklendi |
| Değer boş | O sinyal için henüz canlı değer gelmedi |
| Yazma BadUserAccessDenied ile reddediliyor | Allow writes kapalı, önerildiği gibi |
Desteklenen servisler
| Servis | Destek |
|---|---|
| Keşif (GetEndpoints) | Evet |
| Anonim ya da kullanıcı adı kimliğiyle oturum | Evet |
| Read | Evet |
| Abonelikler ve izlenen öğeler (değer değişimi) | Evet |
| Browse ve TranslateBrowsePaths | Evet, düz adres uzayı |