औद्योगिक उपकरणों के लिए MQTT अलार्म मॉनिटरिंग

पारंपरिक अलार्म मॉनिटरिंग SCADA नेटवर्क के अंदर क़ैद रहती है। MQTT यह दीवार तोड़ता है — अलार्म state में हर बदलाव किसी भी subscriber तक, कहीं भी, मिलीसेकंड में पहुँचाता है।

MQTT Sparkplug B OPC-UA इंडस्ट्रियल IoT रियल-टाइम अलर्ट एज कंप्यूटिंग

Polling-आधारित अलार्म सिस्टम की समस्या

ज़्यादातर औद्योगिक अलार्म मॉनिटरिंग सिस्टम polling से काम करते हैं। SCADA सर्वर या HMI तय अंतराल पर PLC tags पढ़ता है — आमतौर पर हर 500ms से 5 सेकंड में — अलार्म conditions जाँचता है और हर बदलाव लॉग करता है। एक अकेले कंट्रोल नेटवर्क की सीमा में यह तरीका दशकों से चलता आया है, लेकिन इसकी कुछ बुनियादी सीमाएँ हैं।

Polling में latency कभी भी poll interval से कम नहीं हो सकती। अगर आप हर 2 सेकंड में poll करते हैं, तो उस बीच active होकर clear हो जाने वाला अलार्म छूट सकता है। इससे भी अहम बात: polling कई प्लांट्स में अच्छी तरह scale नहीं होती। अगर आप 3 इमारतों की 50 मशीनों के लिए एक केंद्रीय मॉनिटरिंग सिस्टम चाहते हैं, तो SCADA सर्वर को हर मशीन के लिए स्थायी कनेक्शन और poll cycles बनाए रखने होंगे — कॉन्फ़िगरेशन का ऐसा सिरदर्द जो मशीनों की संख्या के साथ बढ़ता जाता है।

फिर नेटवर्क की सीमा की समस्या है। SCADA सिस्टम आमतौर पर अलग-थलग OT नेटवर्क पर चलते हैं, जहाँ इंटरनेट नहीं होता। अलार्म डेटा को क्लाउड डैशबोर्ड, मोबाइल फ़ोन या enterprise historian तक पहुँचाने के लिए data diodes, relay सर्वर और custom middleware वाले जटिल DMZ आर्किटेक्चर बनाने पड़ते हैं।

अलार्म डिलीवरी के लिए MQTT बेहतर क्यों है

MQTT एक publish-subscribe मैसेजिंग प्रोटोकॉल है, जो सीमित नेटवर्क के लिए डिज़ाइन किया गया है। Polling की जगह डिवाइस तभी मैसेज publish करते हैं जब state बदलती है। Subscribers को वे मैसेज तुरंत मिल जाते हैं। बुनियादी फ़र्क़ है: event-driven डिलीवरी बनाम तय समय पर रीड।

अलार्म मॉनिटरिंग के लिए इसका मतलब है:

Sparkplug B: औद्योगिक MQTT स्टैंडर्ड

साधारण MQTT ट्रांसपोर्ट का तरीका तय करता है, डेटा फ़ॉर्मेट नहीं। Sparkplug B, जो अब Eclipse Foundation का specification है, वह स्ट्रक्चर जोड़ता है जिसकी औद्योगिक applications को ज़रूरत होती है:

Topic namespace

Sparkplug B एक hierarchical topic स्ट्रक्चर तय करता है: spBv1.0/GroupId/MessageType/EdgeNodeId/DeviceId। अलार्म मॉनिटरिंग के लिए एक सामान्य अलार्म topic ऐसा हो सकता है:

DDATA message type का मतलब है डिवाइस डेटा — एक report-by-exception payload, जिसमें सिर्फ़ वे metrics (tags) होते हैं जो पिछले publish के बाद बदले हैं।

Sparkplug B में अलार्म payload

Sparkplug B कुशल binary encoding के लिए Google Protocol Buffers (protobuf) इस्तेमाल करता है। Payload के हर metric में ये होते हैं:

