基本信息
真實世界的 Python 儀器監控:數據採集與控制系統自動化 ( 硬體 DIY 不可多得的實戰指南 )
(美) 著
OBP Group 譯
ISBN 978-7-121-18659-2
出版
定價:
500 頁
16 開
編輯推薦
理解如 何定義套用的範圍、確定必要的算法,以及二者的重要性
學習如何使用工業標準接口,如RS-232、RS-485和GPIB
用C語言創建底層擴展模組,以利用Python接入各種硬體和測試儀器
探索終端、curses、Tkinter,以及wxPython的圖形和基於文本的用戶界面
使用開源軟體工具和庫來降低成本,避免從頭開始實現功能
內容提要
本書主要幫助讀者了解如何通過自行開發應用程式來監視或者控制儀器硬體。本書內容涵蓋了從接線到建立接口,直到完成可用軟體的整個過程。
本書適合需要進行儀表控制、機器人、數據採集、過程控制等相關工作的讀者閱讀參考。
目錄
第1 章儀器學概論........................................................ 1
數據採集.........................................................................2
控制輸出................................................................................4
開環控制 ...............................................................5
閉環控制.........................................................6
順序控制.............................................8
套用概觀.............................................................9
電子測試儀器...........................................................9
實驗室儀器..............................................................11
過程控制..........................................................12
小結............................................................................14
第2 章基本電子學...................................................... 15
電荷..............................................................15
電流..................................................................17
基礎電路理論..........................................18
電路原理圖.......................................................20
直流電路特性.................................................23
歐姆定律...........................................24
電流吸入與電流輸出.................................26
再談電阻 ......................................27
交流電路...............................................28
正弦波.......................................29
電容器.......................................................30
電感器.......................................................................34
其他波形:方波、斜波、三角波和脈衝.............................................37
接口.............................................................38
離散數字I/O.......................................................38
模擬I/O.................................................42
計數器與定時器.......................................46
脈寬調製........................................48
串列I/O.............................................49
並行I/O........................................51
小結.......................................................53
推薦閱讀....................................................54
第3 章 Python 程式語言.............................................. 55
安裝Python.................................................................56
Python 編程...............................................................57
Python 的命令行 ................................................57
命令行參數和環境.....................................58
Python 中的對象...........................................59
Python 中的數據類型..............................................60
表達式........................................................73
操作符..................................................73
語句........................................................79
字串..........................................................86
程式組織.............................................91
模組導入........................................101
載入並運行Python 程式.................................104
基礎輸入輸出.........................................106
提示和技巧................................110
Python 開發工具................................112
編輯器和IDE...................................................112
調試器....................................115
小結...................................................115
推薦閱讀.................................................115
第4 章 C 語言編程.................................................... 117
安裝C 語言編程環境 ...................................117
使用C 語言開發軟體........................118
一個簡單的C 程式........................119
預處理指令....................................122
標準數據類型.....................................126
用戶定義類型 ..................................127
操作符................................................127
表達式........................................136
語句.....................................................136
數組和指針..................................143
結構..............................................146
函式..........................................150
標準庫...........................................151
編譯C 程式...................................152
C 語言綜述 ........................................156
C 開發工具............................................156
小結............................................................157
推薦閱讀...........................................................157
第5 章 Python 擴展................................................... 159
用C 建立Python 擴展...................................160
Python 的C 擴展API.......................................161
擴展代碼的模組組織 .....................................161
Python API 類型和函式.................................163
方法表.................................................163
方法標記......................................164
傳遞數據..................................................165
使用Python 的C 擴展API............................167
通用離散I/O API..............................................167
通用包裝器示例..............................................169
調用擴展...................................................173
Python 的ctypes 外部函式館...............................177
用ctypes 載入外部DLL........................177
ctypes 中的基本數據類型................178
使用ctypes...................................................179
小結................................................................179
推薦閱讀...............................................180
第6 章硬體:工具與耗材.......................................... 181
必備工具....................................................181
手工工具..........................................182
數字萬用表..............................................184
焊接工具.........................................187
最好能有的工具..................................189
高級工具...................................................190
示波器..........................................190
邏輯分析儀.................................192
測試設備註意事項........................194
耗材................................................194
全新和二手 ..........................................195
小結...............................................196
推薦閱讀..................................................196
第7 章物理接口........................................................ 197
連線器.............................................................197
DB 型連線器.........................................198
USB 連線器...........................................201
圓形連線器...............................................202
接線端子................................................203
接線...................................................205
連線器失效.........................................207
串列接口..................................................208
RS-232/EIA-232............................209
RS-485/EIA-485..............................................215
USB............................................................220
Windows 虛擬串口......................................224
GPIB/IEEE-488..............................................226
GPIB/IEEE-488 信號 .....................................226
GPIB 連線............................................228
GPIB 轉接USB .............................................229
PC 匯流排接口設備.............................................230
基於匯流排接口的優缺點................................230
數據採集卡.............................................232
GPIB 接口卡...........................................232
舊並不代表差............................................................233
小結......................................................234
推薦閱讀................................................234
第8 章開始乾吧........................................................ 235
項目定義..............................................................236
需求驅動的設計 ..................................236
從需求開始..........................................237
工程目標.............................................238
需求......................................................239
為什麼需要需求........................240
良好的需求...................................241
全景....................................................242
需求類型..........................................242
用例......................................................244
可追溯性 .....................................246
需求捕獲.....................................248
設計軟體....................................................248
軟體設計說明.............................................249
SDD 的圖景............................................249
偽代碼...........................................253
分而治之................................253
處理錯誤和故障........................255
功能測試.........................................256
為需求而測.................................257
測試用例................................................257
測試錯誤處理............................................260
回歸測試..............................................261
進展追蹤................................................261
實施............................................................262
代碼風格................................................262
組織你的代碼 ..................................264
代碼複查.......................................265
單元測試................................................268
連線到硬體...............................................277
軟體文檔化.........................................278
版本控制..............................................281
缺陷跟蹤..........................................281
用戶文檔 ................................................................282
小結..........................................................283
推薦閱讀 ...................................................283
第9 章控制系統概念................................................. 285
基礎控制系統理論......................................286
線性控制系統......................................286
非線性控制系統......................................288
順序控制系統.............................................289
術語和符號.......................................................290
控制系統框圖..........................................292
傳遞函式......................................................293
時間和頻率...........................................293
控制系統類型........................................................298
開環控制.........................................................299
閉環控制...............................................299
非線性控制:繼電器控制器....................................... 306
順序控制系統.............................................308
比例、比例積分、比例積分微分控制..........................................................312
混合控制系統...........................................317
用Python 實現控制系統............................................318
線性比例控制器..........................................318
開關式控制器..................................................319
簡單PID 控制器.................................................320
小結................................................................................324
推薦閱讀.................................................324
第10 章構建並使用仿真器........................................ 327
什麼是仿真.........................................328
低保真和高保真................................................................329
模擬錯誤和故障.......................................................330
使用Python 創建一個仿真器.............................................333
程式包和模組的組織......................................334
數據輸入/ 輸出仿真器 ......................................334
交流電源控制器仿真............................................349
串列終端仿真器......................................................358
使用終端仿真器腳本.................................................359
顯示仿真數據......................................................361
gnuplot ............................................361
使用gnuplot.....................................................363
使用gnuplot 將仿真器數據圖表化 ............................................. 366
創建你自己的仿真器................................................369
確認仿真器的必要性........................................369
仿真的範圍...........................................370
時間和精力.................................................371
小結...............................................................371
推薦閱讀..................................................371
第11 章儀器數據I/O................................................ 373
數據I/O :接口軟體......................................373
接口格式與協定......................................................374
Python 接口支持的工具包 ............................................383
Windows 平台上的替代品.........................................389
在Linux 下使用基於匯流排的硬體I/O 設備.............................. 389
數據I/O :數據採集與寫入...................................391
基本數據I/O...........................................391
阻塞和非阻塞調用................................................................398
數據I/O 方法.......................................................399
數據I/O 錯誤處理...............................................402
處理不一致的數據.................................................407
小結..................................................................411
推薦閱讀...........................................................412
第12 章讀寫數據檔案............................................... 413
ASCII 數據檔案..................................................414
原始的ASCII 字元集................................414
Python 的ASCII 字元操作方法............................. 416
讀寫ASCII 平面檔案 .......................................418
配置數據...............................................425
AutoConvert。py 模組——自動轉換字元串 .................................................. 427
FileUtils。py 模組——ASCII 數據檔案I/O 工具 ........................................... 430
二進制數據檔案..................................................440
平面二進制數據檔案............................................440
用Python 處理二進制數據.............................................. 442
圖像數據................................................453
小結 ..................................................................462
推薦閱讀............................................................................462
第13 章用戶界面 ......................................................465
文本界面...........................................................465
控制台...................................................465
ANSI 顯示控制台技術................................478
Python 和curses..........................................494
用不用curse 是個問題嗎 .....................................502
圖形用戶界面.................................................502
圖形用戶界面的歷史和概念..................................... 503
在Python 中使用GUI............................504
TkInter...................................................................508
wxPython .................................................514
小結..........................................................522
推薦閱讀........................................................523
第14 章實例............................................................ 525
串列接口........................................................525
簡易DMM 數據獲取..................................................526
串列接口的離散或模擬數據I/O 設備 ....................................... 531
串列接口及對速度的考慮.........................................................535
USB 實例:LabJack U3.....................................................536
LabJack 連線....................................................537
安裝LabJack 設備...........................................538
LabJack 與Python...................................539
小結.............................................................546
推薦閱讀...........................................................547
附錄A 自由和開源軟體資源 ....................................... 549
附錄B 儀器資源 ........................................................ 553
索引........................................................................... 557