trensim.comSimulación Ferroviaria
   

Re-configurando señales y archivos Sigscr.dat y Sigcfg.dat

Foro para tratar de todo lo relacionado con rutas para MSTS

Moderador: Moderadores

Re-configurando señales y archivos Sigscr.dat y Sigcfg.dat

Notapor Guardatren » Mar Dic 27, 2005 1:25 am

Yo en cambio no sé como poder forzar al MSTS para que aparente lo que no permite:

En las señales de Andrés hay una torre de señales que contiene una señal Absoluta más otra inferior secundaria de Maniobras, la que tiene una "M" en la punta del brazo.

Bueno, sea este objeto de señales u otro creado por mi o por quien sea, el asunto es que quiero implementar algo que funciona en la vida real, pero en el MSTS no lo permite.

La señal absoluta superior, es fácil, da salida y vía libre hasta la próxima señal, que puede estar recién en la próxima señal.
Pero la de Maniobras, que está abajo, le autoriza al tren a avanzar hasta pasando el cambio de salida, y allí invertir la marcha y volver hacia atrás, para tomar el cambio hacia otra vía.

Esto es lo que es imposible de lograr en el MSTS, ya que no tengo forma de que la señal de maniobras se habilite simplemente para que el tren avance unos cientos de metros, independientemente de que la sección entera hasta la próxima estación esté ocupada o no, ya que el simulador lo tomará como una sección entera.
La señal absoluta controla toda la sección siguiente hasta la próxima señal. Pero la de maniobras no lo hará porque sólo se bajará si está libre todo hasta el poste de señales siguiente, y junto con él también lo hará la señal absoluta, o sea, las 2 se moverán juntas.

Ejemplo: en la ruta que estaba haciendo de Retiro a Tigre, algunos trenes que vienen de Retiro, terminan su recorrido en Borges, por eso el poste que está al final del andén ascendente, tiene una señal Absoluta (da vía hasta Anchorena), y abajo una de Maniobras, que permite al tren avanzar vacío hasta el puente, para después volver tomando el cambio de agujas hacia la vía y andén descendente (habilitado por una senal enana), para ya regresar hacia Retiro.

Lo mismo ocurría los sábados en San Isidro R.
Pero volvamos al ejemplo de Borges:

O sea, el tren corto a Borges, llegaba, bajaban todos, y con señal de Maniobra activada, avanzaba unos 200 metros o más, ultrapasando el cambio de agujas que agarraba de talón, de modo que la cabina llegaba hasta metros del puente, cerca del colegio Tarbut (y donde se oía pasar por abajo al tren que iba a Tigre "C")
(La cola del tren dejaba despejado el paso de nivel de la calle Rawson)

Ahí se tenía y apagaba sus motores.
Y en este punto es donde el Path Retiro-Borges tiene su Reverse Point.
El conductor cerraba la cabina, y cruzaba todo el pasillo del tren hasta la la cabina del otro extremo.
Desde la cabina de señales, se levantaba la señal de maniobras, se movían las agujas del cambio para que cruce de vía ascendente a vía descendente. Y se bajaba la señal enana del cambio.
Ya el conductor en la otra cabina, encendía el motor, y ya en sentido descendente, cruzaba a vía descendente y se detenía en andén descendente, junto al techo de la estación, con la cabina al lado de los baños, frente a las 4 barreras de la calle Capitán Bermúdez.

Ya se completó la maniobra.
Llegado el turno, partía rumbo a Retiro.

El otro caso más simple es el tren que desde Retiro continuaba hasta Tigre "R", que salía de Borges con señal absoluta, eso es sencillo, y es la situación normal.

Todo esto que expongo aquí, es para poner un claro ejemplo, del cual hay muchos parecidos, pero que me focalizo acá porque es donde más lo necesito.
El asunto es que no sé cómo hacer para forzar el script en el archivo Sigscr.dat, que es donde hay que modificar el comportamiento, para que la lógica se vuelva ilógica, o mejor dicho, que cumpla nuestros antojos.

