DiagCom Library
The library provides DiagCom OTX elements for the off-board communication with the vehicle. The construction of the library allows to support in principle any diagnostic runtime system. However, it is the use of a standardized MVCI-Servers recommended. The following tasks are covered by the library:
- Handling of communication channels
- Execution of diagnostic services
- Setting Request and Evaluation of response parameters
- Processing of positive and negative responses on
- Handling of communication parameters
- Execution of variant identifications
- Support functional addressing in the execution of diagnostic services: A request, many SG reply
- Support of cyclic diagnostic services: 1 Request, a SG responds periodically
- Support a combination of functional addressing and cyclic Requests: A request, several SG respond periodically
- Supporting complex data structures in request and response parameters: structures, lists, maps
Any off-board diagnostic communication is based on the so-called request / response procedure, seeDIAG-LAYER-CONTAINER and especiallyDIAG-COM-PRIMITIVESin ODX. The structure of the individual messages has the following important characteristics, see figure:
- Request a usually one or more responses are sent
- The positive response contains the answer
- The negative response contains an error or status information
- Requests and responses include one or more simple or complex parameters
- Complex parameters are simple parameters in a tree of arbitrary depth
Diagnostic communication - breakdown of diagnostic services in request, response and parameters
| AmbiguousSemanticException | More than one object with the same semantic attribute | |
| ComChannel | Handle to a communication channel of the diagnostic run-time system | |
| CreateDiagServiceByName | Creates a diagnostic service on its behalf | |
| CreateDiagServiceBySemantic | Creates a diagnostic service on the semantic attribute | |
| DeselectComChannel | Closes a communication channel | |
| DiagComException | General failure within the DiagComm Library | |
| DiagCom_Chk001 | Incorrect data type (response parameter mapping) | |
| DiagService | Handle to a request of the diagnostic run-time system | |
| DiagServiceEventSource | Adds a diagnostic service to an event handling source | |
| ExecuteDiagService | Sending a diagnostic services to the control unit | |
| ExecuteDiagServiceEx | Advanced diagnostic services to the sending of a control unit | |
| ExecuteHexDiagSevice | Direct sending of a diagnostic service as a byte stream | |
| GetAllResponses | From a completed list of all diagnostic services | |
| GetAllResults | From a completed list of all diagnostic services | |
| GetAllResultsAndClear | Returns all result objects of a diagnostic services and deletes the Result Buffer | |
| GetComChannel | At run time to connect to the controller ago | |
| GetComChannelEcuVariantName | Determined from a communication channel with the corresponding variant | |
| GetComChannelIdentifierFromResponse | Determined from a response to the associated communications channel | |
| GetComParameterValue | Value of a simple communication parameter | |
| GetComplexComParameter | Value of a complex communication parameter | |
| GetDefaultComParameter | Default value of a simple communication parameter | |
| GetDefaultComplexComParameter | Default value of a complex communication parameter | |
| GetDiagServiceFromEvent | A diagnostic service event handling source | |
| GetDiagServiceFromException | Diagnostic service, which threw the exception | |
| GetDiagServiceListBySemantic | List of diagnostic services with the same semantic attribute | |
| GetDiagServiceName | For the diagnostic services | |
| GetDiagServiceNameFromResult | Diagnostic service, which the Result object is assigned | |
| GetFirstResponse | First Response of a result object | |
| GetFirstResult | The first result of a running diagnostic services | |
| GetParameterAsList | List of parameters within a parameter | |
| GetParameterByPath | Provides a parameter on its path | |
| GetParameterBySemantic | Provides a parameter of the semantic attribute | |
| GetParameterNames | Name of a parameter | |
| GetParameterSemantic | Semantic attribute of a parameter | |
| GetParameterValue | Value of a parameter | |
| GetPdu | Byte-stream of a request or a response | |
| GetRequest | Request of diagnostic services | |
| GetResponseName | Name a Response | |
| IdentifyAndSelectVariant | Does a variant identification by | |
| IsDiagServiceEvent | Checks whether an event was bound to a diagnostic service | |
| IsPositive | Test, a response to positive or negative | |
| IsVariant | Tests the name of a control device version of a communication channel | |
| LossOfComException | No communication to the control unit | |
| Message | Unprocessed ECU message (PDU) | |
| Parameter | Handle to a parameter object within a request or a response | |
| ParameterContainer | Container for parameters and message elements | |
| Request | Handle to the request from an DiagService | |
| Response | Handle to the response of a DiagService | |
| Result | Handle to the result of a DiagService | |
| SetComParameter | Set of communication parameters | |
| SetComplexComParameter | Set of complex communication parameters | |
| SetParameterValue | Sets the value of a request parameter | |
| SetParameterValueBySemantic | Sets the value of a request parameter via a semantic attribute | |
| SetPdu | Insert the PDU within a request | |
| UnknownComChannelException | Response handle can be assigned to any channel of communication | |
| UnknownResponseException | Response from the control unit was not mapped | |
| UnknownTargetException | Nonexistent or undefined object in the diagnosis run time system |