本书主要帮助读者了解如何通过自行开发应用程序来监视或者控制仪器硬件。本书内容涵盖了从接线到建立接口,直到完成可用软件的整个过程。
本书适合需要进行仪表控制、机器人、数据采集、过程控制等相关工作的读者阅读参考。
第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