Extensions.DiagCom.ExecuteHexDiagService

From emotive
Jump to navigation Jump to search

Classification

Name ExecuteHexDiagService
Short Description Sends a diagnostic services as a byte stream.
Class Action
Extension OTX DiagCom extension
Group DiagService related actions
Exceptions LossOfComException
Checker Rules -
Standard Compliant Yes

OTL Syntax

DiagCom.ExecuteHexDiagService(ComChannelTerm comChannel, ByteFieldTerm hexRequest, ByteFieldVariable hexResponse);

Description

The ExecuteHexDiagSevice activity allows the sending of diagnostic services by directly entering the request byte stream, bypassing the symbolic level that is utilized by the normal ExecuteDiagService action. By using this action, ECUs can be directly addressed with hex requests defined by the OTX sequence author. Possible use cases for this functionality are errors in the diagnostic database which have to be bypassed to achieve a temporary workaround. The response to an ExecuteHexDiagService is provided as a ByteField containing the raw, uninterpreted ECU response message. Please note that the ExecuteHexDiagSevice action is only meant to be used in cases where there is one response from one ECU to a diagnostic service. In case more than one ECU respond to a service request and/or ECUs respond more than once, the <hexResponse> assignment will only contain the first Response of the first Result.

A PDU as understood by the DiagCom extension comprises the complete payload of a message including the service identifier and any other request parameters. It does not include header or checksum bytes from underlying protocol layers.

Properties

Name Data Type Class Default Cardinality Description
ComChannel ComChannel Term - [1] This element will comprise the handle of the communication channel which will be used for communication with the ECU.
HexRequest ByteField Term - [1] This element will contain the service request as a set of raw bytes.
HexResponse ByteField Variable - [0..1] This element specifies the OTX ByteField variable to which the raw response bytes of the service will be assigned.

OTL Examples

/// Local Declarations

ByteField HexResponse1;
DiagCom.ComChannel ComChannel1;

/// Flow

ComChannel1 = DiagCom.GetComChannel("LL_GatewUDS", "", false);
DiagCom.ExecuteHexDiagService(ComChannel1, &22F1A2, HexResponse1);

See also

GetComChannel
ExecuteDiagService