Extensions.DiagCom.ExecuteHexDiagService
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);