虚拟仪器实验 labviEW

合集下载

虚拟仪器试验报告

虚拟仪器试验报告

虚拟仪器试验报告实验报告:虚拟仪器在实验中的应用一、引言:虚拟仪器是指利用计算机技术和虚拟现实技术来模拟和替代传统仪器的一种技术手段,它能够实现对实验的模拟、仿真和控制。

虚拟仪器的应用已经越来越广泛,例如电路实验、物理实验、化学实验等领域。

本实验将通过使用虚拟仪器来进行电路实验,以验证虚拟仪器在实验中的应用效果。

二、实验目的:1.了解虚拟仪器的原理和应用;2.掌握使用虚拟仪器进行电路实验的方法;3.验证虚拟仪器在电路实验中的应用效果。

三、实验仪器与材料:1. 虚拟仪器软件:LabVIEW;2.计算机;3.电路实验板;4.各种电路元件:电阻、电容、开关等。

四、实验步骤:1. 安装并打开LabVIEW软件;2. 根据实验要求,在LabVIEW中导入电路图;3.连接电路实验板并正确连接电路元件;4. 使用LabVIEW中的仪器控制模块,设置电流、电压等参数;5.执行电路实验,记录实验结果。

五、实验结果与分析:在使用虚拟仪器进行电路实验的过程中,我们可以实时监测电流、电压、功率等参数,并且可以通过LabVIEW软件进行实时分析和数据处理。

这使得实验结果更加直观、准确,并且可以轻松获得实验数据的变化趋势。

在本次实验中,我们设计了一个简单的电路,通过测量电阻上的电压和电流,来验证欧姆定律。

实验结果显示,电压和电流成正比,符合欧姆定律的要求。

虚拟仪器的应用还存在一些优势和挑战。

首先,虚拟仪器能够减少实验成本,省去了购买昂贵仪器的费用。

其次,虚拟仪器的使用更加方便灵活,可以实时调整参数和观察实验结果。

同时,虚拟仪器还可以进行实时模拟和仿真,对实验结果进行预测和分析。

然而,虚拟仪器也存在一些挑战。

例如,虚拟仪器的准确性和稳定性需要得到保证;同时,对于一些需要进行物理操作的实验,虚拟仪器可能无法完全取代传统仪器。

六、结论:本实验通过使用虚拟仪器进行电路实验,验证了虚拟仪器在实验中的应用效果。

虚拟仪器能够提高实验的准确性和效率,并且能够实时分析和处理实验结果。

LabVIEW虚拟仪器实验指导书

LabVIEW虚拟仪器实验指导书

实验一一、实验目的:熟悉LabVIEW软件的基本编程环境。

二、实验内容:创建一个VI程序,并将此程序保存为VI。

此VI要实现的功能是:当输入发动机转速时,经过一定的运算过程,输出发动机温度和汽车速度值。

三、要求:温度计显示发动机温度,温度范围(0~100)仪表控件显示汽车速度,速度范围(0~150)单位Km/h前面板设计布局合理,可读图标设计为保存为某某某速度子VI.vi把该子程序添加到用户库。

四、实验步骤(1)启动LabVIEW,创建一个VI。

(2)在前面板中放置一个温度计控件,并修改控件标签名为发动机温度和设置最大值为100。

该控件从“控件—经典—经典数值”子选项板中获得。

(3)按同样的方法在前面板中放置一个仪表控件,并修改仪表控件的标签名为汽车速度,标尺刻度范围为0~150。

(4)按同样的方法在前面板中放置一个数值输入控件,并修改控件标签名为发动机转速。

(5)从“窗口”下拉菜单中选择“显示程序窗口”切换到程序框图窗口。

(6)在程序窗口中创建乘法函数,该函数中函数选项板中的“函数—编程—数值”子选项板中选择,并和发动机转速输入控件连线,为乘法函数创建一个常量,修改为图中所示值。

(7)按同样的方法创建加法函数、平方根函数和除法函数,并按图中所示修改常量值和连好线。

(8)切换至前面板,在发动机转速控件中输入数值,点击运行按钮,运行VI程序。

(9)修改图标为T/V以表示该子VI输出量为发动机温度和汽车速度,并保存为vi.vi。

前面板:程序框图:实验二一、实验目的:熟悉LabVIEW软件的基本编程环境。

