TSMaster開發從入門到精通

楊金升 劉矗 劉功申

  • 出版商: 清華大學
  • 出版日期: 2024-08-01
  • 定價: $599
  • 售價: 8.5$509
  • 語言: 簡體中文
  • ISBN: 7302667195
  • ISBN-13: 9787302667193
  • 下單後立即進貨 (約2週~3週)

  • TSMaster開發從入門到精通-preview-1
  • TSMaster開發從入門到精通-preview-2
  • TSMaster開發從入門到精通-preview-3
TSMaster開發從入門到精通-preview-1

商品描述

"本書遵循由淺入深的原則,將內容分為三部分,共三篇。基礎篇首先介紹車載網絡的相關知識,接著介紹TSMaster開發環境和常見功能的使用,以便初學者掌握使用TSMaster進行一般的總線模擬、測試和分析; 入門篇首先引導讀者開發第一個TSMaster模擬工程,接著結合實例重點介紹總線數據庫、面板設計,以及C小程序設計; 進階篇結合廣大開發工程師可能面臨的技術難題,由簡單到復雜地介紹一些典型實例,以提高讀者的實戰技術。 本書既可作為普通高等院校車輛工程、電子信息、電氣工程、自動控制等相關專業師生的參考資料,也可作為從事汽車電子軟硬件開發及測試等工作的人員的工具書。 "

目錄大綱

 

 

 

前言

 

 

 

過去幾年間中國大地上的自主汽車品牌風起雲涌,快速崛起,新能源汽車的銷量不斷攀升,吸引著越來越多的新鮮血液加入汽車行業,特別是在智能駕駛等相關領域。

 

距離筆者出版《CANoe開發從入門到精通》已四年有餘,其間得到了很多讀者的肯定和鼓勵,也聽到來自各方面的呼聲,促使筆者有再寫一兩本汽車技術類圖書的沖動。中國汽車的迅猛發展,從業人員的不斷增加,也帶動著國內工程軟件的發展。其間就涌現出一款非常優秀的汽車網絡工程軟件——TSMaster。TSMaster的橫空出世,讓廣大汽車開發人員眼前一亮,瞬間產生了民族自豪感。

 

本書結構

 

本書作為《CANoe開發從入門到精通》的姊妹篇,在整體結構上有很多相似之處。本書遵循由淺入深的原則,將內容分為三部分: 第一部分為基礎篇,首先介紹車載網絡的相關知識,接著介紹TSMaster的開發環境和常見功能的使用,初學者可以掌握如何使用TSMaster進行一般的總線模擬、測試和分析; 第二部分為入門篇,首先引導讀者開發第一個TSMaster模擬工程,接著重點介紹總線數據庫、面板設計、C腳本編程基礎,並結合實例來講解; 第三部分為進階篇,結合廣大開發工程師可能面臨的技術難題,由簡單到復雜地介紹一些典型實例,涉及測試、診斷、標定及自動化控制等應用,提高讀者的實戰技術。

 

關於本書中的代碼

 

讀者可以掃描封底刮刮卡內二維碼,獲得權限,再掃描下方二維碼下載相關源代碼。

 

 

 

 

下載源碼

 

 

 

各章節的TSMaster的工程文件、所有代碼主要基於TSMaster 32bit,已經在以下版本中測試並驗證通過。

 

 TSMaster v2024.03.05.1077或以上

 

 Python3.8.5 32bit

 

 Visual Studio 2019(代碼調試)

 

 Visual Studio Code Version 2.80.2(Python外部編輯器)

 

本書附帶的資源壓縮包中包含相關的源代碼及附送的其他資料文件,各章的文件夾架構說明如下。

 

/Chapter_xx/Source——本章工程源代碼

 

/Chapter_xx/_Doc——本章相關資源(如文檔、圖片、模板等)

 

/Chapter_xx/_SimEnv——本章工程的模擬測試環境(如待測ECU模擬器、待測環境)

 

本書目標讀者

 

(1) 汽車行業的軟硬件研發人員。

 

(2) 汽車行業的測試驗證人員。

 

(3) 汽車電子相關專業的高校師生。

 

