מה זה Sparkplug B?
Sparkplug B הוא פרוטוקול תקשורת קל, פתוח ומבוסס MQTT, שתוכנן במיוחד עבור מערכות IIoT
(האינטרנט התעשייתי של הדברים).
Sparkplug B נועד לאפשר חיבור קל, עקבי וסטנדרטי בין ציוד קצה (כגון בקרי PLC, HMI, סנסורים)
למערכות SCADA, MES או דאטה היסטוריות באמצעות תווך של שרת MQTT (ברוקר).
Sparkplug B מהווה את תקן הדה־פקטו לתקשורת Pub/Sub בין התקני OT (Operational Technology)
ויישומי IT תעשייתיים, תוך שמירה על פורמט נתונים ברור, ניהול מצב (State Management),
וגילוי אוטומטי של התקנים (Auto Discovery).
למה צריך את Sparkplug B?
MQTT בפני עצמו הוא פרוטוקול תקשורת קליל ויעיל, אך הוא אינו מגדיר פורמט נתונים או תקני פעולה
בין יצרני ציוד שונים.
במילים אחרות, הפרוטוקול מאפשר “איך לשלוח”, אבל לא “מה לשלוח ובאיזה מבנה”.
לשם כך נולד Sparkplug, סדרת תקנים (כיום בפיתוח של Eclipse Foundation) המוסיפה ל־MQTT
שכבת הגדרה וסטנדרטיזציה.
גרסאות של Sparkplug
Sparkplug A: גרסה מוקדמת, מוגבלת, כמעט ולא בשימוש כיום.
Sparkplug B: הגרסה התקנית והפופולרית כיום.
Sparkplug C: גרסה מתקדמת בשלבי פיתוח, מתמקדת באבטחת מידע וב־edge computing.
עקרונות פעולה של Sparkplug B
פורמט נתונים אחיד: Payload Encoded in Protobuf
Sparkplug B משתמש ב־Google Protocol Buffers (Protobuf) לקידוד הנתונים, מה שמאפשר מבנה קשיח,
קומפקטי, וקריא למכונה.
נושאים היררכיים (Topic Namespace)
הודעות נשלחות ב־MQTT תחת נושאים (Topics) במבנה תקני:
php-template
spBv1.0/<Group_ID>/<Message_Type>/<Edge_Node_ID>/<Device_ID>
לדוגמה:
swift
spBv1.0/myFactory/DDATA/PLC001/MotorSensor
ניהול מצב (State Management)
התקנים מודיעים על online/offline ב־birth/death messages.
כך ניתן לדעת אם התקן מחובר בפועל או נפל מהרשת שזה דבר קריטי בסביבה תעשייתית.
הודעות BIRTH ו־DEATH
NBIRTH – מודיעה ש־edge node עלה (Node Birth)
DBIRTH – מודיעה שמכשיר עלה (Device Birth)
NDEATH / DDEATH – מציינות כיבוי או ניתוק
סינכרון נתונים
כולל סוגי הודעות:
DDATA – נתוני זמן אמת
DCMD – פקודות שנשלחות להתקן
STATE – דיווחי חיבור ל־broker
מי צריך להשתמש ב־Sparkplug B?
חברות תעשייה עם תשתיות SCADA מודרניות
יצרני ציוד תעשייתי המעוניינים לאפשר אינטגרציה סטנדרטית
חברות פיתוח פתרונות Industry 4.0
מפתחי מערכות OT/IT Convergence המשלבות רצפת ייצור עם מערכות ניהול
יתרונות של Sparkplug B
| יתרון | פירוט |
| אינטגרציה קלה | חיבור ציוד תעשייתי למערכות IT דרך MQTT בצורה סטנדרטית |
| קוד פתוח | חלק ממיזם Eclipse, עם קהילה תומכת |
| חיסכון ברוחב פס | פרוטוקול קומפקטי מאוד – אידיאלי לקווי תקשורת מוגבלים |
| תמיכה בניטור מצב | מאפשר ליישומים לדעת אם התקנים פעילים |
| גילוי אוטומטי | מזהה אילו משתנים זמינים מכל התקן – מקל על קונפיגורציה |
כלים ומערכות Sparkplug B
Ignition SCADA מבית Inductive Automation – תומך מובנה בספארקפלאג
MQTT.fx / Mosquitto – כלים לבדיקה ו־debug
Cirrus Link MQTT Modules – הרחבות ל־Ignition
Eclipse Tahu – פרויקט קוד פתוח המפתח את Sparkplug B
שאלות ותשובות בנושא Sparkplug B
האם Sparkplug B מתאים לרשתות עם ניתוקים זמניים?
כן. המערכת כוללת מנגנון חכם לניהול מצב, ומאפשרת לזהות מתי התקן נפל או חזר לרשת.
מה ההבדל בין Sparkplug ל־JSON over MQTT?
JSON גמיש אך לא סטנדרטי. Sparkplug B מחייב מבנה אחיד, מה שמקל על אינטגרציה בין מערכות שונות.
האם ניתן לשלוח פקודות ב־Sparkplug?
בהחלט. פקודות נשלחות באמצעות הודעות DCMD, וניתן לקבוע ערכים על משתנים מרחוק.
האם ניתן להצפין את הנתונים?
כן. ניתן להריץ את Sparkplug על גבי MQTT over TLS ולהחיל מנגנוני אימות מתקדמים.

