衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳細(xì)介紹下如何解析ODX數(shù)據(jù)庫(kù)

汽車電子設(shè)計(jì) ? 來(lái)源:北匯信息 ? 2023-02-17 10:27 ? 次閱讀

在展開正文之前,先說(shuō)明一下,此文介紹的解析ODX數(shù)據(jù)庫(kù)的目的所在。

針對(duì)涉及診斷功能類(如DTC等)測(cè)試的項(xiàng)目,實(shí)現(xiàn)過(guò)程大致為兩步:先通過(guò)CANoe-CAPL完成通用的診斷功能測(cè)試腳本的開發(fā);當(dāng)針對(duì)具體ECU實(shí)施測(cè)試時(shí),依據(jù)該ECU的診斷數(shù)據(jù)表,完成上述通用腳本的參數(shù)配置,可以手動(dòng)配置(效率較低)或通過(guò)解析診斷數(shù)據(jù)表完成自動(dòng)配置。過(guò)往項(xiàng)目中,診斷數(shù)據(jù)表既有Excel表格也有ODX格式。

為此,北匯開發(fā)了診斷數(shù)據(jù)表的解析模塊(支持Excel和ODX格式),實(shí)現(xiàn)對(duì)測(cè)試腳本參數(shù)的自動(dòng)配置,從而提高效率。

01 ODX實(shí)現(xiàn)方式

ODX使用統(tǒng)一建模語(yǔ)言UML類圖來(lái)描述的,ODX數(shù)據(jù)又是通過(guò)XML文件格式來(lái)儲(chǔ)存的。我們知道類包含屬性和方法,同時(shí)具有封裝、繼承、多態(tài)等特點(diǎn)。那么如何將UML映射為XML呢?ISO22901-1規(guī)范做出如下規(guī)定:

規(guī) 定

將UML類映射為XML的元素; 如果UML中類的屬性有《attr》標(biāo)記,則將該屬性映射為XML元素的屬性;如果UML中類的屬性無(wú)《attr》標(biāo)記,則映射為XML元素的子元素。如果UML屬性有《content》標(biāo)記,則映射為XML元素的內(nèi)容;

如果類B通過(guò)Aggregation和composition和類A建立聯(lián)系,則類B映射為XML 類A元素的子元素;

如果類B通過(guò)association和類A產(chǎn)生關(guān)聯(lián),則在XML中通常以引用的方式實(shí)現(xiàn),如《snref》,《snpathref》或《odxlink》;

UML類圖中的繼承關(guān)系,在XML中以的方式實(shí)現(xiàn);

注:Aggregation、composition和association為UML類圖之間的關(guān)系,在這里不做詳細(xì)介紹。

圖1和圖2就是根據(jù)以上規(guī)則,將UML轉(zhuǎn)化為XML的例子。

9f9d2512-ae57-11ed-bfe3-dac502259ad0.png

圖1

9fcf95d8-ae57-11ed-bfe3-dac502259ad0.png

圖2

02 ODX繼承-值繼承

值繼承屬于ODX中的核心概念,面向?qū)ο罄^承的概念用于診斷數(shù)據(jù)模型具有如下優(yōu)點(diǎn):

多個(gè)ECU變體對(duì)診斷數(shù)據(jù)的復(fù)用;

對(duì)于ECU應(yīng)用于多個(gè)項(xiàng)目的情況,可以提取公共數(shù)據(jù),ECU變體中只保留不同的數(shù)據(jù),從而減少數(shù)據(jù)冗余;

提供了數(shù)據(jù)安全和可集成性。

在上一期我們簡(jiǎn)單介紹了下ODX繼承,為了避免數(shù)據(jù)的重復(fù)冗余,ODX將診斷層分為了5個(gè)層級(jí)。如圖3所示,其中,Protocol具有一般性,ECU Variant具有特殊性,ECU Shared Data類似一個(gè)library,可以為其他層提供數(shù)據(jù)和服務(wù)。