(4) 想從事汽車電子開發和測試的工程師。

 

如何使用本書

 

(1) 建議初學者由前往後閱讀,盡量不要跳躍。

 

(2) 對於有一定TSMaster使用經驗的讀者,可以跳過第一部分,直接學習後面兩部分的章節。

 

(3) 對於已經擁有相關硬件的讀者,書中的實例可以上機動手實踐,學習效果更好。

 

(4) 對於目前沒有相關硬件的讀者,在大部分章節中可以使用虛擬通道直接實踐。

 

(5) 對於個別需要特定的硬件或授權的章節,讀者可以聯繫上海同星智能科技有限公司申請試用。

 

 

 

 

 

 

 

 

前言

 

 

 

 

 

TSMaster開發從入門到精通

 

 

 

本書的約定

 

本書所有的插圖大多基於TSMaster軟件的默認皮膚風格,由於TSMaster軟件更新較頻繁,可能少量插圖與最新版本的頁面有所差異。另外在汽車行業中,由於習慣,有些專業術語名稱,此處特別說明如下。

 

(1) 車載網絡、車載總線、汽車總線、汽車網絡在本書中一般指同一個概念。

 

(2) 模擬工程、工程配置文件在本書中一般都是指TSMaster的工程文件。

 

(3) 開始測量、連接硬件、啟動模擬、運行工程等在書中一般指的是啟動運行TSMaster模擬工程。

 

(4) CANFD、CAN FD、CANFD在本書中一般指同一個概念。

 

(5) 報文(Frame/Message)、幀(Frame)、消息(Message)在汽車網絡標準中一般指同一個概念。

 

致謝

 

在本書創作過程中,得到了來自家人、朋友、同事及出版社的鼓勵和支持,在此表示衷心的感謝。特別感謝上海同星智能科技有限公司總裁莫莽的鼓勵和支持,謝樂寅、徐金鵬等在技術上不吝賜教,使本書得以順利完成。同時,感謝龔龍峰在以往的技術交流中給予我們的支持和幫助。

 

本書雖經多次審稿修訂,但限於作者的水平和條件,不足和疏漏之處在所難免,衷心希望讀者批評和指正,使之得以不斷提高和完善。

 

歡迎讀者通過清華大學出版社網站www.tup.tsinghua.edu.cn與我們聯系,提出寶貴建議,共同進步。另外歡迎讀者通過郵箱與我們聯系,也可以加入QQ技術交流群,與我們進一步交流,共同進步。請掃描下方二維碼查看作者郵箱與QQ群號。

 

 

 

郵箱與QQ群

 

 

 

謹以此書獻給正在崛起的中國汽車工業!

 

 

作者2024年3月於蘇州

 

 

 

 

 

 

 

 

 

目錄

 

 

第一部分基礎篇

 

第1章車載網絡基礎知識

 

1.1車載網絡的起源

 

1.2CAN總線概述

 

1.2.1CAN總線簡史

 

1.2.2CAN總線特點

 

1.2.3CAN總線主要應用

 

1.2.4CANFD協議簡介

 

1.2.5CANXL協議簡介

 

1.3LIN總線概述

 

1.3.1LIN總線簡史

 

1.3.2LIN總線特點

 

1.3.3LIN總線主要應用

 

1.4FlexRay總線概述

 

1.4.1FlexRay總線簡史

 

1.4.2FlexRay總線特點

 

1.4.3FlexRay總線主要應用

 

1.5主要車載網絡簡介

 

1.6車載網絡發展趨勢

 

第2章TSMaster概述

 

2.1TSMaster簡介

 

2.2TSMaster安裝

 

2.2.1系統配置要求

 

2.2.2下載路徑

 

2.2.3自動更新

 

2.2.4安裝過程

 

2.3關於TSMaster授權

 

第3章TSMaster開發環境簡介

 

3.1用戶界面簡介

 

3.2TSMaster主菜單

 

3.2.1菜單選項

 

3.2.2新建工程

 

3.3功能區

 

3.3.1分析功能區

 

3.3.2硬件功能區

 

3.3.3程序功能區

 

