目录
前言
第1章 虚拟仪器概述 (1)
1.1 虚拟仪器的基本概念 (1)
1.2 虚拟仪器的体系结构 (6)
1.2.1 虚拟仪器的硬件 (8)
1.2.2 虚拟仪器的软件 (8)
1.2.3 网络化虚拟仪器 (11)
1.3 图形化虚拟仪器开发平台现状 (12)
1.3.1 LabVIEW (12)
1.3.2 HP VEE (13)
1.3.3 Prograph (14)
1.3.4 V语言 (15)
1.3.5 VIPERS (16)
1.3.6 Show and Tell (17)
1.3.7 VPF (17)
1.3.8 MAVIS (18)
1.3.9 Khoros (19)
1.3.10 VPP (20)
1.4 虚拟仪器面临的挑战 (21)
思考与练习 (22)
第2章 构架虚拟仪器软件平台 (23)
2.1 G语言要素抽象 (24)
2.1.1 现实中的硬件 (24)
2.1.2 用户界面 (25)
2.1.3 电路图 (26)
2.1.4 前后面板交互 (28)
2.1.5 图形语言要素 (28)
2.1.6 函数节点功能实现 (30)
2.2 G语言结构模型 (30)
2.2.1 根树 (31)
2.2.2 G语言特性 (31)
2.2.3 层图 (32)
2.2.4 兄弟层图 (33)
2.2.5 应用 (35)
2.2.6 兄弟AOV网 (36)
2.3 正交三叉树 (39)
2.3.1 正交线段 (39)
2.3.2 定点和交点 (40)
2.3.3 段线 (43)
2.3.4 正交线路图 (43)
2.3.5 正交三叉树的连线 (44)
2.4 G语言运行机制 (45)
2.4.1 可视化元素V (46)
2.4.2 消息及消息存放场所M (47)
2.4.3 规则R (49)
2.4.4 模型的运行流程 (50)
2.4.5 消息执行统计 (53)
2.5 内存管理 (54)
2.5.1 数据的存储特征 (55)
2.5.2 内存地址描述模型 (56)
2.5.3 内存数据描述模型 (58)
2.5.4 分配算法 (58)
2.5.5 访问算法 (60)
2.5.6 回收算法 (62)
2.5.7 算法对G语言特定功能的支持 (62)
2.5.8 G语言中运行效果比较 (63)
2.6 扩展模型 (64)
2.6.1 外部功能动态加载 (65)
2.6.2 外部脚本解析 (67)
2.7 网络构架设计 (73)
2.7.1 虚拟实验室 (74)
2.7.2 网络化及服务型仪器 (76)
2.7.3 分布式多层系统结构 (78)
2.7.4 LabScene网络协议 (82)
2.7.5 LabScene网络模型实现 (90)
2.8 通用类框架 (97)
2.8.1 基于事件的窗口驱动模型 (97)
2.8.2 类信息及其运行期识别能力 (99)
2.8.3 类体系的建立 (100)
2.8.4 动态创建能力 (102)
2.8.5 持久化能力 (102)
2.8.6 消息驱动模型 (105)
2.9 LabScene类框架 (106)
2.9.1 LabScene基础类包 (106)
2.9.2 G语言基本要素的相关类 (108)
2.9.3 三个*主要的节点类 (110)
2.9.4 网络构架类 (114)
2.10 设计模式的应用 (118)
2.10.1 Command模式 (118)
2.10.2 Singleton模式 (121)
2.10.3 Dispatcher模式 (122)
2.10.4 Builder模式 (123)
2.10.5 Factory模式 (124)
2.10.6 Observer模式 (126)
2.10.7 State模式 (128)
2.11 用户界面接口框架 (130)
2.11.1 基本用户控件 (130)
2.11.2 数组和簇 (134)
2.12 图形代码框架 (135)
2.12.1 功能节点及容器节点 (136)
2.12.2 输入输出管脚 (137)
2.12.3 连接关系 (140)
2.12.4 模块化设计 (142)
2.12.5 图形编辑功能 (142)
小结 (145)
思考与练习 (145)
第3章 G语言在LabScene中的实现 (147)
3.1 基本数据类型及其操作 (147)
3.1.1 数字型 (147)
3.1.2 布尔型 (157)
3.1.3 字符串 (161)
3.2 变量、数组与簇 (172)
3.2.1 本地变量 (172)
3.2.2 数组 (175)
3.2.3 簇 (186)
3.3 结构与属性控制 (189)
3.3.1 For循环 (190)
3.3.2 While循环 (193)
3.3.3 顺序结构 (195)
3.3.4 选择结构 (196)
3.3.5 公式节点 (200)
3.4 波形显示控件 (202)
3.4.1 简单事后记录波形控件 (202)
3.4.2 实时趋势图控件 (204)
3.4.3 复杂记录示波器 (205)
3.5 文件操作 (206)
3.5.1 文件存取 (206)
3.5.2 文件操作节点 (207)
3.6 时间及对话框 (209)
3.6.1 时间控件 (210)
3.6.2 对话框控件 (212)
3.7 数学分析 (213)
3.8 信号产生 (214)
3.9 控制控件 (215)
3.10 高级控件 (216)
3.11 仪器设备 (218)
3.12 节点的扩展 (219)
3.13 网络应用 (222)
3.13.1 LabScene服务器 (222)
3.13.2 LabScene网络节点 (230)
3.13.3 LabScene客户端 (233)
思考与练习 (237)
第4章 虚拟仪器硬件系统设计 (238)
4.1 基于PCI总线的数据采集卡开发 (238)
4.1.1 PCI局部总线概述 (238)
4.1.2 基于PCI总线数据采集卡总体设计方案 (242)
4.1.3 PCI总线数据采集卡硬件部分设计 (244)
4.1.4 PCI总线数据采集卡软件部分设计 (256)
4.2 基于USB总线的虚拟示波器开发 (261)
4.2.1 USB总线概述 (261)
4.2.2 基于USB总线虚拟示波器概述 (263)
4.2.3 示波器硬件系统设计 (264)
4.2.4 示波器软件系统设计 (277)
4.2.5 示波器测试效果 (280)
4.3 基于USB总线的LCR测试仪开发 (281)
4.3.1 基于USB总线LCR测试仪的总体设计方案 (282)
4.3.2 虚拟LCR测试仪算法实现 (282)
4.3.3 LCR测试仪硬件系统设计 (286)
4.3.4 系统测试结果 (288)
4.4 基于USB总线任意波形发生卡的设计 (289)
4.4.1 USB总线任意波形发生器基本原理 (289)
4.4.2 USB任意波形发生器总体设计方案 (290)
4.4.3 任意波形发生器硬件系统开发 (290)
4.4.4 系统测试结果 (294)
4.5 基于以太网总线嵌入式Web开发 (294)
4.5.1 TCP/IP协议栈简介 (295)
4.5.2 基于以太网总线嵌入式Web总体设计方案 (296)
4.5.3 以太网络控制器RTL8019AS介绍 (297)
4.5.4 嵌入式Web硬件系统设计 (299)
4.5.5 嵌入式Web软件系统设计 (302)
4.5.6 嵌入式Web调试及测试结果 (309)
4.6 基于以太网总线网络化虚拟信号发生器的设计 (309)
4.6.1 DDS技术介绍 (310)
4.6.2 网络化虚拟信号发生器总体设计方案 (312)
4.6.3 网络化虚拟信号发生器硬件电路设计 (313)
4.6.4 测试结果及误差分析 (321)
4.7 基于IEEE 1451.2网络化智能变送器节点设计 (325)
4.7.1 IEEE 1451协议族体系架构 (326)
4.7.2 IEEE 1451.2网络化智能变送器模型 (327)
4.7.3 网络应用处理器设计 (328)
4.7.4 智能变送器接口模块设计 (333)
4.7.5 实验及结果 (334)
4.8 基于RS232总线虚拟冲击功测试仪的设计 (335)
4.8.1 冲击功测量原理 (335)
4.8.2 系统总体设计方案 (337)
4.8.3 虚拟冲击功测试仪硬件系统设计 (337)
4.8.4 冲击功测量结果 (340)
思考与练习 (340)
第5章 LabScene开发平台的应用 (342)
5.1 LabScene在虚拟仪器教学实验系统中的应用 (342)
5.1.1 信号叠加与信号分析 (342)
5.1.2 *小二乘法求取同频正弦信号的幅值、相位差 (344)
5.1.3 任意波形发生器的设计 (350)
5.2 LabScene在虚拟电子测量系统中的应用 (356)
5.2.1 虚拟数字示波器 (356)
5.2.2 LCR虚拟测试仪 (359)
5.3 LabScene在工程实际中的应用 (362)
5.3.1 在冲击功测试中的应用 (362)
5.3.2 在地学仪器中的应用 (364)
5.4 LabScene的网络应用 (366)
5.4.1 网络化信号发生器 (367)
5.4.2 基于IEEE 1451的智能化网络传感器节点 (372)
思考与练习 (382)
参考文献 (383)
附录 虚拟实验教学平台介绍 (388)