基于tcp的LABVIEW课程设计报告书_第1页
基于tcp的LABVIEW课程设计报告书_第2页
基于tcp的LABVIEW课程设计报告书_第3页
基于tcp的LABVIEW课程设计报告书_第4页
基于tcp的LABVIEW课程设计报告书_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、虚拟仪器开发与实践 课程设计题目名称: 基于 LABVIEW的 TCP/IP 通讯设计学生专业: 测控技术与仪器学生: 贾科琼成绩:评语:指导老师签名:目录1 设计背景 02 虚拟仪器概述 02.1虚拟仪器概念 02.2虚拟仪器的优势 12.3 虚拟仪器的构成 12.4虚拟仪器开发软件 23 LabVIEW 软件的概述 33.1 LabVIEW 编辑界面 33.2 LabVIEW 的特点 43.3 LabVIEW 的应用领域 54 LABVIEW 的 TCP/IPD 通讯设计 54.1 TCP/IP概述 54.2 LabVIEW 中的 TCP通讯总流程图 64.3 LabVIEW 中的 TCP

2、功能函数 74.4 LabVIEW 中的 TCP通讯程序图 125 软件调试 1.4.设计心得 1.8.参考文献 2.0.1 设计背景随着电子技术,计算机技术和数字信号处理技术的飞速发展,以及这些技术在 测量领域中的广泛应用,仪器技术领域发生了巨大的变化。从最初的模拟仪器到现 在的数字化仪器,嵌入式仪器以及智能仪器,新的测试理论,测试方法不断的应用 于实践,仪器技术领域的各种创新积累使现代测量仪器的性能发生了质的飞跃,从 而使仪器的概念和形式发生了巨大的变化。测量仪器发展至今,大体经历了四代历程,即模拟仪器、分立元件式仪器、数 字化仪器和智能仪器。由于微电子技术、计算机技术、通信技术、网络技术

3、的高度 发展及其在电子测量技术与仪器上的应用,新的测试理论、新的测试方法、新的测 试领域以及新的仪器结构不断出现,在许多方面已经突破了传统仪器的概念,电子 测量仪器的功能和作用已经发生了质的变化,其中计算机处于核心地位,计算机软 件技术和测试系统更紧密地结合成一个有机整体,导致仪器的结构、概念和设计观 点等也发生了突破性的变化。在这种背景下,美国国家仪器公司在20 世纪 80 年代最早提出虚拟仪的概念,同时推出了用于虚拟仪器开发的工程软件包LabVIEW。NI公司宣称“ The Software is the Instrument”,即“软件就是仪器” 。在这里,计算机是虚拟仪器的核心设备,

4、该仪器的功能是通过软件仿真实现的。 它将传统仪器由硬件电路实现的数据分析处理与显示功能,改由功能强大的计算机 来执行,所以计算机是其核心;当计算机与适当的 I/O 接口设备配置完毕,虚拟仪 器的硬件平台就被确定, 此后软件就成为仪器的关键部分,这也是“软件就是仪器” 之说的来由。这意味着只要按照测量原理,采用适当的信号分析技术与处理技术, 编制某种测量功能的软件就可构成该种功能的测量仪器。2.虚拟仪器概述2.1 虚拟仪器概念虚拟仪器技就是利用高性能的模块化硬件, 结合高效灵活的软件来完成各种测 试、测量和自动化的应用。自 1986年问世以来, 世界各国的工程师和科学家们都已 将 NI LabV

5、IEW图形化开发工具用于产品设计周期的各个环节, 从而改善了产品质量、 缩短了产品投放市场的时间,并提高了产品开发和生产效率。使用集成化的虚拟仪 器环境与现实世界的信号相连,分析数据以获取实用信息,共享信息成果,有助于 在较大围提高生产效率。虚拟仪器提供的各种工具能满足我们任何项目需要。2.2 虚拟仪器的优势(1)性能高。虚拟仪器技术是在 PC技术的基础上发展起来的,所以完全 继承了 以现成即用的 PC技术为主导的最新商业技术的优点, 包括功能超卓的处理器和文件 I/O ,使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。 此外,不断发展 的因特网和越来越快的计算机网络使得虚拟仪器技术展现

6、其更强大的优势( 2)扩展性强。 NI 的软硬件工具使得我们不再受限于当前的技术中。这得益于NI软件的灵活性,只需更新计算机或测量硬件,就能以最少的硬件投资和极少的、甚 至无需软件上的升级即可改进整个系统。在利用最新科技的时候,我们可以把它们 集成到现有的测量设备,最终以较少的成本加速产品上市的时间。( 3)节约时间。在驱动和应用两个层面上, NI 高效的软件构架能与计算机、仪器 仪表和通讯方面的最新技术结合在一起。 NI 设计这一软件构架的初衷就是为了方便 用户的操作,同时还提供了灵活性和强大的功能,使我们轻松地配置、创建、发布、 维护和修改高性能、低成本的测量和控制解决方案。( 4)无缝集

