IL:levelCrossingIL

From railML 3 Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Introduction

Documentation

Syntax

Autoexport from the XML-Schema for element IL:levelCrossingIL of railML® version 3.2
Documentation The level crossing is a track asset allowing road traffic to cross the railway track in a secure way on the same level. Here the functional aspects for interlocking operation are considered.
Subschema interlocking
Parents* levelCrossingsIL
Children activationCondition (0..*), assetName (0..*), belongsToOperationalPoint (0..1), deactivatedBy (0..*), designator (0..*), hasCommand (0..*), hasIndication (0..*), hasInterface (0..1), hasLevelCrossingTrack (0..*), hasTvdSection (0..*), isLevelCrossingType (1..1), refersTo (1..1)
Attributes:
  • constantWarningTime: A level crossing must cause as little as possible hindering to train as well as road traffic. Therefore, the level crossing must close as late as safely possible. The optimal delay, known as constant warning time, between activation and closing is possible when the train speed and position are known. (optional; xs:duration),

  • maximumClosedTime: This is the time span after a message to the operator is triggered because a level crossing being closed for too long time can be considered as unsafe. In such cases the road drivers and pedestrians might try to cross the railway line illegally. (optional; xs:duration),

  • minimumOpenTime: This is the time the level crossing has to be open before it is allowed to close again. This is to ensure a certain capacity for the crossing road traffic. (optional; xs:duration),

  • preferredPosition: This is the state of level crossing under normal conditions, i.e. when not in use. For most level crossings this would be the open state. (optional; xs:string)
Possible values:
  • closed: position of the level crossing when the safe passage by railway traffic is allowed.
  • open: position of the level crossing when the crossing of track(s) is safe for road traffic.
  • unknown: position of the level crossing is not known,

  • requiresStopBeforeUnprotectedLevelCrossing: Flag to define whether any train needs to stop in front of the level crossing in case it is unprotected. Only afterwards it can proceed according the value in speedRestriction. (optional; xs:boolean),

  • typicalTimeToClose: Average time between the time a train detector notes an approaching train and the moment the level crossing is closed to road traffic, i.e. the moment that the interlocking can lock a route across the level crossing. This equates to the time it takes to close the barrier (if present). Should be set to 0 if no barrier is configured. Useful for simulation. (obligatory; xs:duration),

  • typicalTimeToOpen: Average time between the time the deactivation is triggered and the moment the level crossing is open to road traffic, i.e. the moment that the level crossing reports open state. This equates to the time it takes to open the barrier (if present) and to deactivate road signals. Useful for simulation and timetable calculations. (optional; xs:duration),

  • elementNumber: element number for internal referencing in the engineering data (optional; xs:nonNegativeInteger),

  • id: unique identifier (obligatory; xs:string; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}); compare: Dev:Identities
*Notice:
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.

Autoexport from the XML-Schema for element IL:levelCrossingIL of railML® version 3.1
Documentation The level crossing is a track asset allowing road traffic to cross the railway track in a secure way on the same level. Here the functional aspects for interlocking operation are considered.
Subschema interlocking
Parents* levelCrossingsIL
Children activationCondition (0..*), any (0..*), deactivatedBy (0..*), designator (0..1), hasInterface (0..1), hasTvdSection (0..*), isLevelCrossingType (1..1), refersTo (1..1)
Attributes:
  • preferredPosition: This is the state of level crossing under normal conditions, i.e. when not in use. For most level crossings this would be the open state. (optional; xs:string)
