您好,欢迎来到聚文网。 登录 免费注册
LabVIEW编程详解

LabVIEW编程详解

  • 字数: 986千字
  • 装帧: 平装
  • 出版社: 电子工业出版社
  • 作者: 宋铭 编著
  • 出版日期: 2017-05-01
  • 商品条码: 9787121313615
  • 版次: 1
  • 开本: 16开
  • 页数: 605
  • 出版年份: 2017
定价:¥98 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
本书适合从事虚拟仪器开发的工程技术人员阅读使用,也可作为高等学校相关专业的教学用书。
内容简介
    本书系统、全面地讲解了LabVIEW的编程技术,主要内容包括LabVIEW开发环境介绍、数据结构、程序结构、属性节点、子VI与内存管理、多线程应用、程序设计模式、动态调用、常用控件的编程、文件操作、程序界面构建、面向对象编程、LabVIEW与外部组件的通信、LabVIEW与硬件的通信、应用程序制作和安装包的生成。本书的特色是实例多,作者将多年的编程经验精心制作为例题,例题中的程序代码反映了LabVIEW编程中的重点和难点,而且浅显易懂,可以满足不同层次读者的需要。LabVIEW的编程思想和传统的文本编程语言是有差别的,书中很多程序代码提供了多种实现方法,通过这种举一反三的形式帮助读者理解LabVIEW的编程思想。
作者简介
    宋铭,中国石化集团中原油田分公司工程师,主要从事虚拟仪器(LabVIEW)及工程检测技术的研究,具有丰富的虚拟仪器设计开发与实践经验。
