Fabrication intelligente

Collecte de données atelier : méthodes, outils et architecture pratique

Fiches papier, variables automate, capteurs retrofit et passerelles edge collectent les données atelier de façons différentes. Comparez les méthodes, choisissez la bonne pour chaque machine et centralisez tout dans un seul espace de noms MQTT.

Illustration de la collecte de données atelier avec machines anciennes, automates, capteurs retrofit et passerelle edge envoyant les données vers un broker MQTT
Essayez-le sur votre propre broker MQTTObtenez un broker MQTT privé et managé avec l’offre Free et partez d’exemples de code prêts à l’emploi.
Essayer gratuitement Exemples de code Aucune carte bancaire requise

La collecte de données atelier est le socle de tout projet d'usine intelligente : aucun tableau de bord, aucun TRS et aucun modèle prédictif n'est meilleur que les données sur lesquelles il repose. Ce guide compare les quatre grandes méthodes de collecte, montre dans quels cas chacune convient et explique comment tout centraliser dans un seul espace de noms MQTT, afin d'ajouter de nouvelles machines et de nouveaux consommateurs sans tout refaire.

Quelles données collectez-vous réellement ?

Avant de choisir une méthode, listez les questions auxquelles vous voulez répondre. La plupart des usines commencent par une poignée de signaux qui répondent à l'essentiel des questions quotidiennes :

Type de données Exemple Source typique Fréquence typique
État machine En marche, à l'arrêt, en panne, en réglage Bit automate, colonne lumineuse, capteur de courant Sur changement
Comptages Pièces bonnes, rebuts Compteur automate, capteur de proximité Sur changement ou par minute
Valeurs process Température, pression, vitesse Variables automate, capteurs analogiques 1 à 10 secondes
Motifs d'arrêt Manque matière, changement d'outil Saisie opérateur Sur événement
Résultats qualité Conforme/non conforme, cote mesurée Banc de test, instrument de mesure Par pièce
Énergie kWh, kW Compteur d'énergie 1 à 60 secondes

L'état et les comptages suffisent pour le TRS et l'analyse des arrêts, ce qui explique pourquoi ils constituent le point de départ habituel. Les motifs d'arrêt viennent des personnes, pas des machines : toute architecture a donc besoin d'un moyen pour que les opérateurs y contribuent. Pour concevoir ces codes, consultez les codes motifs d'arrêt.

Comparaison des méthodes de collecte de données atelier

1. Collecte manuelle

Fiches papier, tableurs ou saisies sur terminal remplis par les opérateurs. Démarrer ne coûte presque rien, et cette méthode capte un contexte que les machines ne peuvent pas connaître, comme la raison d'un arrêt de ligne. Ses faiblesses sont bien connues : les saisies se font de mémoire en fin de poste, les micro-arrêts disparaissent, et les données arrivent trop tard pour agir.

La collecte manuelle reste utile pour les motifs d'arrêt et les contrôles, mais elle doit être numérique (un formulaire sur tablette qui publie un événement) et limitée à ce que seule une personne peut fournir.

2. Lecture de l'automate

Les machines modernes disposent d'un automate (PLC) qui connaît déjà l'état, les comptages et de nombreuses valeurs process. Lire ces variables via le protocole de la machine (Modbus TCP, OPC UA, EtherNet/IP, S7 et d'autres) donne les données les plus riches, sans nouveau matériel.

Le problème est l'accès. Les constructeurs ne documentent pas toujours les adresses des variables, l'automate peut être verrouillé, et modifier son programme peut affecter la garantie. Coordonnez-vous avec le propriétaire de la machine avant d'écrire quoi que ce soit dans un contrôleur ; la lecture présente en général peu de risques.

3. Capteurs retrofit

Pour les machines plus anciennes sans contrôleur accessible, ajoutez des capteurs depuis l'extérieur : un transformateur de courant sur le moteur principal pour distinguer marche et arrêt, un capteur de proximité ou photoélectrique pour compter les pièces, un capteur de vibration ou de température pour l'état de santé, ou un capteur de lumière sur la colonne lumineuse. Les capteurs sans fil rendent l'installation rapide ; consultez les capteurs industriels sans fil pour les options.

Les capteurs retrofit voient moins de choses que l'automate, mais ils fonctionnent sur n'importe quelle machine, quels que soient son âge ou sa marque, et ne touchent jamais au système de commande.

4. Passerelles edge

Une passerelle est un petit ordinateur industriel qui dialogue localement avec les automates et les capteurs et transmet les données vers l'amont. Elle gère la conversion de protocoles, la mise en tampon pendant les coupures réseau, le filtrage (publier sur changement plutôt qu'à chaque cycle) et l'ajout de contexte, comme la place de la machine dans la hiérarchie de l'usine.

