UA-263733-1

Login au Site

Rue de l'Ondine 25, 1630 Bulle info@gruyere-rail-club.ch Mer : 20h00 - 23h00

sponsors et partenaires

Galerie Photo

Questions & Réponses

comment réaliser un événement avec plus de 6 conditions d'activation

(0 Voters)

Index de l'article

Textes et illustrations : chtrain

recommandation :  faq à étudier après l'assimilation des conditions inverses (fiche sur la notion de canton libre) et après étude de la fiche sur la présentation des variables

Au cours de votre paramétrage sous Driving, vous avez pu déplorer l'absence de plus de 6 conditions d'activation dans les événements. Flûte, il m'en fallait justement une septième pour réaliser mon projet; comment faire ?

Nous verrons au travers de ce document comment contourner le problème et créer des événements avec autant de conditions que nous le voulons grâce à l'utilisation de la variable. Dès lors, plus de limites, donc plus de contraintes de ce type, donc que du bonheur...

Pour vous faciliter la vie, nous allons travailler sur le montage suivant : une ligne ferroviaire composée de 8 cantons successifs. Vous souhaitez, dans l'exemple, que le canton d'entrée se mette à l'arrêt s'il détecte une motrice alors que 6 cantons sur 7 sont occupés dans la poursuite du parcours.

Dans ce cas il vous sera naturellement impossible de traiter le problème avec un seul événement. Vous avez besoin de 6 conditions d'activation pour l'occupation des 6 cantons et d'une septième pour la détection de la motrice sur le canton d'entrée ! Comment faire ! Par les variables évidemment  !!!

 

 

Nous allons étudier ce cas simple de deux manières différentes. (histoire de se familiariser avec les variables!)


 

L'augmentation du nombre de conditions disponibles dans un événement par l'utilisation de la variable « vraie /faux » :

Nous allons créer un premier événement de paramétrage de la variable.

 

La variable sera « vraie » , lorsque les cantons 3, 4, 5, 6, 7 et 8 seront occupés et il nous reste donc simplement à programmer l'arrêt puis la libération du canton 1 en fonction des paramètres désirés. Pour l'événement de gestion de l'arrêt, on obtient :

pour l'événement de la libération du canton, on obtient :

 

Vous remarquerez que pour la libération de l'arrêt du canton 1, il n'est plus fait état de la condition de détection comme pour l'activation de l'arrêt. Cette option permettra de gérer la libération du canton sur les seules conditions d'occupation ou de libération des cantons 3 à 8. Vous remarquerez également que les conditions de libération du canton 1 se traduisent  par l'activation de la fonction inverse de la variable.

Nous obtenons le résultat suivant :

 

la liberté de circulation lorsque les cantons 3 à 8 ne sont pas tous occupés,

et l'arrêt obligatoire en fin de canton 1, dans le cas contraire.

 

La circulation sera autorisée, lorsque les conditions de libération seront acquises. Ainsi nous venons donc de voir comment régler ce problème de limitation des conditions d'activation (à première vue insurmontable!), à l'aide d'une ridicule petite variable ! Nous allons étudier maintenant ce même montage au travers d'une procédure de paramétrage différente. 


L'augmentation du nombre de conditions disponibles dans un événement par l'utilisation de la variable numérique:

Par choix arbitraire, nous allons utiliser dans cet exemple, la variable numérique numéro 2 et choisir deux valeurs d'état. Nous prendrons une valeur = 0 lorsque les cantons 3, 4, 5, 6, 7 et 8 ne sont pas tous en détection d'occupation, et une valeur =1 lorsque tous les cantons 3, 4, 5, 6, 7 et 8 détectent un matériel roulant.

La variable numérique va être paramétrée à l'aide de deux événements, puis suivront les événements d'activation et de libération des arrêts du canton 1.

Commençons par le paramétrage de la variable, son activation:

 

vous remarquez que les opérations sont des « ET » puisque nous souhaitons activer l'arrêt lorsque tous les cantons de 3 à 8 sont occupés.

Voici maintenant son initialisation :

 

les fonctions inverses sont actives et l'opération dans ce cas n'est plus le « ET » mais le « OU »  car nous souhaitons, en effet, annuler l'arrêt du canton 1 si "au moins un des cantons de 3 à 8 est libre" et non pas uniquement si "tous les cantons sont libres", votre variable est désormais paramétrée...

Nous pouvons dès à présent l'utiliser comme condition d'activation de l'arrêt du canton 1 et voici le paramétrage de l'arrêt :

La variable est devenue "numérique", par conséquent nous pouvons (et devons) renseigner la valeur de la variable (dans ce cas : valeur=1) et surtout sa règle d'interprétation (opération) en vue de l'activation de l'action. L'avantage de ce paramétrage par rapport au précédent est évident ! Il vous permettra dans des cas plus complexes de disposer d'une ressource complémentaire pour une même variable, la valeur numérique de la variable n'étant pas limitée. 

Le paramétrage de libération du canton 1 sera libellé comme suit :

 

Contrairement à la variable de type "vraie/faux" la condition inverse n'est pas activée dans le cadre de l'initialisation et c'est la valeur de la variable qui provoquera directement l'activation de l'action à réaliser. Nous ne reviendrons plus sur les détails de l'exploitation du montage puisque le sujet a déjà été abordé précédemment.

Vous aurez donc compris à travers cet exemple que la variable « vraie/faux » n'est qu'une variable restreinte à deux valeurs.

Pensiez-vous en avoir fini ? Eh bien Non ! Pourquoi s'arrêter en si bon chemin alors que le processus peut être reproduit à volonté => nous allons simplement en exposer le principe, (Ouf !)... Suivez-moi en page suivante pour découvrir le processus d'itération


 

Le processus d'itération :

les différents exemples de paramétrage abordés jusqu'à présent ne nous permettent, dans leur composition actuelle, de disposer que d'un nombre maximum de 11 conditions d'activation par événement. Dans les cas, où les conditions disponibles ne seraient pas suffisantes, vous devrez opérer de la manière suivante. (nous allons voir les deux processus possibles)

Le premier consiste à remplacer chaque condition de l'événement d'activation de votre action par une variable qui aura regroupée elle-même un maximum de 6 conditions.

 

Vous disposez dans ce cas de 36 conditions d'activation au lieu de 11. La seconde approche vous permettra d'obtenir encore plus d'offres de conditions disponibles ! Mais quand va-t-on s'arrêter...? Content

Un paramétrage de variables en cascade, çà vous parle ? Et c'est reparti pour un dernier petit tour... histoire de finir en beauté ! Vous savez paramétrer la première variable, voyons la suite.

 

 

Etc... c'est votre dernière variable qui agira sur l'action à réaliser.

 

Nous y voilà, que vous dire de plus ? Sujet traité ! Pensez vous toujours que le logiciel reste limité en matière de conditions d'activation dans les événements ???

Christophe MULLER