Genel bilgi
Cihazlar, ağ geçitleri ve IoT sistemleri veriyi genellikle MQTT ile paylaşır. Sürücü her konuya bir kez abone olur ve konuya gelen son yayın o tag’in değeri olur. OPC UA sürücüsü okuma döngüsüyle yoklar, MQTT sürücüsü ise abonelik temellidir.
Sunucu tarafında yapılacaklar
-
Erişimi sağlayın
MQTT sunucusu Live bilgisayarından erişilebilir olmalıdır. Varsayılan port 1883’tür, TLS ile genellikle 8883 kullanılır.
-
Kullanıcıyı tanımlayın
Kimlik doğrulama kullanılacaksa sunucuda kullanıcı tanımlı olmalı ve kullanıcının okuma / yazma izni bulunmalıdır. İzin yoksa sunucu aboneliği reddeder.
-
Konuları ve yük biçimini öğrenin
Cihazların yayınladığı konu adlarını ve yük (payload) biçimini bilin: düz değer ya da JSON.
Studio’da bağlantı kurma
-
Bağlantı ekleyin
Bağlantılar bölümünde Ekle’ye tıklayın ve Haberleşme sürücüsü olarak MQTT’yi seçin. Sunucunun adresini yazın; port 1883 olarak gelir. TLS kullanacaksanız portu 8883 yapın ya da adresi
mqtts://sunucu:8883biçiminde yapıştırın; güvenlik TLS’e geçer. -
Parametreleri girin
Denetçi’de aşağıdaki alanları doldurun. Hedef kartı
mqtt://ya damqtts://adresini gösterir. -
Tag ekleyin
HMI Tag’leri bölümünde tag’ler oluşturup Adres hücresine konu adını yazın. Ayrıntı için HMI tag’leri sayfasına bakın.
| Alan | Anlamı |
|---|---|
| Güvenlik | Yok (şifrelenmemiş), TLS (sunucu sertifikası doğrulanır) ya da TLS (sertifika doğrulanmaz). TLS 1.2 kullanılır. |
| Kimlik doğrulama | Anonim ya da Kullanıcı adı ve şifre. |
| Kullanıcı adı | Şifre proje dosyasına yazılmaz; Live’da girilir. |
| İstemci kimliği | Boşsa fv- ile başlayan bir kimlik bilgisayar ve bağlantı adından üretilir. Aynı kimlikle bağlanan iki istemciden eskisi sunucu tarafından atılır.
|
| Abonelik kalitesi (QoS) | QoS 0 en çok bir kez (varsayılan) ya da QoS 1 en az bir kez. |
| Yazma kalitesi (QoS) | QoS 0 yanıt beklenmez ya da QoS 1 sunucunun onayı beklenir (varsayılan). |
| Yazılanı sunucuda tut (retain) | Açıksa yazılan mesaj sunucuda saklanır ve sonradan abone olanlara hemen gönderilir. Varsayılan kapalıdır. |
| Bool yazma biçimi | true / false (varsayılan), 1 / 0 ya da ON / OFF. |
| Canlı tutma süresi (sn) | 0 – 3600, varsayılan 30. Sessiz kalan bağlantıda bu aralıkla sunucuya ping gider; bu sürenin 1,5 katı boyunca hiçbir şey gelmezse bağlantı kopmuş sayılır. 0 kapalıdır. |
Adres biçimi
fabrika/hat1/sicaklik // Yükün tamamı tag’in değeri (sayı, true / false, on / off, metin, ISO tarih) hat1/durum#motor.hiz // Yük JSON belgesi; tag belgenin içindeki değer (# konuyla JSON yolunu ayırır) hat1/olcumler#deger[2] // JSON dizisinin elemanı (sıra 0’dan başlar) cihaz/role/durum|cihaz/role/komut // Okuma ve yazma ayrı konularda (| ile ayrılır)
- Konu joker karakter (
+,#) içermez; tag tek bir konunun değeridir. Konu ve JSON yolu büyük / küçük harfe duyarlıdır. Yazma konusu$ile başlayamaz. - JSON yolu nokta ile ayrılmış alan adları ve dizi sıralarıdır (
motor.hiz,dizi[0].alan). Başındaki$.isteğe bağlıdır; yol en çok 16 adım olabilir.
Veri tipleri
- Bool
- Byte
- SInt
- Int
- UInt
- DInt
- UDInt
- Real
- LReal
- String
- DateTime
- Yük UTF-8 metindir; 1 MB’tan büyük yük okunmaz. WString desteklenmez.
- Bool için true / false / 1 / 0 / on / off / yes / no okunur.
- DateTime için ISO 8601 ya da unix saniye / milisaniye kabul edilir.
- Tag tipine sığmayan değer kırpılmaz, tag hata alır.
Okuma ve yazma davranışı
- Okuma: sunucu tutulan (retained) mesajı aboneliğe hemen gönderir. Henüz yayın gelmemiş konunun tag’i hata vermez; değer gelene kadar bekler ve kalitesiz görünür.
- Yazma: değer tag’in yazma konusuna yayınlanır. Okuma konusuyla aynıysa değer, sunucudan dönmesi beklenmeden tag’e de işlenir. Bağlantı kopmuşsa yazma reddedilir.
- JSON alanı yazma: konuya son gelen belgenin yalnızca ilgili alanı değişir, diğer alanlar korunur.
- Bağlantı kopunca sürücü 1 sn, 2 sn, 5 sn sonra, ardından 10 sn’de bir yeniden dener. Ortak davranış için haberleşme sürücüleri sayfasına bakın.
TLS, şifre ve sınırlar
- TLS (sunucu sertifikası doğrulanır) için sertifikanın Windows’un güvendiği bir otorite tarafından imzalı olması ve adresin sertifikadaki adla aynı olması gerekir. Kendinden imzalı sertifikayı Windows’a güvenilen olarak ekleyin; adrese IP yerine sertifikadaki adı yazın.
- TLS (sertifika doğrulanmaz) sunucunun kimliğini denetlemez; ortadaki saldırgan trafiği okuyabilir. Yalnızca kapalı ağlarda kullanın.
- Şifre Live’da sistem menüsünde Bağlantılar altındaki Şifre gir düğmesiyle girilir; bunun için Ayarlar yetkisi gerekir. Şifre Live bilgisayarında
baglanti_sifreleri.jsondosyasında şifrelenmeden saklanır; proje veri klasörünü yalnızca Live’ı çalıştıran hesaba açın. - MQTT 5, istemci sertifikasıyla kimlik doğrulama ve konu jokerleriyle toplu abonelik yoktur.
Sık görülen hatalar
Bağlantı iletileri Live’da sistem menüsünün Bağlantılar bölümünde görünür. Okuma sırasındaki tag hatalarında ileti gösterilmez; tag yalnızca kalitesiz olur.
| İleti | Neden ve çözüm |
|---|---|
| MQTT sunucusu 2000 ms içinde yanıt vermedi | Sunucuya ulaşılamıyor. Adresi, portu ve ağ bağlantısını kontrol edin. |
| MQTT sunucusu kullanıcı adını ya da şifreyi reddetti | Kullanıcı ya da şifre yanlış, şifre Live’da girilmemiş olabilir. |
| MQTT sunucusu istemci kimliğini reddetti | Kimlik geçersiz ya da başka bir istemci aynı kimlikle bağlı. İstemci kimliği alanını değiştirin. |
| MQTT sunucusu bu konuya aboneliği reddetti | Kullanıcının o konuyu okuma izni yok. |
| Sunucu sertifikasına bu bilgisayar güvenmiyor | Sertifika kendinden imzalı ya da otorite bilinmiyor. Sertifikayı Windows’a güvenilen olarak ekleyin. |
| Sunucu sertifikasının adı … ile uyuşmuyor | Adrese IP yerine sertifikadaki bilgisayar adını yazın. |
| … Bool olarak okunamıyor · … bir sayı değil; Int olarak okunamıyor | Yükün biçimi tag tipine uymuyor. |
| Yük geçerli bir JSON belgesi değil · JSON yolu … yükte bulunamadı | Adreste # ve bir yol yazdıysanız yük JSON olmalıdır. Yol belgede yoksa alan adını denetleyin.
|
Sık sorulanlar
Bir JSON alanını nasıl okurum?
Konu adının ardına # ve alan yolunu yazın: hat1/durum#motor.hiz. Alana yazarken yalnızca o alan değişir, belgenin diğer alanları korunur.
İlgili sayfalar
Bağlantılar
Bağlantılar tablosu, sürücü seçimi, bağlantı sınama, tanılama, yeniden bağlanma ve şifrelerin saklanması.
StudioHMI tag’leri
Harici ve dahili tag’ler, ölçekleme, kalite, yapılar (UDT) ve Excel ile toplu aktarım.
HaberleşmeOPC UA
OPC UA sunucusuna istemci olarak bağlanır; sembolik adres, imzalı ve şifreli iletişim.
HaberleşmeSimülatör
PLC’siz deneme, sunum ve eğitim için sinyal üreten yerleşik sürücü.