目录
第1章  初识LabVIEW
1.1  虚拟仪器
1.2  LabVIEW
1.3  LabVIEW的控件
1.4  LabVIEW的修饰
1.5  LabVIEW编程元素
1.6  选中VI对象
1.7  完整的LabVIEW程序―VI
1.8  LabVIEW的项目
第2章  LabVIEW编程环境
2.1  前面板窗格
2.2  工具选板
2.3  VI菜单
2.4  工具栏
2.5  常用组合键
2.6  VI属性
2.7  程序代码调试
第3章  数据类型与运算
3.1  数值类型
3.1.1  数值类型分类
3.1.2  数值型存储
3.1.3  浮点数误差
3.2  字符串类型
3.2.1  字符串存储
3.2.2  字符串函数
3.3  布尔类型
3.4  数组
3.5  簇
3.6  变体
3.7  波形数据
3.8  枚举类型
3.9  自定义类型
3.10  常量和变量
3.11  运算类型
第4章  程序结构
4.1  循环结构
4.1.1  While循环
4.1.2  For循环
4.1.3  数据进出循环的途径
4.1.4  反馈节点
4.1.5  For循环的退出机制
4.1.6  While循环的退出机制
4.1.7  数据出循环的条件
4.1.8  循环结构与数组函数
4.2  条件结构
4.2.1  布尔类型输入
4.2.2  整型标量输入
4.2.3  字符串类型输入
4.2.4  枚举类型
4.2.5  错误簇
4.3  事件结构
4.3.1  创建事件分支
4.3.2  通知事件
4.3.3  过滤事件
4.3.4  LabVIEW的事件源
4.3.5  多事件分支
4.3.6  事件结构应用
4.4  顺序结构
4.4.1  平铺式顺序结构
4.4.2  层叠式顺序结构
4.4.3  平铺式顺序与层叠式顺序的转换
4.5  公式节点
第5章  属性节点和方法
5.1  控件的属性节点
5.2  属性的类层次结构
5.3  LabVIEW的属性类
5.3.1  通用类
5.3.2  图形对象类
5.3.3  修饰类
5.3.4  文本类
5.3.5  控件类
5.3.6  字符串类
5.3.7  布尔类
5.3.8  数值类
5.3.9  数字类
5.3.10  簇类
5.3.11  VI类
5.3.12  前面板类
5.4  LabVIEW的方法
5.4.1  控件的方法
5.4.2  VI的方法
5.5  属性和方法的多线程
第6章  子VI与内存管理
6.1  子VI的创建
6.1.1  从普通VI创建子VI
6.1.2  从程序框图创建子VI
6.2  VI的四个内存单元
6.3  多态VI
6.4  子VI中的程序结构
6.5  子VI的执行模式
6.5.1  不可重入VI
6.5.2  可重入VI
6.6  共享副本与数据窜改
6.7  子VI加载内存的形式
6.8  子VI与属性节点
6.9  子VI的生命周期
6.10  LabVIEW的内存再分配
6.11  LabVIEW中的缓存重用
6.12  数据类型的转换
6.13  合理的编程习惯
6.14  应用程序的内存管理
第7章  多线程
7.1  LabVIEW的执行系统与多线程机制
7.2  多线程的执行机制―时间片
7.3  LabVIEW多线程分类
7.4  多线程通信
7.4.1  局部变量
7.4.2  全局变量
7.4.3  队列
7.4.4  LV2型全局变量
7.4.5  共享变量
7.4.6  数据传递机制读/写速度
7.4.7  LabVIEW变量的深入分析
7.4.8  子VI与主VI的实时通信
7.5  多线程同步
7.6  并行循环的停止机制
7.7  多线程的优势
7.8  多线程优先级
7.9  多线程应用
第8章  LabVIEW的设计模式
8.1  连续循环模式
8.2  事件处理器
8.3  状态机
8.3.1  顺序状态机
8.3.2  改进型状态机
8.3.3  标准状态机
8.3.4  事件状态机
8.3.5  超时状态机
8.3.6  自定义事件状态机
8.4  队列消息处理器
8.4.1  查询模式的队列消息处理器
8.4.2  事件驱动的队列消息处理器
8.4.3  基于超时事件的队列消息处理器
8.4.4  基于自定义事件的队列消息处理器
8.4.5  基于回调机制的队列消息处理器
8.4.6  多重嵌套的队列消息处理器
8.5  顶层程序设计模式
8.6  多线程的模块化
8.7  LabVIEW程序的构建策略
8.8  连续循环时的事件响应
第9章  动态调用技术
9.1  VI服务器与引用
9.2  动态控制VI
9.3  动态事件
9.4  LabVIEW的回调机制
9.5  多线程传递事件
第10章  常用控件的编程
10.1  列表框
10.1.1  列表框的属性
10.1.2  列表框的方法
10.1.3  列表框的应用
10.2  多列列表框
10.2.1  多列列表框的属性
10.2.2  多列列表框的应用
10.3  选项卡
10.4  树形控件
10.5  波形图表
10.5.1  波形图表的外观
10.5.2  波形图表的数据输入形式
10.5.3  图形图表类属性
10.5.4  标尺类属性
10.5.5  波形图表类属性
10.6  波形图
10.7  XY图
10.8  XControl控件
第11章  文件I/O操作
11.1  常用的文件类型
11.2  常用的文件操作函数
11.3  报表
11.3.1  LabVIEW工具包
11.3.2  自动化函数
第12章  程序界面构建
12.1  菜单
12.1.1  自定义菜单的创建
12.1.2  自定义菜单的响应
12.2  快捷菜单
12.2.1  快捷菜单的创建
12.2.2  快捷菜单的响应
12.3  工具栏
12.3.1  工具栏的创建
12.3.2  工具栏的响应
12.4  对话框
12.5  状态栏编程
12.6  界面的构建实例
第13章  面向对象编程
13.1  面向对象的编程思想
13.2  面向对象的基本概念
13.3  LabVIEW的类
13.3.1  创建基类
13.3.2  类的继承
13.4  面向对象的编程应用
13.5  LabVIEW面向对象的利弊分析
第14章  LabVIEW与外部组件的通信
14.1  DLL
14.1.1  DLL的概念
14.1.2  DLL文件的制作
14.1.3  DLL文件的调用
14.2  Windows API
14.3  Active X
14.4  多进程通信
第15章  接口通信和驱动程序开发
15.1  串口通信
15.1.1  串口通信的硬件介绍
15.1.2  基于LabVIEW的串口通信
15.2  USB总线通信
15.2.1  CH372概述
15.2.2  单片机与CH372的接口电路
15.2.3  单片机USB通信程序
15.2.4  基于DLL的USB通信
15.2.5  基于VISA的USB通信
15.3  计算机声卡通信
第16章  LabVIEW应用程序制作
16.1  修改主程序外观
16.2  修改路径
16.3  创建LabVIEW项目
16.4  生成应用程序(EXE文件)
16.5  制作程序安装包
摘要
    译者序
    对不少互联网企业来说,使用
    LNMP架构可以快速搭建起一套系统,产品可以迅速迭代并尽早投放市场。但随着访问量的上升,那些使用传统关系型数据库(例如
    MySQL)的网站开始显现出性能方面的问题。此外,越来越挑剔的用户也要求网站不能仅专注于功能特性,同时也要追求很好的产品体验(即高性能和高可用)。一方面,架构师会在数据库层面做以下一系列优化。
    1.配置主从例如。为
    MySQL服务器配置主从。一台宕机,另一台可以顶上继续服务,以满足高可用的要求。
    2.读写分离配置一主多从。因为一般系统
    80%的请求都是读取操作,将这些操作分发到从服务器上可以有效地提升网站响应速度。
    3.分库分表随着数据量的增长,单库单表已经难以满足要求。一些诸如
    TDDL、Cobar、MyCAT等的
    MySQL分布式数据库中间件应运而生。另一方面,架构师也会通过系统化的分析,以安插缓存层的方式缓解数据库的压力。对应用系统来说,缓存都应在设计之初就纳入考虑的范畴,成为系统不可或缺的一部分。我曾供职的一家公司就采用
    Redis作为缓存的实现方案。应用程序运行在两个同等的
    Tomcat容器里。Tomcat之前则配置了一台
    Nginx用于
    Load
    Balance。由于用户
    Session存储在
    Redis中(通过
    Spring和
    Shiro的简单配置即可实现),应用的无状态性使得系统可以很方便地进行水平扩缩。另外,我们的业务要求用户每次浏览某个项目页面时进行访问计数(counting)。为了避免频繁的数据库读写,我们将每个项目的浏览量的计算和读取交给了
    Redis。同时,为了避免意外导致的数据丢失,我们开启了
    Redis的持久化功能,并启动定时任务,每隔一段时间就将项目浏览次数同步到数据库中。至于为何选择
    Redis而没有选择
    Memcached,当时考虑的主要原因是
    Redis支持更为丰富的数据模型。像上述页面访问量计数的需求,可以直接通过
    Redis的命令进行操作,而且利用
    Redis的单线程模型,应用程序无须编写同步代码。当然,缓存只是
    Redis的其中一个用途。一些典型的场景还包括排行榜、用户访问量统计、集合运算、消息队列等。靠前外的一些大型互联网企业(例如京东、新浪、
    Pinterest等)都对
    Redis有不同程度的部署和应用。希望读者能够在本书中找到自己想要的答案。每次翻译都带给我不同的体验,并为我的工作和生活带来改变。在此,我要感谢电子工业出版社的编辑张春雨和负责审校的同事,是你们的细心指导保证了本书的翻译质量。同时,感谢我的父母和我的太太,在你们的陪伴和支持下,我得以专心工作。由于时间仓促,文中难免有所疏漏,望不吝斧正。汪佳南

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网