二、实验内容:1、创建一个VI程序,比较两个数,如果两数相等则灯亮。

2、创建一个VI程序并调试,使用滑动控件输入3个数A、B和C,求(B+C) A-20,确定运算结果的范围,并使用数值、表盘和温度计正确显示结果。

三、设计和编辑前面板,使界面美观、实用。

实验三1.实验目的:熟悉子VI的调用。

2.实验内容:创建一个VI程序,并在编写程序过程中调用实验一中创建的子VI。

如何利用LabVIEW进行虚拟仪器设计和仿真

如何利用LabVIEW进行虚拟仪器设计和仿真

如何利用LabVIEW进行虚拟仪器设计和仿真利用LabVIEW进行虚拟仪器设计和仿真LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种集数据采集、信号处理、仪器控制和虚拟仪器设计于一身的集成开发环境,广泛应用于各个领域的工程实验和测试中。

本文将介绍如何利用LabVIEW进行虚拟仪器设计和仿真,并提供一些实际案例来说明其应用价值。

一、LabVIEW介绍LabVIEW是由美国国家仪器公司(National Instruments, NI)于1986年推出的一种图形化编程语言。

与传统的文本编程语言相比,LabVIEW通过将函数块拖拽到界面上并进行连接来组成程序,使得程序的开发更加直观、易于理解。

LabVIEW提供了丰富的工具箱和函数库,可用于数据采集、信号处理、仪器控制和用户界面设计等方面。

二、虚拟仪器设计虚拟仪器是指利用计算机软件和硬件模拟真实仪器的功能。

利用LabVIEW可以轻松地设计各种虚拟仪器,如示波器、信号发生器、频谱分析仪等,用于实现数据采集和信号处理等功能。

LabVIEW提供了众多的仪器模拟器和控件,用户只需简单地拖拽和配置这些组件,即可实现一个功能完备的虚拟仪器。

三、虚拟仪器仿真利用LabVIEW进行虚拟仪器仿真可以帮助用户在设计阶段快速验证算法和性能,并且可以方便地进行多种参数的调整和测试。

LabVIEW提供了灵活且强大的仿真工具,用户可以根据需要配置仿真场景、定义仿真信号和操作流程,并通过动态调整参数和监测仿真结果来完成虚拟仪器的性能评估。

四、LabVIEW在工程实践中的应用1. 数据采集和处理利用LabVIEW可以方便地搭建数据采集系统,并通过各种传感器和硬件设备获取实时数据。

同时,LabVIEW提供了丰富的信号处理函数和算法,可以对采集的数据进行滤波、降噪、频谱分析等处理,从而提取出有效信息。

2. 仪器控制和自动化LabVIEW支持与各类仪器设备的通讯和控制,可以通过GPIB、USB、Ethernet等接口与仪器进行连接,并通过LabVIEW编写程序来实现仪器的自动化控制。

虚拟仪器实验报告

虚拟仪器实验报告

虚拟仪器实验报告一、实验目的本次虚拟仪器实验的主要目的是深入了解和掌握虚拟仪器技术的基本原理和应用方法,通过实际操作和实验数据的分析,提高对虚拟仪器系统的设计、开发和调试能力。

二、实验设备与环境1、计算机:配置满足虚拟仪器软件运行要求的个人计算机。

2、虚拟仪器软件:LabVIEW 或其他相关软件。

3、数据采集卡:用于采集外部物理量信号。

4、传感器:如温度传感器、压力传感器等。

三、实验原理虚拟仪器是一种基于计算机的测量和控制系统,它将传统仪器的硬件功能通过软件来实现。

通过将传感器采集到的物理信号转换为电信号,再经过数据采集卡传输到计算机中,利用虚拟仪器软件进行数据处理、分析和显示。

虚拟仪器的核心是软件,通过图形化编程环境,用户可以方便地构建自己的测量和控制程序。

这种图形化编程方式类似于流程图,通过连接不同的功能模块来实现特定的功能。

四、实验内容与步骤1、搭建虚拟仪器系统安装和配置虚拟仪器软件。

连接数据采集卡和传感器。

2、设计虚拟仪器程序创建新的项目和程序框图。

选择合适的函数和控件来实现数据采集、处理和显示。

3、数据采集与处理设定采集参数,如采样频率、通道数等。

