《第11章仪器控制与网络通信(2)精选文档.ppt》由会员分享,可在线阅读,更多相关《第11章仪器控制与网络通信(2)精选文档.ppt(111页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第11章仪器控制与网络通信(2)本讲稿第一页,共一百一十一页 LabVIEW是是NI(National Instruments)公司具有革命性的图形化虚)公司具有革命性的图形化虚拟仪器开发环境,它内置信号采集、测量分拟仪器开发环境,它内置信号采集、测量分析与数据显示功能,集开发、调试和运行于析与数据显示功能,集开发、调试和运行于一体。一体。LabVIEW 5.1及以后的版本充分考虑测及以后的版本充分考虑测控系统的网络化要求,集成了各种通信协议,控系统的网络化要求,集成了各种通信协议,提供丰富的网络化组件。提供丰富的网络化组件。本讲稿第二页,共一百一十一页 使用使用LabVIEW实现网络通信有实
2、现网络通信有4种方法:种方法:(1)无需具体协议的远程桌面连接;)无需具体协议的远程桌面连接;(2)使用)使用DataSocket技术进行网络通信;技术进行网络通信;(3)实时发布测控程序的网页,异地使用)实时发布测控程序的网页,异地使用浏览器(如浏览器(如Internet Explorer,Netscape Communicator等)进行监控;等)进行监控;(4)使用)使用TCP、UDP等传输控制协议编程等传输控制协议编程进行网络通信。进行网络通信。本讲稿第三页,共一百一十一页11.1 常用总线及总线模块常用总线及总线模块 实际的测量往往随实际的测量环境和测实际的测量往往随实际的测量环境和
3、测量目的不同而产生不同的要求,现有的测量目的不同而产生不同的要求,现有的测试测量仪器能提供很高程度的测量自动化试测量仪器能提供很高程度的测量自动化操作,但有时仍然不能满足实际测量的需操作,但有时仍然不能满足实际测量的需要,为了实现实时测量分析并记录其测量要,为了实现实时测量分析并记录其测量结果,必须增加一些额外的工作。结果,必须增加一些额外的工作。本讲稿第四页,共一百一十一页 方法之一是利用仪器本身的模拟输出接方法之一是利用仪器本身的模拟输出接口,配一个数据采集卡对模拟输出信号进口,配一个数据采集卡对模拟输出信号进行采集并进行相应的后续分析处理;方法行采集并进行相应的后续分析处理;方法之二是利
4、用仪器本身提供的编程接口,通之二是利用仪器本身提供的编程接口,通过编程实现。与第一种方法相比,第二种过编程实现。与第一种方法相比,第二种方法不需要额外的硬件,使得测试系统变方法不需要额外的硬件,使得测试系统变得简单、方便。得简单、方便。本讲稿第五页,共一百一十一页11.1.1GPIB GPIB(General Purpose Interface Bus,通用接口总线)是仪器与各种控制器,通用接口总线)是仪器与各种控制器(最常见的是计算机)之间的一种标准接(最常见的是计算机)之间的一种标准接口,许多仪器都带有此接口。口,许多仪器都带有此接口。本讲稿第六页,共一百一十一页1GPIB总线虚拟仪器的硬
5、件描述总线虚拟仪器的硬件描述 GPIB使用使用8位并行、字节串行、异步通位并行、字节串行、异步通信方式,所有字节通过总线顺序传送,数信方式,所有字节通过总线顺序传送,数据传输速率最高可达到据传输速率最高可达到8M/s。GPIB接口是一种接口是一种8位数字并行通讯接口,位数字并行通讯接口,其数据传输速度为其数据传输速度为1Mbyte/s。GPIB的基地址共有的基地址共有31个。个。本讲稿第七页,共一百一十一页2GPIB总线虚拟仪器的软件要求总线虚拟仪器的软件要求 用用LabVIEW开发一个基于开发一个基于GPIB总线的总线的虚拟仪器的软件包括:虚拟仪器的软件包括:LabVIEW开发平台、开发平台
6、、GPIB接口卡驱动程序和仪器的接口卡驱动程序和仪器的LabVIEW驱驱动程序(不是必需的)。动程序(不是必需的)。在在LabVIEW中为实现与中为实现与GPIB仪器通信仪器通信有两种方式,一种是利用函数选板中有两种方式,一种是利用函数选板中Instrument I/O子选板下的子选板下的GPIB相关函数,相关函数,另一种是利用函数选板中另一种是利用函数选板中Instrument I/O子子选板下的选板下的VISA相关函数。相关函数。本讲稿第八页,共一百一十一页11.1.2VXI1VXI技术的发展技术的发展 VXI总线规范是一个开放的体系结构标总线规范是一个开放的体系结构标准,其主要目标是:使
7、准,其主要目标是:使VXI总线器件之间、总线器件之间、VXI总线器件与其他标准的器件(计算机)总线器件与其他标准的器件(计算机)之间能够以明确的方式开放地通信;使系之间能够以明确的方式开放地通信;使系统体积更小;通过使用高带宽的吞吐量,统体积更小;通过使用高带宽的吞吐量,为开发者提供高性能的测试设备;采用通为开发者提供高性能的测试设备;采用通用的接口来实现相似的仪器功能,使系统用的接口来实现相似的仪器功能,使系统集成软件成本进一步降低。集成软件成本进一步降低。本讲稿第九页,共一百一十一页2VXI技术特征技术特征 VXI技术是把计算机技术、数字接口技技术是把计算机技术、数字接口技术和仪器测量技术
8、有机的结合起来。术和仪器测量技术有机的结合起来。组建测试系统的主要目标是要降低测试组建测试系统的主要目标是要降低测试成本、缩短测试系统的开发时间并且要把成本、缩短测试系统的开发时间并且要把风险减少到最低限度,而风险减少到最低限度,而VXI系统正是适应系统正是适应这一发展潮流。这一发展潮流。本讲稿第十页,共一百一十一页 VXI总线功能模块有:总线功能模块有:(1)VXI总线数字总线数字I/O(2)VXI-121064路数字量路数字量I/O模块模块(3)VXI-121196路数字量路数字量I/O模块模块(4)VXIbus信号源及信号调理模块信号源及信号调理模块(5)VXI-131040MS/s12
9、Bits4Ch任意波形任意波形发生器模块发生器模块本讲稿第十一页,共一百一十一页(6)VXI-131116Bits16ChD/A输出模快输出模快(7)XI-13128通道程控放大滤波器通道程控放大滤波器(8)VXIbus频率计数、时间间隔模块频率计数、时间间隔模块(9)VXI-14108路高性能频率、周期、脉宽、路高性能频率、周期、脉宽、时间间隔、计数带隔离模块时间间隔、计数带隔离模块(10)VXI-14118路时间间隔分析模块路时间间隔分析模块(11)VXIbus数据通信模块数据通信模块本讲稿第十二页,共一百一十一页(12)VXI-15108通道串口通信模块通道串口通信模块(13)VXIbu
10、s开关模块开关模块(14)VXI-161032路路8AA型继电器开关模型继电器开关模块块(15)VXI-161132路路5AC型继电器开关模块型继电器开关模块本讲稿第十三页,共一百一十一页(16)VXI-16122组组1648继电器开关阵列继电器开关阵列模块模块(17)VXIbus开发套件开发套件(18)VXI-1901C尺寸尺寸VXI总线开发模块总线开发模块(19)VXI-1902C尺寸尺寸VXI总线延伸卡总线延伸卡(20)VXI-1903C尺寸尺寸VXI结构套件结构套件本讲稿第十四页,共一百一十一页3VXI总线系统规范简介总线系统规范简介 VXI总线系统或者其子系统由一个总线系统或者其子系
11、统由一个VXI总线主机箱、若干总线主机箱、若干VXI总线器件、一个总线器件、一个VXI总线资源管理器和主控制器组成。总线资源管理器和主控制器组成。本讲稿第十五页,共一百一十一页 VXI总线不是设计用来替代现存标准的,总线不是设计用来替代现存标准的,其目的只是为提高测试和数据采集系统的其目的只是为提高测试和数据采集系统的总体性能提供一个更先进的平台。因此,总体性能提供一个更先进的平台。因此,VXI总线规范定义了几种通信方法以方便总线规范定义了几种通信方法以方便VXI总线系统与现存的总线系统与现存的VME总线产品、总线产品、GPIB仪器以及串口仪器的混合集成。仪器以及串口仪器的混合集成。VXI总线
12、规范详细规定了总线规范详细规定了VXI总线兼容总线兼容部件,如主机箱、背板、电源和模件的技部件,如主机箱、背板、电源和模件的技术要求。术要求。本讲稿第十六页,共一百一十一页(1)VXI总线系统机械结构总线系统机械结构 VXI总线规范定义了四种尺寸的总线规范定义了四种尺寸的VXI模块。模块。(2)VXI总线系统电气结构总线系统电气结构 VXI总线完全支持总线完全支持32位位VME计算机总线。计算机总线。(3)VXI总线控制方式总线控制方式 嵌入式嵌入式VXI控制器控制器 外接式控制器外接式控制器本讲稿第十七页,共一百一十一页 常用的连接方式是嵌入式计算机,但成常用的连接方式是嵌入式计算机,但成本
13、过高。本过高。典型的系统结构配置是:单典型的系统结构配置是:单CPU系统、系统、多多CPU系统、独立系统和分层式仪器系统。系统、独立系统和分层式仪器系统。本讲稿第十八页,共一百一十一页11.1.3PXI PXI(PCI eXtensions for Instrumentation,面向仪器系统的,面向仪器系统的PCI扩扩展)是一种坚固的基于展)是一种坚固的基于PC的测量和自动化的测量和自动化平台。平台。简单来说,简单来说,PXI是以是以PCI(Peripheral Component Interconnect)及)及Compact PCI为基础再加上一些为基础再加上一些PXI特有信号组合而特有
14、信号组合而成的一个架构。成的一个架构。本讲稿第十九页,共一百一十一页 一个一个PXI系统由几项组件所组成,包含系统由几项组件所组成,包含了一个机箱、一个了一个机箱、一个PXI背板(背板(backplane)、)、系统控制器(系统控制器(System controller module)以及数个外设模块()以及数个外设模块(Peripheral modules)。)。本讲稿第二十页,共一百一十一页1机械特性机械特性(1)与)与CompactPCI共享的机械特性共享的机械特性 与与Compact PCI共享的机械特性包括:共享的机械特性包括:高性能高性能IEC连接器以及连接器以及Eurocard
15、机械封装机械封装和模块尺寸。和模块尺寸。(2)新增加的电气封装规范)新增加的电气封装规范 PXI规范包含规范包含Compact PCI规范中的所规范中的所有机械规范之外,还增加了一些有机械规范之外,还增加了一些Compact PCI没有的要求。没有的要求。本讲稿第二十一页,共一百一十一页(3)与)与CompactPCI的互操作性的互操作性 PXI的重要特性之一是保持了与标准的重要特性之一是保持了与标准Compact PCI产品互操作性。产品互操作性。本讲稿第二十二页,共一百一十一页2PXI总线的电气结构总线的电气结构(1)10MHz参考时钟(参考时钟(10MHzreferenceclock)(
16、2)局部总线()局部总线(LocalBus)(3)星形触发()星形触发(StarTrigger)(4)触发总线()触发总线(TriggerBus)本讲稿第二十三页,共一百一十一页3硬件构架硬件构架 PXI系统由系统由3个基本部分组成:机箱、个基本部分组成:机箱、系统控制器和外部模块。系统控制器和外部模块。本讲稿第二十四页,共一百一十一页4PXI外部模块外部模块 NI提供了提供了100多种不同的多种不同的PXI模块,自模块,自从从PXI成为开放的工业标准以来,成为开放的工业标准以来,PXI系统系统联盟中的其他联盟中的其他50多个厂商已提供近多个厂商已提供近1000种种模块。模块。(1)模拟输入和
17、输出)模拟输入和输出(2)边界扫描)边界扫描(3)总线接口和通信)总线接口和通信 本讲稿第二十五页,共一百一十一页(4)数字输入和输出)数字输入和输出(5)数字信号处理)数字信号处理(6)功能测试和诊断原型设计板卡)功能测试和诊断原型设计板卡(7)仪器)仪器本讲稿第二十六页,共一百一十一页(8)运动控制)运动控制(9)接收器内互连设备)接收器内互连设备(10)开关)开关(11)定时输入和输出)定时输入和输出本讲稿第二十七页,共一百一十一页5软件构架软件构架 因为因为PXI硬件是基于标准硬件是基于标准PC技术(如技术(如PCI总线以及标准的总线以及标准的CPU和外设)用户可以和外设)用户可以使用
18、熟悉的标准使用熟悉的标准Windows软件架构。软件架构。本讲稿第二十八页,共一百一十一页6系统配置系统配置 要规划并配置用户新的要规划并配置用户新的PXI系统,最快系统,最快最简单的方法是使用在线最简单的方法是使用在线PXI Advisor或或 PXI/SCXI Advisor。PXI模块化仪器为测量和自动化用户提模块化仪器为测量和自动化用户提供了一个坚固的计算机平台,使他们可以供了一个坚固的计算机平台,使他们可以充分利用主流充分利用主流PC工业的技术进步。工业的技术进步。本讲稿第二十九页,共一百一十一页 PXI在中国成功的主要原因有:在中国成功的主要原因有:(1)标准化大势所趋)标准化大势
19、所趋(2)成本优势)成本优势(3)技术性能优越)技术性能优越(4)适用于多种行业)适用于多种行业本讲稿第三十页,共一百一十一页11.1.4PCI技术技术 PCI有有32位和位和64位两种,位两种,32位位PCI有有124引脚,引脚,64位有位有188引脚,目前常用的是引脚,目前常用的是32位位PCI。32位位PCI的数据传输率为的数据传输率为133MB/s,大大高于,大大高于ISA。PCI总线的主要性能:总线的主要性能:(1)支持)支持10台外设;台外设;(2)总线时钟频率)总线时钟频率33.3MHz/66MHz;(3)最大数据传输速率)最大数据传输速率133MB/s;本讲稿第三十一页,共一百
20、一十一页(4)时钟同步方式;)时钟同步方式;(5)与)与CPU 及时钟频率无关;及时钟频率无关;(6)总线宽度)总线宽度 32 位(位(5V)/64 位(位(3.3V););(7)能自动识别外设。)能自动识别外设。本讲稿第三十二页,共一百一十一页1基本概念基本概念 不同于不同于ISA总线,总线,PCI总线的地址总线总线的地址总线与数据总线是分时复用的。与数据总线是分时复用的。本讲稿第三十三页,共一百一十一页2即插即用的实现即插即用的实现 所谓即插即用,是指当板卡插入系统时,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如系统会自动对板卡所需资源进行分配,如基地址、中断号
21、等,并自动寻找相应的驱基地址、中断号等,并自动寻找相应的驱动程序。动程序。本讲稿第三十四页,共一百一十一页3中断共享的实现中断共享的实现 PCI总线的中断共享由硬件与软件两部总线的中断共享由硬件与软件两部分组成。分组成。(1)硬件上采用电平触发的办法)硬件上采用电平触发的办法(2)软件上采用中断链的方法)软件上采用中断链的方法本讲稿第三十五页,共一百一十一页11.1.5总线平台的比较总线平台的比较 基于基于GPIB总线、总线、PCI总线、总线、VXI总线和总线和PXI总线的测试系统,因总线不同而各具特总线的测试系统,因总线不同而各具特点与相应的应用范围。点与相应的应用范围。本讲稿第三十六页,共
22、一百一十一页GPIBPCIVXIPXI传输位宽88,16(ISA);8,16,32,64(PCI)8,16,328,16,32,64吞吐率(Mb/s)1或81-2(ISA);132264(PCI)4080(VME64)132264定时和同步无定义有定义有定义有定义市场可用产品100001000010001000系统尺寸大中、小中中、小标准软件框架无定义无定义有定义有定义模块化否否是是EMI防护可选视具体板卡而定有定义视具体模块而定系统成本高低中、高中、低表表11-111-1四种总线的比较表四种总线的比较表本讲稿第三十七页,共一百一十一页11.2 仪器驱动程序仪器驱动程序 仪器驱动程序也是一个仪
23、器驱动程序也是一个VI,它是一款用,它是一款用于控制特定仪器的软件。于控制特定仪器的软件。本讲稿第三十八页,共一百一十一页 LabVIEW为用户提供的可以在仪器驱为用户提供的可以在仪器驱动程序开发中使用的动程序开发中使用的VI分为分为3类:类:(1)标准)标准VISA I/O函数;函数;(2)传统)传统GPIB函数和由函数和由GPIB488.2添加的添加的功能;功能;(3)串口通信函数。)串口通信函数。本讲稿第三十九页,共一百一十一页图图11-1 11-1 仪器驱动程序仪器驱动程序选板选板本讲稿第四十页,共一百一十一页11.3 串串 口口 通通 信信 串口是计算机上一种通用设备通信的协串口是计
24、算机上一种通用设备通信的协议。议。由于一个串口在某一时刻只能与一个设由于一个串口在某一时刻只能与一个设备进行通信,所以它的传输速度比并口通备进行通信,所以它的传输速度比并口通信慢,但是串口操作简单并且能够实现远信慢,但是串口操作简单并且能够实现远距离通信。距离通信。对于两个进行串行通信的端口,它们的对于两个进行串行通信的端口,它们的参数必须互相匹配。参数必须互相匹配。本讲稿第四十一页,共一百一十一页(1)波特率)波特率(2)数据位)数据位(3)奇偶校验位)奇偶校验位(4)停止位)停止位本讲稿第四十二页,共一百一十一页图图11-2 11-2 串口编程函数选板串口编程函数选板本讲稿第四十三页,共一
25、百一十一页1VISA写入写入图图11-3 VISA11-3 VISA写入函数接线端子写入函数接线端子 本讲稿第四十四页,共一百一十一页2VISA读取读取图图11-4 VISA11-4 VISA读取函数接线端子读取函数接线端子 本讲稿第四十五页,共一百一十一页3VISA关闭关闭图图11-5 VISA11-5 VISA关闭函数接线端子关闭函数接线端子 本讲稿第四十六页,共一百一十一页4VISA设置设置I/O缓冲区大小缓冲区大小图图11-6 VISA11-6 VISA设置设置I/OI/O缓冲区大小函数接线端子缓冲区大小函数接线端子本讲稿第四十七页,共一百一十一页5VISA配置串口配置串口图图11-7
26、 VISA11-7 VISA配置串口函数接线端子配置串口函数接线端子本讲稿第四十八页,共一百一十一页11.4 VISA编程编程 VISA是是Virtual Instruments Software Architecture的缩写,中文译为虚拟仪器软的缩写,中文译为虚拟仪器软件架构或可视化仪器软件架构。件架构或可视化仪器软件架构。VISA的本质是用于控制的本质是用于控制GPIB、串口或、串口或VXI仪器以及根据仪器类型进行适当调用的仪器以及根据仪器类型进行适当调用的VI库。库。VISA本身不具备编程能力,它通过本身不具备编程能力,它通过调用低层的仪器驱动程序来实现对仪器的调用低层的仪器驱动程序来
27、实现对仪器的控制。控制。本讲稿第四十九页,共一百一十一页图图11-8 VISA11-8 VISA编程函数选板编程函数选板本讲稿第五十页,共一百一十一页图图11-9 11-9 高级高级VISAVISA编程函数选板编程函数选板本讲稿第五十一页,共一百一十一页1VISA打开打开图图11-10 VISA11-10 VISA打开函数接线端子打开函数接线端子 本讲稿第五十二页,共一百一十一页2VISA查找资源查找资源 图图11-11 VISA11-11 VISA查找资源函数接线端子查找资源函数接线端子 本讲稿第五十三页,共一百一十一页3VISA读取设备并写入文件读取设备并写入文件图图11-12 VISA1
28、1-12 VISA读取设备并写入文件函数接线端子读取设备并写入文件函数接线端子 本讲稿第五十四页,共一百一十一页4VISA读取文件并写入设备读取文件并写入设备 图图11-13 VISA11-13 VISA读取文件并写入设备函数接线端子读取文件并写入设备函数接线端子 本讲稿第五十五页,共一百一十一页11.5 TCP与与UDP通信通信11.5.1TCP TCP/IP是一个通信协议族,是由美国是一个通信协议族,是由美国国防部高级研究计划署(国防部高级研究计划署(DARPA)开发的,)开发的,TCP/IP从诞生以来已成为通用的通讯标准从诞生以来已成为通用的通讯标准被广泛应用于大量的计算机系统。被广泛应
29、用于大量的计算机系统。本讲稿第五十六页,共一百一十一页 尽管尽管Labview提供了高效、易用的网络提供了高效、易用的网络开发工具,但也提供了开发工具,但也提供了TCP、IP、UDP、ActiveX等功能模块板进行网络连接和进程等功能模块板进行网络连接和进程通信,编程时摆脱了传统语言中烦琐的底通信,编程时摆脱了传统语言中烦琐的底层命令函数,只需从函数选板中选用有关层命令函数,只需从函数选板中选用有关的函数图标连线而成。的函数图标连线而成。IP是网络层协议,实现的是不可靠无连是网络层协议,实现的是不可靠无连接的数据包服务。接的数据包服务。本讲稿第五十七页,共一百一十一页 TCP/IP协议是一套把
30、因特网上的各种协议是一套把因特网上的各种系统互联起来的协议组,保证因特网上数系统互联起来的协议组,保证因特网上数据的准确快速传输。据的准确快速传输。TCP/IP通常采用一种通常采用一种简化的四层模型,分别为:网络接口层、简化的四层模型,分别为:网络接口层、网间层、传输层、应用层。网间层、传输层、应用层。本讲稿第五十八页,共一百一十一页 它由控制同一物理网络上的不同机器间它由控制同一物理网络上的不同机器间数据传送的底层协议组成,具体功能如下:数据传送的底层协议组成,具体功能如下:(1)网络接口层提供)网络接口层提供TCP/IP协议的数据结协议的数据结构和实际物理硬件之间的接口;构和实际物理硬件之
31、间的接口;(2)网间层用来提供网络诊断信息;)网间层用来提供网络诊断信息;本讲稿第五十九页,共一百一十一页(3)传输层提供有两种端到端的通信服务,)传输层提供有两种端到端的通信服务,一是能提供可靠的数据流运输服务的一是能提供可靠的数据流运输服务的TCP协议,二是提供不可靠的用户数据报服务协议,二是提供不可靠的用户数据报服务的的UDP服务;服务;(4)应用层要有一个定义清晰的会话过程,)应用层要有一个定义清晰的会话过程,通常包括的协议有通常包括的协议有HTTP、FTP、Telnet等。等。本讲稿第六十页,共一百一十一页 LabVIEW中用于中用于TCP编程的编程的VI函数位函数位于于“函数函数”
32、选板下的选板下的“数据通信数据通信协议协议TCP”子选板下,如图子选板下,如图11-14所示,图中所示,图中的的TCP编程函数的具体含义如表编程函数的具体含义如表11-2所示。所示。本讲稿第六十一页,共一百一十一页图图11-14 TCP11-14 TCP编程编程VIVI函数面板函数面板本讲稿第六十二页,共一百一十一页VI函数名称功 能TCP侦听在指定端口创建一个监听器,并等待客户端的连接打开TCP连接打开由地址和远程端口或服务名称所指定的TCP网络连接读取TCP数据从指定的TCP连接读取数据并通过数据输出返回结果写入TCP数据向指定的TCP网络连接写入数据关闭TCP连接关闭指定的TCP网络连接
33、IP地址至字符串转换将IP地址转换为字符串字符串至IP地址转换将字符串转换为IP地址或IP地址数组解释机器别名返回计算机的物理地址,用于联网或在VI服务器函数中使用创建TCP侦听器在指定端口创建一个监听器等待TCP侦听器等待已接收的TCP网络连接表表11-211-2TCPTCP编程编程VIVI函数含义列表函数含义列表本讲稿第六十三页,共一百一十一页 它主要的参数包括:它主要的参数包括:(1)端口()端口(port)(2)超时()超时(timeout,ms)(3)连接标识()连接标识(connectionID)(4)远程地址()远程地址(remoteaddress)(5)出错信息输出()出错信息
34、输出(errorout)TCP通信的两端分别为服务器端通信的两端分别为服务器端(Server)和客户端()和客户端(Client)。)。本讲稿第六十四页,共一百一十一页 利用服务器端利用服务器端/客户端模式进行通信,是客户端模式进行通信,是在在Labview平台下网络通信最基本的结构模平台下网络通信最基本的结构模式。式。“TCP”子选板中的子选板中的“TCP侦听侦听”VI函函数用来创建一个数用来创建一个TCP收听者,等待指定端收听者,等待指定端口的口的TCP网络连接。网络连接。本讲稿第六十五页,共一百一十一页TCP通信编程举例例例1 1 利利用用TCPTCP协协议议进进行行双双机通信机通信 双
35、机通信流程如图双机通信流程如图本讲稿第六十六页,共一百一十一页服务器VI的前面板和程序框图本讲稿第六十七页,共一百一十一页客户机VI的前面板和程序框图本讲稿第六十八页,共一百一十一页【例例11-2】利用利用TCP协议进行一点对多点协议进行一点对多点通信。通信。图图11-17 11-17 利用利用TCPTCP协议进行一点对多点通信协议进行一点对多点通信服务器端程序框图服务器端程序框图 本讲稿第六十九页,共一百一十一页图图11-18 11-18 利用利用TCPTCP协议进行一点对多点通信协议进行一点对多点通信客户端程序框图客户端程序框图本讲稿第七十页,共一百一十一页11.5.2UDP UDP协议是
36、英文协议是英文User Datagram Protocol的缩写,即用户数据报协议,是的缩写,即用户数据报协议,是ISO参考模型中一种无连接的传输层协议,参考模型中一种无连接的传输层协议,提供面向操作的简单不可靠信息传送服务。提供面向操作的简单不可靠信息传送服务。本讲稿第七十一页,共一百一十一页 UDP协议的特性主要有:协议的特性主要有:(1)UDP是一个无连接协议,传输数据之是一个无连接协议,传输数据之前源端和终端不建立连接,当它想传送时前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。尽可能快地把它扔到网络
37、上。本讲稿第七十二页,共一百一十一页(2)由于传输数据不建立连接,因此也就)由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输因此一台服务机可同时向多个客户机传输相同的消息。相同的消息。(3)UDP信息包的标题很短,只有信息包的标题很短,只有8个字节,个字节,相对于相对于TCP的的20个字节信息包的额外开销个字节信息包的额外开销很小。很小。本讲稿第七十三页,共一百一十一页(4)吞吐量不受拥挤控制算法的调节,只)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、受应用软件生成数据的速率、传
38、输带宽、源端和终端主机性能的限制。源端和终端主机性能的限制。本讲稿第七十四页,共一百一十一页图图11-19 UDP11-19 UDP编程编程VIVI函数面板函数面板本讲稿第七十五页,共一百一十一页UDP通信编程举例例例2 将服务器端产生的将服务器端产生的正弦信号由正弦信号由UDP Write节点发送到节点发送到客户机。客户机。服务器服务器VIVI的前面的前面板和程序框图板和程序框图本讲稿第七十六页,共一百一十一页客户机VI的前面板和程序框图 本讲稿第七十七页,共一百一十一页图图11-20 11-20 利用利用UDPUDP协议进行通信的程序框图协议进行通信的程序框图本讲稿第七十八页,共一百一十一
39、页图图11-21 11-21 利用利用UDPUDP协议进行通信的程序运行结果协议进行通信的程序运行结果本讲稿第七十九页,共一百一十一页11.5.3UDP和和TCP的比较的比较 UDP和和TCP协议的主要区别是两者在协议的主要区别是两者在如何实现信息的可靠传递方面不同。如何实现信息的可靠传递方面不同。与与TCP不同,不同,UDP协议并不提供数据协议并不提供数据传送的保证机制。传送的保证机制。相对于相对于TCP协议,协议,UDP协议的另外一协议的另外一个不同之处在于如何接收突发性的多个数个不同之处在于如何接收突发性的多个数据报。据报。根据不同的环境和特点,两种传输协议根据不同的环境和特点,两种传输
40、协议都将在今后的网络世界中发挥更加重要的都将在今后的网络世界中发挥更加重要的作用。作用。本讲稿第八十页,共一百一十一页11.6 DataSocket通信通信11.6.1概述概述 DataSocket是是NI 公司推出的一项基于公司推出的一项基于TCP/IP协议的新技术,协议的新技术,DataSocket面向测面向测量和网络实时数据交换,可以用于一个计量和网络实时数据交换,可以用于一个计算机内和网络中多个应用程序之间的数据算机内和网络中多个应用程序之间的数据交换。交换。本讲稿第八十一页,共一百一十一页DataSocket的体系结构如图的体系结构如图 本讲稿第八十二页,共一百一十一页2.DataS
41、ocket的组成DataSocket由由 DataSocket API DataSocket Server组成组成 DataSocket API是一个和协议、编程语是一个和协议、编程语言、操作系统无关的应用程序接口,能够把言、操作系统无关的应用程序接口,能够把测量数据转化为适合在网络上传输的数据流。测量数据转化为适合在网络上传输的数据流。DataSocket Server是一个独立部分,可以是一个独立部分,可以把现场数据高速传给远端客户。把现场数据高速传给远端客户。本讲稿第八十三页,共一百一十一页发布者、服务器和接收者之间的关系用用DataSocket Server发布数据需要发布数据需要3个
42、部分:个部分:发布者(发布者(publisher)服务器(服务器(DataSocket Server)接收者(接收者(subscriber)三者关系如图三者关系如图 本讲稿第八十四页,共一百一十一页(1)DataSocket Server ManagerDataSocket Server Manager是一个独立是一个独立运行的程序,它的主要功能是设置运行的程序,它的主要功能是设置DataSocket Server 可连接的客户程序的可连接的客户程序的最大数目和可创建的数据项的最大数目,最大数目和可创建的数据项的最大数目,创建用户组和用户,设置用户创建数据项创建用户组和用户,设置用户创建数据项
43、和读写数据项的权限。和读写数据项的权限。本讲稿第八十五页,共一百一十一页DataSocket Server Manager窗口本讲稿第八十六页,共一百一十一页(2)DataSocket ServeDataSocket Server 也是一个独立运行的程序,它负责也是一个独立运行的程序,它负责监管监管DataSocket Server Manager中所设定的各种权限中所设定的各种权限和客户程序之间的数据交换。和客户程序之间的数据交换。DataSocket Server 运行后运行后的窗口如图。的窗口如图。本讲稿第八十七页,共一百一十一页DataSocket节点在在LabVIEW中,中,Data
44、Socket节点位于函数节点位于函数选板的选板的【数据通信数据通信】【DataSocket】子子选板中选板中 本讲稿第八十八页,共一百一十一页DataSocket应用举例例例3 DataSocket使用实例。对一内河水情进使用实例。对一内河水情进行远程监控,将现场监控工作站采集到的行远程监控,将现场监控工作站采集到的内河水位、水流量、闸门开启高度等参数内河水位、水流量、闸门开启高度等参数通过通信网络发送到控制中心,以实现对通过通信网络发送到控制中心,以实现对内河水情的实时监控。内河水情的实时监控。在本例中,内河水情数据用随机数产在本例中,内河水情数据用随机数产生,以代替真实的采集数据。生,以代
45、替真实的采集数据。本讲稿第八十九页,共一百一十一页DataSocket发布端程序框图图为了方便,把水位、水流量和闸门开启高度合并成一为了方便,把水位、水流量和闸门开启高度合并成一个数组传输,由写入个数组传输,由写入DataSocket节点写入,地址为节点写入,地址为Dstp:/202.119.80.170/water,外层用,外层用While循环连循环连续写入数据。续写入数据。本讲稿第九十页,共一百一十一页远程接收端程序框图和运行结果本讲稿第九十一页,共一百一十一页11.7 在Web上发布VI LabVIEW可以将可以将VI发布到发布到Web上,这样用户上,这样用户就可以通过浏览器来访问就可以
46、通过浏览器来访问VI程序的前面板,程序的前面板,甚至还可以控制远程计算机上甚至还可以控制远程计算机上VI程序的运行。程序的运行。网站服务器、网站服务器、VI及远程用户客户端的关系及远程用户客户端的关系 本讲稿第九十二页,共一百一十一页11.7.1 Web服务器配置 Web Web服务器配置界面服务器配置界面 本讲稿第九十三页,共一百一十一页Web服务器可见VI配置界面本讲稿第九十四页,共一百一十一页 Web服务器浏览器访问配置界面 本讲稿第九十五页,共一百一十一页11.7.2 Web发布网页配置 选择选择VIVI和查看选项界面和查看选项界面本讲稿第九十六页,共一百一十一页选择HTML输出界面
47、本讲稿第九十七页,共一百一十一页保存新网页界面本讲稿第九十八页,共一百一十一页11.7.3 客户端的远程连接连接远程前面板界面连接远程前面板界面 本讲稿第九十九页,共一百一十一页客户端运行结果本讲稿第一百页,共一百一十一页 DataSocket支持多种数据传送协议,支持多种数据传送协议,不同的不同的URL前缀表示不同的协议或数据类前缀表示不同的协议或数据类型,主要包括下列协议。型,主要包括下列协议。(1)DSTP(DataSocketTransferProtocol)(2)HTTP(HyperTextTransferProtocol,超文本传输协议),超文本传输协议)(3)FTP(FileTr
48、ansferProtocol,文件传,文件传输协议)输协议)本讲稿第一百零一页,共一百一十一页(4)OPC(OLEforProcessControl,操作,操作计划和控制)计划和控制)(5)FieldPoint、Logos、Lookout(6)File(localfileservers,本地文件服务,本地文件服务器)器)本讲稿第一百零二页,共一百一十一页 DataSocket Server Manager是一个是一个独立运行的程序,其主要功能有:设置独立运行的程序,其主要功能有:设置DataSocket Server连接的客户端程序的最连接的客户端程序的最大数目和创建数据项的最大数目;创建用大
49、数目和创建数据项的最大数目;创建用户组和用户;设置用户创建和读写数据项户组和用户;设置用户创建和读写数据项的权限;限制身份不明的客户对服务器进的权限;限制身份不明的客户对服务器进行访问和攻击。行访问和攻击。Manager对对DataSocket Server 的配置必须在本地计算机上进行,的配置必须在本地计算机上进行,而不能远程配置或通过运行程序来配置。而不能远程配置或通过运行程序来配置。本讲稿第一百零三页,共一百一十一页图图11-22 DataSocket Server11-22 DataSocket Server面板面板图图11-23 DataSocket Server Manager11
50、-23 DataSocket Server Manager面板面板本讲稿第一百零四页,共一百一十一页 DataSocket Server Manager的的3组设组设置项的主要功能有:置项的主要功能有:(1)ServerSettings(2)PermissionGroups(3)PredefinedDataItems DataSocket遵循遵循TCP/IP协议,它是对协议,它是对WinSock的高级封装。的高级封装。本讲稿第一百零五页,共一百一十一页11.6.2Datasocket技术在技术在LabVIEW中的实现中的实现 在在LabVIEW中运用中运用DataSocket技术实技术实现网络