Possible values:
  • unknown
  • closing
  • opening
  • closed
  • open,

  • unprotectedSpeed: Speed in km/h at which the level crossing can be passed when it is not protected (V_LX) (optional; xs:decimal),

  • typicalTimeToClose: Average time between the time a train detector notes an approaching train and the moment the level crossing is closed to road traffic, i.e. the moment that the interlocking can lock a route across the level crossing. This equates to the time it takes to close the barrier (if present). Should be set to 0 if no barrier is configured. Useful for simulation. (obligatory; xs:duration),

  • constantWarningTime: A level crossing must cause as little as possible hindering to train as well as road traffic. Therefore, the level crossing must close as late as safely possible. The optimal delay, known as constant warning time, between activation and closing is possible when the train speed and position are known. (optional; xs:duration),

  • minimumOpenTime: This is the time the level crossing has to be open before it is allowed to close again. This is to ensure a certain capacity for the crossing road traffic. (optional; xs:duration),

  • maximumClosedTime: This is the time span after a message to the operator is triggered because a level crossing being closed for too long time can be considered as unsafe. In such cases the road drivers and pedestrians might try to cross the railway line illegally. (optional; xs:duration),

  • requiresStopBeforeUnprotectedLevelCrossing: Flag to define whether any train needs to stop in front of the level crossing in case it is unprotected. Only afterwards it can proceed according the value in speedRestriction. (optional; xs:boolean),

  • id: unique identifier (optional; xs:ID; patterns: (urn:uuid:)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}|{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}); compare: Dev:Identities
*Notice:
Elements may have different parent elements. As a consequence they may be used in different contexts.
Please, consider this as well as a user of this wiki as when developing this documentation further.
Aspects that are only relevant with respect to one of several parents should be explained exclusively in the documentation of the respective parent element.


Changes 3.1→3.2

The children have changed.

The attributes have been changed.

Semantics

Best Practice / Examples

At places where rail and road traffic cross at the same level the safety often has to be established by technical means. The related equipment is modelled in <levelCrossingIL>. In order to avoid ambiguity with the infrastructure element the related type is called levelCrossingIL in railML interlocking subschema.

The features of the particular level crossing can be detailed as below even not all information may be really “known” to the interlocking, i.e. in case of autonomous level crossing.

  • @elementNumber - A positive integer number unique within one <signalBox> to index the element in internal lists of engineering data.
  • @id - The unique identifier used to reference this element within railML.
  • @constantWarningTime – This is the time the level crossing is activated in advance of the approaching train based on the activation position and the train speed.
  • @maximumClosedTime – This is the time a level crossing is accepted by the interlocking as constantly closed before an alarm is raised. The value is needed by some IM because of human behaviour. A level crossing shall be considered insecure after elapsing this time as road traffic might start to negotiate the closed level crossing after an eventless waiting time.
  • @minimumOpenTime – This is the time the level crossing shall be at least open until it is allowed to close again in order to ensure a certain amount of road traffic flow across the level crossing.
  • @preferredPosition – In most cases the preferred position of a level crossing is open, i.e. allowing road traffic to pass freely. However, there might be cases when the level crossing is normally closed and opened for road traffic only on command.
  • @requiresStopBeforeUnprotectedLevelCrossing – Flag to define whether any train needs to stop in front of the level crossing in case it is unprotected. Only afterwards it can proceed according the value in @unprotectedSpeed.
  • @unprotectedSpeed – This is the speed limit in km/h a train is allowed to pass the level crossing when out of order, i.e. not activated for the approaching train.
  • @typicalTimeToClose – This is the time the interlocking shall expect required between commanding the level crossing and the notification of the other position. After elapse of the timer an alarm might be raised to indicate the problem. In general it is assumed that closing and opening do take the same amount of time.
  • <designator> - A coded name as per a specified register for the asset.
  • <assetName> - A name for the asset in a given language.
  • <belongsToOperationalPoint> - The reference to an <operationalPoint> this ... belongs to from operational point of view.
  • <hasCommand> - The reference to any predefined operator command, which can be used with this element. For details refer to <hasOperatorCommand>.
  • <hasIndication> - The reference to any predefined indication on HMI, which is used with this element. For details refer to <hasHmiIndication>.
  • <hasInterface> – This is the description of the physical interface between the interlocking and the level crossing. It mainly contains the list of commands and messages exchanged on this interface. For details refer to <interface>.
  • <isLevelCrossingType> – This is the reference to the generic type of the level crossing defining at least the way of control from the interlocking. For details refer to <hasLevelCrossingType>.
  • <refersTo> – This the reference to the physical level crossing <levelCrossingIS> in the infrastructure.
  • <deactivatedBy> – This describes the deactivation of the level crossing. For details refer child element.
  • <activationCondition> – This describes the conditions for activating the level crossing. For details refer child element.
  • <hasTvdSection> – This is the mandatory reference list to all TVD sections located directly at the level crossing.


