Dev:RoutesOverBorders

From railML 3 Wiki
Jump to navigation Jump to search

Engineering routes over borders
 

For engineering data of interlocking it is always necessary to have all elements completely described, i.e. elements with start and end shall comprise always a definite start and a definite end. This applies especially to routes. Therefore, the practice of virtual signals used as start or end at such borders were evolved. This goes also back to the times when signalling equpiment was limited to single stations. Later on extra equipment was added to control the open line inbetween the stations.

Subsequently there are two types of natural borders in interlocking systems:

  1. Line Interface – the border between a station and the open line
  2. Block interface – the border between two adjacent <signalBox> areas

Line Interfaces vs Block Interfaces

Using consequently these natural borders allows easy split of infrastructure information at predefined locations with clear split in interlocking data as well. First there is a <signalIS> element placed in the <functionalInfrastructure> at the desired physical location with <signalConstruction>@virtual. This is referred from <signalIL> element with @function set to lineInterface or blockInterface.

RouteOverBlockInterface.svg

The picture above shows the situation with lineInterface and blockInterface marked as orange triangles. Here the border between the signalboxes related to each station is in the middle of the open line, i.e. each <signalBox> controls a part of the open line. However, very often such a border is placed on a station limit. Thus one <signalBox> controls the entire open line between that station and a neighbouring one.

Route-lineIF.svg

Going into details the situation at a station limit is depicted with the line interface „li09“ shown as orange arrows. All relevant elements are shown with an identifier.

Exit Route

Now the situation of an exit route is considered. In operational sense such a route starts at the last main signal „sig02“ of the station until the first signal on the open line, the block signal „sig12“. However, in interlocking context this is split in two single routes by using the line interface „li09“ at the station limit. The first route starts at the exit signal „sig02“ and goes until the line interface „li09“ – the real exit route. The second one starts at the line interface „li09“ and ends at the first block signal „sig12“ – the first block route.

With such configuration the split at the station limit is easy without having „open ends“ for the exit route. There is only the need to have the line interface in both parts after the split. Thus, route „rt_ex01“ would be in the station part and route „rt_bs01“ would be in the open line part.

ExitRoute.svg

In addition to the use of a line interface there is also the virtual route status indicators included in this example. These indicators are only shown to the operator on the HMI supporting his site by showing the various states a route can be possibly in. The route start indicator „rsi03“ shows mainly the supervision states of a route, whereas the route destination indicator „rdi07“ shows states of route release. In this example the route status indicators are only used for routes within a station as the block routes nowadays are set automatically and there are normally no movable elements on the open line influencing the locking and supervision.

The described exit route would be modelled in railML® as shown below with only the relevant parts included.

<rail3:tvdSections>
	<rail3:tvdSection id="tde04" technology="axleCounter">
		<rail3:hasExitSignal ref="sig02"/>
		<rail3:hasDemarcatingTraindetector ref="dp02"/>
		<rail3:hasDemarcatingTraindetector ref="dp04"/>
		<rail3:hasTrackElement ref="sw04"/>
	</rail3:tvdSection>
	<rail3:tvdSection id="tde05" technology="axleCounter">
		<rail3:hasDemarcatingTraindetector ref="dp04"/>
		<rail3:hasDemarcatingTraindetector ref="dp05"/>
		<rail3:hasTrackElement ref="sw05"/>
	</rail3:tvdSection>
	<rail3:tvdSection id="tde06" technology="axleCounter">
		<rail3:hasDemarcatingTraindetector ref="dp05"/>
		<rail3:hasDemarcatingTraindetector ref="dp06"/>
	</rail3:tvdSection>
	<rail3:tvdSection id="tde10" technology="axleCounter">
		<rail3:hasDemarcatingTraindetector ref="dp06"/>
		<rail3:hasDemarcatingTraindetector ref="dp10"/>
	</rail3:tvdSection>
	<rail3:tvdSection id="tde11" technology="axleCounter">
		<rail3:hasDemarcatingTraindetector ref="dp10"/>
		<rail3:hasDemarcatingTraindetector ref="dp11"/>
	</rail3:tvdSection>
</rail3:tvdSections>
<rail3:switchesIL>
	<rail3:switchIL id="sw04" maxThrowTime="PT10S" typicalThrowTime="PT6S">
		<rail3:refersTo ref="switch04"/>
		<rail3:hasTvdSection ref="tde04"/>
	</rail3:switchIL>
	<rail3:switchIL id="sw05" maxThrowTime="PT10S" typicalThrowTime="PT6S">
		<rail3:refersTo ref="switch05"/>
		<rail3:hasTvdSection ref="tde05"/>
	</rail3:switchIL>
</rail3:switchesIL>
<rail3:routeStatusIndicators>
	<rail3:routeStatusIndicator id="rsi03" positionInRoute="start">
	</rail3:routeStatusIndicator>
	<rail3:routeStatusIndicator id="rdi07" positionInRoute="end">
	</rail3:routeStatusIndicator>
</rail3:routeStatusIndicators>
<rail3:signalsIL>
	<rail3:signalIL function="exit" id="sig02">
		<rail3:refersTo ref="MS02"/>
		<rail3:hasRouteStatusIndicator ref="rsi03"/>
	</rail3:signalIL>
	<rail3:signalIL function="entry" id="sig08">
		<rail3:refersTo ref="MS03"/>
	</rail3:signalIL>
	<rail3:signalIL function="lineInterface" id="li09">
		<rail3:refersTo ref="vsig06"/>
		<rail3:hasRouteStatusIndicator ref="rdi07"/>
	</rail3:signalIL>
	<rail3:signalIL function="block" id="sig12">
		<rail3:refersTo ref="BS01"/>
	</rail3:signalIL>
	<rail3:signalIL function="block" id="sig13">
		<rail3:refersTo ref="BS02"/>
	</rail3:signalIL>