Méthode Richesse des données Effort par machine Touche au système de commande Idéal pour
Manuelle Faible, mais avec contexte Très faible Non Motifs d'arrêt, contrôles
Lecture automate Élevée Moyen Lecture seule Machines modernes
Capteurs retrofit Moyenne Faible Non Machines anciennes
Passerelle edge Élevée Moyen Lecture seule Parcs hétérogènes, nombreux protocoles

La plupart des usines finissent avec un mélange : des passerelles qui lisent les automates sur les lignes récentes, des capteurs retrofit sur les plus anciennes et des tablettes pour les motifs d'arrêt.

Centraliser les données atelier avec MQTT

La méthode choisie pour chaque machine compte moins que la destination des données. Si chaque collecteur écrit dans sa propre base, vous avez recréé les silos que vous vouliez supprimer. Le meilleur modèle : chaque collecteur publie vers un même broker MQTT avec une structure de topics cohérente, et chaque consommateur s'abonne.

acme/plant1/machining/line1/cnc4/state      {"state":"RUNNING","ts":...}   retained
acme/plant1/machining/line1/cnc4/count      {"good":1,"scrap":0,"ts":...}
acme/plant1/machining/line1/cnc4/spindle    {"tempC":41.8,"rpm":8000,"ts":...}
acme/plant1/machining/line1/cnc4/reason     {"code":"TOOL_CHANGE","by":"op17"}

Le chemin suit la hiérarchie ISA-95 décrite dans les topics MQTT ISA-95. Qu'une valeur provienne d'un automate, d'une pince ampèremétrique ou d'une tablette devient un détail d'implémentation : les consommateurs ne voient que le topic.

Un exemple minimal de passerelle

Le script Python suivant lit deux registres de maintien sur un équipement Modbus TCP (un code d'état et un compteur de pièces), publie l'état sur changement sous forme de message retained et publie les incréments de comptage. Il utilise pymodbus 3.x et paho-mqtt 2.x et tourne sur un Raspberry Pi ou n'importe quel petit PC industriel.

import json
import time
import uuid

import paho.mqtt.client as mqtt
from pymodbus.client import ModbusTcpClient

PLC_IP = "192.168.10.50"
BASE = "connectmq/demo/sfdc-91be/line1/cnc4"   # remplacez 91be par votre propre identifiant
STATES = {0: "STOPPED", 1: "RUNNING", 2: "IDLE", 3: "FAULT"}

mq = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2,
                 client_id=f"gw-cnc4-{uuid.uuid4().hex[:6]}")
mq.will_set(f"{BASE}/gateway", json.dumps({"online": False}), qos=1, retain=True)
mq.connect("broker.connectmq.com", 1883, keepalive=30)
mq.loop_start()
mq.publish(f"{BASE}/gateway", json.dumps({"online": True}), qos=1, retain=True)

plc = ModbusTcpClient(PLC_IP, port=502)
last_state, last_count = None, None

while True:
    if not plc.connected:
        plc.connect()
    rr = plc.read_holding_registers(0, count=2)
    if rr.isError():
        print("Modbus read failed:", rr)
        time.sleep(5)
        continue
    state = STATES.get(rr.registers[0], "UNKNOWN")
    count = rr.registers[1]
    now = time.time()

    if state != last_state:
        mq.publish(f"{BASE}/state", json.dumps({"state": state, "ts": now}), qos=1, retain=True)
        last_state = state

    if last_count is not None and count != last_count:
        delta = (count - last_count) % 65536   # gère le débordement du compteur 16 bits
        mq.publish(f"{BASE}/count", json.dumps({"good": delta, "total": count, "ts": now}), qos=1)
    last_count = count
    time.sleep(1)

Le même script fonctionne tel quel avec un broker ConnectMQ privé dès que vous ajoutez identifiants et TLS. Le message last will marque la passerelle hors ligne si elle perd sa connexion, ce qui permet aux tableaux de bord de distinguer « machine arrêtée » de « aucune donnée ». Sur le serveur MQTT public gratuit, tout est lisible par n'importe qui : utilisez-le uniquement avec des valeurs simulées et, pour de vraies machines, passez à des identifiants privés et à TLS.