9ffbde9a-ae57-11ed-bfe3-dac502259ad0.png

圖3 我們知道,ODX中的繼承關(guān)系,在XML中以的方式實(shí)現(xiàn)的,如果繼承的數(shù)據(jù)中有部分?jǐn)?shù)據(jù)不適用,可以通過(guò)去除不適用的數(shù)據(jù)。

從圖4的例子中可以看出,該ECU不支持level3和level4解鎖等級(jí)。

a042c562-ae57-11ed-bfe3-dac502259ad0.png

圖4

03 ODX解析思路簡(jiǎn)介

當(dāng)我們拿到一份ODX或者PDX(PDX是將一系列ODX文件打包)時(shí),如何開展解析工作呢?

首先找到ECU的Base Variant文件。

在Base Variant中查找繼承關(guān)系。

在Base Variant文件中查找對(duì)應(yīng)的ECU變體即ECU Variant。

在ECU Variant文件中查找對(duì)應(yīng)的診斷服務(wù)和數(shù)據(jù)。

a0683ec8-ae57-11ed-bfe3-dac502259ad0.png

圖5

04 ODX解析實(shí)踐

根據(jù)章節(jié)3的ODX解析思路,獲得的解析結(jié)果見圖6、7和8。其中ECU Shared Data作為library,提供了通用的診斷服務(wù),見圖6;而ECU變體BCM 88890251 A除了繼承Base Variant的通用診斷服務(wù),還增加了多個(gè)DID、RID、IO Control,同時(shí)去除了19 15、27 05和27 06這些不適用的服務(wù)。圖8展示了ODX中包含的多種數(shù)據(jù)類型,這里不再詳細(xì)介紹。

a08e6f58-ae57-11ed-bfe3-dac502259ad0.png

圖6

a0e05372-ae57-11ed-bfe3-dac502259ad0.png

圖7

a1745f40-ae57-11ed-bfe3-dac502259ad0.png

圖8

05 總結(jié)

相較于傳統(tǒng)的Excel格式的診斷數(shù)據(jù)交換的不便性,ODX統(tǒng)一了診斷文件的格式,在研發(fā)、測(cè)試、生產(chǎn)和售后等部門傳遞交換時(shí),不需要進(jìn)行格式轉(zhuǎn)換,因此,很多OEM開始使用ODX。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • XML
    XML
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    33142
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3848

    瀏覽量

    64692
  • UML
    UML
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    30906
  • DTC控制
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    1204

原文標(biāo)題:基于ODX診斷測(cè)試開發(fā)(2): ODX數(shù)據(jù)庫(kù)解析

