(Si vous ne voyez pas la zone adhérent, mettez à jour vos coordonnées CDZ dans le Panneau de l'Utilisateur et prévenez l'admin)

Table d'enclenchements

En modèle réduit à L'échelle O
BERTHELEMY
Platinum
Messages : 711
Enregistré le : 12 avr. 2020, 06:44
Localisation : Bretagne
A été remercié : 24 fois

Re: Table d'enclenchements

Message par BERTHELEMY »

(Ceci est la suite de la réponse aux remarques de Fabrice, on peut donc passer..)
Je suis allé voir sur le forum d'en face, avec deux conclusions (la seconde est provisoire) :
- les programmes écrits en code sont illisibles, et on ne doit jamais écrire directement du code, mais des algorithmes !
- les tableaux (mais il faut que j'approfondisse) risquent de devenir rapidement très encombrants ; apparemment, ce sont des tableaux qu'on utilisait avant l'invention des notations C(ossmann) et BD...

Plus j'y réfléchis, plus les avantages principaux de BD est l'unicité de la notation (contrairement à Cossmann) et sa commutativité : (a- b+) I-I (b+ a-)...
D'autre part, il n'est pas très difficile d'exprimer les contraintes, le principal problème est l'élimination des redondances.
Un exemple : si on prend - comme "en face" - un branchement I défendu par trois carrés, "a" en pointe, "b" et "c" en talon, (a- I+-) est nécessaire (sauf au Midi avec son poteau d'arrêt !!) mais (b- I+-) et (c- I+-) ne le sont pas car des conséquences de (b- I-) et (c- I+) plus contraignants.

Or comment exprimer, en BD, le classique : ((a=>b) et (b=>c)) I- (a=>c) ?
(a=>b) I-I (non a ou b) I-I non(a et non b) I-I (a+ b-)
de même, (b=>c) I-I (b+ c-) et (a=>c) I-I (a+ c-) donc finalement : ((a+ b-) et (b+ c-)) I- (a+ c-) : si les deux premières contraintes sont matérialisées sur la table, la troisième l'est automatiquement...

Si on reprend l'exemple du branchement et des trois carrés, on a : (b- I-) et (I+ c-), donc (b- c-) : b et c sont enclenchés indirectement via l'aiguille et ne peuvent être ouverts simultanément.

Reste à systématiser la chose... Et merci de me contraindre à approfondir la question !
BERTHELEMY
Platinum
Messages : 711
Enregistré le : 12 avr. 2020, 06:44
Localisation : Bretagne
A été remercié : 24 fois

Re: Table d'enclenchements

Message par BERTHELEMY »

Reprenons donc l'étude principale, avec l'expression des contraintes :

Enclenchements entre disques et sémaphores (1) et (2) : (D1- S1+) et (D2- S2+) : les disques doivent être fermés avant les sémaphores, et ouverts après ceux-ci.

Enclenchements entre disques et aiguilles (3), (4) et (5) : (D1- II-), (D1- I-), (D2- I-) : les aiguilles ne peuvent être mises en position déviée que si les disques sont fermés (ou, ce qui est équivalent, les disques ne peuvent être ouverts que si les aiguilles sont disposées pour la branche directe - pour cette équivalence, voir les paragraphes en petits caractères).

Enclenchements entre aiguilles (6) : (I- II-) : pas absolument nécessaire, mais ça va simplifier la table ; de toute façon, ça ne sert à rien d'avoir simultanément ces aiguilles en position déviée, et ça rend la table indépendante de la position relative de la bretelle et de l'entrée du garage.

Enclenchement CV et aiguille (7) : (CV- II+) : le carré violet ne peut être ouvert que si II en position déviée.

Enclenchement dBa et aiguilles (8) : (dBa- II+) : le disque bleu ne peut être présenté pour le garage que si II est en position déviée.
Avec II en position déviée, I est nécessairement en position normale - enclenchement entre aiguilles, donc (dBa- I-) est assuré [(dBa- II+) et (II- I-) entraîne automatiquement (dBa- I-), voir post précédent] : un enclenchement de moins à réaliser !

Enclenchement dBb et aiguilles (9) : (dBb- I+) : le disque bleu ne peut être présenté pour le passage V1 -> V2 que si la bretelle est en position déviée.
Comme ci-dessus, (dBb- I+) et (I- II-) entraîne (dBb- II-)... de l'avantage de l'enclenchement entre aiguilles !

Enfin, nous allons introduire un enclenchement conditionnel (10) : si II est en position déviée, on ne peut à la fois ouvrir le carré violet et présenter le disque de refoulement : on entre ou (exclusif !) on sort !
Ce qui s'écrira : (II- CV- dBa-)

La réalisation concrète approche, mais on va voir qu'on peut encore élaguer !

(à suivre...) Désolé de ne pas aller plus vite, mais c'est quand même éprouvant à écrire !)
Modifié en dernier par BERTHELEMY le 12 avr. 2021, 16:58, modifié 1 fois.
Avatar du membre
ffayolle
Platinum
Messages : 4612
Enregistré le : 19 mai 2015, 19:39
Prénom : Fabrice
A remercié : 301 fois
A été remercié : 195 fois

Re: Table d'enclenchements

Message par ffayolle »

Daniel,

Fort intéressant tout cela mais tu vas "prochainement" me perdre.
:roll: :roll: :roll:

L'idée n'était pas de partager le programme qui a une première lecture peut paraître illisible mais plutôt la méthode des tableaux.

Tu trouveras une présentation de l'usage des tableaux dans le livre de Jeff Geary que tu as commandé. C'est une vision à l'anglosaxonne, certainement moins académique pour le professeur que tu étais, plus pragmatique et donc plus abordable pour le non initié que je suis.

J'ai ainsi pu créer un poste avec enclenchement composé de 20 leviers permettant de gérer une gare terminus "so British".
bardownhills.jpg
Le Tokenless Block (un équivalent "à la virgule près" du BMVU) est géré par une autre carte Arduino donc par un autre programme. Mais le tout est interconnecté.

Méthode ou résultat? Les 2 mon Capitaine bien évidemment si nous étions dans le monde de l'entreprise mais dans le cas de notre Hobby, je dirais le résultat. Il n'y a qu'à voir sur ce forum le détournement fait par un colistier du tableur MS Excel pour générer des encadrements de fenêtre. C'est bluffant mais il y a certainement d'autres outils plus adaptés pour.

Et pour revenir à l'exemple du forum d'en face, voilà le schéma pour ceux qui continuent à suivre en 1ère et 2ème classe:
ex2.jpg
ex2.jpg (6.8 Kio) Vu 869 fois
Et le tableau correspondant à:
mat2-1.jpg
mat2-1.jpg (8.66 Kio) Vu 867 fois
Règles d'écriture : L pour bloque (Lock); R pour permet la manœuvre du levier, le débloque (Release); BW pour bloque dans les 2 sens (Both Ways).
Règles de lecture: Lire ligne par ligne (exemple: que se passe-t-il lorsque le signal n° 1 est ouvert (levier en position renversée)?)

Bon développement pour la gare de passage d'André

Fabrice
BERTHELEMY
Platinum
Messages : 711
Enregistré le : 12 avr. 2020, 06:44
Localisation : Bretagne
A été remercié : 24 fois

Re: Table d'enclenchements

Message par BERTHELEMY »

Merci, j'ai enfin (vraiment) compris la manière de lire ce tableau.

Je lui vois toutefois, a priori (je me réserve un a posteriori) trois inconvénients :

- il devient rapidement encombrant (au moins pour les humains) : 81 cases pour 9 leviers (72 en fait, la première diagonale ne sert bien sûr à rien), 400 pour 20 leviers (commence à falloir un ordi pour le gérer !), 40 000 pour 200 leviers (oui, ça a existé !)...

- il privilégie les enclenchements directs entre signaux, au détriment des enclenchements indirects via les aiguilles : ça ne conduira pas à la table la plus économique (mais là aussi, si c'est géré par ordi, ce n'est pas grave). Et comment éliminer les redondances ?


Question subsidiaire : y a-t-il qui que ce soit qui suive, comme tu dis, "en première ou deuxième classe" ??? Le doute m'habite ! Je rappelle que les paragraphes en petits caractères ne font pas partie de l'étude initiale. Par contre, ils pourraient être utiles à ceux qui décideraient de s'enfoncer dans ce marécage...
Modifié en dernier par BERTHELEMY le 16 avr. 2021, 08:08, modifié 1 fois.
Avatar du membre
François D
Platinum
Messages : 1292
Enregistré le : 22 juin 2008, 09:55
A remercié : 17 fois
A été remercié : 56 fois

Re: Table d'enclenchements

Message par François D »

Pour répondre à la dernière question de Berthelemy et dans une métaphore sportive de coureur à pied, je dirai que j'essaie de m'accrocher aux mollets ...
(j'ai une photo pour illustrer mon propos mais la décence m'interdit de la publier - sauf si vous me suppliez bien sûr !)
François D
C'est tellement bas que ça me passe bien au dessus.
Avatar du membre
ffayolle
Platinum
Messages : 4612
Enregistré le : 19 mai 2015, 19:39
Prénom : Fabrice
A remercié : 301 fois
A été remercié : 195 fois

Re: Table d'enclenchements

Message par ffayolle »

Daniel,

Tout à fait d'accord pour dire que cette méthode a aussi ces limites et en particulier si le nombre de leviers est important.

Concernant la complexité de la table, un fichier MS Excel est livré avec le livre pour réduire la table une fois le tout défini. Car n'oublions pas que ce livre décrit aussi la construction d'une table d'enclenchement classique avec cette méthode.

Et revenons au tableau:
2021-04-12_103502.png
2021-04-12_103502.png (15.28 Kio) Vu 822 fois
Et prenons la ligne du levier 4. Que se passe-t-il quand le levier est en position Renversée?
4 bloque 2
4 libère 3

Je te propose une fois ton étude exposée de la retranscrire dans un tableau mais d'ici là, je n'interviendrai plus. Car au final, ce que veulent les lecteurs, c'est une belle table d'enclenchements composée de morceaux de laiton divers est variés.

L'échange en off est toujours possible, bien évidemment.

Fabrice
BERTHELEMY
Platinum
Messages : 711
Enregistré le : 12 avr. 2020, 06:44
Localisation : Bretagne
A été remercié : 24 fois

Re: Table d'enclenchements

Message par BERTHELEMY »

Post sans objet, ce qu'il contenait est caduc.
Modifié en dernier par BERTHELEMY le 16 avr. 2021, 08:10, modifié 2 fois.
Avatar du membre
ffayolle
Platinum
Messages : 4612
Enregistré le : 19 mai 2015, 19:39
Prénom : Fabrice
A remercié : 301 fois
A été remercié : 195 fois

Re: Table d'enclenchements

Message par ffayolle »

Daniel,
La 1ère cellule de chaque ligne correspond au levier en position Renversée et uniquement en position Renversée. Et si ce levier est en position Renversée, alors il bloque, libère, ... Voilà la lecture qu'il faut en faire.
Fabrice
BERTHELEMY
Platinum
Messages : 711
Enregistré le : 12 avr. 2020, 06:44
Localisation : Bretagne
A été remercié : 24 fois

Re: Table d'enclenchements

Message par BERTHELEMY »

Sans objet...
Modifié en dernier par BERTHELEMY le 16 avr. 2021, 08:11, modifié 1 fois.
Avatar du membre
ffayolle
Platinum
Messages : 4612
Enregistré le : 19 mai 2015, 19:39
Prénom : Fabrice
A remercié : 301 fois
A été remercié : 195 fois

Re: Table d'enclenchements

Message par ffayolle »

BERTHELEMY a écrit : 12 avr. 2021, 16:17 J'ai bien compris !! Mais certains leviers, en position normale, en bloquent aussi d'autres : si 4 donne la voie directe, on ne peut - heureusement ! - pas ouvrir le carré 3 (sauf à talonner l'aiguille, je te l'accorde pour ce cas précis, mais il y en a d'autres où cette facilité ne joue pas). Et ça ne figure pas dans la table d'origine.
Daniel,
Oui, je suis tout à fait d'accord.
Si le levier 4 en position Renversée libère (Releases) le levier 3, le levier 4 en position Normale bloque (Locks) le levier 3.
La seconde partie n'est pas écrite explicitement dans le tableau. Mais par réprocité, symétrie, ... ( je te laisse le choix du terme approprié), elle est prise en compte.
Il est noté dans le tableau que si le levier 3 est en position Renversée, le levier 4 est alors bloqué (mention LR) de fait en position Renversée car pour mettre en position Renversée le levier 3, il faut au préalable avoir mis le levier 4 en position Renversée.
OK, je :arrow:
Fabrice
Répondre