Different modelling of electrification systems in RS and IS
Summary
There are currently different ways to model electrification properties in IS and RS. While IS refers to electrification systems defined in CO by id
and provides additional attributes, RS elements derive from the ElectrificationSystem
type in CO and provide other additional attributes. This leads to unnecessary schema dependencies, and potential trouble matching values from IS with values from RS.
Details
CO:electrificationSystems
works as a list of CO:electrificationSystem
s that can be referenced elsewhere. The model of an electrification system is very simple, with just two attributes:
-
@voltage
: electrification system voltage, in [V] -
@frequency
: electrification system frequency, in [Hz]
IS:electrificationSection
refers to the listed electrification systems through its subelement electrificationSystemRef
. Additionally, it allows specifying properties of the contact interface between the infrastructure and the rolling stock, and requirements for the rolling stock used. I've listed the relevant properties below:
-
@contactLineType
: type of the installed contact line ("3rdRailBottom"
,"3rdRailSide"
,"3rdRailTop"
,"none"
,"overhead"
,"sideRail"
orother:*
) -
electrificationSystemRef
: reference to aCO:ElectrificationSystem
-
energyCatenary
: catenary energy parameters (@allowsRegenerativeBraking
,maxTrainCurrent
) -
energyPantograph
: pantograph energy parameters (@requiresTSIcompliance
,@compliantTSITypes
,@nationalPanHeadTypes
,@contactStripMaterials
) -
energyRollingstock
: rollingstock energy parameters (@requiresPowerLimitation
,@permittedStaticContactForce
,@permittedMaxContactForce
,@requiresAutomaticDroppingDevice
,@requiredFireCategory
) -
pantographSpacing
: pantograph spacing parameters (@numberPantographsRaised
,@spacingPantographsRaised
,@speed4PantographSpacing
)
RS:engine
(subelement of RS:vehicle
) and RS:trainEngine
(subelement of RS:formation
) do not reference the electrification systems listed in Common
. Instead, they have differently named but identical subelements (powerMode
and tractionMode
, respectively), both of type TractionMode
, which in turn is just an extension of ElectrificationSystem
with two more attributes:
-
@mode
: Mode of traction related to the ElectrificationSystem ("battery"
,"diesel"
,"electricOverheadLine"
,"electricThirdRail"
,"hydrogenFuelCell"
orother:*
) -
@isPrimaryMode
: whether this is the primary mode of traction of the train
The issue
- The type TractionMode (used by
RS:engine/powerMode
andRS:trainEngine/tractionMode
) conflates two possibly incompatible things: electrification system properties and traction mode (which may be non-electric, in which case the current documentation says that the electrification properties should be explicitly set to 0). -
IS:electrificationSection@contactLineType
andRS:engine/powerMode/@mode
have overlapping value sets, but use different values for the same concepts:-
"electricThirdRail"
in RS is either"3rdRailBottom"
,"3rdRailSide"
,"3rdRailTop"
or"sideRail"
(?) in IS -
"electricOverheadLine"
in RS is"overhead"
in IS
-
- There are no properties in RS to match against most of the rolling stock requirements given by
IS:electrificationSection
. This means that we can cover the use case of listing the requirements, e.g. in a Network Statement, but we cannot cover a use case of mapping where given rolling stock can be used. - The derivation from
ElectrificationSystem
in RS (viaTractionMode
) leads to an unnecessary dependency on CO.
Possible solution
- Move
TractionMode
from CO to RS. - Remove
ElectrificationSystem
as base forTractionMode
and add anelectrificationSystemRef
. - Add an attribute to
ElectrificationSystem
specifying the type of electrical interface between the infrastructure and rolling stock to replaceIS:electrificationSection@contactLineType
and parts ofRS:engine/powerMode/@mode
andRS:trainEngine/tractionMode/@mode
. - Deprecate
IS:electrificationSection@contactLineType
. - Replace
"electricOverheadLine"
and"electricThirdRail"
with one common value inTractionMode/@mode
- Should we add more properties to RS to match the requirements specified in IS, or is there no demand for this?
- Clean up subelements of
IS:electrificationSection
(see #512)