Checklist de la collecte de données atelier

Utilisez cette liste avant de déployer au-delà d'une ligne pilote :

  1. Définissez d'abord les questions et ne collectez que les signaux qui y répondent.
  2. Mettez-vous d'accord sur une hiérarchie de topics qui reflète l'implantation de l'usine, et documentez-la.
  3. Horodatez à la source (passerelle ou contrôleur), en UTC.
  4. Publiez sur changement pour les états et les comptages ; échantillonnez les valeurs process à une fréquence fixe raisonnable.
  5. Conservez l'état courant en retained pour que les nouveaux abonnés le voient immédiatement.
  6. Indiquez la qualité des données : passerelle en ligne/hors ligne via last will, défauts capteur sous forme de valeurs explicites.
  7. Gérez le débordement des compteurs et les redémarrages de passerelle sans double comptage.
  8. Attribuez à chaque appareil son propre client ID et ses propres identifiants.
  9. Laissez les opérateurs ajouter du contexte avec un formulaire numérique simple de motifs d'arrêt.
  10. Confrontez les données à la réalité pendant une semaine avant que quiconque construise des KPI dessus.

De la collecte à la valeur

Une fois les données en circulation, les étapes suivantes sont simples : surveillance de l'état des machines sur un écran en bord de ligne, analyse du TRS et des arrêts, puis intégration MES ou maintenance. Chacune n'est qu'un abonné de plus.

Le broker au milieu devrait être le dernier de vos soucis. ConnectMQ est un broker MQTT managé qui prend en charge MQTT 3.1.1 et 5.0, des endpoints TLS et WebSocket sécurisé, un explorateur de topics en direct et une vue des appareils regroupés par niveaux ISA-95, ce qui permet de vérifier facilement que chaque collecteur publie au bon endroit. Des règles d'alerte à seuil dans le portail peuvent vous prévenir lorsqu'une valeur comme la température de broche dépasse une limite. Le guide de l'usine intelligente montre comment ces éléments s'intègrent dans une feuille de route complète, et le serveur MQTT public gratuit est le moyen le plus rapide de tester votre script de passerelle avant de créer des identifiants.

Commencez la collecte de données atelier avec ConnectMQ

Créez un broker sur l'offre Serverless gratuite sur app.connectmq.com, sans carte bancaire, et connectez-y votre première passerelle avec le nom d'utilisateur, le mot de passe et le client ID générés.

Questions fréquentes

Quel est le moyen le moins cher de démarrer la collecte de données atelier ?

Un capteur de courant ou de comptage de pièces sur une machine goulot, une petite passerelle et un broker gratuit. Cela suffit à obtenir le temps de marche, le temps d'arrêt et la production de la machine qui limite votre ligne.

Faut-il lire les données de l'automate ou ajouter des capteurs ?

Lisez l'automate lorsque vous disposez de l'accès et de la documentation, car il contient déjà des données riches. Utilisez des capteurs retrofit sur les machines anciennes ou verrouillées, où l'accès à l'automate est impossible ou risqué.

À quelle fréquence faut-il collecter les données machine ?

Les états et les comptages doivent être publiés sur changement. Les valeurs process sont généralement échantillonnées toutes les 1 à 10 secondes, ce qui suffit pour les tableaux de bord et l'analyse de tendances sans saturer le réseau.

Ai-je besoin d'un MES pour la collecte de données atelier ?

Non. La collecte, les tableaux de bord et le TRS peuvent fonctionner directement sur les données MQTT. Un MES devient utile plus tard, lorsque vous avez besoin du suivi des ordres de fabrication, de la traçabilité et de workflows imposés.

Articles liés

TRS (OEE) vs TEEP vs OOE : quel indicateur utiliser ?

Le TRS (OEE), l'OOE et le TEEP partagent les mêmes facteurs de performance et de qualité, mais se mesurent sur des bases de temps différentes. Ce comparatif déroule un exemple unique et liste les signaux MQTT nécessaires à chaque indicateur.

7 min de lecture

Tous les articles →

Votre broker MQTT privé, à quelques clics

Créez un compte, récupérez les identifiants de votre broker et connectez votre premier appareil — aucun serveur à installer, mettre à jour ou dimensionner.