7、成。虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功 能上不断地趋于复杂, 工程师们通常需要集成多个测量设备来满足完整的测试需求, 而连接和集成这些不同设备总是要耗费大量的时间。 NI 的虚拟仪器软件平台为所有 的 I/O 设备提供了标准的接口,帮助我们轻松地将多个测量设备集成到单个系统, 减少了任务的复杂性。2.3 虚拟仪器的构成2.3.1 虚拟仪器系统的构成 虚拟仪器由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件 设备与接口可以是各种以 PC为基础的置功能插卡、通用接口总线接口卡、串行口、 VXI 总线仪器接口等设备,或者是其它各种可程控的外置测试设备,设备驱动软件

8、 是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪 器系统进行通讯,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操 作元素相对应的各种控件。用户用鼠标操作虚拟仪器的面板就如同操作真实仪器一 样真实与方便。2.3.2虚拟仪器系统的硬件构成 虚拟仪器的硬件系统一般分为计算机硬件平台和测控功能硬件。计算机硬件平 台可以是各种类型的计算机,如台式计算机、便携式计算机、工作站、嵌入式计算 机等。它管理着虚拟仪器的软件资源,是虚拟仪器的硬件基础。因此,计算机技术 在显示、存储能力、处理器性能、网络、总线标准等方面的发展,导致了虚拟仪器 系统的快速发展。2.3.3虚拟仪器系

9、统的软件构成测试软件是虚拟仪器的主心骨。 NI 公司在提出虚拟仪器概念并推出第一批实用 成果时,就用软件就是仪器来表达虚拟仪器的特征,强调软件在虚拟仪器中的重要 位置。NI 公司从一开始就推出丰富而又简洁的虚拟仪器开发软件。使用者可以根据 不同的测试任务,在虚拟仪器开发软件的提示下编制不同的测试软件,来实现当代 科学技术复杂的测试任务。在虚拟仪器系统中用灵活强大的计算机软件代替传统仪 器的某些硬件,特别是系统中应用计算机直接参与测试信号的产生和测量特性的分 析,使仪器中的一些硬件甚至整个仪器从系统中消失,而由计算机的软硬件资源来 完成它们的功能。虚拟仪器测试系统的软件主要分为以下四部分。2.4

10、 虚拟仪器开发软件虚拟应用软件开发环境是设计虚拟仪器所必需的软件工具。 应用软件开发环境 的选择,是以开发环境人员的喜好不同而不同,但最终都必须提供给用户一个界面 友好、功能强大的应用程序。软件在虚拟仪器中处于重要的地位,他担负着对数据 进行分析处理的任务,如数字滤波、频谱变换等。在很大的程度上,虚拟仪器能否 运行成功,就取决于软件。因此美国 NI 公司提出了“软件就是仪器”的口号。目前已有多种虚拟仪器的软件开发工具,主要分为以下两类:( 1)传统的文本式编辑方法, 如 C、VisualC+ 、Visual Basic 、LabWindows/CVI等。2)图形化编辑方法,如 NI 公司的 L

11、abVIEW软件, HP公司的 VEE等。使用图形化软件编程的优势是软件开发周期短,编程容易,特别适合于不具有专业编程水 平的工程技术人员。下面会介绍一下 LabVIEW软件的具体概述。3 LabVIEW 软件的概述LabVIEW是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本 编程语言根据语句和指令的先后顺序决定程序执行顺序, 而 LabVIEW 则采用数据流 编程方式,程序框图中节点之间的数据流向决定了 VI 及函数的执行顺序。 VI 指虚 拟仪器,是 LabVIEW 的程序模块。3.1 LabVIEW 编辑界面Labview 编程环境主要由启动窗口、控件选板、函数选板、工具选

12、板、菜单栏、 工具栏、项目浏览器窗口构成。 如图 3.1 为 LabVIEW的启动界面图 3-1 LabVIEW 的启动界面如图 3.2 为 LabVIEW软件的前面板和编辑面板以及各种函数结构图 3-2 LabVIEW 前面板和编辑面板3.2 LabVIEW 的特点(1)LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言的开发环境, 它广泛地被工业界、 学术界和研究实验室所接受, 视为一个标准的数据采集和仪器控制软件。 LabVIEW 集成了与满足 GPIB、 VXI、 RS-232 和 RS-485

