<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 干貨分享 | TSMaster 的 CAN UDS 診斷操作指南(下)

干貨分享 | TSMaster 的 CAN UDS 診斷操作指南(下)

發(fā)布人:汽車(chē)電子工程師 時(shí)間:2024-06-25 來(lái)源:工程師 發(fā)布文章

上期,我們主要介紹了 UDS 診斷模塊的創(chuàng )建以及TSMaster 基礎診斷配置。很多客戶(hù)表示意猶未盡。因此我們將繼續帶來(lái)《TSMaster 的 CAN UDS 診斷操作指南(下)》的精彩內容,為您帶來(lái)UDS on CAN/CAN FD 的功能以及詳細的使用操作。


本文關(guān)鍵詞:UDS,BootLoader,自動(dòng)診斷流程,診斷系統變量



目錄

Catalog

4. TSMaster 診斷控制臺

5. TSMaster 自動(dòng)診斷流程與注冊系統變量

6. 診斷典型應用


四、TSMaster 診斷控制臺


診斷控制臺作為診斷命令調試器,可以讓用戶(hù)選擇每一條單獨的服務(wù)命令,編輯發(fā)送服務(wù)報文和接收服務(wù)報文,進(jìn)行測試驗證。主要包含四塊工作區域,分別為服務(wù)命令選擇區,手動(dòng)命令輸入區,診斷命令發(fā)送/應答區和診斷信息區,如圖 4-1 所示。

圖片

圖 4-1 控制臺工作分區


1.服務(wù)命令選擇區

服務(wù)命令選擇區中是根據基礎配或者加載 ODX/PDX 診斷數庫生成的可執行服務(wù)列表。用戶(hù)可以雙擊執行選中的服務(wù)或者右鍵選擇執行該服務(wù),如圖 4-2所示。

圖片

圖 4-2 服務(wù)命令選擇區


2.手動(dòng)命令輸入區

測試過(guò)程中,如果用戶(hù)想發(fā)送任意的診斷命令,則可以在手動(dòng)命令輸入區中輸入自己想要發(fā)送的任意報文。在輸入診斷報文過(guò)后,點(diǎn)擊右邊的 Execute 按鈕,就可以完成診斷報文的發(fā)送。為了增加測試靈活性,還可以通過(guò)選擇框選擇采用物理地址發(fā)送還是功能 ID 發(fā)送診斷請求報文。如圖 4-3。

圖片

圖 4-3 手動(dòng)命令輸入區



3.診斷命令發(fā)送/應答區

在本區域中,用戶(hù)可以編輯發(fā)送數據段以及期望接收數據段,啟動(dòng)執行來(lái)驗證被測 ECU 的診斷響應是否符合實(shí)際要求,以及是否同步診斷系統變量,如圖4-4。

圖片

圖 4-4 診斷命令發(fā)送/應答區


4.診斷信息區

該區域分為服務(wù)層信息和 ISO15765-2 數據流區,其中服務(wù)層信息顯示當前在診斷模塊中的操作步驟流程與響應信息。如圖 4-5。

圖片

圖 4-5 服務(wù)層信息


當診斷服務(wù)沒(méi)有得到肯定響應或者無(wú)響應時(shí),報錯提示信息等。如圖 4-6:

圖片

圖 4-6 服務(wù)層信息負響應提示


ISO15765-2 數據流區,用于顯示診斷模塊詳細的服務(wù)層報文信息。結合前面配置的診斷數據庫,還可以把原始的報文數據解析成物理信號等呈現。以 22 服務(wù)為例,可以查看到診斷服務(wù)層解析后的參數數據,如圖 4-7。

圖片

圖 4-7 ISO15765-2 數據流區


五、TSMaster 自動(dòng)診斷流程與注冊系統變量


1.診斷流程創(chuàng )建與管理

