LabVIEW實用工具詳解

LabVIEW實用工具詳解

《LabVIEW實用工具詳解》是2014年9月電子工業出版社出版的圖書,作者是陳樹學。

基本介紹

  • 中文名:LabVIEW實用工具詳解
  • 作者:陳樹學
  • 頁數:488頁
  • 出版社:電子工業出版社
圖書信息,內容簡介,內容提要,目錄,前言,

圖書信息

書名:LabVIEW實用工具詳解
作者:陳樹學 編著
ISBN:978-7-121-24012-6
頁數:488頁
定價:69.00元
出版社:電子工業出版社
出版時間:2014年9月出版
開本:16開

內容簡介

作為在一線摸爬滾打幾十年的工程師,我們遇到過千千萬萬具體的問題,這些問題的解決往往具有一定的通用性,能夠幫助讀者解決很多問題,因此我們就有了出版這本《LabVIEW 實用工具詳解》的想法。我們在《LabVIEW 實用工具詳解》中創建了大量的LabVIEW 實用工具,並從讀者非常熟悉的具體問題出發,說明了解決這些具體問題的方法。這些實用工具包括數列工具、常用幾何工具,等等。在這個基礎上,我們針對電子、測試測量以及工業自動化專業創建了大量的相關工具,比如暫存器、觸發器、比較器、定時器、計數器,等等。這些工具的實現原理,與相關的硬體基本原理是非常相似的,而且只要稍作修改就能套用到具體的工作、科研場景中。
《LabVIEW 實用工具詳解》中創建了多種常用的複雜數據結構工具,這些內容對於非計算機專業的工程技術人員來說,實現起來比較困難,但在實際編程中,又經常會遇到。《LabVIEW 實用工具詳解》精心封裝了這些常用的數據結構,讀者可以直接在項目中使用。《LabVIEW 實用工具詳解》針對LabVIEW 工程技術人員詳細介紹了各種界面布局技術以及常用的程式設計模式和框架,相信讀者會找到適合自己實際需要的模式,不斷提高解決具體問題的能力。

內容提要

作為在一線摸爬滾打幾十年的工程師,我們遇到過千千萬萬具體的問題,這些問題的解決往往具有一定的通用性,能夠幫助讀者解決很多問題,因此我們就有了出版這本《LabVIEW 實用工具詳解》的想法。我們在《LabVIEW 實用工具詳解》中創建了大量的LabVIEW 實用工具,並從讀者非常熟悉的具體問題出發,說明了解決這些具體問題的方法。這些實用工具包括數列工具、常用幾何工具,等等。在這個基礎上,我們針對電子、測試測量以及工業自動化專業創建了大量的相關工具,比如暫存器、觸發器、比較器、定時器、計數器,等等。這些工具的實現原理,與相關的硬體基本原理是非常相似的,而且只要稍作修改就能套用到具體的工作、科研場景中。
《LabVIEW 實用工具詳解》中創建了多種常用的複雜數據結構工具,這些內容對於非計算機專業的工程技術人員來說,實現起來比較困難,但在實際編程中,又經常會遇到。《LabVIEW 實用工具詳解》精心封裝了這些常用的數據結構,讀者可以直接在項目中使用。《LabVIEW 實用工具詳解》針對LabVIEW 工程技術人員詳細介紹了各種界面布局技術以及常用的程式設計模式和框架,相信讀者會找到適合自己實際需要的模式,不斷提高解決具體問題的能力。

目錄

