Saturation du module

Mis à jour il y a 28 jours

Un module bruité peut émettre plusieurs dizaines d'impulsions par seconde. Chaque maillon de la chaîne progresse à son propre rythme : lorsqu'il en arrive davantage qu'il n'en sort, une file d'attente se remplit. Cette page décrit l'emplacement de ces files, leurs limites connues et le mécanisme de protection mis en œuvre par l'application.

Les chiffres clés

Valeur

Ce qu'elle désigne

1 à la fois

impulsions traitées par la tablette, une file par machine

100 / 20 s

synchronisation vers la plateforme par défaut, soit 5 éléments/s au maximum

15 000

tâches en attente sur la tablette : coupure du Bluetooth

500

tâches restantes : reconnexion au module

La chaîne, maillon par maillon

Trois réservoirs se succèdent. Chacun absorbe les à-coups, tant que le débit entrant ne dépasse pas durablement le débit sortant.

Le capteur bruité envoie des impulsions au module, qui les stocke dans sa mémoire et les transmet en Bluetooth à la tablette. La tablette les traite une à la fois, puis les place dans la file de synchronisation, envoyée à la plateforme par paquets de 100 toutes les 20 secondes. Au-delà de 15 000 tâches en attente, la tablette coupe le Bluetooth.

Les impulsions stockées (en orange) attendent d'être traitées ; les éléments en bleu attendent d'être envoyés. La flèche rouge représente le mécanisme de protection décrit plus bas. Les pastilles 1 et 2 identifient les deux goulots d'étranglement connus.

Mémoire du module

Le module enregistre chaque impulsion avec son horodatage. Lorsqu'il est connecté, il la transmet à la tablette. Lorsqu'il est déconnecté, il la conserve et vide sa mémoire dès la reconnexion. Il s'agit d'un tampon, et non d'un goulot d'étranglement.

1. Traitement sur la tablette

Chaque impulsion est enregistrée en base, puis traitée pour construire les perflogs, une seule à la fois par machine. Le débit dépend de la tablette et de sa charge : il n'est pas fixe.

2. Synchronisation vers la plateforme

Un paquet de 100 éléments toutes les 20 s, soit 5 par seconde au maximum.

Lorsque le bruit dépasse la capacité de synchronisation

Avec les réglages par défaut, la synchronisation transmet au maximum 5 éléments par seconde. Tout ce qui arrive au-delà de ce seuil s'ajoute au retard de la plateforme, heure après heure, même si la tablette parvient à traiter le flux.

À 10 impulsions par seconde, le retard de synchronisation augmente de 18 000 éléments par heure ; à 30 par seconde, de 90 000 ; à 50 par seconde, de 162 000. Seules 5 impulsions par seconde sont envoyées.

En bleu, le volume transmis au fil de l'eau ; en orange, le volume qui s'accumule dans la file de synchronisation. Ces valeurs sont des ordres de grandeur, établis sur la base d'un élément à synchroniser par impulsion. Le retard ne se résorbe que lorsque le flux redescend sous 5 impulsions par seconde ; augmenter la taille des paquets ou raccourcir le délai relève ce plafond.

Le mécanisme de protection : déconnexion temporaire

Lorsque la tablette ne parvient plus à suivre le flux, sa file de traitement s'allonge. Pour éviter la saturation, l'application coupe le Bluetooth et laisse le module assurer le stockage à sa place, le temps de résorber le retard.

Avec un bruit continu, la file de traitement de la tablette atteint 15 000 tâches, le Bluetooth est coupé, la file redescend à 500 pendant que la mémoire du module se remplit. À la reconnexion, le module vide sa mémoire en une fois et la file remonte aussitôt à 15 000 : le cycle recommence.

Illustration établie avec un bruit ininterrompu ; l'échelle de temps est indicative. L'échelle verticale de la file est respectée, ce qui explique que le seuil de 500 apparaisse proche de zéro.

  1. Le bruit remplit la file plus rapidement que la tablette ne la vide.

  2. À 15 000 tâches en attente, toutes machines de la tablette confondues, l'application déconnecte l'ensemble des modules.

  3. Le module poursuit le comptage et conserve les impulsions dans sa mémoire.

  4. Lorsque la file redescend à 500, l'application se reconnecte et le module vide sa mémoire en une fois.

  5. Si le bruit persiste, cette rafale ramène la file à 15 000 et un nouveau cycle débute.

💡 Deux seuils éloignés sont utilisés plutôt qu'un seuil unique, afin que l'application n'enchaîne pas coupures et reconnexions pour quelques tâches d'écart.

