RS:valueTable decelerationTable vehicleBrakeOperation

From railML 2 Wiki
Jump to navigation Jump to search


valueTable
 


Scheme description / Schemenbeschreibung

Position of valueTable in the XML-Tree / Position von valueTable im XML-Baum

Multiplicity / Anzahl

[0..1]

Semantics / Bedeutung

The element <valueTable> provides a flexible mechanism for description of arbitrary curves in railML®. According the descriptive data in the related attributes the particular curves can be mapped by selected pairs of variates (points) in a three-dimensional coordinate system. All intermediate values have to be interpolated accordingly. The table consist of the informative details of name and unit of each coordinate within the related attributes of the element <valueTable>. In case of several curves versus the x-coordinate there is the child element <columnHeader>, which takes the values of the z-coordinate as parameter for the array of curves. The final pair of variates are located in the particular child elements of <valueLine>, providing the attributes for the values of x- and y-coordinate. This can be depicted as the lines of the table. Within each line there has to be one corresponding element of <values> for each defined value of the z-coordinate. This can be depicted as the columns of the table. The order of <values> elements as values of the y-coordinate has to conform to the order of z-coordinate in <columnHeader>. According the normal conventions 'x' means the independent variable. 'y' is direct dependent on 'x' and conforms to y = f(x). 'z' is the additional parameter extending the dependency to y = f(x,z).

Das Element <valueTable> (Wertetabelle) stellt ein mächtiges Instrument zur Hinterlegung beliebiger Verläufe in railML® zur Verfügung. Entsprechend der Beschreibung in den zugehörigen Attributen können die zu betrachtenden Verläufe durch ausgewählte Punkte in einem drei-dimensionalen Koordinatensystem abgebildet werden. Alle Zwischenwerte müssen entsprechend interpoliert werden. Die Tabelle besteht aus der informativen Angabe von Name und Einheit der jeweiligen Koordinate in den Attributen dieses Elements <valueTable>. Wenn mehr als eine Kurve bezogen auf eine x-Koordinate beschrieben werden soll, gibt es das Unterelement <columnHeader>, welches die Einzelwerte der z-Koordinate als Parameter aufnimmt. Die eigentlichen Wertepaare befinden sich in den einzelnen Unterelementen <valueLine>, die die jeweiligen Werte für die x- und y-Koordinate enthalten. Für jeden möglichen Wert der z-Koordinate muss ein Element <values> mit dem zugehörigen Wert der y-Koordinate auftreten. Die Werte der y-Koordinate müssen dabei in der gleichen Reihenfolge aufgelistet werden wie die zugehörigen zValue in der Kopfzeile <columnHeader>. Gemäß der üblichen Konventionen stellt 'x' die unabhängige Variable dar. 'y' ist der direkt von 'x' abhängige Wert, sodass gilt y = f(x). 'z' ist ein zusätzlicher Parameter für die Abhängigkeit von 'y', sodass gilt y = f(x,z).

Attributes of valueTable / Attribute von valueTable

  • xValueName: This is the descriptive name for the x-coordinate in the <valueTable>.
  • xValueUnit: This is the unit used for the values of the x-coordinate in the <valueTable>. For scalars the value '1' shall be given. Possible values of physical units are:
  • m/s - speed
  • km/h - speed
  • A - current
  • N - force/effort
  • Hz - frequney
  • % - percentage
  • V - voltage
  • W - effective power
  • VA - apparent power
  • Vs - magnetic flux
  • 1 - scalar
  • other:anything: Any value that does not fit any value from the previous enumeration list, fulfilling the constraint: at minimum two characters, whitespace is not allowed. Please, apply Dev:usingAny accordingly.
  • yValueName: This is the descriptive name for the y-coordinate in the <valueTable>.
  • yValueUnit: This is the unit used for the values of the y-coordinate in the <valueTable>. For scalars the value '1' shall be given. Possible values of physical units are:
  • m/s - speed
  • km/h - speed
  • A - current
  • N - force/effort
  • Hz - frequney
  • % - percentage
  • V - voltage
  • W - effective power
  • VA - apparent power
  • Vs - magnetic flux
  • 1 - scalar
  • other:anything: Any value that does not fit any value from the previous enumeration list, fulfilling the constraint: at minimum two characters, whitespace is not allowed. Please, apply Dev:usingAny accordingly.
  • zValueName: This is the descriptive name for the z-coordinate in the <valueTable>.
  • zValueUnit: This is the unit used for the values of the z-coordinate in the <valueTable>. For scalars the value '1' shall be given. Possible values of physical units are:
  • m/s - speed
  • km/h - speed
  • A - current
  • N - force/effort
  • Hz - frequney
  • % - percentage
  • V - voltage
  • W - effective power
  • VA - apparent power
  • Vs - magnetic flux
  • 1 - scalar
  • other:anything: Any value that does not fit any value from the previous enumeration list, fulfilling the constraint: at minimum two characters, whitespace is not allowed. Please, apply Dev:usingAny accordingly.