第1 章 簡單數學工具(VI).................................. 1
1.1 溫度轉換工具............................................ 1
1.1.1 定製函式選板............................... 2
1.1.2 創建溫度轉換工具....................... 3
1.1.3 使用庫管理溫度轉換VI ............ 14
1.1.4 定製溫度轉換工具至LabVIEW
函式選板..................................... 16
1.1.5 利用單位進行自動溫度轉換...... 17
1.1.6 時間差工具................................. 20
1.2 常用數列工具.......................................... 21
1.2.1 使用幫助快速定位結構和函式... 21
1.2.2 自然數平方和............................. 22
1.2.3 自然數倒數和............................. 23
1.2.4 斐波那契數列............................. 24
1.2.5 完全平方數................................. 25
1.2.6 階乘構成的數列之和.................. 26
1.2.7 利用數列計算PI 值.................... 27
1.3 角度與弧度的相互轉換(讀者練習)... 27
1.3.1 角度轉換為弧度......................... 27
1.3.2 弧度轉換為角度......................... 28
1.3.3 創建多態弧度角度轉換VI,並添加到函式選板...................... 28
第2 章 基本數學工具........................................... 29
2.1 牛頓疊代法.............................................. 29
2.1.1 利用牛頓疊代法求平方根.......... 29
2.1.2 利用牛頓疊代法求立方根.......... 30
2.1.3 利用牛頓疊代法求N 次方根..... 30
2.2 鉑電阻、熱敏電阻、熱電偶線性化....... 31
2.2.1 鉑電阻PT100.............................. 32
2.2.2 PT100 溫度阻值轉換器.............. 35
2.2.3 熱敏電阻(讀者練習).............. 36
2.2.4 熱電偶......................................... 37
2.3 隨機數發生器.......................................... 38
2.3.1 0~1 隨機數發生器...................... 38
2.3.2 指定範圍的隨機數..................... 41
2.3.3 1~N 區間的自然數隨機排列...... 42
2.4 常用幾何工具.......................................... 43
2.4.1 幾何點工具................................. 43
2.4.2 直線工具..................................... 45
2.4.3 三角形基本公式......................... 49
2.4.4 三角形工具VI ............................ 51
第3 章 常用邏輯電路工具.................................... 54
3.1 值改變、邊沿檢測、暫存器................... 54
3.1.1 未初始化的移位暫存器(SR)與未初始化的反饋節點.............. 54
3.1.2 值改變......................................... 54
3.1.3 邊沿檢測..................................... 56
3.1.4 暫存器......................................... 57
3.2 觸發器...................................................... 59
3.2.1 RS 觸發器與SR 觸發器............. 59
3.2.2 JK 觸發器.................................... 60
3.2.3 同步D 觸發器............................. 61
3.2.4 T 觸發器...................................... 61
3.3 比較器...................................................... 62
3.3.1 數據交換器................................. 62
3.3.2 基本比較器................................. 63
3.3.3 峰值比較器................................. 64
3.3.4 奇偶比較器................................. 64
3.3.5 三段比較器................................. 65
3.3.6 四段比較器................................. 65
3.3.7 多段比較器................................. 65
3.3.8 通斷器......................................... 66
3.3.9 過零比較器................................. 67
3.3.10 比較選擇器................................. 68
3.3.11 限幅器......................................... 69
第4 章 常用邏輯編程工具.................................... 70
4.1 位操作工具VI ......................................... 70
4.1.1 位禁止符..................................... 70
4.1.2 置位............................................. 70
4.1.3 復位操作..................................... 71
4.1.4 位翻轉操作................................. 71
4.1.5 位狀態......................................... 72
4.1.6 清零............................................. 72
4.1.7 布爾數組與位操作...................... 72
4.2 運算器...................................................... 72
4.2.1 加法運算器................................. 72
4.2.2 減法運算器................................. 73
4.2.3 乘法運算器................................. 73
4.2.4 除法運算器(分頻器).............. 74
4.3 計數器...................................................... 74
4.3.1 逐點分析庫中的計數器.............. 74
4.3.2 加計數器..................................... 75
4.3.3 減計數器..................................... 75
4.3.4 加減計數器................................. 76
4.3.5 自動復位加計數器..................... 77
4.3.6 自動載入減計數器..................... 77
4.3.7 n 分頻器...................................... 77
4.3.8 計數器級聯................................. 77
4.4 定時器...................................................... 78
4.4.1 內置的時間計數器函式.............. 78
4.4.2 高精度相對於秒的時間計數器... 78
4.4.3 時間計數器工具VI .................... 79
4.4.4 周期觸發定時器......................... 79
4.4.5 延遲接通定時器......................... 80
4.4.6 延遲斷開定時器......................... 83
4.4.7 已用時間定時器......................... 84
4.4.8 脈衝定時器................................. 84
4.4.9 記憶延遲接通定時器................. 85
4.5 整點定時鬧鐘.......................................... 86
4.5.1 整點(時分秒)鬧鐘................. 86
4.5.2 指定時刻(時分秒)鬧鐘.......... 87
4.5.3 指定多時刻(時分秒)鬧鐘...... 87
4.5.4 等間隔(時分秒)鬧鐘.............. 88
4.5.5 任意時刻鬧鐘............................. 88
4.5.6 已用時間定時器(時鐘).......... 89
4.6 開關去抖動.............................................. 89
4.6.1 延遲讀去抖動............................. 89
4.6.2 過濾去抖動................................. 90
4.7 門電路測試器.......................................... 91
4.7.1 自動生成測試數據..................... 91
4.7.2 創建模擬器................................. 92
4.7.3 自動生成真值表......................... 93
4.7.4 三輸入門電路測試VI ................ 93
第5 章 數值工具與數組工具................................ 94
5.1 數值與位數工具...................................... 94
5.1.1 數值至位數工具......................... 94
5.1.2 位至數值工具............................. 95
5.1.3 數值位數工具............................. 95
5.2 數值圓整工具與浮點數拆分工具........... 95
5.2.1 圓整到2 的N 次方(對數)..... 95
5.2.2 圓整到2 的N 次方(布爾)..... 96
5.2.3 圓整至基數的倍數..................... 96
5.2.4 拆分浮點數(商與餘數).......... 97
5.2.5 拆分浮點數(圓整函式).......... 97
5.3 簡單離散數學工具.................................. 98
5.3.1 判斷閏年工具............................. 98
5.3.2 階乘工具..................................... 98
5.3.3 階乘工具(對數) ..................... 99
5.3.4 組合工具(公式法)................ 100
5.3.5 組合工具(簡化公式法)........ 100
5.3.6 排列工具................................... 100
5.3.7 最大公約數工具....................... 101
5.3.8 最低公倍數工具....................... 101
5.3.9 所有因子工具........................... 102
5.3.10 完全數工具............................... 102
5.3.11 水仙花數工具........................... 102
5.4 索引數組工具........................................ 103
5.4.1 LabVIEW 2012 隧道操作新特性....................................... 103
5.4.2 索引1D 數組工具..................... 104
5.4.3 行列索引2D 數組工具............. 104
5.4.4 依行或列索引2D 數組工具..... 105
5.5 數組相鄰元素計算工具......................... 105
5.5.1 相鄰元素的加法運算工具........ 105
5.5.2 相鄰元素的減法運算工具........ 106
5.5.3 相鄰元素的乘法運算工具........ 106
5.5.4 相鄰元素的除法運算工具........ 107
5.5.5 相鄰元素的定製算法運算工具... 107
5.5.6 相鄰元素的其他算法運算工具... 108
5.6 數組搜尋工具........................................ 109
5.6.1 搜尋1D 數組所有匹配元素工具........................................... 109
5.6.2 搜尋2D 數組所有匹配元素工具........................................... 110
5.6.3 搜尋2D 數組所有匹配元素(2D 轉化為1D)工具............ 110
5.7 交換數組元素工具................................ 111
5.7.1 交換1D 數組元素工具............. 111
5.7.2 交換2D 數組元素工具............. 111
5.7.3 交換數組相鄰元素工具............ 112
5.8 條件查找數組元素工具......................... 113
5.8.1 條件查找1D 數組工具............. 113
5.8.2 條件查找2D 數組工具............. 113
5.9 查找替換數組元素工具......................... 114
5.9.1 查找替換1D 數組元素工具..... 114
5.9.2 查找替換2D 數組元素工具..... 114
5.10 數組排序工具...................................... 115
5.10.1 1D 數組排序工具.................... 115
5.10.2 1D 複數數組排序工具............ 115
5.10.3 2D 數組排序工具.................... 116
5.11 刪除數組元素工具.............................. 117
5.11.1 刪除1D 數組元素工具........... 117
5.11.2 刪除2D 數組元素工具........... 117
5.12 過濾數組元素工具.............................. 118
5.12.1 過濾單個數組元素工具.......... 118
5.12.2 過濾多個數組元素工具.......... 118
5.13 2D 數組鏡像工具................................. 119
5.13.1 2D 數組垂直鏡像工具............ 119
5.13.2 2D 數組水平鏡像工具............ 119
5.13.3 2D 數組旋轉90°工具............. 120
5.14 1D 數組集合工具................................. 120
5.14.1 去除1D 數組重複元素工具... 120
5.14.2 1D 數組並集集合工具............ 122
5.14.3 1D 數組交集集合工具............ 122
5.14.4 1D 數組補集集合工具............ 122
第6 章 字元串與路徑工具.................................. 124
6.1 常用字元串工具.................................... 124
6.1.1 添加引號、百分號工具............ 124
6.1.2 刪除引號工具........................... 125
6.1.3 行結束符(EOL)工具............ 126
6.1.4 字元串填充工具....................... 126
6.1.5 緩衝字元串工具....................... 128
6.1.6 連線與拆分字元串工具............ 129
6.2 ASCII 表工具......................................... 130
6.2.1 擴展ASCII 表........................... 130
6.2.2 基本ASCII 表........................... 131
6.3 特殊字元................................................ 133
6.3.1 特殊字元下拉列表................... 133
6.3.2 特殊字元下拉列表的使用方法... 134
6.3.3 特殊字元枚舉控制項................... 134
6.4 編碼工具................................................ 135
6.4.1 英文字元與Unicode 的相互轉換........................................... 135
6.4.2 LabVIEW 字元串轉換為Unicode 字元串(API)........... 136
6.4.3 LabVIEW 字元串轉換至UTF8(內置函式) ........................... 137
6.4.4 .NET 編碼工具.......................... 137
6.5 字元串的加密與解密............................ 139
6.5.1 按位翻轉工具........................... 139
6.5.2 異或加密解密工具................... 140
6.5.3 查表法加密解密工具................ 140
6.6 正則表達式............................................ 141
6.6.1 十進制整數的正則表達式........ 141
6.6.2 二進制、八進制與十六進制整數的正則表達式........................ 143
6.6.3 浮點數正則表達式................... 143
6.7 常用路徑工具........................................ 144
6.7.1 有效路徑工具........................... 144
6.7.2 應用程式資料夾路徑工具........ 144
6.7.3 支持檔案路徑工具.................... 145
第7 章 基本數據結構工具.................................. 146
7.1 功能型全局變數.................................... 146
7.1.1 利用反饋節點創建讀寫功能全局變數................................... 146
7.1.2 利用反饋節點創建唯讀功能全局變數................................... 147
7.1.3 利用反饋節點創建可初始化功能全局變數............................ 147
7.1.4 利用循環創建可初始化功能全局變數................................... 148
7.1.5 創建功能全局變數模板............ 149
7.1.6 全局停止工具........................... 150
7.2 累加器、均值器與收集器..................... 152
7.2.1 累加器....................................... 152
7.2.2 均值器....................................... 153
7.2.3 收集器....................................... 154
7.3 動作機.................................................... 156
7.3.1 創建抽象的數據類型................ 156
7.3.2 抽象數據映射........................... 157
7.3.3 創建動作機............................... 158
7.4 字典........................................................ 159
7.4.1 字典類的私有數據.................... 159
7.4.2 字典類的屬性........................... 160
7.4.3 獲取字典內容方法.................... 160
7.4.4 添加方法................................... 161
7.4.5 添加範圍方法........................... 162
7.4.6 刪除方法與刪除範圍方法........ 162
7.4.7 清除方法................................... 163
7.4.8 索引方法................................... 163
7.4.9 根據鍵獲取鍵值方法................ 164
7.4.10 字典類轉換為組合框方法........ 164
7.4.11 組合框轉換為字典類方法........ 164
7.4.12 字典類存儲對象的擴展............ 165
第8 章 高級數據結構工具.................................. 166
8.1 反饋節點FIFO....................................... 166
8.1.1 配置反饋節點延遲屬性............ 166
8.1.2 反饋節點FIFO 套用舉例......... 166
8.2 數組FIFO............................................... 167
8.2.1 數組FIFO 項目庫..................... 167
8.2.2 數組FIFO 工具輸入端子與輸出端子................................... 167
8.2.3 數組FIFO 工具初始化動作..... 168
8.2.4 數組FIFO 元素的添加與移除動作........................................... 168
8.2.5 數組FIFO 套用舉例................. 169
8.3 佇列FIFO 動作機.................................. 169
8.3.1 佇列FIFO 項目庫..................... 170
8.3.2 佇列FIFO 動作機輸入端子與輸出端子........................................... 170
8.3.3 佇列FIFO 的初始化動作......... 171
8.3.4 佇列FIFO 的釋放佇列動作..... 171
8.3.5 佇列FIFO 的加入元素動作與當前佇列動作........................... 172
8.3.6 佇列FIFO 套用舉例................. 172
8.4 LVOOP 佇列FIFO ................................ 172
8.4.1 創建LVOOP 佇列FIFO 的私有數據(佇列引用)............ 173
8.4.2 LVOOP 佇列FIFO 初始化方法... 174
8.4.3 LVOOP 佇列FIFO 釋放方法... 174
8.4.4 LVOOP 佇列FIFO 的添加元素方法................................... 175
8.4.5 LVOOP 佇列FIFO 的狀態方法... 175
8.4.6 LVOOP 佇列FIFO 套用舉例.... 175
8.5 數組堆疊................................................ 175
8.5.1 數組堆疊項目庫....................... 176
8.5.2 數組堆疊動作機輸入端子與顯示端子................................... 176
8.5.3 數組堆疊動作機....................... 177
8.5.4 數組堆疊套用舉例................... 178
8.6 佇列堆疊................................................ 179
8.6.1 佇列三種入隊方式................... 179
8.6.2 佇列堆疊動作機....................... 179
8.6.3 佇列堆疊套用舉例................... 180
8.7 LVOOP 佇列堆疊.................................. 181
8.7.1 定義佇列堆疊類的私有數據.... 181
8.7.2 佇列堆疊的初始化方法與釋放方法................................... 182
8.7.3 佇列堆疊的進棧方法與出棧方法........................................... 182
8.8 批量功能型全局變數(內置)............. 182
8.8.1 lvconfig.llb 庫............................ 183
8.8.2 封裝lvconfig.llb 庫函式........... 183
8.8.3 批量功能全局變數套用舉例.... 184
8.9 哈希表.................................................... 184
8.9.1 變體屬性與哈希表................... 185
8.9.2 哈希表數據結構工具庫............ 185
8.9.3 創建核心TagVar Data 動作機... 185
8.9.4 TagVar Data 動作機接口.......... 189
8.9.5 TagVar Data 動作機套用舉例.... 190
8.10 MemBlock 工具................................... 191
8.10.1 MemBlock 項目庫................... 191
8.10.2 MemBlock 動作機................... 191
8.10.3 標籤列表動作機..................... 192
8.10.4 MemBlock 初始化接口........... 194
8.10.5 MemBlock 讀取接口............... 194
8.10.6 MemBlock 寫入接口............... 194
8.10.7 MemBlock 靜態讀取接口....... 195
第9 章 API 與動態程式庫工具.......................... 196
9.1 常用API 函式........................................ 196
9.1.1 常用API 函式項目庫............... 196
9.1.2 視窗句柄工具........................... 197
9.1.3 視窗圖示設定工具................... 198
9.1.4 模擬擊鍵工具........................... 198
9.1.5 模擬滑鼠工具........................... 200
9.1.6 系統工具................................... 202
9.2 創建DLL ............................................... 206
9.2.1 利用CVI 項目模板來創建DLL項目........................................... 207
9.2.2 添加C 函式與創建DLL .......... 207
9.2.3 LabVIEW 載入DLL................. 208
9.3 可以直接傳遞的LabVIEW 基本數據類型....................................................... 209
9.3.1 傳遞指向標量數據類型的指針... 209
9.3.2 傳遞指向一維標量數組的指針... 210
9.3.3 傳遞指向二維標量數組的指針... 211
9.3.4 傳遞指向簡單對齊數值結構的指針....................................... 212
9.3.5 傳遞簡單結構........................... 213
9.3.6 傳遞字元串............................... 214
9.3.7 傳遞嵌套的簡單數值結構指針... 215
9.3.8 傳遞包含數組的結構................ 216
9.4 結構中元素對齊.................................... 217
9.4.1 對齊問題的產生....................... 217
9.4.2 結構體對齊的基本原則............ 218
9.4.3 編程設定對齊方式................... 218
9.5 DLL 函式返回指針的處理.................... 219
9.5.1 打包DLL 函式.......................... 220
9.5.2 GetValueByPointer 工具........... 220
9.5.3 C 接口函式................................ 221
第10 章 .NET 工具............................................. 223
10.1 通用對話框.......................................... 223
10.1.1 如何使用.NET 構造器............. 223
10.1.2 顏色對話框............................. 223
10.1.3 字型對話框............................. 224
10.1.4 打開檔案對話框..................... 225
10.1.5 訊息框..................................... 226
10.2 集合類.................................................. 226
10.2.1 疊代器..................................... 226
10.2.2 .NET 佇列數據結構................ 227
10.2.3 .NET 哈希表............................ 228
10.2.4 動態數組................................. 229
10.3 狀態條控制項.......................................... 229
10.3.1 圖像列表控制項......................... 229
10.3.2 工具標籤、進度條與分隔條... 230
10.3.3 狀態欄控制項類......................... 231
10.3.4 狀態欄控制項套用實例.............. 232
10.4 列表視圖.............................................. 233
10.4.1 列表視圖類............................. 233
10.4.2 列表視圖類的重要方法與屬性.......................................... 234
10.4.3 列表視圖套用舉例................. 236
10.5 DataGridView 控制項.............................. 237
10.5.1 Data Column 類....................... 237
10.5.2 Data Table 類........................... 238
10.5.3 Data Set 類............................... 239
10.5.4 DataGridView 套用示例......... 240
10.6 .NET 串口通信..................................... 243
10.6.1 串口類..................................... 243
10.6.2 寫入文本行與讀取文本行...... 244
10.6.3 寫入文本與讀取文本.............. 245
10.6.4 寫入位元組數組與讀取位元組數組......................................... 246
10.6.5 串口接收事件......................... 246
10.7 .NET 傳送電子郵件............................. 248
10.7.1 Email 類................................... 248
10.7.2 Email 類的重要方法............... 248
10.7.3 Email 類高級接口方法........... 250
10.7.4 郵件類套用實例..................... 250
10.8 .NET 系統工具..................................... 251
10.8.1 目錄與檔案管理工具.............. 251
10.8.2 驅動器信息工具..................... 252
10.8.3 進程管理工具......................... 252
10.8.4 系統管理類............................. 253
10.8.5 管理對象查詢庫..................... 254
第11 章 VI Scripting........................................... 256
11.1 套用類工具.......................................... 256
11.1.1 套用類工具庫......................... 256
11.1.2 GUID 工具.............................. 256
11.1.3 獲取記憶體中所有VI 工具....... 257
11.1.4 Tag 工具.................................. 257
11.1.5 ClassID 和ClassName 工具.... 258
11.1.6 AppName、AppDir、AppData工具......................................... 259
11.1.7 判斷運行環境與退出LabVIEW 工具........................ 260
11.1.8 系統工具................................. 260
11.1.9 VI 相關工具............................ 261
11.1.10 剪貼簿工具............................. 261
11.1.11 VI 標籤工具............................ 262
11.1.12 全局數據工具......................... 263
11.1.13 App 類其他工具...................... 263
11.2 VI 類工具............................................. 264
11.2.1 獲取VI 引用工具................... 264
11.2.2 讀取和寫入控制項值工具.......... 265
11.2.3 保存前面板和程式框圖到圖片工具................................. 267
11.2.4 列印VI 到HTML 檔案並在瀏覽器中顯示工具................. 267
11.2.5 工具列顯示控制工具.............. 268
11.2.6 讀取和設定運行選單.............. 268
11.2.7 前面板布爾類型屬性工具...... 269
11.2.8 讀取和設定前面板視窗邊界與面板邊界工具..................... 269
11.2.9 設定前面板居中顯示工具...... 270
11.2.10 讀取與設定前面板的狀態工具......................................... 270
11.2.11 設定前面板原點工具.............. 271
11.2.12 打開、居中與關閉前面板工具......................................... 271
11.2.13 獲取前面板引用與前面板句柄工具................................. 271
11.2.14 獲取前面板子對象引用.......... 272
11.2.15 獲取具有焦點控制項的引用...... 272
11.2.16 VI 標籤工具............................ 273
11.3 通用控制項類工具.................................. 273
11.3.1 操作控制項值工具...................... 273
11.3.2 讀寫控制項的禁用、可見與閃爍工具................................. 274
11.3.3 讀寫控制項的位置、邊界工具... 274
11.3.4 讀寫控制項的說明與提示框信息工具..................................... 275
11.3.5 通用對象屬性工具.................. 276
11.3.6 獲取標籤與標題引用工具...... 276
11.3.7 控制項分組與鎖定工具.............. 276
11.3.8 獲取控制項UID 工具................ 277
11.3.9 獲取控制項或接線端的圖片工具......................................... 277
11.3.10 控制項的高亮顯示方法與控制項重新初始化為默認值方法..... 278
11.3.11 控制項標籤工具......................... 278
11.3.12 LabVIEW 內置的標籤工具.... 278
11.4 IDE 工具............................................... 279
11.4.1 LabVIEW 的重要資料夾........ 279
11.4.2 IDE Menu 存儲工具............... 280
11.4.3 LabVIEW內置的Menu Launch工具......................................... 280
11.4.4 VI 高級統計工具.................... 281
11.4.5 控制項接線端圖示顯示工具...... 281
11.5 VI Scripting 自動生成VI 工具............ 282
11.5.1 VI 腳本函式............................ 282
11.5.2 放置控制項、函式與結構.......... 283
11.5.3 內置的未公開的裝飾控制項...... 284
11.5.4 內置的未公開的控制項............. 285
11.5.5 內置的未公開CIN 函式......... 285
11.5.6 自動生成枚舉控制項、下拉列表控制項、組合框控制項............. 285
11.5.7 字元串類型條件結構自動生成工具..................................... 287
第12 章 列表框、表格和樹形控制項套用工具.... 289
12.1 列表框.................................................. 289
12.1.1 列表框工具庫......................... 289
12.1.2 列表框常用屬性工具............. 290
12.1.3 漸變顏色工具......................... 292
12.1.4 交替與漸進背景色列表框工具......................................... 293
12.1.5 用戶自定義符號動作機.......... 293
12.1.6 列表框項目操作工具............. 294
12.1.7 列表框套用舉例..................... 295
12.2 多列列表框工具.................................. 296
12.2.1 多列列表框工具庫................. 297
12.2.2 四通道模擬數據採集............. 297
12.2.3 多列列表框嵌入其他類型控制項......................................... 298
12.3 表格控制項工具...................................... 301
12.3.1 表格控制項工具庫..................... 302
12.3.2 表格控制項特有的工具............. 302
12.3.3 表格控制項套用舉例................. 305
12.4 樹控制項工具.......................................... 307
12.4.1 樹形控制項工具庫..................... 307
12.4.2 樹形控制項工具庫的基本用法.... 308
12.4.3 樹形控制項顯示INI 檔案內容.... 309
12.4.4 樹形控制項內置的拖動功能...... 310
12.4.5 樹形控制項拖動功能(內置數據源)..................................... 310
12.4.6 父項與子項............................. 311
12.4.7 動態更新項目......................... 313
12.4.8 設定自定義符號..................... 314
第13 章 圖片實用工具....................................... 316
13.1 顏色工具.............................................. 316
13.1.1 圖片工具庫............................. 316
13.1.2 RGB 和HSL 顏色轉換工具... 316
13.1.3 系統顏色工具......................... 318
13.1.4 顏色漸變工具......................... 319
13.2 矩形工具.............................................. 321
13.2.1 矩形不同表達形式的相互轉換工具..................................... 321
13.2.2 矩形操作基本工具.................. 321
13.2.3 偏移矩形工具......................... 322
13.3 基本形狀繪製工具.............................. 323
13.3.1 基本圖形繪製工具的底層工具......................................... 323
13.3.2 箭頭工具................................. 324
13.3.3 繪製旋轉矩形工具.................. 325
13.3.4 繪製星形工具......................... 325
13.3.5 其他基本圖形繪製工具.......... 326
13.4 漸變圖形繪製工具.............................. 326
13.4.1 漸變圓形繪製工具.................. 326
13.4.2 漸變矩形繪製工具.................. 327
13.4.3 提取圖片像素點工具.............. 327
13.5 圖片工具套用舉例.............................. 328
13.5.1 利用圖片檔案禁止圖片.......... 328
13.5.2 編程繪製禁止圖片.................. 329
13.5.3 移動圖片................................. 329
13.5.4 RGB 通道................................ 330
13.5.5 圖片的透明疊加..................... 331
13.5.6 圖示瀏覽器............................. 332
13.5.7 滾動字幕................................. 333
13.5.8 RGB 圖像轉換為灰度圖........ 333
13.5.9 漸變顏色餅圖......................... 334
13.5.10 排列圖片與圖片加框.............. 335
13.5.11 圖片的變換............................. 336
13.6 簡單動畫製作...................................... 337
13.6.1 利用GIF 檔案播放動畫......... 337
13.6.2 利用裝飾控制項製作動畫.......... 338
13.6.3 利用圖片下拉列表控制項製作動畫......................................... 338
13.6.4 利用圖片控制項製作動畫.......... 339
13.6.5 利用二維圖片控制項數組製作動畫......................................... 339
第14 章 高級數據顯示控制項............................... 340
14.1 數值顯示.............................................. 340
14.1.1 數值控制項的高級顯示.............. 340
14.1.2 選擇開關................................. 341
14.1.3 多值的數值控制項..................... 341
14.1.4 定製數值控制項顏色梯度.......... 342
14.1.5 定製時間標識符..................... 342
14.1.6 變長數組................................. 343
14.1.7 簇的數組................................. 343
14.2 自定義控制項.......................................... 344
14.2.1 自定義布爾控制項..................... 344
14.2.2 自定義數值控制項..................... 346
14.2.3 透明控制項................................. 347
14.3 波形圖表.............................................. 347
14.3.1 波形圖表的組成對象.............. 347
14.3.2 上下限波形圖表..................... 348
14.3.3 絕對時間波形圖表................. 349
14.3.4 多顏色曲線波形圖表.............. 350
14.3.5 降採樣波形圖表..................... 350
14.3.6 多標尺波形圖表..................... 352
14.3.7 不可預知數量的多曲線波形圖表......................................... 352
14.4 波形圖.................................................. 353
14.4.1 波形圖的游標圖例................. 353
14.4.2 基本波形生成器..................... 354
14.4.3 公式波形發生器..................... 355
14.4.4 控制波形是否可見................. 356
14.4.5 降採樣..................................... 357
14.4.6 波形圖與圖片繪製................. 357
14.4.7 抽取子波形............................. 358
14.4.8 動態添加與刪除游標.............. 359
14.4.9 波形圖注釋............................. 359
14.4.10 絕對時間波形圖與波形屬性.... 360
14.5 XY 圖................................................... 361
14.5.1 波形數據與XY 圖.................. 361
14.5.2 蝴蝶圖..................................... 362
14.5.3 李薩如圖形............................. 363
14.5.4 緩衝XY 圖與翻轉XY 圖...... 363
14.5.5 波形圖與XY 圖中的多顏色曲線......................................... 364
14.5.6 XY 圖可選平面....................... 365
14.5.7 羅盤圖與羽狀圖..................... 365
14.6 三維數據顯示...................................... 366
14.6.1 強度圖..................................... 366
14.6.2 三維曲線圖............................. 367
14.6.3 三維餅圖................................. 367
14.6.4 三維等高線............................. 368
14.6.5 三維條形圖............................. 369
第15 章 界面的層次化設計............................... 370
15.1 XControl ............................................... 370
15.1.1 XControl 的作用..................... 370
15.1.2 IP 地址XControl..................... 371
15.1.3 確定IP 地址XControl 的數據類型與狀態............................. 371
15.1.4 設計IP 地址外觀功能VI 前面板......................................... 372
15.1.5 IP 地址XControl 執行狀態更改事件與數據更改事件......... 372
15.1.6 IP 地址XControl 方向更改事件、顯示狀態更改事件與逾時事件..................... 373
15.1.7 創建IP 地址XControl 的屬性和方法..................................... 374
15.1.8 創建IP 地址控制項快捷選單與屬性對話框............................. 374
15.1.9 IP 地址控制項使用用戶事件傳送訊息..................................... 375
15.1.10 調試IP 地址控制項.................... 376
15.2 XControl 套用實例.............................. 377
15.2.1 限定長度的字元串XControl.... 378
15.2.2 計算器XControl ..................... 379
15.3 利用選項卡對界面進行層次化設計... 382
15.3.1 屬性對話框方式...................... 382
15.3.2 嚮導方式................................. 382
15.3.3 列表框+選項卡方式............... 383
15.3.4 樹形控制項+選項卡方式........... 384
15.4 對話框.................................................. 385
15.4.1 對話框與頂層VI、子VI 的區別......................................... 385
15.4.2 常用的內置對話框.................. 385
15.4.3 創建自定義對話框.................. 386
15.4.4 對話框導入導出數據.............. 387
15.4.5 模式對話框的調用方式.......... 388
15.4.6 非模式對話框......................... 390
15.5 動態調用.............................................. 391
15.5.1 靜態VI 引用與“通過引用調用”節點............................. 391
15.5.2 動態打開VI 引用與“通過引用調用”節點......................... 393
15.5.3 後台任務................................. 394
15.5.4 閃屏......................................... 397
15.5.5 動態調用可重入VI ................ 398
15.5.6 外掛程式......................................... 399
15.6 子面板與分隔欄.................................. 400
15.6.1 隱藏子面板的框線.................. 401
15.6.2 動態調用子VI 並插入到子面板......................................... 401
15.6.3 列表框+分隔欄劃分界面....... 402
15.6.4 樹形控制項+分隔欄劃分界面... 403
第16 章 面向對象編程....................................... 404
16.1 LabVIEW 內置的類............................. 404
16.1.1 類的四大特性......................... 404
16.1.2 Console 工具........................... 405
16.1.3 抽象類..................................... 405
16.1.4 具體類..................................... 406
16.1.5 多態調用................................. 406
16.1.6 自定義構造函式和析構函式... 407
16.2 G#類的基本概念................................. 408
16.2.1 G#類模板................................ 408
16.2.2 傳遞引用................................. 409
16.2.3 G#超類.................................... 410
16.2.4 創建G#類的欄位、屬性和方法......................................... 410
16.3 靜態類.................................................. 411
16.3.1 創建靜態類............................. 411
16.3.2 使用靜態方法......................... 411
16.3.3 使用靜態欄位......................... 412
16.4 簡單工廠與策略設計模式................... 412
16.4.1 簡單工廠模式類圖................. 412
16.4.2 簡單工廠與策略模式項目...... 413
16.4.3 具體類..................................... 414
16.4.4 簡單工廠類............................. 414
16.4.5 簡單工廠模式套用舉例.......... 415
16.4.6 策略模式類圖......................... 415
16.4.7 策略模式套用舉例................. 416
16.4.8 簡單工廠模式+策略模式套用舉例......................................... 417
16.5 外觀模式.............................................. 417
16.5.1 外觀模式項目與類圖............. 417
16.5.2 外觀類..................................... 418
16.5.3 外觀模式套用舉例................. 419
16.6 模板模式.............................................. 419
16.6.1 模板模式項目與類圖............. 420
16.6.2 模板模式套用舉例................. 421
16.7 單件模式.............................................. 421
16.7.1 單件模式項目與類圖............. 422
16.7.2 單件模式套用舉例................. 422
16.8 建造者模式.......................................... 423
16.8.1 建造者設計模式項目與類圖.... 423
16.8.2 建造者設計模式套用舉例...... 424
16.9 觀察者模式.......................................... 424
16.9.1 觀察者設計模式項目與類圖..... 425
16.9.2 創建觀察者抽象類與具體類.... 426
16.9.3 觀察者設計模式的推拉方式.... 426
16.9.4 創建主題抽象類與具體類...... 427
16.9.5 觀察者設計模式套用舉例...... 428
16.10 中介者模式........................................ 428
16.10.1 中介者設計模式項目與類圖.. 429
16.10.2 創建同事類以及具體同事類.. 429
16.10.3 創建中介者類....................... 430
16.10.4 中介者設計模式套用舉例.... 431
16.11 命令設計模式.................................... 432
16.11.1 命令設計模式項目與類圖.... 432
16.11.2 創建Receiver 類................... 433
16.11.3 創建Command 超類和Concrete Command 具體命令類.......................... 434
16.11.4 創建Invoker 調用者類......... 435
16.11.5 命令設計模式簡單套用舉例.. 435
16.11.6 宏命令................................... 436
第17 章 LabVIEW 設計模式與項目模板.......... 438
17.1 串口通信組件...................................... 438
17.1.1 組件的定義............................. 438
17.1.2 基於延遲的串口通信流程...... 439
17.1.3 基於延遲的串口通信組件...... 440
17.1.4 串口通信組件的自動配置...... 441
17.2 跑馬燈組件.......................................... 442
17.3 常量資源管理組件.............................. 445
17.4 標準狀態機.......................................... 447
17.4.1 命令序列................................. 448
17.4.2 順序狀態機............................. 449
17.4.3 標準狀態機............................. 451
17.4.4 標準狀態機模板..................... 454
17.4.5 同步狀態圖............................. 455
17.5 UI 單循環狀態機................................. 456
17.5.1 如何表示狀態......................... 456
17.5.2 “有限次測量”項目模板...... 457
17.5.3 有限次測量流程圖與程式框圖......................................... 457
17.5.4 JKI UI 單循環狀態機.............. 459
17.6 佇列狀態機.......................................... 461
17.6.1 佇列訊息處理器..................... 461
17.6.2 “字元串+變體數據”佇列狀態機......................................... 462
17.6.3 “自定義枚舉+變體”佇列狀態機......................................... 463
17.6.4 “字元串+字元串”佇列狀態機......................................... 464
17.6.5 LVOOP 多態佇列狀態機....... 465

