Ana içeriğe geç

OPC UA istemci

OPC UA istemci sürücüsü OPC UA sunucularının değerlerini okur ve yazar: OPC UA sunuculu PLC'ler, ağ geçitleri, diğer SCADA ve MES sistemleri. Tüm sürücülerin ortak yanları için bkz. Sürücüler nasıl çalışır.

Protokol ve rol​

Rolİstemci. OPC UA sunucularına YTCC bağlanır.
TaşımaOPC UA ikili (opc.tcp://)
Varsayılan port4840 (uç nokta adresinin parçası)
Sürücü başına cihazSınırsız; her sunucunun kendi oturumu ve aboneliği vardır.
Sürücü tipiOPC UA (opc_ua)

Cihaz parametreleri​

Bunları Drivers → devices görünümünde cihaz üzerinde ayarlayın (bkz. Sürücü ve cihaz ekleme). Boş kutu, içinde gösterilen varsayılanı kullanır. Her parametrenin yanındaki yardım işareti kısa bir açıklama gösterir.

Device key, Name, Description, Auth, Endpoint URL, Message security mode, Password, Publishing interval (ms), Reconnect, Security policy ve Session timeout (ms) ile bir OPC UA cihazının New device formu.

ParametreVarsayılanAnlamı
Endpoint URL (Uç nokta adresi)— (zorunlu)Sunucunun adresi, örneğin opc.tcp://192.168.10.50:4840.
Security policy (Güvenlik politikası)NoneNone, Basic256Sha256, Aes128Sha256RsaOaep ya da Aes256Sha256RsaPss.
Message security mode (İleti güvenlik kipi)NoneNone, Sign ya da SignAndEncrypt.
Auth (Kimlik)AnonymousAnonymous (anonim) ya da Username (kullanıcı adı).
Username, Password—Username kimliği için kullanıcı.
Publishing interval (ms) (Yayın aralığı)500Sunucunun abonelik değişikliklerini ne sıklıkla gönderdiği.
Session timeout (ms) (Oturum zaman aşımı)60000Sunucudan istenen oturum zaman aşımı.
Reconnect (Yeniden bağlan)açıkAçık bırakın. Kopan oturum kendiliğinden yeniden açılır; bkz. Yeniden bağlanma.
Set invalid on disconnect (Kopuşta geçersiz yap)açıkOlduğu gibi bırakın. Bağlantı kopunca ne olduğu Yeniden bağlanma bölümündedir.
Trust server certs (Sunucu sertifikalarına güven)yeni cihazda kapalıHer sunucu sertifikasına denetlemeden güvenir.

Güvenlik politikası ve kipi sunucunun sunduğu bir uç noktayla eşleşmelidir, yoksa bağlantı kurulamaz. Publishing interval (ms) değişikliği yalnız aboneliği yeniden kurar; diğer parametrelerin değişmesi o sunucuyu yeniden bağlar. Geçersiz bir cihaz başlamaz ve nedenini gösterir; sürücünün diğer sunucuları çalışmaya devam eder.

Sertifikalar ve kullanıcılar​

  • İstemci sertifikası. Sürücü ilk başladığında kendi uygulama sertifikasını (YTCC OPC-UA Client) oluşturur. Güvenli bağlantı için sunucu ona güvenmelidir: ilk denemeden sonra genellikle sunucunun reddedilenler listesindedir; güvenilenler listesine taşıyın.
  • Sunucu sertifikası. Trust server certs kapalıyken sunucu sertifikası sürücünün güvenilenler klasöründe olmalıdır; tanınmayan bir sunucunun sertifikası reddedilenler klasörüne konur. Denetledikten sonra güvenilenler klasörüne taşıyın. Security policy None iken sertifika kullanılmaz.
  • Kullanıcı. Username ile kullanıcıyı sunucuda oluşturun; düğümlerde okuma, YTCC'nin yazdığı düğümlerde yazma hakkı verin. Parola cihaz ayarlarında metin olarak saklanır; konfigürasyonu kimin düzenleyebileceğini sınırlayın.

Sinyal adresi​

Adresi sinyalin Value source (Değer kaynağı) sekmesinde, Address — OPC UA altında ayarlayın:

AlanAnlamı
Namespace (ad alanı)Ad alanı dizini, örneğin 2.
Id type (kimlik tipi)s (metin) ya da i (sayısal).
Identifier (tanımlayıcı)Tanımlayıcı, örneğin Pump4.Current ya da 2258.
Queue size (kuyruk boyu)Sunucunun iki yayın arasında tuttuğu değer sayısı (varsayılan 1: yalnız sonuncusu).
Deadband (abs) (ölü bant, mutlak)Sunucunun yeni değer göndermeden önce görmesi gereken değişim, düğümün biriminde.

Sinyalin Scan class'ı sunucunun örnekleme aralığıdır. İçe aktarma dosyalarında düğüm kimliğini ns=2;s=Pump4.Current ya da ns=0;i=2258 olarak yazın (bkz. Excel ya da CSV ile içe ve dışa aktarma). Noktalı virgülle ayrılmış bir CSV dosyasında adresi çift tırnak içine alın, örneğin "ns=2;s=Pump4.Current".

Düğüm kimliklerini sunucunun belgesinden ya da bir OPC UA tarayıcı aracından kopyalayın.

Okuma​

Sürücü tarama değil abonelik kullanır. Her sinyal, tarama sınıfının örnekleme aralığı (varsayılan 1 sn), kuyruk boyu ve ölü bandıyla izlenen bir öğedir. Sunucu değişiklikleri cihazın Publishing interval (ms) aralığında gönderir. Sunucunun reddettiği bir düğüm, örneğin olmadığı için, Bad olur; diğerleri normal okunur.

Veri tipleri​

OPC UA tipiYTCC'deki değer
BooleanAçık ya da kapalı
SByte, Int16Int16
Byte, UInt16UInt16
Int32, UInt32, Int64, UInt64aynı
FloatFloat32
DoubleFloat64
StringMetin

Sinyalleri bu tablodaki tiplerde düğümlere bağlayın.

Yazma​

Access'i Read / Write ya da Write only olan bir sinyal yazılabilir. Değer düğümün Value özniteliğine sinyalin tipiyle yazılır; bu yüzden sinyalin veri tipi düğümün tipiyle aynı olmalıdır, yoksa sunucu BadTypeMismatch döndürür.

Sunucu durumuGösterilen
BadNotWritable, BadWriteNotSupportedSignal is not writable
BadTypeMismatchValue type not suitable
BadOutOfRangeValue out of range
BadUserAccessDeniedDevice does not allow writing
BadNodeIdUnknownSignal not found
BadNotConnectedNo device communication
BadTimeout, BadRequestTimeout, BadConnectionClosedNo response from device
diğerDevice returned an error

Sürücü sunucuya bağlı değilken gönderilen komut No device communication ile reddedilir.

Sinyal yazdıktan sonra geri okumaya ayarlıysa sürücü başarılı yazmanın hemen ardından düğümü yeniden okur.

Durum kodları ve zaman damgaları​

OPC UA durumuYTCC'deki kalite
GoodGood
UncertainUncertain
BadNotConnectedBad · Not connected
diğer Bad ya da durum yokBad

Değerin zamanı sunucunun SourceTimestamp'idir (zaman kaynağı device); sunucu zaman damgası kullanılmaz. Kaynak zaman damgası yoksa ya da geliş zamanından 5 dakikadan fazla ileri ya da 7 günden fazla geriyse geliş zamanı kullanılır.

Yeniden bağlanma​

İlk bağlantı kurulamazsa sürücü 1 saniye sonra yeniden dener ve bekleyişi 30 saniyeye kadar ikiye katlar. Açık bir oturum koparsa kendiliğinden yeniden açılır ve abonelik yeniden kurulur. Bağlantı kopunca cihaz not connected gösterir ve haberleşme alarmı gelir; sinyaller son değerlerini korur.

Tanılama​

Value source sekmesindeki Read now düğümü açık oturum üzerinden bir kez okur:

MetinAnlamı
Bir değerSunucu cevap verdi
OPC UA BadNodeIdUnknown — ns=2;s=…Düğüm sunucuda yok
OPC UA value type not supported — …Düğümün tipi Veri tipleri tablosunda yok
Not connected — … ; … was not readSunucuyla oturum yok
Invalid node id '…'Adres çözümlenemiyor
BelirtiOlası neden
Cihaz hiç bağlanmıyorYanlış uç nokta adresi; seçilen politika ve kipte uç nokta yok; güvenlik duvarı
Güvenli bağlantı reddediliyorSunucu YTCC sertifikasına güvenmiyor ya da YTCC sunucu sertifikasına güvenmiyor
Kullanıcı reddediliyorYanlış kullanıcı ya da parola, ya da sunucu kullanıcı adıyla girişe izin vermiyor
Bir sinyal BadDüğüm yok ya da kullanıcının okuma hakkı yok
Bir sinyal hiç değişmiyorDeğer değişmiyor ya da Deadband (abs) çok büyük
Düğümün değeri olduğu hâlde sinyal 0 gösteriyorDüğüm tipi Veri tipleri tablosunda yok

Desteklenen servisler​

ServisDestek
Güvenli kanal ve oturum (dört politika, üç kip)Evet
Anonim ve kullanıcı adı kimliğiEvet
ReadEvet (Read now, geri okuma)
Write (Value özniteliği)Evet
Abonelikler ve izlenen öğeler, mutlak ölü bantEvet