Pero no basta sólo con eso, porque acá me va a tomar como que toda la sección es desde Borges hasta Anchorena, y sólo se bajará la aseñal absoluta en caso de que la vía está libre hasta allá, pero la de Maniobras No, no puedo habilitar con una señal hasta la próxima señal, y con la señal de abajo hasta sólo el puente, o sea, un fragmento de sección.

Entonces, a ver qué injerto se le puede hacer,
Uno que pensé, es poner escondido en el puente, una pequeña señal enana que apenas se vea, y modificar el Sigscr.dat para que cuando el tren libera la vía cuando cruza Libertador, se baja la señal de maniobras, y cuando llegó a Anchorena, se levanta la de Maniobras y se baja la Absoluta.
Es una salida elegante.
Funcionaría bien porque un tren rumbo a Tigre "R" vería seãnl absoluta, pero uno destino Borges, no verá absoluta sino manioobra, porque el path termina y regresa antes de la señal oculta.
Claro está que al pasar por el lugar, en el Track Monitor se verá la señal, pero ¿qué importa?, será roja para el tren corto, y verde para el que sigue de largo.

Otra que pensé es, poner cerca del puente, una pieza de los Xtracks, que es un simple cambio diminuto con una aguja, que se llama Escape o Trampa, y se usa a las salidas de las playas, para que ningun vagón de carga sin frenos pueda colarse a vía principal. O sea, para que descarrile antes de salir.
Si pongo esa pieza en la vía ascendente en el puente, entonces, hago el Path hasta Borges, que termine en esa trampa de agujas, y ahí sí la señal de Maniobras, se utiliza con el Link hacia el desvío, sin modificar el Sigscr.dat.

El primer truco que mencioné, modificando el Sigscr.dat, es ideal para las llamadas "Señal de llamada", como la que está a la entrada ascendente a Belgrano "R", pero sólo actúa como engaño a la vista, ya que el simulador no entiende si se trata de un tren local o general, o si debe cumplir tal o cual misión.
Sí lo sabe el editor de Actividades, pero no puede interactuar en esto con la señal.

El asunto para este caso, es forzar que la sección llegue hasta aquí o hasta allá, pero para el simulador, la sección llega hasta la próxima señal, y No hasta el kilómetro tal.

Bueno, pido alguna ayuda ingeniosa, a ver qué le puedo insertar:
Un bloque de código,
Una señal invisible
Una pieza de agujas invisible.

Muchos Saludos....
Última edición por Guardatren el Jue Sep 18, 2008 4:55 pm, editado 1 vez en total
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Notapor PaToPuNx[WRoNG-WaY] » Mar Dic 27, 2005 3:15 am

edu... hay ciertas kosas ke es imposible engañar a este maldito juego....
lo de la M es un claro ejemplo.... lo de los waiting points es otra... lo de las curvas CERRADISIMAS en CAMBIO... es otra.... un ejemplo de eso es en PLAZA CONSTITUCION la via 1&2 kon la 3.... es imposible.... no se si te akordaras de eso....

salu2!
Avatar de Usuario
PaToPuNx[WRoNG-WaY]
 
Mensajes: 740
Registrado: Jue Sep 25, 2003 4:47 am
Ubicación: Km 14.5 FCM

Notapor Guardatren » Mar Dic 27, 2005 3:26 am

Sí, lo recuerdo.

Las vías de Constitución, no se pueden reproducir con las piezas limitadas de los tracks que usamos.

A mi me parece que en la realidad, las vías no son bien paralelas, sino que se van abriendo en abanico hasta llegar a los paragolpes.
Creo que los andenes son mucho más anchos en las toperas que en las puntas, y para hacerla bien como es, hubieran hecho falta cambios y cruce-cambios de 7°, 8°, 10°, y varias medidas de piezas que no hay.

Se hizo como se pudo.

Y no te olvides de Temperley,
(y menos mal que me perdonaste)

-------

El Post de la Señal, creo que lo voy a remendar para que simule las señales que corresponden, pero el post lo escribí para ver si se puede hacer otro injerto.

¿Se podrá?

También para Retiro y Constitución hace falta señales de Maniobras...

Nos Vemos....
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Notapor Pere » Mié Dic 28, 2005 11:46 pm

