LabVIEW虚拟仪器设计教程第12章-网络与课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《LabVIEW虚拟仪器设计教程第12章-网络与课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LabVIEW 虚拟仪器 设计 教程 12 网络 课件
- 资源描述:
-
1、第第1212章章 网络与通信编程网络与通信编程 12.1 TCP通信通信12.1.1 TCP协议简介协议简介TCP协议是网络通信协议是网络通信TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议传输控制协议/互联网络协议)协议的一个子协议。作为互联网络协议)协议的一个子协议。作为Internet最基本的协议,是一最基本的协议,是一个由不同层次上的多个协议组合而成的协议簇,共分为个由不同层次上的多个协议组合而成的协议簇,共分为4层:网络接口层、层:网络接口层、Internet层、层、传输层和应用层。其中传输层和应用层。其中TC
2、P和和IP是其中使用最广泛也是最重要的协议,因此人们用是其中使用最广泛也是最重要的协议,因此人们用TCP/IP作为整个体系结构的名称。作为整个体系结构的名称。TCP和和UDP都是都是TCP/IP体系结构中的传输层协议,体系结构中的传输层协议,都使用都使用IP作为网络层协议。作为网络层协议。TCP使用使用IP作为网络层协议,提供一种面向连接、可靠的传输层服务。面向连接作为网络层协议,提供一种面向连接、可靠的传输层服务。面向连接指的是在实现数据传输前必须先建立连接。指的是在实现数据传输前必须先建立连接。TCP采用比特流方式分段传送数据。在两采用比特流方式分段传送数据。在两个主机交换数据之前,先相互
3、建立会话。个主机交换数据之前,先相互建立会话。TCP会话通过三次握手的过程进行初始化,会话通过三次握手的过程进行初始化,这个过程是序号同步,并提供在两个主机之间建立虚拟连接所需的控制信息。一旦初这个过程是序号同步,并提供在两个主机之间建立虚拟连接所需的控制信息。一旦初始化完成,在发送和接收主机之间按将按顺序发送和确认段。关闭连接之前,始化完成,在发送和接收主机之间按将按顺序发送和确认段。关闭连接之前,TCP使使用类似的握手过程验证两个主机都完成发送和接收全部数据。用类似的握手过程验证两个主机都完成发送和接收全部数据。 12.1.2 TCP函数节点函数节点该函数的功能是创建一个侦听器并在指定端口
4、等待该函数的功能是创建一个侦听器并在指定端口等待TCP连接请求。该函数节点连接请求。该函数节点只能在作为服务器的主机上使用。开始侦听某个指定端口时,不能再使用其它只能在作为服务器的主机上使用。开始侦听某个指定端口时,不能再使用其它TCP侦听侦听VI侦听该端口。侦听该端口。 网络地址:指定侦听的网络地址。如需侦听特定地址上的网卡,应指定网卡的地网络地址:指定侦听的网络地址。如需侦听特定地址上的网卡,应指定网卡的地址。如不指定网络地址,将侦听所有的网络地址。址。如不指定网络地址,将侦听所有的网络地址。 服务名称:创建端口号的已知引用。如指定服务名称,服务名称:创建端口号的已知引用。如指定服务名称,
5、LabVIEW将使用将使用NI服务服务定位器注册服务名称和端口号。定位器注册服务名称和端口号。 端口:要侦听连接的端口号。端口:要侦听连接的端口号。 超时毫秒:等待连接的时间周期,单位为毫秒。如连接没有在指定时间内建立,超时毫秒:等待连接的时间周期,单位为毫秒。如连接没有在指定时间内建立,VI将完成并返回错误。值为将完成并返回错误。值为-1,表示无限等待。,表示无限等待。 分解远程地址:是否在远程地址调用分解远程地址:是否在远程地址调用“IP地址至字符串转换地址至字符串转换”函数,默认为函数,默认为TRUE。 连接连接ID:唯一标识:唯一标识TCP连接的网络连接引用句柄。用于后面连接的网络连接
6、引用句柄。用于后面VI调用中引用连接。调用中引用连接。 远程地址:与远程地址:与TCP连接关联的远程机器的地址。该地址使用连接关联的远程机器的地址。该地址使用IP句点符号格式。句点符号格式。 远程端口:远程系统用于连接的端口。远程端口:远程系统用于连接的端口。 该函数的功能是用指定的计算机名称和远程端口或服务名称来打开一个该函数的功能是用指定的计算机名称和远程端口或服务名称来打开一个TCP连连接,该节点只能在作为客户机的主机上使用。接,该节点只能在作为客户机的主机上使用。 地址:要与其建立连接的地址。该地址可以为地址:要与其建立连接的地址。该地址可以为IP句点符号格式或主机名。如未句点符号格式
7、或主机名。如未指定地址,指定地址,LabVIEW将建立与本地计算机的连接。将建立与本地计算机的连接。 远程端口或服务名称:要与其确立连接的端口或服务的名称。如指定服务名称,远程端口或服务名称:要与其确立连接的端口或服务的名称。如指定服务名称,LabVIEW将向将向NI服务定位器查询所有服务注册过的端口号。该端口可以接受数服务定位器查询所有服务注册过的端口号。该端口可以接受数字或字符串输入。字或字符串输入。 本地端口:用于本地连接的端口。某些服务器仅允许连使用特定范围内的端口本地端口:用于本地连接的端口。某些服务器仅允许连使用特定范围内的端口号连接客户端,该范围取决于服务器。默认值为号连接客户端
8、,该范围取决于服务器。默认值为0,操作系统将选择尚未使用的,操作系统将选择尚未使用的端口。端口。(1)发送消息:消息前带有用于描述该消息的文件头,大小固定。例如,文件头中可包含说明)发送消息:消息前带有用于描述该消息的文件头,大小固定。例如,文件头中可包含说明消息类型的命令整数,以及说明消息中其它数据大小的长度整数。服务器和客户端均可接消息类型的命令整数,以及说明消息中其它数据大小的长度整数。服务器和客户端均可接收消息。即发出收消息。即发出8字节的读取函数(假定为两个字节的读取函数(假定为两个4字节的整数),然后将函数转换为两个整字节的整数),然后将函数转换为两个整数,再根据长度整数确定作为剩
9、余消息发送到第二个读取函数的字节数。第二个读取函数数,再根据长度整数确定作为剩余消息发送到第二个读取函数的字节数。第二个读取函数完成后,将回到完成后,将回到8字节文件头的读取函数。字节文件头的读取函数。(2)发送固定大小的消息:如消息的内容小于指定的固定大小,可填充消息,使其达到固定大)发送固定大小的消息:如消息的内容小于指定的固定大小,可填充消息,使其达到固定大小。这种方式更为高效,因为即使有时会发送不必要的数据,接收消息时也只需读取函数。小。这种方式更为高效,因为即使有时会发送不必要的数据,接收消息时也只需读取函数。(3)发送只包含)发送只包含ASCII数据的消息:其中每个消息以一个回车和
10、一对字符换行符结束。读取函数据的消息:其中每个消息以一个回车和一对字符换行符结束。读取函数具有模式输入,即在传递了数具有模式输入,即在传递了CRLF后,可使函数在发现回车和换行序列前一直进行读取。后,可使函数在发现回车和换行序列前一直进行读取。这种方式在消息数据含有这种方式在消息数据含有CRLF序列时显得较为复杂,但常用于序列时显得较为复杂,但常用于POP3、FTP和和HTTP等互等互联网协议。联网协议。 该函数通过数据输入端口将数据写入到指定的该函数通过数据输入端口将数据写入到指定的TCP连接中。连接中。 数据输入:包含要写入连接的数据。数据输入:包含要写入连接的数据。 写入的字节:写入的字
11、节:VI写入连接的字节数。写入连接的字节数。 读取的字节:要读取的字节数。处理字节数不同的消息的方法与读取的字节:要读取的字节数。处理字节数不同的消息的方法与“写入写入TCP数数据据”。 数据输出:包含从数据输出:包含从TCP连接读取的数据。连接读取的数据。 该函数从指定的该函数从指定的TCP连接中读取数据。连接中读取数据。 模式(标准):表明读取操作的动作。包含模式(标准):表明读取操作的动作。包含4个选项:个选项:(1)0 Standard(默认):等待直至读取所有读取字节中指定的字节或超时毫秒用完,返回已读(默认):等待直至读取所有读取字节中指定的字节或超时毫秒用完,返回已读取的字节数。
12、如字节数少于请求的字节数,则返回部分字节数并报告超时错误。取的字节数。如字节数少于请求的字节数,则返回部分字节数并报告超时错误。(2)1 Buffered:等待直至读取所有读取字节中指定的字节或超时毫秒用完。如字节数少于请求:等待直至读取所有读取字节中指定的字节或超时毫秒用完。如字节数少于请求的字节数,则不返回字节数并报告超时错误。的字节数,则不返回字节数并报告超时错误。(3)2 CRLF:等待直至读取字节中指定的所有字节达到,或直至函数在读取字节指定的字节数:等待直至读取字节中指定的所有字节达到,或直至函数在读取字节指定的字节数内接收到内接收到CR(回车)加上(回车)加上LF(换行)或超时毫
13、秒用完。返回读取到(换行)或超时毫秒用完。返回读取到CR或或LF之前的字节,之前的字节,包括包括CR和和LF。如函数未发现。如函数未发现CR和和LF,但存在读取字节,则函数返回该字节。如函数未发,但存在读取字节,则函数返回该字节。如函数未发现现CR和和LF,但字节数少于读取字节中指定的值,则函数不返回字节数同时报告超时错误。,但字节数少于读取字节中指定的值,则函数不返回字节数同时报告超时错误。(4)3 Immediate:在函数接收到读取字节中所指定的字节前一直等待。如该函数未收到字节则:在函数接收到读取字节中所指定的字节前一直等待。如该函数未收到字节则等待至超时。返回目前的字节数。如函数未接
14、收到字节则报告超时错误。等待至超时。返回目前的字节数。如函数未接收到字节则报告超时错误。该函数的功能是关闭指定的该函数的功能是关闭指定的TCP连连接。接。12.1.3 TCP通信编程实例通信编程实例TCP/IP服务器服务器/客户机双机通信实例(客户机双机通信实例(由服务器程序产生一组正弦波形数据,由服务器程序产生一组正弦波形数据,利用利用TCP通信传送到客户机程序并显示出来通信传送到客户机程序并显示出来)。服务器)。服务器/客户机通信模式是进行网络客户机通信模式是进行网络通信的最基本的结构模式,其基本的通信流程如下:通信的最基本的结构模式,其基本的通信流程如下:(1)服务器启动,进行初始化,开
15、始)服务器启动,进行初始化,开始TDP侦听在指定端口等待客户机侦听在指定端口等待客户机TCP连接请求。连接请求。(2)客户机启动,打开)客户机启动,打开TCP连接,向服务器发送连接请求建立连接,向服务器发送连接请求建立TCP连接。连接。(3)TCP连接成功,开始数据传送。连接成功,开始数据传送。(4)数据传送结束,关闭)数据传送结束,关闭TCP连接。连接。12.2 UDP通信通信12.2.1 UDP协议简介协议简介UDP(User Datagram Protocol)是用户数据报协议,是)是用户数据报协议,是TCP/IP体系结构中一种体系结构中一种无连接的传输层协议,提供面向操作的简单不可靠信
16、息传送服务。作为一种传输层协无连接的传输层协议,提供面向操作的简单不可靠信息传送服务。作为一种传输层协议,议,UDP协议有以下几个特征:协议有以下几个特征:(1)它是一个无连接的协议,需要通信的源端和终端在传输数据之前不需要建立连接,)它是一个无连接的协议,需要通信的源端和终端在传输数据之前不需要建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,上。在发送端,UDP传送数据的速度仅仅受应用程序生成数据的速度、计算机的传送数据的速度仅仅受应用程序生成数据的速度、计算机的能力和传输带宽
17、的限制;在接收端,能力和传输带宽的限制;在接收端,UDP把每个消息放在队列中,应用程序每次把每个消息放在队列中,应用程序每次从队列中读取一个消息段。从队列中读取一个消息段。(2)由于传输数据不建立连接,因此也不需要维护连接状态,包括收发状态,因此一)由于传输数据不建立连接,因此也不需要维护连接状态,包括收发状态,因此一个服务器可以同时向多个客户机传送相同的消息,即具有广播信息的功能。个服务器可以同时向多个客户机传送相同的消息,即具有广播信息的功能。(3)UDP信息包的标题很短,只有信息包的标题很短,只有8个字节,相对于个字节,相对于TCP的的20个字节信息包很小。个字节信息包很小。(4)吞吐量
18、不受拥挤控制算法的调节,只受应用程序生成数据的速度、发送和接收端)吞吐量不受拥挤控制算法的调节,只受应用程序生成数据的速度、发送和接收端计算机的能力和传输带宽的限制。计算机的能力和传输带宽的限制。12.2.2 UDP函数节点函数节点网络地址:指定侦听的网络地址。网络地址:指定侦听的网络地址。端口(输入):是要创建端口(输入):是要创建UDP套接字的本地端口。套接字的本地端口。服务名称:是创建端口号的已知引用。服务名称:是创建端口号的已知引用。超时毫秒:指定在函数完成或返回错误前等待的时间,以毫秒为单位。超时毫秒:指定在函数完成或返回错误前等待的时间,以毫秒为单位。连接连接ID:是唯一标识:是唯
19、一标识UDP套接字的网络连接引用句柄。套接字的网络连接引用句柄。端口(输出):输出返回函数使用的端口号。端口(输出):输出返回函数使用的端口号。该函数的功能是打开端口或服务名称的该函数的功能是打开端口或服务名称的UDP套接字,为发送或接收数据做准备。套接字,为发送或接收数据做准备。 多点传送地址:要加入的多点传送组的多点传送地址:要加入的多点传送组的IP地址,如未指定地址,则无法加入多地址,如未指定地址,则无法加入多点传送组,返回的连接为只读。多点传送组地址的取值范围是点传送组,返回的连接为只读。多点传送组地址的取值范围是224.0.0.0到到239.255.255.255。该函数的功能是打开
20、端口上的该函数的功能是打开端口上的UDP多点传多点传送套接字,该函数是一个多态送套接字,该函数是一个多态VI,使用时必须,使用时必须手动选择所需多态实例。手动选择所需多态实例。 最大值:读取字节数量的最大值。默认值为最大值:读取字节数量的最大值。默认值为548。 数据输出:包含从数据输出:包含从UDP数据报读取的数据。数据报读取的数据。 端口:发送数据报的端口:发送数据报的UDP套接字的端口。套接字的端口。 地址:产生数据报的计算机的地址。地址:产生数据报的计算机的地址。 该函数的功能是从该函数的功能是从UDP套接字读取数据报并套接字读取数据报并在数据输出中返回结果。函数在收到字节后返回在数据
21、输出中返回结果。函数在收到字节后返回数据,否则将等待完整的毫秒超时。数据,否则将等待完整的毫秒超时。 端口或服务名称:指定要写入的端口。端口或服务名称:指定要写入的端口。 地址:要接收发送的数据报的计算机的地址。地址:要接收发送的数据报的计算机的地址。 数据输入:包含写入至数据输入:包含写入至UDP套接字的数据。套接字的数据。该函数的功能是将数据写入远程该函数的功能是将数据写入远程UDP套接字。套接字。从各函数节点可以看出,从各函数节点可以看出,UDP函数使用套接字的方式进行数据通信。所谓套接字函数使用套接字的方式进行数据通信。所谓套接字简单来说是通信两方的一种约定,使用其中的相关函数来完成通
22、信过程,它是一种简单来说是通信两方的一种约定,使用其中的相关函数来完成通信过程,它是一种IP地址、端口号和传输层协议的组合体。套接字主要有流格式套接字、数据报格式套接地址、端口号和传输层协议的组合体。套接字主要有流格式套接字、数据报格式套接字和原始格式套接字三种类型,每一种类型都分别代表了不同的通信服务。字和原始格式套接字三种类型,每一种类型都分别代表了不同的通信服务。 该函数的功能是关闭该函数的功能是关闭UDP套接字。套接字。12.2.3 UDP通信编程实例通信编程实例12.3 串行通信串行通信串行通信是指在单根数据线上将数据一位一位的依次传送。在发送过程中,每串行通信是指在单根数据线上将数
23、据一位一位的依次传送。在发送过程中,每发送完一个数据,再发送第二个,依次类推。接收数据时,每次从单根数据线上一发送完一个数据,再发送第二个,依次类推。接收数据时,每次从单根数据线上一位一位的依次接收,再把它们拼成一个完整的数据。在远距离数据通信中,一般采位一位的依次接收,再把它们拼成一个完整的数据。在远距离数据通信中,一般采用串行通信,它占用的数据线少,成本也比较低。串行通信作为一种古老的通信方用串行通信,它占用的数据线少,成本也比较低。串行通信作为一种古老的通信方式,目前仍是一种比较常用的通信方式。式,目前仍是一种比较常用的通信方式。 12.3.1 串行通信简介串行通信简介依据时钟控制数据发
24、送和接收的方式,串行通信分两种基本的通信方式:依据时钟控制数据发送和接收的方式,串行通信分两种基本的通信方式: 同步串行通信同步串行通信:指在相同的数据传输速率下,发送端和接收端的通信频率保持:指在相同的数据传输速率下,发送端和接收端的通信频率保持严格同步。由于不需要使用起始位和停止位,可以提高数据的传输速率,但发严格同步。由于不需要使用起始位和停止位,可以提高数据的传输速率,但发送器和接收器的成本较高。送器和接收器的成本较高。 异步串行通信异步串行通信:指发送端和接收端在相同的波特率下不需要严格的同步,允许:指发送端和接收端在相同的波特率下不需要严格的同步,允许有相对的时间延迟,即收、发两端
25、的频率偏差在有相对的时间延迟,即收、发两端的频率偏差在10%以内,就能保证正确,实以内,就能保证正确,实现通信。但是,为了有效的进行通信,通信双方必须遵从统一的通信协议,即现通信。但是,为了有效的进行通信,通信双方必须遵从统一的通信协议,即采用统一的数据传输格式,相同的数据传输速率,相同的纠错方式。采用统一的数据传输格式,相同的数据传输速率,相同的纠错方式。 异步串行通信规定每个数据以相同的位串形式传输,每个串行数据由起始位、异步串行通信规定每个数据以相同的位串形式传输,每个串行数据由起始位、数据位、奇偶校验位和停止位组成,其位串格式如下:数据位、奇偶校验位和停止位组成,其位串格式如下:(1)
展开阅读全文