- Bloquants: mermaid 03-picking/_index reconstitue (archive 11-05), 13 liens vers pages squelette retires, 2 liens recibles (anoxie, application-dictionary) - Conventions: 910 em dashes -> tirets simples, 145 checklists -> puces question, 13 questions resolues barrees - Liens: 9 ancres reparees (slugs GitHub) - Delta: 12 standard_ref remappes, blocs Standard EasyWMS + sections References ajoutes, front matter complete - Glossaire: 15 termes standard deplaces en section rappel avec renvoi - Rapport: limagrain/_lint_report.md (Phase 1 + Phase 2 + re-scan final) - Inclut les pages des sessions precedentes non commitees + CLAUDE.md et consume.log en l'etat
8.8 KiB
title, tags, status, standard_ref, jira_refs, confluence_refs, sources, last_updated, author
| title | tags | status | standard_ref | jira_refs | confluence_refs | sources | last_updated | author | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Configuration Galileo - Limagrain |
|
draft | architecture/galileo-integration.md |
|
|
2026-07-20 | Arthur |
Configuration Galileo - Limagrain
Résumé : architecture logicielle IT de l'installation Limagrain et spécificités de la configuration Galileo (TMS).
Standard EasyWMS : → voir GALILEO Integration, System Architecture Ce qui suit documente les spécificités Limagrain par rapport au standard.
Contexte projet
EasyWMS gère l'entrepôt automatique Limagrain avec une base Oracle. Le TMS Galileo contrôle les 4 transstockeurs, les convoyeurs, navettes et stations PIE. Les AGV sont gérés par un fournisseur tiers (non Galileo).
Architecture logicielle
graph TD
SAP[SAP EWM] -->|XML / Webservice| GNA[EasyWMS GNA]
GNA --> EWMS[EasyWMS Serveur]
EWMS --> BBDD[(Oracle DB)]
EWMS --> GW[EasyWMS Gateway]
GW -->|TCP 3000| GAL[Galileo TMS]
GAL --> TK[Transstockeurs x4]
GAL --> CONV[Convoyeurs]
GAL --> NAV[Navettes]
GAL --> PIE[Stations PIE x3]
EWMS --> LP[Label Printer Service]
EWMS --> WEB[Application Web EasyWMS]
EWMS --> PC[Application PC EasyWMS]
WEB --> TRF[Terminaux RF]
AGV[AGV - Fournisseur tiers] -.->|Interface séparée| EWMS
Composants serveur EasyWMS
| Composant | Rôle |
|---|---|
| Application serveur EasyWMS | Services de logique et gestion |
| Oracle DB | Base de données |
| EasyWMS GNA | Communication ERP (SAP) via XML/Webservice |
| EasyWMS Gateway | Communication Galileo (protocole frames TCP) |
| EasyWMS Label Printer | Impression étiquettes et documents |
Communication ERP
- Protocole : XML + Webservice
- ERP : SAP EWM
- Direction : bidirectionnelle (voir Messages ERP)
Stations PIE - Configuration spécifique
3 stations PIE installées :
| Station | Côté | Usage principal |
|---|---|---|
| PIE_01 | Quais (production) | Réception production directe |
| PIE_02 | Postes de travail | Réception ext./retours après traitement |
| PIE_03 | Postes de travail | Idem PIE_02 |
Mode d'insertion PIE
- Mode normal (known containers) : rejet si RFID inconnue
- [CUSTOM] Pas de message ASO au passage PIE
- [CUSTOM] Vérification poids avec tolérances par type article
- [CUSTOM] Mise à jour du « Poids de l'unité » du conteneur à chaque passage
Contrôle au PIE
| Contrôle | Valeur limite |
|---|---|
| Dimensions max | 1300 × 1100 × 1900 mm |
| Poids max | 1250 kg |
| État palette bois | Correct (visuel Galileo) |
| Lecture RFID | Obligatoire - doit être connue (ASN) |
Flux physiques dans l'entrepôt
Les flux sont majoritairement réalisés par des AGV (fournisseur tiers). EasyWMS communique les points de prise et de dépose ; le sens de prise/dépose est géré par le fournisseur AGV.
Deux entrées dans l'ASRS :
| Entrée | Côté | Usage |
|---|---|---|
| Entrée production | Quais (PIE_01) | Palettes production, palettes vides |
| Entrée postes de travail | Postes (PIE_02/03) | Palettes après traitement en poste |
En cas de blocage long terme sur une entrée, un bouton permet de rediriger les flux vers l'autre entrée.
Transmission du programme de filmage à la filmeuse (LIM-115)
Statut (LIM-115) : Ouvert. Cette tâche transmet le programme de filmage à Galileo ; elle ne le produit pas (choix opérateur au poste, stocké dans
CstAtt05, voir LIM-67).
Objectif : quand une palette quitte un poste d'identification (PIE) pour entrer dans l'ASRS, le WMS transmet automatiquement à Galileo le programme de filmage choisi par l'opérateur, sans action supplémentaire. Même principe que l'étiqueteuse automatique (custom data, pas de changement de route - voir Flux expédition - Communication Galileo).
Chaîne fonctionnelle
L'opérateur choisit le programme au poste (action « Terminer » en réception,
ou avant évacuation en picking) → valeur dans CstAtt05 → tâche d'évacuation
AGV vers la table d'entrée → passage filmeuse puis PIE → stockage ASRS. La
règle « on ne filme que si le PIE valide la palette » est structurellement
satisfaite : un mouvement de source PIE vers la table d'entrée (et non vers le
poumon de rejet) n'existe que si le PIE a dit OK.
Mécanisme
| Étape | Détail |
|---|---|
| Abonnement | Subscription custom sur l'event MovementCreated (modèle des Galileo_*EventHandler_PR), appelant un WF qui gère le CstData. Handler léger (event fréquent). |
| Filtre source | Récupérer la station source du mouvement (StationType + StationNumber) ; la comparer au paramètre des PIE concernés. Si absente → sortie immédiate. |
| Lecture programme | Depuis le mouvement → remonter au support (Container) → lire CstAtt05. Si vide ou = code « pas de filmage » (0) → forcer CstData à 0. Si destination = rejet (type de tâche) → forcer CstData à 0. |
| Écriture CustomData | Écrire dans le CustomData de la tâche parente. Idempotent (une tâche peut générer plusieurs mouvements). Pas de collision avec l'étiqueteuse : c'est un type de tâche différent (une même tâche n'est jamais à la fois filmage et étiquetage). |
| Transmission Galileo | Aucune commande spécifique : Galileo lit le CustomData à la transmission du mouvement (GalileoMovTrackingCreateCommand, transition Generated → In progress) et pilote la filmeuse. |
Séquence : Easy crée le mouvement en Generated → Galileo fait une recherche
d'ordre → Easy répond via GalileoMovTrackingCreateCommand (infos mouvement +
tâche liée) → le mouvement passe en Running.
Périmètre
- Stations déclenchantes : PIE_02, définies dans un paramètre (pas de code en dur) pour absorber une évolution de topologie.
- Flux couverts : tous les flux entrant vers l'ASRS via un poste d'identification zone travail (réception extérieure/intersite, retour picking vers ASRS, recertification, etc.). Mécanisme générique : teste uniquement la station source + la présence d'un programme sur le support.
- Hors périmètre : PIE_01 (entrée production, non filmée), PIE_03 (pas de
filmeuse après ce PIE), la pose de
CstAtt05(LIM-67) et la mécanique physique de la filmeuse (Galileo/TMS).
⚠️ Réconciliation : le tableau des stations PIE ci-dessus indique « PIE_03 = idem PIE_02 ». Pour le filmage, LIM-115 exclut PIE_03 (pas de filmeuse en aval). L'identité PIE_02/PIE_03 vaut pour le mode d'insertion, pas pour la filmeuse.
Rétention des données
| Entité | Durée standard | Souhait Limagrain |
|---|---|---|
| Transactions | 6 mois | 2 ans |
| Movements | 6 mois | 2 ans |
| Outbound Orders | 1 an | 2 ans |
| Inbound Orders | 1 an | 2 ans |
| Tasks | 1 an | 2 ans |
| Stock adjustments | 1 an | 2 ans |
⚠️ Mecalux doit étudier l'impact de la rétention 2 ans sur les prérequis serveurs pour éviter saturation DB et lenteurs.
Points d'attention
⚠️ Les interfaces AGV sont définies dans un document annexe séparé et peuvent impacter les flux fonctionnels.
⚠️ La banderoleuse (filmeuse) est située avant le PIE côté postes de travail - un contrôle capacité filmeuse est fait en amont du PIE.
Questions ouvertes
- ❓ Impact rétention 2 ans sur les performances Oracle (@Nicolas)
- ❓ Fournisseur AGV définitif et protocole d'interface (@Théo)
Historique des modifications
| Date | Auteur | Modification |
|---|---|---|
| 2026-05-05 | Arthur | Création initiale depuis AF V1.5 |
| 2026-07-20 | Arthur | LIM-115 (lecture directe, Ouvert) : nouvelle section « Transmission du programme de filmage à la filmeuse » (subscription MovementCreated, filtre station source PIE_02 via paramètre, lecture CstAtt05, force CstData=0 si vide/pas de filmage/destination rejet, écriture idempotente CustomData tâche, lecture Galileo via GalileoMovTrackingCreateCommand ; périmètre tous flux entrant ASRS via PIE_02, hors PIE_01/PIE_03) + caveat réconciliation PIE_03 (pas de filmeuse) ; front matter jira_refs/sources/tags/last_updated |
Références
| Source | Type | Date |
|---|---|---|
| FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 |
| LIM-115 | Ticket Jira (transmission du programme de filmage à Galileo/filmeuse) | 2026 |