Alessandro Manno ha scritto:
Che poi si possa anche automatizzare il tutto, è un'opportunità in più.
Io non avendo ancora affrontato la parte sensori di presenza al momento uso il pc per controllare il movimento dei treni e degli scambi.. prima usavo la app z21, ma dovevo stare sempre conun tablet o un pc in mano e non mi piaceva.. adesso controllarlo con il pc è tutta un'altra cosa. Sono gusti personali, ma a me dà un'altra impressione avere un quadro a video sul quale comandare il movimento di tutto o vedere muovere dei treni con partenze programmate; per alcuni aspetti automatizzare come hai fatto tu è gratificante
Avevi guardato
https://www.digitrax.com/support/locone ... dition.pdf ?
Non so se può aiutare, mi sembra contenga i comandi Loconet.
La parte riguardante i sensori di occupazione, da te non ancora affrontata, è giusto la parte di base caratterizzante l'automazione, a cui si aggiunge poi tutta la logica di instradamento, precedenze e gestione movimento.
Suggerimento: leggi la parte riguardante la calibrazione velocità (TC e WDP) che è caratteristica di questi software e permette fermata progressiva, in punti ben determinati (treno a centro stazione, a inizio o fine banchina, al segnale o in qualunque punto), con inizio rallentamento ad occupazione della sezione o x cm dopo, con un solo sensore.
Dovrai creare una tabella velocità per ogni step calibrato (TC e WDP consigliano 15 step), ed interpolare la velocità comandata su 128 step in base ai punti di calibrazione, in questo modo conoscerai la velocità reale.
Quando un treno si deve fermare, il software, preventivamente, conoscendo il punto di inizio rallentamento e quello di fermata, dovrà calcolare e comandare la variazione degli step di velocità in base alla formula distanza con decelerazione costante.
Se vorrai emettere dei suoni in un ben determinato punto del tracciato, il software, istante per istante, dovrà calcolare l'integrale della velocità rispetto al tempo trascorso da inizio occupazione della sezione per conoscere lo spazio percorso (se la velocità è sicuramente costante basta velocità*tempo, ma sei sicuro che su quella sezione sarà sempre costante?).
Un approccio più semplice è quello utilizzato da RocRail, che ammette ritardi in secondi, e fermate basate su minimo due sensori (a meno di utilizzarne uno simulato, ma sconsigliato da RocRail stesso*), con rallentamento non comandato dal software ma secondo CV4, quindi con impossibilità di scegliere il punto di fermata.
RocRail offre una funzione di autoapprendimento (BBT) o inserimento manuale di step di rallentamento (SBT),
per ogni loco e per ogni blocco di fermata.
Nel database dei rotabili dovrai dichiarare non solo la distanza degli assi conduttivi dai respingenti per le loco, ma anche per i trainati e se questi producono o meno retroazione, importante non solo in caso di loco in spinta o manovre, ma soprattutto per "liberare" la sezione al momento vero.
A volte va anche introdotto un ritardo nella liberazione di un sensore: se una loco traina veicoli che non producono retroazione, ed un treno è in attesa che si liberino gli scambi, quest'ultimo potrebbe partire mentre il precedente ancora li occupa.
Per la gestione di funzioni sound, ma non solo, dato che su loco diverse la stessa funzione è comandata da tasti funzione diversi, dovrai creare una mappatura funzione desiderata/tasto funzione, e nelle regole di circolazione usare la funzione mappata, nei comandi invece inviare il tasto vero.
Ho citato solo qualche funzione
built-in nei software, che un utente normalmente non vede, ma che da te dovrebbero essere programmati.
Quindi, se lo scopo è quello di muovere le locomotive tramite PC mi sembra
relativamente semplice, se si vuole automatizzare è ben più complesso, sia per lo sviluppo della logica di instradamento, precedenze e gestione movimento, sia per la necessità di sviluppare un'interfaccia utente che permetta di creare percorsi e regole in modo veloce e parametrico, senza "cablarli" nel codice.
Un database loco/trainati con tutte queste caratteristiche, con gli step di calibrazione, con le funzioni, con la possibilità di creazione veloce delle composizioni (ottenendo la lunghezza totale e i veicoli residui) l'ho creato facilmente in Excel.
Tutto quanto detto non per scoraggiarti, ma per chiarire che a volte, scorrendo i manuali, sembra abbastanza semplice, ma solo quando lo si usa ci si rende conto di quello che c'è sotto.
Ovviamente, in queste note, tralascio il piacere di programmare.
*Il disclaimer riguardante il sensore simulato in base al tempo lo trovi in
https://wiki.rocrail.net/doku.php?id=se ... _blocks-en al paragrafo Timer. Il link contiene anche rimandi a BBT, SBT e BAT.