Files
JIMRI/help/fr/html/tools/Logix.shtml
T
2026-06-17 14:00:51 +02:00

863 lines
68 KiB
Plaintext

<!DOCTYPE html>
<html lang="fr">
<!-- Updated by Blorec Herv&#233; 2017-01-03-->
<head>
<title>JMRI: Logix Documentation</title>
<meta name="author" content="David Duchamp">
<meta name="keywords" content="java model railroad JMRI Logix">
<!--#include virtual="/help/fr/parts/Style.shtml" -->
</head>
<body>
<!--#include virtual="/help/fr/parts/Header_fr.shtml" -->
<div id="mBody">
<!--#include virtual="Sidebar.shtml" -->
<div id="mainContent">
<!-- Page Body -->
<h1>JMRI: Documentation Logix</h1>
<p>Les Logix&trade; fournissent une capacit&#233; puissante &#224; JMRI pour surveiller une
ou plusieurs conditions sur un r&#233;seau, et prendre des mesures lorsque ces conditions changent d'une
mani&#232;re sp&#233;cifi&#233;e par l'utilisateur. Logix peut &#234;tre utilis&#233; pour
commander les signaux, portails de croisement et d'autres types d'automatisme sur le r&#233;seau.
L'interface utilisateur est con&#231;ue pour &#234;tre conviviale pour tous les utilisateurs avec une
familiarit&#233; de base avec JMRI. Un Logix fournit un moyen pour la mise en place d'une logique
&#233;finie par l'utilisateur de mani&#232;re intuitive, sans que l'utilisateur ait &#224; se familiariser
avec la logique math&#233;matique.</p>
<a name="contents"></a><h2>Contenus</h2>
<p>La documentation ci-dessous d&#233;crit Logix, et discute de sa configuration. La documentation est
divis&#233;e en sections; cliquez ci-dessous pour un acc&#232;s facile &#224; une section list&#233;e. Si
vous pr&#233;f&#233;rez essayer avant de tout lire, lire Introduction &#224; <a href="#intro"> Logix et
Conditions</a>, puis cliquez sur <a href="#start"> Mise en route</a> et suivez ces instructions. Revenez
ici pour lire ce que vous avez fait.
<ul>
<li><a href="#intro"> Introduction &#224; Logix et Conditions</a></li>
<li><a href="#logix"> Qu'est ce que Logix</a></li>
<li><a href="#conditional"> Conditions</a></li>
<li><a href="#editconditional"> La fen&#234;tre Modifier Condition</a></li>
<li><a href="#logicalexpression"> L'Expression Logique</a></li>
<li><a href="#thepolicy">D&#233;clenchemet des Actions</a></li>
<li><a href="#theactions"> Les Actions</a></li>
<li><a href="#start"> Mise en route</a></li>
<li><a href="#variable"> Etat des variables Disponibles</a></li>
<li><a href="#action"> Actions Disponibles</a></li>
<li><a href="#notes"> Notes Suppl&#233;mentaires</a></li>
</ul>
<a name="intro"></a>
<h3>Introduction aux Logix et Conditions</h3>
<p> Un Logix est un petit groupe de Conditions concentr&#233;s sur une t&#226;che unique sur le
r&#233;seau. Chaque Condition peut &#234;tre consid&#233;r&#233; comme une d&#233;claration de la
forme: <p> si (expression logique) alors (action).</p>
<p> La partie "expression logique" d'un conditionnel teste l'&#233;tat d'un groupe de conditions sp&#233;cifi&#233;es par
l'utilisateur sur la mise en forme, par exemple, si certains aiguillages sont
droits ou d&#233;vi&#233;s, ou si un bloc est occup&#233;. La partie "action" de la condition
sp&#233;cifie quelle action doit &#234;tre faite si l'&#233;tat de l'expression logique &#233;volue.</p>
<p> Par exemple, un Logix avec plusieurs Conditions pourrait contr&#244;ler
l'apparence d'un Feu de signalisation. La premi&#232;re Condition pourrait v&#233;rifier les conditions pour une
apparence VERTE. Un second Condition peut v&#233;rifier une autre apparence permise. Les autres Conditions
pourraient v&#233;rifier les autres apparences. Un Logix est suffisamment souple pour que les r&#232;gles
de signalisation de tout chemin de fer puissent &#234;tremises en place, &#224; condition, bien s&#251;r,
que les information n&#233;cessaires pour tester les conditions soient disponibles. Donc, avec un seul
Logix, un utilisateur doit &#234;tre en mesure de mettre en place la logique requise pour contr&#244;ler
l'apparence d'un Feu de signalisation.
</p>
<p> Pensez &#224; un Logix comme un <b>petit</b> groupe d'une ou plusieurs Conditions qui r&#233;pondent
&#224; un besoin unique. Etre capable de regrouper toutes les Conditions qui r&#233;pondent &#224; ce
besoin dans un seul Logix simplifie les choses. Seul un nom syst&#232;me est n&#233;cessaire pour toute
la logique pour aborder la t&#226;che, et le regroupement de toute la logique pour la t&#226;che &#224; un
seul endroit, rend beaucoup plus facile de voir comment les expressions logiques li&#233;es peuvent
travailler ensembles et comment elles pourraient s'affecter l'une l'autre.
</p>
<a name="logix"></a><h2>Logix</h2>
<p> Sauf quand il est cr&#233;&#233; ou modifi&#233;,
un Logix est "actif", ce qui signifie
que les entit&#233;s (aiguillages, d&#233;tecteurs, lumi&#232;res, etc) dans les expressions logiques
des Conditions Logix sont surveill&#233;es. Chaque fois que l'
&#233;tat d'un des Conditions surveill&#233;es change, la
Condition "recalcule" son expression logique. Si le r&#233;sultat du
calcul change la valeur de l'expression logique, alors
les actions sp&#233;cifi&#233;es de la Condition sont prises.</p>
<p>Les entit&#233;s surveill&#233;es sp&#233;cifi&#233;es dans l'expression logique d'une Condition
sont appel&#233;s "variables d'&#233;tat" et
le r&#233;sultat du calcul est l'<b>&#233;tat</b> de la Condition.
C'est le changement d'&#233;tat de la condition qui l'am&#232;ne &#224; &#233;mettre des
commandes pour les actions &#224; r&#233;aliser.
L'expression logique est aussi appel&#233;e l'"ant&#233;c&#233;dent" de la
Condition et le groupe de mesures &#224; prendre est aussi appel&#233; la "cons&#233;quence"
de la Condition.</p>
<p>Un Logix n'a pas un &#233;tat que beaucoup d'entit&#233;s JMRI ont. Un Logix a cependant
la capacit&#233; d'&#234;tre "activ&#233;" ou "d&#233;sactiv&#233;". Quand un Logix est
d&#233;sactiv&#233; (non activ&#233;), les expressions logiques de ses Conditions sont encore
&#233;valu&#233;s, mais les actions sp&#233;cifi&#233;es dans la Condition ne sont pas prises.
Chaque Logix activ&#233; ou d&#233;sactiv&#233; est enregistr&#233; lorsque le Logix est enregistr&#233;
sur le disque, donc un Logix qui &#233;tait d&#233;sactiv&#233; lors de son dernier enregistrement va
d&#233;marrer d&#233;sactiv&#233; lors du prochain chargement &#224; partir du fichier de configuration.
Quand un Logix d&#233;sactiv&#233; est activ&#233;, les &#233;tats de tous ses Conditions sont mis &#224;
INCONNU, et tous les Conditions sont calcul&#233;es.
</p>
<h3>Le Tableau Logix</h3>
<p> Un Logix est d&#233;fini via le <a href="../../package/jmri/jmrit/beantable/LogixTable.shtml"> Tableau
Logix </a> auquel on peut acc&#233;der en s&#233;lectionnant <b>Tableau Logix</b> dans le menu Outils. Le Tableau
Logix listes tous les Logix actuellement d&#233;finis par leur nom syst&#232;me et utilisateur. Le Tableau indique
&#233;galement si un Logix est "Activ&#233;". La derni&#232;re colonne de la Table fournit un moyen simple de modifier un
Logix et ses Conditions.
En cliquant sur la case de choix <b>S&#233;lectionner</b> pour un Logix, un menu d&#233;roulant Avec trois choix;
<b>Modifier</b>, <b>Copier</b> et <b>Supprimer</b>.
Chaque choix ouvre un volet pour l'op&#233;ration correspondante.
</p>
<h4>Commandes Tableau Logix</h4>
<ul>
<li> Sous le tableau Logix se trouve le bouton <b>Ajouter ...</b>. </li>
<li> Le menu Options vous permet de <b>Activer</b> ou <b>D&#233;sactiver</b> tout Logix.</li>
<li> Le menu Outils contient quatre outils de maintenance Logix:
<ul>
<li> Ouvrir le tableau des listes de s&#233;lection </li>
<li> Rechercher des &#233;l&#233;ments orphelins </li>
<li> Rechercher des conditions vides </li>
<li> Trouver des r&#233;f&#233;rences crois&#233;es </li>
</ul></li>
</ul>
<h3>Cr&#233;ation d'un nouveau Logix</h3>
<p> Pour cr&#233;er une nouveau Logix, cliquez sur le bouton <b>Ajouter...</b> situ&#233; au bas du
Tableau Logix. Cela fera appara&#234;tre une fen&#234;tre Cr&#233;er Logix. Saisir un nom syst&#232;me
et un nom utilisateur, puis cliquez sur Cr&#233;er <b>Logix</b> , va cr&#233;er le Logix, et ouvrir la
fen&#234;tre Modifier Logix. Cette fen&#234;tre permet de cr&#233;er et d'&#233;diter les Conditions. Une
fois que Logix est cr&#233;&#233;, son nom syst&#232;me ne peut pas &#234;tre chang&#233;. Son nom
utilisateur, cependant, peut &#234;tre chang&#233; soit dans le Tableau Logix ou la fen&#234;tre
Modifier Logix. Un nouveau Nom d'Utilisateur peut &#234;tre n'importe quel texte utile, &#224; condition
que le nouveau nom d'utilisateur n'ait pas d&#233;j&#224; &#233;t&#233; attribu&#233; &#224; un autre
Logix.</p>
<p>Un Logix est nomm&#233; selon la convention JMRI. Le nom syst&#232;me du Logix doit toujours commencer
par deux lettres IX et sont habituellement suivies par un num&#233;ro choisi par l'utilisateur. Par
exemple, sont valables les Noms Syst&#232;me Logix comprenant: IX1, IX34, et IX100. Le nom utilisateur est
tout ce que l'utilisateur veut utiliser pour identifier les Logix particuliers, par exemple, "Commande
Signal 5". Toutes les lettres dans un nom de syst&#232;me doivent &#234;tre en majuscules. Si
l'utilisateur entre les lettres minuscules, JMRI automatiquement les convertira en majuscules. Aussi, par
souci de commodit&#233; pour l'utilisateur, si le nom du syst&#232;me entr&#233; ne commence pas par IX,
le programme ajoutera IX devant ce qui est entr&#233;. Par exemple, pour entrer un nom syst&#232;me de
IX32, il suffit d'entrer 32 dans le champ Nom syst&#232;me, et le programme fera le reste.
<p>La fen&#234;tre Modifier Logix affiche le Nom Syst&#232;me et Nom Utilisateur du
Logix au sommet. Le Nom Utilisateur peut &#234;tre modifi&#233; en entrant/modifiant les
textes dans le champ Nom Utilisateur. Le Suivant est un tableau de Conditions appartenant
&#224; Logix. Pour ajouter une nouvelle condition, cliquez sur le bouton <b>Nouvelle Condition</b>
en bas du Tableau Condition. Cela va cr&#233;er une nouvelle Condition
et ouvrir la fen&#234;tre Modifier la Condition permettant de d&#233;finir l'expression logique et l'action
de la nouvelle condition. Une Condition existant peut &#234;tre
&#233;dit&#233;e en cliquant sur le menu <b>&#201;dition</b> de cette Condition dans la
table. Le Nom Utilisateur de la Condition peut &#234;tre modifi&#233; dans le tableau . Le
Nom Utilisateur d'une condition peut &#234;tre n'importe quel texte utile, &#224; condition qu'il ne soit
pas le m&#234;me que le Nom Utilisateur d'une autre Condition dans le m&#234;me Logix. Le
nom utilisateur peut &#234;tre le m&#234;me que le Nom Utilisateur d'une Condition dans un autre Logix.
<i> Lorsque vous modifiez le nom utilisateur (ou de n'importe quel &#233;l&#233;ment de n'importe quel
tableau JMRI) s'il vous pla&#234;t. N'oubliez pas de passer &#224; une autre cellule dans le tableau
de sorte que le programme est averti que vous avez termin&#233; votre inscription, sinon l'entr&#233;e ne
peut pas prendre effet.</i></p>
<p> Cliquant <b>Calculer</b> sous le Tableau Conditions provoquera un recalcul des
Conditions du Logix. Les &#233;tats r&#233;sultant sont affich&#233;s dans
la colonne &#201;tat du tableau . Cependant, puisque que le Logix est en cours d'&#233;dition, ils sont
inactifs et donc pas aucune mesure Condition ne sera prise. Lorsque l'&#233;dition du Logix
est faite, le Logix est activ&#233; et peut &#234;tre activ&#233; pour permettre aux Conditions
d'ex&#233;cuter leurs actions.</p>
<p>L'ordre des Conditions dans le Tablau Condition peut &#234;tre modifi&#233;
en cliquant sur <b>R&#233;organiser</b> (en dessous du Tableau Condition). Cliquer
<b>R&#233;organiser</b> change toutes les modifications des boutons &#201;dit dans la derni&#232;re
colonne du tableau &#224; la <b>Premi&#232;re</b>. S&#233;lectionnez la condition qui doit &#234;tre la
premi&#232;re, et elle est imm&#233;diatement d&#233;plac&#233;e vers le haut du Tableau. Tous les autres
boutons changent pour <b>Suivante</b> . S&#233;lectionnez les Conditions restantes dans l'ordre
d&#233;sir&#233;, jusqu'&#224; ce que tous les boutons reviennent &#224; <b>Modifier</b> .
</p><p>
Le seul moment o&#249; les Conditions sont &#233;v&#233;lu&#233;es dans l'ordre list&#233;e est quand tous
leurs &#233;tats sonr INCONNUS, comme lorsque le Logix est activ&#233;. Les Conditions sont &#233;valu&#233;es
quand une de leurs varaibles d'&#233;tats change son &#233;tat.
Si une entit&#233; est utilis&#233;ecomme une variable d'&#233;tat dans plus d'une condition, nous ne
savons pas dans quel ordre la condition est &#233;valu&#233;e.
<p>Lorsque <b>Termin&#233;</b> est cliqu&#233; au bas de la fen&#234;tre Modifier Logix, toute
changement dans le nom utilisateur Logix est v&#233;rifi&#233; et fait. Une v&#233;rification est faite
pour les incoh&#233;rences en pr&#233;cisant que l'entit&#233; (capteur, aiguillage, etc)
r&#233;f&#233;renc&#233;e dans les variables d'&#233;tat multiples n'est pas surveill&#233;e comme un
d&#233;clencheur pour le calcul de Logix, et un message d'avertissement appara&#234;t si des
incoh&#233;rences sont constat&#233;es. Puis le Logix est activ&#233;, la fen&#234;tre Modifier Logix est
ferm&#233;e, et l'utilisateur est renvoy&#233; au Tableau Logix. Imm&#233;diatement avant que le Logix
soit activ&#233;, l'&#233;tat de toutes ses Conditions est mis &#224; INCONNU. Imm&#233;diatement
apr&#232;s l'activation, toutes les Conditions sont calcul&#233;es.</p>
<p>La fen&#234;tre Modifier Logix fournit aussi un moyen pour supprimer un Logix s'il n'est plus
n&#233;cessaire. Cliquez sur <b>Supprimer Logix</b> supprime Logix et tous ses Conditions. Cette
op&#233;ration peut &#233;galement &#234;tre faite en s&#233;lectionnant l'option <b>Supprimer</b> item
dans le menu d&#233;roulant <b>S&#233;lectionner</b> le menu sur le tableau Logix.</p>
<p> S&#233;lection de l'item <b>Copie</b> dans le menu d&#233;roulant <b>S&#233;lectionner</b> le menu sur
le tableau Logix affichera une s&#233;rie de fen&#234;tres de dialogue qui fourniront un moyen de copier e
Logix et tout ou partie de sa condition &#224; un nouveau Logix ou &#224; un existant.</p>
<a name="conditional"></a><h2>Conditions</h2>
<p>Un Nom syst&#232;me d'une Condition a la forme IXnnnnCmm, et
est d&#233;fini automatiquement lorsque la Condition est cr&#233;&#233;e par l'utilisateur en cliquant sur
<b>Nouvelle Condition</b> dans la fen&#234;tre Modifier Logix. Le nom syst&#232;me de la
premi&#232;re tranche des Conditions pour Logix IXnnn sera toujours IXnnnC1, la seconde tranche de nom
syst&#232;me des Conditions aura IXnnnC2, et ainsi de suite. Le nom utilisateur d'une
Condition est ce que l'utilisateur veut assigner pour identifier
l'usage de la Condition. Un nom utilisateur entr&#233; ne doit pas &#234;tre utilis&#233; par plus
d'un Condition dans un Logix donn&#233;, cependant.
Le nom syst&#232;me et le nom utilisateur sont affich&#233;s
au sommet de la fen&#234;tre Modifier Condition. Le nom utilisateur peut &#234;tre
Entr&#233;/&#201;dit&#233; l&#224; ou dans le tableau Conditions de la fen&#234;tre &#201;diter Logix.
Le nom utilisateur d'une Condition peut &#234;tre n'importe quel texte utile, &#224; condition qu'il ne
soit pas lem&#234;me que le nom utilisateur d'un autre Condition dans le m&#234;me Logix. Le nom
utilisateur peut &#234;tre le m&#234;me que le nom d'utilisateur d'un Condition dans un autre Logix.
</p>
<p> Comme mentionn&#233; plus haut, les Conditions sont des &#233;nonc&#233;s de la forme::
<ul>
<li>si (ant&#233;c&#233;dent) puis (cons&#233;quente).</li>
</ul>
<p> Par cons&#233;quent, une Condition a deux parties distinctes: son "expression logique"
et ses "actions". Elles sont examin&#233;es s&#233;par&#233;ment ci-dessous.
<p>Les expressions logiques connectent les &#233;tats (vrai ou faux) des "variables d'&#233;tats"
par exemple, si un capteur est actif ou inactif, si aiguillage est direct, si une
M&#226;t de signalision est rouge, si le temps d'horloge rapide se situe entre 10h00
et 11h00, les variables d'&#233;tat etc sont li&#233;es ensembles dans une
expression logique par les op&#233;rateurs logiques. Une liste des variables d'&#233;tat courantes est
fournie <a href="#variable">ci-dessous</a>.</p>
<p>Les op&#233;rateurs logiques actuellement disponibles sont NOT, AND et AND NOT. L'
op&#233;rateur AND est configur&#233; automatiquement par le programme. Pour chaque variable d'&#233;tat,
l'utilisateur s&#233;lectionne si l'op&#233;rateur NOT pr&#233;c&#232;de la variable d'&#233;tat.
Si l'op&#233;rateur NOT pr&#233;c&#232;de la variable d'&#233;tat, la valeur vrai/faux sur
la variable d'&#233;tat est invers&#233;e. Par exemple, si "Capteur Actif CS5" est vrai,
"Capteur CS5 NOT Actif " sera faux, et vice versa. Notez que" Capteur
Actif CS5" n'est parfois pas la m&#234;me chose que" Capteur CS5 NOT Inactif", parce que
le Capteur CS5 peut &#234;tre dans l'&#233;tat INCONNU.</p>
<p>Les expressions logiques sont lues comme des d&#233;clarations &#233;crites. Il est facile
de mettre en place une expression logique, d'&#233;valuer de nombreuses situations sur
le r&#233;seau. Par exemple, "si le canton 10 et le canton 11 sont
occup&#233;s et l'aiguillage 20 est d&#233;vi&#233; "serait mis en place comme:</p>
<ul>
<li>Capteur LS1020 Actif AND Capteur LS1021 Actif AND l'aiguillage LT20 d&#233;vi&#233;</li>
</ul>
<p>O&#249; LS1020 est un capteur qui est vrai lorsque le canton 10 est
occup&#233; (peut-&#234;tre &#224; partir d'un BDL168), capteur LS1021 est vrai lorsque
le canton 11 est occup&#233;, et l'aiguillage LT20 D&#233;vi&#233; est vrai lorsque l'Aiguillage LT20
est d&#233;vi&#233;. Cette expression logique serait calculer vrai si
les trois des variables d'&#233;tat sont vraies, c'est &#224; dire, si le canton 10
est occup&#233; et le canton 11 est occup&#233; et l'Aiguillage 20 est
d&#233;vi&#233;; sinon le r&#233;sultat serait faux</p>
<p>Les Actions peuvent &#234;tre sp&#233;cifi&#233;es pour chaque condition. Un certain nombre d'actions
types sont disponibles.Pour
L'Aiguillage, par exemple, D&#233;finir Aiguillage, D&#233;finir Apparence Signal, D&#233;clenchement
d'Itin&#233;raires, etc.
Ces types d'action disponibles sont d&#233;crits
<a href="#action"> ci-dessous</a> dans le d&#233;tail. Chaque action a une
option s&#233;lectionnable par l'utilisateur pour l'&#233;x&#233;cution si: 1)changement de l'expression
logique &#224; vrai, 2) changement de l'expression logique &#224; faux, ou 3) le
changement de l'expression logique. Cela signifie qu'un Condition peut effectivement
avoir trois &#233;tats..
</p>
<p>Si (ant&#233;c&#233;dent est vrai) puis (faire actions "changer le vrai" ).</p>
<p> si (ant&#233;c&#233;dent est faux), puis (faire actions "changer le faux" ).</p>
<p> si (changements d'&#233;tat ant&#233;c&#233;dent) puis (faire actions "sur le changement").</p>
<a name="editconditional"></a><h3>La fen&#234;tre Modifier Condition</h3>
<p>La fen&#234;tre Modifier Condition est o&#249; les expressions logiques sont mises en place et
o&#249; les actions sont sp&#233;cifi&#233;es. La fen&#234;tre Modifier Condition
s'affiche quand une Condition est cr&#233;&#233;e, ou lorsque le bouton <b>Modifier</b> d'une
Condition est press&#233; dans la fen&#234;tre &#201;diter Logix. La fen&#234;tre &#201;dition Condition
affiche le nom syst&#232;me et le nom utilisateur de la Condition en haut.
Le nom utilisateur peut &#234;tre &#233;dit&#233; en Entrer/Modifier le texte dans le Champ Nom Utilisateur
Tout texte peut &#234;tre utilis&#233;, &#224; condition qu'il ne reproduit pas le nom utilisateur
d'une autre Condition dans le m&#234;me Logix. Viennent ensuite les deux sections - une
pour l'installation d'une expression logique et une autre pour mettre en place les actions.</p>
<a name="logicalexpression"></a><h3>L'Expression Logique</h3>
<p> La section expression logique contient unetableaude variables d'&#233;tat, avec
deux boutons et une bo&#234;te de menu d&#233;roulant ci-dessous. Le menu d&#233;roulant permet le
choix des op&#233;rateurs logiques &#224; utiliser dans l'ant&#233;c&#233;dent. Les choix sont:
tous les <b>AND</b> , tous les <b>OR</b> ou le <b>Mixed</b> . Mixed permet &#224; l'utilisateur de
sp&#233;cifier toute combinaison de AND, OR et NOT. Lorsque ce choix est fait
l'expression logique requiert des parenth&#232;ses afin d'&#234;tre sans ambig&#252;it&#233;. Ainsi,
lorsque ce choix est fait, un champ texte est affich&#233; afin que les parenth&#232;ses puissent &#234;tre
ins&#233;r&#233;es et l'expression modifi&#233;e. Les variables d'&#233;tat sont repr&#233;sent&#233;es
dans l'expression par leur num&#233;ro de ligne.</p>
<p>La premi&#232;re colonne dans le tableau des &#233;tat des variable
est le num&#233;ro de ligne de la variable. La colonne suivante
affiche l'op&#233;ration logique pr&#233;c&#233;dente de la variable dans l'expression.
Dans le cas de "Mixed" une bo&#234;te de choix permet &#224; l'utilisateur
de choisir une op&#233;ration. Cependant, ces choix peuvent &#234;tre
chang&#233;s dans le champ texte ant&#233;c&#233;dent et il est l'expression de champ texte
que les Conditions utilisent afin de d&#233;terminer son &#233;tat. La troisi&#232;me
colonne contient une bo&#234;te de choix qui permet &#224; l'utilisateur de s&#233;lectionner
l'op&#233;rateur NOT si n&#233;cessaire.</p>
<p> La quatri&#232;me colonne est une description des variables d'&#233;tat
et la condition &#224; surveiller pour que son &#233;tat soit vrai. La prochaine
colonne indique l'&#233;tat qui a &#233;t&#233; test&#233; pour la derni&#232;re variable (vrai ou faux).
L'&#233;tat affich&#233; inclut les
effet de l'op&#233;rateur NOT si NOT est s&#233;lectionn&#233;.</p>
<p> La colonne "D&#233;clencheur"
d&#233;finit si la variable d'&#233;tat doit entra&#234;ner la condition pour
s'acquitter de ses actions lorsque cette variable change.
Notez que les &#233;tats actuels de toutes les variable sont <b>toujours</b> utilis&#233;s dans le
calcul de la condition de l'&#233;tat. Le r&#233;glage du "D&#233;clencheur (Trigger)" permet &#224; une
variable d'&#233;tat d'&#234;tre "passive" et ne pas provoquer la Condition pour &#233;valuer son
&#233;tat.
C'est, par exemple une variable d'&#233;tat qui est une condition n&#233;cessaire, mais non suffisante
pour provoquer toutes les actions &#224; prendre place.</p>
<p><b>Remarque :</b> La d&#233;sactivation des variable d'&#233;tat d&#233;clencheurs doit &#234;tre faite
avec prudence. Elles sont efectu&#233;es seulement lorsque l'&#233;tat de l'expression logique change. La
d&#233;sactivation d'un d&#233;clencheur peut emp&#234;cher des actions d'&#234;tre ex&#233;cut&#233;es
m&#234;me si cet &#233;tat a chang&#233;.
<p> Suit une colonne <b>Modifier</b> pour modifier une variable d'&#233;tat existante.
La derni&#232;re colonne du tableau (boutons <b>Supprimer</b> ) est utilis&#233;e pour supprimer un
&#233;tat de variable si vous d&#233;cidez qu'il n'est plus n&#233;cessaire.
</p>
<p> Pressez <b>Ajouter Variable d'&#201;tat</b> pour ajouter une variable d'&#233;tat
(une ligne dans l'&#233;tat des variables du tableau ). Cela ouvre une fen&#234;tre avec
une bo&#234;te de choix pour l'utilisateur pour s&#233;lectionner un type de variable d'&#233;tat.
Les variables d'&#233;tat disponibles sont document&#233;es <a href="#variable"> ci-dessous</a>.
Quand un type est choisi la fen&#234;tre &#201;dition variable
affiche un champ de texte pour le nom de l'entit&#233; &#224; utiliser pour la variable d'&#233;tat.
Quand un nom (soit nom syst&#232;me soit nom utilisateur) est entr&#233;,
il doit correspondre &#224; une entit&#233; existante (capteur, aiguillage,
la lumi&#232;re, etc.) Il est utile d'ouvrir le tableau de capteur lors de l'entr&#233;e du noms capteur
, ou le tableau des aiguillages pour montrer les aiguillages disponibles, etc</p>
<p><b>Attention:</b> Si vous utilisez des noms utilisateur pour sp&#233;cifier des variables d'&#233;tat
soyez prudent lorsque vous &#233;ditez vos noms utilisateur ou vous pouvez casser vos d&#233;finitions de
variable d'&#233;tat. Le nom utilisateur sp&#233;cifi&#233; doit correspondre, caract&#232;re pour
caract&#232;re, blancs, y compris, au nom d'utilisateur r&#233;el du capteur, aiguillage, etc, pour que
vos variables d'&#233;tat puissent travailler. Si vous voulez &#234;tre en mesure d'&#233;diter librement
vos noms utilisateur, utilisez les noms syst&#232;me pour d&#233;finir vos variables d'&#233;tat.</p>
<p>A tout moment pendant l'entr&#233;e de l'&#233;tat des donn&#233;es variables, le bouton
<b>V&#233;rifier les variables d'&#233;tat</b> peut &#234;tre cliqu&#233; pour v&#233;rifier les
donn&#233;es saisies et d'&#233;valuer les variables d'&#233;tat. Lorsque ce bouton est enfonc&#233;, la
v&#233;rification et l'&#233;valuation se poursuit jusqu'&#224; ce qu'elle
se termine avec succ&#232;s ou qu'une erreur soit d&#233;tect&#233;e. Si une erreur est
d&#233;tect&#233;e; la v&#233;rification s'arr&#234;te pour que l'utilisateur puissent corriger l'erreur
et cliquez sur <b>V&#233;rifiez les variables d'&#233;tat</b> &#224; nouveau. <i>S'il vous pla&#234;t
rappelez vous apr&#232;s l'&#233;dition du nom syst&#232;me et des donn&#233;es articles de cliquer sur
une cellule diff&#233;rente dans le tableau avant
de cliquer <b>V&#233;rifiez les variables d'&#233;tat</b> (ou <b>mise &#224; jour Conditions</b> en bas
de la fen&#234;tre) pour que le programme soit avertit que vous avez
termin&#233; votre entr&#233;e. Sinon votre entr&#233;e ne peut prendre effet, et une erreur
peut &#234;tre signal&#233;e inutilement.</i></p >
<a name="thepolicy"></a><h3>D&#233;clenchement des Actions</h3>
<p>
Il ya deux politiques qui peuvent &#234;tre prises apr&#232;s que l'&#233;tat d'un Condition ait
&#233;t&#233; &#233;valu&#233;:</p>
<ul>
<li> Ex&#233;cutez les actions Conditions uniquement si l'&#233;tat de lau Condition a chang&#233;</li>
<li> Ex&#233;cutez les actions Conditions ind&#233;pendamment de savoir si l'&#233;tat a chang&#233;</li>
</ul>
<p>La politique d'utilisation est choisie par les boutons radio dans le milieu de la fen&#234;tre
&#201;dition Condition.</p>
<p>Le bouton <b>Ex&#233;cuter des actions sur le changement d'&#233;tat uniquement</b> emp&#234;che un
comportement ind&#233;sirable
de se produire lorsque plusieurs s&#233;quences d'actions "sur le vrai" ou "le faux"
sont ex&#233;cut&#233;es. C'est, si des d&#233;clencheurs successifs provoquent l'&#233;valuation de
l'expression logique dans le m&#234;me &#233;tat, seul le premier d&#233;clencheur pourra ex&#233;cuter
les actions.
Normalement, il est pr&#233;f&#233;rable qu'une Condition ex&#233;cute ses actions
seulement lors de l'&#233;volution de la Condition. Toutefois, s'il est important
de maintenir les actions associ&#233;es &#224;
un &#233;tat particulier de la condition, le bouton <b>Ex&#233;cuter les actions &#224; chaque fois</b>
doit &#234;tre utilis&#233; si des &#233;v&#233;nements ext&#233;rieurs annulent certaines des actions de
la Condition, mais ne modifie pas l'&#233;tat de la Condition, cette politique va ex&#233;cuter l'action
sur tous les d&#233;clenchements.</p>
<a name="theactions"></a><h3>Les Actions</h3>
<p> La section Actions de la fen&#234;tre &#201;dition Condition contient un tableau
d'actions, avec deux boutons dessous pour ajouter une nouvelle action et r&#233;organiser la
liste d'actions. La section fournit en le sp&#233;cifiant
les actions &#224; prendre lorsqu'une Condition est calcul&#233;e et change son
&#233;tat. Le tableau d'actions
se compose d'une colonne pour la description de l'action &#224; faire
et deux colonnes de boutons, <b>Modifier</b>
et <b>Supprimer</b> , pour l'&#233;dition ou la suppression d'une action existante.
Pour ajouter une nouvelle action, appuyez sur le bouton "Ajouter une action".
Une nouvelle fen&#234;tre "Editer action" appara&#234;t.
S&#233;lectionnez un type d'action dans le
zone Type, et des &#233;l&#233;ments de donn&#233;es n&#233;cessaires pour sp&#233;cifier
compl&#232;tement l'action
appara&#234;tront &#224; la droite de la bo&#234;te type. Lorsqu'un nom doit &#234;tre saisi,
le nom doit correspondre au nom syst&#232;me ou au nom utilisateur d'une entit&#233; existante (capteur,
aiguillage, Feux de signalisation, etc) du type correspondant. L'ouverture du
Tableau Capteur en entrant les noms des capteurs, et du Tableau Aiguillage pour voir les
aiguillages disponible, etc, peuvent &#234;tre utiles. Les types d'actions disponibles sont d&#233;crits
en d&#233;tail ci-dessous <a href="#action"></a>. Si vous utilisez des noms utilisateur pour sp&#233;cifier
vos actions, la m&#234;me prudence mentionn&#233; ci-dessus s'applique. Soyez tr&#232;s prudent lorsque
vous modifiez un nom utilisateur qui est utilis&#233; pour sp&#233;cifier les actions.</p>
<p> Pour chaque action, trois options sont disponibles pour le moment pour r&#233;aliser l'
d'action: 1) Le changement &#224; True (Vrai), 2) sur le changement &#224; False (Faux), et 3) sur le
Change (changement). Ces r&#233;f&#233;rences &#224; l'&#233;tat calcul&#233; de la condition, qui est
&#233;gale &#224; la valeur de l'expression logique telle que sp&#233;cifi&#233;e dans le tableau
variable d'&#233;tat.
Une de ces options doit &#234;tre s&#233;lectionn&#233;e. Quand vous avez termin&#233;, cliquez sur
"Update" pour installer vos modifications,
"Annuler" pour fermer la fen&#234;tre sans aucune modification
<p> Pour modifier l'ordre des conditions dans un Logix, ou l'ordre des
actions dans un Condition
cliquez sur le bouton "R&#233;order". Le bouton le plus &#224; droite
du tableau ensuite vous permetra de s&#233;lectionner le premier, le suivant, etc.
Notez cependant, il s'agit simplement de l'ordre dans lequel les commandes sont &#233;mises
mais ne garantissent pas que leur effet final se fera dans le m&#234;me ordre.
S'il est n&#233;cessaire d'avoir des actions qui se d&#233;roulent dans un ordre pr&#233;cis, utilisez des
Conditions s&#233;par&#233;es pour chaque action et la cha&#234;ne Condition sera telle que
l'&#233;tat action pr&#233;c&#233;dant termin&#233; est la variable d'&#233;tat pour l'action suivante.</p>
<a name="updateconditional"></a><h3> Enregistrer la Condition</h3>
<p> Lorsque l'expression logique et les actions ont &#233;t&#233; sp&#233;cifi&#233;es, cliquez sur
<b>Update Conditions</b> au bas de la fen&#234;tre. Cela d&#233;clenche une
v&#233;rification de l'expression logique (la m&#234;me que celle faite par l'&#233;tat V&#233;rifiez <b>
Variables</b> ) et une v&#233;rification de donn&#233;es entr&#233;es pour les actions. Si le nom
utilisateur de la Condition a &#233;t&#233; &#233;dit&#233;, il est &#233;galement v&#233;rifi&#233;. Si
une erreur est trouv&#233;e, une fen&#234;tre de message s'ouvre annon&#231;ant l'erreur, et la mise
&#224; jour est arr&#234;t&#233;e pour permettre
&#224; l'utilisateur de corriger l'erreur et cliquez sur <b>Update Condition</b> &#224; nouveau.
Si aucune erreur n'est trouv&#233;e, le Condition est mise &#224; jour
avec les donn&#233;es entr&#233;es, le fen&#234;tre &#201;diter Condition est ferm&#233;e, et l'utilisateur
est renvoy&#233; &#224; la fen&#234;tre Modifier Logix.</p>
<p> Deux autres boutons sont disponibles au bas de la fen&#234;tre Modifier Condition
En cliquant <b>Annuler</b> fermer la fen&#234;tre Modifier Condition
sans mettre &#224; jour le Condition. En cliquant <b>Annuler</b> le r&#233;sultats est la perte
de toutes les donn&#233;es qui ont &#233;t&#233; saisies. L'autre bouton, <b>Supprimer
Condition</b> , fournit un moyen facile de supprimer une condition inutile.
Cliquez sur <b>Supprimer Condition</b> pour supprimer la condition en cours d'&#233;dition et
revenir &#224; la fen&#234;tre Modifier Logix.</p>
<a name=start></a> <h2> Mise en Route</h2>
<p> Suivez les &#233;tapes suivantes pour cr&#233;er un Logix et vous familiariser
avec la fa&#231;on dont l'interface utilisateur Logix fonctionne.
<ol>
<li> S&#233;lectionnez <b>Tableau Logix</b> dans les <b>Outils</b> .
Cliquez sur <li><b>Ajouter</b> situ&#233; au bas de le tableau Logix.
<li> Dans la fen&#234;tre Cr&#233;er Logix qui appara&#234;t, entrez 6 pour le nom syst&#232;me,
et "test" comme nom utilisateur, puis cliquez sur<b>Cr&#233;er Logix</b> .
<li> Dans la fen&#234;tre Modifier Logix qui appara&#234;t, cliquez sur <b>New Conditional</b> .
<li> Dans la fen&#234;tre Modifier Condition qui appara&#234;t, cliquez sur Ajouter <b>&#201;tat
Variable</b> pour commencer &#224; d&#233;finir une expression logique pour le Condition.
<li> Dans la nouvelle fen&#234;tre qui appara&#234;t, cliquez sur la case de choix " Type Variable"
pour r&#233;v&#233;ler une bo&#234;te de s&#233;lection d&#233;roulante. S&#233;lectionnez "Capteur
Actif".
<li> Remarquez qu'un champ texte appara&#234;t, vous demandant d'entrer un nom de capteur. Entrez le nom
(Nom syst&#232;me ou nom utilisateur) de l'un de vos capteurs existants. (Si
vous n'avez pas un capteur existant, s&#233;lectionnez le <b>Tableau Capteur</b> dans le menu
<b>Outils</b> et en cr&#233;er un.)
<li> Cliquez sur le bouton <li><b>Update</b> et notez les ligne d'entr&#233;es qui apparaissent
dans le tableau variable d'&#233;tat.
<li>Cliquez <b>New State Variablet</b> pour cr&#233;er une autre ligne dans la table.
Notez que AND appara&#234;t dans la premi&#232;re colonne de la nouvelle ligne. S&#233;lectionnez &#224;
nouveau "Capteur Actif", comme type de variable, et entrez le nom d'un capteur
diff&#233;rent (le cr&#233;er si n&#233;cessaire).
<li>Cliquez sur troisi&#232;me colonne d'entr&#233;e de la deuxi&#232;me rang&#233;e pour
r&#233;v&#233;ler les
bo&#234;te de s&#233;lection pour les NOT. S&#233;lectionnez NOT, puis cliquez sur V&#233;rifier
l'&#233;tat <b> Variables</b> &#224; nouveau. Notez que l'&#233;tat de la seconde variable d'&#233;tat
s'est invers&#233;.
<li>Pour une autre Action cliquez sur <b>Add Action</b> . <li> Dans la nouvelle fen&#234;tre qui
appara&#234;t, cliquez dans la bo&#234;te de choix sur "Action Type" pour r&#233;v&#233;ler une bo&#234;te
de s&#233;lection de d&#233;filement. S&#233;lectionnez "Set Turnout". Entrez le
nom de l'aiguillage m&#234;me si entr&#233; avant. Quitter "Change Option" pour "On Change to True", et"
Closed "pour l'option de la "Position Aiguillage".
<li>Cliquez <b>Update</b> pour fermer la fen&#234;tre Modifier Condition
et revenir &#224; la fen&#234;tre Modifier Logix.
Cliquez <li><b>Done</b> pour fermer la fen&#234;tre Modifier Logix et activer vos
nouveau Logix. Cliquez sur <b>OK</b> dans la case de rappel qui apparait pour enregistrer.
</ol>
<p> Vous avez cr&#233;&#233; un Logix pour contr&#244;ler la position d'un aiguillage
selon les &#233;tats de deux capteurs. C'est aussi simple que cela. Il vous a fallu
plus de temps pour lire ce tutoriel que pour cr&#233;er le Logix.</p>
<a name="variable"></a><h2>Variables d'&#201;tat Disponible</h2>
<p> Les variables d'&#233;tat qui sont actuellement disponibles pour une utilisation dans les Conditions
sont &#233;num&#233;r&#233;es ci-dessous, avec des informations sur chacune d'elles. Les variables
d'&#233;tat doivent toujours &#233;valuer soit vrai ou faux. L'&#233;tat r&#233;sultant en
vrai est donn&#233; pour chacune d'elle. Si la condition n'est pas remplie, la variable d'&#233;tat
est &#233;valu&#233;e &#224; fausse. Quand un Logix est actif, les &#233;tats des entit&#233;s (capteur,
aiguillage, lumi&#232;re, etc) sp&#233;cifi&#233;s dans les variables d'&#233;tat dans ses Conditions sont
surveill&#233;es, &#224; moins que la case Calcul d&#233;clencheurs de la variable &#233;tat soit
coch&#233;e (voir <a href="#editconditional">ci-dessus</a>). Un calcul de toutes les
Conditions dans le Logix est d&#233;clench&#233; lorsqu'un &#233;tat surveill&#233; change comme
not&#233; ci-dessous (si elle n'est pas &#233;vidente).
<ul>
<li><b>Capeur Actif</b> : Evalu&#233; &#224; vrai si l'&#233;tat du capteur sp&#233;cifi&#233; est
actif.
<li><b>Capteur Inactif</b> : Evalu&#233; &#224; vrai si l'&#233;tat du capteur sp&#233;cifi&#233;
est inactif.
<li><b>Aiguillage D&#233;vi&#233;</b> : Evalu&#233; &#224; vrai si l'&#233;tat connu de
l'aiguillage est d&#233;vi&#233;.
<li><b>Aiguillage Direct</b> : Evalu&#233; &#224; vrai si l'&#233;tat connu de l'aiguillage est
direct.
<li><b>Condition Vrai</b> : Evalu&#233; &#224; vrai si l'&#233;tat de la Condition
sp&#233;cifi&#233;e est vrai. Notez que parce que le nom utilisateur de la Condition peut
&#234;tre dupliqu&#233; sur diff&#233;rents Logix, un nom syst&#232;me doit &#234;tre utilis&#233;
pour sp&#233;cifier une appartenance de la Condition &#224; un Logix diff&#233;rent.
<li><b>Condition Faux</b> :Evalu&#233; &#224; vrai si l'&#233;tat de la Condition
sp&#233;cifi&#233; est faux. Notez que parce que le nom utilisateur de la Condition peut &#234;tre
dupliqu&#233; sur diff&#233;rents Logix, un nom syst&#232;me doit &#234;tre
utilis&#233; pour sp&#233;cifier une appartenance de la Condition &#224; un Logix diff&#233;rent.
<li><b>Light On</b> : Evalu&#233; &#224; vrai si la lumi&#232;re sp&#233;cifi&#233;e est
allum&#233;e.
<li><b>Light Off</b> : Evalu&#233; &#224; vrai si la lumi&#232;re sp&#233;cifi&#233;e est
&#233;teinte.
<li><b>Comparaison de valeur m&#233;moire</b> : Compare la valeur sauv&#233;e dans la m&#233;moire
sp&#233;cifi&#233;e &#224; la valeur de la variable d'&#233;tat utilisant un op&#233;rateur de
comparaison sp&#233;cifi&#233;. Evalu&#233; &#224; vrai (true)si la comparaison est vraie.
Il y &#224; 5 op&#233;rateurs de comparaison qui peuvent &#234;tre d&#233;finis pour
l'&#233;valuation:
<ul>
<li>"moins que"</li>
<li>"moins que ou &#233;gal"</li>
<li>"&#233;gal"</li>
<li>"plus grand que ou &#233;gal "</li>
<li>"plus grand que"</li>
</ul>
Le calcul est d&#233;clench&#233; lorsque l'une des valeurs de m&#233;moire
surveill&#233;es change ainsi que la valeur de comparaison.
<li><b>Gamme horloge rapide</b> : la valeur vraie (true)si l'horloge courante rapide
si le temps est entre l'heure de d&#233;but et de fin sp&#233;cifi&#233;s pour la plage.
Les heures doivent &#234;tre sp&#233;cifi&#233;es dans le format hh: mm, o&#249; hh est heure et
mm est minutes, par rapport &#224; une horloge de 24 heures. Le calcul est d&#233;clench&#233;
lorsque le temps d'horloge rapide entre dans la plage et lors de la sortie de l'horloge rapide de
la gamme.
<li><b>Apparence Feu de Signalisation &#201;gale</b> : &#201;valu&#233;e &#224; vraie si
l'apparence du Feu de Signalisation sp&#233;cifi&#233;e est &#233;gale l'apparence
sp&#233;cifi&#233;e dans l'&#233;tat de la variable. Le calcul est d&#233;clench&#233; lors du
changement de l'apparence du Feu de Signalisation.
<li><b>Feu de Signalisation Allum&#233;</b> : &#201;valu&#233;e &#224; vrai si le Feu de
Signalisation sp&#233;cifi&#233;e est allum&#233;e.
<li><b>Feu de Signalisation manuel</b> : &#201;valu&#233;e &#224; vrai si le Feu de Signalisation
sp&#233;cifi&#233;e est manuelle
<li><b>Apparence M&#226;t de Signalisation &#201;gale</b> : &#201;valu&#233;e &#224; vraie si
l'apparence du m&#226;t de signalisation sp&#233;cifi&#233; est &#233;gale &#224; l'apparence
sp&#233;cifi&#233;e dans l'&#233;tat de la variable. Le calcul est d&#233;clench&#233; lors du
changement de l'apparence du m&#226;t de signalisation.
<li><b>M&#226;t de Signalisation Allum&#233;</b> : &#201;valu&#233;e &#224; vraie si le m&#226;t
de signalisation sp&#233;cifi&#233; est allum&#233;.
<li><b>M&#226;t de Signalisation Manuel</b> : &#201;valu&#233;e &#224; vraie si le m&#226;t de
signalisation sp&#233;cifi&#233; est port&#233;
<li><b>&#201;tat OCanton</b> : &#201;valu&#233; &#224; vrai si l'&#233;tat sp&#233;cifi&#233; est
&#233;gal &#224; l'&#233;tat de OCanton Occup&#233;.
</ul>
<a name="action"></a><h3>Actions disponibles</h3>
<p> Actions qui sont actuellement disponibles pour une utilisation dans les Conditions et qui sont
r&#233;pertori&#233;es ci-dessous avec des informations sur chacune:
<ul>
<li><b>Commutation Aiguillage</b> : D&#233;finit l'aiguillage indiqu&#233; &#224; l'
&#233;tat choisi. Sp&#233;cifiez l'aiguillage devant &#234;tre bascul&#233; en inscrivant le nom
syst&#232;me ou nom utilisateur
Pr&#233;cisez l'&#233;tat dans lequel le mettre en choisissant direct ou d&#233;vi&#233; dans le
menu contextuel.</li>
<li><b>D&#233;finir Apparence Feu de Signalisation</b> : D&#233;finit le Feu de Signalisation
sp&#233;cifi&#233;e avec l'apparence choisie. Pr&#233;cisez le Feu de Signalisation &#224; ommuter
en saisissant sonnom syst&#232;me ou nom utilisateur. Sp&#233;cifier l'apparence &#224; mettre en
choisissant dans le menu contextuel.</li>
<li><b>D&#233;finir Signal Manuel</b> : D&#233;finit le Feu de Signalisation sp&#233;cifi&#233;e
&#224; tenir.
Pr&#233;cisez le Feu de Signalisation &#224; tenir en entrant son nom syst&#232;me ou nom
utilisateur.</li>
<li><b>Effacez Signal Manuel</b> : Efface le feu de signalisation sp&#233;cifi&#233;e.
Pr&#233;cisez le Feu de Signalisation en entrant son nom syst&#232;me ou nom utilisateur.
<li><b>D&#233;finir Feu de Signalisationl &#233;teint</b>: D&#233;finir le Feu de Signalisation
&#224; ne pas allumer. Sp&#233;cifier la Feu de Signalisation design&#233; en entrant son nom
syst&#232;me ou nom utilisateur.
<li><b>D&#233;finir Signal Allum&#233;</b> : D&#233;finit le Feu de Signalisation
sp&#233;cifi&#233;e et reste allum&#233;e.
Pr&#233;cisez le Feu de Signalisation en entrant son nom syst&#232;me ou nom utilisateur.
<li><b>D&#233;clencheur Itin&#233;raire</b> : D&#233;clenche l'itin&#233;raire sp&#233;cifi&#233;.
Pr&#233;cisez la voie en inscrivant le nom syst&#232;me ou nom utilisateur.
<li><b>D&#233;finir Capteur</b>: D&#233;finit le capteur sp&#233;cifi&#233; &#224; l'&#233;tat
choisi. Sp&#233;cifiez le capteur &#224; mettre en inscrivant son nom syst&#232;me ou
nom utilisateur. Pr&#233;cisez l'&#233;tat &#224; mettre en choisissant actif ou inactif dans le
menu contextuel.
<li><b>D&#233;finir Capteur temporis&#233;</b>: D&#233;finit le capteur sp&#233;cifi&#233; &#224;
l'&#233;tat choisi apr&#232;s avoir attendu un certain nombre de secondes sp&#233;cifi&#233;.
Sp&#233;cifiez le Capteur &#224; mettre en inscrivant son nom syst&#232;me ou nom utilisateur.
Sp&#233;cifiez l'&#233;tat &#224; mettre en choisissant actif ou inactif dans le menu contextuel.
Pr&#233;cisez le nombre de secondes &#224; attendre avant de fixer le capteur en entrant un
nombre dans le champ le plus &#224; droite.
<li><b>D&#233;finir Lumi&#232;re</b> : D&#233;finit la lumi&#232;re sp&#233;cifi&#233;e &#224;
l'&#233;tat choisi. Pr&#233;cisez la lumi&#232;re &#224; r&#233;gler en saisissant son nom
syst&#232;me ou nom utilisateur. Pr&#233;cisez l'&#233;tat &#224; mettre en choisissant On ou Off
dans le menu contextuel.
<li><b>D&#233;finir M&#233;moire</b>: D&#233;finit la valeur &#224; entrer dans la m&#233;moire
sp&#233;cifi&#233;e. Pr&#233;cisez la m&#233;moire en inscrivant son nom syst&#232;me ou nom
utilisateur. Indiquez la valeur &#224; d&#233;finir dans la m&#233;moire en l'inscrivant dans le
champs le plus &#224; droite.
<li><b>Activer Logix</b> : Active le Logix sp&#233;cifi&#233;. Sp&#233;cifiez le Logix &#224;
activer en entrant son nom syst&#232;me ou nom utilisateur.
<li><b>D&#233;sactiver Logix</b> : D&#233;sactive la Logix sp&#233;cifi&#233;. Sp&#233;cifiez le
Logix pour le d&#233;sactiver en tapant son nom syst&#232;me ou nom utilisateur.
<li><b>Fichier Sound Play</b> : Joue le fichier son sp&#233;cifi&#233;. Sp&#233;cifiez le
fichier son &#224; jouer en saisissant son nom dans le champ pr&#233;vu. Cliquez
<b>Fixer</b> pour mettre en place un dialogue de s&#233;lection de fichier pour aider &#224;
trouver le fichier. Acc&#233;dez &#224; votre fichier son, puis cliquez sur le nom de votre
fichier sonore dans le dialogue pour la copie (y compris son chemin) dans le champ.
<li><b>Ex&#233;cuter script</b> D&#233;marre le script sp&#233;cifi&#233;.
Sp&#233;cifiez le script &#224; d&#233;marrer en entrant son nom dans le champs fournit. Cliquez
<b>D&#233;finir</b> pour apporter une un fichier de s&#233;lection o&#249; trouver le fichier. Naviguer vers
votre fichier script, puis cliquez sur le nom du fichier script dans la liste pour le copier
( incluant son chemin)dan sle champ.
<li><b>R&#233;glage Aiguillage Retard&#233;</b>:Configure l'aiguillage sp&#233;cifi&#233; &#224; l'&#233;tat choisit apr&#232;s un
nombre de secondes sp&#233;cifi&#233;es. Pr&#233;cisez l'aiguillage en entrant son nom. Pr&#233;cisez l'&#233;tat
&#224; fixer par le choix Direct ou D&#233;vi&#233; dans le menu contextuel. Indiquez le nombre de
secondes &#224; attendre avant de basculer l'aiguillage en entrant un num&#233;ro dans le champs le
plus &#224; droite. Si cette condition est d&#233;j&#224; en attente pour d&#233;finir cet
aiguillage, cette action est ignor&#233;e, et l'action pr&#233;c&#233;dente se poursuit comme
initialement pr&#233;vue. (voir aussi <b>Annuler l'aiguillage retard&#233;</b> ci-dessous.</li>
<li><b>Aiguillage Verrouill&#233;</b> : Verrouille ou d&#233;verrouille un aiguillage. Entrez le
nom pour l'aiguillage, et choisir l'op&#233;ration &#224; partir du menu contextuel.
Remarque, pour contr&#244;ler le type d'aiguillage verrouill&#233; aller &#224; la page <a
HREF="../../../help/fr/package/jmri/jmrit/beantable/TurnoutTable.shtml"> Tableau Aiguillages</a>
et s&#233;lectionnez le mode de verrouillage.</li>
<li><b>R&#233;initialisation du Capteur retard&#233;</b> : D&#233;finit le capteur
&#233;cifi&#233; pour l'&#233;tat choisi apr&#232;s attente d'un nombre sp&#233;cifi&#233; de
secondes. Pr&#233;cisez le capteur &#224; initialiser en tapant son nom. Pr&#233;cisez l'&#233;tat
&#224; fixer par choix, actif ou inactif dans le menu contextuel. Indiquez le nombre de
secondes &#224; attendre avant de fixer les capteurs en entrant un nombre dans le champs le
plus &#224; droite. Cette action est la m&#234;me que celle de l'<b>Initialisation du Capteur
retard&#233;</b>, sauf si cette condition est d&#233;j&#224; activement en attente pour
r&#233;gler le capteur sp&#233;cifi&#233;, l'attente pr&#233;c&#233;dente est annul&#233;e et une
nouvelle p&#233;riode d'attente est d&#233;marr&#233;e.
En effet, le temps d'attente est red&#233;marr&#233;. Le capteur n'est pas mis initialis&#233;
avant que la plupart desp&#233;riode r&#233;centes de temporaisation expirent .</li>
<li><b>Annuler Temporisation Capteur</b> : Annule toutes les minuteries en attente pour
r&#233;gler le capteur sp&#233;cifi&#233; dans tous les Conditions dans tous les Logixs.
Sp&#233;cifiez le capteur enentrant son nom. Le capteur n'est pas fix&#233;; toutes les actions
actives retard&#233;es pour le capteur sp&#233;cifi&#233; sont annul&#233;es sans r&#233;glage du
capteur.</li>
<li><b>R&#233;initialisation du R&#233;glage de Retardde l'Aiguillage</b>: D&#233;finit
l'aiguillage indiqu&#233; &#224; l'&#233;tat choisi apr&#232;s attente d'un nombre
sp&#233;cifi&#233; de secondes. Pr&#233;cisez
l'aiguillage en inscrivant son nom. Pr&#233;cisez l'&#233;tat &#224; fixer par le choix
Direct ou D&#233;vi&#233; dans le menu contextuel. Indiquez le nombre de
secondes &#224; attendre avant de basculer l'aiguillage en entrant un nombre dans le champs
le plus &#224; droite. Cette action est la m&#234;me que <b>Initialis&#233; Aiguillage
Retard&#233;</b> :,sauf si cette Condition est d&#233;j&#224; activ&#233;e en attente de la
direction de l'aiguillage sp&#233;cifi&#233;. En effet l'attente pr&#233;c&#233;dente est
annul&#233;e et une nouvelle p&#233;riode d'attente est d&#233;marr&#233;e.
En effet, le temps d'attente est red&#233;marr&#233;. L'aiguillage n'est pas orient&#233; tant que
la plupart des p&#233;riodes d'attente r&#233;centes expirent.</li>
<li><b>Annuler Temporisation Aiguillage</b> : Annule toutes les minuteries d'attente pour r&#233;gler
les aiguillages sp&#233;cifi&#233;s dans tous les Conditions dans tous les Logixs. Sp&#233;cifiez
l'aiguillage en entrant son nom. L'aiguillage n'est pas d&#233;fini; toutes les actions actives
retard&#233;es pour l'orientation de l'aiguillage sp&#233;cifi&#233; sont annul&#233;es sans
r&#233;glage de l'aiguillage.</li>
<li><b>R&#233;gler l'Heure d'Horloge Rapide</b> : D&#233;finit le temps &#224; entrer sur
l'horloge rapide .L'heure est entr&#233;e comme suit <i> hh: mn</i> o&#249; <i> hh</i> est heure
et <i> mn</i> sur une horloge de 24 heures. Cette action r&#232;gle l'horloge rapide &#224;
l'heure sp&#233;cifi&#233;e ind&#233;pendamment du fait que l'horloge acc&#233;l&#233;r&#233;e tourne ou est
arr&#234;t&#233;e.</li>
<li><b>D&#233;marrage Horloge Acc&#233;l&#233;r&#233;e</b>: D&#233;marre l'horloge acc&#233;l&#233;r&#233;e JMRI en cours
d'ex&#233;cution. Si l'horloge rapide est d&#233;j&#224; en cours, cette action n'a
aucun effet.</li>
<li><b>Arr&#234;t Horloge acc&#233;l&#233;r&#233;e</b>: Suspend l'horloge acc&#233;l&#233;r&#233;e JMRI. Si l'l'horloge rapide
ne fonctionne pas, cette action n'a aucun effet.</li>
<li><b>Copiez M&#233;moire dans m&#233;moire</b> : Copie la valeur d'une variable de m&#233;moire
dans une autre variable en m&#233;moire. Pr&#233;cisez la m&#233;moire &#224; copier en entrant son
nom dans le champ le plus &#224; gauche. Pr&#233;cisez la m&#233;moire devant recevoir la valeur
copi&#233;e en saisissant son nom dans le champ le plus &#224; droite.</li>
<li><b>R&#233;glage Apparence M&#226;t de Signalisation</b> : D&#233;finit le m&#226;t de signalisation
sp&#233;cifi&#233; pour l'aspect choisi. Sp&#233;cifiez le m&#226;t de signalisation &#224; r&#233;gler
en saisissant son nom syst&#232;me ou nom utilisateur. Sp&#233;cifiez l'aspect &#224; mettre en
choisissant dans le menu contextuel.
<li><b>R&#233;glage M&#226;t de Signalisation Manuel</b> : D&#233;finit le m&#226;t de
signalisation sp&#233;cifi&#233; manuel.Sp&#233;cifiez le m&#226;t de signalisation manuel en
entrant son nom syst&#232;me ou nom utilisateur.</li>
<li><b>Efface M&#226;t de Signalisation manuel</b> : Efface l'emprise sur le m&#226;t de signalisation
sp&#233;cifi&#233;. Sp&#233;cifiez le m&#226;t de signalisation en entrant son nom syst&#232;me ou nom
utilisateur.</li>
<li><b>Mettre le M&#226;t de Signalisation &#201;teint</b> : D&#233;finit le m&#226;t de
signalisation sp&#233;cifi&#233; pourqu'il ne s'allume pas. Sp&#233;cifiez le m&#226;t de
signalisation en entrant son nom syst&#232;me ou nom utilisateur.</li>
<li><b>Effacer le M&#226;t de Signalisation &#201;teint</b> : D&#233;finit le m&#226;t de
signalisation sp&#233;cifi&#233; pour s'allumer. Sp&#233;cifiez le m&#226;t de signalisation en
entrant son nom du syst&#232;me ou nom d'utilisateur.</li>
<li><b>Allouer Bulletins</b>: Allouer (r&#233;server) les OBlocks comprenant l'itin&#233;raire
couvert par le bulletin pour une utilisation par le d&#233;tenteur du bulletin.
Sp&#233;cifiez le bulletin en entrant son nom syst&#232;me ou nom utilisateur.</li>
<li><b>D&#233;sattribut Autorisation Restrictive</b> : D&#233;sattribut (r&#233;serves) les
OBlocks comprenant l'itin&#233;raire couvert par le bulletin pour une utilisation
par le d&#233;tenteur du bulletin. Sp&#233;cifiez l'autorisation restrictive en entrant son nom
syst&#232;me ou nom utilisateur.</li>
<li><b>R&#232;gle les Aiguillages de l'Itin&#233;raire sous bulletin</b>: D&#233;finit tous les
aiguillages comprenant le parcours du bulletin.
Sp&#233;cifiez le bulletin en entrant son nom syst&#232;me ou nom utilisateur.</li>
<li><b>D&#233;part Automatique du Train</b> : D&#233;marre la lecture du script enregistr&#233; pour le train pr&#233;cis&#233; dans l'autorisation restrictive.
Sp&#233;cifiez l'autorisation restrictive en entrant son nom du syst&#232;me ou nom d'utilisateur.</li>
<li><b>D&#233;part Manuel du Train</b> : Sert une "autorisation" &#224; un op&#233;rateur qui ex&#233;cute manuellement les droits de circulation du train pour l'itin&#233;raire sous autorisation restrictive.
Sp&#233;cifiez l'autorisation restrictive en entrant son nom syst&#232;me ou nom utilisateur.</li>
<li><b>Train Command&#233; Automatiquement</b> :Questions de la commande sp&#233;cifi&#233;e pour un train automatique. Les commandes sont: ARR&#234;T, REPRISE, ABANDON.
Sp&#233;cifiez l'autorisation restrictive du train en entrant son nom syst&#232;me ou nom utilisateur.</li>
<li><b>R&#233;gler le Coefficient du R&#233;gulateur</b> : Augmente ou diminue les r&#233;glages du r&#233;gulateur d'un train en ex&#233;cution automatique par le facteur indiqu&#233;.
Sp&#233;cifiez le bulletin du train en entrant son nom du syst&#232;me ou nom d'utilisateur.</li>
<li><b>Attribuer des OCanton</b>: Attribue un Ocanton.
Sp&#233;cifi&#233; le OCanton en entrant son nom du syst&#232;me ou nom d'utilisateur.</li>
<li><b>Fixer le Chemin du Canton</b>: Fixer l'aiguillage pour un chemin dans le Ocanton.
Sp&#233;cifi&#233; le OCanton en entrant son nom du syst&#232;me ou nom d'utilisateur.</li>
<li><b>D&#233;sattribuer OCanton</b> :D&#233;sattribue un Ocanton
Sp&#233;cifi&#233; le OCanton en entrant son nom du syst&#232;me ou nom utilisateur.</li>
<li><b>Fixer un Canton Hors-Service</b>: Fixe l'&#233;tat d'un Ocanton &#224; Hors-Service.
Sp&#233;cifi&#233; le OCanton en entrant son nom du syst&#232;me ou nom 'utilisateur.</li>
<li><b>Annuler un Canton Hors-Service</b>: Fixe l'&#233;tat d'un Ocanton &#224; &#233;tat normal.
Sp&#233;cifi&#233; le OCanton en entrant son nom du syst&#232;me ou nom utilisateur.</li>
</ul>
<a name="notes"></a><h3> Notes compl&#233;mentaires</h3>
Cette section contient des questions et r&#233;ponses qui normalement ne sont pas
n&#233;cessaires pour les utilisateurs Logix, mais dans certains cas ont &#233;t&#233; importantes ou ont de l'
int&#233;r&#234;t pour les versions pr&#233;c&#233;dentes de Logix.
<ul>
<li><b>Pourquoi avoir un "groupe" de Conditions au lieu de simples
Conditions?</b><br>
Un groupe de Conditions a &#233;t&#233; choisi pour plusieurs raisons, notamment:
<ol>
<li><p> Un groupement de Conditions dans un Logix, et concentration des Logix sur une t&#226;che devrait finir par &#234;tre beaucoup plus convivial. Pensez &#224; un Logix avec plusieurs Conditions commandant un Feu de signalisation de trois aiguillages. La premi&#232;re tranche de Condition peut v&#233;rifier les conditions pour un aspect rouge, et de prendre les mesures appropri&#233;es. La seconde condition peut v&#233;rifier sur un autre aspect autoris&#233; qui, selon les r&#232;gles du chemin de fer pourrait &#234;tre mod&#233;lis&#233; d&#233;pendant de l'&#233;tat calcul&#233; &#224; la condition premi&#232;re. Autres Conditions serait de montrer d'autres apparences selon les r&#232;gles du chemin de fer. Donc, avec un seul Logix, un utilisateur doit &#234;tre capable de mettre en place la logique
n&#233;cessaire pour fixer les apparences logiques pour une T&#234;te de signal. Ainsi une fois le capteurs, les aiguillages, signaux et les Feuxs sont mises en place, un seul nouveau nom syst&#232;me, le nom du syst&#232;me de Logix, doit &#234;tre d&#233;fini et en garder la trace.
<li>Une autre raison pour le groupement de Conditions multiples est une op&#233;ration plus simple
. Moins d'auditeurs derri&#232;re les sc&#232;ne sont n&#233;cessaires pour accomplir la m&#234;me t&#226;che.
M&#234;me si, suivant l'exemple ci-dessus, la logique de chaque aspect du M&#226;t de signalisation (chaque
condition) peut d&#233;pendre d'un capteur particulier (un canton d'occupation par exemple),
si les Conditions sont combin&#233;es en un seul Logix, seul un interlocuteur est n&#233;cessaire
pour ce capteur. C'est une mise en oeuvre plus simple que d'avoir plusieurs &#233;couteurs.</li>
</ol>
</li>
<li><b>Comment est d&#233;marr&#233; un Logix ?</b><br>
Le d&#233;marrage de Logix est semblable au d&#233;marrage d'une lumi&#232;re, un itin&#233;raire, ou
autre entit&#233; JMRI fonctionnant en permanence. En interne un Logix a une proc&#233;dure
"activer", qui est appel&#233;e lorsque le Logix est cr&#233;&#233;, apr&#232;s l'avoir
&#233;dit&#233;, ou lorsqu'il est charg&#233; &#224; partir d'un fichier de configuration. Cette
m&#233;thode d&#233;marre les auditeurs d'&#233;l&#233;ments dans les variables d'&#233;tat
des Conditions du Logix. Lorsque l'un de ces deux auditeurs (en indiquant
que la propri&#233;t&#233; regard&#233;e d'une variable d'&#233;tat a chang&#233;), le Logix
est calcul&#233;, il en r&#233;sulte que des mesures appropri&#233;es soient prises, &#224; condition que le
Logix soit activ&#233;.
<li><b>Quel est l'&#233;tat ??initial d'un Logix et ses conditions?</b>
<p>Quand un Logix est cr&#233;&#233; ou modifi&#233;, l'&#233;tat initial de chaque Condition
est vrai ou faux, comme indiqu&#233; dans la fen&#234;tre Modifier Logix. Quand un Logix est charg&#233;
&#224; partir d'un fichier de configuration, l'&#233;tat initial de chaque condition est inconnue.
<p> Logix est activ&#233; automatiquement lorsqu'il est cr&#233;&#233;.
Un Logix peut &#234;tre activ&#233;/d&#233;sactiv&#233; par
d&#233;cochant/cochant la case dans la colonne Activer dans le tableau Logix.
Par exemple, vous voudrez peut-&#234;tre d&#233;sactiver un Logix alors que vous cr&#233;ez
et d&#233;bog&#233;, jusqu'&#224; ce que vous soyez certain que vous l'avez mis en place correctement.
Un Logix peut &#234;tre activ&#233; ou d&#233;sactiv&#233; de mani&#232;re dynamique par un autre Logix (voir actions permis
actions <a href="#action"> dessus</a>).
<p>
Lorsque JMRI stocke la configuration d'un r&#233;seau dans un fichier, par exemple un fichier de panneau, tout
Informations Logix, y compris l'&#233;tat activ&#233;/d&#233;sactiv&#233; du Logix, sont
enregisr&#233;s . Quand un Logix est charg&#233; depuis un fichier de configuration, il est activ&#233; ou d&#233;sactiv&#233;
en fonction de ce qui a &#233;t&#233; enregistr&#233; dans le fichier de configuration .
Ceci est fait de sorte que les gens peuvent d&#233;sactiver leur Logix tout en les d&#233;bogant ,
mais encore sauver et restaurer la configuration selon vos besoins.</p></li>
<li><b>Qu'est-ce qui se passe quand un programme JMRI d&#233;marre ou lorsqu'un fichier de configuration
est charg&#233; par un programme JMRI ?,</b>
<p>Il s'agit d'une question complexe qui d&#233;pend de beaucoup de choses,
comme, comment l'utilisateur a mis en place des &#233;valuations d'aiguillage, la d&#233;tection de Canton, etc
Quand un fichier de configuration est lu, les diff&#233;rentes entit&#233;s (capteurs, les aiguillages, les T&#234;tes de signal, etc )
sont charg&#233;s dans un ordre presque al&#233;atoire, et,
puisque la plupart des entit&#233;s vont se charger en &#233;tat INCONNU
Le calcul d'un Logix imm&#233;diatement apr&#232;s le chargement du fichier complet de configuration,ne produira pas un d&#233;marrage propre
Ainsi quand un Logix est charg&#233;, l'&#233;tat de chaque condition commence par INCONNU. Imm&#233;diatement apr&#232;s que le fichier complet de configuration ait &#233;t&#233; charg&#233;, toutes les Logix sont activ&#233;s, et alors tous les logix sont calcul&#233;s. L'&#233;tat des Conditions changes de INCONNU pour vrai ou faux. Mais l'&#233;tat calcul&#233; de la condition est "correct" si un ou plusieurs
des variables d'&#233;tat est &#233;valu&#233;s &#224; partir d'une entit&#233; dans un &#233;tat INCONNU? Par exemple, pensez &#224; un aiguillage dans un &#233;tat inconnu
-- Aiguillage Droit et Aiguillage D&#233;vi&#233; ont &#233;t&#233; &#233;valu&#233;s tous les deux &#224; faux
Lorsque JMRI enregistre la configuration du r&#233;seau dans un fichier, par exemple un fichier de panneau, toute
informations Logix, y compris l'&#233;tat activ&#233;/d&#233;sactiv&#233; du Logix, est enregistr&#233;e
. Quand un Logix est charg&#233; depuis un fichier de configuration, il est activ&#233; ou d&#233;sactiv&#233; statut
est r&#233;gl&#233;e en fonction de ce qui a &#233;t&#233; enregistr&#233; dans le fichier de configuration .
Ceci est fait de sorte que les gens peuvent d&#233;sactiver leur Logix tout en lesr d&#233;bogant,
mais encore sauver et restaurer la configuration selon vos besoins. Comme les auditeurs continuent de tirer pour des
variables d'&#233;tat, finalement chaque entit&#233; a son &#233;tat actuel correct et le Logix fonctionnera
tr&#232;s bien. Vous pouvezsurveiller cette action en regardant les &#233;tats dans le Tableau Capteur, le
Tableau Aiguillage, etc.les Conditions au d&#233;marrage certainement sont des choses &#224; se rappeler au
d&#233;marrage d'un Logix.</p></li>
<li><b>Quand les D&#233;clencheurs de Calcul doivent &#234;tre d&#233;coch&#233;s dans une variable d'&#233;tat?</b>
Normallement les d&#233;clencheurs de Calcul doivent &#234;tre coch&#233;sdans toute les variables d'&#233;tat,
ainsi un changement dans la variable d'&#233;tat d&#233;clenchera le calcul d'un Logix. Il en r&#233;sulte que le
Logix r&#233;agira rapidement aux changements sur le reseau, et le maintien de l'&#233;tat des signaux, aiguillages,
etc comme vous le souhaitez. Il existe toutefois des situations o&#249; il est souhaitable de tester l'&#233;tat
d'une entit&#233;, mais ne pas l'utiliser comme un d&#233;clencheur de calcul. Les paragraphes qui suivent
d&#233;crivent un couple de ces situations, mais il en existe d'autres.
<p> Parfois, une "boucle logique" peut en r&#233;sulter si le d&#233;clenchement n'est pas supprim&#233;. Par exemple, si l'&#233;tat d'un aiguillage est test&#233; dans une variable d'&#233;tat, et l'aiguillage est fix&#233; par une action de la m&#234;me ou d'une autre condition du m&#234;me Logix, le d&#233;clenchement continu (une boucle logique) pourrait en r&#233;sulter. La meilleure fa&#231;on de r&#233;soudre ce dilemme est de tester l'aiguillage, sans l'utiliser comme une entit&#233; de d&#233;clenchement. Cela se fait en d&#233;cochant D&#233;clencheurs de Calcul dans <b>toutes</b> les variables d'&#233;tat o&#249; l'aiguillage est sp&#233;cifi&#233;.Si l'aiguillage est utilis&#233; dans les variables d'&#233;tat de plus d'une condition du Logix, il doit &#234;tre d&#233;coch&#233; partout o&#249; il est utilis&#233; pour supprimer l'utilisationr comme un d&#233;clencheur.</p>
<p> Une autre situation se pr&#233;sente lorsque l'action temporis&#233;e du capteur est utilis&#233;e avec
un capteur interne pour d&#233;clencher un second Logix apr&#232;s que le temps de retard se soit
&#233;coul&#233;. Si le second Logix ne doit pas &#234;tre d&#233;clench&#233; avant que le temps de retard
&#233;coul&#233;, l'ensemble de ces variables d'&#233;tat, &#224; l'exception de la capteur interne temporis&#233;,
doit &#234;tre d&#233;coch&#233;e. Ce sc&#233;nario peut se produire, par exemple, si une condition
tourne On quelque chose comme sa premi&#232;re action, et d&#233;fini un capteur temporis&#233; comme
sa deuxi&#232;me action pour couper quelque chose apr&#232;s un certain d&#233;lai pr&#233;vu.</p></li>
<li><b>Qu'est-ce qu'une "boucle logique" et comment peut-elle &#234;tre &#233;vit&#233;e?</b>
<p>Une "boucle logique" r&#233;sulte quand le programme semble ralentir de mani&#232;re significative ou
verrouiller par plusieurs Logixs qui sont continuellement d&#233;clench&#233;s en changeant les r&#233;f&#233;rences mutuellement
. La meilleure fa&#231;on d'&#233;viter une "boucle logique" est d'&#234;tre conscient des situations
qui peuvent conduire &#224; une boucle, et de planifier votre logique pour &#233;viter de telles situations. </p>
<p> Une "boucle logique" peut survenir dans un m&#234;me Logix quand une variable d'&#233;tat (capteur,
aiguillage, etc) qui d&#233;clenche le Logix est &#233;galement modifi&#233; par ce m&#234;me Logix. L'&#201;diteur Logix permet de d&#233;tecter certaines situations qui pourraient entra&#234;ner une boucle, et &#233;mettre un avertissement lorsque vous fermez le Logix. <b>tenir compte de ces avertissements!</b> Un avertissement
ne signifie pas qu'une boucle sera certainement entra&#234;ner si vous continuez. Le message d'avertissement est un "appel au r&#233;veil" pour vous prevenir que vous devriez &#233;tudier soigneusement ce que vous faites pour s'assurer qu'une boucle ne se fera pas.</p>
<p> Une situation plus complexe impliquant deux ou plusieurs Logixs peut &#233;galement entra&#234;ner
une "boucle logique". Par exemple, si une Logix est d&#233;clench&#233; par le capteur A, et a une
action qui modifie l'aiguillage B, et le Logix 2 est d&#233;clench&#233; par l'aiguillage B et change
le capteur A, un potentiel de boucle existe car ces Logixs d&#233;clenchent l'un l'autre.
Vous pouvez facilement &#233;tendre cette id&#233;e &#224; des cha&#234;nes de d&#233;clenchement (boucles) impliquant trois ou
plus Logixs, et m&#234;me &#224; des interactions entre Logixs et les itin&#233;raires. Il n'ya pas de
test dans le programme pour alerter sur des boucles comportant plusieurs Logixs. (D&#233;velopper
un tel test serait tr&#232;s difficile.)</p></li>
<li><b> Que dois-je faire si je pense avoir une "boucle logique"?</b>
<p> Quand elles se produisent, les "boucles logiques" peuvent &#234;tre un peu effrayantes &#224; d&#233;panner. Votre
ordinateur peut sembler &#234;tre bloqu&#233; ou ralenti &#233;norm&#233;ment parce que la boucle utilise la plupart du temps disponible de l'ordinateur. Heureusement JMRI fournit des outils pour aider &#224; la conception et au d&#233;bogage. D&#233;cocher "Triggers calcul" pour une variable d'&#233;tat
(voir ci-dessus), peut vous aider &#224; concevoir autour des boucles lorsque vous avez identifi&#233; le
Logix &#224; l'origine du probl&#232;me de boucle. Pour contourner le verrou ou le probl&#232;me de ralentissement
, d&#233;marrez avec tous vos Logixs d&#233;sactiv&#233;s (voir ci-dessous), puis leur permettre un
par un jusqu'&#224; ce que vous d&#233;couvrirez la boucle.</p>
<p> Si le fichier de panneau contenant Logixs charge automatiquement lorsque
le programme d&#233;marre, appuyez et rel&#226;chez la touche Maj enfonc&#233;e quelques fois plus rapidement
D&#232;s que vous voyez le petit &#233;cran de d&#233;marrage JMRI (la premi&#232;re chose que vous voyez pendant le
d&#233;marrage). Votre fichier panneau sera charg&#233; avec tous les Logixs d&#233;sactiv&#233;s.</p>
<p> Si vous chargez votre fichier de panneau manuellement en utilisant le menu Panneaux, avant de charger
votre fichier, passez au menu <b>Debug</b> et s&#233;lectionnez <b>Charger Logixs D&#233;sactiv&#233;s</b> .
Apr&#232;s avoir r&#233;pondu OK pour le message, chargez votre fichier de panneau comme vous le feriez normalement.
Votre fichier de panneau sera charg&#233; avec tous les Logixs d&#233;sactiv&#233;s.</p>
<p> Apr&#232;s avoir charg&#233; votre fichier de panneau, ouvrez le tableau Logix et v&#233;rifier que tous les
Logixs sont d&#233;sactiv&#233;s. Si vous savez quel Logix est la cause du probl&#232;me, vous
pouvez alors corriger ou supprimer, r&#233;activer les autres Logixs et enregistrer votre fichier panneau
. Si vous ne savez pas quel Logix est &#224; l'origine du probl&#232;me, vous pouvez activer
vos Logixs, un par un, jusqu'&#224; ce que la boucle se produise. Lorsque la boucle commence,
vous savez que le dernier Logix que vous avez activ&#233; est au moins partiellement responsable du probl&#232;me. A ce stade, vous devriez relancer le programme avec tous les Logixs d&#233;sactiv&#233;s, et fixer ou supprimer le Logix que vous avez identifier.</p>
<p><b>ATTENTION:</b> <b> Il est sage de sauvegarder votre fichier de panneau fr&#233;quemment lors de la saisie des
Logixs.</b> Si une boucle logique se produit, il peut &#234;tre difficile, voir
impossible, d'enregistrer votre fichier de panneau avant d'arr&#234;ter le programme.
Rappelez-vous qu'un Logix est activ&#233; d&#232;s que vous cliquez sur <b>Terminer</b> de
la fen&#234;tre Modifier Logix. Aussi, n'oubliez pas que frapper un bouton <b>Modifier</b>
dans le tableau Logix d&#233;sactive le Logix s&#233;lectionn&#233; avant de l'ouvrir pour l'&#233;dition,
offrant un moyen possible de s'introduire dans une boucle delogique sans avoir &#224; red&#233;marrer le
programme.</p></li>
</ul>
<!--#include virtual="/help/fr/parts/Footer_fr.shtml" -->
</div>
</div>
<script src="/js/help.js"></script>
</body>
</html>