Manuel utilisateur HMI

1. Introduction

Ce manuel décrit l’interface homme-machine (HMI) Microcontroleur qui pilote le PLC Microcontroleur associé via ESP-NOW. Il détaille la mise sous tension, la configuration du portail captif, l’exploitation quotidienne et le protocole de commandes afin que vous puissiez documenter la procédure dans Confluence ou former les opérateurs sur le firmware actuel.

2. Vue d’ensemble du système

3. Navigation et accès aux pages

4. Page Main

Page principale avec boutons et indicateurs

Boutons de la page Main

Contrôle Commande(s) Comportement Remarques
Init CMD_INIT Demande au PLC de passer en état prêt au mouvement et de réinitialiser les interverrouillages. Les autres boutons de mouvement restent désactivés jusqu’à la fin d’Init ; le PLC peut ignorer si une init est déjà en cours ou si une faute persiste.
Start CMD_SET_TARGET, CMD_START_MOVE Convertit la hauteur (mm) en counts, mémorise la cible et déclenche le mouvement. Bloqué tant que Clamp (O4) est actif, si des paramètres de conversion manquent ou si le PLC signale une faute. Une « Start error » est journalisée si la cible est rejetée.
Home CMD_HOME Lance la routine d’homing. Ignoré par le PLC si un homing est déjà actif ; le bouton devient bleu pendant le mouvement puis vert une fois homé.
Stop CMD_STOP Émet une commande d’arrêt immédiat. Toujours autorisé ; le PLC peut laisser la charge décélérer selon la logique variateur.
Impulsion Arms CMD_PULSE_I5 via bouton Envoie une impulsion virtuelle de 100 ms pour engager le circuit Arms. Accepté uniquement lorsque le bit de verrouillage Clamp est actif ; sinon le PLC ignore et l’UI clignote brièvement.
Impulsion Clamp CMD_PULSE_I6 via bouton Envoie une impulsion virtuelle de 100 ms pour activer le clamp. Exige le capteur Arms (I0) à 1 et Init prêt ; le PLC rejette la demande si les interverrouillages ne sont pas satisfaits.

5. Page Jog

Page Jog avec boutons de direction et curseur

Commandes Jog

Contrôle Commande(s) Comportement Remarques
JOG− / JOG+ Bits CMD_UI_STATE L’appui maintenu fixe la direction de jog dans le flux UI. Désactivé si Init en attente, clamp verrouillé ou homing ; le PLC stoppe le jog lorsque les bits retombent.
Curseur de vitesse de jog CMD_SET_JOG_VEL Met à jour le RPM désiré au relâchement ; appuyer sur un bouton de jog renvoie aussi la valeur courante. Plage 10–700 RPM ; le PLC peut saturer la valeur si elle dépasse ses limites.

6. Page Config (mode maintenance requis)

Page Config et champs paramètres de mouvement

Boutons Config

Contrôle Commande(s) Comportement Remarques
Save CMD_SAVE_CONFIG Envoie les paramètres de mouvement, ratio ticks/mm, hauteur et gap vers la NVS du PLC. Le PLC répond par ACK_CONFIG ; les valeurs doivent rester dans les plages uint16/uint32, sinon le PLC peut rejeter et journaliser une erreur.
Reload CMD_RELOAD_CONFIG Demande au PLC de renvoyer les paramètres stockés. Les champs se rafraîchissent à l’arrivée de ACK_CONFIG ; si le PLC ne lit pas la NVS il peut renvoyer des valeurs par défaut.

7. Page IO (mode maintenance requis)

Page IO présentant entrées, sorties et indicateurs drive

Commandes IO

Contrôle Commande(s) Comportement Remarques
Bascule O1–O4 CMD_SET_OUTPUTS Reflète le masque de sorties PLC lors du basculement. Le PLC peut désactiver l’interaction (état gris) pendant l’homing ou si Init n’est pas prêt ; les écritures concurrentes du PLC priment.
Bascule Relais CMD_SET_RELAY Bascule la sortie relais. Le PLC peut imposer l’état relais si la logique de sécurité l’exige.
Refresh (Drive SI) CMD_STATUS_POLL Demande une mise à jour immédiate des indicateurs SI. Les LEDs SI se mettent à jour sur le prochain ACK_STATUS ; répéter la requête lien KO produit des échecs d’envoi (!).

