Produit · Simulation & enseignement
Factory OI Edu
Un simulateur 3D de partie opérative pour l'enseignement de l'automatisme, piloté par un automate programmable réel en Modbus TCP. Libre, hors ligne, sans télémétrie, en français.
Le problème
Enseigner l'automatisme demande une partie opérative : un convoyeur, un robot, des capteurs sur lesquels l'élève éprouve son programme. Le matériel réel coûte cher, s'use, et ne se duplique pas par classe entière.
Les simulateurs du marché comblent ce manque, mais ils sont propriétaires, souvent en ligne, et facturés par poste — un frein direct pour un établissement.
Le choix structurant
La partie opérative est simulée en 3D. L'automate reste réel. L'élève écrit son programme en Structured Text ou en GRAFCET, le charge dans un runtime industriel, et voit le robot obéir — ou refuser d'obéir, ce qui est souvent plus instructif.
Nous n'émulons jamais l'automate. Le simulateur parle Modbus TCP à un vrai runtime, avec ses latences, ses aléas et ses pannes. Tout ce qui casse sur une installation réelle casse ici aussi.
Élève Automate réel Simulateur 3D ───── ───────────── ───────────── écrit un → OpenPLC / M221 ←→ partie opérative programme exécute le cycle Modbus robot, convoyeurs, (ST / GRAFCET) (scan ~20 ms) TCP capteurs, physique
Ce que contient le produit
TP3 — Robot palettiseur 3 axes · intermédiaire
GRAFCET complet : convoyeur, vision amont, prise, palettisation en caisses, évacuation. Piloté par bits %M.
TP4 — Cellule robot 6 axes + AGV · expert
Machines commandées par mots %MW (missions), avec handshake EXECUTE / DONE en quatre phases.
Éditeur de scènes · créateur
Placer des équipements, câbler les entrées et sorties, tester à la première personne, exporter un module de travaux pratiques jouable.
Chaque travail pratique est livré avec son sujet, son corrigé, sa fiche de mapping et sa grille d'évaluation — dérivés de capacités réellement prouvées du produit, jamais de fonctionnalités supposées.
Caractéristiques techniques
| Moteur | Godot Engine 4.7 (version épinglée) · GDScript typé statiquement · physique Jolt à 120 Hz |
|---|---|
| Communication | Client Modbus TCP implémenté de zéro — codec FC01/03/05/06/15/16, appariement par transaction ID, machine à états non bloquante, détection de lien mort par écho bout-en-bout |
| Automates | OpenPLC Runtime (PC ou Raspberry Pi 4) · Schneider M221 en compatibilité · adressage %M / %MW ↔ coils et holding registers |
| Langages automate | IEC 61131-3 Structured Text compilé par MATIEC · GRAFCET · chaîne de sécurité à contacts NC |
| Poste élève | Application Windows portable · aucun droit administrateur · aucune connexion requise · rendu OpenGL Compatibility pour GPU intégré |
| Validation | 555 tests unitaires headless · tests d'intégration sur serveur Modbus loopback · campagnes automatisées contre automate réel |
Comment le produit se prouve
C'est la particularité méthodologique du projet : rien n'est déclaré robuste sans campagne de mesure.
- Campagnes terrain — N essais consécutifs contre un automate réel, automate remis à neuf entre chaque essai, seuil de réussite annoncé avant le lancement. Verdicts classés sans arrondi.
- Bancs de perturbation développés pour le projet : injection de charge CPU reproductible, proxy TCP coupant le lien à période fixe, capture et autopsie de minidump.
- Mesure avant réglage — aucun seuil n'est ajusté sans mesure préalable. La règle interne est de faire redescendre la mesure plutôt que de remonter le seuil.
- Une seule variable par expérience, ce qui permet de rejeter une hypothèse en un essai au lieu de l'imputer au hasard.
Trois exemples de ce que cette démarche a permis de trouver :
| Gel silencieux, 1 essai sur 18 | Réveil perdu du serveur physique threadé — trouvé par autopsie de minidump. Résolu : 37 essais consécutifs sans incident. |
|---|---|
| Cycle automate avançant sans le robot | Cache de lecture repartant vide après reconnexion. Résolu : cycle complet tenu sous 33 coupures réseau. |
| Commandes perdues en silence | Deux images consommées par requête et 16 écritures envoyées une par une. Période de scrutation divisée par 4 ; fenêtres trop lentes ramenées de 100 % à 21 %. |
État d'avancement
| TP3 — robot palettiseur | Prouvé sur automate réel, campagnes 6/6 répétées |
|---|---|
| TP4 — cellule robot + AGV | Prouvé sur banc simulé ; validation sur automate réel en cours |
| Communication Modbus | Robuste par construction, validée sous coupures réseau et charge CPU |
| Éditeur de scènes | Modèle et tests solides ; intégration de l'interface en cours |
À qui s'adresse le produit
Départements de génie électrique et d'automatique, IUT et instituts technologiques, lycées techniques, centres de formation professionnelle, et services de formation interne des entreprises industrielles.
Origine et licence
Factory OI Edu est un fork neutralisé d'Open Industry Project, distribué sous licence MIT et crédité comme tel. Aucun élément — code, ressource graphique, géométrie ou interface — n'est repris d'un produit commercial concurrent.
Nous contacter
Démonstration, tarification établissement, ou création d'un travail pratique sur mesure : nous écrire.