AnasayfaBlog › Etiket Baskısı için MQTT

Etiket Baskısı için MQTT — IIoT, SCADA ve MES Entegrasyonu

Her tesis ağında bir MQTT broker'ı vardır. Belki rafta Linux sunucusunda Mosquitto, belki özel donanımda HiveMQ Enterprise, belki AWS IoT Core veya HiveMQ Cloud gibi yönetilen bir broker. Broker, kattaki her IIoT, SCADA ve MES entegrasyonunun omurgasıdır. OPC-UA ağ geçidi oraya yayımlar. Motor sürücüleri oraya yayımlar. Andon HMI'ler abone olur. MES, plant/line-3/cmd/*'a geri yazar.

Broker omurga ise, etiket yazıcısının üzerinde olması gerekir. LabelInn Edge Server broker'ınıza baskı işi olaylarını ve yazıcı telemetrisini yayımlar ve herhangi bir MES, SCADA veya ERP'nin REST veya gRPC yüzeylerimize dokunmadan bir etiket tetiklemesine izin veren küçük bir komut konuları setine abone olur. Saf pub-sub. Standart QoS. TLS. Zaten çalıştırdığınız aynı broker.

Konu kataloğu

Yapılandırılabilir bir önek altında (varsayılan labelinn/) edge düğümü bu konuları kullanır:

Giden — abone olduğunuz olaylar

Gelen — edge düğümünün dinlediği komutlar

QoS seçimi — gerçekten önemli olan üç değişim

MQTT QoS düzeyleri (0, 1, 2) teslimat garantilerini broker yüküyle değiş tokuş eder. Konu sınıfı başına önerdiğimiz varsayılanlar:

Konu sınıfıÖnerilen QoSNeden
Yazıcı kaynak / telemetri0 (en fazla bir kez)Sonraki okuma onun yerini alır. Bir güncellemeyi kaybetmek tamam.
İş gönderildi / tamamlandı / başarısız1 (en az bir kez)Tüketicide idempotent (iş kimliğine göre tekilleştir). Bir kopya ucuz; bir olayı kaçırmak pahalı.
Uyumluluk-kritik: verify/passed, verify/failed2 (tam olarak bir kez)Kalite sistemi bunu bir ve yalnızca bir kez kaydetmelidir. Broker gidiş-dönüşlerine değer.
Gelen komutlar cmd/print1 (en az bir kez)Edge düğümü yükteki idempotency anahtarına göre tekilleştirir.

İki çalışan örnek

SCADA paneli printer/error'a abone olur

Tesis altı paketleme hattına sahip, her birinde bir termal yazıcı. SCADA HMI (bu örnekte Ignition Perspective) hat başına canlı bir döşeme görüntüler: yazıcı çevrimiçi ve sağlıklıyken yeşil, yumuşak bir uyarıda kehribar (düşük şerit, düşük etiketler), sert bir hatada kırmızı (kafa açık, medya yok). Her döşeme, Ignition MQTT Engine modülü aracılığıyla labelinn/printer/error/line-N'ye ve labelinn/printer/supply/line-N'ye abone olur. Döşeme rengi en son yükteki önem düzeyi alanının bir etiket bağıdır. Hat 3'teki operatör, şerit %15'in altına düştüğünde göstergenin kehribar olduğunu görür ve bir sonraki palet değişimi sırasında değiştirir, bir sonraki sıkışmada değil.

MES cmd/print'e yayımlar

MES, "hat 5'in birincil yazıcısında 240 birim düzeyinde UDI etiketi yazdır" diyen bir iş emri adımı yürütür. MES, tasarım kimliğini, veri kaynağını (serileştirme havuzundan 240 seri numarası listesi), hedef yazıcı kimliğini ve iş-emri-adım-kimliğinden türetilen bir idempotency anahtarını içeren tek bir yükü labelinn/cmd/print'e yayımlar. Edge düğümü alır, doğrular, kuyruğa alır, basar ve geri 240 job_completed olayı yayımlar. MES abone olur ve iş emrine karşı karşılaştırır. İş-emri adımı, MES kendi idempotency anahtarıyla etiketli 240 tamamlamayı saydığında kapanır. Gelen komutun yeniden yayımlanmasına neden olan bir ağ aksaklığı 480 etiket üretmez: idempotency anahtarı edge düğümünde tekilleştirilir.

TLS, kimlik doğrulama, broker taşınabilirliği

TLS çalıştıran broker'lar için edge düğümü müşterinin CA zincirine güvenir ve LabelInn konu önekine kapsamlı bir istemci sertifikası veya kullanıcı adı/şifre çifti ile kimlik doğrulaması yapar. Bağlantı parametreleri (broker ana bilgisayarı, port, istemci kimliği, last-will konusu, keepalive) kiracı başına yapılandırılır. Aynı edge düğümü, bir yeniden yükleme olmadan bir yapılandırma push'undan sonra farklı bir broker'a bağlanabilir — şirket içi Mosquitto'dan yönetilen bir HiveMQ örneğine geçiş sırasında kullanışlıdır.

Konu öneki yapılandırılabilirdir, böylece aynı broker üzerindeki birden fazla LabelInn dağıtımı (çok-kiracılı broker'lar, paylaşılan müşteri ortamları) çakışmaz. Her kiracının olayları kendi öneki altında yaşar; broker'ın ACL listesi izolasyonu uygular.

Bu size ne tasarruf eder

Tesisinizin zaten bir MQTT broker'ı varsa, etiket baskısını entegre etmek broker tarafında bir yapılandırma egzersizi ve tüketici tarafında bir konu aboneliğidir. Güvenlik incelemenize tanıtılacak yeni bir taşıma yok. IdP'nize eklenecek yeni bir kimlik doğrulama şeması yok. Yeni bir port için yeni bir güvenlik duvarı kuralı yok — edge düğümü, tesisteki diğer her yayıncının yaptığı şekilde broker'a giden bir TCP bağlantısı kurar.

Entegrasyon, "bir REST entegrasyonu belirt, bir polling döngüsü yaz, kimlik doğrulamayı hata ayıkla, güvenlikten onay al"dan "mevcut MQTT istemcinizde labelinn/print/job_completed'a abone ol ve bitirdiniz"e gider.

Etiket Baskısını Zaten Çalıştırdığınız Veriyoluna Yerleştirin

✓ Standart MQTT konuları, yapılandırılabilir önek ✓ QoS 0/1/2, TLS, sizin broker'ınız ✓ Idempotent gelen komutlar

Tam konu kataloğunu ve tesisinizin segmentasyonuna ayarlanmış örnek broker yapılandırmasını (Mosquitto, HiveMQ, AWS IoT Core) isteyin.

Konu kataloğunu isteyin →