Hola Guardatrén.

Situémonos ante la señal que indicas y veamos que indicación nos da el brazo principal.

En los casos de vía libre o precaución, el brazo de maniobras no tiene sentido, pues el rebase de la señal está justificado en ambos casos.

Pero si el brazo principal nos da el alto, entonces es porque el siguiente sector está ocupado por otro tren. Hasta acá creo que vamos bien. Pero nos surge una pregunta ¿en que condiciones podemos rebasar "con seguridad" la señal de alto si tenemos un tren frente a nosotros? Todo depende de qué está haciendo ese tren. Veamoslo:

1. Si el tren que ocupa el sector frente a nosotros viene hacia donde estamos, NO deberemos rebasar la señal, aunque sea para hacer una maniobra en la propia estación, al menos hasta que dicho tren haya entrado en la estación y se haya detenido en su andén correspondiente, o en caso contrario nos va a pillar a media maniobra y el destrozo en nuestra composición será más que razonable.

2. Si por contra el tren se aleja de nuestra estación y simplemente no ha liberado todavía el sector, bien podríamos lanzarnos a la maniobra, previa autorización por el brazo de maniobras, pues el riesgo de colisión no existe.

¿Cómo podemos saber en que situación se encuentra dicho tren delante nuestro?

Pensemos como el motor de reglas del MSTS: En el primer caso, el tren AI habrá establecido su path y activado las agujas frente a nosotros para entrar en otra vía de nuestra estación. En este caso simplemente no tendremos "hechas" las agujas que encontraremos de talón. En el segundo caso, el tren AI habrá establecido también su path, pero en este caso las agujas implicadas lo serán de la siguiente estación de la línea, y no afectarán a nuestro tren, por lo que nuestro path ya habrá activados las agujas de nuestra estación que encontraremos de talón y estarán "hechas" para nosotros.

La situación de dichas agujas podemos conocerla desde el script de la señal pues nos lo da la función:
block_state () que recupera el estado del sector siguiente a la señal y devuelve un valor BLOCK:
  • BLOCK_CLEAR si el sector siguiente está libre
  • BLOCK_OCCUPIED si el sector siguiente está ocupado por algún vagón o locomotora
  • BLOCK_JN_OBSTRUCTED si el sector siguiente no está accesible por la disposición de las agujas (osea, las agujas no están "hechas")
Por tanto bastará un código similar al siguiente en el script de la señal:
Código: Seleccionar todo
   if (!enabled ||
      block_state() ==# BLOCK_JN_OBSTRUCTED ||   // No tenemos "hechas" las agujas
      !route_set())            
   {
      state = SIGASP_STOP; // ALTO
   }
   else
   {
      if (block_state() !=# BLOCK_CLEAR)      // tenemos "hechas" las agujas pero el sector está ocupado
      {
         state = SIGASP_STOP_AND_PROCEED; // Rebase de la señal en ALTO autorizado
      }
      else
      {
         next_state = next_sig_lr (SIGFN_NORMAL);

         if (next_state ==# SIGASP_STOP)
         {
            state = SIGASP_APPROACH_2; // si la siguiente señal está en alto, poner la actual en Precaución
         }
         else
         {
            state = SIGASP_CLEAR_2; // y si no, es que hay vía libre
         }
      }
   }

Y definir a la señal cuatro aspectos:
  • SIGASP_STOP - con ambos brazos en posición de alto.
  • SIGASP_STOP_AND_PROCEED - con el brazo principal en alto y el de maniobra autorizando el movimiento
  • SIGASP_APPROACH_2 - para precaución y
  • SIGASP_CLEAR_2 - para vía libre.
El sistema no es perfecto, pero es muy simple y te ahorra el tener que poner otra señal oculta ante esta, o una aguja invisible ;) Por contra, funciona y garantiza la seguridad de la maniobra.
Ah, por cierto, en el caso de que el sector ante la señal esté ocupado por un consist estático (unos vagones que debemos ir a recoger, por ejemplo) la señal indicará alto (porque el sector está ocupado) y el brazo de maniobras autorizará el rebase, no teniendo que solicitar autorización con la tecla TAB ;) ya que la señal ostenta el aspecto STOP_AND_PROCEED, que permite rebasar la señal en rojo sin que se termine la actividad bruscamente :D