इस स्ट्रक्चर का मतलब है कि अलार्म state का हर बदलाव एज से आए सटीक टाइमस्टैम्प के साथ पहुँचता है, रिसीव करने वाले सर्वर के टाइमस्टैम्प के साथ नहीं। कई मशीनों में root cause analysis के लिए घटनाओं का क्रम तय करने में सटीक एज टाइमस्टैम्प बेहद ज़रूरी हैं।

Birth और death certificates

Sparkplug B में birth (NBIRTH/DBIRTH) और death (NDEATH/DDEATH) मैसेज होते हैं। एज नोड जुड़ते ही एक birth certificate publish करता है, जिसमें हर वह metric होता है जिसे वह रिपोर्ट करेगा — सभी अलार्म tags उनकी मौजूदा वैल्यू के साथ। अचानक डिस्कनेक्ट होने पर broker पहले से रजिस्टर किया गया death certificate publish करता है।

अलार्म मॉनिटरिंग के लिए इसका मतलब है:

OPC-UA subscriptions बनाम MQTT pub/sub

OPC-UA भी अपने subscription मॉडल के ज़रिए event-driven कम्युनिकेशन सपोर्ट करता है। Client एक subscription बनाता है, monitored items (tags) जोड़ता है, और वैल्यू बदलने पर notification पाता है। तो अलार्म मॉनिटरिंग के लिए OPC-UA की जगह MQTT क्यों चुनें?

व्यावहारिक तरीका: एज पर PLC tags पढ़ने के लिए OPC-UA, और उन्हें मॉनिटरिंग सिस्टम तक पहुँचाने के लिए MQTT इस्तेमाल करें। OPC-UA-से-MQTT एज gateway दोनों की ख़ूबियाँ जोड़ता है: OPC-UA से भरोसेमंद PLC कम्युनिकेशन, MQTT से कुशल fan-out।

SCADA के बिना अलार्म मॉनिटरिंग सेट अप करना

अलार्म मॉनिटर करने के लिए पूरे SCADA सिस्टम की ज़रूरत नहीं है। MQTT-आधारित न्यूनतम अलार्म मॉनिटरिंग सेटअप के लिए तीन चीज़ें चाहिए:

1. एज gateway

एक छोटा industrial PC या gateway appliance, जिस पर OPC-UA client और MQTT publisher चलता हो। आम विकल्प:

एज gateway PLC से OPC-UA के ज़रिए जुड़ता है (या Allen-Bradley के लिए EtherNet/IP, Siemens के लिए S7), अलार्म tags पढ़ता है और state के बदलाव MQTT broker पर publish करता है।

2. MQTT broker

Broker ऑन-प्रेम, क्लाउड में या managed service के रूप में चल सकता है। औद्योगिक अलार्म मॉनिटरिंग के लिए:

अलार्म की विश्वसनीयता के लिए कम से कम QoS 1 इस्तेमाल करें। QoS 0 (fire-and-forget) में नेटवर्क गड़बड़ी के दौरान अलार्म मैसेज खोने का जोखिम है।

3. अलार्म consumer

कोई भी MQTT subscriber अलार्म डेटा इस्तेमाल कर सकता है। यह क्लाउड application, मोबाइल notification सर्विस, enterprise historian या अलार्म मैनेजमेंट के लिए बना कोई प्लेटफ़ॉर्म हो सकता है।

एज डिप्लॉयमेंट में ध्यान देने वाली बातें

एज पर MQTT अलार्म मॉनिटरिंग डिप्लॉय करते समय कुछ व्यावहारिक बातों का ध्यान रखना पड़ता है:

MQTT-native अलार्म इंटेलिजेंस

AlarmIQ आपके MQTT broker या OPC-UA सर्वर से जुड़कर हर अलार्म को रियल-टाइम में मॉनिटर करता है। लाइव अलार्म डेटा को PLC प्रोग्राम विश्लेषण के साथ जोड़कर तुरंत root cause ट्रेसिंग पाएँ — SCADA की ज़रूरत नहीं।

AlarmIQ के बारे में जानें

आगे पढ़ें