7.7.13. ISO configuration (piso_Configuration)

Configure the ECU for ISO diagnostic communications.

7.7.13.1. Supported targets

All targets

7.7.13.2. Required license

EXT_DIAG (Extended diagnostics library). (See Section 2.3, “Licensed Features”.)

7.7.13.3. Description

The ISO messaging protocol is a CAN based messaging system designed to pass information between vehicle network ECUs in real-time. The platform software handles communication with an external test tool using ISO 15765-2 based protocols (J1979, Keyword Protocol 2000-3, and ISO 14229-1 UDS).

There is support in the blockset for diagnostic trouble codes (see Section 4.6.6, “Fault support”).

The diagnostic services supported are drawn from three standards: SAE J1979 (ISO 15031-5, "OBD2"), Keyword Protocol 2000-3 (ISO 14230-3) and Unified Diagnostic Services (UDS, ISO 14229-1). They all work in the same way, with the first byte of each request message indicating the required service. Some services are the same (or compatible) in KW2000-3 and UDS. For a list of supported services, see the Extended Diagnostic Functions section.

The piso_Configuration block configures the ECU's behaviour when handling ISO messages. This includes selecting which CAN bus for ISO messaging, specifying the transmit and receive message IDs, as well as other parameters that adjust the amount of memory set aside for processing ISO messages.

If a piso_Configuration block is not present in the model, or if it is but the Enable ISO diagnostics parameter is not set, then ISO support is disabled.

7.7.13.4. Inports

None.

7.7.13.5. Outports

None.

7.7.13.6. Mask parameters

  • Enable ISO diagnostics

    Enables/disables ISO messaging.

    Value type:Boolean
    Calibratable:No
  • Transmit message ID

    The unique CAN identifier for the ISO messages transmitted by the system.

    For standard OBD, ISO 15765-4 requires a value in the hex range 7E8 to 7EF for 11-bit IDs (the value being the physical receive ID plus 8), or 18DAF1xx for 29-bit IDs, where xx is the ECU 'source address' in J1939 terms.

    Range: [0, 2047] if standard identifier

    Range: [0, 536870911] if extended identifier

    Value type:Integer
    Calibratable:No
  • Extended transmit ID

    Enables/disables the use of an extended ISO transmit message CAN identifier.

    Value type:Boolean
    Calibratable:No
  • Receive message ID

    The unique CAN identifier for the ISO messages received by the system.

    For standard OBD, ISO 15765-4 requires a value in the hex range 7E0 to 7E7 for 11-bit IDs (the value being the physical response ID minus 8), or 18DAxxF1 for 29-bit IDs, where xx is the ECU 'node address' in J1939 terms.

    Range: [0, 2047] if standard identifier

    Range: [0, 536870911] if extended identifier

    Value type:Integer
    Calibratable:No
  • Extended receive ID

    Enables/disables the use of an extended ISO receive message CAN identifier.

    Value type:Boolean
    Calibratable:No
  • Functional receive message ID

    The global CAN identifier for ISO messages received by all participating ECUs in the vehicle.

    For standard OBD, ISO 15765-4 requires a value of 7DF hex for an 11-bit ID system or 18DB33F1 for a 29-bit ID system.

    The ECU reprogramming session expects a value of 7DF hex to be used. If a different value is specified by the application and the tester, reprogramming operations may not function as expected.

    Range: [0, 2047] if standard identifier

    Range: [0, 536870911] if extended identifier

    Value type:Integer
    Calibratable:No
  • CAN bus identifier

    A drop-down selection of CAN buses available for ISO messaging.

    Value type:List
    Calibratable:No
  • Size of ISO receive message buffer

    The number of bytes for the ISO receive message buffer. This parameter allows the modeller to reduce the amount of RAM allocated to ISO messages, and therefore increase the RAM allocated to other functions of the ECU.

    Range: [1, 4095]

    Value type:Integer
    Calibratable:No
  • Size of ISO transmit message buffer

    The number of bytes for the ISO transmit message buffer. This parameter allows the modeller to reduce the amount of RAM allocated to ISO messages, and therefore increase the RAM allocated to other functions of the ECU.

    Range: [1, 4095]

    Value type:Integer
    Calibratable:No
  • Emissions severity level

    A drop-down selection of the emissions severity level at which a DTC should be considered "emissions related". This allows the modeller to combine "emissions related" and other DTCs within the same system.

    Value type:List
    Calibratable:No
  • Number of periodic identifiers

    PIDs for automatic periodic sending must be in the 0xF2nn identifier range. Of those, this parameter is the maximum number that the platform will allow to be simultaneously requested by the test tool for automatic periodic transmission while the application is running via UDS service $2A. Leave at zero if service $2A support is not required, to save RAM.

    Range: [0, 254]

    Value type:Integer
    Calibratable:No
  • Periodic identifier transmission base period

    The "fast" target rate for PIDs requested for automatic transmission via UDS service $2A in milliseconds. The "medium" rate is 2x this period, and the "slow" rate is 4x this period. The platform will send PIDs more slowly than the target rate if this target cannot be met due to the PID size and transport protocol delays.

    Range: [20, 65530]

    Value type:Integer
    Calibratable:No
  • Number of dynamically defined identifier buffers

    The number of internal buffer slots allocated for the construction of dynamically-defined PIDs via UDS service $2C. If necessary one large PID definition may straddle several internal buffers. Leave at zero if service $2C support is not required, to save RAM.

    Range: [0, 255]

    Value type:Integer
    Calibratable:No
  • Override J1979 standard?

    If checked, this option allows the user to override the standard message response to J1979 service requests $03, $07 and $0A. Note that this override option should only be used in exceptional circumstances where it is understood that the resultant message responses will deviate from the J1979 standard.

    Value type:Boolean
    Calibratable:No
  • Service$03 response

    A drop-down selection of the override to apply to a J1979 service request $03 response. Only available if the Override J1979 standard? parameter is checked. Note that the platform also provides a calibration to override the response at runtime.

    Value type:List
    Calibratable:No
  • Service$07 response

    A drop-down selection of the override to apply to a J1979 service request $07 response. Only available if the Override J1979 standard? parameter is checked. Note that the platform also provides a calibration to override the response at runtime.

    Value type:List
    Calibratable:No
  • Service$0A response

    A drop-down selection of the override to apply to a J1979 service request $0A response. Only available if the Override J1979 standard? parameter is checked. Note that the platform also provides a calibration to override the response at runtime.

    Value type:List
    Calibratable:No

7.7.13.7. Notes

None.