5.1.66. Non-volatile adaptive 2-d map look-up (pnv_AdaptiveMap2d)

Adaptive 2-d map look-up and interpolation.

5.1.66.1. Supported targets

All targets

5.1.66.2. Required license

None (Main library). (See Section 2.3, “Licensed Features”.)

5.1.66.3. Description

Looks up the input x and y in the X-axis Data (default) and Y-axis Data (default) parameters, interpolates between the corresponding Adaptive Z Data (default) parameter elements, giving a corresponding adapted_z as output.

The adaptive 2-d look-up block is similar to the OpenECU put_Calmap2d block, except that the z-axis look-up values can change over time under control of the model and be recovered from non-volatile memory when the model starts. If the adaptive values cannot be recovered at start-up, or if the model is simulated, the default values are used before any adaption takes place.

The target non-volatile memory is provided in two ways: either through storage that requires an external power source when the ECU is powered down (battery backed RAM storage), or not (Flash storage). See the technical specification for details on which storage type is supported by each target.

The battery backed non-volatile memory requires a small amount of power overall, i.e., much less than powering the ECU normally.

The adaptive data is check-summed using a 16-bit CRC. Failure to match the check-sums on start-up means that the data cannot be recovered. In this case, or if the model is simulated, adaptive data is reverted to the default value specified when the model was built.

Warning

Unlike R12 Simulink maps, 1-d and 2-d maps in OpenECU do not extrapolate beyond the limits of the input axis or axes. OpenECU calibration maps should be used for all maps that form part of an OpenECU build.

Some calibration tools provide a feature which shows the map in graphical or tabular form together with the active interpolation point. OpenECU supports this feature by populating the ASAP2 file with the signal names which correspond to the x and y inports. To make this feature work, the x and y signals must be named DD entities with their properties set to ExportedGlobal.

5.1.66.4. Inports

  • x

    The x-value at which a z-value is to be adapted then interpolated. May be a scalar or a vector. If the inport is attached to a vector, the size of the vector must match the size of any vector attached to another inport.

    Value type:Real
    Calibratable:No
  • y

    The y-value at which a z-value is to be adapted then interpolated. May be a scalar or a vector. If the inport is attached to a vector, the size of the vector must match the size of any vector attached to another inport.

    Value type:Real
    Calibratable:No
  • adapt_increment

    The increment to the current adapted value. The increment is only used when the inports adapt and reset are conditioned correctly. May be a scalar or a vector. If the inport is attached to a vector, the size of the vector must match the size of any vector attached to another inport.

    Value type:Real
    Calibratable:No
  • adapt

    1 if the current adapted value should be adjusted, 0 otherwise. If the inport reset is 1, no adaption will occur (even if inport adapt is 1). May be a scalar or a vector. If the inport is attached to a vector, the size of the vector must match the size of any vector attached to another inport.

    Range: 0 or 1

    Value type:Boolean
    Calibratable:No
  • reset

    1 if the current adapted value should be forced to Adaptive Z Data (default), 0 otherwise. May be a scalar or a vector. If the inport is attached to a vector, the size of the vector must match the size of any vector attached to another inport.

    Range: 0 or 1

    Value type:Boolean
    Calibratable:No

5.1.66.5. Outports

  • adapted_z

    The adapted value or values interpolated from parameter Adaptive Z Data (default) at the values for inports x and y.

    Value type:Real
    Calibratable:No

5.1.66.6. Mask parameters

  • X-axis Data (default)

    The name of the map's x axis (e.g. vftm_mymap_x, see Section "Naming rules"). There must be two or more elements in this parameter and that must be the same as the number of elements as columns in parameter Adaptive Z Data (default). The values of this parameter must increase monotonically and adjacent values must not be the same.

    Value type:Real
    Calibratable:No
  • Y-axis Data (default)

    The name of the map's y axis (e.g. vftm_mymap_y, see Section "Naming rules"). There must be two or more elements in this parameter and that must be the same as the number of elements as rows in parameter Adaptive Z Data (default). The values of this parameter must increase monotonically and adjacent values must not be the same.

    Value type:Real
    Calibratable:No
  • Adaptive Z Data (default)

    The name of the map's z matrix (e.g. vftm_mymap_z, see Section "Naming rules"). There must be the same number of rows as elements in parameter Y-axis Data (default) and number of columns as elements in parameter X-axis Data (default).

    Value type:Real
    Calibratable:No
  • Sample time

    The periodicity of the block execution.

    Range: [0.001, 3600] seconds

    Value type:Real
    Calibratable:No

5.1.66.7. Notes

  • The build process generates a corresponding ASAP2 entry to the adaptive parameter that can be accessed via a calibration tool. The name of this entry has a fifth character 'a', i.e., given the default parameter name vtfm_mymap_z, an ASAP2 entry with name vtfma_mymap_z is generated. Note that this implies that only a single adaptive parameter can exist per named default parameter.

    Warning

    If two or more blocks refer to the same named item in the Adaptive Z Data (default) field, these blocks will independently adapt the same adaptive parameter.

    The reset, adaption, look-up and interpolation work as follows:

    Possible reset

    If the inport reset is 1, the block reverts the Adaptive Z Data (default) parameter data to the block's defaults and sets the output from a look-up and interpolation.

    Possible adaption

    If a reset has not occurred and the inport adapt is 1, then the Adaptive Z Data (default) parameter data is altered as follows before setting the output from a look-up and interpolation.

    xa and xb bound x (see exceptions below), ya and yb bound y (see exceptions below), zaa , zab, zba and zbb are the corresponding elements in the parameter Adaptive Z Data (default).

    When the software adapts the 2-d look-up table, the Adaptive Z Data (default) is modified as follows:

    If the inport x is less than xa and xa is the first element in the X-axis Data (default) parameter then the software shall treat xb as the same element as xa, zab as the same element as zaa and perform the adaption calculation with interplx as 0.

    If the inport x is greater than xb and xb is the last element in the X-axis Data (default) parameter then the software shall treat xa as the same element as xb, zaa as the same element as zab and perform the adaption calculation with interplx as 1.

    Similar restrictions apply for the y inport.

    Look-up and interpolation

    Works as the put_Calmap1d block.