ODX 中的 DcmDspRoutine 代表什么?
What is a DcmDspRoutine representing in ODX?
在 ODX 中有许多不同的参数。
DcmDsp 例程代表什么?
由于 ODX 标准的高度灵活性,Autosar DcmDspRoutine
和 ODX 之间没有直接映射 - 这取决于 ODX 数据的具体创作指南。
DcmDspRoutine
服务 (<DIAG-SERVICE>
) 将在 ODX 中定义,但确切的位置、结构以及如何找到该服务取决于所使用的 ODX 创作指南。即
- 元素位于继承层次结构的哪一层
- 如果任何元素在继承层次结构中 overwritten/eliminated
- 可能有一个
<DIAG-SERVICE>
用于 DcmDspRoutine
或者那里
每个 DcmDspRoutineIdentifier
可能是一个 <DIAG-SERVICE>
- 服务可以通过特定的 short-name 或特定的语义来识别
下面是一个 high-level 示例,假设 DcmDspRoutine
只有一个 <DIAG-SERVICE>
且语义为 "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>
首先需要找到映射到 DcmDspRoutine
服务的 <DIAG-SERVICE>
(其中 "SEMANTIC"
属性匹配 "ROUTINE-CONTROL").在 <DIAG-SERVICE>
xml 节点中应该有一个 <REQUEST-REF>
child-node(link 对 DcmDspRoutine
的请求)和 one-or-more <POS-RESPONSE-REF>
child-nodes(links 对 DcmDspRoutine
的响应)。在 <REQUEST>
和 <POS-RESPONSE>
xml 节点中,将有一个 <PARAM>
xml 节点列表 - 每个节点代表 PDU 的一个参数,并且将 link 到 <DOP>
或 <TABLE>
。由于 DcmDspStartRoutineIn
、DcmDspStartRoutineOut
、DcmDspRoutineStopIn
、DcmDspRoutineStopOut
、DcmDspRoutineRequestResOut
可能因 DcmDspRoutineIdentifier
而异,通常会有一个 <TABLE>
引用,其中包含所有 DcmDspRoutineIdentifier
及其相应的结构。
在 ODX 中有许多不同的参数。
DcmDsp 例程代表什么?
由于 ODX 标准的高度灵活性,Autosar DcmDspRoutine
和 ODX 之间没有直接映射 - 这取决于 ODX 数据的具体创作指南。
DcmDspRoutine
服务 (<DIAG-SERVICE>
) 将在 ODX 中定义,但确切的位置、结构以及如何找到该服务取决于所使用的 ODX 创作指南。即
- 元素位于继承层次结构的哪一层
- 如果任何元素在继承层次结构中 overwritten/eliminated
- 可能有一个
<DIAG-SERVICE>
用于DcmDspRoutine
或者那里 每个DcmDspRoutineIdentifier
可能是一个 - 服务可以通过特定的 short-name 或特定的语义来识别
<DIAG-SERVICE>
下面是一个 high-level 示例,假设 DcmDspRoutine
只有一个 <DIAG-SERVICE>
且语义为 "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>
首先需要找到映射到 DcmDspRoutine
服务的 <DIAG-SERVICE>
(其中 "SEMANTIC"
属性匹配 "ROUTINE-CONTROL").在 <DIAG-SERVICE>
xml 节点中应该有一个 <REQUEST-REF>
child-node(link 对 DcmDspRoutine
的请求)和 one-or-more <POS-RESPONSE-REF>
child-nodes(links 对 DcmDspRoutine
的响应)。在 <REQUEST>
和 <POS-RESPONSE>
xml 节点中,将有一个 <PARAM>
xml 节点列表 - 每个节点代表 PDU 的一个参数,并且将 link 到 <DOP>
或 <TABLE>
。由于 DcmDspStartRoutineIn
、DcmDspStartRoutineOut
、DcmDspRoutineStopIn
、DcmDspRoutineStopOut
、DcmDspRoutineRequestResOut
可能因 DcmDspRoutineIdentifier
而异,通常会有一个 <TABLE>
引用,其中包含所有 DcmDspRoutineIdentifier
及其相应的结构。