13、 协议的硬件及数据采集卡通讯的全部功能。它还置了便于应用 TCP/IP、 ActiveX 等软件标准的库函数。这是一个功能强大且灵活的软件。利用它 可以方便地建立自己的虚拟仪器, 其图形化的界面使得编程及使用过程都生动有趣。(2)图形化的程序语言,又称为 G 语言。使用这种语言编程时,基本上不写 程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程 师所熟悉的术语、图标和概念,因此, LabVIEW是一个面向最终用户的工具。它可 以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统 的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高

14、 工作效率。(3)它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不 同的仪器仪表的功能,非常方便,是相当于软件即硬件 ! 利用 LabVIEW,可产生独 立运行的可执行文件, 它是一个真正的 32 位/64 位编译器。像许多重要的软件一样, LabVIEW提供了 Windows、UNIX、Linux 、Macintosh 的多种版本。3.3 LabVIEW 的应用领域(1)LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和 研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW 集成了与满足 GPIB、VXI、RS-232和 RS-48

15、5 协议的硬件及数据采集卡通讯的全部功能。它 还置了便于应用 TCP/IP、ActiveX 等软件标准的库函数。这是一个功能强大且灵活 的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用 过程都生动有趣。(2)图形化的程序语言,又称为 G 语言。使用这种语言编程时,基本上不写 程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程 师所熟悉的术语、图标和概念,因此, LabVIEW是一个面向最终用户的工具。它可 以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统 的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提

16、高 工作效率。(3)它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不 同的仪器仪表的功能,非常方便,是相当于软件即硬件 ! 利用 LabVIEW,可产生独 立运行的可执行文件, 它是一个真正的 32 位/64 位编译器。像许多重要的软件一样, LabVIEW提供了 Windows、UNIX、Linux 、Macintosh 的多种版本。4 LABVIEW 的 TCP/IPD 通讯设计4.1 TCP/IP 概述Internet 中使用最为广泛的网络协议为 TCP/IP 协议集。TCP是 TCP/IP 协议集中的隶属于传输层的传输控制协议。 IP 是 Internet 网络 中隶

17、属于网络层的基础协议,由 IP 控制传输协议的协议单元称为 IP 数据。 IP 数据 中含有发送或接收方的 IP 地址。 IP 提供可靠的、无连接的、具有时间限制的自动 重试机制的数据投递服务,构成了 Internet 网络数据传输的基础。 TCP以此为基础 增加了连接管理和确认重发等机制,向更高层的应用程序提供面包连接的、可靠的 传输服务。 TCP/IP 协议族共分为四层:链路层、网络层、传输层和应用层。 TCP/IP 协议的传输层,包括 TCP、 UDP协议,可以被 LabVIEW直接应用。TCP/IP 通常被认为四层协议系统 (1)链路层:通常包括操作系统中的设备驱动程序和计算机中对应的

18、网络接口卡( 2)网络层:处理分组在网络中的活动,例如分组的选路 (IP 、ICMP和 IGMP)( 3)运输层:主要为两台主机上的应用程序提供端到端的通信 (TCP和 UDP)( 4)应用层: Telnet 远程登录, FTP文件传输协议, SMTP简单传输协议, SNMP简 单网络管理协议。构造互联网最简单的办法就是把两个或多个网络通过路由器进行 连接。路由器的好处是为不同类型的物理网络提供连接。如图 4-1 为 TCP/IP 分层结构:图 4-1 TCP/IP 分层结构4.2 LabVIEW 中的 TCP 通讯总流程图服务器程序和客户端程序可以在两台联网的计算机上运行,当然也可以同时在

19、一台计算机上运行,本次课程设计实现的就是在一台计算机上同时运行的情况。另 外,在运行的时候必须先启动服务器,待服务器初始化完成,在运行客户机,如图 为 TCP通讯总流程图:图 4-2 TCP 通讯总流程图4.3 LabVIEW 中的 TCP 功能函数在 Labview 中可以利用 TCP进行网络通信,并且, Labview 对 TCP的编程进行了 高度集 成,用户通过简单的编程就可以在 Labview 中实现网络通信。3.3.1 TCP 侦听该函数的功能是创建一个侦听器并在指定端口等待 TCP连接的请求。该函数节 点只能在作为服务器的主机上使用。 开始侦听某个指定端口时, 不能再使用其他 TC

20、P 侦听 VI 侦听该窗口。图 4-3 TCP 侦听函数图 4-4 TCP 侦听函数端口界面网络地址:指定侦听的网络地址。如不指定网络地址, LabVIEW将侦听所有的网络 地址。通过字符串至 IP 地址转换函数可获取当前计算机的 IP 网络地址。端口:是要侦听连接的端口号连接 ID:是唯一标识 TCP 连接的网络连接引用句柄,该连接句柄用于在以后的VI调用中引用连接。3.3.3打开 TCP 连接该函数的功能是用指定的计算机名称和远程端口或服务名称来打开一个TCP连接。该节点只能在作为客户机的主机上使用。该函数节点主要接线端定义如下:图 4-5 打开 TCP 连接函数图 4-6 打开 TCP