Quatre scénarios

Du cas le plus bénin au plus critique, selon le débit du bruit et sa durée.

Scénario

Condition

Tablette

Plateforme

Bluetooth

Bruit absorbé

moins de 5 impulsions/s

à jour

à jour

connecté

Plateforme en retard

plus de 5 impulsions/s, la tablette suit le flux

à jour

en retard

connecté

Tablette saturée, bruit ponctuel

davantage d'impulsions que la tablette n'en traite

en retard

en retard

coupé temporairement

Tablette saturée, bruit continu

le bruit ne s'interrompt pas

retard croissant

retard croissant

coupures répétées

  • Bruit absorbé — Aucun effet visible. Les files se vident au fil de l'eau.

  • Plateforme en retard — La tablette reste en temps réel. Les données de la plateforme accusent un retard, résorbé une fois le bruit retombé.

  • Tablette saturée, bruit ponctuel — La machine n'est plus en temps réel : les actions qui l'exigent, telles que le changement de produit, sont refusées. Le cas échéant, coupure à 15 000 puis reconnexion à 500. La situation revient ensuite à la normale.

  • Tablette saturée, bruit continu — Chaque reconnexion provoque une nouvelle saturation. L'application ne résorbe pas son retard tant que la source du bruit n'est pas traitée.

Éviter le scénario

Deux familles de mesures existent, selon que le bruit est subi ou maîtrisé.

Couper à la source

Le bruit n'entre jamais dans la mémoire du module.

Mettre le module hors tension

Module hors tension : ni le capteur ni la tablette ne communiquent avec lui.

Le module n'enregistre plus aucune impulsion et la tablette le considère comme déconnecté jusqu'à sa remise sous tension.

Débrancher le capteur

Capteur débranché : le lien entre capteur et module est coupé, le module reste relié à la tablette.

Le module reste sous tension et connecté, mais le bruit ne l'atteint plus : aucune impulsion n'est enregistrée.

Faire ignorer les impulsions par l'application

Cette solution s'applique à un bruit maîtrisé, sur une durée connue. Le module continue de transmettre, mais la tablette écarte les impulsions dès leur arrivée : elles ne sont ni enregistrées, ni traitées, ni synchronisées.

Lancer une tâche

Tâche en cours : le module transmet toujours, la tablette écarte les impulsions à l'arrivée.

Une tâche de nettoyage, par exemple : le temps est qualifié et les impulsions sont ignorées jusqu'à la fin de la tâche. Le lancement peut exiger le temps réel ; la tâche doit donc être démarrée avant l'apparition du bruit, et non pendant la saturation.

Ignorer les impulsions

Impulsions ignorées : le module transmet toujours, la tablette écarte les impulsions à l'arrivée.

Option « Ignorer les impulsions du module » : un bouton à glisser sur l'écran principal. L'écoute doit être réactivée une fois l'opération terminée.

⚠️ Dans tous les cas, la production réelle n'est pas comptabilisée pendant cette période : la configuration nominale doit être rétablie avant la reprise. Couper le Bluetooth ou fermer l'application est sans effet, le module continuant d'enregistrer le bruit et de le restituer à la reconnexion.

Ce que voit l'utilisateur

Ce qui s'affiche

Quand

Contenu

Action refusée

la file de traitement n'est pas vide

« Nécessite d'être en temps réel — Impulsions en attente de traitement : N »

Action refusée

le module vide sa mémoire après une reconnexion

« Nécessite d'être en temps réel — Récupération des données du module en cours »

Fenêtre d'alerte

pendant la coupure ; se ferme automatiquement à la reconnexion

« Beaucoup de messages ont été reçus du module. L'application s'est temporairement déconnectée pour traiter ces messages et se reconnectera ensuite. »

Icône Bluetooth vert-orange

pendant la coupure ; un appui sur l'icône affiche

« Beaucoup d'impulsions à traiter, déconnecté du module temporairement »

À retenir

  • La coupure n'entraîne aucune perte d'impulsion, dans la limite de la mémoire du module : celui-ci les conserve, et la tablette les enregistre en base avant de les traiter.

  • Les horodatages proviennent du module : les perflogs restent exacts dans le temps. Seuls l'affichage et la plateforme accusent un retard.

  • Le seuil de 15 000 est commun à l'ensemble de la tablette et la coupure s'applique à tous ses modules : une machine bruitée pénalise les autres machines de la même tablette.

  • Le remède se situe à la source du bruit. Ajuster la synchronisation accélère la plateforme, mais pas la tablette.