OperaMetrix
Protocoles

Messagerie légère pour l'IoT industriel

Intégration MQTT avec Ignition : Connectez votre infrastructure IoT industrielle

L'intégration MQTT avec Ignition permet une messagerie légère de type publish-subscribe à travers toute votre infrastructure IoT industrielle. Connectez vos équipements edge, capteurs et automates à un broker MQTT centralisé grâce au protocole Sparkplug B pour un échange de données standardisé et efficace.

Présentation

L'intégration MQTT avec Ignition exploite le protocole léger MQTT combiné à la spécification Sparkplug B pour fournir une couche de communication robuste et standardisée pour l'IoT industriel. Les modules MQTT Engine et MQTT Transmission de Cirrus Link Solutions offrent une connectivité native et bidirectionnelle entre Ignition et tout équipement ou broker compatible MQTT.

En déployant une architecture Unified Namespace (UNS) avec MQTT en son coeur, vous découpler les producteurs de données des consommateurs, permettant une distribution de données évolutive et résiliente à travers toute votre entreprise. Les noeuds edge exécutant Sparkplug B publient des données structurées vers le broker, tandis que le module MQTT Engine d'Ignition découvre et s'abonne automatiquement à toutes les métriques disponibles.

Avantages clés

  • Protocole publish-subscribe léger avec utilisation minimale de la bande passante
  • Format de payload standardisé Sparkplug B pour l'interopérabilité
  • Découverte automatique des équipements et tags via les certificats de naissance
  • Mise en tampon store-and-forward pour les connexions réseau instables
  • Architecture Unified Namespace (UNS) pour l'accès aux données à l'échelle de l'entreprise

Architecture d'intégration MQTT

L'architecture d'intégration MQTT d'Ignition suit un modèle en étoile avec le broker MQTT au centre. Les noeuds edge publient des messages Sparkplug B vers le broker, et le module MQTT Engine s'abonne pour recevoir toutes les données dans le système de tags Ignition.

┌─────────────┐     ┌──────────────┐     ┌─────────────────┐
│  Edge Node  │────▶│  MQTT Broker │◀────│  Ignition MQTT  │
│  (Sparkplug)│     │  (Mosquitto) │     │  Engine Module   │
└─────────────┘     └──────┬───────┘     └────────┬────────┘
                           │                       │
┌─────────────┐            │              ┌────────┴────────┐
│  Edge Node  │────────────┘              │  Ignition MQTT  │
│  (Sparkplug)│                           │  Transmission   │
└─────────────┘                           └─────────────────┘

Étapes de configuration

1

Installer le module MQTT Engine

Téléchargez le module MQTT Engine depuis Cirrus Link Solutions ou l'Ignition Exchange. Accédez à la page de configuration du Gateway Ignition, rendez-vous dans Modules et téléversez le fichier .modl pour l'installer.

# Download from Cirrus Link Solutions or Ignition Exchange
# Gateway > Config > Modules > Install Module
# Upload: MQTT-Engine-signed.modl
# Restart Gateway if prompted
2

Configurer la connexion au broker MQTT

Configurez la connexion entre le module MQTT Engine d'Ignition et votre broker MQTT. Paramétrez l'URL du broker, le port, les identifiants d'authentification et les réglages TLS pour une intégration MQTT Ignition sécurisée.

// MQTT Engine > Servers > Settings
{
  "ServerName": "Production-Broker",
  "URL": "tcp://mqtt-broker.local:1883",
  "Username": "ignition_engine",
  "Password": "********",
  "KeepAlive": 30,
  "CleanSession": true,
  "TLS": {
    "Enabled": true,
    "Port": 8883,
    "CACertificate": "/certs/ca.crt",
    "ClientCertificate": "/certs/client.crt"
  }
}
3

Configurer le namespace Sparkplug B

Configurez le namespace des topics Sparkplug B pour organiser la hiérarchie de vos données MQTT. Définissez les identifiants de groupe, de noeuds edge et d'équipements pour structurer votre Unified Namespace dans l'intégration MQTT Ignition.

# Sparkplug B Topic Structure
# Namespace: spBv1.0/{GroupId}/{MessageType}/{EdgeNodeId}/{DeviceId}

# Birth/Death Certificates
spBv1.0/Plant-A/NBIRTH/EdgeNode-01          # Node Birth
spBv1.0/Plant-A/DBIRTH/EdgeNode-01/PLC-001   # Device Birth
spBv1.0/Plant-A/NDEATH/EdgeNode-01           # Node Death

# Data Messages
spBv1.0/Plant-A/NDATA/EdgeNode-01            # Node Data
spBv1.0/Plant-A/DDATA/EdgeNode-01/PLC-001    # Device Data

# Commands
spBv1.0/Plant-A/NCMD/EdgeNode-01             # Node Command
spBv1.0/Plant-A/DCMD/EdgeNode-01/PLC-001     # Device Command
4

Créer les fournisseurs de tags et mapper les tags

Une fois le module MQTT Engine connecté au broker, les équipements Sparkplug B sont automatiquement découverts. Les tags apparaissent dans le navigateur de tags d'Ignition sous le fournisseur de tags MQTT Engine, organisés par groupe, noeud edge et équipement.

# Auto-discovered tag paths in Ignition Designer
# [MQTT Engine]
#   └── Plant-A                          (Group)
#       └── EdgeNode-01                  (Edge Node)
#           ├── Node Info/               (Node metrics)
#           │   ├── Online        : true
#           │   └── Last Connected: 2026-03-11T08:30:00
#           └── PLC-001/                 (Device)
#               ├── Temperature   : 72.5  (Float)
#               ├── Pressure      : 14.7  (Float)
#               ├── FlowRate      : 120.3 (Float)
#               └── ValveStatus   : OPEN  (String)

