İçeriğe geç

Sözlük · Protokol

Sparkplug B nedir?

Sparkplug B, MQTT üzerinde endüstriyel veri taşımak için topic yapısını, protobuf tabanlı mesaj formatını ve cihazların çevrimiçi/çevrimdışı durumunun nasıl bildirileceğini tanımlayan açık bir spesifikasyondur.

VOLSOFT mühendislik ekibi ·

Sparkplug B, MQTT protokolü üzerinde endüstriyel veri alışverişini standartlaştıran açık bir spesifikasyondur. MQTT yalnızca mesajların nasıl taşınacağını tanımlar; topic isimlerini ve mesaj içeriğini kullanıcıya bırakır. Sparkplug B bu boşluğu doldurur: sabit bir topic yapısı, protobuf tabanlı bir yük formatı ve cihaz durumunun nasıl izleneceğini belirler.

Sparkplug B ne işe yarar?

Düz MQTT kullanan iki farklı üreticinin cihazları aynı broker’a bağlansa bile verileri farklı topic yapıları ve farklı JSON formatlarıyla gönderebilir. Bu durumda her entegrasyon ayrı bir eşleştirme gerektirir. Sparkplug B ile SCADA, historian ve diğer uygulamalar, spesifikasyona uyan her cihazın verisini ek tanım yapmadan anlayabilir. Ayrıca bir cihazın bağlantısı koptuğunda bunu güvenilir şekilde fark etmeyi sağlar.

Nasıl çalışır?

Topic yapısı şu şekildedir:

spBv1.0/grup_id/mesaj_tipi/edge_node_id/device_id

Mesaj tipleri şunlardır:

Mesaj tipiAnlamı
NBIRTH / NDEATHEdge node’un çevrimiçi olması / bağlantısının kopması
DBIRTH / DDEATHEdge node’a bağlı cihazın çevrimiçi / çevrimdışı olması
NDATA / DDATANode veya cihazdan gelen değer değişimleri
NCMD / DCMDUygulamadan node veya cihaza gönderilen komutlar
STATEAna uygulamanın (host application) çevrimiçi durumu

Birth sertifikası: Edge node bağlandığında, yayınlayacağı tüm metrikleri adları, veri tipleri ve ilk değerleriyle birlikte NBIRTH ve DBIRTH mesajlarında bildirir. Sonraki DDATA mesajlarında yalnızca değişen değerler gönderilir. Metrikler birth mesajında bir alias numarasıyla eşleştirilebilir; böylece sonraki mesajlarda uzun isimler tekrar taşınmaz.

Death sertifikası: NDEATH mesajı, edge node bağlanırken MQTT’nin Last Will and Testament özelliğiyle broker’a bırakılır. Bağlantı beklenmedik şekilde koparsa broker bu mesajı yayınlar ve aboneler ilgili verinin artık güncel olmadığını anlar.

STATE: Ana uygulama kendi çevrimiçi durumunu yayınlar. Edge node’lar ana uygulama çevrimdışıyken veriyi tamponlayabilir.

Sıra numarası: Mesajlarda 0–255 arasında dönen bir sıra numarası bulunur; atlanan mesajlar bu sayede fark edilir.

QoS ve retained kullanımı: Spesifikasyon, NDATA ve DDATA mesajlarının QoS 0 ile ve retained olmadan gönderilmesini öngörür. Güncel durumun bilinmesi retained mesajlarla değil, birth mesajları ve sonraki değişimlerle sağlanır. Bu, retained mesajlara dayanan düz MQTT tasarımlarından önemli bir farktır.

Sparkplug B ve düz MQTT farkı

Düz MQTTSparkplug B
Topic yapısıSerbestspBv1.0/... ile sabit
Yük formatıSerbest (çoğunlukla JSON)Protobuf
Cihaz durumuUygulamaya bırakılırBirth/death mesajlarıyla tanımlı
Veri modeli keşfiYokBirth mesajında tüm metrikler bildirilir
OkunabilirlikJSON ise insan tarafından okunabilirİkili, çözücü gerekir

Pratikte nelere dikkat edilmeli?

  • Sparkplug B’nin topic yapısı ISA-95 hiyerarşisini doğrudan taşımaz; grup ve edge node isimleri iyi planlanmalıdır. Bazı UNS projelerinde Sparkplug B ile düz MQTT birlikte kullanılır.
  • Broker’ın Last Will ve retained mesajları doğru desteklediği doğrulanmalıdır.
  • Hata ayıklama için Sparkplug B yükünü çözebilen bir MQTT istemcisi hazır bulundurulmalıdır.

VOLSOFT, Sparkplug B dahil MQTT entegrasyonlarını Proxus platformu üzerinde kurar.

Sıkça sorulan sorular

Merak edilenler

Sparkplug B mesajları neden okunamıyor?

Sparkplug B yükleri JSON değil, Google Protocol Buffers ile kodlanmış ikili veridir. Okumak için Sparkplug B'yi çözebilen bir istemci veya kütüphane gerekir.

Sparkplug B'yi kim yönetiyor?

Spesifikasyon Eclipse Foundation bünyesindeki Eclipse Sparkplug projesi tarafından yönetilir. 3.0 sürümü ISO/IEC 20237 olarak uluslararası standart haline gelmiştir.

Sonraki adım

Üretim verilerinizi nasıl değerlendirebileceğimizi konuşalım.

Tesisinizi, makinelerinizi ve hedefinizi anlatın. Entegrasyon mühendislerimizle görüşerek projenizin kapsamını birlikte belirleyin.

Ödüller ve referanslar

Endüstriyel yazılım deneyimimiz, referanslarımız ve ödüllerimiz

Referanslarımızı inceleyin →