Files
mcp-wms-wiki/wiki/limagrain/03-picking/stations-picking.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

340 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Stations et postes de travail Limagrain"
tags: [picking, stations, postes, ilots, buffer]
status: draft
standard_ref: concepts/stations.md
jira_refs: [LIM-69, LIM-70]
confluence_refs: []
sources: [FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5.docx, "Réception - LIMAGRAIN - DEV - Confluence.md", "Expédition - LIMAGRAIN - DEV - Confluence.md", "LIM-69 - LOT1.3 Modes de travail des PK.md"]
last_updated: 2026-07-17
author: Arthur
---
# Stations et postes de travail Limagrain
> **Résumé** : description des stations de l'entrepôt automatique, des
> postes de travail polyvalents (3 îlots × 2 postes) et des buffers associés.
> **Standard EasyWMS** : → voir [Stations & Routes](../../concepts/stations.md),
> [Mechanical Elements](../../concepts/mechanical-elements.md)
> Ce qui suit documente les **spécificités Limagrain** par rapport au standard.
## Contexte projet
Chez Limagrain, les postes de travail sont **polyvalents** et multi-processus.
L'ensemble des opérations (réception, picking, regroupement, échantillonnage,
re-certification) se fait sur les mêmes postes physiques, configurables
dynamiquement.
## Cartographie des stations
### Zone entrée production / sortie expéditions
| Station | Description |
|---------|-------------|
| PIE_01 | Poste d'identification 01 (côté quais) |
| NAV_01 | Navette 01 |
### Zone entrée/sortie postes de travail
| Station | Description |
|---------|-------------|
| PIE_02 | Poste d'identification 02 |
| PIE_03 | Poste d'identification 03 |
| REAC_01 | Poste de reconditionnement 01 |
| NAV_02 | Navette 02 |
| ET_21, ET_22 | Tables intermédiaires |
### Zone stockage côté postes de travail
| Station | Description |
|---------|-------------|
| ET_23 à ET_28 | Tables intermédiaires 23 à 28 |
| TE_01 à TE_04 | Tables d'entrée 01 à 04 |
| TS_01 à TS_04 | Tables de sortie 01 à 04 |
### Zone stockage côté quais
| Station | Description |
|---------|-------------|
| ET_11 à ET_15 | Tables intermédiaires 11 à 15 |
| TE/TS_01 à TE/TS_04 | Tables mixtes entrée/sortie 01 à 04 |
### Zone postes de travail
| Station | Description |
|---------|-------------|
| P1 à P6 | Postes de travail 01 à 06 |
| TP11 à TP63 | Tables de préparation 11 à 63 |
## Postes de travail - Architecture physique
### 3 îlots de 2 postes
Physiquement, il y a **3 îlots**, chacun composé de **6 tables de préparation
(TP)**. Chaque îlot peut être configuré de 2 façons :
1. **Mode scindé** : 2 postes individuels × 3 TP chacun (mode par défaut)
2. ~~**Mode global** : 1 poste × 6 TP (mode « esclave »)~~ **ABANDONNÉ**
> **MISE À JOUR** : le mode esclave (6 TP) est abandonné au profit d'un
> simple **message d'avertissement**. Si le poste adjacent est déjà
> ouvert → « Attention, le poste PVx est déjà ouvert. Voulez-vous quand
> même ouvrir ? ». L'opérateur peut confirmer ou annuler. Pas de blocage
> technique, juste un avertissement.
>
> **Justification** : les opérateurs sont physiquement à ~2 mètres l'un
> de l'autre et peuvent se coordonner verbalement. Les AGV ont des
> capteurs de sécurité et demandent l'autorisation de dépose. Trop de cas
> complexes à gérer avec un mode esclave custom. L'AGV amène toujours la
> palette au centre du PV actif.
>
> **Développement** : message d'avertissement à l'ouverture du poste,
> vérification si le poste conjoint est déjà ouvert (via support présent
> ou poste en mode réception), workflow action sur le end process pour
> fermer le poste.
### Numérotation
```
Îlot 1 : P1 (TP11, TP12, TP13) | P2 (TP21, TP22, TP23)
Îlot 2 : P3 (TP31, TP32, TP33) | P4 (TP41, TP42, TP43)
Îlot 3 : P5 (TP51, TP52, TP53) | P6 (TP61, TP62, TP63)
```
### Spécificités P5 & P6
Les postes **P5 et P6** sont équipés d'un **palan** pour la manipulation
de big-bags. Toute opération impliquant un big-bag (bag/pal ≤ 2) doit
être traitée sur P5 ou P6.
**Picking** : WS PK picking rob en priorité, process RF comme fallback
(plus robuste pour picking négatif, multi-tables). Le process de réception
est déjà plugué au mode Automatic tasks (custom) → même mode pour le
picking et la recertification.
Voir [Flux expédition - Préparation](../04-outbound/flux-expedition.md#6-préparation-au-poste-de-travail)
pour les règles détaillées (arrivée palettes 3 TP, algorithme répartition,
ordonnancement par gerbabilité).
### Modes de travail - Configuration et fonctionnement
> **Statut (LIM-69)** : revue de code validée le 31/03/2026, livré en
> **pré-production** (test client). Une première revue (26/03) avait été
> rejetée : préfixe `CST_` manquant sur le paramètre
> `AdjacentPickingStation` → `CST_AdjacentPickingStation`, et suffixe `_1`
> à ajouter sur la ressource paramétrée `CST_Picking_ConfirmOpenWithAdjacent`
> → `CST_Picking_ConfirmOpenWithAdjacent_1`.
Chaque poste est **polyvalent** et peut être utilisé pour différents flux.
Le manager configure les modes autorisés et leur priorité ; l'opérateur
ouvre le poste et le WMS gère automatiquement le process en fonction de
la palette qui arrive.
#### Modes disponibles
| Mode | Correspondance EasyWMS |
|------|------------------------|
| Picking | Picking |
| Réception | Réception |
| Regroupement | Consolidation |
| Échantillonnage | Inventaire |
| Re certification | Picking |
> ~~Mode esclave (3 ou 6 tables)~~ **ABANDONNÉ** - remplacé par un simple
> message d'avertissement poste adjacent (voir section dédiée ci-dessous).
#### Configuration par le manager (vassist SmartUI)
Dans la vue des postes de travail, un **bouton d'action "Choix modes de
travail"** est disponible à la sélection d'un ou plusieurs PK. Ce bouton
ouvre une **vassist** qui permet de :
- **Cocher/décocher les modes autorisés** parmi les 5 modes ci-dessus
- **Définir la priorité** de chaque mode coché via un champ numérique
(séquence)
**Règles de validation** à la soumission :
- Chaque mode coché doit avoir une priorité renseignée
- Un mode non coché ne doit pas avoir de priorité
- Au moins un mode doit être coché (pour bloquer un PK, utiliser le
bouton standard dédié)
> **Reversal** : les contraintes initialement prévues sur les priorités
> (séquence continue à partir de 1, pas de doublon, pas de trou) ont été
> **abandonnées**. Les priorités sont de simples entiers libres ; seuls
> subsistent les contrôles ci-dessus. Deux ressources d'erreur portent la
> validation : `CST_VAssistantAssignWorkMode_Error_NoMode` (aucun mode
> coché) et `CST_VAssistantAssignWorkMode_Error_ParamNotFound` (paramètre
> système manquant).
**Stockage** : la configuration est enregistrée dans un **paramètre
SmartUI dédié par PK** au format :
```
MODES_PK01 = "RECEPTION;1|PICKING;2|CONSOLIDATION;3"
MODES_PK02 = "RECEPTION;1"
```
Chaque entrée : `MODE;PRIORITÉ` séparés par `|`.
Cette configuration est utilisée par le
[Mega Job d'assignation](job-assignation-pk.md)
([LIM-70](https://easywmsfrance.atlassian.net/browse/LIM-70)) pour
déterminer si un PK est éligible à recevoir des tâches d'un flux donné
et dans quel ordre de priorité.
#### Ouverture du poste par l'opérateur (SmartUI)
L'opérateur accède à **Poste de travail > Station de picking**.
L'interface affiche un **bouton "Fermer le poste"** toujours visible.
Par défaut, le poste fonctionne en **tâche automatique** : le WMS
choisit le bon process en fonction de la palette qui arrive ou qui est
déjà sur le PK. L'opérateur n'a pas à sélectionner manuellement un mode.
#### Avertissement poste adjacent
À chaque ouverture d'un PK, le WMS vérifie si le **poste adjacent** est
déjà ouvert (en mode actif). Le mapping des paires est défini dans le
paramètre `PK_ADJACENT`.
**Si le poste adjacent est actif** → message d'avertissement (y compris
en mode tâche automatique) :
> "Attention, le poste [CODE_PK_ADJACENT] est déjà ouvert.
> Voulez-vous quand même ouvrir ?"
- Bouton **Confirmer** : le PK s'ouvre normalement
- Bouton **Annuler** : le PK reste inactif
**Pas de blocage technique** - uniquement informatif. Les opérateurs sont
physiquement à ~2 mètres et peuvent se coordonner verbalement. Les AGV
ont des capteurs de sécurité et demandent l'autorisation de dépose.
#### Fermeture du poste
Le bouton **"Fermer le poste"** est toujours visible quel que soit l'état.
Au clic :
- Le PK est remis en mode **inactif** (aucun mode actif)
- Le PK redevient éligible pour une nouvelle assignation par le
[Mega Job](job-assignation-pk.md) (sous réserve qu'il n'ait plus de
tâches actives)
#### Paramètres modes de travail
| Paramètre | Description | Valeur par défaut | Exemple |
|-----------|-------------|-------------------|---------|
| MODES_PKxx | Modes autorisés + priorité pour le PK xx (un par PK, via vassist) | _(vide)_ | `RECEPTION;1\|PICKING;2` |
| PK_ADJACENT | Paires de postes adjacents | _(vide)_ | `PK01;PK02\|PK03;PK04` |
#### Éléments AD (LIM-69)
| Élément AD | Type | Rôle |
|------------|------|------|
| `CST_PkStationWorkMode` | Entité | Contient le mode et la priorité - sert à afficher les modes configurés dans `PkMpVList` |
| `CST_PkStationWorkMode_ForView` | Query | Récupère les modes autorisés (paramètre `MODES_PKxx`) pour toutes les stations de picking |
| `CST_PickingStation_Adjacent` | Query | Récupère la station adjacente configurée dans `PK_ADJACENT` |
| `CST_VAssistAssignWorkMode` | Vue (vassist) | Assistant de choix des modes autorisés et de leur priorité sur un PK |
| `PkMpVList` | Vue | Ajout du bouton « Choix modes de travail » ; bouton d'ouverture modifié pour contrôler le statut du poste adjacent et demander confirmation |
| `WorkStation_Picking_OpenCloseStation_UI` | Workflow | Contrôle le statut du poste adjacent et demande confirmation s'il est ouvert (paramètre `CST_AdjacentPickingStation`) |
**Ressources** (FR / EN) : `CST_Prop_WorkMode_Mode` (Mode de travail / Working
mode), `CST_Prop_WorkMode_Priority` (Priorité / Priority),
`CST_PkMpVList_WorkModes` (Modes de travail / Working modes),
`CST_VAssistantAssignWorkMode_Title` (Choix modes de travail / Working modes
selection), libellés des 5 modes
(`CST_VAssistantAssignWorkMode_Reception|Picking|Consolidation|Count|Certification`),
et `CST_Picking_ConfirmOpenWithAdjacent_1` (message d'avertissement poste
adjacent).
### Équipement par poste
- 1 poste léger EasyWMS dupliqué sur 2 écrans
- 1 imprimante Zebra (étiquettes HU RFID)
- 1 imprimante A4 (étiquettes A4)
- 1 douchette multi-format (RFID, QR Code, code à barres)
## [CUSTOM] Mega Job d'assignation des tâches aux postes
→ Voir page dédiée : **[Job d'assignation PK](job-assignation-pk.md)**
([LIM-70](https://easywmsfrance.atlassian.net/browse/LIM-70))
Job unique « chef d'orchestre » qui vérifie les modes de travail pour
chaque PK et orchestre l'envoi de tâches via des sous-workflows dédiés
(LIM-74, LIM-75 annulé → LIM-82). Transverse à tous les flux (réception, picking,
regroupement, échantillonnage, re certification).
## Buffer postes de travail
16 emplacements palettes au sol le long de l'allée TK_01 :
| Nb emplacements | Usage |
|-----------------|-------|
| 14 | Avance pour les processus en cours |
| 2 | Piles de palettes vides |
> ⚠️ 2 emplacements supplémentaires pour palettes rejetées en attente de
> libération d'un poste de travail.
### [CUSTOM] Buffer configurable
Les emplacements du buffer sont **interchangeables** : un champ « type de
fonctionnement » peut être modifié quand l'emplacement est vide.
### [CUSTOM] Bouton d'évacuation
Un bouton spécifique sur l'écran EasyWMS permet d'évacuer automatiquement
une palette du buffer vers le convoyeur d'entrée pour stockage.
## Piles de palettes vides par poste
- **2 piles par îlot de travail** (et non par poste individuel)
- Emplacement picking dédié pour réapprovisionnement automatique sur
seuil
- Aide à la manutention sur chaque poste pour prendre/poser des palettes
- [CUSTOM] Bouton WfAction pour demander ou renvoyer une pile -
l'opérateur choisit la pile à réapprovisionner parmi une liste
Voir [Palettes vides](../02-stockage/palettes-vides.md) pour le détail.
## Points d'attention
⚠️ Un poste fermé ne peut pas être assigné à un processus.
⚠️ L'assignation automatique du poste optimise la distance la plus courte.
⚠️ Si une TP est HS, elle peut être bloquée individuellement sans impacter
le reste du poste.
⚠️ L'entrée côté postes de travail et l'entrée côté quais sont
interchangeables manuellement en cas de blocage long terme (bouton de
redirection).
## Questions ouvertes
- ❓ Détail de la gestion des tables de préparation bloquées (@Nicolas)
- Affichage des priorités de modes dans un ordre croissant dans la vassist -
demandé par Justine (20/05/2026), non tranché (LIM-69).
## Historique des modifications
| Date | Auteur | Modification |
|------|--------|--------------|
| 2026-05-05 | Arthur | Création initiale depuis AF V1.5 |
| 2026-05-05 | Arthur | Mode esclave abandonné, job transverse, vassist modes, 2 piles/îlot |
| 2026-05-05 | Arthur | Cross-ref flux expédition, picking WS vs RF, contrainte Big-Bag |
| 2026-05-12 | Arthur | Détail modes de travail (LIM-69) : vassist manager, paramètres MODES_PKxx/PK_ADJACENT, tâche automatique, avertissement adjacent, fermeture poste. Renvoi job vers page dédiée (LIM-70) |
| 2026-07-17 | Arthur | Relecture commentaires LIM-69 : ajout éléments AD (CST_PkStationWorkMode, queries, vassist, WF OpenCloseStation, ressources), statut pré-production + historique revue de code (préfixe CST_, suffixe _1), reversal contraintes de priorité (entiers libres), question ordre croissant (Justine) |
## Références
| Source | Type | Date |
|--------|------|------|
| FR-SW-04-07_LIMAGRAIN_Functional_Analysis_V1.5 | Analyse fonctionnelle | 28/11/2025 |
| Réception - LIMAGRAIN - DEV - Confluence | Page ateliers DEV | 2026 |
| Expédition - LIMAGRAIN - DEV - Confluence | Page ateliers DEV | 2026 |
| [LIM-69](https://easywmsfrance.atlassian.net/browse/LIM-69) | Ticket Jira (6 commentaires) | 2026-03 → 2026-06 |