Syntactic Constraints / Syntaktische Beschränkungen

  • xValueUnit mandatory
  • yValueUnit mandatory
  • zValueUnit optional

The element <valueTable> is optional as alternative to mml:math in order to describe any curve.

Best practice & Examples / Empfohlene Anwendung & Beispiele

View/edit list on the separate source page.

This is an example for usage of <valueTable> with a series of two curves (force vs. speed) which are differentiated by a constant power limitation.

Force-diagram.jpg
Speed  Force100  Force66.7
0 64.800,9 51.840,0
25 64.800,9 51.840,0
30 64.800,9 43.200,0
35 55.542,9 37.028,6
40 48.600,0 32.400,0
45 43.200,0 28.800,0
50 38.880,0 25.920,0
55 35.345,5 23.563,6
60 32.400,0 21.600,0
Graphical representation of the curves. The value table in a spreadsheet.
railML®-Code
<valueTable yValueUnit="N" xValueName="speed" yValueName="tractive effort" 
	xValueUnit="km/h" zValueName="Percentage power limitation" zValueUnit="%">
	<columnHeader zValue="100" /><columnHeader zValue="66.7" />
	<valueLine xValue="0.0">
		<values yValue="64800" /><values yValue="51840" />
	</valueLine>
	<valueLine xValue="25.0">
		<values yValue="64800" /><values yValue="51840" />
	</valueLine>
	<valueLine xValue="30.0">
		<values yValue="64800" /><values yValue="43200" />
	</valueLine>
	<valueLine xValue="35.0">
		<values yValue="55542.9" /><values yValue="37028.6" />
	</valueLine>
	<valueLine xValue="40.0">
		<values yValue="48600" /><values yValue="32400" />
	</valueLine>
	<valueLine xValue="45.0">
		<values yValue="43200" /><values yValue="28800" />
	</valueLine>
	<valueLine xValue="50.0">
		<values yValue="38880" /><values yValue="25920" />
	</valueLine>
	<valueLine xValue="55.0">
		<values yValue="35345.5" /><values yValue="23563.6" />
	</valueLine>
	<valueLine xValue="60.0">
		<values yValue="32400" /><values yValue="21600" />
	</valueLine>
</valueTable>

When using the <valueTable> as representation of a series of curves (three-dimensional function) it shall be written in railML® similar as in a spreadsheet. It means first the header has to be defined with the value descriptions. Second the particular z-values valid for each curve out of the series are to be listed as child element <columnHeader>. Finally the respective <valueLine> for each x-value of the curves is included. Per each x-value there must be as much y-values as the number of curves (number of z-values). The order of y-values is according the order of z-values. Thus a clear assignment to the related curve is made. It shall be noted that the x-values may be not equidistant. In case the original series of curves have different x-values then interpolation must be used to get the missing y-values per each x-value occurring in the series.

Notes / Anmerkungen

Not yet described. / Noch nicht beschrieben.

Open issues / Offene Punkte/Pendenzen

Not yet described. / Noch nicht beschrieben.