Difference between revisions of "Extensions.DiagCom"
Jump to navigation
Jump to search
(43 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{DISPLAYTITLE:OTX '''DiagCom''' Extension}}[[Category:OTX-Extension]][[Category:DiagCom]] | ||
+ | == Classification == | ||
+ | {{ClassificationExtension | DiagCom | Diagnostic Vehicle Communication | [[OtxReference#Extensions|OTX Extension]] | - | [[Diagnostic Communication Kernel (MVCI ISO 22900)]]}} | ||
+ | |||
+ | == Introduction == | ||
The purpose of the OTX DiagCom extension is to provide the necessary OTX elements for performing diagnostic vehicle communication. Specifically, the following diagnostic use cases have been considered: | The purpose of the OTX DiagCom extension is to provide the necessary OTX elements for performing diagnostic vehicle communication. Specifically, the following diagnostic use cases have been considered: | ||
* Handling of ECU communication channels | * Handling of ECU communication channels | ||
Line 12: | Line 17: | ||
== Actions == | == Actions == | ||
− | {| | + | {| {{TableHeader}} |
− | + | {{TableRowCatagory|ComChannel related actions}} | |
− | | ComChannel related actions | + | {{TableRowKeyValueList|[[Extensions.DiagCom.IdentifyAndSelectVariant|IdentifyAndSelectVariant]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.CloseComChannel|CloseComChannel]]|}} | |
− | |[[IdentifyAndSelectVariant]] | | + | |
− | + | {{TableRowCatagory|ComParameter related actions}} | |
− | |[[CloseComChannel]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.SetComParameter|SetComParameter]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.SetComplexComParameter|SetComplexComParameter]]|}} | |
− | | ComParameter related actions | + | |
− | + | {{TableRowCatagory|DiagService related actions}} | |
− | |[[SetComParameter]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.ExecuteDiagService|ExecuteDiagService]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.ExecuteHexDiagService|ExecuteHexDiagService]]|}} | |
− | |[[SetComplexComParameter]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.StartRepeatedExecution|StartRepeatedExecution]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.StopRepeatedExecution|StopRepeatedExecution]]|}} | |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.SetRepetitionTime|SetRepetitionTime]]|}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetAllResultsAndClear|GetAllResultsAndClear]]|}} |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.SetParameterValue|SetParameterValue]]|}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.SetParameterValueBySemantic|SetParameterValueBySemantic]]|}} |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.SetPdu|SetPdu]]|}} |
− | | | ||
− | |[[ | ||
− | | | ||
− | |[[ | ||
|} | |} | ||
== Terms == | == Terms == | ||
− | {| | + | {| {{TableHeader}} |
− | + | {{TableRowCatagory|ComChannel related terms}} | |
− | | ComChannel related terms | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComChannel|GetComChannel]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComChannelIdentifierFromResponse|GetComChannelIdentifierFromResponse]]|}} | |
− | |[[GetComChannel]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComChannelEcuVariantName|GetComChannelEcuVariantName]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.IsVariant|IsVariant]]|}} | |
− | |[[GetComChannelIdentifierFromResponse]] | | ||
− | |||
− | |[[GetComChannelEcuVariantName]] | | ||
− | |||
− | |[[IsVariant]] | | ||
− | + | {{TableRowCatagory|DiagService related terms}} | |
− | | DiagService related terms | + | {{TableRowKeyValueList|[[Extensions.DiagCom.CreateDiagServiceByName|CreateDiagServiceByName]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.CreateDiagServiceBySemantic|CreateDiagServiceBySemantic]]|}} | |
− | |[[CreateDiagServiceByName]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDiagServiceListBySemantic|GetDiagServiceListBySemantic]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDiagServiceFromResult|GetDiagServiceFromResult]]|}} | |
− | |[[CreateDiagServiceBySemantic]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDiagServiceFromException|GetDiagServiceFromException]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDiagServiceName|GetDiagServiceName]]|}} | |
− | |[[GetDiagServiceListBySemantic]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetRepetitionTime|GetRepetitionTime]]|}} |
− | |||
− | |[[GetDiagServiceFromResult]] | | ||
− | |||
− | |[[GetDiagServiceFromException]] | | ||
− | |||
− | |[[GetDiagServiceName]] | | ||
− | |||
− | |[[GetRepetitionTime]] | | ||
− | + | {{TableRowCatagory|Request related terms}} | |
− | | Request related terms | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetRequest|GetRequest]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetPdu|GetPdu]]|}} | |
− | |[[GetRequest]] | | ||
− | |||
− | |[[GetPdu]] | | ||
− | + | {{TableRowCatagory|Result related terms}} | |
− | | Result related terms | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetFirstResult|GetFirstResult]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetAllResults|GetAllResults]]|}} | |
− | |[[GetFirstResult]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetResultState|GetResultState]]|}} |
− | |||
− | |[[GetAllResults]] | | ||
− | |||
− | |[[GetResultState]] | | ||
− | + | {{TableRowCatagory|Response related terms}} | |
− | | Response related terms | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetFirstResponse|GetFirstResponse]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetAllResponses|GetAllResponses]]|}} | |
− | |[[GetFirstResponse]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetResponseName|GetResponseName]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetResponseState|GetResponseState]]|}} | |
− | |[[GetAllResponses]] | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.IsPositive|IsPositive]]|}} |
− | |||
− | |[[GetResponseName]] | | ||
− | |||
− | |[[GetResponseState]] | | ||
− | |||
− | |[[IsPositive]] | | ||
− | | | + | {{TableRowCatagory|Parameter related terms}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterBySemantic|GetParameterBySemantic]]|}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterByPath|GetParameterByPath]]|}} |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterName|GetParameterName]]|}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterSemantic|GetParameterSemantic]]|}} |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterTextId|GetParameterTextId]]|}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterAsList|GetParameterAsList]]|}} |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterValueAsBoolean|GetParameterValueAsBoolean]]|}} |
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterValueAsString|GetParameterValueAsString]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterValueAsInteger|GetParameterValueAsInteger]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterValueAsFloat|GetParameterValueAsFloat]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterValueAsByteField|GetParameterValueAsByteField]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.GetParameterValueAsQuantity|GetParameterValueAsQuantity]]|}} | ||
− | | | + | {{TableRowCatagory|ComParam related terms}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDefaultComplexComParameter|GetDefaultComplexComParameter]]|}} | |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComplexComParameter|GetComplexComParameter]]|}} |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComParameterValueAsBoolean|GetComParameterValueAsBoolean]]|}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComParameterValueAsString|GetComParameterValueAsString]]|}} |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComParameterValueAsInteger|GetComParameterValueAsInteger]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComParameterValueAsFloat|GetComParameterValueAsFloat]]|}} | |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComParameterValueAsByteField|GetComParameterValueAsByteField]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetComParameterValueAsQuantity|GetComParameterValueAsQuantity]]|}} | |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDefaultComParameterValueAsBoolean|GetDefaultComParameterValueAsBoolean]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDefaultComParameterValueAsString|GetDefaultComParameterValueAsString]]|}} | |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDefaultComParameterValueAsInteger|GetDefaultComParameterValueAsInteger]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDefaultComParameterValueAsFloat|GetDefaultComParameterValueAsFloat]]|}} | |
− | |[[ | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDefaultComParameterValueAsByteField|GetDefaultComParameterValueAsByteField]]|}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDefaultComParameterValueAsQuantity|GetDefaultComParameterValueAsQuantity]]|}} | |
− | |[[ | ||
− | |||
− | |[[ | ||
− | |||
− | |[[ | ||
− | |||
− | |[[ | ||
− | |||
− | |[[ | ||
− | |||
− | |[[ | ||
− | | | + | {{TableRowCatagory|Event related terms}} |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.GetDiagServiceFromEvent|GetDiagServiceFromEvent]]|}} | |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.IsDiagServiceEvent|IsDiagServiceEvent]]|}} | |
− | + | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagServiceEventSource|DiagServiceEventSource]]|}} | |
− | + | |} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |[[ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |[[ | ||
− | |||
− | | | ||
− | |||
− | |[[ | ||
− | |||
− | |||
− | |||
− | | | ||
− | + | == Data Types == | |
− | + | {| {{TableHeader}} | |
− | |||
− | |||
− | |||
− | | | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.ComChannel|ComChannel]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagService|DiagService]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.Result|Result]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.ParameterContainer|ParameterContainer]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.Parameter|Parameter]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.Message|Message]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.Response|Response]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.Request|Request]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.ResultState|ResultState]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.ResponseState|ResponseState]]|}} | ||
|} | |} | ||
− | == | + | == Exceptions == |
− | {| | + | {| {{TableHeader}} |
− | | | + | |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagComException|DiagComException]]|}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.AmbiguousSemanticException|AmbiguousSemanticException]]|}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.UnknownTargetException|UnknownTargetException]]|}} |
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.LossOfComException|LossOfComException]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.UnknownResponseException|UnknownResponseException]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.UnknownComChannelException|UnknownComChannelException]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.InvalidStateException|InvalidStateException]]|}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.IncompleteParameterizationException|IncompleteParameterizationException]]|}} | ||
+ | |||
|} | |} | ||
− | == | + | == Checker Rules == |
− | {| | + | {| {{TableHeader}} |
− | |- | + | |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagComChk001|DiagCom_Chk001]]|No Path in ExecuteDiagService response parameter arguments}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagComChk002|DiagCom_Chk002]]|Type-safe GetAllResultsAndClear}} |
− | | | + | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagComChk100|DiagCom_Chk100]]|Access path can not be determinded}} |
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagComChk101|DiagCom_Chk101]]|Access path can not be resolved}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagComChk102|DiagCom_Chk102]]|Targets of the access paths are not the same struct}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagComChk103|DiagCom_Chk103]]|Incorrect data type in request/response parameter arguments of inline mapping}} | ||
+ | {{TableRowKeyValueList|[[Extensions.DiagCom.DiagComChk200|DiagCom_Chk200]]| The required request parameter in ExecuteDiagService can not be determinded}} | ||
|} | |} |
Latest revision as of 06:22, 12 February 2019
Contents
Classification
Name | DiagCom |
Short Description | Diagnostic Vehicle Communication |
Class | OTX Extension |
Base Extension | - |
Pre-Conditions | Diagnostic Communication Kernel (MVCI ISO 22900) |
Specified by | ISO 13209-3 |
Introduction
The purpose of the OTX DiagCom extension is to provide the necessary OTX elements for performing diagnostic vehicle communication. Specifically, the following diagnostic use cases have been considered:
- Handling of ECU communication channels
- Execution of a diagnostic service
- Setting of service request parameters and evaluation of service response parameters
- Dealing with positive or various negative responses of a diagnostic service
- Handling of communication channel protocol parameters
- Performing variant identification of an ECU
- Functionally addressed diagnostic services: more than one ECU will respond to a request
- Repeated/cyclic execution of diagnostic services: a single request will result in multiple responses from the same ECU
- A potential combination of functional addressing and cyclic service execution: multiple ECUs responding multiple times to one request
- Complex data structures within the requests and responses of diagnostic services: structures of parameters, lists of parameters, lists containing structures of parameters
Actions
ComChannel related actions | |
IdentifyAndSelectVariant | |
CloseComChannel | |
ComParameter related actions | |
SetComParameter | |
SetComplexComParameter | |
DiagService related actions | |
ExecuteDiagService | |
ExecuteHexDiagService | |
StartRepeatedExecution | |
StopRepeatedExecution | |
SetRepetitionTime | |
GetAllResultsAndClear | |
SetParameterValue | |
SetParameterValueBySemantic | |
SetPdu |
Terms
Data Types
ComChannel | |
DiagService | |
Result | |
ParameterContainer | |
Parameter | |
Message | |
Response | |
Request | |
ResultState | |
ResponseState |
Exceptions
DiagComException | |
AmbiguousSemanticException | |
UnknownTargetException | |
LossOfComException | |
UnknownResponseException | |
UnknownComChannelException | |
InvalidStateException | |
IncompleteParameterizationException |
Checker Rules
DiagCom_Chk001 | No Path in ExecuteDiagService response parameter arguments |
DiagCom_Chk002 | Type-safe GetAllResultsAndClear |
DiagCom_Chk100 | Access path can not be determinded |
DiagCom_Chk101 | Access path can not be resolved |
DiagCom_Chk102 | Targets of the access paths are not the same struct |
DiagCom_Chk103 | Incorrect data type in request/response parameter arguments of inline mapping |
DiagCom_Chk200 | The required request parameter in ExecuteDiagService can not be determinded |