3.3.4模擬功能區

 

3.3.5測試功能區

 

3.3.6應用功能區

 

3.3.7工程功能區

 

3.3.8工具功能區

 

3.3.9幫助功能區

 

3.4常用快捷鍵

 

3.5通用功能

 

3.5.1拖動功能

 

3.5.2常用窗口按鈕

 

3.6關於TSMaster工程

 

3.6.1TSMaster工程目錄

 

3.6.2工程發布

 

3.7關於經典範例EasyDemo

 

 

 

 

 

 

 

 

 

目錄

 

 

 

 

 

TSMaster開發從入門到精通

 

 

 

第4章硬件配置

 

4.1硬件通道映射

 

4.2TSMaster通道映射的意義

 

4.3關於虛擬通道

 

4.4加載硬件驅動

 

4.5通道配置

 

4.5.1選擇硬件通道

 

4.5.2總線硬件

 

4.5.3通道映射編輯器

 

第5章總線測量與分析簡介

 

5.1測量設置窗口

 

5.1.1功能介紹

 

5.1.2數據流過濾

 

5.1.3測量過濾模塊

 

5.1.4過濾條件的使能/失效

 

5.2系統消息窗口

 

5.2.1工具欄

 

5.2.2消息類型

 

5.3實時註釋窗口

 

5.4報文信息窗口

 

5.4.1工具欄

 

5.4.2報文過濾器設置

 

5.4.3報文信息列表項

 

5.4.4信號的顯示

 

5.4.5快捷菜單

 

5.5報文發送窗口

 

5.5.1工具欄

 

5.5.2報文發送列表項

 

5.5.3信號列表和數據字節

 

5.5.4信號生成器簡介

 

5.6圖形窗口

 

5.6.1工具欄

 

5.6.2工具欄顯示設置

 

5.6.3工具欄設置選項

 

5.6.4信號列表欄

 

5.7數值顯示窗口

 

5.7.1工具欄

 

5.7.2修改信號的顯示設置

 

5.8儀表盤窗口

 

5.8.1工具欄

 

5.8.2信號屬性設置

 

5.9統計窗口

 

5.9.1CAN統計數據窗口

 

5.9.2工具欄

 

5.10總線記錄窗口

 

5.10.1工具欄

 

5.10.2快捷菜單

 

5.11總線回放窗口

 

5.11.1工具欄

 

5.11.2離線回放

 

5.11.3在線回放

 

5.12記錄轉換器

 

5.13視頻回放窗口

 

第6章總線模擬基本功能簡介

 

6.1系統變量

 

6.1.1系統變量管理器

 

6.1.2內部變量

 

6.1.3用戶變量

 

6.2信號映射

 

6.2.1功能介紹

 

6.2.2直接映射

 

6.2.3表達式映射

 

6.2.4映射方向

 

6.3信號激勵

 

6.3.1添加信號激勵窗口

 

6.3.2設置激勵信號

 

6.4剩餘總線模擬

 

6.4.1剩餘總線模擬概述

 

6.4.2剩餘總線模擬的配置

 

6.5關於TSMaster的“上帝之眼”機制

 

6.5.1小程序腳本的自由度

 

6.5.2小程序的報文接收事件概念

 

第二部分入門篇

 

第7章開發第一個TSMaster模擬工程

 

7.1第一個模擬工程簡介

 

7.2新建模擬工程

 

7.3添加CAN數據庫

 

7.4創建面板

 

7.5編寫C小程序

 

7.6待測ECU的模擬方案

 

7.7運行測試

 

第8章總線數據庫簡介

 

8.1總線數據庫基本概念

 

8.2CAN數據庫窗口

 

8.2.1工具欄

 

8.2.2添加CAN數據庫文件

 

8.2.3通道分配

 

8.2.4CAN數據庫信息查看

 

8.2.5數據庫字段定義查看區/佈局查看區

 

8.3LIN數據庫窗口

 

8.4FlexRay數據庫窗口

 

第9章面板設計

 

9.1面板設計窗口簡介

 

9.2工具欄

 

9.3TSMaster控件簡介

 