</rail3:signalsIL>
<rail3:routes>
	<rail3:route id="rt_ex01" >
		<rail3:handlesRouteType ref="rt_train"/>
		<rail3:facingSwitchInPosition inPosition="left">
			<rail3:refersToSwitch ref="swi04"/>
		</rail3:facingSwitchInPosition>
		<rail3:trailingSwitchInPosition inPosition="left">
			<rail3:refersToSwitch ref="swi05"/>
		</rail3:trailingSwitchInPosition>
		<rail3:hasTvdSection ref="tde04"/>
		<rail3:hasTvdSection ref="tde05"/>
		<rail3:hasTvdSection ref="tde06"/>
		<rail3:routeEntry id="rt_ex01_st">
			<rail3:refersTo ref="sig02"/>
		</rail3:routeEntry>
		<rail3:routeExit id="rt_ex01_end">
			<rail3:refersTo ref="li09"/>
		</rail3:routeExit>
	</rail3:route>
	<rail3:route id="rt_bs01" >
		<rail3:handlesRouteType ref="rt_train"/>
		<rail3:hasTvdSection ref="tde10"/>
		<rail3:hasTvdSection ref="tde11"/>
		<rail3:routeEntry id="rt_bs01_st">
			<rail3:refersTo ref="li09"/>
		</rail3:routeEntry>
		<rail3:routeExit id="rt_bs01_end">
			<rail3:refersTo ref="sig12"/>
		</rail3:routeExit>
	</rail3:route>
</rail3:routes>

Entry Route

The case of an entry route is almost identical. The splitting element is again the line interface „li09“ but the entry signal „sig08“ is part of the station. Thus the line interface „li09“ is located in rear of signal „sig08“ and affects the last block route towards the station. The situation is depicted below.

EntryRoute.svg

The described block and entry routes would be modelled in railML® as shown below with only the relevant parts included.

<rail3:routeStatusIndicators>
	<rail3:routeStatusIndicator id="rsi14" positionInRoute="start">
	</rail3:routeStatusIndicator>
	<rail3:routeStatusIndicator id="rdi15" positionInRoute="end">
	</rail3:routeStatusIndicator>
</rail3:routeStatusIndicators>
<rail3:signalsIL>
	<rail3:signalIL function="entry" id="sig08">
		<rail3:refersTo ref="MS08"/>
		<rail3:hasRouteStatusIndicator ref="rsi14"/>
	</rail3:signalIL>
	<rail3:signalIL function="intermediate" id="sig16">
		<rail3:refersTo ref="MS16"/>
		<rail3:hasRouteStatusIndicator ref="rdi15"/>
	</rail3:signalIL>
	<rail3:signalIL function="lineInterface" id="li09">
		<rail3:refersTo ref="vsig06"/>
	</rail3:signalIL>
	<rail3:signalIL function="block" id="sig13">
		<rail3:refersTo ref="BS02"/>
	</rail3:signalIL>
</rail3:signalsIL>
<rail3:routes>
	<rail3:route id="rt_bs02" >
		<rail3:handlesRouteType ref="rt_train"/>
		<rail3:hasTvdSection ref="tde11"/>
		<rail3:hasTvdSection ref="tde10"/>
		<rail3:routeEntry id="rt_bs02_st">
			<rail3:refersTo ref="sig13"/>
		</rail3:routeEntry>
		<rail3:routeExit id="rt_bs02_end">
			<rail3:refersTo ref="li09"/>
		</rail3:routeExit>
	</rail3:route>
	<rail3:route id="rt_bs02_aux" >
		<rail3:handlesRouteType ref="rt_auxiliary"/>
		<rail3:routeEntry id="rt_bs02a_st">
			<rail3:refersTo ref="li09"/>
		</rail3:routeEntry>
		<rail3:routeExit id="rt_bs02a_end">
			<rail3:refersTo ref="sig08"/>
		</rail3:routeExit>
	</rail3:route>
	<rail3:route id="rt_en01" >
		<rail3:handlesRouteType ref="rt_train"/>
		<rail3:facingSwitchInPosition inPosition="left">
			<rail3:refersToSwitch ref="swi05"/>
		</rail3:facingSwitchInPosition>
		<rail3:trailingSwitchInPosition inPosition="left">
			<rail3:refersToSwitch ref="swi04"/>
		</rail3:trailingSwitchInPosition>
		<rail3:hasTvdSection ref="tde06"/>
		<rail3:hasTvdSection ref="tde05"/>
		<rail3:hasTvdSection ref="tde04"/>
		<rail3:hasTvdSection ref="tde01"/>
		<rail3:routeEntry id="rt_en01_st">
			<rail3:refersTo ref="sig08"/>
		</rail3:routeEntry>
		<rail3:routeExit id="rt_en01_end">
			<rail3:refersTo ref="sig16"/>
		</rail3:routeExit>
	</rail3:route>
</rail3:routes>

For the border between two <signalBox> areas the modelling is similar. But instead of the line interface the block interface is used. In addition an element <signalBox>/<controlsInterface> shall be defined, which includes the technical data of the interface.