# Reference tags in scripts:
value = system.tag.readBlocking(
    ["[MQTT Engine]Plant-A/EdgeNode-01/PLC-001/Temperature"]
)[0].value

Fonctionnalités clés

Protocole Sparkplug B

La spécification Sparkplug B définit un format de payload standardisé et un namespace de topics pour MQTT en environnement industriel. Elle fournit des certificats de naissance/mort, des définitions de métriques et une gestion d'état pour une intégration MQTT Ignition fiable sur tous vos équipements connectés.

Découverte automatique

MQTT Engine découvre automatiquement les noeuds edge et les équipements dès qu'ils se connectent au broker. Les certificats de naissance Sparkplug B contiennent les définitions complètes des métriques, permettant la création automatique des tags dans Ignition sans aucune configuration manuelle.

Store & Forward

Lorsque la connectivité réseau est perdue entre les noeuds edge et le broker MQTT, les données sont mises en tampon localement grâce au mécanisme store-and-forward. Une fois la connexion rétablie, tous les messages en attente sont transmis dans l'ordre, garantissant aucune perte de données dans votre intégration MQTT Ignition.

Unified Namespace

Construisez une architecture Unified Namespace (UNS) hiérarchique où toutes les données opérationnelles sont organisées dans une arborescence logique unique. MQTT permet une distribution de données découplée et événementielle du terrain à l'entreprise, faisant de votre intégration MQTT Ignition le pilier de votre stratégie de données.

Cas d'utilisation

Pétrole et gaz

Surveillance à distance pétrole et gaz

Déployez Ignition Edge avec MQTT Transmission sur les sites de puits distants pour collecter les débits, pressions et états des équipements. Les données sont publiées via Sparkplug B vers un broker MQTT central, où le module MQTT Engine d'Ignition agrège les métriques de centaines de sites distants dans une vue unifiée pour les opérateurs.

Industrie manufacturière

Usine intelligente IIoT

Construisez un réseau de capteurs IoT à l'échelle de l'usine en utilisant des passerelles et équipements edge compatibles MQTT. L'intégration MQTT Ignition collecte les données des capteurs de vibration, compteurs d'énergie, moniteurs environnementaux et équipements de production, alimentant un jumeau numérique temps réel de vos opérations de fabrication.

Services publics et infrastructures

SCADA multi-sites

Implémentez une architecture SCADA distribuée avec des passerelles Ignition Edge sur chaque site publiant les données via MQTT vers un serveur Ignition centralisé. Le protocole Sparkplug B assure une utilisation efficace de la bande passante sur les connexions WAN, tandis que le store-and-forward garantit l'intégrité des données lors des coupures réseau.

Technologies

MQTT Engine

Module Cirrus Link pour Ignition qui s'abonne aux brokers MQTT et crée automatiquement des tags à partir des messages Sparkplug B. Le composant central de toute intégration MQTT Ignition.

MQTT Transmission

Module Cirrus Link qui publie les données des tags Ignition vers les brokers MQTT en utilisant le protocole Sparkplug B. Permet à Ignition d'agir comme noeud edge dans une infrastructure MQTT étendue.

Sparkplug B

Spécification open-source de la Fondation Eclipse qui définit les namespaces de topics, l'encodage des payloads (Protobuf) et la gestion d'état pour MQTT en automatisation industrielle.

Eclipse Mosquitto

Broker MQTT open-source et léger, largement utilisé dans les déploiements IoT industriels. Supporte MQTT v3.1, v3.1.1 et v5.0 avec chiffrement TLS et authentification.

HiveMQ

Broker MQTT de niveau entreprise avec clustering, haute disponibilité et fonctionnalités de sécurité avancées. Idéal pour les déploiements d'intégration MQTT Ignition à grande échelle nécessitant une livraison de messages garantie.

Questions fréquentes

Retrouvez les réponses aux questions courantes sur cette intégration.

MQTT Engine agit comme un abonné qui reçoit les messages Sparkplug B du broker MQTT et crée les tags correspondants dans Ignition. MQTT Transmission fait l'inverse : il publie les données des tags Ignition vers le broker MQTT sous forme de messages Sparkplug B. Dans une intégration MQTT Ignition typique, le serveur central exécute MQTT Engine tandis que les passerelles edge exécutent MQTT Transmission.
Non, l'intégration MQTT Ignition fonctionne avec tout broker compatible MQTT v3.1.1 ou v5.0. Les choix populaires incluent Eclipse Mosquitto pour les déploiements légers, HiveMQ pour le clustering de niveau entreprise et EMQX pour les scénarios à haut débit. L'exigence principale est le support Sparkplug B côté client, qui est géré par les modules Cirrus Link.
L'intégration MQTT Ignition inclut une fonctionnalité de store-and-forward intégrée. Lorsque la connexion au broker MQTT est perdue, les noeuds edge mettent les messages en tampon localement sur disque. Une fois la connectivité rétablie, toutes les données en attente sont publiées dans l'ordre chronologique. De plus, les certificats de mort Sparkplug B notifient les abonnés lorsqu'un noeud se déconnecte, et les certificats de naissance resynchronisent l'état lors de la reconnexion.
Oui, bien que Sparkplug B soit recommandé pour son format de payload standardisé et ses fonctionnalités de découverte automatique, Ignition peut également fonctionner avec des topics MQTT génériques en utilisant un parsing personnalisé. Le module MQTT Engine supporte les namespaces personnalisés où vous définissez votre propre structure de topics et format de payload (JSON, CSV, etc.). Cependant, vous perdez les avantages de la création automatique de tags, de la gestion d'état et des certificats de naissance/mort fournis par Sparkplug B.

Prêt à démarrer ?

Contactez notre équipe pour discuter de vos besoins et obtenir une solution sur mesure.