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

下载本文档

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

文档简介

1、虚拟仪器开发与实践课程设计 题目名称: 基于LABVIEW 的TCP/IP通讯设计 学生专业: 测控技术与仪器 学生姓名: 贾科琼 成绩:评语:指导老师签名: 日期: 目录1 设计背景12 虚拟仪器概述12.1虚拟仪器概念12.2虚拟仪器的优势22.3虚拟仪器的构成22.4虚拟仪器开发软件33 LabVIEW软件的概述43.1 LabVIEW编辑界面43.2 LabVIEW的特点53.3 LabVIEW的应用领域64 LABVIEW的TCP/IPD 通讯设计64.1 TCP/IP概述64.2 LabVIEW中的TCP通讯总流程图74.3 LabVIEW中的TCP功能函数84.4 LabVIEW

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

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

4、功能强大的计算机来执行,所以计算机是其核心;当计算机与适当的I/O接口设备配置完毕,虚拟仪器的硬件平台就被确定,此后软件就成为仪器的关键部分,这也是“软件就是仪器”之说的来由。这意味着只要按照测量原理,采用适当的信号分析技术与处理技术,编制某种测量功能的软件就可构成该种功能的测量仪器。2.虚拟仪器概述2.1虚拟仪器概念 虚拟仪器技就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。自1986年问世以来,世界各国的工程师和科学家们都已将NI LabVIEW图形化开发工具用于产品设计周期的各个环节,从而改善了产品质量、缩短了产品投放市场的时间,并提高了产品开发和生产效

5、率。使用集成化的虚拟仪器环境与现实世界的信号相连,分析数据以获取实用信息,共享信息成果,有助于在较大范围内提高生产效率。虚拟仪器提供的各种工具能满足我们任何项目需要。2.2虚拟仪器的优势(1)性能高。虚拟仪器技术是在PC技术的基础上发展起来的,所以完全继承了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。此外,不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现其更强大的优势(2)扩展性强。NI的软硬件工具使得我们不再受限于当前的技术中。这得益于NI软件的灵活性,只需更新计算机或测量硬件,就能以最少的

6、硬件投资和极少的、甚至无需软件上的升级即可改进整个系统。在利用最新科技的时候,我们可以把它们集成到现有的测量设备,最终以较少的成本加速产品上市的时间。(3)节约时间。在驱动和应用两个层面上,NI高效的软件构架能与计算机、仪器仪表和通讯方面的最新技术结合在一起。NI设计这一软件构架的初衷就是为了方便用户的操作,同时还提供了灵活性和强大的功能,使我们轻松地配置、创建、发布、维护和修改高性能、低成本的测量和控制解决方案。(4)无缝集成。虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断地趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,而连接和集成这些不同设备总是要耗费

7、大量的时间。NI的虚拟仪器软件平台为所有的I/O设备提供了标准的接口,帮助我们轻松地将多个测量设备集成到单个系统,减少了任务的复杂性。2.3虚拟仪器的构成2.3.1 虚拟仪器系统的构成虚拟仪器由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口可以是各种以PC为基础的内置功能插卡、通用接口总线接口卡、串行口、VXI总线仪器接口等设备,或者是其它各种可程控的外置测试设备,设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通讯,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作元素相对应的各种控件。用户用鼠标操作虚拟仪器的面板就

8、如同操作真实仪器一样真实与方便。2.3.2虚拟仪器系统的硬件构成虚拟仪器的硬件系统一般分为计算机硬件平台和测控功能硬件。计算机硬件平台可以是各种类型的计算机,如台式计算机、便携式计算机、工作站、嵌入式计算机等。它管理着虚拟仪器的软件资源,是虚拟仪器的硬件基础。因此,计算机技术在显示、存储能力、处理器性能、网络、总线标准等方面的发展,导致了虚拟仪器系统的快速发展。2.3.3虚拟仪器系统的软件构成测试软件是虚拟仪器的主心骨。NI公司在提出虚拟仪器概念并推出第一批实用成果时,就用软件就是仪器来表达虚拟仪器的特征,强调软件在虚拟仪器中的重要位置。NI公司从一开始就推出丰富而又简洁的虚拟仪器开发软件。使

9、用者可以根据不同的测试任务,在虚拟仪器开发软件的提示下编制不同的测试软件,来实现当代科学技术复杂的测试任务。在虚拟仪器系统中用灵活强大的计算机软件代替传统仪器的某些硬件,特别是系统中应用计算机直接参与测试信号的产生和测量特性的分析,使仪器中的一些硬件甚至整个仪器从系统中消失,而由计算机的软硬件资源来完成它们的功能。虚拟仪器测试系统的软件主要分为以下四部分。2.4虚拟仪器开发软件虚拟应用软件开发环境是设计虚拟仪器所必需的软件工具。应用软件开发环境的选择,是以开发环境人员的喜好不同而不同,但最终都必须提供给用户一个界面友好、功能强大的应用程序。软件在虚拟仪器中处于重要的地位,他担负着对数据进行分析

