基于tcp的LABVIEW课程设计报告书14858.pdf

上传人:得****3 文档编号:83539830 上传时间:2023-03-31 格式:PDF 页数:22 大小:1.46MB
返回 下载 相关 举报
基于tcp的LABVIEW课程设计报告书14858.pdf_第1页
第1页 / 共22页
基于tcp的LABVIEW课程设计报告书14858.pdf_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《基于tcp的LABVIEW课程设计报告书14858.pdf》由会员分享,可在线阅读,更多相关《基于tcp的LABVIEW课程设计报告书14858.pdf(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、.虚拟仪器开发与实践课程设计 题目名称:基于 LABVIEW 的 TCP/IP 通讯设计 学生专业:测控技术与仪器 学生:贾科琼 成绩:评语:指导老师签名:.目录 1 设计背景.0 2 虚拟仪器概述.0 2.1 虚拟仪器概念.0 2.2 虚拟仪器的优势.1 2.3 虚拟仪器的构成.1 2.4 虚拟仪器开发软件.2 3 LabVIEW 软件的概述.3 3.1 LabVIEW 编辑界面.3 3.2 LabVIEW 的特点.4 3.3 LabVIEW 的应用领域.5 4 LABVIEW 的 TCP/IPD 通讯设计.5 4.1 TCP/IP 概述.5 4.2 LabVIEW中的 TCP 通讯总流程图

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

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

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

5、bVIEW 图形化开发工具用于产品设计周期的各个环节,从而改善了产品质量、.缩短了产品投放市场的时间,并提高了产品开发和生产效率。使用集成化的虚拟仪器环境与现实世界的信号相连,分析数据以获取实用信息,共享信息成果,有助于在较大围提高生产效率。虚拟仪器提供的各种工具能满足我们任何项目需要。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 虚拟仪器系统的软件构成 测试软件是虚拟仪器的主心骨。NI 公司

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

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

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

12、动界面 图 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 协议的硬件及数据采集卡通讯的全部功能。它还置了便于应用TCP/IP、Active

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

14、能,非常方便,是相当于软件即硬件!利用 LabVIEW,可产生独立运行的可执行文件,它是一个真正的 32 位/64 位编译器。像许多重要的软件一样,LabVIEW 提供了 Windows、UNIX、Linux、Macintosh 的多种版本。.3.3 LabVIEW 的应用领域(1)LabVIEW 是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW 集成了与满足 GPIB、VXI、RS-232 和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还置了便于应用 TCP/IP、ActiveX 等软件标准的库函数

15、。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。(2)图形化的程序语言,又称为 G 语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW 是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。(3)它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于

16、软件即硬件!利用 LabVIEW,可产生独立运行的可执行文件,它是一个真正的 32 位/64 位编译器。像许多重要的软件一样,LabVIEW 提供了 Windows、UNIX、Linux、Macintosh 的多种版本。4 LABVIEW 的 TCP/IPD 通讯设计 4.1 TCP/IP 概述 Internet 中使用最为广泛的网络协议为 TCP/IP 协议集。TCP 是 TCP/IP 协议集中的隶属于传输层的传输控制协议。IP 是 Internet 网络中隶属于网络层的基础协议,由 IP 控制传输协议的协议单元称为 IP 数据。IP 数据中含有发送或接收方的 IP 地址。IP 提供可靠的、

17、无连接的、具有时间限制的自动重试机制的数据投递服务,构成了 Internet 网络数据传输的基础。TCP 以此为基础增加了连接管理和确认重发等机制,向更高层的应用程序提供面包连接的、可靠的传输服务。TCP/IP 协议族共分为四层:链路层、网络层、传输层和应用层。TCP/IP协议的传输层,包括 TCP、UDP 协议,可以被 LabVIEW 直接应用。.TCP/IP通常被认为四层协议系统(1)链路层:通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡 (2)网络层:处理分组在网络中的活动,例如分组的选路(IP、ICMP 和 IGMP)(3)运输层:主要为两台主机上的应用程序提供端到端的通信

18、(TCP 和 UDP)(4)应用层:Telnet 远程登录,FTP 文件传输协议,SMTP 简单传输协议,SNMP 简单网络管理协议。构造互联网最简单的办法就是把两个或多个网络通过路由器进行连接。路由器的好处是为不同类型的物理网络提供连接。如图 4-1 为 TCP/IP 分层结构:图 4-1 TCP/IP 分层结构 4.2 LabVIEW 中的 TCP 通讯总流程图 服务器程序和客户端程序可以在两台联网的计算机上运行,当然也可以同时在一台计算机上运行,本次课程设计实现的就是在一台计算机上同时运行的情况。另外,在运行的时候必须先启动服务器,待服务器初始化完成,在运行客户机,如图为 TCP 通讯总

19、流程图:.图 4-2 TCP通讯总流程图 4.3 LabVIEW 中的 TCP 功能函数 在 Labview 中可以利用 TCP 进行网络通信,并且,Labview 对 TCP 的编程进行了高度集 成,用户通过简单的编程就可以在 Labview 中实现网络通信。3.3.1 TCP 侦听 该函数的功能是创建一个侦听器并在指定端口等待 TCP 连接的请求。该函数节点只能在作为服务器的主机上使用。开始侦听某个指定端口时,不能再使用其他 TCP侦听 VI 侦听该窗口。图 4-3 TCP 侦听函数.图 4-4 TCP 侦听函数端口界面 网络地址:指定侦听的网络地址。如不指定网络地址,LabVIEW 将侦

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

21、端口或服务的名称。连接 ID:是唯一标识 TCP 连接的网络连接引用句柄,该连接句柄用于在以后的 VI调用中引用连接。3.3.4 读取 TCP 数据 该函数从指定的 TCP 连接中读取数据。该函数节点主要接线端定义如下:图 4-7 读取 TCP 数据函数.图 4-8 读取 TCP 数据函数端口 连接 ID:是唯一标识TCP 连接的网络连接引用句柄。读取的字节:是要读取的字节数。连接 ID 输出:返回值与连接ID 相同。数据输出:包含从TCP 连接读取的数据。3.3.4写入 TCP 数据 该函数通过数据输入端口将数据写入到指定的TCP 连接中。该函数节点主要接线端定义如下:图 4-9 写入 TC

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

23、 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 显示的为服务器发出矩形波,打开客户端同时客户端接收到矩形波,通过调节频率、

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

25、待服务器完成初始化之后才启动客户端。当“端口”对应时,此时 ip 地址也正确,如果对于客户端与服务器所执行的先后顺序不相同,则此时客户端接收不到数据,与此同时也会报错,如图所示 图 5-5 调试三角波(4)在一台计算机上进行操作此通讯时,此时客户端中所对应的 ip 地址一定要为服务器的 ip 地址完全相同,否则此时客户端接收不到数据,与此同时也会报错,如图 5-6 所示.图 5-6 调试三角波(5)当“端口”对应时,即“TCP 服务器”停止运行,“TCP 客户端”也不可以运行。会报错,如图 5-7 所示 图 5-7 调试波 .设计心得 这次 LabVIEW 课程设计历时一周的时间,在加上之前的

26、实验课,时间汇总起来熟悉这个软件有了将近半个月的时间,经过这些天的上机课,虽然最终课设任务基本上达到老师的要求,但我对这次课程设计的收获却不是很满意。刚开始上课接触这个软件时,听老师讲的津津有味,感觉这个 LabVIEW 应该会很有趣,我个人比较喜欢单片机这类的小型 嵌入式的东西,因为这些东西在一定程度上能给自己带来一定的精神上的乐趣,因此前面刚开始上机接触此软件时,我甚至有点兴奋的小情绪。但随着实验的一步一步走的过程中,我却发现 LabVIEW 这门课可能并没有我想象的那么好玩,或者说成我在做实验的过程中没有得到一些小小的成就也罢,几天后开始渐渐失去新鲜感,亦可以说只是为完成任务而在那花费时

27、间。在忙忙碌碌几天之后我抬头看看周围,和我一样混日子的人比比皆是,我突然觉得我不能再把时间给耽搁下去了,与其被动的“挨打”,倒不如主动地去请教,多学点东西,以后就少问点别人,少给自己带来带你麻烦,于是开始看文档,看教程,开始从最简单的建工程开始一步一步 的来学习,不懂就问度娘、CSDN,在网上找些解决问题的办法。最终经历了最后几天的努力,加上参考一些文档,最终做出来的这个课程设计还将就着能看。对于这次的动手课程设计实践,我总结了一些自己的一些经验同时也学到了很多之前所未学到过的东西,通过这次课程设计我发现理论与现实差距还是有很大的,单单学习书本上的知识是不够的,自己要更多的思考,多犯一些错误,

28、才能走的更远。本次课设我意识到了实验的重要性,在硬件制作和软件调试的过程中,出现了很多问题,最终都是通过实验的方法来解决的。总之,在学习的过程中,无论是对于学习方法还是理论知识,我都有了新的认识,受益匪浅,这将激励我在今后再接再厉,不断完善自己的理论知识,提高实践运作能力。.参 考 文 献 1虚拟仪器设计基础教程,黄松岭,吴静编著,:清华大学,2008.10 2数据采集与仪器控制,伟,顾永刚等编著,:清华大学,2016.7 3LabVIEW程序设计教程,江建军,继光编著.:电子工业,2008.3 4基于 LabVIEW 和 TCP 的数据采集系统的开发及应用,东、施奇峰、王云波,中冶京诚工程技术电气工程技术所;5基于 TCP/IP 以太网协议的 LabVIEW 和 CANoe 通信研究,梁伟、王承惠、建东,2011 航空试验测试技术学术交流会论文集,2010 年

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com