Level crossing activation

A level crossing is activated, i.e. requested to close for road traffic, upon train approach. There is a range of conditions to conclude a train is approaching the level crossing. In first case this happens when the train crosses a detection point, i.e. an insulated track joint, axle counter or treadle. These approach detectors are commonly referred to as Approach Starting (AS). Otherwise the activation might be also dependent of a particular route set and the related signal aspects. There may be even combinations of it.

  • @andOr – This element defines how the conditions for activation shall be logically combined. However, combinations that are more complex are not possible.
    • AND – The activation conditions will be combined all together, i.e. the level crossing will be activated when all of the named conditions apply.
    • OR – The activation conditions will be combined alternatively, i.e. the level crossing will be activated when at least one of the named conditions apply.
    • XOR – The activation conditions will be combined alternating exclusively, i.e. the level crossing will be activated when only one of the named conditions applies.
  • <delayBySwitchPosition> – The activation may be delayed by the position of a switch.
    • @delay – The time between the switch detected in the required position and the possible activation of the level crossing.
    • @inPosition – This is the position the switch shall have for activation.
    • <refersToSwitch> – This is the reference to the related moveable element.
  • <aspectRelatedDelay> – The activation of the level crossing may be delayed by a given duration, if a signal shows a given aspect.
    • @delay – The time between the signal is detected in required aspect and the possible activation of the level crossing. This delay depends on the signalled speed of the approaching train hence on signal aspect.
    • <refersToSignal> – This is the reference to the related signal in the interlocking part.
    • <showsAspect> – This is the related aspect the signal shall show for activation.
  • <signalDelayTime> – The delay time that maintains a signal at stop for a given duration after the level crossing was triggered.
    • @delay – The time that has to elapse for the signal to change from stop to any proceed aspect after the level crossing was activated.
    • <hasDelayedSignal> – This is the reference to the related signal in the interlocking part.
  • <activatedBy> – The activation of the level crossing may be delayed depending on occupation status from the related train detection device. This activation condition is needed in any case independent of the logical combination of the other conditions.
    • @delay – The time between the device has detected an occupation and the possible activation of the level crossing.
    • <refersTo> – This is the reference to the related train detection device. This device can be an axle counter, track section, track joint or treadle.


Level crossing deactivation

The level crossing is automatically deactivated after the train has passed and no activation trigger is present. The passage is detected by TVD section or particular train detection devices. There are usually two deactivation items per level crossing one per each direction.

  • @delay – The time between the train detection has notified the clearing after train passage and the possible deactivation of the level crossing.
  • <tvdDetectorRef> – This is the reference to the related train detection device. This device can be an axle counter, track section, track joint or treadle.

Complete Level Crossing

An example of completely described level crossing is shown in the extract below:

<levelCrossingIL constantWarningTime="PT15S" id="lx_lcr01" maximumClosedTime="PT20S" minimumOpenTime="PT10S" unprotectedSpeed="20.0" typicalTimeToClose="PT10S" preferredPosition="open">
        <designator register="_SimpleRegister" entry="levelCrossing01"/>
        <isLevelCrossingType ref="lxt01"/>
        <refersTo ref="lcr01"/>
        <deactivatedBy delay="PT5S" id="lcr01_off1">
                <designator register="_SimpleRegister" entry="lx01_off1"/>
                <tvdDetectorRef ref="tde11"/>
        </deactivatedBy>
        <deactivatedBy delay="PT5S" id="lcr01_off2">
                <designator register="_SimpleRegister" entry="lx01_off2"/>
                <tvdDetectorRef ref="tde12"/>
        </deactivatedBy>
        <activationCondition andOr="XOR">
                <delayBySwitchPosition delay="PT2S" id="swi01_dl" inPosition="left">
                        <designator register="_SimpleRegister" entry="pt_delay"/>
                        <refersToSwitch ref="swi01"/>
                </delayBySwitchPosition>
                <aspectRelatedDelay delay="PT15S" id="sig02_21">
                        <designator register="_SimpleRegister" entry="sigaspect_delay"/>
                        <refersToSignal ref="mb_sig02"/>
                        <showsAspect ref="sig_reducproceed_21"/>
                </aspectRelatedDelay>
                <signalDelayTime delay="P1D" id="sig02_dl">
                        <designator register="_SimpleRegister" entry="si_delay"/>
                        <hasDelayedSignal ref="mb_sig02"/>
                </signalDelayTime>
                <activatedBy delay="P1D" id="td02_act">
                        <designator register="_SimpleRegister" entry="td_act"/>
                        <refersTo ref="tde02"/>
                </activatedBy>
        </activationCondition>
        <hasTvdSection ref="LX2.5T"/>