9.3.1標準控件列表

 

9.3.2控件基本操作

 

9.3.3常見屬性簡介

 

9.4典型控件介紹

 

9.4.1文本框

 

9.4.2輸入輸出框

 

9.4.3按鈕

 

9.4.4開關

 

9.4.5指示燈

 

9.4.6圖像按鈕

 

9.4.7路徑按鈕

 

9.4.8儀表

 

9.4.9圖形

 

9.4.10餅圖

 

9.4.11關系圖

 

9.4.12容器

 

9.4.13啟動停止按鈕

 

9.5面板觸發事件及顯示的機制

 

9.5.1觸發事件機制

 

9.5.2數值顯示機制

 

9.6多語言支持面板

 

9.6.1創建一個面板

 

9.6.2激活多語言支持的功能

 

9.6.3創建多語言翻譯文件

 

9.6.4測試多語言面板

 

第10章C代碼編程基礎

 

10.1C代碼概述

 

10.2C代碼編輯器

 

10.2.1工具欄

 

10.2.2對象瀏覽區

 

10.2.3函數瀏覽區

 

10.2.4屬性編輯區

 

10.2.5代碼編輯區

 

10.2.6實時變量查看區

 

10.2.7立即文檔查看區

 

10.2.8編譯輸出區

 

10.2.9API文檔查看區

 

10.3C代碼運行機制

 

10.3.1Step函數

 

10.3.2定時器定義與觸發事件

 

10.3.3CAN接收事件

 

10.3.4CAN發送事件

 

10.3.5CAN預發送事件

 

10.3.6LIN接收事件

 

10.3.7LIN發送事件

 

10.3.8LIN預發送事件

 

10.3.9變量變化事件

 

10.3.10程序啟動事件

 

10.3.11按鍵事件

 

10.3.12程序停止事件

 

10.3.13自定義函數

 

10.4常見變量類型及結構體

 

10.4.1C語言基本數據類型

 

10.4.2TSMaster常見數據類型

 

10.4.3TSMaster常用結構體

 

10.5小程序變量

 

10.5.1創建小程序變量

 

10.5.2小程序變量類型

 

10.5.3小程序變量的監控

 

10.5.4面板訪問小程序變量類型

 

10.5.5C小程序訪問小程序變量類型

 

10.5.6變量變化事件

 

10.6數據庫信號操作(基於數據庫)

 

10.6.1讀取信號值

 

10.6.2修改信號值

 

10.7數據庫信號操作(基於剩餘總線模擬)

 

10.7.1CAN剩餘總線模擬設置

 

10.7.2讀取信號值

 

10.7.3修改信號值

 

10.8系統變量訪問

 

10.8.1面板關聯系統變量

 

10.8.2小程序讀寫系統變量

 

10.9TSMaster API庫函數簡介

 

10.9.1app函數庫

 

10.9.2com函數庫

 

10.9.3test函數庫

 

10.9.4函數返回值定義

 

第11章C代碼編程技巧

 

11.1零代碼的粘貼法

 

11.1.1通過發送報文窗口生成代碼

 

11.1.2通過報文信息窗口生成代碼

 

11.1.3通過剩餘總線模擬窗口生成代碼

 

11.1.4通過系統變量管理器生成代碼

 

11.2快捷復制信號路徑

 

11.3TSMaster庫函數的在線幫助

 

11.4調用C++標準庫

 

11.4.1全局定義中添加頭文件

 

11.4.2添加字符串處理代碼

 

11.5調用Windows庫函數

 

11.6小程序常用的調試方法

 

11.6.1利用系統消息窗口調試代碼

 

11.6.2懸浮窗口

 

11.6.3利用小程序變量調試代碼

 

11.7在Visual Studio環境中調試代碼

 

11.7.1準備待調試的代碼

 

11.7.2生成代碼調試工程

 

11.8小程序庫的應用

 

11.8.1小程序庫簡介

 

11.8.2小程序庫的開發

 

11.8.3小程序庫的使用

 

11.8.4小程序庫的管理

 

第12章模擬工程開發入門——CAN/CAN FD

 

12.1總線模擬工程開發流程及策略

 

