TSMaster開發從入門到精通
楊金升 劉矗 劉功申
相關主題
商品描述
"本書遵循由淺入深的原則,將內容分為三部分,共三篇。基礎篇首先介紹車載網絡的相關知識,接著介紹TSMaster開發環境和常見功能的使用,以便初學者掌握使用TSMaster進行一般的總線模擬、測試和分析; 入門篇首先引導讀者開發第一個TSMaster模擬工程,接著結合實例重點介紹總線數據庫、面板設計,以及C小程序設計; 進階篇結合廣大開發工程師可能面臨的技術難題,由簡單到復雜地介紹一些典型實例,以提高讀者的實戰技術。 本書既可作為普通高等院校車輛工程、電子信息、電氣工程、自動控制等相關專業師生的參考資料,也可作為從事汽車電子軟硬件開發及測試等工作的人員的工具書。 "
目錄大綱
前言
過去幾年間中國大地上的自主汽車品牌風起雲涌,快速崛起,新能源汽車的銷量不斷攀升,吸引著越來越多的新鮮血液加入汽車行業,特別是在智能駕駛等相關領域。
距離筆者出版《CANoe開發從入門到精通》已四年有餘,其間得到了很多讀者的肯定和鼓勵,也聽到來自各方面的呼聲,促使筆者有再寫一兩本汽車技術類圖書的沖動。中國汽車的迅猛發展,從業人員的不斷增加,也帶動著國內工程軟件的發展。其間就涌現出一款非常優秀的汽車網絡工程軟件——TSMaster。TSMaster的橫空出世,讓廣大汽車開發人員眼前一亮,瞬間產生了民族自豪感。
本書結構
本書作為《CANoe開發從入門到精通》的姊妹篇,在整體結構上有很多相似之處。本書遵循由淺入深的原則,將內容分為三部分: 第一部分為基礎篇,首先介紹車載網絡的相關知識,接著介紹TSMaster的開發環境和常見功能的使用,初學者可以掌握如何使用TSMaster進行一般的總線模擬、測試和分析; 第二部分為入門篇,首先引導讀者開發第一個TSMaster模擬工程,接著重點介紹總線數據庫、面板設計、C腳本編程基礎,並結合實例來講解; 第三部分為進階篇,結合廣大開發工程師可能面臨的技術難題,由簡單到復雜地介紹一些典型實例,涉及測試、診斷、標定及自動化控制等應用,提高讀者的實戰技術。
關於本書中的代碼
讀者可以掃描封底刮刮卡內二維碼,獲得權限,再掃描下方二維碼下載相關源代碼。
下載源碼
各章節的TSMaster的工程文件、所有代碼主要基於TSMaster 32bit,已經在以下版本中測試並驗證通過。
TSMaster v2024.03.05.1077或以上
Python3.8.5 32bit
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、CANFD在本書中一般指同一個概念。
(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.4CANFD協議簡介
1.2.5CANXL協議簡介
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英文縮寫與全稱對照表
後記