9ce6ae37be
- Em dashes: 1712 remplaces par tirets simples (86 fichiers + _index.md, en-tete section Limagrain conserve) - Checklists: 24 '- [ ]' -> '- ☐' (3 pages operations, plus de todos Obsidian) - Ancres: 33 reparees (slugs GitHub + ancres HTML <a id> reconnues), 1 reciblee (manuel de reten) - related: tenseflow -> tense-flow, pie -> mechanical-elements, group.md retire (doublon shipping) - Registre: compteur global 122 -> 131 pages - Rapport racine _lint_report.md mis a jour (scan v2 + re-scan final: 0 anomalie) - Aucun fichier limagrain/ modifie (cloisonnement)
202 lines
10 KiB
Markdown
202 lines
10 KiB
Markdown
---
|
||
title: "Pallet Shuttle"
|
||
type: module
|
||
sources:
|
||
- areas/pallet_shuttle/index.md
|
||
- areas/pallet_shuttle/ps.md
|
||
- areas/pallet_shuttle/ps_user.md
|
||
- areas/pallet_shuttle/agv_ps/index.md
|
||
- areas/pallet_shuttle/agv_ps/agv_ps_extract.md
|
||
- areas/pallet_shuttle/agv_ps/agv_ps_search.md
|
||
- areas/pallet_shuttle/agv_ps/agv_ps_cancel_task.md
|
||
- areas/pallet_shuttle/agv_ps/agv_ps_errors.md
|
||
- areas/pallet_shuttle/agv_ps/ps_battery.md
|
||
- areas/pallet_shuttle/agv_ps/parameters.md
|
||
- areas/pallet_shuttle/ps_user/index.md
|
||
- areas/pallet_shuttle/ps_user/ps_deposit.md
|
||
- areas/pallet_shuttle/ps_user/ps_extraction.md
|
||
- areas/pallet_shuttle/ps_user/ps_compact_location.md
|
||
- areas/pallet_shuttle/ps_user/ps_count.md
|
||
- areas/pallet_shuttle/ps_user/ps_status.md
|
||
- areas/pallet_shuttle/ps_user/ps_special_func.md
|
||
- areas/pallet_shuttle/ps_user/ps_configuration.md
|
||
- areas/pallet_shuttle/ps_app/index.md
|
||
- areas/pallet_shuttle/ps_app/ps_app_deposit.md
|
||
- areas/pallet_shuttle/ps_app/ps_app_extraction.md
|
||
- areas/pallet_shuttle/ps_app/ps_app_compact_location.md
|
||
- areas/pallet_shuttle/ps_app/ps_app_PSDiagnosis.md
|
||
- areas/pallet_shuttle/ps_app/ps_app_manual_mode.md
|
||
- areas/pallet_shuttle/views/pallet_shuttle.md
|
||
related:
|
||
- modules/agv.md
|
||
- concepts/location.md
|
||
- concepts/container.md
|
||
- concepts/task.md
|
||
- concepts/stations.md
|
||
last_compiled: "2026-04-10"
|
||
---
|
||
|
||
# Pallet Shuttle
|
||
|
||
## Overview
|
||
|
||
The Pallet Shuttle module integrates motorized container transport carts (pallet shuttles) into Easy WMS warehouse operations. A pallet shuttle is a WIFI-controlled cart that moves autonomously within the deep channels of compact racking systems, transporting containers to and from the channel entrance without requiring a forklift to enter the aisle.
|
||
|
||
Each pallet shuttle operates in one of two storage modes:
|
||
- **LIFO** (Last In First Out): loading and unloading always at the same channel end
|
||
- **FIFO** (First In First Out): loading from one end, unloading from the other
|
||
|
||
The module eliminates the need for forklifts to reach deep positions, dramatically increasing storage density and reducing travel time. Operators control the shuttle via a tablet (SmartUI workstation or native app), while Easy WMS manages the stock movements. When the AGV module is also installed, pallet shuttle transport between channels is automated.
|
||
|
||
## Key capabilities
|
||
|
||
- Container deposit and extraction in compact rack channels (LIFO and FIFO modes)
|
||
- Channel compaction (push containers toward front or back for space optimization)
|
||
- Inventory count directly from the pallet shuttle interface
|
||
- FIFO mode: automatic inversion detection (cart orientation tracked)
|
||
- Battery management: automatic dispatch to charging station when low; auto-retrieval when full
|
||
- AGV integration: automated PS relocation between channels without manual forklift intervention
|
||
- Multi-site support: same PS can be registered in two different warehouses (for shared PS in multi-site)
|
||
- Two control interfaces: SmartUI workstation (browser-based) and native tablet app (Windows UWP / iOS / Android)
|
||
|
||
## Architecture
|
||
|
||
### Pallet shuttle types
|
||
Each PS hardware model is registered as a **pallet shuttle type** with:
|
||
- Version (firmware)
|
||
- Horn (for locating lost carts by sound)
|
||
- Camera (assists forklift operators with placement)
|
||
- Electromagnet (attaches to forklift forks for safe transport - required for AGV integration)
|
||
- Maximum weight and compatible container types
|
||
- Container type mapping (PS internally uses A, B, C… labels; mapping to WMS container types required)
|
||
|
||
### PS attributes
|
||
|
||
| Field | Description |
|
||
|-------|-------------|
|
||
| Number | Identifies the PS (labeled on the cart) |
|
||
| IP address (PLC) | Network address for WMS communication |
|
||
| IP address (camera) | Camera communication address |
|
||
| Status | Available, faulty, mode, etc. |
|
||
| Current task | Extraction, deposit, compacting, etc. |
|
||
| Last known location | Last confirmed location of the cart |
|
||
| Input aisle | For FIFO channels: the entry aisle code |
|
||
| Estimated battery charging time (min) | 0–300; empty if not charging |
|
||
|
||
### PSService
|
||
A service called **PSService** centralizes communication between tablets and the physical pallet shuttles. Both the SmartUI workstation app and the native tablet app use this service. **Note**: the two modes are mutually exclusive - the service is configured for either SmartUI or the native app, not both simultaneously.
|
||
|
||
### Native app modes
|
||
- **Simple mode**: tablet → PSService → pallet shuttle (recommended for full WMS integration)
|
||
- **Multi mode**: tablet communicates directly with PS (no WMS integration of stock movements)
|
||
|
||
## Configuration
|
||
|
||
1. Configure compact rack locations with appropriate storage mode (LIFO or FIFO) in EasyS/EasyAssistant
|
||
2. Register pallet shuttle types with container type mappings
|
||
3. Register individual pallet shuttles (IP, PLC, camera, type)
|
||
4. Install and configure PSService (see implementation documentation)
|
||
5. For AGV integration: configure AGV module, create routes between PS locations and AGV stations
|
||
|
||
### Key parameters (AGV-PS integration)
|
||
|
||
| Parameter | Default | Description |
|
||
|-----------|---------|-------------|
|
||
| `PS_MAX_MINUTES_BATTERY_FULL_LOAD` | 300 | Minutes of charging before battery considered 100% |
|
||
| `PS_MIN_MINUTES_BATTERY_LOAD` | 90 | Minimum minutes charged before PS can be dispatched to tasks |
|
||
|
||
## Operations
|
||
|
||
### Manual operation (SmartUI workstation or native app)
|
||
|
||
**Deposit (putaway)**
|
||
- **Simple deposit**: one container → placed at deepest available position
|
||
- **Continuous deposit**: multiple containers sequentially into same channel; PS compacts after each
|
||
- Putaway strategies must prevent mixing different items in the same channel
|
||
|
||
**Extraction**
|
||
- **Simple extraction**: one container → brought to channel entrance
|
||
- **Continuous extraction**: sequential extraction of multiple containers
|
||
- Abort action stops PS immediately and deposits load at current depth
|
||
|
||
**Compaction**
|
||
- **LIFO Compaction to outbound**: pushes all containers toward channel entrance (faster extraction)
|
||
- **LIFO Compaction to inbound**: pushes all containers to channel back (maximizes entry space)
|
||
- **FIFO Compaction**: pushes to extraction end (FIFO correctness and capacity maximization)
|
||
- After physical compaction, operator must register the compaction in WMS to update available space
|
||
|
||
**Special functions**
|
||
- Change last known location (if PS was moved manually)
|
||
- Send PS to charging station (manual override via "Send PS to charging station" action)
|
||
- Extract PS from charging station (manual via "Extract PS from charging station" action)
|
||
|
||
### AGV-PS integration operations
|
||
|
||
**PS search algorithm (when no PS is in a required channel)**
|
||
Search criteria (all must be met):
|
||
1. PS is activated and connected
|
||
2. Mode is automatic
|
||
3. Not on low battery
|
||
4. Not linked to active receiving/shipping locations
|
||
5. Not assigned to equipment
|
||
6. Not in failure state
|
||
7. Priority: closest to the target location
|
||
|
||
**PS transport flow** (load type = `1`, electromagnet activated at phase 06, deactivated at phase 10):
|
||
- WMS sends PS transport order
|
||
- AGV system accepts (00) → assigns AGV (03) → requests load permission (04)
|
||
- WMS verifies PS is at load location → sends load auth
|
||
- AGV confirms load (06) - electromagnet activated
|
||
- AGV confirms unload (10) - electromagnet deactivated, new PS location reported
|
||
|
||
**FIFO specifics**: PS can be extracted from either end of channel. System tracks orientation (`inverted signal` field) to ensure correct placement direction.
|
||
|
||
**Error flag reset**: When AGV extracts/deposits a PS, error flags (tilt, fault) are reset and checked. If error persists after reset, all tasks for that PS are canceled and user is notified.
|
||
|
||
### Background jobs (AGV-PS mode)
|
||
|
||
| Job | Interval | Purpose |
|
||
|-----|----------|---------|
|
||
| Search waiting AGV tasks | 10s | Send pending tasks to AGV system |
|
||
| Search fully charged PS | 5min | Extract PS from charging station when needed |
|
||
| Search low battery PS | 10s | Dispatch low-battery PS to charging station |
|
||
| Search tasks pending unload | 10s | Retry tasks stuck at unload permission |
|
||
| Search tasks pending load | 10s | Retry tasks stuck at load permission |
|
||
| Search channels with first position occupied | 10s | Execute deposit tasks for PS with waiting containers |
|
||
|
||
### Battery management
|
||
|
||
**Automatic (AGV required)**:
|
||
- Low battery flag → WMS creates AGV task → PS transported to available charging station → charging time counter starts at 0 and counts to 300 (minutes)
|
||
- Full charge (300 min, configurable via `PS_MAX_MINUTES_BATTERY_FULL_LOAD`) → AGV task created to extract PS **if** another PS needs the station or there are pending tasks with no other PS available
|
||
- Minimum charge (`PS_MIN_MINUTES_BATTERY_LOAD` = 90 min) → PS can be extracted early if urgently needed
|
||
|
||
**Manual** (web interface, Pallet Shuttles view):
|
||
- "Send PS to charging station" action (available when PS is not already at a charging station)
|
||
- "Extract PS from charging station" action (available for PS at charging location)
|
||
|
||
## Errors & troubleshooting
|
||
|
||
### PS error indicators (AGV context)
|
||
- **Fault flag**: Caused by multiple reasons. Reset → retry. If flag re-activates: all PS tasks canceled, user notified, PS unavailable for new tasks
|
||
- **Tilt error**: PS mispositioned in channel. Reset → retry. Same cancellation behavior if persistent
|
||
- **Low battery**: PS completes current tasks → returns to pickup position → disconnects → awaits AGV dispatch to charging. If no charging station available: user notified
|
||
|
||
### Extraction error (AGV picks up PS)
|
||
Task canceled; location marked with "For AGV" lock type; user notified. No container relocation (PS was the payload, not a container).
|
||
|
||
### Putaway error (AGV deposits PS)
|
||
Task canceled; PS relocated to available location with no pending tasks; location marked with "For AGV" lock type; user notified.
|
||
|
||
### Cancellation of AGV-PS tasks
|
||
- **Task pending (waiting/pending shipping with CREATE action)**: Can be canceled - AGV system not yet involved
|
||
- **Task in process (any other state)**: Cannot be canceled - movement will complete at destination
|
||
|
||
## Related
|
||
|
||
- [[agv]] - AGV module handles automated PS transport; all PS movements with AGVs use AGV task infrastructure
|
||
- [[location]] - Compact rack channels (multi-deep) are the PS's operating environment; LIFO/FIFO mode per location
|
||
- [[container]] - PS transports containers within channels; simple/continuous deposit and extraction
|
||
- [[task]] - PS operations generate WMS tasks (putaway, extraction) tracked in the standard task system
|
||
- [[stations]] - PS charge stations (type 66, PSCharge), PS type station in warehouse layout
|