91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

虹科分享|使用PEAK CAN卡實現(xiàn)UDS診斷自動化測試

虹科汽車電子 ? 2022-02-07 15:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

313b3ace-8058-11ec-9e9d-dac502259ad0.png

此文章轉(zhuǎn)載自“博客園”作者:瘋狂的機器人

3147e3dc-8058-11ec-9e9d-dac502259ad0.png

3152581c-8058-11ec-9e9d-dac502259ad0.png3160b844-8058-11ec-9e9d-dac502259ad0.png

環(huán)境搭建

ENVIRONMENT SETUP

316c3e08-8058-11ec-9e9d-dac502259ad0.png31765852-8058-11ec-9e9d-dac502259ad0.png

01

317dace2-8058-11ec-9e9d-dac502259ad0.png

硬件環(huán)境:

上位機:PEAK PCAN

PCAN-USB驅(qū)動:【虹科】帶您了解PCAN如何獲取驅(qū)動以及如何接線

②下位機:ECM(發(fā)動機控制模塊)

02

Python環(huán)境:下載地址:https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exepip3 install robotframework==3.2.2pip3 install robotframework-ride==1.7.4.2pip3 install xlrd==1.2.0pip3 install udsoncan==1.14pip3 install python-can==3.3.4pip3 install can-isotp==1.7

3152581c-8058-11ec-9e9d-dac502259ad0.png3160b844-8058-11ec-9e9d-dac502259ad0.png

項目介紹

PROJECT INTRODUTION

316c3e08-8058-11ec-9e9d-dac502259ad0.png31765852-8058-11ec-9e9d-dac502259ad0.png

01

31daec7c-8058-11ec-9e9d-dac502259ad0.png文件目錄:

10??3E:L2層robot測試用例

Public.robot:L1層關(guān)鍵字方法

UDS_TestReport.zip:自動化測試報告

udstest.py:python封裝自定義uds測試方法

UDSTestcase.xlsx:UDS診斷測試用例

02

udstest.py
# _*_ coding:utf-8 _*_
from can.interfaces.pcan.pcan import PcanBusfrom udsoncan.connections import PythonIsoTpConnectionimport xlrd, os, udsoncan, isotp, sys, binascii

