IL CONTROLLO DEL MOVIMENTO IN CINTURA
La cintura, percorso di binari e scambi atto ad alloggiare e selezionare i convogli, è totalmente nascosta all' operatore, trovandosi all' interno della struttura del plastico.
Per questo motivo, fin dall' inizio, abbiamo pensato ad un sistema automatico di gestione.
Seguendo l' impostazione dei sistemi veri, abbiamo costruito un sistema basato su tre livelli :
- livello campagna : comprende i circuiti di binario concatenati ed asserviti alla posizione di scambi e leve di comando dei segnali e tutti i cablaggi; circuiti di binario, scambi e segnali sono visualizzati sul quadro luminoso
- livello ACEI : lettura della situazione degli enti e comando di essi ad imitazione del funzionamento di un ACEI, nonchè visualizzazione sul quadro luminoso delle informazioni.
Possibilità di lettura dello stato di tutti gli enti tramite porta seriale RS232 e possibilità di telecomando attraverso la medesima.
- livello CTC : quando nacque questo plastico (primi '80), nelle ferrovie iniziavano a diffondersi i primi Centralized Traffic Control. E da quelli abbiamo tratto ispirazione di massima. E' il sistema che sovraintende alla circolazione. Determina la posizione dei convogli e richiede gli itinerari ad ACEI per istradare opportunamente detti convogli affinchè si presentino in stazione nell' ordine richiesto dall' orario di servizio.
IL LIVELLO DI CAMPAGNA
Il primo mattone per la realizzazione del sistema è stato, nel 1980, lo studio di un sezionamento, con regolatore di velocità e dotato di circuito di binario. Ne è nato un modulo di sezione formato da un alimentatore e due circuiti di binario ad assorbimento (a seguito di uno studio del 1978). Lo stato di occupazione è indipendente dalla tensione di trazione.
Se la sezione successiva è libera, il modulo provvede a far crescere la tensione alla propria sezione, in caso contrario provvede a decrescere la tensione, non fino a 0, ma fino alla velocità di avvicinamento. Poi, quando viene rilevata l' occupazione del secondo circuito di binario, lungo circa 20 cm e posto alla fine della sezione, l' alimentatore viene comandato a descrescere la tensione fino a 0.
Al momento dell' occupazione del primo circuito di binario, ovvero quendo il treno entra, il condensatore che determina la velocità istantanea viene caricato alla stessa tensione di quello della sezione precedente, per evitare strattoni dovuti a tensioni diverse su sezioni diverse.
Così fatto, il modulo non gestisce le doppie trazioni e neppure le spinte in coda. Avviene, infatti, che, passando un treno da una sezione alla successiva, viene a trovarsi con la locomotiva di testa sulla sezione successiva, mentre l' altra locomotiva è sulla sezione di partenza. Ma la sezione di partenza, rilevando l' occupazione della successiva, porta a 0 la tensione, comandando la frenatura della seconda locomotiva.
Per poter utilizzare correntemente le doppie trazioni in testa, abbiamo dotato le locomotive coinvolte in doppie trazioni di cavetti, collegati con microspine, per mettere in parallelo motori e prese di corrente. I cavetti sono neri e sagomati ad imitazione delle condotte.
Ogni gruppo di scambi, invece, dispone del solito modulo con due circuiti di binario, più un modulo di logica. La logica è a porte logiche CMOS a 12 V e provvede a instradare il consenso di via libera seguendo la posizione degli scambi. Tale consenso, che proviene dalla sezione libera a valle, viene condizionato dalla levetta del segnale, dalla posizione degli scambi e dal consenso dell' ACEI (quando inserito).
Quindi, il circuito della cintura è autonomo e può fare circolazioni anche solo grazie al sistema dei circuiti di binario e relativi moduli di logica.
L' ACEI DELLA CINTURA
Nel 1985, dopo una prima fase di studio dell' ACEI, a porte logiche CMOS, apparve evidente la complessità che ne sarebbe derivata. Quindi optai per una soluzione a microprocessore.
A quei tempi usavo un 4 bits, il COP402 della National, e la scelta cadde su quello.
E' un processore semplice, non più in produzione da molti anni. Può indirizzare 1kB di memoria esterna, ha 64 registri da 4 bits ciascuno, ha l' accumulatore, e può operare ad una velocità di esecuzione di 131 kHz.
Per sopperire alla mancanza di un numero sufficiente di porte di I/O, lo interfacciai mediante shift register. Il processore và a 5V, mentre gli shift registers vanno a 12 V, come anche gli altri interfacciamenti. In mezzo ci sono dei traslatori di livello.
Il programma è scritto in linguaggio macchina e assemblato a mano.
E' realizzata una interfaccia RS232 (la seriale dei PC), mediante una periferica parallela esterna ad 8 bits ed appositi traslatori di livello.
Dispone di :
- 8 tasti per comandare gli itinerari
- 4 levette per comandare il via libera alle due zone scambi e alle due entrate in stazione
- un quadro luminoso condiviso con la zona circuiti di binario, di cui comanda le linee gialle che indicano il bloccamento ed i triangoli di inizio e fine itinerario e dal quale legge lo stato di occupazione delle sezioni
- comando e lettura posizione dei 4 scambi, posizione ripetuta autonomamente sul QL
- collegamento RS232
Il programma esegue continuamente un ciclo che comprende :
- scrittura delle uscite seriali secondo i risultati dell' ultima elaborazione e, contestualmente,
- lettura dello stato degli ingressi seriali
- lettura degli 8 tasti e del selettore (il selettore ha tre posizioni : manuale, locale, telecomandato)
- temporizzazione e sequenziamento per il comando degli scambi richiesti
- spegnimento e sbloccaggio delle sezioni bloccate da itinerario, a seguito occupazione del relativo circuito di binario
- esecuzione operazioni per itinerari eventualmente in corso (max 2 contemporaneamente)
- invio continuo, 5 volte al secondo, di una stringa verso la porta seriale, riportante il contenuto dei registri del processore. In questo modo non è stato necessario predisporre nel programma un protocollo di comunicazione e neppure una fase di elaborazione dei dati da inviare. A causa del fatto che non c' era sufficiente spazio nei registri.
A seconda della posizione del selettore, puo funzionare nelle seguenti modalità :
in MANUALE i 4 tasti comandano direttamente gli scambi, ed il controllore non interviene. Le leve dei segnali consentono di regolare la circolazione ai bivi ed all' ingresso in stazione. E' una modalità non realistica, ma prevista per poter funzionare anche in caso di piccoli guasti o problemi che ACEI non potrebbe superare.
In LOCALE si comandano gli itinerari manualmente. Ogni gruppo scambi ha due entrate e due uscite. Ad ognuna di esse è associato un pulsante.
Per formare un itinerario si preme il pulsante corrispondente al punto di inizio.
Ad imitazione del vero, lampeggeranno tutti i punti finali (nessuno, 1 o 2 a seconda delle occupazioni o bloccaggi). E' la catena di andata.
A questo punto si dovrà premere il pulsante del punto di arrivo. Se il relativo triangolo sarà lampeggiante, allora si tratterà di un itinerario valido, che verrà formato bloccando le relative sezioni, che si illumineranno con la classica riga bianca (realizzata a leds gialli).
Se nel percorso si trovasse uno scambio non posizionato come richiesto, allora il controllore provvederà a comandarlo a muoversi per raggiungere la posizone voluta.
Una volta che gli scambi sono a posto (vengono sempre azionati in sequenza, mai contemporaneamente), il processore libererà il segnale che si disporrà secondo l' aspetto opportuno, relativamente al tracciato (G, V, R/G oppure R/G, R/V).
E' una soluzione semplificata rispetto ad un ACEI reale, ma è la sintesi fra lo spazio di codice disponibile e le mie poche conosccenze di allora, sia ferroviarie, sia di programmazione.
In TELECOMANDO la tastiera è inibita (non viene letta). Il controllore verifica la presenza di un carattere sulla porta seriale, lo decodifica e lo utilizza per richiedere itinerari.
Gli itinerari sono realizzati e controllati dalla stessa sezione di programma che agisce in modalità Locale.
L' ACEI cerca di imitare e apparire simile al vero, ma la sua funzione principale è quella di gestire movimenti in modo totalmente automatico, senza interventi dell' operatore, indaffarato in altre operazioni.
IL CTC
E' un sistema che si propone l' ambizioso obbiettivo di indirizzare i convogli, nei bivi, affinchè raggiungano l' entrata in stazione secondo quanto richiesto dall' orario di servizio.
E' un software costituito da alcuni blocchi funzionali :
- lettura dello stato di libero/occupato delle sezioni e della posizione degli scambi
- attribuzione della posizione di ciascun convoglio, in base alle sequenze di occupazione rilevate
- algoritmo di circolazione, che analizza la posizione attuale dei convogli, la destinazione richiesta per ciascuno di essi, ed in base a quelle informazioni richiede ad ACEI la formazione di itinerari.
- la lettura della tabella orario per incaricare i convogli richiesti
Nell' organizzazione della circolazione si nota la distinzione fra treno e convoglio. Tutti i materiali circolanti sono convogli. Quando il sistema assegna ad un convoglio il movimento dall' orario, gli associa anche il numero di treno. Solo in quel momento esso diventa anche un treno.
Ad ogni convoglio è associata una serie di dati, fra cui destinazione, grado di priorità e, se è un treno, anche il numero, l' ora di arrivo e l' ora di partenza. In base a questi parametri l' algoritmo di circolazione provvede a fare circolare i convogli internamente alla cintura, fino a farli uscire verso la stazione, nella direzione desiderata.
E' anche possibile settare manualmente ad un convoglio direzione e priorità, per comandarne l' uscita senza dover sottostare all' orario.
Il funzionamento ad orario non è obbligatorio. E' possibile una circolazione chiamando manualmente i convogli oppure una circolazione sequenziale. In quest' ultimo caso il sistema cintura si comporta come se fosse un grande falso doppio binario su cui i convogli sono in fila. Ogni convoglio tornerà dal lato da cui è uscito.
L' effetto complessivo di tutto il sistema è la circolazione in stazione dei treni secondo l' orario impostato, in una scala di tempi ridotta 1/10. Una giornata avviene in 2,4 ore.
Quando non ci sono intoppi il sistema è trasparente all' operatore, che deve solo governare la stazione come se essa fosse inserita su una reale linea ferroviaria, con treni che arrivano e che sono da far fermare, transitare o sostare per precedenza.
All' inizio (1983) acquistammo una scheda Nanocomputer equipaggiata con Z80, processore moderno per l' epoca. Pensavo di organizzare il software di gestione della circolazione come sequenziatore di comandi per gli scambi interni. Ben presto capii che sarebbe stato un sistema rigidissimo, che avrebbe creato gravi difficoltà nel caso della necessità di dover cambiare l' ordine di circolazione anche di un solo convoglio.
Quindi nacque la distinzione più sopra illustrata fra ACEI e CTC. Per l' ACEI facemmo nel 1985 un sistema apposito, sopra descritto, mentre la scheda Z80 venne destinata al controllo del traffico. Ad esso si aggiunsero due video terminali acquistati usati, per la visualizzazione ed il comando del sistema di circolazione.
Una volta attivato l' ACEI della cintura, furono spesi circa 5 anni per arrivare a mettere a punto il sistema di circolazione.
Ma il sistema con Z80, assemblato con parti usate e parti autocostruite, era a volte instabile.
Quindi, dagli anni 2000, si iniziò il passaggio ad un personal computer commerciale. Passaggio che ha richiesto la traduzione, anzi, la riscrittura del software da Assembler a Visual Basic. Contestualmente è stata ridisegnata la visualizzazione dello stato di funzionamento, riproducendo il quadro sinottico di ACEI ed aggiungendo un editor per gli orari e per la definizione dei convogli.
Ad oggi, fine 2012, la transizione è quasi completata. L' orario gira già, e sono in corso gli ultimi aggiustamenti.
La consolle di comando, col quadro luminoso della cintura ed, a fianco, i pulsanti di comando degli itinerari.
Allegato:
IMG_0035 01-01-2005 il banco di comando al 25x100.JPG [ 42.19 KiB | Osservato 23707 volte ]
Stefano Minghetti