第7章-通信与远程测控课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第7章-通信与远程测控课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 远程 测控 课件
- 资源描述:
-
1、第7章 通信与远程测控第7章 通信与远程测控虚拟仪器开发时,仅靠单一、孤立的数据采集系统来虚拟出仪器功能是远远不够的,还需要外部仪器系统与虚拟系统协同工作。网络化是虚拟仪器发展的方向之一,虚拟仪器与外部仪器间的数据通信是虚拟仪器技术与网络技术相结合基本要求。本章围绕虚拟仪器系统网络化要求,讲述LabVIEW实现数据通信的基本方法,包括Data Socket技术、TCP/IP通信、串行通信和Web发布等。第7章 通信与远程测控7.1 远程测控系统概述根据远程测控所需数据流量状况及不同的测试需求,远程测试系统远程测试系统可以采用基于基于Client/Server(客户机(客户机/服务器)服务器)和
2、Browser/Server(浏览器(浏览器/服务器)服务器)两种网络模型组建系统。Client/Server模式模式适合数据传送量大的情况,具有效率高、数据可靠完整、兼容性强等特点。Browser/Server模式模式适合数据传送量不大,需要远程模拟仿真的情况。该模式对客户端机器性能的需求很低,不需在客户端上安装相应的客户端软件,只需要浏览器便可登陆服务器对远程测试系统进行监控。第7章 通信与远程测控一般来说,远程测控系统的基本结构如图7-1所示,系统主要包括:(1)测控服务器,作为测量系统发布节点主要完成数据采集、数据发布功能,完成采集数据的数据库服务器存储功能。(2)Web服务器,提供基
3、本的网站功能。客户端通过访问该网站,可以获得数据库服务器中的实时作业信息和历史数据。(3)客户端,利用虚拟仪器应用程序(Client/Server方式)或者通过浏览器监控远程面板(Browser/Server方式)建立与服务器端的网络通信,监测和控制服务器端的作业,接收来自服务器端的作业数据,并进行数据分析处理、数据处理结果的存储与显示、生成数据报表以及数据或波形打印等。第7章 通信与远程测控7.2 DataSocket通信技术DataSocket是是NI公司提供的一项网络测控系统开发技术公司提供的一项网络测控系统开发技术,用来实现单机或网络上多个应用程序之间的数据交换。面向测量和自动化,Da
4、taSocket技术用于共享、发布实时数据,实现实时数据传输。DataSocket技术隐藏了网络数据传输的细节,方便用户实现测控终端和现场仪器之间的数据交换。目前,DataSocket在10M网络上传输数率可达640Kb/s,对于中频以下的数据采集系统可以达到很好的传输效果。DataSocket实际上是一个基于统一资源定位器URL(Uniform Resoure Locator)的单一的、一元化的末端用户API。它是一个独立于协议,独立于语言以及独立于操作系统的API。DataSocket技术中,URL不同的前缀表示了不同的数据类型。第7章 通信与远程测控DataSocket的体系结构包含的体
5、系结构包含DataSocket API和和DataSocket Server两部两部分,是典型的分,是典型的C/S模式模式,如图7-2所示。一般来说DataSocket Server与测控系统硬件相连,采集数据并发送给客户。客户端使用DataSocket API实现数据的接收、处理、显示以及报表生成,也可以简单地通过浏览器程序完成测控系统数据浏览。第7章 通信与远程测控7.2.2 DataSocket组成LabVIEW中的DataSocket API被制作成ActiveX控件和一系列LabVIEW VIs。用户使用DataSocket读写远程计算机上的字符串、整型数、布尔量及数组数据,就象使用
6、本机LabVIEW数据类型一样,只需要设置URL即可在网络上实时传输数据。LabVIEW中DataSocket主要包括几个工具软件主要包括几个工具软件:DataSocket Server Manager、DataSocket Server和DataSocket函数库,以及DSTP传输协议(DataSocket Transfer Protocol)、通用资源定位符URL(Uniform Resource Locator)和文件格式等技术规范。第7章 通信与远程测控1DataSocket Server ManagerData Socket Server Manager是一个独立运行的程序,遵循TC
7、P/IP协议。实质上它是WinSock的高级封装,其主要功能有:设置Data Socket Server连接的客户端程序的最大数目和创建数据项的最大数目;创建用户组和用户;设置用户创建和读写数据项的权限;限制身份不明的客户对服务器进行访问和攻击。注意:注意:Data Socket Server Manager对Data Socket Server 的配置必须在本地计算机上进行,而不能远程配置或通过运行程序来配置。第7章 通信与远程测控DataSocket Server Manager 3组设置项的主要功能:服务器配置(服务器配置(Server Setting):用来设置与服务器性能相关的参数。
8、MaxConnections是指服务器最多可以连接的客户端数,其默认值为50;MaxItems用于设置能够显示的测试参量数。许可组(许可组(Permission Groups):设置与安全有关的参数。Groups(组)是指以一个组名来代表一组IP地址的集合,这对于以组为单位进行设置比较方便。DataSocket Server共有4个内建组:Administrators、DefaultReaders、DefaultWriters和Creators,这4个组分别代表了管理、读、写以及创建数据项目的默认主机设置。预定义的数据项目(预定义的数据项目(Predefined Data Items):定义了
9、一些用户可以直接使用的数据项目,并且可以设置每个数据项目的数据类型、默认值以及访问权限等属性。默认的数据项目共有3个,即SampleNum、SampleString和SampleBool。第7章 通信与远程测控2DataSocket Server与打开DataSocket Server Manager一样,点击Windows开始菜单下的National InstrumentsDataSocket DataSocket Server菜单项后出现DataSocket Server对话框窗口,如图7-4所示。图7-4 DataSocket Server对话框面板第7章 通信与远程测控3DataSoc
10、ket API子模板DataSocket API子模板位于 函数数据通信DataSocket,包括用于完成DataSocket通信的5个DataSocket通信节点,如图7-5所示。另外,DataSocket变体转换节点用于DataSocket特有的Variant(变体)变量和其他所有数据类型变量之间的转换,它位于 簇/变体变体 子模板内。图7-5 DataSocket API子模板第7章 通信与远程测控4DataSocket API函数(1)打开DataSocke函数如图7-6,打开DataSocke函数的作用是打开一个URT连接。“URL”端口设置连接的网络用户地址。“模式”设置网络连接的
11、模式,共有读数据、写数据、读/写数据、读缓冲器、读/写缓冲器5种模式。“连接ID”是唯一识别此Datasocket连接的标志。图7-6 主要DataSocket 函数连线端口第7章 通信与远程测控7.2.3 Data Socket 应用实例在LabVIEW中运用DataSocket技术实现网络通信有两种途径:利用Data Socket VI编程;前面板控件直接连接。另外,使用DataSocket通信时,服务器端和客户端的计算机上必须都运行DataSocket Server。第7章 通信与远程测控【例7-1】服务器产生一个正弦信号。为增加通信效果的视觉感受,动态改变信号相位使其在波形图中缓慢移动
12、。数据发布到URL:dstp:/kuirs/sin。客户端从该URL中读出数据并显示在波形图中。程序运行时,客户机波形会跟随服务器同步缓慢移动。服务器和客户机的程序框图和运行结果如图7-7所示。客户机程序是通过“DataSocket选择URL”函数而获取连接URL的,程序运行时该函数会弹出如图7-8所示对话框。对话框中显示本机及网络上所有的DataSocket Server所能提供的数据连接应用。本机或网络服务器中所发布的所有数据连接应用都将出现在此对话框中,用户按需要选择。第7章 通信与远程测控【例7-2】利用上例,在服务器端增加一个DataSocket三角波数据发布,发布位置分别为:dst
13、p:/192.168.2.12/trIIIi和dstp:/192.168.2.12/myvi。第7章 通信与远程测控LabVIEW2014中所有的控件都有数据数据绑定属性,在控件属性对话框数据绑定选项卡中对数据绑定连接进行设置如图7-10,设置控件绑定连接为DataSocket,访问类型可设置为只读、只写和读/写,最后通过浏览下拉菜单选择某个dstp服务器。设置与应用数据绑定连接后,LabVIEW程序(服务器程序与客户机程序)不再需要读取DataSocket、写入DataSocket这两个函数节点即可实现DataSocket通信。如图7-10,将服务器、客户机的波形图的绑定连接属性都设置连接到
14、dstp:/localhost/sin,服务器为只写、客户机为只读。第7章 通信与远程测控按照图7-9设定服务器、客户机程序框图的波形图控件的数据绑定连接,图7-10实现无需Datasocke读写函数的DataSocket通信。图7-11 基于数据绑定连接的DataSocket通信(左:服务器;右:客户机)第7章 通信与远程测控【例7-3】在图7-9和图7-10程序框图的基础上,利用数据绑定方法在服务器程序上增加一个波形图,并将其绑定到dstp:/localhost/tri。客户机也增加一个波形图控件,并设定相同的绑定类型,实现2个DataSocket数据发布和接收。注意注意,控件设置好数据绑
15、定连接后,在其右上角出现一个连接标志。程序运行时。该标志显示连接的正确性。第7章 通信与远程测控7.3 网络通信传输控制协议传输控制协议/互联网络协议,即互联网络协议,即TCP/IP(Transmission Control Protocol/Internet Protocol),是Internet最基本的协议,依赖TCP/IP协议组来管理Internet数据通信。TCP/IP是一个通信协议族,是由美国国防部高级研究计划署(DARPA)开发的,TCP/IP从诞生以来已成为通用的通讯标准被广泛应用于大量的计算机系统。尽管Labview提供了高效、易用的网络开发工具,但也提供了TCP、IP、UDP
16、、ActiveX等功能模块板进行网络连接和进程通信,编程时摆脱了传统语言中烦琐的底层命令函数,只需从函数选板中选用有关的函数图标连线而成。TCP/IP协议组协议组可被LabVIEW直接应用的主要有两个传输层协议,TCP协协议和议和UDP协议协议,LabVIEW提供了与这两个协议相应的功能函数。IP是网络层协议,实现不可靠无连接的数据包服务。TCP和UDP都是建立在IP协议基础上的传输层协议。UDP协议实现不可靠无连接的数据包服务,TCP实现可靠连接的数据包服务。UDP协议较为简单,但可靠性稍差。因而多数情况下使用TCP协议。第7章 通信与远程测控7.3.1 TCP传输控制协议TCP(Trans
17、mission Control Protocol)是专门用于在不可靠的Internet上提供可靠的、端到端的字节流通信的协议。TCP/IP协议中的IP主要负责在计算机之间搬运数据包,实现路由功能。TCP主要负责传输数据的正确性。TCP/IP通常采用简化四层模型通常采用简化四层模型,分别为:网络接口层、网间层、传输层、应用层。它由控制同一物理网络上的不同机器间数据传送的底层协议组成,具体功能如下:(1)网络接口层:提供TCP/IP协议的数据结构和实际物理硬件之间的接口;(2)网间层:用来提供网络诊断信息;(3)传输层:提供有两种端到端的通信服务,一是能提供可靠的数据流运输服务的TCP协议,二是提
18、供不可靠的用户数据报服务的UDP服务;(4)应用层:一个定义清晰的会话过程,通常包括的协议有HTTP、FTP、Telnet等。第7章 通信与远程测控LabVIEW用于TCP编程的VI函数位于 函数数据通信协议TCP 子选板,如图7-12所示,图中各TCP编程函数具体含义如表7-1。第7章 通信与远程测控TCP选板中的TCP侦听VI函数用来创建一个TCP收听者,等待指定端口的TCP网络连接。它主要的参数包括:(1)端口(port):要侦听连接的端口号;(2)超时(timeout,ms):指定等待连接的时间,如未在指定时间内建立连接返回错误。默认值为-1,表示无限等待。(3)连接ID(connec
19、tion ID):是唯一标识TCP连接的网络连接引用句柄。该连接句柄用于在以后的VI调用中引用连接。(4)远程地址(remote address):是与TCP连接关联的远程机器的地址。该地址使用IP句点符号格式。(5)出错信息输出(error out):包含错误信息。该输出将提供标准错误输出功能。TCP侦听函数使用需要注意:开始侦听某端口后,不能再使用另一个TCP侦听函数侦听该端口。第7章 通信与远程测控TCP通信的过程通信的过程如下:首先TCP通信的两端分别是服务器和客户机。服务器端先指定某个端口号(PORT)并对其进行监听,客户机向服务器被侦听的端口发出连接请求,服务器接受请求后便建立客户
20、机与服务器的连接,然后利用该连接进行通信(双向)。通信完毕后,通信两端通过“关闭TCP连接”函数关闭连接。注意:注意:TCP通信程序运行时,需要在服务器端程序中指定通信端口的端口号,客户机也要指定相同的端口号,这样才能与服务器正确通信。端口号可由用户任意指定,注意避免与常用Internet服务端口号相同。第7章 通信与远程测控7.3.2 TCP应用实例在服务器端程序服务器端程序中,首先指定网络端口,本例为2050,并由TCP Listen节点建立TCP听者、等待连接,产生的正弦信号通过TCP Write节点发送。客户端程序客户端程序,使用TCP Read节点读出由服务器传来的正弦信号,在前面板
21、指定网络通信端口2050。端口值由用户任意指定,但是服务器和客户端的端口必须保持一致。【例7-4】本程序包括两部分:服务器端程序和客户端程序第7章 通信与远程测控例7-4程序中需要注意的是:TCP编程中采用“TCP侦听”或“等待TCP侦听器”建立连接后,若在客户端关闭连接会出现服务器也关闭的情况。这主要是客户端关闭连接后并没有通知服务器端也关闭TCP连接,仅仅是客户端单方面关闭了连接。如此会出现“读取TCP数据”或“写入TCP数据”错误,导致轮询循环出现错误而退出。因此,TCP侦听虽然直接取代了创建TCP侦听器与等待TCP侦听器,但是其本身并没有实现关闭已用端口的功能,会造成系统错误。第7章
22、通信与远程测控【例7-5】点对点的TCP通信,实现服务器与客户机双向数据通信,并解决例7-4中的系统错误问题。服务器程序的发送任务与例7-3基本一致。另外,服务器增加一个接收循环用来接收客户机发送的2个字节的命令号。按照命令号相应地修改波形相位输入。客户机也有两个循环,分别用来接收波形数据,发送2字节的命令号。服务器和客户机程序还统计收发数据的字节数。收发双方的程序框图和前面板如图7-15和图7-16所示。第7章 通信与远程测控程序最后将错误合并,输入到错误过滤函数过滤掉正常关闭导致的错误。第7章 通信与远程测控第7章 通信与远程测控错误过滤子VI用法如图7-17左图,用4个枚举类型将常见错误
展开阅读全文