Moderador: Moderadores

   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
         }
      }
   } Por contra, funciona y garantiza la seguridad de la maniobra.
 Por contra, funciona y garantiza la seguridad de la maniobra.
 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
 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  

 
 
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          
      } 
   }
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 )
   )
 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" )
         )         
      )
   )


 
 
 
 


 
 

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