一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(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)絡(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請求和接收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()  # 打開連接        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響應(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 測試
    +關(guān)注

    關(guān)注

    8

    文章

    5706

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

    通用自動化測試軟件 - TAE

    INTEWORK-TAE(Test Automation Executor) 是一款通用的測試用例自動化執(zhí)行框架,用于汽車電子自動化測試,可支持仿真( MIL/SIL/HIL)、故障注
    的頭像 發(fā)表于 01-02 13:42 ?737次閱讀
    通用<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>軟件 - TAE

    SOVD(面向服務(wù)的汽車診斷測試范圍講解診斷自動化測試 #SOA #診斷自動化測試

    自動化測試
    北匯信息POLELINK
    發(fā)布于 :2024年12月26日 18:25:28

    CAN總線在工業(yè)自動化中的作用

    CAN(Controller Area Network)總線在工業(yè)自動化中發(fā)揮著至關(guān)重要的作用。它是一種高效的現(xiàn)場總線系統(tǒng),以其高速、可靠和靈活的特點,成為連接工業(yè)自動化系統(tǒng)中各種設(shè)備的優(yōu)選方案
    的頭像 發(fā)表于 12-23 09:12 ?1433次閱讀

    活動回顧 | 波形診斷開放日-上海站圓滿落幕!

    Pico開放日,你可以收獲哪些有趣的體驗吧!Pico產(chǎn)品展示這里有Pico全系列產(chǎn)品展示,包括四通道示波器主機、壓力傳感器、NVH套裝、毫歐與電機
    的頭像 發(fā)表于 12-07 01:04 ?556次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>活動回顧 | 波形<b class='flag-5'>診斷</b>開放日-上海站圓滿落幕!

    CAN總線在工業(yè)自動化中的應(yīng)用

    CAN總線作為一種高效的現(xiàn)場總線系統(tǒng),已經(jīng)在工業(yè)自動化領(lǐng)域得到了廣泛的應(yīng)用。 1. 引言 隨著工業(yè)自動化技術(shù)的快速發(fā)展,對通信系統(tǒng)的要求也越來越高。CAN總線以其高速、可靠和靈活的特點
    的頭像 發(fā)表于 11-12 09:45 ?2443次閱讀

    網(wǎng)絡(luò)及診斷自動化測試軟件集成方案

    本方案是對北匯信息提供的CAN/CANFD/CANXL/LIN/FlexRay總線網(wǎng)絡(luò)及診斷測試解決方案的進一步補充和優(yōu)化,雖然此測試系統(tǒng)方案的結(jié)構(gòu)和接口采用模塊
    的頭像 發(fā)表于 10-17 08:04 ?966次閱讀
    網(wǎng)絡(luò)及<b class='flag-5'>診斷</b><b class='flag-5'>自動化</b><b class='flag-5'>測試</b>軟件集成方案

    新合作啟航,服務(wù)如初!與HMS及PEAK合作升級

    ”)大家庭的一員。作為PEAK在中國區(qū)的唯一官方指定代理商,這一戰(zhàn)略性的并購不僅標志著PEAK邁入了一個嶄新的發(fā)展階段,更為開啟了全新的發(fā)展機遇與篇章。聯(lián)袂起航,共創(chuàng)
    的頭像 發(fā)表于 10-12 08:00 ?763次閱讀
    新合作啟航,服務(wù)如初!<b class='flag-5'>虹</b><b class='flag-5'>科</b>與HMS及<b class='flag-5'>PEAK</b>合作升級

    高效集成!CAN/CAN FD通信與數(shù)字信號控制一體

    導讀在汽車電子和工業(yè)自動化領(lǐng)域中,CAN/CANFD通信技術(shù)因其高可靠性和靈活性被廣泛應(yīng)用。本文將探討一種創(chuàng)新的解決方案,即通過CAN
    的頭像 發(fā)表于 09-12 08:00 ?2038次閱讀
    高效集成!<b class='flag-5'>CAN</b>/<b class='flag-5'>CAN</b> FD通信與數(shù)字信號控制一體<b class='flag-5'>化</b>

    科展會丨再赴工博之約,來看玩轉(zhuǎn)自動化科技!

    才感盛夏,忽而已秋,2024中國國際工業(yè)博覽會(IAS工業(yè)自動化展)也即將拉開帷幕!IAS以裝備制造為重點,以數(shù)字制造、綠色制造、服務(wù)制造為特色,不僅成為了展示工業(yè)自動化領(lǐng)域最前沿科技成果的重要窗口
    的頭像 發(fā)表于 09-03 08:00 ?469次閱讀
    <b class='flag-5'>虹</b>科展會丨再赴工博之約,來看<b class='flag-5'>虹</b><b class='flag-5'>科</b>玩轉(zhuǎn)<b class='flag-5'>自動化</b>科技!

    開關(guān)電源自動化測試設(shè)備:如何實現(xiàn)自動化測試?

    開關(guān)電源自動化測試設(shè)備是將測試軟件和測試硬件集成在一個電源測試柜中的ate自動測試設(shè)備,其
    的頭像 發(fā)表于 08-30 18:19 ?1823次閱讀
    開關(guān)電源<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>設(shè)備:如何<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>自動化</b><b class='flag-5'>測試</b>?

    方案 領(lǐng)航智能交通革新:PEAK智行定位車控系統(tǒng)Demo版亮相

    導讀: 在智能汽車技術(shù)發(fā)展浪潮中,車輛控制系統(tǒng)的智能、網(wǎng)絡(luò)已成為行業(yè)發(fā)展的必然趨勢。PEAK智行定位車控系統(tǒng),集成了尖端科技,能夠
    的頭像 發(fā)表于 08-27 09:28 ?563次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>方案  領(lǐng)航智能交通革新:<b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>PEAK</b>智行定位車控系統(tǒng)Demo版亮相

    車載以太網(wǎng)自動化測試套件—AETP.UDS

    AETP.UDS是專為車載以太網(wǎng)UDS測試設(shè)計的自動化測試套件,旨在測試ECU對ISO 1422
    的頭像 發(fā)表于 08-21 11:57 ?1378次閱讀
    車載以太網(wǎng)<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>套件—AETP.<b class='flag-5'>UDS</b>

    車載以太網(wǎng)自動化測試套件—AETP.UDS

    AETP.UDS是專為車載以太網(wǎng)UDS測試設(shè)計的自動化測試套件,旨在測試ECU對ISO 1422
    的頭像 發(fā)表于 08-15 15:07 ?560次閱讀
    車載以太網(wǎng)<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>套件—AETP.<b class='flag-5'>UDS</b>