启动采集,获取传感器的实时数据。

4、数据分析与显示对采集到的数据进行滤波、平滑等处理。

以图表、数值等形式显示处理后的数据。

五、实验结果与分析1、温度测量实验采集到的温度数据呈现出一定的变化趋势。

分析数据的稳定性和准确性,发现存在一定的误差。

可能的误差原因包括传感器精度、环境干扰等。

2、压力测量实验压力数据的变化与预期相符。

通过对比不同压力下的数据,验证了系统的测量性能。

六、实验中遇到的问题及解决方法1、数据采集不稳定检查连接线路是否松动,重新连接后问题解决。

2、程序运行出错仔细检查程序框图中的逻辑错误,修改后程序正常运行。

七、实验总结与体会通过本次虚拟仪器实验,我深刻体会到了虚拟仪器技术的强大功能和灵活性。

它不仅能够大大降低仪器的成本,还能够根据实际需求快速定制测量和控制系统。

虚拟仪器实验报告实验五

虚拟仪器实验报告实验五

虚拟仪器实验报告实验五一、实验目的本次虚拟仪器实验的目的是深入了解和掌握虚拟仪器在数据采集、处理与分析方面的应用,通过实际操作和实验,提高对虚拟仪器技术的理解和运用能力。

二、实验设备与环境1、计算机:配置满足虚拟仪器软件运行要求。

2、虚拟仪器软件:如 LabVIEW 等。

3、数据采集卡:用于采集外部物理量信号。

三、实验原理虚拟仪器是基于计算机的仪器系统,它将计算机硬件资源与仪器测量、控制功能结合在一起。

通过软件编程,实现对数据的采集、处理、分析和显示。

在本次实验中,主要利用数据采集卡采集外部信号,然后在虚拟仪器软件中进行处理和分析。

四、实验步骤1、硬件连接将数据采集卡正确安装到计算机上,并连接外部传感器或信号源,确保连接稳定可靠。

2、软件设置打开虚拟仪器软件,进行数据采集卡的配置,包括采样频率、通道选择、量程设置等。

3、程序编写使用图形化编程语言,编写数据采集、处理和分析的程序。

例如,实现数据的实时采集、滤波处理、频谱分析等功能。

4、运行程序编译并运行编写好的程序,观察采集到的数据和处理结果。

5、数据分析对采集到的数据进行分析,评估数据的准确性和可靠性,查找可能存在的问题。

五、实验结果与分析1、数据采集结果成功采集到了外部信号,数据的幅度、频率等特征与预期相符。

2、滤波处理效果通过低通、高通或带通滤波,有效地去除了噪声和干扰,使信号更加清晰。

3、频谱分析结果对采集到的周期性信号进行频谱分析,准确地得到了信号的频率成分和幅值分布。

分析实验结果时,发现了一些问题。

例如,在某些情况下,采集到的数据存在一定的误差,可能是由于传感器精度、信号干扰或采样频率设置不当等原因引起的。

针对这些问题,进行了进一步的调试和改进。

六、实验中遇到的问题及解决方法1、数据采集不稳定解决方法:检查硬件连接,确保接触良好;调整采样频率和缓冲区大小。

2、程序运行出错解决方法:仔细检查程序代码,查找语法错误和逻辑错误;参考软件的帮助文档和示例程序。

LabVIEW虚拟仪器实验报告

