LabVIEW虛擬儀器項目開發與實踐
內容描述
本書是《LabVIEW虛擬儀器項目開發與管理》的升級版,共22章,包括基礎知識、虛擬儀器項目開 發方法以及項目管理和實踐。第1~6章為基礎知識,主要講解LabVIEW程序前面板設計、數據結構、程 序框圖、函數和錯誤處理等內容;第7~19章主要講解虛擬儀器項目開發方法,包括用於實際項目開發的 單循環和多循環程序框架、程序用戶界面擴展、數據類型擴展、代碼和程序結構擴展、數據存儲、數據庫 和麵向對象開發技術、網絡通信、信號與傳感器、數據採集和濾波等數字信號處理相關的內容;第20~22 章主要講解項目管理和實踐,包括項目管理理論和一些對實際項目開發的經驗總結,同時提供幾個實際 的工程案例作為參考。本書力求面向實際工程項目開發,並配有實際工程實例源碼和相關參考資料。
本書可作為LabVIEW虛擬儀器項目開發和管理人員的技術參考書,也可作為電腦、虛擬儀器和自 動化等專業的教材,或各類LabVIEW虛擬儀器項目開發和管理培訓的參考用書。
目錄大綱
目 錄
第1章
緒 論 / 1
1.1 虛擬儀器與LabVIEW / 1
1.2 虛擬儀器開發環境的搭建 / 4
1.3 VI的開發與調試步驟 / 9
1.4 LabVIEW虛擬儀器項目開發 / 14
1.5 LabVIEW虛擬儀器項目管理 / 15
第2章
前面板設計 / 17
2.1 控件選擇 / 17
2.2 前面板設計總原則 / 21
2.3 前面板佈局 / 23
2.4 前面板文本和色彩 / 25
2.5 可見性和健壯性 / 27
2.6 對前面板進行裝飾 / 29
2.7 本章小結 / 31
第3章
基本數據類型和操作 / 32
3.1 基本數據類型 / 32
3.2 常規數據操作方法 / 38
3.3 數值 / 41
3.4 布爾 / 44
3.5 枚舉類型與下拉列表 / 46
3.6 路徑和字符串 / 47
3.7 數組、簇和矩陣 / 51
3.8 數組操作 / 54
3.8.1 數組的創建和初始化 / 55
3.8.2 索引數組元素 / 56
3.8.3 編輯數組 / 58
3.8.4 數組排序 / 59
3.8.5 其他數組操作函數 / 59
3.9 圖形和圖表 / 61
3.9.1 波形圖表和波形圖形 / 63
3.9.2 XY圖形 / 66
VI
LabVIEW虛擬儀器項目開發與實踐
3.9.3 二維和三維圖形 / 67
3.9.4 強度圖形和強度圖表 / 71
3.10 本章小結 / 73
第4章
基本程序結構 / 74
4.1 數據流驅動 / 76
4.2 順序結構 / 78
4.3 分支結構 / 80
4.4 循環結構 / 82
4.4.1 For循環和While循環 / 82
4.4.2 自動索引 / 84
4.4.3 移位寄存器 / 85
4.4.4 反饋節點 / 87
4.5 本章小結 / 89
第5章
函數、程序框圖和VI / 90
5.1 LabVIEW內置函數庫 / 90
5.2 VI的程序框圖 / 94
5.3 創建子VI / 98
5.4 為VI添加說明和幫助 / 102
5.5 可重入VI、遞歸VI和多態VI / 105
5.6 本章小結 / 108
第6章
錯誤處理 / 110
6.1 錯誤簇 / 110
6.2 錯誤捕獲 / 114
6.3 錯誤報告 / 118
6.4 錯誤處理 / 122
6.5 自定義錯誤處理 / 127
6.6 本章小結 / 130
第7章
擴展程序結構 / 131
7.1 事件結構 / 131
7.1.1 事件與事件結構 / 132
7.1.2 事件的靜態註冊和動態
註冊 / 135
7.1.3 通知事件和過濾事件 / 139
7.1.4 用戶自定義事件 / 141
7.1.5 使用事件的註意事項 / 142
7.2 定時結構 / 144
7.2.1 定時循環結構 / 145
7.2.2 定時順序結構 / 152
7.3 禁用結構 / 153
7.4 元素同址操作結構 / 157
7.5 本章小結 / 159
VII
目 錄
第8章
單循環程序框架 / 160
8.1 輪詢 / 161
8.2 程序框架中的數據傳遞和功能全
局量 / 162
8.3 經典狀態機 / 166
8.4 消息狀態機 / 169
8.5 隊列狀態機 / 173
8.6 事件狀態機 / 177
8.7 本章小結 / 183
第9章
多循環程序框架 / 185
9.1 多任務、多線程、多處理與多
循環 / 186
9.2 變量控制多循環 / 189
9.3 同步多循環 / 192
9.3.1 事件發生函數控制
多循環 / 193
9.3.2 通知器控制多循環 / 194
9.3.3 多個定時循環的同步 / 196
9.3.4 集合點控制多循環 / 199
9.4 異步多循環 / 200
9.4.1 生產者/消費者結構 / 200
9.4.2 大型多任務結構 / 205
9.5 模塊化的程序框架 / 211
9.5.1 多循環程序框架的
模塊化 / 212
9.5.2 動態加載 / 217
9.6 本章小結 / 220
第10章
擴展用戶界面 / 222
10.1 自定義控件 / 222
10.2 XControl / 228
10.2.1 XControl的能力 / 228
10.2.2 XControl的屬性和方法 / 235
10.2.3 XControl的快捷菜單、尺寸
和位置 / 236
10.3 菜單 / 239
10.3.1 主菜單 / 240
10.3.2 快捷菜單 / 243
10.4 工具欄和狀態欄 / 246
10.5 光標 / 250
10.6 多語言支持 / 251
10.6.1 導出/導入語言包 / 252
10.6.2 動態加載語言包 / 259
10.6.3 LCE工具包 / 261
10.7 本章小結 / 264
第11章
數據類型擴展與面向對象 / 266
11.1 自定義數據類型 / 266
11.2 面向對象編程 / 270
11.2.1 封裝 / 272
11.2.2 繼承 / 275
LabVIEW虛擬儀器項目開發與實踐
11.2.3 多態 / 279
11.2.4 LabVIEW類的開發和
使用 / 281
11.3 本章小結 / 284
第12章
擴展程序代碼 / 286
12.1 簡化數學運算 / 286
12.1.1 公式節點和表達式節點 / 286
12.1.2 腳本節點 / 290
12.2 調用CIN / 292
12.2.1 指定參數類型和
傳遞方式 / 293
12.2.2 創建C代碼 / 294
12.2.3 編譯代碼為LSB格式 / 296
12.2.4 加載、調試代碼 / 298
12.3 LabVIEW NXG中的C節點 / 301
12.4 Python節點 / 303
12.5 以編程方式控制VI / 304
12.5.1 VI Server程序 / 305
12.5.2 VI Scripting / 309
12.6 本章小結 / 312
第13章
代碼復用 / 314
13.1 OpenG和MGI代碼庫 / 314
13.2 調用DLL / 317
13.2.1 配置CLN / 318
13.2.2 調用自己開發的DLL / 322
13.2.3 調用硬件驅動或Win32
API / 329
13.3 ActiveX和.NET組件 / 332
13.3.1 調用ActiveX / 332
13.3.2 調用.NET / 337
13.4 本章小結 / 340
第14章
數據存儲與表達 / 341
14.1 文件操作 / 341
14.1.1 文本文件 / 342
14.1.2 二進制文件 / 345
14.1.3 數據記錄文件和電子表格
文件 / 347
14.1.4 配置文件 / 349
14.1.5 TDMS文件 / 351
14.1.6 XML文件 / 359
14.2 數據壓縮和加密 / 366
14.3 數據表達 / 369
14.4 本章小結 / 374
目 錄
第15章
數據庫 / 376
15.1 數據庫基礎 / 376
15.2 連接數據庫 / 381
15.2.1 使用DSN連接數據庫 / 381
15.2.2 使用UDL連接數據庫 / 382
15.2.3 增強數據庫程序的可移植
性 / 384
15.3 數據庫基本操作 / 386
15.3.1 創建、刪除數據表 / 386
15.3.2 操作數據記錄 / 389
15.4 數據庫高級操作 / 393
15.4.1 執行SQL語句 / 393
15.4.2 瀏覽數據記錄 / 398
15.4.3 使用存儲過程 / 401
15.5 數據庫工具函數 / 403
15.5.1 數據庫屬性信息 / 403
15.5.2 處理數據庫事務 / 406
15.5.3 使用文件保存數據 / 409
15.6 本章小結 / 410
第16章
網絡通信 / 411
16.1 網絡參考模型和通信協議 / 412
16.2 串口通信 / 416
16.3 藍牙和紅外 / 422
16.3.1 藍牙通信 / 423
16.3.2 紅外通信 / 425
16.4 TCP/IP與UDP / 427
16.4.1 TCP/IP / 427
16.4.2 UDP / 435
16.5 NI STM / 441
16.6 DataSocket / 445
16.7 FTP和SMTP / 451
16.7.1 FTP / 451
16.7.2 SMTP / 454
16.8 本章小結 / 456
第17章
信號與傳感器 / 458
17.1 信號 / 459
17.1.1 典型測試信號 / 463
17.1.2 常用噪聲和隨機信號 / 469
17.1.3 模擬波形 / 472
17.2 傳感器 / 474
17.2.1 溫度傳感器及典型數據
採集程序 / 478
17.2.2 應變和力傳感器 / 482
17.2.3 位移傳感器 / 485
17.2.4 速度傳感器 / 488
17.2.5 毫米波雷達 / 493
17.2.6 工業相機與圖像採集 / 494
17.3 本章小結 / 498
LabVIEW虛擬儀器項目開發與實踐
第18章
數據採集 / 500
18.1 信號的數字化 / 500
18.2 虛擬儀器數據採集 / 502
18.3 基於聲卡的信號採集(1D) / 507
18.4 圖像採集(2D) / 513
18.5 本章小結 / 519
第19章
濾波 / 521
19.1 濾波器基礎 / 521
19.2 傅里葉變換與頻率響應 / 525
19.3 FIR濾波器 / 538
19.3.1 移動平均濾波器 / 540
19.3.2 加窗Sinc濾波器 / 544
19.3.3 等紋波Parks-McClellan和
窄帶插值FIR(iFIR)
濾波器 / 551
19.4 IIR濾波器 / 553
19.4.1 基本IIR濾波器 / 557
19.4.2 經典IIR濾波器 / 567
19.5 非線性濾波器 / 578
19.6 逐點濾波 / 581
19.7 本章小結 / 587
第20章
虛擬儀器項目管理 / 589
20.1 項目生命周期模型 / 590
20.1.1 邊做邊改 / 591
20.1.2 瀑布模型 / 592
20.1.3 原型模型 / 594
20.1.4 增量迭代模型 / 595
20.1.5 螺旋模型 / 598
20.2 項目各階段 / 600
20.2.1 需求分析 / 600
20.2.2 設計 / 605
20.2.3 編碼 / 607
20.2.4 測試 / 609
20.2.5 升級維護和版本控制 / 614
20.3 軟件質量標準 / 622
20.4 進度與預算 / 626
20.4.1 時間管理 / 626
20.4.2 成本管理 / 631
20.5 本章小結 / 635
第21章
影像增強儀質量檢測系統 / 637
21.1 系統需求 / 637
21.1.1 功能需求 / 637
21.1.2 技術指標 / 639
21.2 系統設計 / 639
21.2.1 光源子系統設計 / 640
21.2.2 CCD相機的選擇 / 644
目 錄
21.2.3 圖像採集數據採集設備的
選擇 / 647
21.3 軟件開發 / 648
21.3.1 系統自檢模塊 / 650
21.3.2 應力切換與控制模塊 / 651
21.3.3 基於DataSocket的
通信模塊 / 652
21.3.4 標準圖像採集模塊 / 654
21.3.5 故障識別模塊 / 658
21.3.6 數據分析模塊 / 663
21.4 集成測試驗證 / 665
21.5 系統主要特點 / 667
第22章
項目實踐 / 669
22.1 航空液流閥檢測系統 / 669
22.1.1 系統需求 / 669
22.1.2 系統組成 / 670
22.1.3 關鍵技術與軟件模塊 / 672
22.2 ASDX傳感器測試系統 / 682
22.2.1 日誌和SQLite數據庫 / 684
22.2.2 面向對象方式的測試
管理 / 689
22.3 灌裝檢測機器視覺系統 / 691