LabVIEW 寶典, 3/e

陳樹學,劉萱

  • 出版商: 電子工業
  • 出版日期: 2022-04-01
  • 定價: $828
  • 售價: 8.5$704
  • 語言: 簡體中文
  • 頁數: 708
  • ISBN: 7121411679
  • ISBN-13: 9787121411670
  • 相關分類: LabVIEW
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

詳盡講解了LabVIEW常用的編程方法、編程技巧和工程應用技術。全書共分為3篇,其中,入門篇歸納總結了LabVIEW編程人員必須掌握的基礎知識,包括LabVIEW的基本概念、基本函數的用法和常用的運行結構,以及LabVIEW的基本數據結構和文件存儲方式;高級篇細致地講解了引用、屬性、方法及各類高級控件的運用,LabVIEW的文本方式編程及DLL、C語言接口,基於MATLAB語法的math*編程技術,LabVIEW基於組件的高級編程方法和編程模式;工程應用篇介紹了串口、並口和網絡通信的常用方法,數據採集的基本原理和方法,LabVIEW實時系統的構建和編程,以及各種常用專業工具包的使用方法,包括數據庫連接工具包、數據監控與記錄工具包、報表生成工具包、狀態圖工具包等。《LabVIEW寶典》可作為高等院校通信、測量技術、自動控制等相關課程的教材和教學參考書,也可作為相關工程技術人員設計開發儀器或自動測試系統的技術手冊。

目錄大綱