LabVIEW虚拟仪器实验报告
(5)在While循环中添加一个随机数函数及一个大于比较函数,并按图示连线。
(6)在第一帧和第三帧中分别放置一个时间计数器函数,并将两个时间计数器函数的输入端子接入一个减法函数来计算程序的运行时间并送入运行时间数值显示控件。
(7)切换至前面板,在数值输入控件中输入数值,单击运行按钮运行程序,若要详细观察程序运行时的数据流,可以选择工具栏中的高亮执行按钮。最后保持程序。
前面板:
程序框图:
实验八
1、实验目的:
熟悉使用LabVIEW调用ActiveX控件。
2、实验内容:
创建一个VI程序,此VI要实现的功能是:调用ActiveX控件,并设置ActiveX控件对象为Microsoft Office Spreadsheet 11.0,并通过设置往Spreadsheet中写入指定数据。
3.实验步骤:
(1)启动LabVIEW,创建一个VI。
(2)在前面板中创建一个旋钮控件,修改标签名为发动机转速,设置数值范围为0~5000,从旋钮控件中调出一个数字显示控件来同步显示旋钮控件当前值。
(3)在前面板创建两个数值显示控件,并修改标签名为汽车速度和发动机温度。
(4)切换至程序框图窗口。
(5)在程序框图中创建一个大于或等于函数。
(7)按同样的方法创建加法函数、平方根函数和除法函数,并按图中所示修改常量值和连好线。
(8)切换至前面板,在发动机转速控件中输入数值,点击运行按钮,运行VI程序。
(9)修改图标为T/V以表示该子VI输出量为发动机温度和汽车速度,并保存为vi.vi。
前面板:
程序框图:
实验二
1.实验目的:
熟悉子VI的调用。
2.实验内容:
创建一个VI程序,并将此程序保存为子VI。此VI要实现的功能是:当输入发动转速时,经过一定运算过程,输出发动机温度和汽车速度值。

labview虚拟仪器实验报告

labview虚拟仪器实验报告

labview虚拟仪器实验报告LabVIEW虚拟仪器实验报告实验目的:本实验旨在通过LabVIEW虚拟仪器软件进行实验,以探究其在科学研究和工程实践中的应用,以及对实验数据的采集、分析和处理能力。

实验仪器:LabVIEW虚拟仪器软件实验内容:1. 创建虚拟仪器界面:通过LabVIEW软件,创建一个简单的虚拟仪器界面,包括数据采集、实时显示和控制功能。

2. 数据采集与分析:利用LabVIEW软件进行数据采集,并对采集到的数据进行分析和处理,包括统计分析、波形显示等功能。

3. 信号发生器与示波器模拟:通过LabVIEW软件模拟信号发生器和示波器的功能,实现信号的生成和观测。

实验步骤:1. 打开LabVIEW软件,创建一个新的虚拟仪器界面。

2. 添加数据采集模块,并设置采集参数和采集通道。

3. 运行虚拟仪器界面,观察数据采集情况,并进行实时显示。

4. 对采集到的数据进行分析,包括统计分析和波形显示。

5. 模拟信号发生器和示波器的功能,生成不同类型的信号并进行观测。

实验结果:通过LabVIEW虚拟仪器软件,我们成功创建了一个简单的虚拟仪器界面,并实现了数据采集、分析和处理的功能。

我们还成功模拟了信号发生器和示波器的功能,实现了信号的生成和观测。

这些结果表明,LabVIEW虚拟仪器软件具有强大的数据采集和处理能力,可以广泛应用于科学研究和工程实践中。

结论:LabVIEW虚拟仪器软件作为一种强大的实验工具,具有广泛的应用前景。

它不仅可以帮助科研人员进行数据采集和分析,还可以帮助工程师进行系统监测和控制。

因此,我们应该充分发挥LabVIEW虚拟仪器软件的优势,推动其在科学研究和工程实践中的应用。

基于LabVIEW的虚拟仪器设计实验

基于LabVIEW的虚拟仪器设计实验

基于LabVIEW的虚拟仪器设计实验张巧梅专业:电子信息工程摘要:随着电子技术、计算机技术的高速发展及其在电子测量技术与仪器领域中的应用,新的测试理论、方法以及新的仪器结构不断出现,虚拟仪器也随之出现并得到了很大的发展。

目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。

LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言开发环境,LabVIEW也是一种通用编程系统,具有各种各样、功能强大的函数库,包括数据采集、GPIB、串行仪器控制、数据分析、数据显示及数据存储,甚至还有目前十分热门的网络功能,是一个功能强大且灵活的软件。

LabVIEW也有完善的仿真、调试工具,如设置断点、单步等,其动态连续跟踪方式,可以连续、动态地观察程序中的数据及其变化情况,并且LabVIEW与其它计算机语言相比,有一个特别重要的不同点:其它计算机语言都是采用基于文本的语言产生代码行,而LabVIEW采用图形化编程语言--G语言。