Espero que te sirva.

Un saludo (con la mano izquierda)
Avatar de Usuario
Pere
grupo TrenSim
 
Mensajes: 5043
Registrado: Jue Ago 28, 2003 11:44 pm
Ubicación: Barcelona

Notapor Guardatren » Jue Dic 29, 2005 12:53 am

Hola, Pere:

Mil Gracias por este dato. :maestro:
Lo voy a estudiar detenidamente cuando esté en mi compu.

Creo que usando estas variables, va a funcionar.

Por lo dicho, no necesito modificar el trazado colocando un pequeño desvío trampa, que aunque apenas se ve, el TDB es muy quisquilloso.

Solamente debo modificar el Sigscr.dat

Ni bien pueda, voy a probar todos estos tipos de condiciones->acciones
profundizando bien para poder aprovecharlo más.

Quedo muy agradecido, y esto demuestra que el MSTS es más flexible de lo que parece.
Lo que pasa es que algunas funciones no las llegamos a aprender.

Hasta acá estoy entendiendo el algoritmo, aunque voy aprendiendo nuevas instrucciones del lenguaje.
Y es lo que mejor se aproxima a lo que busco.

Ahora, también pasaría esto:
Llego con mi tren, y para maniobrar como dijimos estaría bárbaro.
Pero si mi tren debe seguir hasta el final de la ruta, puede pasar que cuando llego a esta estación, el tren que me antecede aún no llegó a la próxima estación, por lo cual me habilitará el brazo de maniobra, y entonces, o espero hasta que se baje el brazo principal, o avanzo lentamente con Maniobra hasta la próxima estación.
Y también puede pasar que si mi tren debe maniobrar, y toda la sección está despejada, en vez de activarme el brazo de maniobras, me habilita el Absoluto.
Aunque esto puedo evitarlo colocando en la actividad, un tren estático en la sección, lejos, donde no se vea.

Bueno, pero no voy a profundizar en estos detalles.
Lo importante es que me estás orientando con los estados de señal y las acciones más adecuadas, el resto lo iré ejercitando en una pequeña ruta de prueba de señales.

1000 gracias!
Muchos Saludos....
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Notapor Guardatren » Mar Sep 09, 2008 10:54 pm

Hola, Pere:

Aunque este hilo quedó congelado por casi 3 años,
Te voy a contar lo que me pasó a ver si le puedo encontrar una mejor respuesta al mecanismo:

Básicamente traté de usar tu sugerencia, aunque creo que no entendiste a fondo mi planteo:

En este ramal que estoy haciendo, hacia delante no hay ningún cambio de vías que vayamos a agarrar de Punta, o sea por las agujas, salvo al final del recorrido donde sólo hay uno así, pero no es lo que vamos e encontrar para esta situación.
En las 2 estaciones del ramal, donde debemos efectuar la maniobra, al pasar dichas señales encontraremos el cambio siempre de Talón, el cual, si nuestro tren termina en dicha estación, debemos observar la señal de maniobra, avanzar, pasar el cambio de vía, y luego sí, invirtiendo la marcha, retroceder, tomando las agujas de punta para cruzarnos hacia la vía opuesta de la estación.
Por lo tanto, ninguna de las señales trabajaría con la definición SignalFlags ( JN_LINK )

Como las señales son 2 aspectos sólos, o sea cada cabeza tiene solamente 2 posiciones, entonces no puedo implementar el valor SIGASP_APPROACH, por lo cual el código del Script lo reduje meramente a:

