国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

環境搭建

ENVIRONMENT SETUP

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

01

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

硬件環境:

上位機:PEAK PCAN

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

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

02

Python環境:下載地址: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層關鍵字方法

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數據"        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數據        row_value1 = sheet.row_values(0)  # 獲取第1行的標題        nrows = sheet.nrows  # 獲取當前sheet行數        ncols = sheet.ncols  # 獲取當前sheet列數        for i in range(1, nrows):  # 從第2行遍歷當前sheet            row = sheet.row_values(i)  # 獲取行數據            dict = {}  # 創建空字典            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]  # 從第一列開始,將每一列的數據與第1行的數據組成一個鍵值對,形成字典            list.append(dict)  # 將字典添加list中        return list
    def set_can(self, txid, rxid):        """can總線相關配置"""        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表示用于填充發送的消息的字節。            'rx_flowcontrol_timeout': 1000,  # 在停止接收和觸發之前等待流控制幀的毫秒數            'rx_consecutive_frame_timeout': 1000,  # 在停止接收和觸發 a 之前等待連續幀的毫秒數        }        try:            self.canbus = PcanBus(channel='PCAN_USBBUS1', bitrate=500000)  # CAN總線初始化            self.tp_addr = isotp.Address(isotp.AddressingMode.Normal_29bits, txid=txid, rxid=rxid)  # 網絡層尋址方法            tp_stack = isotp.CanStack(bus=self.canbus, address=self.tp_addr, params=isotp_params)  # 網絡/傳輸層(IsoTP 協議)            self.conn = PythonIsoTpConnection(tp_stack)  # 應用層和傳輸層之間建立連接
        except:            print(sys.exc_info()[1])        else:            print('CAN配置成功')
    def uds_request_respond(self, request_command):        """發送uds請求和接收uds響應"""        if not isinstance(request_command, str):  # 判斷request_command數據類型            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)  # 發送uds請求        except:            print("發送請求失敗")        else:            print('UDS發送請求:%s' % request_command)
        try:            respPdu = self.conn.specific_wait_frame(timeout=3)  # 接收uds響應        except:            print('響應數據失敗')        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響應結果:%s' % respond)            self.conn.close()  # 關閉連接            self.canbus.shutdown()  # 關閉總線            return respond.strip()

03

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

04

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

    關注

    9

    文章

    6208

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    一體車載測試實現多協議數據零丟包

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

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

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

    汽車CAN/以太網一體測試板:多協議車載測試解決方案

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

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

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

    PEAK解決方案

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

    官方新品 | PCAN-Explorer 7發布:帶來Python腳本與靈活授權新體驗

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

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

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

    UDS診斷協議:汽車電子系統的“通用語言”

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

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

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

    【CPKCOR-RA8D1】+ 5. 使用RA8D1實現UDS診斷協議14229

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

    新聞 | 再獲行業認可!IO-Link模塊榮獲維科杯·OFweek 2025工業自動化「優秀產品獎」

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

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

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

    車機交互測試自動化實現路徑與案例分析

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

    盟通方案|如何集成UDS協議

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