LABVIEW编程---高级数据结构及函数(1)

1.0

1.组合数据类型结构(不同于数组)

2.可以组不同类型的数据,类似于C语言中的结构体(包含数值、布乐、字符等)

3.同一簇中不能既有输入控件又有输出控件,只能选择其一

1. 1

1.簇中包含多个元素,大大减少连线的混乱和连接器端子数

2.可以访问其中单个元素,也可以一次性全部释放

3.固有大小,相当于拥有固定元素(数组可动态改变大小)

 

 1.2 ---常用函数

1.按名称解除和捆绑簇

2.簇与数组之间转换

 1.3 -元素顺序

1.簇控件上右击选择重新排列簇中控件

2.簇内元素具有固定的逻辑顺序,与它们在框架内的位置无关(使用Ctrl+H可快速查看元素顺序)

1.4 -按名称解除和捆绑簇

1.直接访问所需要元素,与元素的顺序无关

2.也可只操作簇中的一两个元素

 

1.6 数组与簇之间的转换

1.有时将数组转换成簇使用会很方便,反之亦然, LabVIEW中处理数组函数比簇多

 

 1.7 簇转换为数组

1.簇中所有的元素的数据类型必须相同

2.不能包含以数组为元素的簇使用这个函数

3.将具有相同数据类型N元素簇转换成相同数据类型的N元素数组

 1.8 数转换成簇

1.簇中所有的元素的数据类型必须相同

2.不能包含以数组为元素的簇使用这个函数

3.在函数右键菜单簇大小选择指定输出簇的大小

4.输出簇大小必须与连接到其输入数据的元素数量匹配,以防止输入数组被截断

2 局部变量

1.从一个VI实例框图中的多个地方访问前面板对象,而不用连线到前面板对象端子

2.在程序框图控件上右键菜单生成此控件的局部变量(作用范围是单个VI)

3.缺点-破坏了数据流执行顺序,会产生竞争。

 

3 全局变量

1.允许在几个VI中访问任意类型的数据值

2.最易滥用和误导的结构,会造成莫名其妙的错误

3.缺点-破坏了数据流执行顺序,会产生竞争。

4.功能是强大的,而且是必须的; 不是全局变量不好,只是需小心地使用全局变量

3.1 全局变量创建

方法1:菜单>>文件>>新建>>其它文件>>全局变量

 

方法2:程序框图>>结构>>全局变量

 

3.2 全局变量

1.和保存VI一样,但一般会使用glb前缀或后缀区分普通的VI

2.前面板上放置输入或输出控件(其实没有区别)

 

 3.3 全局变量的调用

1.在全局变量端子上弹出菜单选择其中一个变量

2.可处于读或写的模式,通过端子上弹出的菜单选择转换读取转换写入

3.4全局变量的一般规则

1.多个VI都有可能使用的变量,若有变化则不需要更改多个VI(如仪器的地址及型号等)

2.经常需要变跟值的变量(如烧录文件,测试数据路径等)

3.经常被多个VI调用的变量(测试项目参数)

3.5 全局变量使用注意事项

1.不要在同一位置读取和写入全局变量,否则无法确定哪个操作先发生(产生竞争)

2.使用顺序结构或封装成VI以防止竞争

 

3.7 全局变量使用注意事项

1.如果某一个VI写入全局变量,则任何读取全局变量的VI或子VI都将包含更新后的数据

2.全局变量能够存储多个不同类型的数据类型,所以应将多个数据组合到一个全局变量中,而不要放在多个全局变量中(一个项目里只有一个全局变量)

3.所有调用全局变量的VI使用同样的名称引用变量,注意全局变量的命名名称

4.1 高级数据结构及函数小结

1.某个对象的共同属性尽量使用簇表示(如串配置-编号,波特率,数据位等) 

2.簇尽量使用按名称解除和捆绑-可忽略元素顺序

3.数组与簇之间转换可简化操作(元素类型必须相同)

4.2 高级数据结构及函数小结

1.单个VI里不要使用局部变量

2.防止多个VI写入全局变量(产生竞争)

3.封装全局变量

5 实战部分

1.现场演示CH1603B工业数据采集器的驱动编写

2.必须先了解CH1603B通信协议及特点

3.熟悉常用函数及事件结构的使用

4.熟悉仪器IO-串口使用规则

 

