User Tools

Site Tools


action-example-it

Azioni

Esempio: usare le uscite per impostare gli itinerari

Come impostare gli itinerari usando due pulsanti, uno all'inizio di un itinerario e uno alla fine di un itinerario.


Se si premono i pulsanti a sinistra e 1 (l'ordine non ha importanza), Rocrail imposta il deviatoio T1 sul corretto tracciato. Se si premono i pulsanti a destra e 3, Rocrail imposta i deviatoi T2 e T3 su deviata e cosí via. Esistono tante possibilitá, si puó fare anche sinistra, 2 e destra (l'idea é quella di impostare uno specifico itinerario, non di trovare qualsiasi itinerario da A a B per cuiesistono altri meccanismi in Rocrail).

Il migliore modo per capire come funziona e di dare uno sguardo da soli su come le azioni e gli itinerari sono stati definiti nelle tabelle e come i controlli azione e le condizioni azioni sono state impostate nelle definizioni dei 5 sensori. Si é tentato di mantenere tutti i nomi in modo auto-esplicativo.

Tenere a mente che non c'é logica in quanto descritto, nessun blocco e cosí via (senza blocchi lo stato di occupazione dell'itinerario impostato non cambierá), ma se capirete l'idea alla base potrete aggiungere ulteriori azioni.

Per testare/provare l'esempio, il file .zip allegato contiene il file rocrail.ini e il file del tracciato. Nel file rocrail.ini é stato impostato il tempo di rotazione del deviatoio a 1 secondo, cosí c'é una pausa di un secondo dopo ogni cambio di direzione (in modo da facilitare l'osservazione sullo schermo).



Esempio: deviatoi azionati simultaneamente

Il secondo esempio mostra come impostare i deviatoi che sono sempre azionati insieme (entrambi su corretto tracciato o entrambi in deviata) perché i motori dei deviatoi sono connessi allo stessa uscita del decoder. In Rocrail un deviatoio é definito dall'indirizzo reale del decoder, l'altro deviatoio con un indirizzo virtuale tramite la centrale digitale virtuale. Le azioni e le condizioni si assicurano che quando un deviatoio é azionato l'altro lo segua conseguentemente.


Esempio: mostrare una variabile in un elemento testo (p.e. 'counter')

1. Definire un elemento testo, p.e. "counter" ("contatore")
2. Definire una nuova azione "display_counter" ("mostra_contatore"), tipo="text", il parametro é la variabile, p.e. "%counter%"; comando="update"
3. Assegnare l'azione al sensore del blocco (stato="on")
Ora la variabile sará mostrata …

Esempio: mostrare l'immagine di una loco quando un blocco viene impegnato

Una azione puó mostrare una immagine di una loco che entra in un blocco (esempio in tedesco):
Blockbelegung als Lokbild

Esempio: come gestire due blocchi corti in una linea con treni lunghi

This is not officially supported and is regarded as a work-around for a design flaw.
Just let long trains run by route permissions directly in block 1a using the two short blocks as crossing block.

Il progetto dimostrativo ha -se tutto é a posto- i nomi degli oggetti auto-esplicativi. L'idea dietro il progetto é quella di una stazione nascosta che possa avere due blocchi dietro ogni altro. Ognuno di questi blocchi (1a e 1b) puó contenere un treno corto, mentre un treno lungo occuperá entrambi i blocchi usando un itinerario verso il blocco 1b attraversando il blocco di passaggio 1a.

Senza misure, dopo l'arrivo di un treno lungo nel blocco 1b, il blocco 1a é ancora libero e Rocrail potrebbe inviarci un treno. Inoltre, la partenza di un treno lungo da 1b potrebbe attivare i sensori del blocco 1a, causando un evento fantasma nel blocco 1a.

Il progetto usa una loco fittizia, assegnandola loco alla centrale digitale virtuale o assegnandole un indirizzo inutilizzato (assicurarsi che questo indirizzo rimanga inutilizzato anche nel futuro). Per ogni "gruppo" di blocchi in una linea sará necessaria una loco fittizia, perché una loco fittizia non puó occupare piú blocchi.
I quattro itinerari sono stati creati manualmente e sono stati chiamati manual-[start]-[destination]. Il resto degli itinerari sono stati creati dall'Router. Alcuni itinerari hanno dei permessi, in modo che o solo treni lunghi o solo treni corti possano usare quell'itinerario.
Due degli itinerari manuali hanno un "controllo azione" e uno ha una "condizione azione". Una azione mette la loco fittizia nel blocco 1a, l'altra azione la rimuove. Entrambe le azioni sono attivate alla fine degli itinerari, quando il treno ha raggiunto il suo blocco di destinazione e l'itinerario é sbloccato. Nuovamente, quando esistono piú "gruppi" di blocchi nella linea, ogni gruppo ha bisogno dei suoi itinerari e azioni.
Mettendo una loco fittizia nel blocco 1a, Rocrail non considera quando i sensori del blocco 1a si attivano perché il treno lungo in 1b li attiva procedendo verso il blocco 3. Questo previene lo stato fantasma del blocco 1a.
Si puó provare con la centrale digitale virtuale: mettere il treno corto nel blocco START2, il treno lungo nel blocco START e avviare entrambi in modalitá automatica. Il treno lungo userá l'itinerario da START a 1b con 1a come blocco di passaggio. Dopo l'arrivo in 1b, la loco fittizia appare nel blocco 1a tramite l'azione dell'itinerario. Il treno corto aspetterá nel blocco START, perché il blocco 1a é occupato dalla loco fittizia e il blocco 2 é chiuso. Dopo l'attesa in 1b, il treno lungo userá l'itinerario manuale LONG da 1b a 3. Si possono attivare i sensori del blocco 1a come si vuole, ma solo perché c'é la loco fittizia, senza generare fantasmi. Dopo l'arrivo nel blocco 3, la seconda azione rimuove la loco fittizia dal blocco 1a e il treno corto andrá al blocco 1a.

Provatelo.
two-short-blocks.zip

action-example-it.txt · Last modified: 2020/04/20 00:35 by smitt48