12.1.1開發流程

 

12.1.2模擬工程開發策略

 

12.2工程實例簡介

 

12.2.1網絡拓撲圖

 

12.2.2實現功能

 

12.3工程實現——IPC測試環境模擬工程

 

12.3.1創建模擬工程

 

12.3.2DBC文件介紹及導入

 

12.3.3CAN剩餘總線模擬設置

 

12.3.4系統變量

 

12.3.5面板設計

 

12.3.6C代碼實現

 

12.4工程實現——IPC模擬工程

 

12.4.1CAN剩餘總線模擬設置

 

12.4.2系統變量

 

12.4.3面板設計

 

12.4.4C代碼實現

 

12.5工程運行測試

 

第13章模擬工程開發入門——LIN

 

13.1LIN總線常見API函數

 

13.2工程實例簡介

 

13.2.1網絡拓撲圖

 

13.2.2實現功能

 

13.3工程實現

 

13.3.1添加LIN總線支持

 

13.3.2數據庫LDF文件導入

 

13.3.3添加系統變量

 

13.3.4面板設計

 

13.3.5C代碼實現

 

13.3.6設置頁面佈局

 

13.4工程運行測試

 

第14章模擬工程開發入門——FlexRay

 

14.1FlexRay基礎知識

 

14.1.1常見術語

 

14.1.2動態幀與靜態幀

 

14.1.3FlexRay冷啟動機制

 

14.2FlexRay總線常見API函數

 

14.3工程實例簡介

 

14.3.1網絡拓撲圖

 

14.3.2關於FlexRay的冷啟動節點

 

14.4工程實例實現

 

14.4.1導入XML數據庫

 

14.4.2設置硬件通道

 

14.4.3設置剩餘總線模擬

 

14.4.4面板設計——Control

 

14.4.5面板設計——Display

 

14.4.6C代碼實現

 

14.5工程運行測試

 

第三部分進階篇

 

第15章模擬工程開發進階Ⅰ——測試

 

15.1ECU測試概述

 

15.2測試API函數詳解

 

15.2.1錯誤檢測函數

 

15.2.2結果判定函數

 

15.2.3信號檢測函數

 

15.2.4日誌生成函數

 

15.2.5報告生成函數

 

15.3工程實例簡介

 

15.4工程實例實現

 

15.4.1測試方法設計

 

15.4.2創建測試系統工程

 

15.4.3用戶權限管理

 

15.4.4測試系統配置

 

15.4.5被測件參數管理

 

15.4.6測試參數管理

 

15.4.7測試用例創建方法

 

15.4.8被測件的模擬

 

15.4.9測試用例執行與調試

 

15.4.10測試報告模板與生成

 

15.4.11測試日誌查看

 

15.5工程運行測試

 

15.5.1正常模式

 

15.5.2錯誤註入模式

 

第16章模擬工程開發進階Ⅱ——診斷

 

16.1汽車診斷技術概述

 

16.1.1診斷術語

 

16.1.2OBD診斷與增強型診斷

 

16.1.3診斷協議

 

16.1.4診斷接口

 

16.1.5診斷周期

 

16.1.6UDS診斷服務

 

16.2TSMaster診斷功能簡介

 

16.2.1傳輸層(ISO TP)參數配置

 

16.2.2基礎診斷配置

 

16.2.3診斷控制台

 

16.2.4自動診斷流程

 

16.3工程實例簡介

 

16.4工程實例實現

 

16.4.1被測件的模擬

 

16.4.2傳輸層配置

 

16.4.3創建關聯的系統變量

 

16.4.4基本診斷配置

 

16.4.5自動診斷流程實現

 

16.4.6設置控制面板

 

16.5工程運行測試

 

第17章模擬工程開發進階Ⅲ——標定

 

17.1ECU標定概述

 

17.1.1ASAM標準組織

 

17.1.2診斷協議介紹

 

17.1.3XCP數據包類型

 

17.1.4XCP數據結構

 

17.1.5關於測量模式

 

17.1.6關於A2L文件

 

17.2TSMaster標定功能簡介

 

