7496aafe64
- 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
198 lines
8.8 KiB
Markdown
198 lines
8.8 KiB
Markdown
---
|
||
title: "Configuration Galileo - Limagrain"
|
||
tags: [stockage, galileo, TMS, architecture, IT, filmage, PIE]
|
||
status: draft
|
||
standard_ref: architecture/galileo-integration.md
|
||
jira_refs: [LIM-115]
|
||
confluence_refs: []
|
||
sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "Jira LIM-115 (lecture directe 2026-07-20)"]
|
||
last_updated: 2026-07-20
|
||
author: 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](../../architecture/galileo-integration.md),
|
||
> [System Architecture](../../architecture/overview.md)
|
||
> 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
|
||
|
||
```mermaid
|
||
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](../06-erp-interface/messages-reference.md))
|
||
|
||
## 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](../04-outbound/flux-expedition.md#communication-galileo-lim-111)).
|
||
|
||
### 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](https://easywmsfrance.atlassian.net/browse/LIM-115) | Ticket Jira (transmission du programme de filmage à Galileo/filmeuse) | 2026 |
|