Código: Seleccionar todo
if (!enabled ||
      block_state() ==# BLOCK_JN_OBSTRUCTED ||   // No tenemos "hechas" las agujas
      !route_set())             
   {
      state = SIGASP_STOP; // ALTO
   }
   else
   {
      if (block_state() !=# BLOCK_CLEAR)      // tenemos "hechas" las agujas pero el sector está ocupado
      {
         state = SIGASP_STOP_AND_PROCEED; // Rebase de la señal en ALTO autorizado
      }
      else
      {
         next_state = next_sig_lr (SIGFN_NORMAL);
         state = SIGASP_CLEAR_2; // y si no, es que hay vía libre         
      }
   }


Además en la sección de tipos de señales, le definí señal del tipo Maniobras:
El código que usé para eso fue:

Código: Seleccionar todo
SignalType ( "Maniobras"
   
      SignalFnType ( NORMAL )
      SignalLightTex ( "ltex" )
      SemaphoreInfo ( 0.5 )
      SignalFlags ( SEMAPHORE )

      SignalLights ( 2
         SignalLight ( 0 "Red Light"
            Position ( -0.18 0.00 -0.01 )
            Radius ( 0.08 )
            SignalFlags ( SEMAPHORE_CHANGE )
         )
         SignalLight ( 1 "Verde Azulado"
            Position ( -0.18 0.00 -0.01 )
            Radius ( 0.08 )
            SignalFlags ( SEMAPHORE_CHANGE )
         )
      )
      SignalDrawStates ( 2
         SignalDrawState ( 0
            "Red"
            DrawLights ( 1
               DrawLight ( 0 )
            )
            SemaphorePos ( 0 )
         )
         SignalDrawState ( 1
            "Green"
            DrawLights ( 1
               DrawLight ( 1 )
            )   
            SemaphorePos ( 1 )
         )
      )
      SignalAspects ( 3
         SignalAspect ( STOP            "Red" )
         SignalAspect ( STOP_AND_PROCEED      "Green" )
         SignalAspect ( CLEAR_2            "Red" )
      )
      SignalNumClearAhead ( 1 )
   )


El SubBloque Signal Aspects lo definí así con esos 3 estados, para que la señal inferior (Maniobras) se ponga Autorizando, sólo cuando la sección esté obstruida hacia delante, pero nos permita maniobrar pasando la señal.

El de los Estados de las Señales, quedó así:
Código: Seleccionar todo
SignalShape (
      "senalAM.s"
      "Senal Abs Maniobras"
      SignalSubObjs ( 2
         SignalSubObj ( 0
            "HEAD1"
            "Brazo Superior"
            SigSubType ( SIGNAL_HEAD )         
            SigSubSType ( "UKSemHome" )
            )
         SignalSubObj ( 1
            "HEAD2"
            "Brazo Inferior Maniobras"
            SigSubType ( SIGNAL_HEAD )      
            SigSubSType ( "Maniobras" )

         )         
      )
   )


Entonces, hasta acá funcionó, mediante el sistema de poner un tren estático 1 km hacia delante, donde no lo veamos.
De esa forma cuando llegamos a la estación, ambas señales aparecen a Peligro, pero cuando pido autorización con la tecla Tab, me da permiso para maniobrar hacia delante hasta pasar el cambio de vía, aunque ninguna de las 2 señales se mueve de su lugar.

Solamente la señal absoluta superior se muestra en posición de Vía Libre, cuando toda la sección siguiente está desocupada y nos permite circular hacia la próxima estación.

Observo que hay otros códigos y funciones, por ejemplo para poder pedir el estado de otra señal de este u otro poste, cambiarlo a nuestro antojo, etc, etc.


Además de la lógica, debemos cuidar perfectamente la sintaxis.

Después de volverme loco, tendré que tratar de depurar todo de nuevo, e incluso depurando los 2 archivos de las señales, para no confundirme con tipos de señales definidos pero que no uso.

Si todo esto no daba resultado, la 2º opción (que Andrés me perdone) sería hacer que la señal de abajo nunca se mueva, que sea sólo de adorno, y que la de arriba maneje 3 aspectos:
SIGASP_STOP (Peligro)
SIGASP_STOP_AND_PROCEED (Manteniéndose a Peligro, pero autorizando)
SIGASP_CLEAR (Vía Libre)

Muchos Saludos, y muchas gracias por cualquiera sea la respuesta….
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Notapor damontej » Mar Sep 09, 2008 11:24 pm

Lamentablemente no puedo aportar nada conceptual a este grosso hilo.
Sólo esperar a que no se corte, ya que está de lo más jugoso para aprender detalles ocultísimos de este tan oscuro tema.
Soy todo oídos (ojos, bah) 8)
Ing. Jorge A. Damonte
Ciudad Jardín, Buenos Aires - República Argentina
"...quien sobreviva a este día y vuelva salvo a casa, se pondrá de puntillas cuando sea nombrado en el futuro..."
Excusatio non petita, acusatio manifesta...
Avatar de Usuario
damontej
 