</levelCrossingIL>

Level Crossing over two tracks with own TVD sections

In this example the representation of a level crossing over two tracks is shown. Therefore the level crossing has two <spotLocation> in infrastructure and two <hasLevelCrossingTrack> in interlocking. In addition there are <trainDetectionElement> connected directly to the level crossing. Thus the level crossing has its own <tvdSection>. The related <trainDetectionElement> are used for deactivation of the level crossing.

Dbl-levelXing01.jpg

The part in infrastructure domain

<infrastructure>
	<functionalInfrastructure>
		<levelCrossingsIS>
			<levelCrossingIS id="lc01">
				<name language="no" name="Eina Plo."/>
				<spotLocation id="loclc01" netElementRef="net01" applicationDirection="both"/>
				<spotLocation id="loclc02" netElementRef="net02" applicationDirection="both"/>
				<designator entry="0815.Plo" register="BaneNor"/>
			</levelCrossingIS>
		</levelCrossingsIS>
		<trainDetectionElements>
			<trainDetectionElement id="td01" type="axleCounter">
				<!-- netElement representing track 2 (net02) -->
				<name language="no" name="Tp(302)"/>
				<spotLocation id="loctd01" netElementRef="net02"/>
				<designator entry="0815.Tp(302)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td02" type="axleCounter">
				<name language="no" name="Tp(C22)"/>
				<spotLocation id="loctd02" netElementRef="net02"/>
				<designator entry="0815.Tp(C22)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td03" type="axleCounter">
				<name language="no" name="Tp(C22/302/304)"/>
				<spotLocation id="loctd03" netElementRef="net02"/>
				<designator entry="0815.Tp(C22/302/304)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td04" type="axleCounter">
				<name language="no" name="Tp(304/6)"/>
				<spotLocation id="loctd04" netElementRef="net02"/>
				<designator entry="0815.Tp(304/6)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td05" type="axleCounter">
				<name language="no" name="Tp(6/3)"/>
				<spotLocation id="loctd05" netElementRef="net02"/>
				<designator entry="0815.Tp(6/3)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td06" type="axleCounter">
				<!-- netElement representing connecting track 1/2 (net03) -->
				<name language="no" name="Tp(1/6)"/>
				<spotLocation id="loctd06" netElementRef="net03"/>
				<designator entry="0815.Tp(1/6)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td07" type="axleCounter">
				<!-- netElement representing track 1 (net01) -->
				<name language="no" name="Tp(063013/A)"/>
				<spotLocation id="loctd07" netElementRef="net01"/>
				<designator entry="0815.Tp(063013/A)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td08" type="axleCounter">
				<name language="no" name="Tp(A/303/C11)"/>
				<spotLocation id="loctd08" netElementRef="net01"/>
				<designator entry="0815.Tp(A/303/C11)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td09" type="axleCounter">
				<name language="no" name="Tp(C12/303/305)"/>
				<spotLocation id="loctd09" netElementRef="net01"/>
				<designator entry="0815.Tp(C12/303/305)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td10" type="axleCounter">
				<name language="no" name="Tp(305/1)"/>
				<spotLocation id="loctd10" netElementRef="net01"/>
				<designator entry="0815.Tp(305/1)" register="BaneNor"/>
			</trainDetectionElement>
			<trainDetectionElement id="td11" type="axleCounter">
				<name language="no" name="Tp(1/11)"/>
				<spotLocation id="loctd11" netElementRef="net01"/>
				<designator entry="0815.Tp(1/11)" register="BaneNor"/>
			</trainDetectionElement>
		</trainDetectionElements>
	</functionalInfrastructure>
</infrastructure>

The part in interlocking domain

