ildeposito
ildeposito
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 MSTS / ORTS
 MSTS and ORTS scenari e activity
 Segnale fine binario
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Max
Junior Member

Italy
164 Posts

Posted - 12/03/2024 :  11:03:07  Show Profile  Visit Max's Homepage  Reply with Quote
Ciao Renzo,
ho notato che nel pacchetto segnali 2007 non è presente il segnale di fine binario.
Come si può fare ad aggiungerlo?
Ho provato a prenderlo dal pack 1960 aggiungendo la stringa relativa al sigscr.dat, ma pur vedendolo da TSRE5, da simulazione non funziona e alla fine del tronco non vedo nessun segnale sul track monitor.
Qualche suggerimento?
Grazie.
Ciao.

Massimo.
https://openrailsactivities.wixsite.com/activities

Max
Junior Member

Italy
164 Posts

Posted - 12/03/2024 :  11:59:56  Show Profile  Visit Max's Homepage  Reply with Quote
Mi rispondo da solo. Dovrei aver risolto aumentando di uno il valore di SignalShapes.
Ciao.

Massimo.
https://openrailsactivities.wixsite.com/activities
Go to Top of Page

renzo428
Forum Admin

Italy
1601 Posts

Posted - 13/03/2024 :  20:54:29  Show Profile  Reply with Quote
Ciao Massimo,
è così, devi pero fare attenzione. Il file config è composto da tre parti, la prima è l'header che adesso non interessa, poi c'è il SignalTypes dove sono associate le luci agli stati ed infine il SignalShapes dove associ il relativo shape.
Questo è del tipo:

SignalShape (
"Sgn1C_1V.s"
"1C_1V - 1a Cat. e Avv. - 1 Vela "
SignalSubObjs ( 4
SignalSubObj ( 0
"HEAD1"
"Signal Head 1"
SigSubType ( SIGNAL_HEAD )
SigSubSType ( "FS3Light" )
)
SignalSubObj ( 1
""
"Code Extender"
SigSubType ( SIGNAL_HEAD )
SigSubSType ( "FS3Virt" )
)
SignalSubObj ( 2
""
"Avviso accoppiato"
SigSubType ( USER1 )
SignalFlags ( OPTIONAL DEFAULT )
)
SignalSubObj ( 3
""
"Distanza ridotta"
SigSubType ( USER2 )
SignalFlags ( OPTIONAL )
)
)
)

Le parti in rosso sono i nomi dalle funzioni che devono essere presenti nella sezione precedente che associa luci e stati.
Ovvero:

SignalType ( "FS3Virt"
SignalFnType ( REPEATER )
SignalDrawStates ( 1 SignalDrawState ( 0 "VirtAux" ) )
SignalAspects ( 1 SignalAspect ( STOP "VirtAux" ) )
)


Naturalmente le stesse funzioni devono essere presenti nel file script che è quello che dice al programma come devono comportarsi:

SCRIPT FS3Virt

extern float block_state ();
extern float route_set ();
extern float next_sig_lr ();
extern float dist_multi_sig_mr ();
extern float sig_feature ();
extern float state;
extern float enabled;
float next_shunting_state;
float reduct_dist;
float next_code;
float dev;
float avv;

avv = sig_feature (SIGFEAT_USER1);
reduct_dist = sig_feature (SIGFEAT_USER2);