Mensajes: 1985
Registrado: Jue Mar 08, 2007 5:27 pm
Ubicación: Buenos Aires, Argentina

Notapor Guardatren » Jue Sep 11, 2008 6:05 pm

Cuidado, que los 2 archivos de señales son muy quisquillosos.

Si la pifias en una letra te puede quedar toda la ruta arruinada: no se te abre más. Siempre hay que hacerles un backup antes.
Te digo porque te vas a tentar para hacerle un "parche correctorio".

Pero igualmente sí concuerdo contigo:
Es necesario descubrir y dominar bien el lenguaje para que funcione como queremos....

Saludos....
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Notapor Guardatren » Vie Sep 12, 2008 6:42 pm

Bueno:

Más o menos me las pude ingeniar:

El asunto no caminaba mucho con la solución propuesta por Pere,
Respecto a la lógica de las señales,
Pero sí me sirvió el enfoque para improvisar otro mecanismo:

Al final lo mejor fue implementar lo que propuse al comienzo de este hilo,
Basándome en las señales Absoluta/Distancia,
Pero que se vean como si fuera una señal de maniobras.
Y además colocar una 2da señal de salida, como si fuera Señal de Salida Avanzada.

De esta forma, funcionaría así:
Supongamos que estamos observando siempre al lado de la señal, como un pasajero en el andén.
La vía hacia delante está libre, entonces la señal superior está baja, y la de maniobras está a peligro.
Viene el tren, pasa la señal, entonces las 2 quedan a Peligro (rojo)
El tren se fue y a las poquitas cuadras pasó una segunda señal, entonces el brazo inferior (maniobras) habilita a pasar el cambio de vía.
El tren sigue su camino y llega a la siguiente estación, con lo cual libera el tramo completo entra ambas estaciones,
Entonces ahí la señal de Maniobras se levanta, y la superior absoluta se baja mostrando vía Libre.

Para los trenes que seguirán su curso hasta el final del recorrido,
No hay problemas.
Para cuando corra un actividad con un tren Corto hasta esta estación, que deba maniobrar al llegar a la misma,
Es muy fácil:
En el trayecto entre ambas estaciones (adelante), casi imperceptible, se coloca un tren estático.
Cuando llegamos a la estación, la señal de Maniobras se nos muestra habilitada hacia abajo,
Y la superior que da vía hasta la estación siguiente, se muestra a peligro.

Comenzando la maniobra, después de descender los pasajeros,
Pasamos la señal de maniobras, con lo cual las 2 se muestran a peligro.
Ya pasado el cambio de vía, frenamos,
Observando el visor F9, invertimos la marcha
(las señales siguen a peligro).
Damos marcha en dirección de regreso, y tomamos el cambio que nos vuelve a la otra vía por la cual regresaremos.
Todo el resto de las señales debe andar normalmente.

Este sistema de señal de maniobras para trenes de recorrido corto, se aplica en esta ruta en 3 estaciones (2 de un ramal, 1 del otro).

¿Cómo quedó configurado el código?
Muy sencillo:
El Sigcfg.dat:
En sección Signal Types:
Se definen cada una de las 2 señales (superior e maniobras) de esta poste.
En Sección Signal Shapes, cada señal utiliza 3 aspectos (aunque muestre 2)
Cada una se muestra Libre en 1 caso y a peligro en 2.

En el Sigscr.dat:
Cada una utliza el mismo código que la señal JP3signal, que tiene 3 aspectos
(Peligro, Cuidado, VíaLibre)
Nada más que hay que ponerle el nombre de cada una de las 2 señales,
Que si bien usan la misma lógica y status, pero difieren en la apariencia visual.