class udstest(object):    def __init__(self):        udsoncan.setup_logging()  # udslog
    def get_xlsx(self, sheet):        "獲取指定Excel數(shù)據(jù)"        excel = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'UDSTestcase.xlsx')  # 獲取用例文件路徑        file = xlrd.open_workbook(excel)        list = []        sheet = file.sheet_by_name(sheet)  # 獲得指定sheet數(shù)據(jù)        row_value1 = sheet.row_values(0)  # 獲取第1行的標題        nrows = sheet.nrows  # 獲取當前sheet行數(shù)        ncols = sheet.ncols  # 獲取當前sheet列數(shù)        for i in range(1, nrows):  # 從第2行遍歷當前sheet            row = sheet.row_values(i)  # 獲取行數(shù)據(jù)            dict = {}  # 創(chuàng)建空字典            for j in range(0, ncols):  # 遍歷sheet列,組成字典                if row_value1[j] == 'NO.':                    dict[row_value1[j]] = int(row[j])                else:                    dict[row_value1[j]] = row[j]  # 從第一列開始,將每一列的數(shù)據(jù)與第1行的數(shù)據(jù)組成一個鍵值對,形成字典            list.append(dict)  # 將字典添加list中        return list
    def set_can(self, txid, rxid):        """can總線相關(guān)配置"""        if isinstance(txid, str) or isinstance(rxid, str):            txid = eval(txid)            rxid = eval(rxid)        isotp_params = {            'stmin': 5,  # 流控幀間隔時間,0-127ms 或 100-900ns 值從 0xF1-0xF9            'blocksize': 0,  # 流控幀單包大小,0表示不限制            'tx_padding': 0,  # 當 notNone表示用于填充發(fā)送的消息的字節(jié)。            'rx_flowcontrol_timeout': 1000,  # 在停止接收和觸發(fā)之前等待流控制幀的毫秒數(shù)            'rx_consecutive_frame_timeout': 1000,  # 在停止接收和觸發(fā) a 之前等待連續(xù)幀的毫秒數(shù)        }        try:            self.canbus = PcanBus(channel='PCAN_USBBUS1', bitrate=500000)  # CAN總線初始化            self.tp_addr = isotp.Address(isotp.AddressingMode.Normal_29bits, txid=txid, rxid=rxid)  # 網(wǎng)絡層尋址方法            tp_stack = isotp.CanStack(bus=self.canbus, address=self.tp_addr, params=isotp_params)  # 網(wǎng)絡/傳輸層(IsoTP 協(xié)議)            self.conn = PythonIsoTpConnection(tp_stack)  # 應用層和傳輸層之間建立連接
        except:            print(sys.exc_info()[1])        else:            print('CAN配置成功')
    def uds_request_respond(self, request_command):        """發(fā)送uds請求和接收uds響應"""        if not isinstance(request_command, str):  # 判斷request_command數(shù)據(jù)類型            request_command = str(int(request_command))        requestPdu = binascii.a2b_hex(request_command.replace(' ', ''))  # 處理request_command        if not self.conn.is_open():            self.conn.open()  # 打開連接        try:            self.conn.specific_send(requestPdu)  # 發(fā)送uds請求        except:            print("發(fā)送請求失敗")        else:            print('UDS發(fā)送請求:%s' % request_command)
        try:            respPdu = self.conn.specific_wait_frame(timeout=3)  # 接收uds響應        except:            print('響應數(shù)據(jù)失敗')        else:            res = respPdu.hex().upper()            respond = ''            for i in range(len(res)):                if i % 2 == 0:                    respond += res[i]                else:                    respond += res[i] + ' '            print('UDS響應結(jié)果:%s' % respond)            self.conn.close()  # 關(guān)閉連接            self.canbus.shutdown()  # 關(guān)閉總線            return respond.strip()

03

UDSTestcase.xlsx31ee3df4-8058-11ec-9e9d-dac502259ad0.png?

04

UDS_TestReport31fcc2d4-8058-11ec-9e9d-dac502259ad0.png
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 測試
    +關(guān)注

    關(guān)注

    9

    文章

    6215

    瀏覽量

    131383
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    答疑 | 如何快速上手CAN診斷儀?10分鐘從開機到實戰(zhàn)

    CAN總線通信的穩(wěn)定運行直接影響設備性能——而排查總線故障、解析報文數(shù)據(jù),往往需要一款兼顧專業(yè)性與易用性的診斷工具。本期答疑,我們將介紹一款備受客戶信賴的手持式
    的頭像 發(fā)表于 02-11 17:01 ?565次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>答疑 | 如何快速上手<b class='flag-5'>CAN</b><b class='flag-5'>診斷</b>儀?10分鐘從開機到實戰(zhàn)

    一體車載測試實現(xiàn)多協(xié)議數(shù)據(jù)零丟包

    在智能網(wǎng)聯(lián)汽車開發(fā)中,CAN FD與車載以太網(wǎng)多協(xié)議并發(fā)的測試場景日益普遍,但傳統(tǒng)分散式測試設備常因系統(tǒng)集成復雜、數(shù)據(jù)處理能力不足導致數(shù)據(jù)丟包、延遲波動,影響測試準確性。面對這一挑戰(zhàn),
    的頭像 發(fā)表于 02-05 17:00 ?498次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>一體<b class='flag-5'>化</b>車載<b class='flag-5'>測試</b><b class='flag-5'>實現(xiàn)</b>多協(xié)議數(shù)據(jù)零丟包

    HK-CoreTest:專業(yè)的CAN/CAN FD總線測試軟件,高效易用

    面對汽車電子開發(fā)中復雜的車載網(wǎng)絡測試需求,如何選擇一款功能全面、操作便捷的CAN/CAN FD測試軟件?
    的頭像 發(fā)表于 12-29 13:20 ?443次閱讀

    汽車CAN/以太網(wǎng)一體測試板:多協(xié)議車載測試解決方案

    隨著汽車電子架構(gòu)向域控制器演進,車載網(wǎng)絡測試面臨著CAN(FD)與以太網(wǎng)多協(xié)議并發(fā)的挑戰(zhàn)。傳統(tǒng)分散式測試設備需組合多個獨立模塊,存在系統(tǒng)復雜、數(shù)據(jù)同步難、成本高等痛點。
    的頭像 發(fā)表于 12-29 13:15 ?269次閱讀

    CANoe診斷控制臺如何發(fā)送CAN診斷命令#CANoe #診斷自動化測試

    自動化
    北匯信息POLELINK
    發(fā)布于 :2025年12月19日 17:12:11

    PEAK解決方案

    PEAK解決方案
    發(fā)表于 12-19 14:45 ?0次下載

    官方新品 | PCAN-Explorer 7發(fā)布:帶來Python腳本與靈活授權(quán)新體驗

    全新PCAN-Explorer7軟件,以對CAN、CANFD及新一代CANXL標準的全維度適配,融合創(chuàng)新的自動化能力與人性交互,為CAN領(lǐng)域從業(yè)者帶來跨越性的工作
    的頭像 發(fā)表于 12-05 11:03 ?964次閱讀
    官方新品 | <b class='flag-5'>虹</b><b class='flag-5'>科</b>PCAN-Explorer 7發(fā)布:帶來Python腳本與靈活授權(quán)新體驗

    CAN(FD)總線十萬個為什么》之UDS診斷(下)

    在汽車電子診斷領(lǐng)域,UDS協(xié)議的傳輸層由ISO-15765標準定義。這一標準確保了即使在數(shù)據(jù)量較大的情況下,也能高效、準確地傳輸診斷信息。今天,我們將深入探討ISO-15765協(xié)議的傳輸機制。
    的頭像 發(fā)表于 11-06 11:36 ?595次閱讀
    《<b class='flag-5'>CAN</b>(FD)總線十萬個為什么》之<b class='flag-5'>UDS</b><b class='flag-5'>診斷</b>(下)

    UDS診斷協(xié)議:汽車電子系統(tǒng)的“通用語言”

    (Unified Diagnostic Services)。作為ISO 14229標準的核心,UDS為汽車電子診斷提供了一套標準的語言,使診斷工具能夠與車輛內(nèi)的所有控制單元“對話”。
    的頭像 發(fā)表于 11-05 12:13 ?2779次閱讀

    CAN(FD)總線十萬個為什么》之UDS診斷(上)

    在汽車電子的世界里,UDS診斷協(xié)議如同一把神奇的鑰匙,為工程師和維修人員打開了通往車輛“心臟”的大門。今天,就讓我們一起揭開UDS診斷的神秘面紗,探索其在汽車電子行業(yè)中的重要角色。
    的頭像 發(fā)表于 11-05 11:35 ?495次閱讀
    《<b class='flag-5'>CAN</b>(FD)總線十萬個為什么》之<b class='flag-5'>UDS</b><b class='flag-5'>診斷</b>(上)

    【CPKCOR-RA8D1】+ 5. 使用RA8D1實現(xiàn)UDS診斷協(xié)議14229

    上一節(jié)中,我已經(jīng)使用RA8D1實現(xiàn)了基于CANFD的DBC協(xié)議解析,解釋了整車廠的dbc文件。本節(jié)來點高端的干貨,使用RA8D1實現(xiàn)UDS診斷協(xié)議。 終于拿到CANoe了,10多萬的儀
    發(fā)表于 10-22 18:53

    新聞 | 再獲行業(yè)認可!IO-Link模塊榮獲維科杯·OFweek 2025工業(yè)自動化「優(yōu)秀產(chǎn)品獎」

    近日,在備受業(yè)界矚目的「維科杯·OFweek2025中國工業(yè)自動化與數(shù)字行業(yè)年度評選」中,IO-LinkOEM嵌入式開發(fā)模塊憑借技術(shù)創(chuàng)新與應用價值,榮獲「優(yōu)秀產(chǎn)品獎」。頒獎理由
    的頭像 發(fā)表于 08-05 17:32 ?1187次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>新聞 | 再獲行業(yè)認可!<b class='flag-5'>虹</b><b class='flag-5'>科</b>IO-Link模塊榮獲維科杯·OFweek 2025工業(yè)<b class='flag-5'>自動化</b>「優(yōu)秀產(chǎn)品獎」

    自動化測試平臺ATECLOUD推出AI算法功能

    作為納米軟件自主研發(fā)的自動化測試平臺,ATECLOUD 始終致力于為用戶提供高效優(yōu)質(zhì)的測試解決方案。面對5G、AI等前沿技術(shù)的迭代發(fā)展,平臺深度融合新技術(shù)持續(xù)升級測試能力,最新推出的A
    的頭像 發(fā)表于 07-22 16:10 ?819次閱讀
    <b class='flag-5'>自動化</b><b class='flag-5'>測試</b>平臺ATECLOUD推出AI算法功能

    車機交互測試自動化實現(xiàn)路徑與案例分析

    測試設備是車機交互測試自動化實現(xiàn)的核心支撐,通過合理選型、部署和應用北京沃華慧通測控技術(shù)有限公司汽車測試設備,結(jié)合科學的
    的頭像 發(fā)表于 07-10 09:24 ?1400次閱讀
    車機交互<b class='flag-5'>測試</b><b class='flag-5'>自動化</b><b class='flag-5'>實現(xiàn)</b>路徑與案例分析

    盟通方案|如何集成UDS協(xié)議

    UDS診斷協(xié)議廣泛應用于汽車、重等領(lǐng)域的設備診斷和固件更新。該協(xié)議主要針對全車ECU進行標準的數(shù)據(jù)交互。
    的頭像 發(fā)表于 06-06 14:06 ?714次閱讀
    盟通方案|如何集成<b class='flag-5'>UDS</b>協(xié)議