6
« le: avril 08, 2021, 12:21:20 pm »
CentraleD17 est beaucoup plus complexe que SourisD17, la première version de mon projet. Mon cahier des charges était :
- toutes les communications en TCP/IP.
- échanges avec la centrale à base de Wemos D1 mini réduits au strict minimum.
- plusieurs stations gèrent le réseau en simultané.
- les stations affichent des informations synchronisées.
Les stations ne se connectent donc pas au Wemos mais à CentraleD17 qui gère les flux de données entre la centrale, le système de contrôle-régulation et les clients. Il y a 6 modules :
1. Le client interface avec D17 (ClientD17). Protocole à modifier pour s'adapter à une autre centrale.
2. Le serveur de flux ServeurD17. Protocole à modifier pour s'adapter à une autre centrale.
3. Le contrôleur-régulateur
4. Le client interface avec ServeurD17.
5. Le gestionnaire de TCO
6. Le(s) gestionnaire(s) d'interface de conduite. Actuellement 14 "souris". En préparation 4 "cabines".
Tous ces modules sont dans CentraleD17 ainsi que la gestion de la base de données d'état du réseau. CommandeD17 comprend 4, 5 et 6. ConduiteD17 4 et 6. CommandeD17 et ConduiteD17 n'agissent donc pas directement sur la centrale mais envoient des requêtes à CentraleD17. Son module de contrôle-régulation vérifie si elles sont exécutables. Lorsqu'elles le sont, il envoie des requêtes au Wemos et le résultat aux stations concernées.
Exemple : sur un ordinateur exécutant CommandeD17 l'utilisateur clique sur le bouton de construction d'un itinéraire. Localement, CommandeD17 n'a aucune idée de la faisabilité de la construction. Cette requête est envoyée à CentraleD17 qui vérifie si elle est exécutable. Si elle l'est, les appareils de voie et les signaux sont manœuvrés par une requête envoyée au Wemos et les blocs concernés sont marqués. Le changement d'état des ADV et l'état "construit" est envoyé aux stations exécutant le module 5. Le changement d'état des signaux est envoyé aux ordinateurs qui exécutent les modules 5 et 6. Si la requête n'est pas exécutable immédiatement, l'itinéraire est "en attente de construction". Cet état est envoyé aux stations exécutant le module 5.
La centrale ne retourne que très peu d'informations :
- état de l'arrêt d'urgence car un bouton matériel est présent sur son boîtier
- niveau de consommation de courant
- état des détecteurs, 96 bits, nombre ajustable
- état des ADV, 48 bits, nombre ajustable, une fois pour ceux à gauche, une fois pour ceux à droite
- état des variables utilisateur, 96 bits, nombre ajustable
- résultat de la lecture d'un CV
- résultat de l'écriture d'un CV
- résultat de la comparaison d'un CV
ServeurD17 interroge l'état du Wemos à chaque fois qu'il envoie un paquet de requêtes ou au bout de 125ms sans requête.
Actuellement, il n'y a pas de gestion centralisée des fichiers contenant les profils des engins moteurs et la description des TCO. Ces fichiers texte doivent être présent à l'identique sur tous les ordinateurs.