Home » railML newsgroups » railml.infrastructure » etcsTrainCategory (correct source for definition of values for etcsTrainCategory)
etcsTrainCategory [message #1655] Mon, 16 October 2017 11:02 Go to next message
Torben Brand is currently offline  Torben Brand
Messages: 55
Registered: March 2016
@etcsTrainCategory [integer] refers to the (integer)value in:
The XSD schema points to v1.9 from 10/07/2012 (should probably be v0.9)
The wiki points to v1.21 from 20/10/2016
The current version is 1.23 (13/9/2017)
http://www.era.europa.eu/Document-Register/Documents/ERA_ERT MS_040001_v1.23.pdf
The value to use is the @NC_TRAIN in Annex A chapter 6.2

Question: Which is the correct version to use? Note that only the last version is available on the ERA site.

But there is another ERA value with the same purpose in TSI OPE Apendix A (ERTMS OPERATIONAL PRINCIPLES AND RULES) Annex B (LIST OF ETCS OPERATIONAL TRAIN CATEGORIES) that list the @ETCS operational train categories. These are not integers, but string values.
http://www.era.europa.eu/Document-Register/Documents/Appendi x_A_version_4.pdf
For all, but on tilting value the NC_Train values translates into the ETCS operational train category over the identical cant deficiency value. The difference between the two value constructs is that the ETCS operational train category is defined based on cant deficiency AND type of brake (P/G) AND type of train (Pas/Tilt Pas/Freight). Where the NC_TRAIN is based on cant deficiency OR type of brake (P/G) OR type of train (Pas/Freight)

For Norwegian speed profiles this translates to:
NO: NC_Train: ETCS operational train category:
normal 5 PASS3
pluss 6 TILT1
tilt 13 TILT5

Question: Which of the two are correct to use?
I asume NC_Train for railML2.3 as this is the value defined and its an integer (which is the value allowed in the schema).
But for railML3 we should discuss which of the two are more predominant. Or allow to use both?
Re: etcsTrainCategory [message #1698 is a reply to message #1655] Wed, 31 January 2018 19:44 Go to previous messageGo to next message
Thomas Nygreen is currently offline  Thomas Nygreen
Messages: 12
Registered: February 2017
Junior Member
The documentation restricts the value of etcsTrainCategory to an integer from 0 to 15. In my view that is a misrepresentation of the categories given in the definition of the NC_TRAIN ERTMS variable. The numbers 0 to 15 are neither sufficient to represent the 18 operational train categories in ERTMS nor are they sufficient to identify what kind of train it is. The number 4 would represent three different operational train categories.

To my knowledge, the column "International train category number" in the table in Annex A chapter 6.2 of "Assignment of values to ETCS variables", is not used in any other context, and is only used to enumerate the bits of the NC_TRAIN variable. NC_TRAIN is a 15-bit integer, not an integer between 1 and 15. To quote from the ERTMS SRS definition of NC_TRAIN: "Each bit represents one category. A train can belong to various categories." Let me give three examples, all for a permissible cant deficiency of 80 mm:

* A passenger train: NC_TRAIN = 000 1000 0000 0010 (binary) = 2050 (decimal)
* A freight train braked in "P" position: NC_TRAIN = 000 0010 000 0010 (binary) = 514 (decimal)
* A freight train braked in "G" position: NC_TRAIN = 000 0100 000 0010 (binary) = 1026 (decimal)

I do not know how many bits would be set for higher permissible cant deficiencies. Either just the highest matching category bit is used, or all lower bits are also set. For a passenger train with a permissible cant deficiency of 245 mm the two options would be:

* Only highest: 001 1000 0000 0000
* All: 011 1000 1111 1110

Does anyone in the community know which of these is correct?
Re: etcsTrainCategory [message #1860 is a reply to message #1698] Mon, 02 July 2018 12:28 Go to previous message
Torben Brand is currently offline  Torben Brand
Messages: 55
Registered: March 2016
D - Use of @etcsTrainCategory.
I suggest to write out the full human readable matrix of @etcsTrainCategory both in the IS:speedProfile and suggested extention in RS:formation (Issue #1826).

With "full" I mean the speed profile confirms all international train category numbers that the speed profile can serve. This as the speedProfile does not know all trains/formations that can run on it.
So the basis speedProfile will have all categories checked (see example bellow).
Likewise a formation/vehicle should map all international train categories it can run under as it might need to run on a lower category as a line might not serve the high (cant deficinecy) category.
With "human readable" I mean writing the matrix out binary.
As infrastructure and formation do not know about each other the @etcsTraincatagory needs to be written in both and matched in the system. One match per category is sufficient for a RS to run on an given speedProfile.

So the short answer to Thomas:
I think we should write: etcsTrainCategory="011 1000 1111 1110" in your example. Do you write out the 3 spaces in the value?
But to be quite certain I suggest we should involve ERA in this issue.

So as a result of my suggestion the following example for most common national Speed profiles available in Norwegian infrastructure (IN):
<speedProfile id="sp1" name="basis" etcsTrainCategory="011111111111111"/>
<speedProfile id="sp2" name="nor:pluss" influence="increasing" etcsTrainCategory="011000111100000"/>
<speedProfile id="sp3" name="nor:krenge[tilting]" influence="increasing" etcsTrainCategory="001000100000001"/>
<speedProfile id="sp4" name="temporary" influence="reducing" etcsTrainCategory="011111111111111"/>
SpeedProfileRef available for a tilting passenger train Norwegian type 73 (certified for max cant defieciency of 245) in rolling stock (RS):
<vehicle etcsTrainCategory="011100011111110">
<formation etcsTrainCategory="011100011111110">
<speedProfileRef id="sp1" name="basis"/>
<speedProfileRef id="sp2" name="nor:pluss"/>
<speedProfileRef id="sp3" name="nor:krenge"/>
<speedProfileRef id="sp4" name="temporary"/>

SpeedProfileRef available for a pluss passenger train Norwegian type 72 (certified for max cant deficiency of 165) in rolling stock (RS):
<vehicle etcsTrainCategory="000100000111110">
<formation etcsTrainCategory="000100000111110">
<speedProfileRef id="sp1" name="basis"/>
<speedProfileRef id="sp2" name="nor:pluss"/>
<speedProfileRef id="sp4" name="temporary"/>

SpeedProfileRef available for a passenger train with undefined max cant deficiency in rolling stock (RS):
<vehicle etcsTrainCategory="000100000000000">
<formation etcsTrainCategory="000100000000000">
<speedProfileRef id="sp1" name="basis"/>
<speedProfileRef id="sp4" name="temporary"/>

SpeedProfileRef available for a freight train running in P braking position in rolling stock (RS):
<vehicle etcsTrainCategory="000011000000000">
<formation etcsTrainCategory="000011000000000">
<speedProfileRef id="sp1" name="basis"/>
<speedProfileRef id="sp4" name="temporary"/>

Mapping for the matrix:
profile N/A 210 245 P F in G F in P 300 225 180 165 150 130 100 80 275
Basis (all) 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
nor:pluss (P165) 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0
nor:krenge (P245) 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1
Requirement or higher

profile N/A 210 245 P F in G F in P 300 225 180 165 150 130 100 80 275
Freight train in P 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0
Freight train in G 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
Passenger train* 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
Tilting train with cdMax=245 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0
Passenger train with CdMax=165 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0
Ability towards requirement or lower, *allowable cant defficiency not defined
Previous Topic: infrastructure "state"
Next Topic: last open points for speedProfiles in railML 2.2
Goto Forum:

Current Time: Tue Jul 17 05:32:24 CEST 2018