TSMaster 的自動(dòng)化診斷流程不僅僅是針對某一個(gè)具體的應用,而是針對整個(gè)項目的診斷流程進(jìn)行管理。用戶(hù)可以根據完整項目的需求,配置測試診斷流程組,每個(gè)組里面可以包含多個(gè)不同的診斷流程,在一個(gè)診斷流程中包含具體的診斷步驟。


在 UDS 流程管理欄右鍵鼠標,展開(kāi)流程用例管理的操作菜單,如圖 5-1:

圖片

圖 5-1 流程用例管理的操作菜單


操作菜單從上到下分別包含如下操作:


【1】切換 UDS 流程:切換到當前 UDS 流程節點(diǎn)。雙擊該節點(diǎn),也可以達到切換到該流程節點(diǎn)的效果。切換到該節點(diǎn)過(guò)后,節點(diǎn)圖標和背景色為藍色,同時(shí)右邊的節點(diǎn)流程中展開(kāi)顯示該 UDS 流程包含的詳細診斷步驟。如圖 5-2。

圖片

圖 5-2 切換 UDS 流程


【2】啟動(dòng) UDS 流程:?jiǎn)?dòng)該節點(diǎn)的診斷流程。點(diǎn)擊該選項后,診斷模塊按照右邊的配置,從上往下自動(dòng)執行診斷步驟。

【3】中斷 UDS 流程:點(diǎn)擊該節點(diǎn)后,中斷正在執行的診斷流程步驟。

【4】添加流程組:新增診斷流程組。比如新增 Test Group1。診斷組下面可以再增加診斷流程用例,其本身不包含診斷步驟。

【5】添加新的測試流程:新增一個(gè)診斷流程用例,在診斷流程用例下面可以增加詳細的診斷步驟。

【6】編程名稱(chēng):選中一個(gè)流程組或者流程用例,右鍵選中 Edit name 編輯該節點(diǎn)的名稱(chēng)。

【7】注冊系統變量:選擇一個(gè)診斷流程用例,注冊為系統變量。

【8】反注冊系統變量:選中已注冊為系統變量的診斷流程用例,取消注冊系統變量。

【9】刪除所選:刪除選中的節點(diǎn)。

【10】刪除所有:清楚所有的節點(diǎn)。


2.配置自動(dòng)診斷流程


TSMaster 自動(dòng)診斷流程,可以快速配置多組診斷流程并可以設置循環(huán)運行和注冊系統變量用于外部調用等,如下進(jìn)行詳細介紹。


2.1 自動(dòng)診斷工具欄介紹

診斷流程配置工具欄如圖 5-3 所示:

圖片

圖 5-3 診斷流程配置工具欄


圖標依次從左往右為:


【1】新增診斷流程組。

【2】新增診斷流程用例。

【3】刪除選中的診斷流程組/用例。

【4】啟動(dòng)配置好的診斷流程。

【5】終端正在運行的診斷流程。

【6】鎖定/解鎖流程配置區域。如果鎖定該區域,在診斷流程區域變得不可編輯。

【7】全選/全不選診斷流程。

【8】使能設置的循環(huán)運行次數。

【9】實(shí)際運行次數顯示。


2.2 自動(dòng)化診斷流程配置步驟

在 UDS 測試流程區里,右鍵創(chuàng )建新創(chuàng )建一個(gè) UDS 流程,雙擊該流程進(jìn)入后,解鎖邏輯器,并可以設置本流程可以循環(huán)運行的次數,默認不使能循環(huán)運行。如圖 5-4。

圖片

圖 5-4 創(chuàng )建新的 UDS 流程


然后在邏輯區右鍵添加步驟或者刪除步驟,并進(jìn)一步解析管理欄中功能。如圖 5-5。

圖片

圖 5-5 診斷步驟添加與管理


【1】在左邊的管理欄中選中一個(gè)診斷流程節點(diǎn)。

【2】在右邊的編輯區域,添加、刪除、編輯診斷步驟。