Después de tanto renegar y renegar, tuve que hacerlo así, porque con el sistema anterior de usar el aspecto SIGASP_STOP_AND_PROCEED,
No daba resultado porque la señal de maniobras se mostraba siempre alta, aunque siempre en estado de pedir permiso con la tecla Tab, y eso ocurría porque en el Sigscrp.dat, nunca cambiaba a otra situación que no fuera la de maniobrar.

Hasta llegar a depurarlo, pueden pasar meses insertando instrucciones anidadas, para que al menor error de un carácter, no quiera abrir la ruta y nos mande al tacho con el editor.
Este sistema adoptado, no es perfecto, pero se aproxima bastante. En raras ocasiones se mostrará extraño al movimiento del ferrocarril.
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Notapor Guardatren » Sab Sep 13, 2008 8:58 pm

Gracias por la bola que me dieron. :x
Después para pedir manguear son inmediatos..... :cry:

Ahora mi intriga es saber porqué, las señales a distancia funcionan muy bien, pero responden diferente de acuerdo al tipo de simulación.
Corriendo en modo explorador, normalmente todo da como via libre y despejado, por lo cual las señales a distancia se ponen todas en verde, junto con las absolutas, o sea que en el mástil se bajan las 2 juntas.
Pero cuando circulo en una actividad, aunque no haya ningún tren AI y esté yo sólo andando por toda la ruta, las señales a distancia funcionan en varias sí y en otras no, o sea en algunas se ponen a precaución, aunque en el Track Monitor aparezca en verde como Clear.

Por lo tanto lo mismo me pasa en las señales que configuré. ¿Porqué? :o
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Notapor damontej » Sab Sep 13, 2008 9:23 pm

Particularmente yo te estoy siguiendo como peregrino a la cruz en este hilo, pero mi aporte como te dije más arriba es exclusivamente el admirativo y ansioso por aprender.
Es poco lo que puedo aportar, y supongo que no debe haber muchos en condiciones de dar mucho más que esto en este asunto.
Tené en cuenta que la arquitectura lógica de los scripts en archivos de texto tiene dos limitaciones importantes: la escasa (nula) documentación original que genera un hueco importante en cuanto a disponer de todos los comandos y parámetros, y la antigüedad del programa... 7 años en informática es toda una era geológica.
A pesar de esto, estás haciendo un concienzudo trabajo y te aseguro que tenés al menos un miembro fiel en la audiencia.
Un abrazo
Ing. Jorge A. Damonte
Ciudad Jardín, Buenos Aires - República Argentina
"...quien sobreviva a este día y vuelva salvo a casa, se pondrá de puntillas cuando sea nombrado en el futuro..."
Excusatio non petita, acusatio manifesta...
Avatar de Usuario
damontej
 
Mensajes: 1985
Registrado: Jue Mar 08, 2007 5:27 pm
Ubicación: Buenos Aires, Argentina

Notapor Guardatren » Sab Sep 13, 2008 9:38 pm

:shock: :) :D :lol: :P :twisted:

:wink:
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Notapor Guardatren » Lun Sep 15, 2008 6:44 pm

A ver si alguien pudiera aclararme como usar bien esta función:

La última línea del script, la que dice:
draw_state = def_draw_state (state);

Yo la copié tal cual.
Pero lo que me resulta raro, es que a veces en el track monitor me muestra un estado distinto al de la señal en sí.
En el Track Monitor me aparece la luz verde con Clear,
aunque la sección a seguir esté ocupada y las señales a la vista están ambas a peligro.
Si la intento pasar, me pone “Activity Ended – Ignored Red Light”.

Por eso tengo que saber en dónde se define el estado que se ve en el Track Monitor, ya que supongo que debería ser el mismo estado de la sección de vía que monitoreamos.

Es necesario aprender a usar bien, al menos las funciones más sencillas.

Todavía no me las ingenio con las siguientes:
dist_multi_sig_mr
(fn_type, end_type)

o con
next_sig_mr (fn_type)
next_sig_lr (fn_type)

