Files
mcp-wms-wiki/wiki/limagrain/02-stockage/galileo-config.md
T
arthur 7496aafe64 lint(limagrain): corrections completes Phase 1+2
- 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
2026-07-20 12:56:42 +02:00

8.8 KiB
Raw Blame History

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
stockage
galileo
TMS
architecture
IT
filmage
PIE
draft architecture/galileo-integration.md
LIM-115
FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx
Jira LIM-115 (lecture directe 2026-07-20)
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