部分入門篇
第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 基本控件及其使用方法24
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 比較模式62
2.3.2 通用關係運算函數62
2.3.3 “比較0”關係運算函數63
2.3.4 複雜關係運算函數64
2.3.5 字符關係運算函數67
2.3.6 表達式節點與公式快速VI 67
2.4 群體函數69
2.4.1 集合與映射表函數選板69
2.4.2 創建集合69
2.4.3 集合的基本運算70
2.4.4 創建映射表70
2.4.5 註冊與註銷映射表71
2.5 小結72
第3章LabVIEW的程序運行結構73
3.1 兩種不同的循環結構73
3.1.1 For循環的組成和特點73
3.1.2 For循環與數組75
3.1.3 For循環與移位寄存器77
3.1.4 For循環中的continue和break 78
3.1.5 While循環,不僅僅是循環79
3.1.6 While循環與定時80
3.1.7 反饋節點86
3.2 定時結構86
3.2.1 定時循環的基本組成要素和配置對話框87
3.2.2 定時順序結構90
3.3 獨特的條件結構90
3.3.1 條件結構的基本結構90
3.3.2 布爾型輸入91
3.3.3 錯誤簇輸入91
3.3.4 數值型輸入91
3.3.5 枚舉型輸入92
3.3.6 下拉列表輸入93
3.3.7 字符串和組合框輸入93
3.3.8 輸入/輸出隧道93
3.3.9 多重If-Else的處理方法94
3.4 不和諧的順序結構94
3.4.1 多線程運行次序95
3.4.2 兩種不同的順序結構95
3.4.3 隧道與順序局部變量96
3.4.4 順序結構的替代97
3.4.5 順序結構的典型應用97
3.5 程序框圖禁用結構98
3.6 局部變量、內置全局變量和功能(LV2型)全局變量98
3.6.1 局部變量98
3.6.2 內置全局變量100
3.6.3 功能(LV2型)全局變量102
3.7 事件結構103
3.7.1 事件結構的基本構成和創建方法104
3.7.2 事件的分類及其特點105
3.7.3 事件結構之間的數據傳送與共享107
3.7.4 事件發生的次序、事件過濾和轉發108
3.7.5 正確地使用事件結構109
3.8 小結110
第4章LabVIEW的數據結構及內存優化111
4.1 常用數據類型轉換函數111
4.1.1 “強制類型轉換”函數111
4.1.2 “平化至字符串”函數與“從字符串還原”函數112
4.1.3 變體數據113
4.1.4 變體數據數據類型解析113
4.2 整數的類型轉換及內存映射114
4.2.1 布爾型數據與字符串和數值之間的相互轉換115
4.2.2 U8類型數據與字符串之間的相互轉換115
4.2.3 整數類型之間的相互轉換115
4.3 其他標量數據的類型轉換及內存映射116
4.3.1 定點數、浮點數的類型轉換與內存映射116
4.3.2 複數的類型轉換及內存映射119
4.3.3 時間標識的類型轉換與內存映射119
4.4 複合數據類型120
4.4.1 標量數組的內存映射120
4.4.2 字符串、路徑和字符串數組的內存映射121
4.4.3 LabVIEW使用的編碼122
4.5 簇的內存映射123
4.5.1 由標量組成的簇123
4.5.2 包含數組和字符串的簇123
4.6 類型描述符124
4.6.1 類型描述符的基本構成要素124
4.6.2 常用類型描述符列表124
4.6.3 常見數據類型的類型描述符結構125
4.7 OpenG中有關類型描述符的函數126
4.7.1 類型描述符函數127
4.7.2 利用類型描述符處理枚舉型數據128
4.7.3 利用類型描述符處理簇128
4.8 幾種常用的內存分析工具和方法128
4.8.1 內存的重要性129
4.8.2 內存和性能查看工具130
4.8.3 VI使用的內存131
4.8.4 優化內存的一般注意事項132
4.8.5 數組與內存優化133
4.8.6 避免在循環中進行不必要的計算、讀/寫控件或者變量136
4.9 影響VI運行速度的因素137
4.9.1 硬件輸入/輸出137
4.9.2 屏幕顯示138
4.10 小結138
第5章字符串與文件存儲139
5.1 字符串139
5.1.1 幾種常用的字符串常量139
5.1.2 幾種常用的字符串函數140
5.1.3 “匹配模式”和“匹配正則表達式”函數141
5.1.4 字符串與數值的相互轉換144
5.1.5 功能強大的“格式化字符串”函數和“掃描字符串”函數145
5.1.6 數組與電子表格字符串148
5.1.7 附加字符串函數148
5.2 文件存儲149
5.2.1 文本文件與二進製文件的區別149
5.2.2 文件常量和通用目錄、文件函數150
5.2.3 構造路徑的方法151
5.2.4 文本文件的讀/寫154
5.2.5 數據記錄文件的讀/寫158
5.2.6 讀/寫二進製文件159
5.2.7 INI文件的讀/寫161
5.2.8 XML文件的讀/寫163
5.2.9 註冊表的讀/寫165
5.2.10 TDM文件166
5.2.11 TDMS文件168
5.3 小結171
第2部分篇
第6章LabVIEW對象的解析174
6.1 LabVIEW控件對象的層次繼承結構174
6.1.1 布爾控件的層次繼承結構174
6.1.2 通用類的屬性175
6.1.3 圖形對像類177
6.2 圖形對像類的子類178
6.2.1 前面板類178
6.2.2 窗格類和分隔欄類179
6.2.3 LabVIEW的坐標映射180
6.2.4 修飾類182
6.3 控件類184
6.3.1 控件類的常用屬性184
6.3.2 控件類的常用方法186
6.3.3 數值控件類187
6.4 常用控件的專有屬性188
6.4.1 布爾控件的專有屬性189
6.4.2 枚舉控件和下拉列表控件的專有屬性189
6.4.3 字符串控件、路徑控件和組合框控件的專有屬性190
6.4.4 數組控件的屬性和方法192
6.4.5 簇的屬性及方法194
6.5 引用句柄195
6.6 VI的屬性197
6.6.1 獲取VI的引用句柄197
6.6.2 常用VI屬性197
6.7 常用VI方法200
6.7.1 獲取前面板、程序框圖和VI圖標的圖像201
6.7.2 打印控制201
6.7.3 默認值方法201
6.8 動態調用VI 202
6.8.1 靜態調用和動態調用的比較202
6.8.2 通過“引用節點調用”函數動態調用VI 203
6.8.3 一般類型VI的動態調用205
6.8.4 創建閃屏207
6.8.5 創建後台運行程序207
6.8.6 創建嚮導程序208
6.8.7 動態調用VI之間的數據交換209
6.9 應用程序的屬性和方法210
6.9.1 獲取應用程序的引用句柄210
6.9.2 應用程序的常用屬性211
6.10 小結212
第7章控件的運用213
7.1 列錶框213
7.1.1 列錶框的創建及顯示風格213
7.1.2 列錶框的常用屬性、方法與事件213
7.1.3 列錶框的應用舉例214
7.2 多列列錶框217
7.2.1 顯示多列項目並排序218
7.2.2 多列列錶框的製作220
7.3 表格220
7.3.1 表格的常用屬性和方法221
7.3.2 表格的應用舉例224
7.4 樹形控件228
7.4.1 樹形控件的創建與靜態編輯228
7.4.2 樹形控件的常用屬性、方法和事件229
7.4.3 樹形控件應用舉例231
7.5 波形圖表232
7.5.1 波形圖表的組成要件233
7.5.2 波形圖表的輸入類型235
7.5.3 波形圖表專用屬性235
7.5.4 波形圖表應用舉例237
7.6 波形圖238
7.6.1 波形圖控件的創建和組成要件239
7.6.2 波形圖控件的輸入類型239
7.6.3 波形圖控件的專用屬性242
7.6.4 波形圖控件的應用舉例244
7.7 XY圖246
7.7.1 XY圖的輸入數據類型247
7.7.2 XY圖的應用249
7.8 強度圖表和強度圖251
7.9 數字數據、數字波形數據與數字波形圖251
7.9.1 數字數據252
7.9.2 數字波形數據和數字波形圖252
7.10 圖片控件253
7.10.1 利用圖片控件顯示圖片253
7.10.2 常用繪圖操作函數255
7.10.3 圖片控件的應用257
7.11 小結259
第8章文本式編程與外部程序接口260
8.1 公式節點260
8.1.1 公式節點的數據類型、語法與控制結構260
8.1.2 公式節點的應用舉例262
8.2 調用庫函數263
8.2.1 DLL與API函數263
8.2.2 如何調用DLL函數265
8.2.3 常用API函數的調用270
8.2.4 LabVIEW調用DLL的局限性273
8.3 CIN 276
8.3.1 CIN創建的一般過程277
8.3.2 CIN的數據類型和常用函數279
8.3.3 CIN與內存管理器83
8.3.4 CIN的運行過程和數據共享286
8.4 系統命令289
8.5 剪貼板290
8.6 DDE庫291
8.6.1 DDE概述291
8.6.2 LabVIEW中的常用DDE方法292
8.7 ActiveX控件與ActiveX文檔294
8.7.1 ActiveX的基本概念294
8.7.2 ActiveX控件的調用過程294
8.7.3 ActiveX應用實例295
8.7.4 ActiveX自動化服務器297
8.8 .NET技術298
8.8.1 .NET控件298
8.8.2 .NET服務299
8.8.3 利用.NET創建托盤程序301
8.9 小結304
第9章MathScript 305
9.1 如何使用MathScript 305
9.1.1 使用MathScript節點305
9.1.2 使用MathScript交互窗口306
9.2 MathScript常用命令307
9.3 MathScript基礎知識308
9.3.1 創建向量和矩陣的基本方法308
9.3.2 矩陣的基本運算309
9.3.3 標準矩陣310
9.3.4 矩陣元素的插入、替換、刪除和提取310
9.3.5 矩陣元素的排序和搜索特徵值312
9.3.6 常用的矩陣變換函數313
9.3.7 矩陣中元素的數據類型及轉換314
9.3.8 關係運算、邏輯運算和位操作316
9.3.9 集合函數316
9.3.10 時間、日期和計時函數317
9.4 程序控制結構與函數318
9.4.1 For循環和While循環318
9.4.2 If條件結構和Switch分支條件結構319
9.4.3 函數和腳本文件320
9.5 數據統計和數據插值擬合322
9.5.1 常用數據統計函數322
9.5.2 數據插值325
9.6 多項式、積分和微分327
9.6.1 多項式327
9.6.2 極值與零點328
9.6.3 積分和微分329
9.7 數據的圖形顯示329
9.7.1 窗口類屬性與常用窗口操作函數330
9.7.2 繪圖區域屬性332
9.7.3 線對象和文本對象的屬性及常用函數334
9.7.4 基本繪圖函數335
9.8 小結338
0章組件、同步技術、面向對象編程339
10.1 數據的封裝與隔離339
10.1.1 合理地使用數據流339
10.1.2 LV2型全局變量340
10.1.3 值變化與上升、下降沿342
10.1.4 定時觸發與計數器344
10.2 動作機(Action Engine) 346
10.2.1 準備建立動作機346
10.2.2 建立動作機的步驟347
10.3 用戶事件與動態註冊事件348
10.3.1 用戶事件348
10.3.2 動態註冊事件351
10.4 堆棧與數據緩衝區352
10.4.1 堆棧的實現353
10.4.2 數據緩衝區354
10.5 同步控制技術354
10.5.1 隊列355
10.5.2 通知器360
10.5.3 信號量與集合點363
10.6 項目管理器364
10.6.1 項目管理器的結構364
10.6.2 虛擬文件夾365
10.6.3 庫365
10.7 面向對象編程367
10.7.1 面向對象編程的基本概念368
10.7.2 類的封裝特性368
10.7.3 類的繼承特性371
10.7.4 類的多態性374
10.7.5 類變量378
10.7.6 調用父類中的重寫方法378
10.7.7 類的引用轉換379
10.7.8 簡單工廠模式381
10.7.9 類的動態加載與插件功能381
10.7.10 類方法的遞歸功能382
10.7.11 類的單態模式382
10.7.12 接口383
10.8 自適應VI(VIM) 385
10.8.1 內置函數的自適應385
10.8.2 多態VI的缺點385
10.8.3 創建自適應VI 386
10.8.4 擴充自適應VI數據類型範圍387
10.8.5 限制自適應VI數據類型範圍388
10.9 利用通道在循環之間交換數據388
10.9.1 創建通道389
10.9.2 串流的基本概念與分類389
10.9.3 串流的基本用法390
10.9.4 Tag 392
10.9.5 消息器392
10.9.6 事件消息器394
10.10 小結396
1章人機交互與編程風格397
11.1 對話框397
11.1.1 內置對話框397
11.1.2 用戶輸入和顯示對話框398
11.1.3 對話框399
11.2 菜單399
11.2.1 創建靜態菜單399
11.2.2 菜單相關函數400
11.2.3 動態創建菜單402
11.2.4 調用多個靜態菜單,存儲運行時菜單403
11.2.5 自動觸發預定義的菜單項404
11.2.6 控件的快捷菜單404
11.3 光標工具405
11.3.1“設置為忙碌狀態”VI與“取消設置忙碌狀態”VI 406
11.3.2 設置控件光標406
11.3.3 使用光標文件406
11.4 選項卡、子麵板與分隔欄407
11.4.1 選項卡控件407
11.4.2 選項卡控件的頁面407
11.4.3 頁面的公用控件408
11.4.4 分隔欄控件408
11.4.5 分隔欄與窗格滾動條409
11.4.6 利用分隔欄創建工具欄與狀態欄409
11.4.7 利用分隔欄自動縮放控件410
11.4.8 子麵板控件410
11.4.9 動態調用VI插入子麵板411
11.4.10 異步調用VI插入子麵板412
11.4.11 並行的靜態調用VI插入子麵板412
11.4.12 在多個子麵板插入相同VI 413
11.4.13 判斷VI是否插入子麵板413
11.4.14 子麵板的屬性414
11.5 XControl 414
11.5.1 Hover按鈕415
11.5.2 新建XControl 415
11.5.3 修改數據控件和狀態控件415
11.5.4 “外觀”VI 416
11.5.5 創建屬性和方法418
11.5.6 調試XControl 419
11.5.7 自定義屬性對話框與快捷菜單420
11.6 錯誤處理421
11.6.1 錯誤簇421
11.6.2 常用錯誤處理函數422
11.7 LabVIEW的編程風格423
11.7.1 編程風格的內涵423
11.7.2 前面板設計應該遵循的原則424
11.7.3 程序框圖設計應該遵循的原則426
11.7.4 連線板設計應該遵循的原則427
11.7.5 圖標設計應該遵循的原則427
11.7.6 數據結構應該遵循的原則428
11.7.7 錯誤處理應該遵循的原則429
11.8 小結429
第3部分工程應用篇
2章LabVIEW設計模式與狀態圖工具432
12.1 程序的基本單元VI 432
12.1.1 VI的可重入屬性432
12.1.2 不可重入VI 432
12.1.3 可重入VI 433
12.2 VI模板與代碼重用434
12.2.1 內置的VI模板434
12.2.2 用戶自定義模板434
12.3 VI的調試435
12.3.1 連續運行VI 435
12.3.2 高亮執行436
12.3.3 單步運行436
12.3.4 探針436
12.3.5 自定義探針437
12.3.6 斷點437
12.4 VI的重構438
12.4.1 無用編程舉例438
12.4.2 查找框圖中重複的功能439
12.4.3 創建VI代替重複的功能440
12.4.4 創建多態VI處理相似的功能440
12.5 LabVIEW標准設計模式441
12.5.1 用戶界面事件處理器設計模式441
12.5.2 生產者/消費者設計模式(事件) 442
12.5.3 生產者/消費者設計模式(數據) 443
12.5.4 主/從設計模式443
12.6 用戶界面事件處理器模式的拓展444
12.6.1 用戶界面事件處理器+順序結構設計模式444
12.6.2 用戶界面事件處理器+用戶事件444
12.6.3 用戶界面事件處理器+超時分頻445
12.6.4 用戶界面事件處理器+定時循環446
12.7 隊列消息處理器(QMH)設計模式446
12.7.1 基本隊列消息處理器模式(字符串數組) 446
12.7.2 基本隊列消息處理器模式(字符串) 447
12.7.3 基於生產者/消費者設計模式(隊列)的隊列消息處理器447
12.7.4 AMC隊列消息處理器448
12.7.5 基於隊列消息處理器的命令模式450
12.8 有限狀態機設計模式451
12.8.1 標準狀態機設計模式452
12.8.2 早期界面處理狀態機452
12.8.3 順序狀態機453
12.8.4 處理公共狀態454
12.8.5 狀態機+用戶界面事件處理器454
12.8.6 進入、運行和離開狀態的處理455
12.8.7 有限狀態機+LVOOP 455
12.9 狀態圖工具458
12.9.1 調用狀態圖工具458
12.9.2 使用狀態圖編輯器458
12.9.3 添加轉換條件和狀態代碼458
12.9.4 選擇獨立運行或者子VI方式459
12.10 隊列消息狀態機460
12.10.1 通用隊列消息狀態機自定義模板460
12.10.2 消息+數據隊列狀態機461
12.10.3 事件驅動隊列消息狀態機462
12.11 JKI事件驅動隊列消息狀態機462
12.11.1 JKI狀態機模板463
12.11.2 JKI狀態機的初始化463
12.11.3 JKI狀態機的預定義事件464
12.11.4 JKI狀態機的退出465
12.12 簡單狀態機項目模板465
12.12.1 簡單狀態機項目模板的基本構成465
12.12.2 簡單狀態機466
12.12.3 簡單狀態機範例(有限次測量) 466
12.13 隊列消息處理器項目模板468
12.13.1 隊列消息處理器項目模板的基本構成468
12.13.2 隊列消息處理器468
12.13.3 隊列消息處理器的退出機制469
12.13.4 隊列消息處理器的錯誤處理機制470
12.13.5 隊列消息處理器的拓展470
12.14 Delacor隊列消息處理器472
12.14.1 DQMH項目模板的基本構成472
12.14.2 DQMH模塊的基本構成與對外接口473
12.14.3 DQMH模塊測試器474
12.14.4 DQMH模塊476
12.14.5 使用DQMH模塊476
12.15 操作執行者框架478
12.15.1 操作者框架概述479
12.15.2 創建操作者和消息479
12.15.3 啟動、停止操作者,發送消息至操作者481
12.15.4 創建操作者界面482
12.15.5 操作者的定時功能483
12.15.6 嵌套操作者484
12.15.7 嵌套操作者的動態啟動與停止485
12.16 操作者框架項目模板486
12.16.1 閃屏引導VI 486
12.16.2 操作者框架根操作者487
12.16.3 Alpha嵌套操作者488
12.16.4 Beta嵌套操作者489
12.17 狀態圖工具包(Statechart) 490
12.17.1 狀態圖工具包簡介490
12.17.2 同步與異步方式490
12.17.3 創建狀態圖491
12.17.4 同步型狀態圖492
12.17.5 狀態圖的調用和調試495
12.17.6 異步型狀態圖496
12.17.7 區域、 狀態和子狀態497
12.17.8 多區域並發、連接、分叉與子圖499
12.17.9 應用函數501
12.18 小結503
3章LabVIEW通信與DSC 504
13.1 串口通信504
13.1.1 串口通信的基本概念504
13.1.2 串口通信的準備工作505
13.1.3 串口通信函數507
13.1.4 串口通信典型應用舉例508
13.2 並口通信510
13.2.1 設置並口通信模式510
13.2.2 傳送字節型數據510
13.2.3 傳送EPP模式數據511
13.3 共享變量512
13.3.1 共享變量與共享變量引擎512
13.3.2 創建與監視共享變量513
13.3.3 共享變量的內部緩衝機制515
13.3.4 共享變量的批量創建、部署與引用516
13.4 DataSocket 518
13.4.1 DataSocket支持的協議與URL 518
13.4.2 DataSocket服務器與服務管理器519
13.4.3 DataSocket API 520
13.4.4 DataSocket API應用舉例521
13.4.5 DataSocket控件綁定522
13.5 TCP與UDP網絡通信523
13.5.1 TCP通信523
13.5.2 TCP STM庫524
13.5.3 UDP通信525
13.6 網絡流526
13.6.1 在應用程序之間傳遞命令或者數據526
13.6.2 網絡流基本函數527
13.6.3 創建網絡流URL 527
13.6.4 網絡流應用舉例528
13.7 DSC工具包529
13.7.1 OPC與DSC的基本概念529
13.7.2 DSC強大的圖形顯示能力531
13.7.3 OPC配置與I/O變量531
13.7.4 Modbus 534
13.7.5 共享變量的屬性536
13.7.6 共享變量引擎SVE函數537
13.7.7 預警與事件539
13.7.8 數據記錄542
13.7.9 安全與權限管理546
13.8 小結548
4章數據庫與報表工具包549
14.1 準備使用數據庫連接工具包549
14.1.1 創建數據庫549
14.1.2 建立數據源550
14.1.3 數據庫工具包支持的數據類型551
14.1.4 ADO模型552
14.2 數據庫基本操作552
14.2.1 建立連接552
14.2.2 表操作554
14.2.3 插入數據555
14.2.4 讀取數據556
14.2.5 記錄集與數據瀏覽558
14.2.6 事務與提交561
14.2.7 使用命令對象和SQL語句562
14.3 報表與報表工具包563
14.3.1 LabVIEW中的報表VI 563
14.3.2 VI說明信息與HTML報表565
14.3.3 報表佈局與報表VI 566
14.3.4 利用Word和Excel模板創建報表567
14.4 利用報表工具包操作Excel 568
14.4.1 常用的簡單Excel VI 568
14.4.2 單元格格式570
14.4.3 圖表與圖片VI 571
14.4.4 Excel通用VI和VI 572
14.5 利用報表工具包操作Word 574
14.5.1 Word簡單VI 574
14.5.2 Word通用VI 575
14.5.3 Word表格與圖表VI 576
14.6 小結577
5章LabVIEW與實時操作系統578
15.1 實時操作系統578
15.1.1 實時操作系統的特點與實現578
15.1.2 操作系統的有關名詞解釋579
15.1.3 LabVIEW中的實時開發軟件580
15.1.4 LabVIEW支持的實時操作系統581
15.1.5 LabVIEW實時平台概述581
15.2 實時控制器軟件的安裝及配置583
15.2.1 配置實時系統BIOS(PXI) 583
15.2.2 在MAX下安裝PXI實時軟件584
15.2.3 識別遠程設備584
15.2.4 建立實時項目585
15.3 實時應用軟件編程及技巧586
15.3.1 在實時操作系統下LabVIEW不支持的特性587
15.3.2 實時操作系統下的多線程587
15.3.3 實時系統中時間確定性的實現590
15.3.4 實時系統中的線程間通信594
15.3.5 實時控制系統的網絡通信597
15.3.6 實時控制系統的軟件架構604
15.4 小結607
6章LabVIEW實現數據採集608
16.1 數據採集的基本概念608
16.1.1 信號608
16.1.2 傳感器609
16.1.3 信號處理610
16.2 數據採集卡612
16.2.1 數據採集卡的定義及分類612
16.2.2 多功能數據採集卡原理圖613
16.2.3 數據採集的關鍵參數和概念613
16.2.4 數據採集卡與信號接地618
16.3 採樣定理620
16.4 降低系統噪聲和提高精度622
16.5 如何選購採集卡624
16.6 數據採集軟件基礎625
16.6.1 採集系統的安裝625
16.6.2 NI採集卡的常用函數628
16.6.3 研華常用採集函數632
16.7 基於NI-DAQmx的編程633
16.7.1 觸發信號633
16.7.2 採集系統時鐘635
16.7.3 多闆卡之間的同步採集638
16.7.4 數據傳輸機制640
16.7.5 完整波形輸出643
16.7.6 並行結構採集644
16.7.7 通過硬件信號觸發定時循環運行645
16.7.8 使用NI-DAQmx的事件編寫事件驅動程序646
16.7.9 選擇合適的讀取策略647
16.7.10 使用NI-DAQmx控制任務安全終止採集649
16.7.11 計數器/定時器及其應用650
16.8 小結654
7章FPGA開發655
17.1 FPGA的基本概念與CRIO的組成655
17.1.1 FPGA的基本概念655
17.1.2 CRIO的構成656
17.1.3 構建FPGA項目657
17.2 FPGA編程658
17.2.1 FPGA基本I/O之模擬量輸入/輸出658
17.2.2 FPGA基本I/O之數字量輸入/輸出659
17.2.3 FPAG定時、時鐘與分頻661
17.2.4 FPGA計數器應用662
17.2.5 觸發與外部時鐘循環665
17.2.6 FPGA常用函數666
17.2.7 FPGA多線程與線程之間的數據交換668
17.2.8 FPGA IP Core 672
17.3 FPGA與RT程序之間的數據交換672
17.3.1 讀寫控件方式672
17.3.2 中斷673
17.3.3 FIFO 675
17.3.4 掃描方式677
17.3.5 專用C模塊681
17.3.6 FPGA程序的優化683
17.4 Spartan-3E開發板685
17.4.1 Spartan-3E開發板簡介685
17.4.2 建立Spartan-3E FPGA項目686
17.4.3 編譯FPGA程序687
17.5 小結688