MQTT Sparkplug B vs OPC-UA — mit válasszunk gyári adattovábbításra?
Mindkettő szabványos és industry-grade — de mást-mást szolgálnak. Praktikus döntési útmutató 4 kérdéssel.
Az Industry 4.0 közben két kommunikációs szabvány emelkedett ki: az OPC-UA (PLC-világból) és az MQTT Sparkplug B (IT-világból). Mindkettő nyílt, multi-vendor, és gyakorlatilag minden új ipari hardver támogatja. De más célra valók — a választást nem a vendor, hanem az adott use-case kell, hogy meghatározza.
Ha az adatgyűjtést meglévő vezérlésre építené, a PLC-oldali illesztés az IEM ipari automatizálás szolgáltatásának része.
OPC-UA — az ipari kliens-szerver szabvány
Az OPC-UA (Unified Architecture) a Windows-os OPC Classic utódja, modern client-server-rel, beépített biztonsággal és titkosítással. Az OPC Foundation kifejlesztette „Companion Specifications”-eket gépi típusokhoz (motorvezérlő, robot, CNC stb.), így a gépek „találja-meg-magukat” mintában felfedezhetők.
Erősségek
- Erős típusrendszer — minden adatpont azonosított, dokumentált
- Beépített biztonság: tanúsítvány-alapú, AES titkosítás
- Companion Specifications — gép-típusonként standardizált adatmodell
- Két kommunikáció: pull (Read) vagy push (Subscription)
- Nagy gyártói támogatás (Siemens, Beckhoff, ABB, B&R)
Gyengeségek
- Nehéz: server-szoftver tömeges (~50 MB+ memóriakötés)
- Tanúsítvány-management komplexitás (tűz-fal, PKI infrastruktúra)
- Magas-frekvenciás (sub-second) adatok kezelése elvadít
- Cloud-felé nehezebben skálázható
MQTT Sparkplug B — a felhő-friendly publish/subscribe
MQTT egy kis-méretű, banszerű broker-alapú protokoll. Sparkplug B egy „profil” rajta — standardizálja az ipari névteret (state, NDATA, NCMD), birth/death certificate-eket, és minden eszköz „belépő-zárás”-i sémáját.
Erősségek
- Egyszerű: 100+ broker implementáció (Mosquitto, HiveMQ, EMQX), 5 kB szoftver
- Skálázható — egy broker 1 millió eszközt egyszerre kezel
- Cloud-friendly: AWS IoT, Azure IoT Hub, Google IoT mind támogatja
- Publish/subscribe — egy üzenetet sok fogyasztó kap (analytics + dashboard + ML)
- Birth-cert state — ha eszköz lekapcsol, a többi fél tudja
Gyengeségek
- Gyengébb típusrendszer — minden eszköz saját topology-t hozhat
- Biztonság az MQTT-szinten alacsonyabb — TLS-t kell felülre tenni
- Companion-megfelelő gépi típusrendszer nincs — minden integráció egyedi
- Pull-mintázat hiányzik (csak push)
Use-case összehasonlítás
| Use-case | OPC-UA | MQTT Sparkplug B |
|---|---|---|
| PLC ↔ HMI klasszikus | ★★★★★ (alapértelmezett) | ★★ (overkill) |
| Edge gateway → cloud | ★★★ (lehet, de nehéz) | ★★★★★ |
| Cloud analytics + ML pipeline | ★★ (egy fogyasztó) | ★★★★★ (több fogyasztó) |
| Motion control <1 ms ciklus | ★★★ (server-overhead) | ★ (broker-késés) |
| Companion Specifikáció (Robotika, CNC) | ★★★★★ (épp erre van) | ★ (egyedi) |
| Mérnöki engedélyezett, ma is támogatott IoT | ★★★ (IoT 2.0) | ★★★★★ |
| Magas-frekvenciás process control | ★★★★ (subscription jó) | ★★ (broker-késés) |
| 1000+ eszköz koncentrált monitoring | ★★ (server-skálázás) | ★★★★★ |
4 döntési kérdés
- Hány eszköz fogja az adatot fogyasztani? 1 (klasszikus HMI) → OPC-UA. 2+ (analytics + dashboard + ML) → MQTT Sparkplug B
- Cloud-ban dolgozzuk fel? Igen → MQTT (AWS, Azure, GCP IoT mind támogatja). Csak helyi → OPC-UA
- Milyen ciklus-idő? <100 ms → OPC-UA subscription. >500 ms → mindkettő OK
- Companion Specifikáció vonatkozik az eszközre? Igen (robot, CNC, motorvezérlő szabványos) → OPC-UA. Egyedi gép-séma → MQTT-vel rugalmasabb
Közös architektúra: hibrid
A modern Industry 4.0 architektúrákban gyakran mindkettő jelen van:
PLC (S7-1500) ── OPC-UA ──> Edge Gateway
│
│ MQTT Sparkplug B
▼
Cloud broker (HiveMQ Cloud)
│
┌──────────┼──────────┐
▼ ▼ ▼
InfluxDB Grafana ML Pipeline
(long-term) (live) (anomaly)
Az OPC-UA a PLC és a edge között (típuserős, real-time), MQTT a edge és a cloud között (skálázható, multi-consumer).