if (!enabled || block_state() != # BLOCK_CLEAR || !route_set())
{
state = SIGASP_STOP;
}
else
{
next_shunting_state = dist_multi_sig_mr (SIGFN_SHUNTING, SIGFN_NORMAL);
if (next_shunting_state ==# 0) dev = 4; else dev = next_shunting_state - 3;
next_code = 8 * next_sig_lr (SIGFN_NORMAL) + next_sig_lr (SIGFN_REPEATER);

// Avviso occupato o sezione di blocco oltre il virtuale occupata

if (next_code ==# 25 || next_code ==# 16) state = SIGASP_STOP;

// Libero fino al prossimo segnale
else
{

// Con avviso accoppiato

if (avv)
{

// R; Rp; G+G
if (next_code ==# 0 || next_code ==# 8 || next_code ==# 19) state = SIGASP_STOP;

// G; Gx+Vx
else if (next_code ==# 24 || next_code ==# 27 || next_code ==# 28 || next_code ==# 29)
{
if (dev !=# 4)
{
state = SIGASP_APPROACH_1;
}
else
{
if (reduct_dist) state = SIGASP_CLEAR_1; else state = SIGASP_CLEAR_2;
}
}

// GL; V
else if (next_code ==# 30 || next_code ==# 63)
{
if (dev !=# 4) state = SIGASP_APPROACH_1; else state = SIGASP_CLEAR_2;
}
}

// Senza avviso accoppiato

else
{

// R; Rp; G+G
if (next_code ==# 0 || next_code ==# 8 || next_code ==# 19) state = SIGASP_STOP;

// G; Gx+Vx; GL; V
else if (next_code ==# 24 || next_code ==# 27 || next_code ==# 28 || next_code ==# 29 || next_code ==# 30 || next_code ==# 63)
{
if (dev !=# 4) state = SIGASP_APPROACH_1; else state = SIGASP_CLEAR_2;
}
}
}
}


Ho preso un esempio sfortunato e piuttosto lungo ma è per dare una idea di quello a cui si deve fare attenzione quando si modificano questi file.

un caro saluto, renzo.
Go to Top of Page

Max
Junior Member

Italy
164 Posts

Posted - 14/03/2024 :  08:44:37  Show Profile  Visit Max's Homepage  Reply with Quote
Grazie mille Renzo, spiegazione davvero molto esauriente.
A quasto punto però, visto che i segnali sono già stati tutti piazzati, ho timore a modificare i due file visto che non sono assolutamente un esperto.
Ho aggiunto il segnale di fine binario che nel pacchetto non c'era e ho solo aumentato il numero delle shape, non sono però sicuro del suo corretto funzionamento.
Riporto un esempio.
Arrivo in deviata su binario tronco.
Prima del segnale di avviso, sul track monitor vedo il successivo segnale di protezione rosso:



Superato il segnale di avviso, quello di protezione passa a rosso/giallo (terza vela spenta), mentre quello di fine binario non è presente sul track monitor:



Infine, a destinazione, vedo il segnale di fine binario dalla cabina ma non dal track monitor:



Cosa non sta funzionando?

Grazie.

Massimo.
https://openrailsactivities.wixsite.com/activities
Go to Top of Page

e444
Junior Member

Italy
106 Posts

Posted - 14/03/2024 :  11:57:19  Show Profile  Reply with Quote
Da quello che vedo dalle immagini e da quello che hai scritto, purtroppo non hai inserito i segnali in modo corretto.
Il segnale di avviso dovrebbe avere due luci predisposte in questo caso a Giallo-Verde indicante via libera e che successivamente dovrai andare in deviata a 30 Km/h, invece nell'immagine si intravede il segnale di avviso che espone solo la luce gialla, il segnale di protezione non deve mostrare sul Track-Monitor la luce rossa, ma bensì deve essere visualizzata la luce verde, non deve cambiare da rosso a verde una volta che si supera il segnale di avviso, mentre sul percorso il segnale di protezione deve essere predisposto a rosso-giallo indicante che dovrai andare in deviata a 30 Km/h e che la deviata viene effettuata su un tronchino o binario corto o che il prossimo segnale è disposto sul rosso via impediata (tutto questo indipendentemente se è presente o no in caso di un tronchino il segnale di fine binario.
Per quanto riguarda il segnale di fine binario spero che tu abbia utilizzato il segnale "1960FineBinario", se così è, allora il segnale è stato posizionato male, mi spiego meglio, il segnale è presente sul punto in cui l'hai messo, tant'è che si vede, ma in una posizione che non è stata registrata nel track-database (quindi anche se presente, ufficialmente non esiste), nel posizionarlo occorre fare attenzione perchè se si posiziona il segnale molto vicino al termine del binario tronco, questi potrebbe non essere visto/registrato sul track-database, occorre quindi mantenersi a una certa distanza dalla fine del binario, quindi ti consiglio di riposizionarlo.
Go to Top of Page

Max
Junior Member

Italy
164 Posts

Posted - 14/03/2024 :  14:27:39  Show Profile  Visit Max's Homepage  Reply with Quote
Grazie!
il problema era proprio il posizionamento del segnale di fine binario, troppo al limite.
Adesso sembra tutto ok:

avviso:



protezione:



fine binario:



Grazie ancora.


Massimo.
https://openrailsactivities.wixsite.com/activities
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
ildeposito © 2000-24 ildeposito Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.07