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.

Debug

Moderatore: supermoee

Rispondi
Messaggio
Autore
Avatar utente
luferr52
Senior Märklin Supporter
Messaggi: 1248
Iscritto il: 11 gennaio 2016, 17:20
Nome: Luigi Ferraris
Località: Lazio Viterbo Bassano Romano
Hai ringraziato: 2 volte
Sei stato  ringraziato: 4 volte

Debug

#1 Messaggio da luferr52 » 22 giugno 2020, 20:38

La gestione degli eventi con la CS3 ha acquisito molte funzionalità e di pari passo è aumentato il grado di complessità delle azioni e condizioni che permettono un efficace trattamento dei movimenti dei convogli.
Riuscire quindi ad "avere sott'occhio" quanto si sta facendo sia in fase di progettazione sia in fase di prova di quanto preparato non è solo desiderabile ma diventa una necessità imprescindibile.
Per operare in questa direzione c'è una modalità che ho chiamato "debug" in analogia a quanto avviene quando si opera con un linguaggio di programmazione. Un "debug" passo passo, come avviene in programmazione, non sarebbe tuttavia qui proponibile in quanto se un treno è in movimento interrompere la sequenza di eventi non fermerebbe certamente il treno, a meno di togliere la corrente, inoltre non è detto che la sequenza di eventi che sto controllando sia l'unica in esecuzione nel momento dato.
Quello che invece si può fare è invece esaminare quanto sto facendo in fase di progettazione, o controllare come avviene la sequenza di eventi in fase di prova, con un metodo di tipo "top-down" partendo cioè dalla catena di eventi principale per scendere via via nei dettagli.
Cerco di spiegarmi con delle immagini prese da quanto preparato per lo Scenario1 di cui ho parlato in ambito "Composizioni"
DSCN2212.jpg
Nella striscia in alto Sc1-A rappresenta, mi si perdoni il linguaggio informatico, il programma principale che è costituito da tre diversi sottoprogrammi: Mi-To-Parte, LivD-MediolU (il rapido da Livorno scende mentre il Mediolanum sale) e al contrario LivU-MediolD.
Questi sottoprogrammi saranno eseguiti solo a condizione che il binario sia disponibile e quindi per esempio che il diretto Mi-To che occupa il binario tre abbia fatto il suo percorso e sia tornato in stazione.
Se ora mi posiziono sull'icona di Mi-To-Parte e premo e tengo premuto il tasto sinistro del mouse compare nella striscia sottostante l'espansione di Mi-To-Parte.
Se poi mi posiziono nella striscia di Mi-To-Parte dove si vede una barra di scorrimento e giro la rotellina del mouse posso spostarmi a piacimento, vedi immagine seguente
DSCN2213.jpg
Se invece di essere in fase di progettazione fossi in fase di prova allora la sbarra rossa che al momento è all'estrema sinistra delle strisce si sposterebbe da evento a evento in base alla tempistica impostata e questo, in base ovviamente anche all'osservazione visiva di quanto succede sul tracciato, mi permette di rilevare se quanto avevo progettato si sta concretizzando nella realtà.

Il numero di livelli di dettaglio al quale posso arrivare è limitato da quanto ci sta a video e posso avere al massimo l'espansione di tre livelli, vedi figura
DSCN2214.jpg
Tre livelli potrebbero sembrare abbastanza ma potrebbero non essere sufficienti come si vede nella figura seguente
DSCN2215.jpg
Per quanto io possa premere sull'icona di Bin4-Man non appare nessun altro livello di dettaglio, occorre quindi partire da un livello più basso come si vede
DSCN2216.jpg
Partendo dall'espansione di Mediol-Stop riusciamo ad espandere anche il livello più basso Bin4-Man


Concludendo, questa metodologia di "debug" diventa indispensabile quando la complessità degli eventi aumenta come anche il livello di annidamento dei sottoprogrammi predisposti.
Spero di non aver spaventato nessuno, comunque occorre ricordare che spesso è più semplice provare a fare che non leggere una spiega come questa.

a presto luigi
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

Rispondi