【3】添加步驟后,選擇該步驟類(lèi)型。

【4】編輯步驟名稱(chēng)。

【5】選擇該步驟地址類(lèi)型,物理地址還是功能地址。

【6】配置詳細的診斷請求數據包。

【7】配置詳細的診斷應答數據包。

【8】配置本步驟結束后步驟之間的等待時(shí)間。

【9】配置本步驟發(fā)生錯誤的錯誤處理方法。


2.3 診斷步驟類(lèi)型

測試步驟中,為了增加診斷配置的靈活性,設計了 4 種類(lèi)型可供選擇,主要包含:普通步驟,選擇已有配置,種子和密鑰,測試儀在線(xiàn)。通過(guò)這 4 種類(lèi)型,基本上涵蓋了市面上所有主流的診斷流程需求,下面詳細介紹每種類(lèi)型的特點(diǎn)。如圖 5-6。

圖片

圖 5-6 診斷步驟類(lèi)型


【1】普通步驟:主要用于一些簡(jiǎn)單的請求數據和應答數據都很直接的場(chǎng)合。直接在請求服務(wù)中填入想要發(fā)送的請求數據,在應答服務(wù)中填入期望的應答報文,比如服務(wù)請求數據為【10 01】,服務(wù)應答數據為【50 01 12 34】。如圖 5-7。如果有些服務(wù)不需要響應,則可以不設置有回復。

圖片

圖 5-7 普通步驟類(lèi)型


【2】選擇已有配置:該配置設計的目的,就是讓用戶(hù)選擇在基礎診斷設置中已經(jīng)配置好的診斷服務(wù),這種方式是 TSMaster 最推薦的配置方式。選擇已有配置過(guò)程,如圖 5-8 所示。

圖片

圖 5-8 選擇已有配置


【3】種子和密鑰:種子和密鑰只需要選擇種子等級和密鑰等級參數即可,解密的 DLL 直接關(guān)聯(lián)到傳輸層參數配置載入的種子和密鑰 DLL 中,如圖 5-9 所示:

圖片

圖 5-9 種子和密鑰


對此,無(wú)論是在診斷控制臺模塊中,還是自動(dòng)診斷流程模塊,都是需要先配置好傳輸層的參數配置。


【4】測試儀在線(xiàn):為了支持更加靈活的測試需求,在自動(dòng)化流程步驟中,提供了打開(kāi)和關(guān)閉測試儀在線(xiàn)的命令選擇,以及配置該命令數據以及周期間隔:


△ 是否啟動(dòng)(start)/停止(stop)該命令,如圖 5-10:

圖片

圖 5-10 啟動(dòng)/停止測試儀在線(xiàn)命令


△ 配置測試儀在線(xiàn)的命令的數據以及周期間隔,如 5-11:

圖片

圖 5-11配置測試儀在線(xiàn)的命令


2.4 步驟間隔時(shí)間

診斷流程模塊步驟跟步驟之間的延時(shí)是可以設置的,單位為 ms,如圖 5-12:

圖片

圖 5-12 配置測試儀在線(xiàn)的命令


2.5 屬性

在屬性中,可以設置響應出錯后的以及本指令是停止還是繼續運行,如圖5-13 所示:

圖片

圖 5-13 屬性


在 TSMaster 后續產(chǎn)品規劃中,響應出錯后允許跳轉到指定的流程中(比如跳轉到擦除流程中),進(jìn)一步增加自動(dòng)運行流程模塊的靈活性。


2.6 使能步驟/位置調整

對于已經(jīng)完成配置的診斷流程步驟,用戶(hù)根據左邊的選擇框來(lái)勾選想要執行的診斷步驟。如圖 5-14。


關(guān)于執行順序調整:無(wú)論是測試用例組,測試用例還是測試用例中的具體步驟,用戶(hù)想調整相互之間執行順序的時(shí)候,直接拖拽對應的測試用例到相應位置即可。

圖片