<interlocking>
	<assetsForInterlockings>
		<assetsForInterlocking>
			<tvdSections>
				<tvdSection id="tvd01">
					<!-- tvdSection only used for routes (blue) -->
					<designator entry="0815.302" register="BaneNor"/>
					<assetName language="no" name="302"/>
					<hasDemarcatingTraindetector ref="td01"/>
					<hasDemarcatingTraindetector ref="td03"/>
				</tvdSection>
				<tvdSection id="tvd02">
					<!-- tvdSection only used for level crossing (orange) -->
					<designator entry="0815.302/C2" register="BaneNor"/>
					<assetName language="no" name="302/C2"/>
					<hasDemarcatingTraindetector ref="td02"/>
					<hasDemarcatingTraindetector ref="td03"/>
				</tvdSection>
				<tvdSection id="tvd03">
					<!-- tvdSection only used for routes (blue) -->
					<designator entry="0815.304" register="BaneNor"/>
					<assetName language="no" name="304"/>
					<hasDemarcatingTraindetector ref="td03"/>
					<hasDemarcatingTraindetector ref="td04"/>
				</tvdSection>
				<tvdSection id="tvd04">
					<!-- tvdSection only used for routes (blue) -->
					<designator entry="0815.6" register="BaneNor"/>
					<assetName language="no" name="6"/>
					<hasDemarcatingTraindetector ref="td04"/>
					<hasDemarcatingTraindetector ref="td05"/>
					<hasDemarcatingTraindetector ref="td06"/>
				</tvdSection>
				<tvdSection id="tvd05">
					<!-- tvdSection only used for routes (blue) -->
					<designator entry="0815.A" register="BaneNor"/>
					<assetName language="no" name="A"/>
					<hasDemarcatingTraindetector ref="td07"/>
					<hasDemarcatingTraindetector ref="td08"/>
				</tvdSection>
				<tvdSection id="tvd06">
					<!-- tvdSection used for level crossing and routes (orange/blue) -->
					<designator entry="0815.303/C1" register="BaneNor"/>
					<assetName language="no" name="303/C1"/>
					<hasDemarcatingTraindetector ref="td08"/>
					<hasDemarcatingTraindetector ref="td09"/>
				</tvdSection>
				<tvdSection id="tvd07">
					<!-- tvdSection only used for routes (blue) -->
					<designator entry="0815.305" register="BaneNor"/>
					<assetName language="no" name="305"/>
					<hasDemarcatingTraindetector ref="td09"/>
					<hasDemarcatingTraindetector ref="td10"/>
				</tvdSection>
				<tvdSection id="tvd08">
					<!-- tvdSection only used for routes (blue) -->
					<designator entry="0815.1" register="BaneNor"/>
					<assetName language="no" name="1"/>
					<hasDemarcatingTraindetector ref="td10"/>
					<hasDemarcatingTraindetector ref="td11"/>
					<hasDemarcatingTraindetector ref="td06"/>
				</tvdSection>
			</tvdSections>
			<levelCrossingsIL>
				<levelCrossingIL typicalTimeToClose="PT30S">
					<!-- some kind of level crossing type (lxt01) -->
					<isLevelCrossingType ref="lxt01"/>
					<!-- level crossing defined in infrastructure (lc01) -->
					<refersTo ref="lc01"/>
					<deactivatedBy delay="PT10S">
						<tvdDetectorRef ref="td02"/>
					</deactivatedBy>
					<deactivatedBy delay="PT10S">
						<tvdDetectorRef ref="td03"/>
					</deactivatedBy>
					<deactivatedBy delay="PT10S">
						<tvdDetectorRef ref="td08"/>
					</deactivatedBy>
					<deactivatedBy delay="PT10S">
						<tvdDetectorRef ref="td09"/>
					</deactivatedBy>
					<hasTvdSection ref="tvd02"/>
					<hasTvdSection ref="tvd06"/>
					<hasLevelCrossingTrack ref="trk02"/>
					<hasLevelCrossingTrack ref="trk01"/>
				</levelCrossingIL>
			</levelCrossingsIL>
		</assetsForInterlocking>
	</assetsForInterlockings>
</interlocking>

Additional Information

Notes

Open Issues