10、处理的任务,如数字滤波、频谱变换等。在很大的程度上,虚拟仪器能否运行成功,就取决于软件。因此美国NI公司提出了“软件就是仪器”的口号。目前已有多种虚拟仪器的软件开发工具,主要分为以下两类:(1)传统的文本式编辑方法,如C、VisualC+、Visual Basic、LabWindows/CVI等。(2)图形化编辑方法,如NI公司的LabVIEW软件,HP公司的VEE等。使用图形化软件编程的优势是软件开发周期短,编程容易,特别适合于不具有专业编程水平的工程技术人员。下面会介绍一下LabVIEW软件的具体概述。3 LabVIEW软件的概述LabVIEW是一种用图标代替文本行创建应用程序的图形化编程

11、语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是 LabVIEW 的程序模块。3.1 LabVIEW编辑界面Labview编程环境主要由启动窗口、控件选板、函数选板、工具选板、菜单栏、工具栏、项目浏览器窗口构成。如图3.1为LabVIEW的启动界面图3-1 LabVIEW的启动界面如图3.2为LabVIEW软件的前面板和编辑面板以及各种函数结构图3-2 LabVIEW前面板和编辑面板3.2 LabVIEW的特点 (1)LabVIEW(Laboratory Virt

12、ual instrument Engineering Workbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW 集成了与满足 GPIB、VXI、RS-232和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。 (2)图形化的程序语言,又称为 G 语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能

13、利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。 (3)它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件! 利用 LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。3.3 LabVI

14、EW的应用领域(1)LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW 集成了与满足 GPIB、VXI、RS-232和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。 (2)图形化的程序语言,又称为 G 语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术

15、语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。 (3)它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件! 利用 LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。4 LABVIEW的TCP/IPD 通讯设计4.1 TCP

16、/IP概述 Internet中使用最为广泛的网络协议为TCP/IP协议集。TCP是TCP/IP协议集中的隶属于传输层的传输控制协议。IP是Internet网络中隶属于网络层的基础协议,由IP控制传输协议的协议单元称为IP数据。IP数据中含有发送或接收方的IP地址。IP提供可靠的、无连接的、具有时间限制的自动重试机制的数据投递服务,构成了Internet网络数据传输的基础。TCP以此为基础增加了连接管理和确认重发等机制,向更高层的应用程序提供面包连接的、可靠的传输服务。TCP/IP协议族共分为四层:链路层、网络层、传输层和应用层。TCP/IP协议的传输层,包括TCP、UDP协议,可以被LabVI

17、EW直接应用。TCP/IP通常被认为四层协议系统(1)链路层:通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡(2)网络层:处理分组在网络中的活动,例如分组的选路(IP、ICMP和IGMP)(3)运输层:主要为两台主机上的应用程序提供端到端的通信(TCP和UDP)(4)应用层:Telnet远程登录,FTP文件传输协议,SMTP简单邮件传输协议,SNMP简单网络管理协议。构造互联网最简单的办法就是把两个或多个网络通过路由器进行连接。路由器的好处是为不同类型的物理网络提供连接。如图4-1为TCP/IP分层结构:图4-1 TCP/IP分层结构4.2 LabVIEW中的TCP通讯总流程图 服

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

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

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

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

22、连。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服务器”在运行,TCP客户端也在运行同时接收到服务器的数据,如下图所示,图5-1显示的为服务器发出矩形波,打开客户端同时客户端接收到矩形波,通过调节频率、相

23、位以及幅值来不断的改变波形的形状;图5-2显示的为服务器发出正弦波,匹配端口与ip地址之后,打开客户端同时客户端接收到矩形波,通过调节频率和相位以及幅值来不断的改变波形的形状;图5-3显示的为服务器发出三角波,匹配端口与ip地址之后,打开客户端同时客户端接收到三角波,通过调节频率和相位以及幅值来不断的改变波形的形状; 图5-1矩形波图5-2正弦波图5-3三角波(2)客户端ip地址为服务器的ip地址,当“端口”不对应时,即使“TCP服务器”在运行,TCP客户端也接收不到任何的数据,如图所示 图5-4调试三角波 (3)因为必须先进行初始化服务器,待服务器完成初始化之后才启动客户端。当“端口”对应时

24、,此时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

提交评论