关键词 LabVIEW软件虚拟仪器实验设计Abstract: With the electronic technology, computer technology's rapid development in electronic measurement and instrument field of application of testing new theories,Virtual instrument has emerged and obtained very big development.Now in this field,Using a wide range of computer language is the NI company bVIEW is a kind of graphical programming language,of the development bVIEWalso is a kind of common programming system,With various and powerful function,Including data acquisition, GPIB,Serial instrumen t control,Data analysis,Data display and data storage,Even now very popular network function,Is a powerful and flexible software.LabVIEW also have simulation and Debugging tools.If set breakpoint and Single-step etc.The dynamic continuosly,Can continuously and dynamic observations of the data and programs.And with other computer language LabVIEW have a particularly important difference: Other computer language is based on the text of the language code, but LabVIEW using graphical programming language - G language. Keywords: LabVIEW Software Virtual instrument Experiment目录引言 (4)1.虚拟仪器系统概述 (4)1.1.虚拟仪器概念 (4)1.2.虚拟仪器的特点 (4)1.3.虚拟仪器的分类 (5)1.4.虚拟仪器的软件开发环境 (5)2.图形化编程语言LabVIEW (5)2.1.LabVIEW概述 (5)2.2.LabVIEW的使用 (6)3.LabVIEW虚拟仪器实验 (7)3.1.一个虚拟温度报警器 (7)3.1.1.此实验的前面板设置 (7)3.1.2.此实验的程序框设置 (7)3.1.3.结果演示 (13)3.2.一个虚拟示波器 (14)3.2.1.前面板设置 (14)3.2.2.函数程序框图 (19)3.2.3.演示结果 (21)3.3.一个虚拟滤波器 (23)3.3.1.前面板设置 (23)3.3.2程序框设计 (23)3.3.3.运行结果: (25)结束语 (26)参考文献 (27)引言虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪器,如示波器,逻辑分析仪,信号发生器,频谱分析仪等;可集成于自动控制,工业控制系统;可自由构建成专有仪器系统。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一储液罐状态监控系统设计一、实验目的通过该系统设计,初步了解LabVIEW虚拟仪器设计软件的前面板、程序框图及各个选项板的功能。

二、实验内容设计储液罐状态监控仿真系统,要求如下1、监测一个储液罐的实际液位、温度、进口压力、出口压力2、用曲线图显示被测量液位随时间的变化情况3、液位超标时用指示器报警4、手动和自动两种方式调节储液罐的液位高度5、用调节步长按钮决定自动调节的快慢程度6、设计储液罐状态监控系统前面板三、实验步骤1、前面板设计整个贮液罐监控系统前面板需要的控件有:停止键、手自动切换、液位超标指示灯、步长调节旋钮、高度设定、实际高度显示、进出口压力显示、温度显示和实际液位高度波形图。

停止键、手自动切换、液位超标在新式布尔量控件中进行选择,步长调节旋钮在数值控件中选择旋钮、压力表在数值中选择量表控件,设定高度、实际高度、温度在数值控件中分别选择垂直指针滑动杆垂直填充滑动杆和温度计,液位高度波形图选择波形图表。

2、程序框图设计程序采用While循环结构,结束用停止布尔按钮结束,除设定高度和调节步长是手动设置外,其他输入如压力和温度的设定均采用编程—数值—随机数的方式给定,手自动切换布尔量连接比较选项中的选择节点,用于切换手自动,液位超标将实际高度和超标高度比较,输出一布尔量。

四、实验结果五、思考题1、将整个VI设计成一个子VI。

在另一个VI中调用。

在前面板右上角,编辑连线板,对VI的输入和输出对应控件进行编辑,然后保存,即可生成VI,可在其他VI中调用,在其他VI中的调用图如下:实验二分组数据的练习一、实验目的通过该实验,熟悉LabVIEW中常用的分组数据:数组、簇及波形的使用。

二、实验内容习题4-3到4-11。

三、实验步骤4-3.4.5 前面板只有三个数组的显示控件,分别为原数组显示、原数组大小显示和转置后的数组显示,程序框图中建立一二维数组常量,将要显示的数组填入,并添加一二维显示控件,在数组中分别选择数组大小和二维数组转置节点,其后分别连接显示控件。

4-6 前面板中选择簇输入控件,并在簇中加入字符型输入控件,数值型输入控件,布尔型输入控件,然后添加一布尔型显示控件,用于提取簇元素注册的显示。

程序框图中从簇与变体函数子选板中选择按名称解除捆绑函数,输入端连接簇输入控件的输出,然后选择“注册”后输出端连接布尔控件的输入端。