文章出處:【微信號(hào):QCDZSJ,微信公眾號(hào):汽車電子設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    買云數(shù)據(jù)庫(kù)要購(gòu)買服務(wù)器嗎?答案在這里

    數(shù)據(jù)庫(kù)通常無(wú)需用戶購(gòu)買服務(wù)器,由提供商負(fù)責(zé)底層硬件維護(hù)。用戶可通過(guò)Web界面或API配置和管理數(shù)據(jù)庫(kù),根據(jù)需求選擇合適的類型、規(guī)格和策略。在特殊情況,如性能或安全需求無(wú)法滿足,用戶可能需自建
    的頭像 發(fā)表于 01-17 09:55 ?73次閱讀

    MySQL數(shù)據(jù)庫(kù)的安裝

    MySQL數(shù)據(jù)庫(kù)的安裝 【一】各種數(shù)據(jù)庫(kù)的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】MySQL 介紹
    的頭像 發(fā)表于 01-14 11:25 ?133次閱讀
    MySQL<b class='flag-5'>數(shù)據(jù)庫(kù)</b>的安裝

    數(shù)據(jù)庫(kù)是哪種數(shù)據(jù)庫(kù)類型?

    數(shù)據(jù)庫(kù)是一種部署在虛擬計(jì)算環(huán)境中的數(shù)據(jù)庫(kù),它融合了云計(jì)算的彈性和可擴(kuò)展性,為用戶提供高效、靈活的數(shù)據(jù)庫(kù)服務(wù)。云數(shù)據(jù)庫(kù)主要分為兩大類:關(guān)系型數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 01-07 10:22 ?143次閱讀

    ODX診斷數(shù)據(jù)庫(kù)轉(zhuǎn)換工具 - DDC

    INTEWORK-DDC (Diagnostic Database Convertor) 是將診斷調(diào)查問(wèn)卷轉(zhuǎn)換為標(biāo)準(zhǔn)ODX(2.2.0)數(shù)據(jù)庫(kù)的工具。DDC工具可以將易于溝通交流的Excel診斷調(diào)查
    的頭像 發(fā)表于 12-31 11:22 ?158次閱讀
    <b class='flag-5'>ODX</b>診斷<b class='flag-5'>數(shù)據(jù)庫(kù)</b>轉(zhuǎn)換工具 - DDC

    數(shù)據(jù)庫(kù)加密辦法

    企業(yè)對(duì)于數(shù)據(jù)的重視程度不言而喻,也衍生出了數(shù)據(jù)=資產(chǎn)的概念。但是數(shù)據(jù)泄漏的事件頻繁發(fā)生,為了保護(hù)數(shù)據(jù)資產(chǎn),企業(yè)有必要對(duì)數(shù)據(jù)庫(kù)做一些針對(duì)性的措
    的頭像 發(fā)表于 12-24 09:47 ?155次閱讀

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫(kù)表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫(kù)故障: Mysql數(shù)據(jù)庫(kù)表記錄丟失。 Mysql數(shù)據(jù)庫(kù)故障表現(xiàn): 1、Mysql數(shù)據(jù)庫(kù)表中無(wú)任何數(shù)據(jù)或只有部分
    的頭像 發(fā)表于 12-16 11:05 ?224次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—Mysql<b class='flag-5'>數(shù)據(jù)庫(kù)</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)流程

    數(shù)據(jù)庫(kù)事件觸發(fā)的設(shè)置和應(yīng)用

    數(shù)據(jù)庫(kù)無(wú)論對(duì)于生產(chǎn)管理還是很多的實(shí)際應(yīng)用都非常重要。小編這次聊一數(shù)據(jù)庫(kù)事件觸發(fā)的應(yīng)用。示例使用了postgresql和Python。
    的頭像 發(fā)表于 12-13 15:14 ?221次閱讀

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫(kù)ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫(kù)故障: mysql數(shù)據(jù)庫(kù)文件ibdata1、MYI、MYD損壞。 故障表現(xiàn):1、數(shù)據(jù)庫(kù)無(wú)法進(jìn)行查詢等操作;2、使用mysqlcheck和myisamchk無(wú)法修復(fù)數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 12-09 11:05 ?224次閱讀

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—通過(guò)拼接數(shù)據(jù)庫(kù)碎片恢復(fù)SQLserver數(shù)據(jù)庫(kù)

    一個(gè)運(yùn)行在存儲(chǔ)上的SQLServer數(shù)據(jù)庫(kù),有1000多個(gè)文件,大小幾十TB。數(shù)據(jù)庫(kù)每10天生成一個(gè)NDF文件,每個(gè)NDF幾百GB大小。數(shù)據(jù)庫(kù)包含兩個(gè)LDF文件。 存儲(chǔ)損壞,數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 10-31 13:21 ?337次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—通過(guò)拼接<b class='flag-5'>數(shù)據(jù)庫(kù)</b>碎片恢復(fù)SQLserver<b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    科技云報(bào)到:大模型時(shí)代,向量數(shù)據(jù)庫(kù)的野望

    科技云報(bào)到:大模型時(shí)代,向量數(shù)據(jù)庫(kù)的野望
    的頭像 發(fā)表于 10-14 17:18 ?300次閱讀

    Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫(kù)庫(kù)報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫(kù)的在線文件,需要恢復(fù)zxfg用戶的數(shù)據(jù)。 Oracle數(shù)據(jù)庫(kù)恢復(fù)方案: 檢測(cè)數(shù)據(jù)庫(kù)故障;嘗試掛起并修復(fù)數(shù)據(jù)庫(kù);
    的頭像 發(fā)表于 09-30 13:31 ?387次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—異常斷電后Oracle<b class='flag-5'>數(shù)據(jù)庫(kù)</b>啟<b class='flag-5'>庫(kù)</b>報(bào)錯(cuò)的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)出現(xiàn)823錯(cuò)誤的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫(kù)故障: SQL Server附加數(shù)據(jù)庫(kù)出現(xiàn)錯(cuò)誤823,附加數(shù)據(jù)庫(kù)失敗。數(shù)據(jù)庫(kù)沒有備份,無(wú)法通過(guò)備份恢復(fù)數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 09-20 11:46 ?410次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server<b class='flag-5'>數(shù)據(jù)庫(kù)</b>出現(xiàn)823錯(cuò)誤的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫(kù)所在分區(qū)空間不足報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)環(huán)境: 某品牌服務(wù)器存儲(chǔ)中有兩組raid5磁盤陣列。操作系統(tǒng)層面跑著SQL Server數(shù)據(jù)庫(kù),SQL Server數(shù)據(jù)庫(kù)存放在D盤分區(qū)中。
    的頭像 發(fā)表于 07-10 13:54 ?579次閱讀

    HarmonyOS開發(fā)案例:【搭建關(guān)系型數(shù)據(jù)庫(kù)】(4)

    本節(jié)將介紹如何調(diào)用關(guān)系型數(shù)據(jù)庫(kù)接口在本地搭建數(shù)據(jù)庫(kù),并讀寫相應(yīng)的用戶數(shù)據(jù)。
    的頭像 發(fā)表于 05-11 10:27 ?999次閱讀
    HarmonyOS開發(fā)案例:【搭建關(guān)系型<b class='flag-5'>數(shù)據(jù)庫(kù)</b>】(4)

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—raid5陣列上層Sql Server數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)環(huán)境: 5塊硬盤組建一組RAID5陣列,劃分LUN供windows系統(tǒng)服務(wù)器使用。windows系統(tǒng)服務(wù)器內(nèi)運(yùn)行了Sql Server數(shù)據(jù)庫(kù),存儲(chǔ)空間在操作系統(tǒng)層面劃分了三個(gè)邏輯分區(qū)
    的頭像 發(fā)表于 05-08 11:43 ?580次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—raid5陣列上層Sql Server<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例
    百家乐官网9人桌| 澳门百家乐游戏说明书| 波音代理| 百家乐现金网信誉排名| 新世纪百家乐官网娱乐城| 壹贰博网址| 新时代百家乐的玩法技巧和规则 | 滨州市| 大发888官方网站登录| 百家乐平注7s88| 大世界百家乐官网的玩法技巧和规则| 百家乐官网出千大全| 抚顺棋牌网| 威尼斯人娱乐城送钱| 百家乐开户送8彩金| 新花园百家乐官网的玩法技巧和规则 | 娱乐城注册送钱| 大发888娱乐官方| 奇迹百家乐的玩法技巧和规则| 噢门百家乐注码技巧| 百家乐官网筹码皇冠| 百家乐官网贴| 洞头县| 枣庄市| 浦东新区| 博白县| 视频棋牌游戏大厅| 威尼斯人娱乐城注册送彩金| 电子百家乐作假| 永利百家乐娱乐网| 张家港百家乐赌博| 百家乐网站排行| 战胜百家乐的技巧| 葡京百家乐玩法| 沙龙百家乐官网代理| 百家乐官网博彩吧| 百家乐十佳投庄闲法| 百家乐官网作弊| 疯狂百家乐官网游戏| 百家乐黑牌靴| 百家乐打闲赢机会多|