前言

近年來,學習和使用LabVIEW 的工程技術人員越來越多。同時許多大專院校把LabVIEW 列入了專業課內容,很多學生畢業設計的選題是與LabVIEW 密切相關的。自從《LabVIEW 寶典》(ISBN:9787121129612)一書出版後,筆者經常與寶典讀者相互交流。在交流的過程中了解到LabVIEW 雖然入門比較容易,但是遇到實際問題時,解決起來依然非常困難。原因在於LabVIEW的學習者大多不具有實際編程經驗,往往把LabVIEW 作為一種套用軟體,而忽視了LabVIEW 是一種成熟的程式語言這一特點。
本書是筆者自《LabVIEW 寶典》之後,推出的第二本有關LabVIEW 的專業書籍。與目前市場上流行的LabVIEW 有關書籍風格不同,這是一本完全由具體實例構成的書籍,從程式語言本身出發,致力於解決具體的實際問題。每個實例都構成了專門的函式,讀者可以直接使用和擴充。
主要內容
在第1 章與第2 章中筆者創建了許多初等數學相關的工具VI,包括數列工具、基本幾何工具,等等。由於所有的讀者都非常熟悉這部分內容,所以特別適合初學者入手學習LabVIEW。
在第3 章和第4 章中,筆者創建了多種模擬邏輯電路工具,比如暫存器、觸發器、比較器等工具以及定時器和計數器,等等,對於這些內容,理工科各專業的同學會非常熟悉,同時,這些工具可以被直接套用於控制類實用項目中。
在第5~8 章中,筆者創建了大量有關數據結構的工具,包括簇工具、數組操作工具以及堆疊、字典工具,等等。這些工具利用LabVIEW 基本數據類型,構建了豐富的複雜類型工具,供讀者直接在具體項目中使用。
在第9~10 章中,筆者創建了大量的系統套用工具,包括多種API 函式工具以及常用的.NET工具,等等。這些內容對於工程技術人員來說,理解起來可能比較困難,因此筆者對這些工具進行了精心的封裝,讀者可以直接使用。
在第12~14 章中,筆者針對各種高級顯示控制項,比如波形圖、波形圖表、列表框、表格控制項等,創建了多種實用工具,工具中涉及大量的控制項屬性和方法操作。直接調用這些工具,可以極大地簡化編程,使讀者在有關界面編程方面不需要耗費更多精力,可以更加關注項目本身需要實現的功能。
在第15 章中,筆者介紹了常用的程式主界面布局,根據項目的複雜程度,讀者可以選擇其中合適的布局方式。
在第16 章中,筆者介紹了面向對象編程,其中實現了多種常用的設計模式,比如工廠模式、策略模式、命令模式,以及觀察者、中介者模式等。面向對象編程是LabVIEW 的新增功能,每個新版本在面向對象編程方面,都有不斷的改進。
在第17 章中,筆者介紹了LabVIEW 常用的程式框架結構,與具體項目套用密切相關,讀者肯定會找到適合自己的框架結構。
讀者對象
本書的內容根據章節,難度逐漸增加。因此適合於不同層次的讀者,特別適合高校學生的畢業設計用作參考以及與LabVIEW 相關的工程技術人員使用。建議讀者首先熟悉LabVIEW的基本操作,再閱讀本書。在具體編程遇到困難時,一定會找到相應的解決方法。
本書特色
本書沒有關注LabVIEW 的基礎知識介紹,而是重點創建了各種針對具體問題的實用工具。這些工具不僅能直接套用在具體的項目之中,從工具創建的本身,讀者也可以學到LabVIEW 編程的大量技巧和套用原理。
本書更像是一份編程疑難解答,每一種工具都針對某個具體問題,不但回答了如何通過LabVIEW 解決這些問題,而且精心地封裝了這些工具,使讀者可以直接使用這些工具。所有的工具都是開原始碼,在此基礎上,讀者可以根據實際需要,進行擴充和拓展,形成針對自己特定領域的實用工具庫。
致謝
本書從構思到創作完稿前後花費了幾年的時間,首先感謝家人的大力支持;其次,在創作過程中也反覆與成都道然科技有限責任公司溝通交流,從各個細節來完善這個作品。

相關詞條

熱門詞條

聯絡我們