圖 5-14 診斷流程步驟使能


3.診斷模塊的內生系統變量

在 TSMaster 新添加基礎診斷模塊后,系統變量管理器會(huì )自動(dòng)生成所有者為診斷模塊 Diagnostic 的系統變量,通過(guò)修改系統變量可以配置對應的參數。如圖5-15。

圖片

圖 5-15 診斷模塊系統變量


3.1 診斷服務(wù)通用系統變量

診斷內生的通用系統變量包含:


△ 導出工程 ExportProject:用于導出診斷工程。

△ 導入工程 ImportProject:用于導入已有的診斷工程。

△ 診斷儀在線(xiàn) TesterIsPresent:是否啟動(dòng)診斷儀在線(xiàn)命令。

△ DLC:FD 幀的最大 DLC 值,該參數只有在 FD 模式下才有效。

△ 接收連續幀最小幀間隔 STMin(R):用戶(hù)自定義接收端 STMin 參數,單位 ms。如設置為 0,表示支持以最短的事件間隔接收。

△ 發(fā)送連續幀最小幀間隔 STMin(T):用戶(hù)定義發(fā)送端 STMin 參數,單位 ms。

△ 用戶(hù)自定義連續幀最小幀間隔 User Define STMin:是否手動(dòng)定義連續幀最小幀間隔,單位 ms。

△ 填充字節 FiledByte:發(fā)送診斷幀填充字節。

△ 功能 ID 類(lèi)型 FunctionalIDType:傳輸層功能 ID 的類(lèi)型,0 是標準幀,1是擴展幀。

△ 功能 ID (FunctionalID):傳輸層功能 ID。

△ 應答 ID 類(lèi)型 ResIDType:傳輸層應答 ID 的類(lèi)型,0 是標準幀,1 是擴展幀。

△ 應答 ID (ResID):傳輸層應答 ID。

△ 請求 ID 類(lèi)型 ReqIDType:傳輸層請求 ID 的類(lèi)型,0 是標準幀,1 是擴展幀。

△ 請求 ID (ReqID):傳輸層請求 ID。

△ 總線(xiàn)類(lèi)型 BusType:設置總線(xiàn)類(lèi)型:0 代表 CAN 總線(xiàn);1 代表 CANFD總線(xiàn);2 代表 LIN 總線(xiàn);3 代表 DOIP(基于以太網(wǎng)的診斷)。

△ 通道 Chn:設置診斷模塊的通道參數,比如 0 代表通道 1,1 代表通道 2。

△ 自動(dòng)化流程進(jìn)度 UDSProgress:自動(dòng)診斷流程的實(shí)時(shí)進(jìn)度,該變量用來(lái)獲取自動(dòng)診斷流程的運行狀態(tài)。

△ 安全訪(fǎng)問(wèn)種子和密鑰 SeedAndKeyDLL:設置種子&密鑰 DLL 的絕對路徑,使用時(shí)注意轉義字符。

△ P2 擴展時(shí)間 P2Extended:設置 P2 擴展時(shí)間。

△ P2 擴展時(shí)間 P2TimeOut:設置 P2 超時(shí)時(shí)間。

△ S3 服務(wù)端時(shí)間 S3ServerTime:設置 S3 服務(wù)端時(shí)間。

△ S3 服務(wù)端時(shí)間 S3ClientTime:設置 S3 客戶(hù)端時(shí)間。


3.2 診斷服務(wù)特定系統變量 

在基礎診斷配置的復合診斷服務(wù)添加新的服務(wù)后,系統變量管理器同樣會(huì )生成對應的系統變量:服務(wù)名_DataFile,此變量為下載文件的絕對路徑,修改此變量可控制下載文件的載入與切換。如圖 5-16。

圖片

圖 5-16 下載文件路徑系統變量


