Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Pierre59

Pages: 1 2 [3] 4 5 ... 19
31
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 23, 2024, 04:30:41 pm »

@ Denis

Je t'avais promis une version, avec des dialogues, plus élaborée. C'est en fait un peu une boite à outils pour faire des dialogues. Il y a deux sortes de champs de saisie, un champ avec des choix multiples prédéfinis et un champ avec en plus une possibilité d'édition (si les choix prédéfinis ne conviennent pas).

Plusieurs dialogues permettent de saisir des zones, des aiguilles ou des signaux avec des paramètres. Ce sont des dialogues dits "modal", un seul dialogue n'est affiché à la fois, mais on pourrait en afficher plusieurs à la fois.

Les dialogues comportent une série de boutons, pour l'instant deux seulement sont actifs, un bouton "X" qui ferme le dialogue, puis le dialogue suivant est affiché, et un bouton "S" qui affiche dans la console le code json fabriqué par le dialogue.

Cela montre juste ce que l'on peut faire avec les dialogues, toute la partie édition globale du fichier json est absente.

Les champs de saisie des voisins (1 et 2) des zones sont assez particuliers, on peut utiliser un nom de zone déjà existante ou saisir un nouveau nom. Mais si le "nom" de la zone est déjà renseigné et que l'on a choisi "cas" pour le voisin, un coup de molette (wheel) sur le champ fait apparaitre un nouveau dialogue pour saisir des voisins conditionnels (suivant la position d'aiguilles).

Le programme ne fonctionne qu'avec Processing 4.

Pierre

32
Vos projets / Re : Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 19, 2024, 11:32:53 am »
Terminologies :

Je propose d'employer TD pour tout droit et DV pour dévié.
Pour les aiguilles enroulées, TD sera la voie à grand rayon et DV celle à petit rayon
gauche/droite cela marche des tous les cas
Citer
J'appelle AB la première diagonale d'une TJD (TJS, croisement) et CD la deuxième diagonale pour les TD
J'appelle AD et CB les deux courbes d'une TJD (en DV)
Pour une aiguille simple, AB pour TD et AC pour DV
Pour un triple, AB pour TD et AC pour la gauche et AD pour la droite
je vois pas trop l'utilité dans le fichier json
Citer
Je ferai le JSON avec, en plus, les données vitesses limites.
Dans les zones, cela correspondra aux TIV, pour les aiguilles, sur voie DV (30, 60 et 160)
Je ne sais pas s'il y a des limites de vitesse en TD sur TJD.
oui on peut associer des vitesses, mais où les mettre, ce n'est pas urgent
Citer
Je propose de mettre "banalise" au lieu de "pairimpair"
pourquoi pas mais dans mon esprit il pourra avoir des variantes avec les manoeuvres , du
genre pair_et_impair_manoeuvre
Citer
Je sortirai deux ArrayList "Zones" et "Aiguilles" et, éventuellement, un 3ème ArrayList pour les connecteurs, si c'est utile.
dans mon esprit les voisins sont les connecteurs, mais à revoir

Pierre

33
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 18, 2024, 05:25:26 pm »
@ Denis

