《LabVIEW寶典(第2版)》詳盡講解了LabVIEW常用的編程方法、編程技巧和工程應用技術。全書共分為3篇,其中,入門篇歸納總結了LabVIEW編程人員必須掌握的基礎知識,包括LabVIEW的基本概念、基本函數的用法和常用的運行結構,以及LabVIEW的基本數據結構和文件存儲方式;高級篇細致地講解了引用、屬性、方法及各類高級控件的運用,LabVIEW的文本方式編程及DLL、C語言接口,基于MATLAB語法的math編程技術,LabVIEW基于組件的高級編程方法和編程模式;工程應用篇介紹了串口、并口和網絡通信的常用方法,數據采集的基本原理和方法,LabVIEW實時系統的構建和編程,以及各種常用專業工具包的使用方法,包括數據庫連接工具包、數據監控與記錄工具包、報表生成工具包、狀態圖工具包等?!禠abVIEW寶典(第2版)》可作為高等院校通信、測量技術、自動控制等相關課程的教材和教學參考書,也可作為相關工程技術人員設計開發儀器或自動測試系統的技術手冊。
LabVIEW工程師15年經驗總結
全程配套700多個VI案例文件
3大完整工程實踐一線項目
配套PPT電子課件
陳樹學,1989年畢業于哈爾濱工業大學動力工程系,畢業后進入一汽集團公司,負責專用機床、加工自動線和測試設備的軟件開發工作。初期使用C語言,從LabVIEW 6.0版本開始,采用LabVIEW作為挑選編程語言。 劉萱,2005年畢業于天津大學計算機科學與技術專業。畢業后進入天津久榮車輪技術有限公司主持車輪輪胎檢測設備系統軟件的研發工作。2006年首次接觸LabVIEW 7.2并在實際項目中使用,十余年來積累了利用LabVIEW開發工程項目的豐富經驗。
第1部分 入門篇
第1章 打開LabVIEW編程之門 2
1.1 從VI開始 2
1.1.1 創建VI 3
1.1.2 控件屬性設置與快捷菜單 6
1.1.3 創建控件、常量、局部變量、引用、屬性節點和方法節點 8
1.1.4 創建自定義控件 10
1.2 編輯前面板和程序框圖 12
1.2.1 選擇、移動和刪除對象 12
1.2.2 使用布局工具 13
1.3 VI及其屬性對話框 17
1.3.1 VI的層次結構 17
1.3.2 調用子VI 19
1.3.3 VI的屬性設置 19
1.4 基本控件及其使用方法 23
1.4.1 基本數值控件 24
1.4.2 基本布爾控件 30
1.4.3 控件的通用編輯方法 33
1.4.4 字符串和路徑控件 35
1.4.5 下拉列表與枚舉控件 38
1.4.6 數組控件及其屬性設置 39
1.4.7 簇控件 40
1.4.8 時間標識控件與波形數據控件 42
1.5 小結 44
第2章 LabVIEW基本函數 45
2.1 必須了解的一些基本算術運算函數 45
2.1.1 基本運算函數 45
2.1.2 標量之間的基本運算 46
2.1.3 標量與數組的運算 46
2.1.4 數組與數組的運算 46
2.1.5 數組的函數 47
2.1.6 標量與簇的基本運算 55
2.1.7 簇與簇的運算 56
2.1.8 簇的函數 56
2.2 必須了解的位運算函數和邏輯運算函數 59
2.2.1 常用邏輯運算函數 59
2.2.2 位運算 59
2.2.3 深入理解復合運算函數 60
2.3 必須了解的關系運算函數和比較函數 61
2.3.1 比較模式 61
2.3.2 通用關系運算函數 62
2.3.3 “比較0”關系運算函數 63
2.3.4 復雜關系運算函數 63
2.3.5 字符關系運算函數 66
2.3.6 表達式節點與公式快速VI 67
2.4 小結 68
第3章 LabVIEW的程序運行結構 69
3.1 兩種不同的循環結構 69
3.1.1 For循環的組成和特點 69
3.1.2 For循環與數組 71
3.1.3 For循環與移位寄存器 73
3.1.4 For循環中的continue和break 74
3.1.5 While循環,不僅僅是循環 75
3.1.6 While循環與定時 76
3.1.7 反饋節點 81
3.2 定時結構 82
3.2.1 定時循環的基本組成要素和配置對話框 83
3.2.2 定時順序結構 85
3.3 獨特的條件結構 85
3.3.1 條件結構的基本結構 86
3.3.2 布爾型輸入 86
3.3.3 錯誤簇輸入 86
3.3.4 數值型輸入 87
3.3.5 枚舉型輸入 88
3.3.6 下拉列表輸入 88
3.3.7 字符串和組合框輸入 88
3.3.8 輸入、輸出隧道 89
3.3.9 多重If-Else的處理方法 89
3.4 不和諧的順序結構 90
3.4.1 多線程運行次序 90
3.4.2 兩種不同的順序結構 90
3.4.3 隧道與順序局部變量 92
3.4.4 順序結構的替代 92
3.4.5 順序結構的典型應用 93
3.5 程序框圖禁用結構 93
3.6 局部變量、內置全局變量和功能(LV2型)全局變量 94
3.6.1 局部變量 94
3.6.2 內置全局變量 96
3.6.3 功能(LV2型)全局變量 97
3.7 事件結構 99
3.7.1 事件結構的基本構成和創建方法 99
3.7.2 事件的分類及其特點 100
3.7.3 事件結構之間的數據傳送與共享 103
3.7.4 事件發生的次序、事件過濾和轉發 103
3.7.5 正確地使用事件結構 105
3.8 小結 106
第4章 LabVIEW的數據結構及內存優化 107
4.1 常用數據類型轉換函數 107
4.1.1 “強制類型轉換”函數 107
4.1.2 “平化至字符串”函數與“從字符串還原”函數 108
4.1.3 變體數據 109
4.1.4 變體數據數據類型解析 109
4.2 整數的類型轉換及內存映射 110
4.2.1 布爾型數據與字符串和數值的相互轉換 110
4.2.2 U8類型數據與字符串之間的相互轉換 111
4.2.3 整數與整數類型的相互轉換 111
4.3 其他標量數據類型的類型轉換及內存映射 112
4.3.1 定點數、浮點數的類型轉換與內存映射 112
4.3.2 復數的類型轉換及內存映射 115
4.3.3 時間標識的類型轉換與內存映射 115
4.4 復合數據類型 115
4.4.1 標量數組的內存映射 116
4.4.2 字符串、路徑和字符串數組的內存映射 117
4.4.3 LabVIEW使用的編碼 118
4.5 簇的內存映射 118
4.5.1 標量組成的簇 119
4.5.2 包含數組和字符串的簇 119
4.6 類型描述符 120
4.6.1 類型描述符的基本構成要素 120
4.6.2 常用類型描述符列表 120
4.6.3 常見數據類型的類型描述符結構 121
4.7 OpenG中有關類型描述符的函數 122
4.7.1 類型描述符函數 123
4.7.2 利用類型描述符處理枚舉型數據 124
4.7.3 利用類型描述符處理簇 124
4.8 幾種常用的內存分析工具和方法 124
4.8.1 內存的重要性 125
4.8.2 內存和性能查看工具 126
4.8.3 VI使用的內存 127
4.8.4 優化內存的一般注意事項 128
4.8.5 數組與內存優化 129
4.8.6 在循環中避免不必要的計算、讀/寫控件或者變量 132
4.9 影響VI運行速度的因素 133
4.9.1 硬件輸入/輸出 133
4.9.2 屏幕顯示 134
4.10 小結 134
第5章 字符串與文件存儲 135
5.1 字符串 135
5.1.1 幾種常用的字符串常量 135
5.1.2 幾種常用的字符串函數 136
5.1.3 “匹配模式”和“匹配正則表達式”函數 137
5.1.4 字符串與數值的相互轉換 140
5.1.5 功能強大的“格式化字符串”函數和“掃描字符串”函數 141
5.1.6 數組與電子表格字符串 144
5.1.7 附加字符串函數 144
5.2 文件存儲 145
5.2.1 文本文件與二進制文件的區別 145
5.2.2 文件常量和通用目錄、文件函數 146
5.2.3 構造路徑的方法 147
5.2.4 文本文件的讀寫 150
5.2.5 數據記錄文件的讀寫 154
5.2.6 讀/寫二進制文件 155
5.2.7 INI文件的讀寫 157
5.2.8 XML文件的讀寫 159
5.2.9 注冊表的讀寫 160
5.2.10 TDM文件 162
5.2.11 TDMS文件 164
5.3 小結 167
第2部分 高級篇
第6章 LabVIEW對象的解析 169
6.1 LabVIEW控件對象的層次繼承結構 169
6.1.1 布爾控件的層次繼承結構 169
6.1.2 通用類的屬性 170
6.1.3 圖形對象類 172
6.2 圖形對象類的子類 173
6.2.1 前面板類 173
6.2.2 窗格類和分隔欄類 174
6.2.3 LabVIEW的坐標映射 175
6.2.4 修飾類 177
6.3 控件類 179
6.3.1 控件類的常用屬性 179
6.3.2 控件類的常用方法 181
6.3.3 數值控件類 182
6.4 常用控件的專有屬性 183
6.4.1 布爾控件的專有屬性 183
6.4.2 枚舉控件和下拉列表控件的專有屬性 184
6.4.3 字符串控件、路徑控件和組合框控件的專有屬性 185
6.4.4 數組控件的屬性和方法 187
6.4.5 簇的屬性及方法 189
6.5 引用句柄 189
6.6 VI的屬性 191
6.6.1 獲取VI的引用 192
6.6.2 常用VI屬性 192
6.7 常用VI方法 195
6.7.1 獲取前面板、程序框圖和VI圖標的圖像 195
6.7.2 打印控制 196
6.7.3 默認值方法 196
6.8 動態調用VI 197
6.8.1 靜態調用和動態調用的比較 197
6.8.2 通過“引用節點調用”函數動態調用VI 197
6.8.3 一般類型VI的動態調用 199
6.8.4 創建閃屏 201
6.8.5 創建后臺運行程序 202
6.8.6 創建向導程序 202
6.8.7 動態調用VI之間的數據交換 203
6.9 應用程序的屬性和方法 204
6.9.1 獲取應用程序的引用句柄 205
6.9.2 應用程序的常用屬性 205
6.10 小結 206
第7章 高級控件的運用 207
7.1 列表框 207
7.1.1 列表框的創建及顯示風格 207
7.1.2 列表框的常用屬性、方法與事件 207
7.1.3 列表框的應用舉例 208
7.2 多列列表框 211
7.2.1 顯示多列項目并排序 212
7.2.2 多列列表框的特效制作 214
7.3 表格 214
7.3.1 表格的常用屬性和方法 215
7.3.2 表格的應用舉例 218
7.4 樹形控件 222
7.4.1 樹形控件的創建與靜態編輯 222
7.4.2 樹形控件的常用屬性、方法和事件 224
7.4.3 樹形控件高級應用舉例 225
7.5 波形圖表 227
7.5.1 波形圖表的組成要件 227
7.5.2 波形圖表的輸入類型 229
7.5.3 波形圖表專用屬性 229
7.5.4 波形圖表應用舉例 231
7.6 波形圖 232
7.6.1 波形圖控件的創建和組成要件 233
7.6.2 波形圖控件的輸入類型 233
7.6.3 波形圖控件的專用屬性 236
7.6.4 波形圖控件的高級應用舉例 238
7.7 XY圖 240
7.7.1 XY圖的輸入數據類型 241
7.7.2 XY圖的高級應用 243
7.8 強度圖表和強度圖 245
7.9 數字數據、數字波形數據與數字波形圖 246
7.9.1 數字數據 246
7.9.2 數字波形數據和數字波形圖 246
7.10 圖片控件 247
7.10.1 利用圖片控件顯示圖片 247
7.10.2 常用繪圖操作函數 249
7.10.3 圖片控件的高級應用 251
7.11 小結 253
第8章 文本式編程與外部程序接口 254
8.1 公式節點 254
8.1.1 公式節點的數據類型、語法與控制結構 254
8.1.2 公式節點的應用舉例 256
8.2 調用庫函數 257
8.2.1 DLL與API函數 257
8.2.2 如何調用DLL函數 259
8.2.3 常用API函數的調用 265
8.2.4 LabVIEW調用DLL的局限性 267
8.3 CIN 270
8.3.1 CIN創建的一般過程 271
8.3.2 CIN的數據類型和常用函數 273
8.3.3 CIN與內存管理器 277
8.3.4 CIN的運行過程和數據共享 280
8.4 系統命令 283
8.5 剪貼板 284
8.6 DDE庫 285
8.6.1 DDE概述 286
8.6.2 LabVIEW中DDE的常用方法 286
8.7 ActiveX控件與ActiveX文檔 288
8.7.1 ActiveX的基本概念 288
8.7.2 ActiveX控件的調用過程 289
8.7.3 ActiveX應用實例 289
8.7.4 ActiveX自動化服務器 291
8.8 .NET技術 292
8.8.1 .NET控件 292
8.