此外,當載入下載文件后,系統變量控制器會(huì )根據選擇的校驗和算法生成每塊校驗和,及總校驗和,下載文件的首地址和長(cháng)度,如果已經(jīng)添加了符合診斷服務(wù),載入了下載文件,并且在基本診斷服務(wù)中關(guān)聯(lián)了下載文件相關(guān)變量,那么在替換下載文件的同時(shí),這些關(guān)聯(lián)的變量也會(huì )隨之改變,最小的工程修改實(shí)現文件的靈活切換。


3.3 自動(dòng)診斷流程的注冊系統變量

在診斷控制臺中可以根據需要靈活配置診斷服務(wù),這些診斷服務(wù)配置好后,用戶(hù)需要在診斷控制臺中雙擊啟動(dòng)該診斷服務(wù)。


如果用戶(hù)希望在 Panel 界面中或者程序中啟動(dòng)診斷流程命令,步驟如下:


【1】首先在診斷 Basic Diagnostic Config 窗體中,選中目標服務(wù),然后右鍵菜單把該診斷服務(wù)注冊為系統變量,如圖 5-17 所示:

圖片

圖 5-17 診斷服務(wù)注冊為系統變量


注冊完成后,該流程的圖標多出 3 個(gè)小彩圓,表示成為一個(gè)注冊系統變量的服務(wù),未注冊的流程為藍色圓,如圖 5-18 所示:

圖片

圖 5-18 注冊為系統變量的圖標變化


【2】注冊完成后,在系統變量管理器中,就可以看到生成系統變量_Start和_Result,如圖 5-19。

圖片

圖 5-19 注冊為系統變量的變量


其中_Start 的數值賦值為:

 0 是空閑狀態(tài)。

● 1 是正在執行狀態(tài)。

 2 是執行成功。

 3 是執行失敗。


_Result 的數值結果為:

 >0 表示啟動(dòng)診斷流程

 =0 表示中斷停止診斷流程

 <0 為非法參數。


【3】在面板Panel 中添加按鈕button控件,并關(guān)聯(lián)生成好的系統變量流程名_Start,將將按鈕按下事件設置為 1,如圖 5-20。

圖片

圖 5-20 面板按鈕控件關(guān)聯(lián)系統變量


【4】運行程序,點(diǎn)擊 Panel 的測試按鈕,將值 1 賦給流程名_Start,診斷模塊執行相應的診斷流程,實(shí)現自動(dòng)運行診斷流程。


六、診斷典型應用


1.應用 1:讀取車(chē)輛 VIN 碼

如下通過(guò)自動(dòng)診斷流程,快速配置讀取車(chē)輛 VIN 碼,一鍵執行與 ECU 交互,并對讀加 VIN 碼的參數進(jìn)行解析,診斷流程如下,如圖 6-1。

圖片

圖 6-1 面板按鈕控件關(guān)聯(lián)系統變量


其中服務(wù)指令解析如下:

【1】切換到擴展會(huì )話(huà)。

【2】seedkey 獲取權限。

【3】采用普通讀取命令,讀取車(chē)輛返回的 VIN 碼。

【4】或者是采用之前已經(jīng)配置好的命令,讀取 VIN 碼,這種方式帶數據解析。


執行的響應,正常讀取到 ECU 的 VIN 碼,同時(shí)選擇已有配置的步驟中因為帶有相應的解析信息,可以直接出讀取VIN 碼為“E8880003CED05909”。如圖6-2。

圖片

圖 6-2 讀取 VIN 碼


2.應用 2:Flash Bootloader 流程

本文設計了一個(gè)簡(jiǎn)單的 Bootloader 流程來(lái)說(shuō)明如何基于 TSMaster 診斷模塊配置一個(gè) Flash Bootloader 流程。


2.1 Flash Bootloader 流程

首先設計 FashBootloader 流程,可以根據不同 ECU 的實(shí)際設計規范進(jìn)行調整,通常分為三個(gè)階段,分別為預編程階段(灰色),主編程階段(紫色)和后編程階段(藍色),如圖 6-3。