17.2.1TSMaster主要標定功能

 

17.2.2標定窗口

 

17.2.3標定數據管理器

 

17.2.4A2L同步模塊

 

17.2.5關於TSMaster標定授權

 

17.3工程實例簡介

 

17.4工程實例實現

 

17.4.1創建一個XCP標定工程

 

17.4.2導入數據庫

 

17.4.3XCP設置

 

17.4.4DAQ設置

 

17.4.5內存設置

 

17.4.6添加測量列表

 

17.4.7記錄引擎設置

 

17.5待標定ECU模擬

 

17.6工程運行測試

 

17.6.1更新簡單型標定參數

 

17.6.2更新曲線型和Map類型等標定參數

 

17.6.3查看記錄文件

 

17.7關於自動化標定技術

 

第18章TSMaster高級編程——Python調用COM接口技術

 

18.1COM接口技術簡介

 

18.2TSMaster COM Server簡介

 

18.3TSMaster COM Server接口函數

 

18.3.1TSApplication類接口函數

 

18.3.2TSFormManager類接口函數

 

18.3.3TSCOM類接口函數

 

18.3.4TSDB類接口函數

 

18.3.5TSLog類接口函數

 

18.3.6TSMP類接口函數

 

18.4工程實例簡介

 

18.5工程實例實現

 

18.5.1操作TSMaster應用API

 

18.5.2創建TSCOM對象

 

18.5.3運行及停止RBS

 

18.5.4發送異步報文

 

18.5.5添加周期報文

 

18.5.6讀寫信號值

 

18.5.7讀寫系統變量

 

18.5.8在系統消息窗口輸出日誌

 

18.5.9完整代碼

 

18.6工程運行測試

 

第19章TSMaster高級編程——Python小程序的開發

 

19.1Python小程序開發環境簡介

 

19.1.1TSMaster的Python開發環境檢查

 

19.1.2調試環境設置

 

19.2Python小程序常用函數簡介

 

19.2.1通用函數

 

19.2.2app類函數

 

19.2.3com類常見函數

 

19.2.4test類常見函數

 

19.3常見class定義

 

19.3.1RawCAN類

 

19.3.2CANSignal類

 

19.4工程實例簡介

 

19.5工程實例實現

 

19.5.1實現EasyDemo的功能

 

19.5.2增加自定義函數

 

19.5.3調用自定義函數

 

19.5.4Python完整代碼

 

19.6工程運行測試

 

第20章TSMaster高級編程——基於工具箱設計開發環境的開發

 

20.1工具箱設計開發環境簡介

 

20.1.1工具箱列表頁面

 

20.1.2工具箱代碼設計頁面

 

20.1.3小程序模塊頁面

 

20.1.4實時Python命令行

 

20.1.5工具箱窗口設計器

 

20.1.6關於工具箱設計的授權

 

20.2工具箱控件屬性、事件簡介

 

20.2.1frmTSForm類

 

20.2.2Button類

 

20.2.3RawCAN類

 

20.2.4調用TSMaster資源

 

20.3工程實例簡介

 

20.4工程實例實現

 

20.4.1待測ECU的模擬環境

 

20.4.2窗體設計

 

20.4.3工具箱窗體初始化

 

20.4.4添加工具欄按鈕

 

20.4.5添加事件回調函數

 

20.4.6RawCAN中的信號解析

 

20.4.7回調函數實現

 

20.5工程運行測試

 

20.5.1以獨立應用程序形式運行工具箱

 

20.5.2設置工具欄位置並運行

 

第21章TSMaster高級編程——圖形程序模塊

 

21.1圖形程序模塊介紹

 

21.1.1圖形程序接口

 

21.1.2圖形程序界面

 

21.1.3工具欄

 

21.1.4模塊欄

 

21.1.5屬性欄

 

21.1.6圖形程序設置窗口

 

21.2工程實例簡介

 

21.3工程實例實現

 

21.3.1添加變量

 

21.3.2創建內部函數

 

21.3.3創建圖形程序的流程圖

 

21.4工程運行測試

 

參考文獻

 

附錄A英文縮寫與全稱對照表

 

後記