lint(standard): corrections completes mode standard

- 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)
This commit is contained in:
2026-07-20 13:01:21 +02:00
parent 7496aafe64
commit 9ce6ae37be
88 changed files with 1769 additions and 1871 deletions
+30 -30
View File
@@ -25,7 +25,7 @@ last_compiled: "2026-04-17"
EasyS is the 3D simulation front-end that speaks the same protocol as GALILEO. Running EasyS + EasyWMS Gateway on a dev VM lets you reproduce the full robotic flow (PIE → Miniload → PK → PS) without physical hardware. This page covers Gateway install, EasyS simulation configuration, PIE event injection, pick/shipping test flows, and station/route synchronisation procedures.
Shared demo environment (Mecalux France):
- VM **ALL** on server **LYOITSW02** IP `10.58.10.75`
- VM **ALL** on server **LYOITSW02** - IP `10.58.10.75`
- Credentials: `mecalux / mecalux`
- Warehouse: `WRH_MIXTE` (miniload + conveyor path)
@@ -45,10 +45,10 @@ File: `C:\ProgramData\Mecalux\EasyWMS Gateway 2015\Config\MainObject.config`
1. Set **tenantCode** = the WMS tenant you want to target
2. Fill the **TokenUser** connection section (not `ClientUser`)
3. Passwords must be encrypted run `PasswordEncrypt.exe` from `C:\Program Files\Mecalux\EasyWMS Gateway 2015`
3. Passwords must be encrypted - run `PasswordEncrypt.exe` from `C:\Program Files\Mecalux\EasyWMS Gateway 2015`
4. Start the Windows service **EasyWMSGateway2015**
Logs go to `C:\ProgramData\Mecalux\EasyWMS Gateway 2015\Logs\AllLog.log` see [Galileo Troubleshooting](galileo-troubleshooting.md).
Logs go to `C:\ProgramData\Mecalux\EasyWMS Gateway 2015\Logs\AllLog.log` - see [Galileo Troubleshooting](galileo-troubleshooting.md).
## 2. Open port 3000 on the VM
@@ -82,8 +82,8 @@ Every miniload location must be bound to a **rack type** with the exact dimensio
At each PIE pass, GALILEO returns:
- **PLC Container Type** derived from width
- **PLC Height Type** derived from height
- **PLC Container Type** - derived from width
- **PLC Height Type** - derived from height
Procedure:
@@ -108,10 +108,10 @@ To simulate a TK, add an **Automatic Aisle**. The aisle ↔ rack link works like
| Automatic Aisle | Stacker crane / Miniload |
| PIE | Entry identification (label + weigh) |
| Picking (PK) | Picking conveyor |
| PKE | PK entry control if full, recirculate |
| PKE | PK entry control - if full, recirculate |
| Inbound Table (ME) | Conveyor into the TK/Miniload |
| Outbound Table (MS) | Conveyor out of the TK/Miniload |
| CME | TK/Miniload entry control if full, recirculate |
| CME | TK/Miniload entry control - if full, recirculate |
| Outbound Post | Exit conveyor (operator can pick the container up) |
| MP | Preparation table (stock drop after pick) |
| Transporter | Plain conveyor with no special function |
@@ -122,12 +122,12 @@ Full catalogue: [Stations & Routes](../concepts/stations.md); translation matrix
Two layout patterns for double-depth racks:
- **Case #1** (most common at Mecalux France) best for **mono-product** supports (several supports share the same item inside the TK). Rotation zones split by front face / rear face.
- **Case #2** best for **multi-product** supports (a given item never lives in two supports simultaneously). Reduces relocations during picking without pre-emptive defragmentation.
- **Case #1** (most common at Mecalux France) - best for **mono-product** supports (several supports share the same item inside the TK). Rotation zones split by front face / rear face.
- **Case #2** - best for **multi-product** supports (a given item never lives in two supports simultaneously). Reduces relocations during picking without pre-emptive defragmentation.
### 3.7 Route configuration
Every movement needs a route in EasyS between origin and destination. A single task `PIE → Miniload` typically generates **4 movements** the WMS creates one task, but the routing table must allow every hop.
Every movement needs a route in EasyS between origin and destination. A single task `PIE → Miniload` typically generates **4 movements** - the WMS creates one task, but the routing table must allow every hop.
> If no path exists, EasyWMS generates a **reject task** toward the reject station.
@@ -147,7 +147,7 @@ Multiple containers can sit on a TE/TS at once:
1. Size the table large enough physically
2. Lay out containers in **Positions** (side by side) and **Stack** (one behind the other)
3. **Logical X = 991** except tables embedded in the rack, which inherit the replaced location's coordinates
3. **Logical X = 991** - except tables embedded in the rack, which inherit the replaced location's coordinates
### 3.9 Multidirectional tables (LTM)
@@ -157,7 +157,7 @@ Set `routing options = 1` for every feeder conveyor allowed to deposit a contain
1. Add a conveyor with role **Picking**
2. Create a **Workstation** to drive the station from SmartUI
3. Define routes where stock can arrive from, where it can leave to
3. Define routes - where stock can arrive from, where it can leave to
Preparation table (TP/MP) routes:
- **Manual** route from picking table → preparation tables
@@ -172,7 +172,7 @@ The reject route lets the WMS redirect containers with no valid route.
- Add a **VIRTUAL** route → floor zone so lost containers are moved off the simulation automatically
- Reject routes render in **red**. Unlike normal routes, the red route gives the **task destination** (not the movement destination).
Different rejection reasons (`IdentError`) can point to different destinations see [IdentErrorType](https://msscc.mecalux.com/documentation/Development/master/ES/apis/easywms/Domain/IdentErrorType.md).
Different rejection reasons (`IdentError`) can point to different destinations - see [IdentErrorType](https://msscc.mecalux.com/documentation/Development/master/ES/apis/easywms/Domain/IdentErrorType.md).
## 4. SmartUI workstation configuration
@@ -183,14 +183,14 @@ Companion configuration once the EasyS layout is in place.
Each preparation table is linked to a picking station. After picking confirmation, stock moves from the container to the chosen preparation table.
**Assignment mode:**
- **Automatic** WMS assigns the next order to a table
- **Manual** operator assigns via **Menu → Control → Picking-station assignment**
- **Automatic** - WMS assigns the next order to a table
- **Manual** - operator assigns via **Menu → Control → Picking-station assignment**
> ⚠️ In manual mode, **tasks do not generate until the shipping order is assigned to a table**.
To switch mode: **Menu → Control → Workstations** → select preparation table(s) → **Modify assignment mode**.
> ⚠️ The preparation table must have a route to the shipping dock of the order otherwise tasks won't generate.
> ⚠️ The preparation table must have a route to the shipping dock of the order - otherwise tasks won't generate.
### 4.2 Picking table max-concurrent orders
@@ -206,7 +206,7 @@ To cap how many orders a picking table can handle in parallel:
2. Click **Start**
3. Enter the WMS server IP → **Next**
4. Uncheck **Generate simulation report** → click **Simulation 3D**
5. Watch the Gateway log (`AllLog.log`) lots of lines with no errors = connection OK
5. Watch the Gateway log (`AllLog.log`) - lots of lines with no errors = connection OK
## 6. Inject a container at the PIE
@@ -218,9 +218,9 @@ To cap how many orders a picking table can handle in parallel:
- Container Type: corresponding PLC Container Type
- Weight
- Height Type: corresponding PLC Height Type
4. Click **Save** a pallet/bin visibly moves on the conveyor
4. Click **Save** - a pallet/bin visibly moves on the conveyor
> ⚠️ **Valid putaway strategies must exist** even for empty containers. No valid location ⇒ reject.
> ⚠️ **Valid putaway strategies must exist** - even for empty containers. No valid location ⇒ reject.
### Simulate a read error
@@ -228,7 +228,7 @@ Tab **Scripts** on the PIE → **Prepare event** → paste:
```
machine.Flags = "256";
```
Then inject the container. `256` = barcode error (see [GALILEO Integration PIE flag table](../architecture/galileo-integration.md)).
Then inject the container. `256` = barcode error (see [GALILEO Integration - PIE flag table](../architecture/galileo-integration.md)).
## 7. Extract a container from the miniload
@@ -258,7 +258,7 @@ On order release, the WMS:
Tasks are of type `pickingContainer`. After pick confirmation: **Store container****Liberate** to return the container to the miniload.
> Verify preparation-table config **before** launching an order tasks won't generate if routes to the dock are missing.
> Verify preparation-table config **before** launching an order - tasks won't generate if routes to the dock are missing.
## 8. Speed up simulation
@@ -287,7 +287,7 @@ Context.StationRoutes.Where(sr => sr.Manager.ToString() == "Galileo")
? sr.StationTo.RealLocations.FirstOrDefault().LogicalCoordinate.Side : 0,
AisleNumber = sr.StationTo.AisleNumber
})
// union with StationFrom full query on Confluence
// union with StationFrom - full query on Confluence
.OrderBy(sr => sr.StationType)
.ThenBy(sr => sr.StationNumber)
```
@@ -315,16 +315,16 @@ More diagnostic steps: [Galileo Troubleshooting](galileo-troubleshooting.md).
## Common errors
- **Container injected at PIE but immediately rejected** no valid putaway strategy covers the (container type, height type) combo, or no route exists to any storage location
- **Tasks don't generate after order launch** preparation table has no route to the dock, or assignment mode is Manual and the order isn't assigned
- **Station stays loaded indefinitely in EasyS** Manual Action ticked without running Liberate
- **Gateway starts but no activity** wrong `tenantCode` or `TokenUser` password; check Gateway log
- **Connection refused from EasyS** port 3000 not open, or Gateway service not started
- **Container injected at PIE but immediately rejected** - no valid putaway strategy covers the (container type, height type) combo, or no route exists to any storage location
- **Tasks don't generate after order launch** - preparation table has no route to the dock, or assignment mode is Manual and the order isn't assigned
- **Station stays loaded indefinitely in EasyS** - Manual Action ticked without running Liberate
- **Gateway starts but no activity** - wrong `tenantCode` or `TokenUser` password; check Gateway log
- **Connection refused from EasyS** - port 3000 not open, or Gateway service not started
## Related
- [GALILEO Integration](../architecture/galileo-integration.md) protocol reference
- [Galileo Troubleshooting](galileo-troubleshooting.md) log patterns, fault codes
- [Robotics Project Lifecycle](robotics-project-lifecycle.md) where simulation fits in the project plan
- [GALILEO Integration](../architecture/galileo-integration.md) - protocol reference
- [Galileo Troubleshooting](galileo-troubleshooting.md) - log patterns, fault codes
- [Robotics Project Lifecycle](robotics-project-lifecycle.md) - where simulation fits in the project plan
- [VM Installation](vm-installation.md) · [VM Network Routing](vm-network-routing.md)
- [Stations & Routes](../concepts/stations.md) · [Mechanical Elements](../concepts/mechanical-elements.md) · [Putaway](../concepts/putaway.md)