圖片

圖 6-3 設計 FashBootloader 流程


2.2 配置刷寫(xiě)例程

△ 預編程階段:


【1】首先創(chuàng )建 UDS 流程:注意切換編輯器為解鎖狀態(tài),否則無(wú)法添加新的流程步驟。如圖 6-4。

圖片

圖 6-4 解鎖編輯器


【2】對于流程圖所示的切換擴展會(huì )話(huà),關(guān)閉 DTC,關(guān)閉接收控制等命令,直接配置普通步驟類(lèi)型的命令即可。如圖 6-5。

圖片

圖 6-5 切換擴展會(huì )話(huà)、關(guān)閉 DTC 和接收


【3】基于讀取 ID:F188 位置處的數據,并判斷該數據是否等于比 SN123456。如果符合,則判斷零件號匹配,進(jìn)入下一個(gè)步驟,否則退出流程。


方式 1:使用普通步驟配置形式,如圖 6-6:

圖片

圖 6-6 普通步驟讀取 DID F188 零件號


方式 2:在 BasicConfig 中配置好,然后在流程中使用選擇已有配置,如圖6-7:

圖片

圖 6-7 選擇已有配置讀取 DID F188 零件號


△ 主編程階段:

【4】切換到編程會(huì )話(huà),進(jìn)入主編程階段,如圖 6-8。

圖片

圖 6-8 切換到編程會(huì )話(huà)


【5】添加種子和密鑰步驟,解鎖 ECU,如圖 6-9:

圖片

圖 6-9 種子和密鑰步驟


【6】獲取權限后,在 IDF190 處寫(xiě)入字符串“SN1234”,對于這種固定寫(xiě)入的字符串,可以使用普通步驟直接配置,如圖 6-10:

圖片

圖 6-10 IDF190 處寫(xiě)入字符串


【7】添加 FlashDriver/應用程序文件流程。首先在基礎診斷配置添加 FlashDriver 和應用程序文件,如圖 6-11:

圖片

圖 6-11 基礎診斷配置添加 FlashDriver 文件


然后在自動(dòng)診斷流程中選擇相應的已有配置,選擇創(chuàng )建好的組合下載服務(wù)。如圖6-12。

圖片

圖 6-12 選擇已有的組合下載服務(wù)


【8】采用例程控制擦除 Flash。通過(guò)診斷基礎設置配置好后擦除指令,將起始地址和數據長(cháng)度的系統變量,通過(guò)系統變量的方式添加請求參數,如圖 6-13:

圖片

圖 6-13 診斷基礎配置擦除指令


然后通過(guò)選擇已有配置加入到流程中。如圖 6-14。

圖片

圖 6-14 例程控制擦除 Flash


【9】重啟 ECU,需要注意的是 ECUReset 到重新開(kāi)始診斷,步驟之間的等待時(shí)間需根據 ECU 設計規范調節,比如設置為 1000ms。如圖6-15。

圖片

圖 6-15 重啟ECU


△ 后編程階段:


【10】切換會(huì )默認會(huì )話(huà),COM 控制,DTC 控制等操作,使用變通步驟添加即可。如圖 6-16。

圖片

圖 6-16 后編程階段


2.3 完成流程配置與一鍵運行

在完成配置后,總的配置流程如圖 6-17 所示。

圖片

圖 6-17 完成 FashBootloader 配置流程


通過(guò)按鈕一鍵執行自動(dòng)診斷流程,當每個(gè)步驟都是正響應,會(huì )顯示為綠色,如圖 6-18:

圖片

圖 6-18 一鍵執行自動(dòng)診斷流程


基于 TSMaster 的診斷模塊,實(shí)現零代碼方式,開(kāi)發(fā)診斷流程如 Bootloader等應用成為一個(gè)非常簡(jiǎn)單快速的事情。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: TSMaster UDS診斷 操作指南

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>