8. Indicateurs d’état et retours

10. Maintenance et récupération

11. Dépannage

Symptôme Vérifications et actions correctives
Pages Config/IO masquées Assurez-vous que le PLC force I8 (Advanced) à 1. Tant que ce bit reste bas, la navigation est limitée à Main/Jog.
Le bouton Start devient rouge et aucun mouvement ne démarre Confirmez qu’Init est terminé, que Clamp (O4) est relâché et que le champ hauteur contient une valeur valide dans la plage calibrée. Consultez les détails « Start error » sur la console série.
Boutons Arms/Clamp grisés Les interverrouillages PLC ne sont pas satisfaits (ex. clamp non verrouillé pour Arms). Vérifiez les entrées sur la page IO et les journaux PLC.
Le curseur de jog n’a aucun effet Vérifiez qu’Init est terminé et que le clamp n’est pas verrouillé. Le RPM est renvoyé lorsque vous relâchez le curseur ou pressez un bouton de jog.
Les indicateurs SI ne changent jamais Touchez Refresh pour envoyer CMD_STATUS_POLL et observez l’arrivée du prochain ACK_STATUS.
La LED d’état reste rouge / répétitions de ! dans les logs Relancez le portail captif pour vérifier la MAC pair, confirmez l’alimentation/portée du PLC et inspectez les erreurs d’envoi série.

12. Commandes de référence

Commande Direction Charge utile Remarques
CMD_UI_STATE (0x01) HMI → PLC Masque de boutons (Start, Stop, Home, Jog±, Init, etc.) Streamé en continu avec régulation.
CMD_STATUS_POLL (0x02) HMI → PLC Déclenche un ACK_STATUS immédiat (utilisé par Refresh et le watchdog).
CMD_INIT (0x17) HMI → PLC Arme l’état de contrôle du PLC ; requis avant tout mouvement.
CMD_SET_TARGET (0x18) HMI → PLC Counts absolus (int32 LE) Généré à partir du champ hauteur avant de lancer le mouvement.
CMD_START_MOVE (0x19) HMI → PLC Exécute la cible préalablement envoyée.
CMD_STOP (0x11) HMI → PLC Arrêt immédiat.
CMD_HOME (0x13) HMI → PLC Lance la routine d’homing.
CMD_SET_JOG_VEL (0x22) HMI → PLC RPM (uint16 LE) Envoyé lorsque le curseur de jog est relâché ou lorsqu’un bouton de jog est pressé.
CMD_PULSE_I5 (0x23) HMI → PLC Demande une impulsion de 100 ms de l’entrée virtuelle I5 (Arms).
CMD_PULSE_I6 (0x24) HMI → PLC Demande une impulsion de 100 ms de l’entrée virtuelle I6 (Clamp).
CMD_SET_OUTPUTS (0x20) HMI → PLC Masque de sorties (bit0=O1 … bit3=O4) Émis par les interrupteurs IO quand ils sont actifs.
CMD_SET_RELAY (0x21) HMI → PLC 0/1 Commande du relais.
CMD_SAVE_CONFIG (0x30) HMI → PLC Speed, Accel, Decel, JogRamp, Param5, Param6 (uint16) ; RatioTicks, RatioMm1000, HeightMm1000, GapMm1000 (uint32) Le PLC stocke les valeurs et renvoie ACK_CONFIG.
CMD_RELOAD_CONFIG (0x31) HMI → PLC Le PLC répond avec ACK_CONFIG.
ACK_STATUS (0x80) PLC → HMI Entrées, sorties, relais, activity flags, masque drive optionnel, counts position optionnels Pilote la couleur UI, l’activation des boutons, les LEDs SI et l’affichage de position.
ACK_CONFIG (0x81) PLC → HMI Speed, Accel, Decel, JogRamp, entrées, sorties, relais, ratio/hauteur/gap optionnels, position optionnelle Alimente les champs Config et les paramètres de conversion mis en cache.

Pour les notes d’implémentation destinées aux contributeurs, consultez HMI/README.md et AGENTS.md.