21、连接函数端口 地址:是要与其建立连接的地址。该地址可以为 IP 句点符号格式或主机名。 远程端口或服务名称:可以接受数字或字符串输入,是要与其确立连接的端口或服 务的名称。连接 ID:是唯一标识 TCP 连接的网络连接引用句柄,该连接句柄用于在以后的 VI 调用中引用连接。3.3.4读取 TCP 数据该函数从指定的 TCP连接中读取数据。该函数节点主要接线端定义如下:图 4-7 读取 TCP 数据函数图 4-8 读取 TCP 数据函数端口 连接 ID :是唯一标识 TCP连接的网络连接引用句柄。 读取的字节:是要读取的字节数。连接 ID 输出:返回值与连接 ID 相同。 数据输出:包含从 TC

22、P连接读取的数据。3.3.4写入 TCP 数据 该函数通过数据输入端口将数据写入到指定的 TCP连接中。该函数节点主要接 线端定义如下:图 4-9 写入 TCP 数据函数图 4-11 关闭 TCP数据函数图 4-10 写入 TCP 数据函数端口连接 ID :唯一标识 TCP连接的网络连接引用句柄数据输入:包含要写入连接的数据连接 ID 输出:返回值与连接 ID 相同写入的字节: VI 写入连接的字节数3.3.5关闭 TCP 连接该函数的功能是关闭指定的 TCP连接。该函数节点主要接线端定义如下:图 4-12 关闭 TCP 数据函数端口连接 ID :是唯一标识要关闭的网络连接的网络句柄。 中止:

23、保留以便今后使用。连接 ID 输出:其值值与连接 ID 相同。不要将该输出端与其它 TCP函数相连。4.4 LabVIEW 中的 TCP 通讯程序图4.4.1如图为 TCP 服务器的完整流程框图 :图 4-13 TCP服务器程序框图如图为 TCP服务器的完整流程框图前面板:图 4-14 TCP 服务器前面板4.4.2如图为 TCP 客户端的完整流程框图:图 4-15 TCP 客户端程序框图如图为 TCP客户端的完整流程框图:图 4-16 TCP 客户端前面板5 软件调试( 1)当客户端 ip 地址刚好为服务器的 ip 地址,且客户端端口刚好与服务器相对应 时,这时“ TCP服务器”在运行, T

24、CP客户端也在运行同时接收到服务器的数据,如 下图所示,图 5-1 显示的为服务器发出矩形波,打开客户端同时客户端接收到矩形 波,通过调节频率、相位以及幅值来不断的改变波形的形状;图 5-2 显示的为服务器发出正弦波, 匹配端口与 ip 地址之后, 打开客户端同时 客户端接收到矩形波,通过调节频率和相位以及幅值来不断的改变波形的形状;图 5-3 显示的为服务器发出三角波, 匹配端口与 ip 地址之后, 打开客户端同时 客户端接收到三角波,通过调节频率和相位以及幅值来不断的改变波形的形状;图 5-1 矩形波图 5-2 正弦波图 5-3 三角波( 2)客户端 ip 地址为服务器的 ip 地址,当“

25、端口”不对应时,即使“ TCP服务器” 在运行, TCP客户端也接收不到任何的数据,如图所示图 5-4 调试三角波(3)因为必须先进行初始化服务器,待服务器完成初始化之后才启动客户端。当“端口”对应时,此时 ip 地址也正确,如果对于客户端与服务器所执行的先后顺序不相同,则此时客户端接收不到数据,与此同时也会报错,如图所示图 5-5 调试三角波( 4)在一台计算机上进行操作此通讯时,此时客户端中所对应的ip 地址一定要为服务器的 ip 地址完全相同,否则此时客户端接收不到数据,与此同时也会报错,如 图 5-6 所示图 5-6 调试三角波5)当“端口”对应时,即 “TCP 服务器”停止运行,“ TCP 客户端”也不可以运行。会报错,如图 5-7 所示图 5-7 调试波设计心得这次 LabVIEW课程设计历时一周的时间,在加上之前的实验课,时间汇总起来 熟悉这个软件有了将近半个月的时间,经过这些天的上机课,虽然最终课设任务基 本上达到老师的要求,但我对这次课程设计的收获却不是很满意。刚开始上课接触这个软件时,听老师讲的津津有味,感觉这个 LabVIEW应该会 很有趣,我个人比较喜欢单片机这类的小型 嵌入式的东西, 因为这些东西在一定程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论