116 lines
4.9 KiB
Markdown
116 lines
4.9 KiB
Markdown
# Communication Easy / Galileo
|
|
|
|
> Source : [Confluence EasyWMS France](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3001154797573)
|
|
> Dernière mise à jour : 17/02/2026 (v8)
|
|
|
|
---
|
|
|
|
## Principe général
|
|
|
|
GALILEO n'a pas de vision prédictive. EasyWMS fait tout le travail d'intelligence. Les communications **partent toujours de GALILEO** — EasyWMS répond aux demandes et enregistre les états.
|
|
|
|
**3 types de messages + 2 types d'updates d'état.**
|
|
|
|
Les stations sont identifiées par un **couple type/numéro unique** dans les trames de communication.
|
|
|
|
- Types de stations : [Control_Communications_Interface_EN_GB.pdf](https://msscc.mecalux.com/documentation/Automation/master/ES/Documents/GalileoAWS/Control_Communications_Interface_EN_GB.pdf)
|
|
- Structure des trames : [EasyWMSGateway_ControlInterface_EN.pdf](https://msscc.mecalux.com/documentation/documentation/master/ES/docs_downloads/services/docs/EasyWMSGateway_ControlInterface_EN.pdf)
|
|
|
|
---
|
|
|
|
## La recherche d'ordre (log ⇒ Search)
|
|
|
|
GALILEO demande ses mouvements à exécuter à EasyWMS.
|
|
|
|
- Mouvements **"En attente"** : pas encore transmis à GALILEO
|
|
- Mouvements **"En cours"** : transmis, conteneur en **Mov**
|
|
|
|
### 1. GALILEO envoie une demande d'ordre à la Gateway
|
|
|
|
Quand la machine est disponible (après fin d'ordre ou sans ordre), elle génère une demande d'ordre.
|
|
|
|
**Capacité de station :** nombre de trackings simultanés gérables.
|
|
- **Exception PK et PS** : capacité = nombre max de conteneurs sur la station + en mouvement vers elle
|
|
|
|
**Différence capacité station vs capacité route :**
|
|
- Capacité physique station PK : 1 bac (sur le convoyeur)
|
|
- Capacité de la route vers PK : 4 bacs (en transit sur les convoyeurs intermédiaires)
|
|
- Capacité de la station PK (au sens EasyWMS) : 15 bacs (physique + transit + tous les mouvements dont la tâche a PK comme destination)
|
|
|
|
### 2. GALILEO interroge Easy sur les mouvements à effectuer
|
|
|
|
Workflow principal : **`Galileo_SearchCreatedEventHandler_PR`**
|
|
|
|
> ⚠️ GALILEO peut envoyer plusieurs dizaines de Search par seconde. Il est **fortement déconseillé** d'activer les instances de workflows sur ces events sans précautions (limiter au process, temps de trace très court).
|
|
|
|
Le process est réorienté selon le type de station reçu.
|
|
|
|
### 3. Easy transmet les mouvements à GALILEO via la Gateway
|
|
|
|
Commandes appelées : `GalileoMovTrackingCreateCommand` (éviter `GalileoMovTrackingCreateChangingTargetCommand`).
|
|
|
|
Effets :
|
|
- Envoi de l'ordre à la Gateway (traduit en trame pour GALILEO)
|
|
- Le mouvement passe de **"Généré"** à **"En cours"**
|
|
- Le conteneur est déplacé sur l'emplacement virtuel **Mov**
|
|
|
|
---
|
|
|
|
## La fin d'ordre (log ⇒ End0)
|
|
|
|
Signale que le mouvement est terminé. Le mouvement suivant est généré si le conteneur n'a pas encore atteint la destination finale.
|
|
|
|
### Codes d'erreur End
|
|
|
|
| Code | Signification | Conséquence |
|
|
|------|--------------|-------------|
|
|
| `0` | Mouvement terminé | Lance le mouvement suivant |
|
|
| `1` | Erreur de dépose | Masque d'erreur + relocalisation/rejet |
|
|
| `2` | Erreur d'extraction | Masque d'erreur + relocalisation/rejet |
|
|
| `4` | Ordre incohérent | Problème de configuration WMS/GALILEO |
|
|
| `7` | Erreur gabarit | Relocalisation/rejet |
|
|
|
|
Workflow de traitement : **`Galileo_EndCreatedEventHandler_PR`**
|
|
|
|
### Cas EndErrorCode=4
|
|
|
|
Configuration incohérente entre WMS et GALILEO.
|
|
|
|
**Causes possibles :**
|
|
- L'emplacement n'existe pas pour GALILEO, n'accepte pas le type/hauteur du support, coordonnées X/Y hors limites
|
|
- Mouvements impossibles (bacs qui doivent se croiser)
|
|
- Attention : la gestion des coordonnées diffère selon le côté de la table d'entrée par rapport à l'allée
|
|
|
|
**Résolution :** vérifier les données envoyées à GALILEO dans les logs, puis comparer la configuration des stations entre les deux systèmes.
|
|
|
|
---
|
|
|
|
## L'update de station (log ⇒ Update station)
|
|
|
|
Envoyée toutes les **1-3 secondes** ou au changement de statut/chargement.
|
|
|
|
| Paramètre | Signification |
|
|
|-----------|---------------|
|
|
| StationType | Type de la station |
|
|
| StationNumber | Numéro de la station |
|
|
| Status | `0` = Indisponible (défaut, manuel, sécurité), `1` = Disponible |
|
|
| Loaded | `0` = Occupée (chargée), `1` = Disponible |
|
|
| Capacity | Nombre max de conteneurs |
|
|
| CurrentCount | Nombre de trackings GALILEO sur la station |
|
|
| Aisle | Numéro d'allée |
|
|
|
|
---
|
|
|
|
## L'update de route (log ⇒ Update route)
|
|
|
|
Envoyée toutes les **1-3 secondes** ou au changement. Pilotée par la disponibilité électromécanique et la place disponible.
|
|
|
|
| Paramètre | Signification |
|
|
|-----------|---------------|
|
|
| StationTypeSource | Type station d'origine |
|
|
| StationNumberSource | Numéro station d'origine |
|
|
| StationTypeDestination | Type station destination |
|
|
| StationNumberDestination | Numéro station destination |
|
|
| Status | `0` = Pas de communication, `1` = Disponible, `2` = Défaut électromécanique, `3` = Pleine |
|
|
| CurrentCount | Nombre de trackings GALILEO entre ces stations |
|