Je t'ai fabriqué un "dialogue" sur mesure pour les zones. Il permet de saisir les noms de zones, les sens et les voisins. Pour les sens il n'y a que deux choix possibles (pour l'instant), pour le reste on peut saisir un nom de zone ou choisir parmi celles qui sont déjà saisies pour les modifier, les compléter, les supprimer, .... Pour les voisins "cas" devra pouvoir saisir un nom de zone et une liste de paires (aiguille,position).

Pour l'instant les modifications s'affichent dans la console.

Pierre

34
GRILLS D APPAREILS:

Un grill de gare est par défaut une zone composée à minima d'un appareil de voie ( aiguillage simple, ou multiple ( triple, TJS, TJD)) Il dessert 2 sections du réseau ( cantons, zones, ...)
Il y a donc toujours une entrée unique et une sortie unique qui permet de circuler entre l entrée et la sortie à un instant T.
Il y a des gares (Creil par exemple) où deux doubles voies arrivent dans le grill d'entrée, pour desservir plusieurs voies à quai. Quatre trains peuvent circuler simultanément sur le grill.

Par ailleurs dans pas mal de gares le cantonnement se fait (normalement sur les carrés) sur toute la traversée de la gare, on a donc des cantons dans le grill d'entrée (et sur les voies à quai).

Pierre

35
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 17, 2024, 04:00:17 pm »
Bonjour

J'ai fait une version un peu plus simple du programme qui transforme le fichier json en un gestionnaire, je peux le publier si besoin. cette version utilise des "lambda expression" appelées aussi fermetures ou clôtures.

Plus intéressant j'ai essayé une version complètement différente de la précédente. Le fichier json est lu ce qui donne un objet json recélant toutes les infos pour le gestionnaire. C'est cet objet json qui va mémoriser toutes les constantes : noms des zones et des aiguilles, sens de zones, types de aiguilles ... et les variables : l'état ("libre" ou "occupe") des zones, l'état "("gauche" ou "droite") des aiguilles, ... Les infos fournies par les capteurs pourront mettre à jour ces variables.

L'avantage de cette version est qu'il n'y a plus d'objets à créer, donc plus de programmation objet.

L'inconvénient est que l'exécution est nettement plus lente, Mais elle peut être accélérée en transformant un peu l'objet json issu de la lecture, par exemple en donnant des numéros aux zones et aux aiguilles et en y accédant non plus par leur noms (clés) mais par les numéros (indiçeage des tableaux). D'autre accélérations sont possibles, mais ce sera toujours plus lent que la première version.

Le programme Processing est téléchargeable ci-dessous. Il fait pratiquement la même chose que la première version.

Pierre

36
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 17, 2024, 09:56:44 am »
@ Denis

Le fichier jison c'est juste un exemple, inspiré du locoduinodrome, montrant des possibilités d'écriture. Cela ne présage en rien du format json qui sera adopté, notamment pour les voisins qui ne peuvent pas rester comme cela.
Le fichier est aussi une base pour des essais de transformations vers un gestionnaire.
Les erreurs n'ont pas d'importance, mais j'essaierai de les éliminer peu à peu.

Pierre

37
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 16, 2024, 01:00:10 pm »
@ Denis

Faut pas trop s'inquiéter, le fichier json a encore plein d'erreurs (Z3 c'est une erreur) et je n'ai toujours pas eu de réponses sur le nommage des TJS, mais je pense que pour les TJS (comme les TJD) il faut la position des deux aiguilles, à voir.

Faut plus se focaliser sur la forme du fichier json et sur son traitement.

Pierre

38
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 16, 2024, 11:33:32 am »
@ Denis

Ce que tu montre ce sont les voisins en tenant compte de la position des aiguilles (toutes gauches), regarde la liste des zones il y a tous les voisins potentiels.

Pierre

39
Vos projets / Re : Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 16, 2024, 11:21:03 am »
Je viens de tester. Ça fonctionne, mais je ne retrouve pas tous les voisins (ou je n'ai pas compris)
z3 et z11 ont plus de 2 voisins et je ne les retrouve pas dans le test, vraisemblablement des choses à rajouter dans le JSON ?
Z3 a deux voisins1 et deux voisins2, cela fait 2x2 quatre voisins ?, pareil pour Z11.

Pierre

40
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 16, 2024, 10:18:36 am »
@ Dominique Denis

Voila une exemple restreint  de traitement d'un fichier json, pour générer automatiquement un gestionnaire.

Le programme est écrit en Java (Processing), mais serait très semblable en C++. Le programme traite le fichier json (sans test d'erreur !) et génère des objets "zone" et des objets "aiguilles". Les objets zone contiennent un codage (Java) des liens entre les zones (voisins).

Le programme (voir fichier accompagnant) comporte quatre onglets :
- un onglet qui appelle le traitement et qui affiche la liste des zones (avec le code des liens) et des aiguilles, puis qui affiche pour chaque zone les suivants réels en fonction de la position effectives des aiguilles.
- un onglet comportant deux classes : Zone et Aiguille. Ce sont des "modèles" qui seront instanciées par le traitement.
- un onglet traitement du fichier json. Il y a trois phases : le traitement des zones sans celui des voisins (infaisable pendant la première phase), une instance de "Zone" est crée pour chaque zone. La deuxième phase traite les aiguilles. La troisième phase traite des liens entre les zones. il y a deux cas, un cas simple et un cas compliqué. Le cas simple est quand le voisin ne dépend pas de la position d'aiguilles (zone sans aiguille, aiguille en talon, ...), une fonctionnelle simple est élaborée, un fonctionnelle c'est une méthode que l'on appellera dans le gestionnaire lors de son fonctionnement effectif sur le réseau pour connaitre un voisin d'une zone. Le cas compliqué est quand un voisin dépend de la position d'une ou plusieurs aiguilles, il faut transformer en objets Java la description json de la chose et élaborer une fonctionnelle(comme pour le cas simple), cette fonctionnelle ayant une forme beaucoup plus compliquée.
- le dernier onglet contient les classes Java nécessaires pour coder en Java les descriptions json des voisins dépendants d'aiguilles.

Pierre



41
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 16, 2024, 09:40:04 am »
@ Denis

En sur-découpant les zones on ne gagne rien en temps de libération (assez souvent on retarde volontairement la libération pour palier les micro-coupures de prise de courant des engins de traction), et on ne gagne rien en fluidité (le découpage des zones est fait de telle sorte qu'il ne puisse avoir qu'un train sur une zone, si on sur-découpe, cela reste vrai sur l'ensemble des zones issues de la découpe).

Pierre

42
Vos projets / Re : Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 15, 2024, 06:24:24 pm »
En PRS, ça simplifie puisque chaque appareil de voie est une zone, mais, c'est pas facile quand même.

En PRS, comme tu dis, on peut avoir plusieurs aiguilles dans une zone !!!

Pierre

43
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 15, 2024, 06:07:25 pm »
@ Denis

Oui cela a l'air équivalent, mais plus difficile à exploiter à cause des numéros, bien penser que c'est un système clé-valeur, dans ton cas il faut fabriquer les clés, on sait pas trop combien il y en a.

Une autre remarque, dans certains cas (aiguille simple par exemple) vois1 peut être simple et vois2 compliqué ou vice versa. Pour une aiguille prise en talon il n'y a qu'un voisin possible.

Pierre

44
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 15, 2024, 04:45:52 pm »
@ Denis

Comment tu écrit un cas compliqué comme celui de l'image que j'ai donné.

Pierre

45
Vos projets / Re : Projet partagé d'un gestionnaire de réseau
« le: janvier 15, 2024, 04:27:37 pm »
@ Denis

Faut que cela soit décodable. Quid des cas compliqués, voir image.

Pierre

Pages: 1 2 [3] 4 5 ... 19