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

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

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

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

虹科分享|使用PEAK CAN卡實(shí)現(xiàn)UDS診斷自動(dòng)化測(cè)試

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

掃碼添加小助手

加入工程師交流群

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

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

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)境:

上位機(jī):PEAK PCAN

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

②下位機(jī):ECM(發(fā)動(dòng)機(jī)控制模塊)

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

項(xiàng)目介紹

PROJECT INTRODUTION

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

01

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

10??3E:L2層robot測(cè)試用例

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

UDS_TestReport.zip:自動(dòng)化測(cè)試報(bào)告

udstest.py:python封裝自定義uds測(cè)試方法

UDSTestcase.xlsx:UDS診斷測(cè)試用例

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行的標(biāo)題        nrows = sheet.nrows  # 獲取當(dāng)前sheet行數(shù)        ncols = sheet.ncols  # 獲取當(dāng)前sheet列數(shù)        for i in range(1, nrows):  # 從第2行遍歷當(dāng)前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]  # 從第一列開(kāi)始,將每一列的數(shù)據(jù)與第1行的數(shù)據(jù)組成一個(gè)鍵值對(duì),形成字典            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,  # 流控幀間隔時(shí)間,0-127ms 或 100-900ns 值從 0xF1-0xF9            'blocksize': 0,  # 流控幀單包大小,0表示不限制            'tx_padding': 0,  # 當(dāng) 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)絡(luò)層尋址方法            tp_stack = isotp.CanStack(bus=self.canbus, address=self.tp_addr, params=isotp_params)  # 網(wǎng)絡(luò)/傳輸層(IsoTP 協(xié)議)            self.conn = PythonIsoTpConnection(tp_stack)  # 應(yīng)用層和傳輸層之間建立連接
        except:            print(sys.exc_info()[1])        else:            print('CAN配置成功')
    def uds_request_respond(self, request_command):        """發(fā)送uds請(qǐng)求和接收uds響應(yīng)"""        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()  # 打開(kāi)連接        try:            self.conn.specific_send(requestPdu)  # 發(fā)送uds請(qǐng)求        except:            print("發(fā)送請(qǐng)求失敗")        else:            print('UDS發(fā)送請(qǐng)求:%s' % request_command)
        try:            respPdu = self.conn.specific_wait_frame(timeout=3)  # 接收uds響應(yīng)        except:            print('響應(yīng)數(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響應(yīng)結(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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 測(cè)試
    +關(guān)注

    關(guān)注

    9

    文章

    6227

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

    CANoe診斷控制臺(tái)如何發(fā)送CAN診斷命令#CANoe #診斷自動(dòng)化測(cè)試

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

    PEAK解決方案

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

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

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

    CAN(FD)總線十萬(wàn)個(gè)為什么》之UDS診斷(下)

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

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

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

    CAN(FD)總線十萬(wàn)個(gè)為什么》之UDS診斷(上)

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

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

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

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

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

    自動(dòng)化測(cè)試平臺(tái)ATECLOUD推出AI算法功能

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

    車機(jī)交互測(cè)試自動(dòng)化實(shí)現(xiàn)路徑與案例分析

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

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

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