4-7 前面板中在“字符串与路径”控件中选择组合框控件,然后在它的属性编辑项中编辑5个人的姓氏拼音首字母,它们的值分别为各自的中文姓名,编辑好后建立一字符串显示控件,程序框图中将组合框的输出端与字符串显示控件连接即可。

4-8 前面中中建立一字符串显示控件,程序框图中在定时函数子选板中选择“获取日期时间/字符串”函数,然后放置两个字符串常量分别为班级和姓名,将日期、时间、班级、姓名四个字符串接入字符串选板中的“连接字符串”函数节点,该节点的输出端接入字符串显示控件的输入端。

4-9 前面板中建立一字符串显示控件,程序框图中建立五个随机数,然后均与常数10相乘得到0-10的随机数,选择字符串选板中的“连接字符串”函数节点,将相乘后的随机数接入输入端,在“连接字符串”的格式字符串端建立字符串常量定义格式为两位小数点,数之间用逗号隔开。

4-10 前面板中建立一个一维数组输入控件,建立一个一维数组输出控件,程序框图中建立一个For循环,用数组选板中的“一维数组移位”和“替换数组子集”,每次替换数组最后一个元素并进行移位,替换的新元素值为0-10的随机数,For循环建立移位寄存器,使移位后的数组能进入下次循环中。

4-11 已知标定数据,前面板中建立电压的数值输入控件和压力的数值输出控件,程序框图中用数组选板中的“以阈值插值一维数组”进行电压对压力的插值找到索引值,然后进行显示。

四、实验结果4-3.4.54-6 4-74-84-94-104-11实验三结构的练习一、实验目的通过该实验,熟悉LabVIEW中常用的结构。

二、实验内容1、习题5-1、5-3、5-5(用波形图显示结果)。

2、学号01-10的学生5-6、5-9;学号11-20的学生5-7、5-11;其余同学为5-8、5-12。

三、实验步骤5-1 前面板为三个数组显示控件,程序框图中用For循环和条件结构产生要求所需的数组,生成的数组连接数组显示控件,并连接“索引数组”函数进行索引出两个一维数组,两个一维数组分别连接“拆分一维数组”函数进行拆分后输出连接数组显示控件。

5-3 前面板中建立一个字符串输入控件,用于输入口令,然后建立一个滑动杆显示控件,程序框图中用While循环结构,结构中加入两层条件结构,第一层用于判断是否输入,第二层用于判断口令是否正确。

5-5 前面板中建立两个数值输入控件,分别用于公式中m和b的输入,建立两个一维数组显示控件,程序框图中用Ror循环在循环中建立公式节点,分别把m、b和i输入公式节点,然后按公式输出y1和y2,将循环的输出接到两个数组显示控件。

5-8 前面板为水仙花数的数组输出显示控件,程序框图采用For循环结构循环判断,用乘法和取余函数将个十百位分离并立方后进行判断添加事件节点将判断为真,即是水仙花数的数存入数组中,最后将循环的结果连接显示控件。

5-12 前面板中建立量表的显示控件,然后右键创建属性节点中的滑块颜色前景色,程序框图中用一随机数乘以255产生0-255的随机数,然后接入显示控件和属性节点。

四、实验结果5-15-3 5-5 5-85-12实验四数据的图形显示一、实验目的通过该实验,熟悉LabVIEW中常用的数据图形显示工具。

二、实验内容习题6-2、6-4、6-5三、实验步骤6-2 前面板中建立一个波形图显示控件,程序框图中用一个For循环产生了128个点然后分别接入正余弦函数产生正余弦信号,对余弦波扩大10倍后进行数组移位后产生初始x0,两个数组合成一个二维数组接入波形图显示控件。

6-4 前面板中加入两个建立两个Express XY图,分别显示y1和y2,程序框图中将5-5的输出以i为两个XY图的x端,y1和y2分别接入XY图的y输入端。

6-5 前面板中建立一个Express XY图,程序框图中用6-2产生的正余弦波分别作为Express XY的X端和Y端。

四、实验结果6-2和6-56-4实验五文件的存储及回放一、实验目的通过该实验,熟悉LabVIEW中常用的数据图形显示工具。