Ni mucho menos con las otras más especiales,
Por ejemplo pedir el estado de la señal opuesta, o
La complementaria del mismo poste, etc,
Pero ya lo voy a encontrar.

Tendré que hacer mis propias señales piloto, para probar scripts.
Algunas donde el brazo inferior estén sólo de camelo aunque no se muevan, o de acuerdo a la circunstancia requerida.

Me gustaría poder hacer un programa para configurar archivos de señales,
Pero creo que la razón por la cual nadie lo hizo es por lo complicado del tema,
Y lo quisquilloso de la sintaxis.

Chequear paréntesis es tedioso y hay que entrenar al programa para que no se le escape nada.
Por ahora no quisiera intentarlo.

En el poste de señales de la estación Mitre, de señal de salida doble ascendente, casi sobre la vereda de Av.Maipú, ambas señales (Absoluta y Distancia) se bajaban juntas cuando el paso estaba libre ya hasta Borges…
Y el tren cruzaba la avenida sin tapujos, porque sabía que podía hacerlo.
¿Porqué?
Porque ya al hacer 2½ cuadras ya venía la curvita sobre el PAN de Corrientes, y si el conductor veía la señal de entrada a Borges a Peligro, ya no tenía tiempo de detener el tren sobre el PAN (Entre Ríos-Salta)
Evidentemente entre Florida y Borges las estaciones estaban muy juntitas, a menos de 1 km entre ellas, y las señales también. Razón de más para que la señal a distancia nos muestre el estado de la señal siguiente.
Pero, parece que en el MSTS, si ponemos muchas señales muy próximas, la señal a distancia nos queda siempre alta y naranja, en estado de precaución (aproximación).
Como digo, el Track Monitor sigue indicando Clear aunque el estado de la sección (Approach) nos haga encontrar con la próxima señal roja a peligro.

Muchos Saludos :wink:
y gracias por el aguante 8)
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Notapor josepablo » Mar Sep 16, 2008 12:00 pm

Buenas.
Esta discrepancia puede venir de que has definido el estado CLEAR_2 como "RED", por lo que creo tienes esas indicaciones contradictorias.
Existe un programa llamado SigMexx descargable en la página www.hot-rainsim.de , que permite modificar los archivos de señales de forma un poco más intuitiva que en texto plano. Pincha en la bandera inglesa de la página de descargas, si no dominas el alemán.
Última edición por josepablo el Mié Sep 17, 2008 11:21 am, editado 1 vez en total
Saludos.
josepablo
 
Mensajes: 89
Registrado: Jue Jun 07, 2007 12:26 pm
Ubicación: ALCo-bendas

Notapor Guardatren » Mar Sep 16, 2008 5:40 pm

Hola, José Pablo:

No, no he definido el Sigasp_Clear2 como Red, salvo en la señal de maniobra, justamente porque a las conocidas como UKSemHome y UKSemDist las dejé como están configuradas, por eso no entiendo porqué me hace ese zafarrancho.
Son muchas variables para estudiar,
en una rutita aparte en limpio trataré de descifrar los misterios.

Nome abrió directo el link.
No me abrió directo, tuve que buscarlo desde TheTrain.de,
pero gracias a eso encontré las texturas de calles para NewRoads que no las encontraba por ningun lado.
Cuando llegue a casa las he de probar.
Ya sé a cuál programa te refieres, lo conocí una vez, voy a probarlo, y tratar de usarlo despacio en alemán,
Justamente tengo ganas de hacer un programa de esos,
que aparezcan las ventanitas, los íconos de señal, los valores a los que apuntan, etc...
Cuando tenga tiempo,
pero lo que debe der engorroso es que el programa chequee la sintaxis y los paréntesis para encontrar errores.
También, si se desarrolla, podría hacerse que el programa muestre como desactivados, los segmentos de código ocultos, esos que aparecen después del N° de elementos definidos, que quedan ahí como para usarse cuando se requieran.

Saludos....
Guardatren
 
Mensajes: 3627
Registrado: Mié Sep 01, 2004 4:23 am

Siguiente

Volver a Rutas MSTS

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 34 invitados