Я читаю о преобразовании данных в Autosar (RTE). Я понял, используя comp-метод, мы можем получить значения смещения и коэффициента.
<COMPU-METHOD>
<SHORT-NAME>linear</SHORT-NAME>
<CATEGORY>LINEAR</CATEGORY>
<UNIT-REF DEST="UNIT">kmh</UNIT-REF>
<COMPU-INTERNAL-TO-PHYS>
<COMPU-SCALES>
<COMPU-SCALE>
<COMPU-RATIONAL-COEFFS>
<COMPU-NUMERATOR>
<V>30</V>
<V>2</V>
</COMPU-NUMERATOR>
<COMPU-DENOMINATOR>
<V>1</V>
</COMPU-DENOMINATOR>
</COMPU-RATIONAL-COEFFS>
</COMPU-SCALE>
</COMPU-SCALES>
</COMPU-INTERNAL-TO-PHYS>
</COMPU-METHOD>
В приведенном выше примере формула будет
F = 30 + 2 * x
Но я не могу понять Compumethod категории SCALE_LINEAR_AND_TEXTTABLE или TEXTTABLE.
<COMPU-METHOD>
<SHORT-NAME>linearAndTexttable</SHORT-NAME>
<CATEGORY>SCALE_LINEAR_AND_TEXTTABLE</CATEGORY>
<UNIT-REF DEST="UNIT">kmh</UNIT-REF>
<COMPU-INTERNAL-TO-PHYS>
<COMPU-SCALES>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">0</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">300</UPPER-LIMIT>
<COMPU-RATIONAL-COEFFS>
<COMPU-NUMERATOR>
<V>30</V>
<V>2</V>
</COMPU-NUMERATOR>
<COMPU-DENOMINATOR>
<V>1</V>
</COMPU-DENOMINATOR>
</COMPU-RATIONAL-COEFFS>
</COMPU-SCALE>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">350</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">350</UPPER-LIMIT>
<COMPU-CONST>
<VT>SensorError</VT>
</COMPU-CONST>
</COMPU-SCALE>
<COMPU-SCALE>
<LOWER-LIMIT INTERVAL-TYPE="CLOSED">351</LOWER-LIMIT>
<UPPER-LIMIT INTERVAL-TYPE="CLOSED">351</UPPER-LIMIT>
<COMPU-CONST>
<VT>SignalNotAvailable</VT>
</COMPU-CONST>
</COMPU-SCALE>
</COMPU-SCALES>
</COMPU-INTERNAL-TO-PHYS>
</COMPU-METHOD>
В приведенном выше примере я могу получить значения коэффициента и смещения. Но как насчет значений верхнего и нижнего пределов каждого вычислимого масштаба. Нам нужно использовать эти значения также в формуле, или эти значения просто используются для генерации макросов перечисления в заголовочном файле ApplicationTypes?