二、实验内容习题7-1、7-2、7-3、7-4三、实验步骤7-1 前面板为空,程序框图中用正弦信号函数产生正弦信号,三种存储方法路径获得方法相同,均是获取当前VI路径的根目录后,再与要建立的文件名字组合创建新的路劲,文本文件的存储要将信号数组拆分准换成字符串用For循环一个一个的存储,二进制文件和电子表格文件的存储直接用相应的函数输入端接对应的路径和波形即可。

7-2 二进制文件的读取程序框图中用二进制文件读取函数,输入端接入正确的路径和数据类型,然后建立显示控件。

7-3 前面板为数据的显示控件,用簇显示控件来显示,程序框图中数据记录文件函数在文件I/O的高级文件函数选板中选取写入记录文件,存储路径的获得方式与7-1相同,数据用For循环产生一个随机数组,与时间的字符串捆绑后形成簇接入数据记录文件的数据端。

读取时选取读取记录文件函数进行读取。

7-4 前面板为空,程序框图中选取脉冲信号,路径获得同7-1,在波形函数选板下选取波形文件I/O中的写入波形文件函数,将脉冲信号的路径接入即可。

四、实验结果7-2二进制读取程序框图7-3数据存储:数据读取显示:7-4实验六利用CVI设计一个虚拟示波器一、实验目的通过该实验,熟悉Labwindows/CVI的基本程序设计过程。

二、实验内容利用CVI设计一个简易的虚拟示波器,要求输入信号至少包括正弦波、方波、及三角波。

要求波形参数可调。

如正弦波可以频率、相位、幅值。

方波可调占空比等。

三、实验步骤用户面板选择三个数值量表和一个枚举量表,分别用于波形的幅值、相位、频率和方波占空比的设置,四个都建立回调函数,选择一个枚举控件用于选择三种波形,建立一个波形图标,用于波形的显示。

四、实验结果程序如下:#include <analysis.h>#include <cvirte.h>#include <userint.h>#include "shiboqi.h"static int panelHandle;static double Bo_phase=0;static double Bo_fuzhi=1.0;static double Bo_freq=0.0001;static double Bo_zhan=50;double point[10000];int i; int State_sample;void display(void) ;int main (int argc, char *argv[]){if (InitCVIRTE (0, argv, 0) == 0)return -1; /* out of memory */if ((panelHandle = LoadPanel (0, "shiboqi.uir", PANEL)) < 0)return -1;DisplayPanel (panelHandle);RunUserInterface ();DiscardPanel (panelHandle);return 0;}int CVICALLBACK QuitCallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:QuitUserInterface (0);break;}return 0;}int CVICALLBACK fuzhicallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_NUMERICKNOB_fuzhi,&Bo_fuzhi);display();break;}return 0;}int CVICALLBACK Frecallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_RINGKNOB_FRE, &Bo_freq);display();break;}return 0;}int CVICALLBACK phasecallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_NUMERICKNOB_phase, &Bo_phase);display();break;}return 0;}int CVICALLBACK zhankongcallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_NUMERICKNOB, &Bo_zhan);display();break;}return 0;}int CVICALLBACK Choicecallback (int panel, int control, int event,void *callbackData, int eventData1, int eventData2){switch (event){case EVENT_COMMIT:GetCtrlVal (panelHandle, PANEL_RING, &State_sample);display();break;}return 0;}void display(void){if(State_sample==1){ClearStripChart (panelHandle, PANEL_STRIPCHART);SineWave (10000, Bo_fuzhi, Bo_freq, &Bo_phase, point);for(i=0;i<=9999;i++){PlotStripChartPoint (panelHandle, PANEL_STRIPCHART, point[i] );}}else if(State_sample==2){ClearStripChart (panelHandle, PANEL_STRIPCHART);SquareWave (10000, Bo_fuzhi, Bo_freq,&Bo_phase ,Bo_zhan , point);for(i=0;i<=9999;i++){PlotStripChartPoint (panelHandle, PANEL_STRIPCHART, point[i] );}}else if(State_sample==3){ClearStripChart (panelHandle, PANEL_STRIPCHART);TriangleWave (10000, Bo_fuzhi, Bo_freq, &Bo_phase, point);for(i=0;i<=9999;i++){PlotStripChartPoint (panelHandle, PANEL_STRIPCHART, point[i] );}}}。

相关文档
最新文档