LabVIEW高级编程与虚拟仪器工程应用(修订版)》适用有一定LabVIEW编程基础的测控工程技术人员,帮助其搭建高级技术框架,积累开发经验;同时也可作为本科生毕业设计、研究生完成课题和工程技术人员开发测控项目的参考用书。 目录 第1LabVIEW高级编程技术 第1章测控项目管理 1.1测控项目的生命周期 1.2系统定义 1.2.1 问题定义 1.2.2可行性研究 1.2.3 需求分析 1.2.4软件原型 1.2.5 文档管理 1.3总体设计 1.3.1硬件结构设计 1.3.2软件结构设计 1.3.3 总体设计说明书 1.4详细设计 1.5程序编码 1.5.1编程风格 1.5.2说明信息 1.5.3 vl的保存 1.5.4手册编写 1.6系统测试 1.6.1硬件测试 1.6.2软件测试 1.6.3验收测试 1.6.4测试报告 1.7 系统维护 1.8 项目浏览器 1.8.1 项目浏览器的用途 1.8.2 项目库 1.8.3项目依赖关系 1.8.4程序生成规范 第2章应用程序控制与内部数据传递 2.1 VI Server技术简介 2.2动态加载VI 2.2.1监测内存中所有的VI 2.2.2 动态加载VI的程序 2.3动态控制VI运行 2.3.1 动态刷新被控VI前面板控件值 2.3.2选择性打开VI前面板 2.3.3子面板设计 2 4动态控制VI属性和前面板对象属性 2.4.1 动态控制VI属性 2.4.2动态控制前面板对象属性 2.5动态注册事件 2.5.1 动态注册用户接口事件 2.5.2处理用户事件 2.6运行菜单控制 2.6.1运行菜单的设置 2.6.2用程序代码进行运行菜单设置 2.6.3在程序中响应菜单选项 2 7通知器和队列 2.7.1 通知器 2.7.2 队列 2 R共享变量 2.8.1共享变量的创建 2.8.2单进程共享变量 2.8.3 网络发布共享变量 第3章程序设计模式与程序性能 3.1 程序的设计模式 3.1.1标准状态机 3.1.2主/从设计模式 3.1.3 生产者/消费者设计模式 3.1.4队列消息处理器 3.1.5其他设计模式 3.2程序调试技巧 3.3多线程程序 3.3.1基本定义 3.3.2 多线程应用程序的优势 3.3.3 LabVIEW实现多线程的方法 3.4程序性能优化 3.4.1程序运行速度 3.4.2 内存使用 3.5程序性能分析 第4章软件接口与外部数据通信 4.1 ActiveX技术应用 4.1.1 ActiveX技术简介 4.1.2使用ActiveX控件 4.1.3使用ActiveX自动化 4.1.4 LabVIEW作为ActiveX服务器 4.2.NET技术应用 4.2.1.NET技术简介 4.2.2 .NET技术应用 4.3动态数据交换 4.3.1 LabVIEW的DDE功能 4.3.2向Excel文件写数据 4.3.3 由Excel文件读数据 4.4 C代码调用 4.5库函数调用 4.6执行操作系统命令 4.7计算机网络基础知识 4.7.1 计算机网络的功能与发展 4.7.2计算机网络的结构 4.7.3 计算机网络模型 4.7.4计算机网络协议 4.8 TCP 应用 4.8.1发送数据编程 4.8.2接收数据编程 4.8.3程序的远程动态控制 4.9 UDP应用 4.10 串口通信 第5章数据存储与调用 5.1数据存储的时机 5.2打印报表 5.3数据库连接 5.3.1 LabVIEW与数据库的连接 5.3.2 LabVIEW对Access数据库的操作 5.3.3 LabVIEW对SQL Server数据库的操作 5.4 LabVIEW与实时数据库连接 第6章面向对象编程 6.1面向对象编程的概念 6.2 LabVIEW中面向对象编程的方法 6 2.1 LabVIEW类 6.2.2类的方法 6.2.3继承 6.3两种编程方法的比较 6.3.1测试目的 6.3.2面向过程的方法 6.3.3 面向对象的方法 6.3.4 两种方法的比较 第7章传统DAQ的模拟信号采集 7.1 硬件配置与测试 7.1.1传统DAQ安装 7.1.2传统DAQ设备配置与测试 7.2模拟输入 7.2.1传统DAQ的数据采集通道 7.2.2数据采集Vl 7.2.3传统DAQ模拟输入常用的基本术语 7.2.4测量直流电压信号 7.2.5 波形采集 7.2.6频率测量 7.3模拟输出 7.3.1输出直流信号 7.3.2输出波形信号 7.3.3 模拟输入/输出控制回路 7.4信号调理 7.4.1信号调理设备配置 7.4.2应变测量 7.4.3温度测量 第8章传统DAQ的数字信号与计数器输入/输出 8.1 数字信号输入/输出 8.1.1数字信号通道设置 8.1.2立即方式数字输入/输出 8.1.3握手方式数字输入/输出 8.2计数器输入/输出 8.2.1数据采集卡的计数器芯片 8.2.2 用计数器输出脉冲信号 8.2.3测量脉冲宽度 8.2.4测量TTL信号频率和周期 8.2.5事件计数与计时 第2篇虚拟仪器工程案例篇 第3篇C语言代码转换和LabVIEW2010新特性篇 LabVIEW常用中英文词汇对照表 参考文献
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Robin&li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值