Dev:Moveable Elements

From railML 3 Wiki
Jump to navigation Jump to search

Moveable Elements

The class of moveable elements is an abstract, which is enriched by the attributes and elements of the particular type of moveable element like switch, derailer or crossing. In general movable elements are assets physically driven by the interlocking, i.e. the position of the element is actuated by interlocking operation. The movable elements are already defined in infrastructure. Thus a reference to the related infrastructure element is a common part of all moveable elements.

Other common elements and attributes for each moveable element are:

  • <refersTo> – This is the reference to the track asset from the infrastructure part, i.e. the particular <switchIS>, <derailerIS> or <crossing>.
  • <hasGaugeClearanceMarker> – This is the reference to a related infrastructure element <trainDetectionElement> which has @type="clearancePoint". However, the position of the physical marker does not give direct information, which branch of the movable element is affected.
  • <hasTvdSection> – This is the reference to the TVD section the movable element is part of. It can be only one TVD section related to a movable element whereas a TVD section might comprise several movable elements and track sections.
  • <connectedToPowerSupply> – This is the reference to the power supply used to energise the switch actuators. The relation is needed for the interlocking to control the number of switch actuators that are activated simultaneously without overloading the power supply.
  • <relatedMovableElement> – This is the reference to another movable element from the asset list which forms a functional pair with this one. The use is sensible mainly for switches and in few cases for derailers. The relation shall be given for both of the related elements. The kind of relation is derived from the physical features @type in <switchIS>. From the possible combinations the following functions can be concluded:
    • ordinarySwitch/insideCurvedSwitch/outsideCurvedSwitch without use of <relatedMovableElement> – This is just simple switch with two branches of diverging tracks and without functional speciality.
    • ordinarySwitch/insideCurvedSwitch/outsideCurvedSwitch with reference to a switch as <relatedMovableElement> – This is a pair of simple switches that are always operated together with one command thus keeping them in synchronised position under normal circumstances. This is feature, called “coupled switches”, is used for example on a crossover (connection between two parallel tracks).
    • Any value of @type with reference to a derailer as <relatedMovableElement> – This is used to ensure the dependency between the switch and derailer, e.g. that the switch is only going into the position towards the derailer when the derailer is in passablePosition. In such case the use of <hasPositionRestriction> is required.
    • singleSwitchCrossing – works on the same principle as a double slip, but provides for only one switching possibility. Trains approaching on one of the two crossing tracks can either continue over the crossing, or switch tracks to the other line. However, trains from the other track can only continue over the crossing, and cannot switch tracks. With this type the <relatedMovableElement> shall refer to the other half of the single slip switch. Due to the modelling of single slip switches within the interlocking the use of <hasPositionRestriction> is required.
    • doubleSwitchCrossing – A narrow-angled diagonal flat crossing of two lines combined with four pairs of switches in such a way as to allow vehicles to change from one straight track to the other, as well as going straight across. A train approaching the arrangement may leave by either of the two tracks on the opposite side of the crossing. To reach the third possible exit, the train must change tracks on the slip and then reverse. With this type the <relatedMovableElement> shall refer to the other half of the double slip switch.
  • @typicalThrowTime – This value gives the time the movable element normally takes to move from one end position the other. The information is used when calculating the time needed to setup routes or to release them again.
  • @maxThrowTime – This value gives the time the interlocking should expect the moveable element has reached its end-position. Latest after expiration of this timer the engine power is switched off and a failure is raised if the moveable element does not report end-position.
  • @returnsToPreferredPosition – The automatic normalisation flag is closely related to the preferred position. It defines whether the interlocking shall return the movable element to the defined preferred position after use, i.e. after route release.
  • @isKeyLocked – This flag is used to identify that the switch is clamped either mechanically or by any electric or electronic means. The interlocking shall never attempt to throw a clamped switch.
  • @numberOfBladeSwitchActuators – This is the number of switch actuators mounted to operate the blades of the switch or the derailer.
  • @numberOfFrogSwitchActuators – This is the number of switch actuators mounted to operate the swinging frog nose of the switch or crossing (dependent on the language variant there are several terms in use: common crossing, frog. railML will use the term “frog” to avoid ambiguity).
  • @localOperated - This gives information, whether the movable element is locally operated independent of any <signalBox>.
    • electrical - For the local operation an electrical drive is used.
    • mechanical - The local operation is made by means of mechanics, e.g. lever with counterweight.

A special issue is the common element <hasGaugeClearanceMarker>. The gauge clearance marker is a sign or concrete slab that limits where a train can go whilst staying clear of a train on the other track. Although the interlocking is unaware of these markers, it should be taken in for the sake of modelling because this determines whether the TVD provides gauge clearance. The same information is more precisely given by <hasFoulingTrainDetectors>.