Прямое сопоставление между Autosar DcmDspRoutine
и ODX отсутствует из-за высокой гибкости в стандарте ODX - это зависит от конкретных рекомендаций по созданию данных ODX.
Служба DcmDspRoutine
(<DIAG-SERVICE>
) будет определено в ODX, но точная локализация, структура и способ поиска этой услуги зависят от используемого руководства по авторизации ODX.то есть.
- на каком уровне иерархии наследования элементы расположены
- , если какие-либо элементы перезаписаны / исключены в иерархии наследования
- , может быть один
<DIAG-SERVICE>
для DcmDspRoutine
или может быть один <DIAG-SERVICE>
для каждого DcmDspRoutineIdentifier
- , сервис может быть идентифицирован по определенному короткому имени или по определенной семантике
Ниже приведен высокоуровневый пример того, как найти службу, предполагая, что есть только один <DIAG-SERVICE>
для DcmDspRoutine
с семантическим "ROUTINE-CONTROL" :
+ <DIAG-LAYER-CONTAINER>
+ Collection name of the layers (BASE-VARIANTS/FUNCTIONAL-GROUPS/PROTOCOLS/ECU-VARIANTS)
+ Name of the layer (BASE-VARIANT/FUNCTIONAL-GROUP/PROTOCOL/ECU-VARIANT)
+ <DIAG-DATA-DICTIONARY-SPEC>
+ <TABLES>
+ <TABLE> referenced by a <PARAM>
+ <DIAG-COMMS>
+ <DIAG-SERVICE> with attribute "SEMANTIC" set to "ROUTINE-CONTROL"
+ <REQUEST-REF>
+ <POS-RESPONSE-REFS>
+ <POS-RESPONSE-REF>
+ <REQUESTS>
+ <REQUEST> referenced by a <DIAG-SERVICE>
+ <PARAMS>
+ <PARAM> referencing to a <TABLE>
+ <POS-RESPONSES>
+ <POS-RESPONSE> referenced by a <DIAG-SERVICE>
+ <PARAMS>
+ <PARAM> referencing to a <TABLE>
First the *Необходимо найти 1029 *, которое соответствует сервису DcmDspRoutine
(где атрибут "SEMANTIC"
соответствует "ROUTINE-CONTROL" ).В узле <DIAG-SERVICE>
xml должен быть дочерний узел <REQUEST-REF>
(который ссылается на запрос для DcmDspRoutine
) и один или несколько дочерних узлов <POS-RESPONSE-REF>
(который ссылается на ответ для DcmDspRoutine
).В узлах <REQUEST>
и <POS-RESPONSE>
xml будет список узлов <PARAM>
xml - каждый представляет один параметр PDU и будет связываться с <DOP>
или <TABLE>
.Так как DcmDspStartRoutineIn
, DcmDspStartRoutineOut
, DcmDspRoutineStopIn
, DcmDspRoutineStopOut
, DcmDspRoutineRequestResOut
могут различаться для разных DcmDspRoutineIdentifier
, обычно существует ссылка <TABLE>
, содержащая все DcmDspRoutineIdentifier
и соответствующие им структуры.