Proseguiamo il discorso delle azioni con il focus sui segnali.
Se guardiamo il paragrafo 27 abbiamo visto che possiamo comandare un segnale negli itinerari:
Ad esempio il segnale 'sg12' viene posto al 'giallo' qundo si attiva l'itinerario da 'bk1' a 'bk5'.
Restava il problema di come far tornare al 'rosso' il segnale in questione visto che non è pilotato dai blocchi.
Creiamo quindi una azione (in questo demo ho cancellato tutte le azioni fatte precedentemente per migliorare la comprensione):
Come ID diamo il nome 'sg12_rosso':
Nella scheda 'Generale' il tipo sarà 'Segnale' visto che l'azione comanderà un segnale:
Nel campo 'ID', visto che abbiamo scelto il tipo segnale, saranno elencati tutti i nostri segnali:
Nel campo 'Comando' saranno presenti i comandi relativi ai segnali:
Dato che lo scopo è creare una azione che metta al rosso il segnale 'sg12' ecco il risultato:
Come al solito dobbiamo applicare l'azione. Il primo sensore disponibile, dopo il segnale, è 'fb25'. Quini apriamo le proprietà ed andiamo nella azioni del sensore in questione:
Selezioniamo l'azione e nel campo 'Stato' selezioniamo 'on', ovvero quando il sensore si attiva l'azione verrà eseguita:
Facciamo la stessa operazione sul sensore 'fb31' che è il primo sensore disponibile quando il deviatoio è in deviata verso il blocco 'bk5':
Vediamo cosa succede:
Quando si attivano i sensori il segnale viene messo al rosso.
Ben arrivato! Fate login o registratevi per fruire di tutte le funzionalità del forum e del sito.
Se eri già registrato e non ti ricordi la password usa questo link per recuperare l'accesso
Sito e forum dedicati al fermodellismo a tre rotaie gestito da appassionati senza fini commerciali. Qui trovate notizie storiche e suggerimenti tecnici per i vostri modelli vintage e moderni. Il nostro hobby viene praticato in molte maniere diverse, tutte ugualmente valide: hai un plastico? oppure sei un collezionista? oppure un semplice appassionato? Non esitare a scrivere nel forum, tutti gli interventi sono benvenuti ... Postate foto e video del vostro plastico e chiedete aiuto per ogni problema o curiosità inerente al nostro hobby.
Se eri già registrato e non ti ricordi la password usa questo link per recuperare l'accesso
Sito e forum dedicati al fermodellismo a tre rotaie gestito da appassionati senza fini commerciali. Qui trovate notizie storiche e suggerimenti tecnici per i vostri modelli vintage e moderni. Il nostro hobby viene praticato in molte maniere diverse, tutte ugualmente valide: hai un plastico? oppure sei un collezionista? oppure un semplice appassionato? Non esitare a scrivere nel forum, tutti gli interventi sono benvenuti ... Postate foto e video del vostro plastico e chiedete aiuto per ogni problema o curiosità inerente al nostro hobby.
32 - Rocrail: azioni (segnali)
- LucioTS
- Amministratore forum
- Messaggi: 4316
- Iscritto il: 19 settembre 2006, 17:11
- Nome: Lucio Cavedali
- Località: Friuli-Venezia Giulia, Trieste
- Ha ringraziato: 0
- Sei stato ringraziato: 34 volte
- Contatta:
32 - Rocrail: azioni (segnali)
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Saluti da Trieste
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
- LucioTS
- Amministratore forum
- Messaggi: 4316
- Iscritto il: 19 settembre 2006, 17:11
- Nome: Lucio Cavedali
- Località: Friuli-Venezia Giulia, Trieste
- Ha ringraziato: 0
- Sei stato ringraziato: 34 volte
- Contatta:
32 - Rocrail: azioni (segnali)
Ma possiamo anche collegare lo stato del segnale 'sg12' alla posizione del deviatoio 'sw21'.
Per questa dimostrazione eliminiamo il comando del segnale dagli itinerari: Ora il segnale 'sg'12' non viene più pilotato dagli itinerari. Dobbiamo creare due nuove azioni per pilotare il segnale al giallo e al verde.
Nel video seguente il procedimento:
Create le due azioni applichiamole al deviatoio 'sw21': Quindi l'azione 'sg12'_verde' sarà eseguita quando il deviatoio è in posizione 'straight' (diritto) e l'azione 'sg12_giallo' sarà eseguita quadni i deviatoio sarà in posione 'turnout' (deviato).
Ecco il risultato:
E vediamo che il tutto funziona. Qui alla OBB Rocrail assgna l'itinerario pr il blocco 'bk5'. Quando l'itinerari si attiva e muove il deviatoio l'azione applicata al deviatoio viene eseguita mettendo al giallo il sengale. Poi, l'attivazione del sensore metterà nuovamente al rosso il segnale:
Ora però abbiamo un 'problema'....
Il segnale viene comandato quando il deviatoio viene mosso.
Ma ora la nostra locomotiva viaggia in senso opposto al segnale. Il segnale 'sg12' non dovrebbe cambiare aspetto ma restare sul rosso:
Dobbiamo intervenire per impedire questo comportamento.
Il segnale deve cambiare stato quando si muove il deviatoio ma solo nella direzione corretta, ovvero quando la loco arriva dal blocco 'bk1' verso 'bk2' o 'bk5'.
Nel senso opposto, ovvero da 'bk2' o 'bk5' verso il blocco 'bk1' il segnale non deve cambiare aspetto.
Possiamo usare le condizioni per risolvere il problema.o
Ci sono varie pissibilità. Potremmo usare lo stato dei blocchi, ad esempio se il blocco bk1 è riservato dalla stessa locmotiva che impenga l'itinerario ma questo richiede più condizioni da applicare.
Un metodo più semplice, in questo caso, è usare gli itinerari. Vediamo.
Aprimo le azioni associate al deviatoio e selezioniamo l'azine del verde: Nelle condizioni usiamo lo stato di un itinerario: Analizziamo la condizione:
Se è vero che l'itinerario da 'bk1' a 'bk2' è in uso ('locked') allora esegui 'azione':
Tradotto: l'azione 'sg12_verde' viene eseguita solamente se l'itinerario dal blocco 'bk1' al blocco 'bk2' è in uso.
Aggiungiamo una condizione anche per l'azione del giallo: In questo caso l'itinerario scelta va dal 'bk1' a 'bk5'.
Vediamo il risultato:
Con la condizione messa il segnale non cambia aspetto se non è attivo l'itinerario scelto.
Per questa dimostrazione eliminiamo il comando del segnale dagli itinerari: Ora il segnale 'sg'12' non viene più pilotato dagli itinerari. Dobbiamo creare due nuove azioni per pilotare il segnale al giallo e al verde.
Nel video seguente il procedimento:
Create le due azioni applichiamole al deviatoio 'sw21': Quindi l'azione 'sg12'_verde' sarà eseguita quando il deviatoio è in posizione 'straight' (diritto) e l'azione 'sg12_giallo' sarà eseguita quadni i deviatoio sarà in posione 'turnout' (deviato).
Ecco il risultato:
E vediamo che il tutto funziona. Qui alla OBB Rocrail assgna l'itinerario pr il blocco 'bk5'. Quando l'itinerari si attiva e muove il deviatoio l'azione applicata al deviatoio viene eseguita mettendo al giallo il sengale. Poi, l'attivazione del sensore metterà nuovamente al rosso il segnale:
Ora però abbiamo un 'problema'....
Il segnale viene comandato quando il deviatoio viene mosso.
Ma ora la nostra locomotiva viaggia in senso opposto al segnale. Il segnale 'sg12' non dovrebbe cambiare aspetto ma restare sul rosso:
Dobbiamo intervenire per impedire questo comportamento.
Il segnale deve cambiare stato quando si muove il deviatoio ma solo nella direzione corretta, ovvero quando la loco arriva dal blocco 'bk1' verso 'bk2' o 'bk5'.
Nel senso opposto, ovvero da 'bk2' o 'bk5' verso il blocco 'bk1' il segnale non deve cambiare aspetto.
Possiamo usare le condizioni per risolvere il problema.o
Ci sono varie pissibilità. Potremmo usare lo stato dei blocchi, ad esempio se il blocco bk1 è riservato dalla stessa locmotiva che impenga l'itinerario ma questo richiede più condizioni da applicare.
Un metodo più semplice, in questo caso, è usare gli itinerari. Vediamo.
Aprimo le azioni associate al deviatoio e selezioniamo l'azine del verde: Nelle condizioni usiamo lo stato di un itinerario: Analizziamo la condizione:
Se è vero che l'itinerario da 'bk1' a 'bk2' è in uso ('locked') allora esegui 'azione':
Tradotto: l'azione 'sg12_verde' viene eseguita solamente se l'itinerario dal blocco 'bk1' al blocco 'bk2' è in uso.
Aggiungiamo una condizione anche per l'azione del giallo: In questo caso l'itinerario scelta va dal 'bk1' a 'bk5'.
Vediamo il risultato:
Con la condizione messa il segnale non cambia aspetto se non è attivo l'itinerario scelto.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Saluti da Trieste
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
- LucioTS
- Amministratore forum
- Messaggi: 4316
- Iscritto il: 19 settembre 2006, 17:11
- Nome: Lucio Cavedali
- Località: Friuli-Venezia Giulia, Trieste
- Ha ringraziato: 0
- Sei stato ringraziato: 34 volte
- Contatta:
32 - Rocrail: azioni (segnali)
Sempre nel paragrafo 27 abbiamo visto qulche problema con il segnale di preavviso legato al blocco.
In particolare, con la loco che partiva dal blocco 'bk3' il segnale di preavviso cambiava aspetto:
Vediamo come risolvere il problema usando le azioni.
Per prima cosa dobbiamo togliere il controllo del segnale di preavviso dal blocco: Ora il segnale non è più comandato dal blocco.
Creiamo una nuova azione che comanderanno il segnale 'sg4' al rosso: E facciamo altre due azioni per il giallo ed il verde: Ora applichiamo queste azioni al segnale 'principale' relativo al preavviso 'sg4'. Il segnale è 'sg3'. Quindi apriamo le proprietà del segnale e le sue azioni: Selezioniamo l'azione 'Sg4_rosso' e nel campo 'Stato' selezioniamo 'red': Quando il segnale 'sg3' è in condizione 'red' (rosso) esegue l'azione 'sg4_rosso'.
Aggiungiamo anche le azioni per il verde ed il giallo selezionando lo stato corretto del segnale: Quindi avremo 3 azioni che eseguiranno l'azione assegnata al cambio di aspetto del segnale: Ecco il risultato:
Il segnale di preavviso ora assume l'aspetto del principale.
Ma ora dobbiamo inserire qualche condizine per fare in modo che il segnale di preavviso non cambi stato. Opereremo solo sulla condizione del verde in questo esempio visto che il segnale 'sg4', per come è disegnato attualmente il tracciato, può assumere solo la condizione di rosso o verde.
Apriamo quindi le proprietà dl segnale 'sg3' e le sue azioni, selezioniamo l'azione che cambia aspetto al verde al sengale di avviso: Useremo un itinerario come condizione: Il significato è il seguente: Se l'itinerario dal blocco 'bk2' al blocco 'bk3' è in uso significa che una locomotiva stà arrivando al blocco e se può proseguire il segnale principale viene messo al verde e di conseguenza anche il preavviso vinene messo al verde.
Ma se l'itinerario non è in uso significa che la locomotiva è nel blocco. Quindi quando si mette al verde il segnale principale l'azione non viene eseguita (l'itinerario non può essre in uso perche il blocco è occupato) e quindi l'azione no nviene eseguita ed il preavviso non cambia stato.
Ora quando la locmotiva parte dal blocco il preavviso non cambia stato (non viene messo al verde):
Completiamo il tutto aggiungendo una sicurezza, ovvero facciamo mettere al rosso il preavviso quando si attiva il sensore 'fb27' posto dopo il segnale.
Basterà aggiunge al sensore l'azione che mette al rosso il preavviso quando questo è attivato:
In particolare, con la loco che partiva dal blocco 'bk3' il segnale di preavviso cambiava aspetto:
Vediamo come risolvere il problema usando le azioni.
Per prima cosa dobbiamo togliere il controllo del segnale di preavviso dal blocco: Ora il segnale non è più comandato dal blocco.
Creiamo una nuova azione che comanderanno il segnale 'sg4' al rosso: E facciamo altre due azioni per il giallo ed il verde: Ora applichiamo queste azioni al segnale 'principale' relativo al preavviso 'sg4'. Il segnale è 'sg3'. Quindi apriamo le proprietà del segnale e le sue azioni: Selezioniamo l'azione 'Sg4_rosso' e nel campo 'Stato' selezioniamo 'red': Quando il segnale 'sg3' è in condizione 'red' (rosso) esegue l'azione 'sg4_rosso'.
Aggiungiamo anche le azioni per il verde ed il giallo selezionando lo stato corretto del segnale: Quindi avremo 3 azioni che eseguiranno l'azione assegnata al cambio di aspetto del segnale: Ecco il risultato:
Il segnale di preavviso ora assume l'aspetto del principale.
Ma ora dobbiamo inserire qualche condizine per fare in modo che il segnale di preavviso non cambi stato. Opereremo solo sulla condizione del verde in questo esempio visto che il segnale 'sg4', per come è disegnato attualmente il tracciato, può assumere solo la condizione di rosso o verde.
Apriamo quindi le proprietà dl segnale 'sg3' e le sue azioni, selezioniamo l'azione che cambia aspetto al verde al sengale di avviso: Useremo un itinerario come condizione: Il significato è il seguente: Se l'itinerario dal blocco 'bk2' al blocco 'bk3' è in uso significa che una locomotiva stà arrivando al blocco e se può proseguire il segnale principale viene messo al verde e di conseguenza anche il preavviso vinene messo al verde.
Ma se l'itinerario non è in uso significa che la locomotiva è nel blocco. Quindi quando si mette al verde il segnale principale l'azione non viene eseguita (l'itinerario non può essre in uso perche il blocco è occupato) e quindi l'azione no nviene eseguita ed il preavviso non cambia stato.
Ora quando la locmotiva parte dal blocco il preavviso non cambia stato (non viene messo al verde):
Completiamo il tutto aggiungendo una sicurezza, ovvero facciamo mettere al rosso il preavviso quando si attiva il sensore 'fb27' posto dopo il segnale.
Basterà aggiunge al sensore l'azione che mette al rosso il preavviso quando questo è attivato:
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Saluti da Trieste
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
- LucioTS
- Amministratore forum
- Messaggi: 4316
- Iscritto il: 19 settembre 2006, 17:11
- Nome: Lucio Cavedali
- Località: Friuli-Venezia Giulia, Trieste
- Ha ringraziato: 0
- Sei stato ringraziato: 34 volte
- Contatta:
32 - Rocrail: azioni (segnali)
Sembra che abbiamo 'risolt' il problema ma non è del tutto vero.
Infatti se è vero che la partenza del blocco impedisce il cambio di stqato del preavviso ciò no si verifica se la locomotiva transita solamente sul blocco. Vediamo:
Vediamo che quando la locomotiva parte il preavviso non cambia ma quando la locomotiva transita ed il segnale principale da giallo divente verde il preavviso cambia colore. Nella realta del nostro tracciato la locmotiva ha già passato il segnale di preavviso e quindi non deve cambiare aspetto.
Dobbiamo trovare una soluzione anche a questo 'problema'.
Basterà aggiungere una condizione alla nostra azione: Con qusta ulteriore condizione l'azione che mette al verde il segnale 'sg4' sarà eseguita solamente se l'itinerario è in uso ed il blocco stesso è nello stato di occupato, ovvero una locomotiva è nel blocco.
Ecco il risultato finale:
Quando invece la loco si deve fermare nel blocco il preavviso resterà rosso.
Una considerazione però deve eseere fatta.
Abbiamo usato azioni e condizioni per ottenere il nostro risultato ma.....
Non serviva fare niente di tutto questo.
Nel caso specifico bastava non assegnare l'azione 'sg4_verde' al segnale 'sg3'.
Per come è disegnato il tracciato il preavviso in questione non potrà mai mostrare il verde.
Analizziamo il dettaglio: Quando si attiva il sensore 'enter' del blocco 'bk1' viene prenotato il blocco 'bk3' (il blocco 'bk2' era già prenotato). Ma il seegnale del blocco 'bk3' è al rosso in quanto il blocco successivo ('bk4') è ancora occupato.
Si attiva il sensore 'in' del blocco 'bk1'. Il blocco 'bk4' viene liberato ma nulla cambia a livello del segnale del blocco 'bk3'.
Si attiva il sensore 'enter' del blocco 'bk2'. Viene prenotato il blocco 'bk4' ed il segnale del blocco 'bk3' passa al giallo. Non al verde ma al giallo. Il preavviso 'sg4' si mette al giallo perchè l'azione assegnata al segnale 'sg3' viene eseguita.
Si attiva il sensore 'enter' del blocco 'bk2'. Il segnale del blocco 'bk3' non cambia aspetto. Resta sul giallo perchè il blocco successivo 'bk4' no ha alcun segnale, il blocco 'bk1' non è ancora prenotato e quindi Rocrail, in questo momento, si attende che la locmotiva si arresti nel blocco bk40. Per questo motiva il segnale è al giallo.
Si attiva il sensore 'enter' del blocco 'bk3'. Solamente ora il sengale del blocco 'bk3' diventa verde in quanto viene prenotato il blocco 'bk1' e dat che la locomotiva non deve fermarsi al blocco 'bk4' il sengale viene posto al verde. Ma la nostra locomotiva ha già passato il segnale di preavviso che quindi non potrà mostrare il verde.
Quindi, nel caso specifico, questo pravviso non mostrerà mai l'aspetto del verde e di conseguenza la soluzione più semplice era di non assegnare l'azione, al segnale 'sg3', del 'sg4_verde'.
In questo modo il preavviso commutava sul giallo o sul rosso ma mai sul verde.
Ma se invece aggiungiamo un segnale al 'bk4'?: In partenza dal blocco 'bk3' nulla cambia: Ed in ogni caso nulla cambia per il segnale 'sg4'. Perchè il verde avviene solo quando viene prenotato il blocco 'bk1' e questo succede solo quando si attiva il senesore 'enter' del blocco 'bk3' ma dopo che la locomotiva a passato il pravviso.... Il discorso è che talvolta, prima di 'scervellarsi' su come ottenere u risultato con le azioni è bene verificare se l'azione sarà mai attivata. Questo è servito per capire meglio l'uso delle condizioni ma, per quanto riguarda l'azione del preavviso verde, non serviva a nulla.
Infatti se è vero che la partenza del blocco impedisce il cambio di stqato del preavviso ciò no si verifica se la locomotiva transita solamente sul blocco. Vediamo:
Vediamo che quando la locomotiva parte il preavviso non cambia ma quando la locomotiva transita ed il segnale principale da giallo divente verde il preavviso cambia colore. Nella realta del nostro tracciato la locmotiva ha già passato il segnale di preavviso e quindi non deve cambiare aspetto.
Dobbiamo trovare una soluzione anche a questo 'problema'.
Basterà aggiungere una condizione alla nostra azione: Con qusta ulteriore condizione l'azione che mette al verde il segnale 'sg4' sarà eseguita solamente se l'itinerario è in uso ed il blocco stesso è nello stato di occupato, ovvero una locomotiva è nel blocco.
Ecco il risultato finale:
Quando invece la loco si deve fermare nel blocco il preavviso resterà rosso.
Una considerazione però deve eseere fatta.
Abbiamo usato azioni e condizioni per ottenere il nostro risultato ma.....
Non serviva fare niente di tutto questo.
Nel caso specifico bastava non assegnare l'azione 'sg4_verde' al segnale 'sg3'.
Per come è disegnato il tracciato il preavviso in questione non potrà mai mostrare il verde.
Analizziamo il dettaglio: Quando si attiva il sensore 'enter' del blocco 'bk1' viene prenotato il blocco 'bk3' (il blocco 'bk2' era già prenotato). Ma il seegnale del blocco 'bk3' è al rosso in quanto il blocco successivo ('bk4') è ancora occupato.
Si attiva il sensore 'in' del blocco 'bk1'. Il blocco 'bk4' viene liberato ma nulla cambia a livello del segnale del blocco 'bk3'.
Si attiva il sensore 'enter' del blocco 'bk2'. Viene prenotato il blocco 'bk4' ed il segnale del blocco 'bk3' passa al giallo. Non al verde ma al giallo. Il preavviso 'sg4' si mette al giallo perchè l'azione assegnata al segnale 'sg3' viene eseguita.
Si attiva il sensore 'enter' del blocco 'bk2'. Il segnale del blocco 'bk3' non cambia aspetto. Resta sul giallo perchè il blocco successivo 'bk4' no ha alcun segnale, il blocco 'bk1' non è ancora prenotato e quindi Rocrail, in questo momento, si attende che la locmotiva si arresti nel blocco bk40. Per questo motiva il segnale è al giallo.
Si attiva il sensore 'enter' del blocco 'bk3'. Solamente ora il sengale del blocco 'bk3' diventa verde in quanto viene prenotato il blocco 'bk1' e dat che la locomotiva non deve fermarsi al blocco 'bk4' il sengale viene posto al verde. Ma la nostra locomotiva ha già passato il segnale di preavviso che quindi non potrà mostrare il verde.
Quindi, nel caso specifico, questo pravviso non mostrerà mai l'aspetto del verde e di conseguenza la soluzione più semplice era di non assegnare l'azione, al segnale 'sg3', del 'sg4_verde'.
In questo modo il preavviso commutava sul giallo o sul rosso ma mai sul verde.
Ma se invece aggiungiamo un segnale al 'bk4'?: In partenza dal blocco 'bk3' nulla cambia: Ed in ogni caso nulla cambia per il segnale 'sg4'. Perchè il verde avviene solo quando viene prenotato il blocco 'bk1' e questo succede solo quando si attiva il senesore 'enter' del blocco 'bk3' ma dopo che la locomotiva a passato il pravviso.... Il discorso è che talvolta, prima di 'scervellarsi' su come ottenere u risultato con le azioni è bene verificare se l'azione sarà mai attivata. Questo è servito per capire meglio l'uso delle condizioni ma, per quanto riguarda l'azione del preavviso verde, non serviva a nulla.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Saluti da Trieste
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
- LucioTS
- Amministratore forum
- Messaggi: 4316
- Iscritto il: 19 settembre 2006, 17:11
- Nome: Lucio Cavedali
- Località: Friuli-Venezia Giulia, Trieste
- Ha ringraziato: 0
- Sei stato ringraziato: 34 volte
- Contatta:
32 - Rocrail: azioni (segnali)
Ora vediamo un altro esempi legato ai segnali.
Abbiamo detto che i segnali non sono usati per far partire o fermare una locomotiva.
Tramite le azioni però possiamo invece far partire o fermare una locomotiva.
Vediamo come far paritre una locomotiva da un blocco usando un segnale.
Creiamo una nuova azione. Facciamo partire la locomotiva dal blocco 'bk3' e quindi chiamiamo l'azione (ID) 'start_dal_blocco_bk3': Pur essendo ua azione legata ad un segnale, l'azione si riferisce invece ad un blocco, quindi il tipo è 'Blocco': ID sarà il blocco 'bk3': I comandi relativi ad un blocco sono tanti...: Nel nostro caso il comando è 'go': Ora applichiamo l'azione. Il segnale è 'sg4' quello appunto del blocco 'bk3'. Andiamo nelle sue azioni: Aggiungiamo l'azione appena creata sullo stato 'green'. Ovvero quando il segnale è messo al verde eseguirà l'azione: Vediamo il risultato:
La locomotiva ferma nel blocco, parte quando mettiamo al verde il segnale.
Nel video successivo creiamo un azione analoga per il blocco 'bk2'. Nel blocco usiamo un'altra locomotiva, tanto nulla cambia per Rocrail.
Ma l'avvio può avvenire sia con il verde che con il giallo del segnale del blocco:
Abbiamo detto che i segnali non sono usati per far partire o fermare una locomotiva.
Tramite le azioni però possiamo invece far partire o fermare una locomotiva.
Vediamo come far paritre una locomotiva da un blocco usando un segnale.
Creiamo una nuova azione. Facciamo partire la locomotiva dal blocco 'bk3' e quindi chiamiamo l'azione (ID) 'start_dal_blocco_bk3': Pur essendo ua azione legata ad un segnale, l'azione si riferisce invece ad un blocco, quindi il tipo è 'Blocco': ID sarà il blocco 'bk3': I comandi relativi ad un blocco sono tanti...: Nel nostro caso il comando è 'go': Ora applichiamo l'azione. Il segnale è 'sg4' quello appunto del blocco 'bk3'. Andiamo nelle sue azioni: Aggiungiamo l'azione appena creata sullo stato 'green'. Ovvero quando il segnale è messo al verde eseguirà l'azione: Vediamo il risultato:
La locomotiva ferma nel blocco, parte quando mettiamo al verde il segnale.
Nel video successivo creiamo un azione analoga per il blocco 'bk2'. Nel blocco usiamo un'altra locomotiva, tanto nulla cambia per Rocrail.
Ma l'avvio può avvenire sia con il verde che con il giallo del segnale del blocco:
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Saluti da Trieste
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
- LucioTS
- Amministratore forum
- Messaggi: 4316
- Iscritto il: 19 settembre 2006, 17:11
- Nome: Lucio Cavedali
- Località: Friuli-Venezia Giulia, Trieste
- Ha ringraziato: 0
- Sei stato ringraziato: 34 volte
- Contatta:
32 - Rocrail: azioni (segnali)
Se far partire una locomotiva da un blocco tramite l'azionamento di un segnale è cosa 'banale', risulta quasi impossibile fare l'opposto, ovvero fermare una locomotiva in un blocco tramite un segnale.
Vediamo il perchè:
Proviamo a costruire una azione per fermare la locomtiva nel blocco 'bk1' quando il segnale collegato al blocco 'sg1' è al rosso.
Creiamo la nostra azione con il nome 'stop_bk1_rosso': Se prima usavamo il 'go' per far partire la loco proviamo ad usare il comando 'stop': Applichiamo l'azione al segnale 'sg1': Vediamo cosa succede. Prima che la locomotiva arrivi al blocco 'bk1' mettiamo il segnale 'sg1' al rosso manualmente:
[mp4]Https://www.3rotaie.eu/documenti/video/ ... 4.mp4/[mp4]
Assolutamente nulla.
Tutto continua ingnorando il comando.
Proviamo un metodo diverso.
Togliamo l'azione dal segnale: Assegnamola al blocco 'bk1': E mettiamo come condizione lo stato rosso del segnale:
Vediamo cosa succede. Prima che la locomotiva arrivi al sensore 'enter' del blocco 'bk1' mettiamo il segnale 'sg1' al rosso manualmente:
[mp4]Https://www.3rotaie.eu/documenti/video/ ... 5.mp4/[mp4]
Anche in questo caso non otteniamo nulla.
Proviamo a cambiare l'azione: Modifichiamo cambiando il tipo il 'Locomotiva': Abbiamo cambiato cosa effettua l'azione ma non il nome e quindi non srve fare altro. L'azione che abbiamo già assgnato al blocco ora eseguirà questo nuovo comando.
Vediamo il risultato. Nel filmato il primo passaggio è senza cambiare stato al segnale, mentre nel secondo passaggio metto al rosso manuamente priam che la locomotiva attivi il sensore 'enter' del blocco:
[mp4]Https://www.3rotaie.eu/documenti/video/ ... 6.mp4/[mp4]
Effettivamente la locmotiva, quando entra nel blocco ed il segnale è posto al rosso, riceve il comando di 'stop'.
Ma lo 'stop' cambia il modo della locomotiva, ovvero la toglie dalla modalità automatica.
Però la locomotiva aveva già 'prenotato' il prossimo blocco, quindi lo raggiungerà e solo a quel punto si fermerà.
Come abbiamo detto, i segnali in Rocrail sono un 'abbellimento' e come tali andrebbero usati.
Sebbene sia possibile fermare una locomotiva con i segnali questo implica l'uso di variabili, di slegare i segnali dal blocco e di programmazione xml. In pratica bisogna far fermare la locomotiva tramite i comandi di velocità ed una volta ferma, 'resettarla' in modo che liberi i blocchi prenotati e resti ferma nel blocco. Ma, ripeto, è piuttosto complicato e per Rocrail non è il sistema corretto. I segnali sono un abbellimento. Possiamo usare le azioni per migliorare il comportamento dei segnali quando non rispecchiano la realtà (come per i segnali di preavviso) ma evitiamo di usarli per la gestione del movimento.
Vediamo il perchè:
Proviamo a costruire una azione per fermare la locomtiva nel blocco 'bk1' quando il segnale collegato al blocco 'sg1' è al rosso.
Creiamo la nostra azione con il nome 'stop_bk1_rosso': Se prima usavamo il 'go' per far partire la loco proviamo ad usare il comando 'stop': Applichiamo l'azione al segnale 'sg1': Vediamo cosa succede. Prima che la locomotiva arrivi al blocco 'bk1' mettiamo il segnale 'sg1' al rosso manualmente:
[mp4]Https://www.3rotaie.eu/documenti/video/ ... 4.mp4/[mp4]
Assolutamente nulla.
Tutto continua ingnorando il comando.
Proviamo un metodo diverso.
Togliamo l'azione dal segnale: Assegnamola al blocco 'bk1': E mettiamo come condizione lo stato rosso del segnale:
Vediamo cosa succede. Prima che la locomotiva arrivi al sensore 'enter' del blocco 'bk1' mettiamo il segnale 'sg1' al rosso manualmente:
[mp4]Https://www.3rotaie.eu/documenti/video/ ... 5.mp4/[mp4]
Anche in questo caso non otteniamo nulla.
Proviamo a cambiare l'azione: Modifichiamo cambiando il tipo il 'Locomotiva': Abbiamo cambiato cosa effettua l'azione ma non il nome e quindi non srve fare altro. L'azione che abbiamo già assgnato al blocco ora eseguirà questo nuovo comando.
Vediamo il risultato. Nel filmato il primo passaggio è senza cambiare stato al segnale, mentre nel secondo passaggio metto al rosso manuamente priam che la locomotiva attivi il sensore 'enter' del blocco:
[mp4]Https://www.3rotaie.eu/documenti/video/ ... 6.mp4/[mp4]
Effettivamente la locmotiva, quando entra nel blocco ed il segnale è posto al rosso, riceve il comando di 'stop'.
Ma lo 'stop' cambia il modo della locomotiva, ovvero la toglie dalla modalità automatica.
Però la locomotiva aveva già 'prenotato' il prossimo blocco, quindi lo raggiungerà e solo a quel punto si fermerà.
Come abbiamo detto, i segnali in Rocrail sono un 'abbellimento' e come tali andrebbero usati.
Sebbene sia possibile fermare una locomotiva con i segnali questo implica l'uso di variabili, di slegare i segnali dal blocco e di programmazione xml. In pratica bisogna far fermare la locomotiva tramite i comandi di velocità ed una volta ferma, 'resettarla' in modo che liberi i blocchi prenotati e resti ferma nel blocco. Ma, ripeto, è piuttosto complicato e per Rocrail non è il sistema corretto. I segnali sono un abbellimento. Possiamo usare le azioni per migliorare il comportamento dei segnali quando non rispecchiano la realtà (come per i segnali di preavviso) ma evitiamo di usarli per la gestione del movimento.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Saluti da Trieste
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu
Lucio
La collaborazione ed i suggerimenti degli utenti sono la linfa vitale del sito e del forum, non esitate a condividere esperienze e conoscenze.
Amministratore 3Rotaie.eu - mail: admin@3rotaie.eu