基于labview的TCP网络通讯实现

  • 格式:doc
  • 大小:267.01 KB
  • 文档页数:8

基于labview的TCP网络通讯实现(唐山首信自动化信息技术有限公司京唐运行事业部,唐山063000)摘要:TCP/IP协议是Internet最基本的协议,它由低层的IP协议和TCP协议组成。

通过TCP/IP可实现单个网络内部或互相连通的网络间的通信。

各个网络在地理距离上可以相距遥远。

TCP/IP将数据在网络间或因特网上的计算机间传递。

多数计算机普遍具有TCP/IP,因而信息能在各种系统上传输。

LabVIEW中,可以采用TCP/IP节点来实现局域网通讯。

本文利用NI LabView平台上结合TCP/IP协议进行数据传输的工作方法,并给出对数据传送与监控的仿真实例。

关键词:labview;tcp;虚拟仪器;TCP network communication based network communication labview (Jingtang Maintenance Department, Tangshan ShouGang Automation & Information Technology Co.,Ltd.,Tangshan 063000)Abstract: TCP / IP protocol is the most basic Internet protocols, which consists flow-level IP protocol and the TCP protocol components.Via TCP / IP to communicate with each other a single internal network or network communication between the. Each network in the geographical distance can be far apart. TCP / IP data transfer over the network or between the Internet between computers. Most computers have a common TCP / IP, so that information can be transmitted in a variety of systems. In LabVIEW, you can use TCP / IP node LAN communications.In this paper,the NI LabView platform combines TCP / IP protocol for data transmission methods of work, and gives the data transmission and monitoring of simulation examples.Key words: labview;tcp;Virtual Instrument0 前言在现代仪器系统中,计算机已经与仪器结合得非常紧密,已成为整个系统的核心,许多传统仪器正在逐渐被计算机部分、甚至全部取代。

粗略地说这种结合有两种方式:一种是将计算机装入仪器;另一种方式是将仪器装入计算机,即以通用的计算机硬件及操作系统为依托,实现各种仪器功能。

虚拟仪器主要是指这种方式,其实质就是一个按照仪器需求组织的数据采集系统。

美国NI公司的LabVIEW就是目前在这一领域内使用较为广泛的计算机语言。

随着计算机网络的发展,虚拟仪器与Internet技术的结合为虚拟仪器网络化、工业现场远程测控提供了更好的实现平台[。

本文介绍在LabView开发平台上结合TCP/IP技术实现远程数据传输。

1 labview1.1 简介LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。

传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而 LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。

VI指虚拟仪器,是 LabVIEW 的程序模块。

LabVIEW 提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。

用户界面在 LabVIEW [1]中被称为前面板。

使用图标和连线,可以通过编程对前面板上的对象进行控制。

这就是图形化源代码,又称G代码。

LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。

1.2 特点LabVIEW是它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。

LabVIEW集成了与满足 GPIB、VXI、RS-232和 RS-485 协议的硬件及数据采集卡通讯的全部功能。

它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。

这是一个功能强大且灵活的软件。

1.3 labview tcp数据通讯labview支持TCP/IP协议的通讯,通讯引用在函数选板-数据通信-协议-TCP下,如图1-1所示:图1-1 TCP函数引用位置Fig. 1-1 TCP function reference position1)TCP侦听创建侦听器并等待位于指定端口的已接受TCP连接。

引脚说明如图1-2所示:图1-2 TCP侦听VIFig. 1-2 TCP listener VI网络地址:指定侦听的网络地址。

如不指定网络地址,LabVIEW将侦听所有的网络地址。

通过字符串至IP地址转换函数可获取当前计算机的IP网络地址。

端口:是要侦听连接的端口号。

连接ID:是唯一标识TCP连接的网络连接引用句柄,该连接句柄用于在以后的VI调用中引用连接。

2)打开TCP连接打开由地址和远程端口或服务名称指定的TCP网络连接。

引脚说明如图1-3所示:图1-3 打开TCP连接VIFig. 1-3 TCP open connection VI地址:是要与其建立连接的地址。

该地址可以为IP句点符号格式或主机名。

远程端口或服务名称:可以接受数字或字符串输入,是要与其确立连接的端口或服务的名称。

连接ID:是唯一标识TCP连接的网络连接引用句柄,该连接句柄用于在以后的VI调用中引用连接。

3)读取TCP数据图1-4 读取TCP数据 VIFig. 1-4 TCP read VI连接ID:是唯一标识TCP连接的网络连接引用句柄。

读取的字节:是要读取的字节数。

连接ID输出:返回值与连接ID相同。

数据输出:包含从TCP连接读取的数据。

4)写入TCP数据图1-5 写入TCP数据 VIFig. 1-5 TCP write VI连接ID:唯一标识TCP连接的网络连接引用句柄。

数据输入:包含要写入连接的数据。

连接ID输出:返回值与连接ID相同。

写入的字节:VI写入连接的字节数。

5)关闭TCP连接图1-6关闭TCP VIFig. 1-6 TCP close connection VI连接ID:是唯一标识要关闭的网络连接的网络句柄。

中止:保留以便今后使用。

连接ID输出:其值值与连接ID相同。

不要将该输出端与其它TCP函数相连。

2 labview程序设计TCP通讯流程如图所示:图2-1 TCP通讯流程Fig. 2-1 TCP Communication ProcessLV中TCP实现的通讯,一端我们设定为服务器端,一端为客户端。

这样在运行的时候服务器端不断的侦听,当有客户端连接的时候进行建立连接,然后收取和发送数据形成通讯,客户端运行后不断的与服务器端进行试探连接,如果没有连接上做一定的处理,当连接上后进行收发数据进行处理。

2.1服务器程序服务器总体程序框图如图2-2所示:图2-2 服务器程序框图Fig. 2-2 Server Program Diagram服务器端程序通过TCP侦听VI等待网络客户端连接,当有客户端连接到服务器时确立连接成功,超时时间设置为60000毫秒当时间超出该时间还没有客服端连接到服务器,错误代码产生系统报错终止程序。

当有客服端程序连接到服务器时成功建立连接,TCP写入VI将数据写入。

要写入的数据前面板仿真如图2-3所示:图2-3 发送数据前面板Fig. 2-3Send data on the front panel如图所示发送的数据包括速度仿真信号,温度仿真信号,开关量仿真信号。

2.2 客户端程序设计服务器总体程序框图如图2-4所示:图2-4 客户端程序框图Fig. 2-4 Client Program Diagram客户端通过打开TCP VI与服务器端建立连接后生产连接ID号发送给读取TCP VI,数据经过强制数据转换将读取的数据显示在前面板上实现服务器数据到客服端数据的接收,与显示。

其显示前面板如图2-5所示:图2-5 数据显示前面板Fig. 2-5 Data display on the front panel3 TCP数据传输的仿真实验打开服务器VI,设置好端口号,运行服务器程序。

在用TCP节点进行通信时需要在服务器框图程序中指定网络通信端口号,客户机也要指定相同的端口,才能与服务器之间进行正确的通信。

端口值由用户任意指定,只要服务器与客户机的端口保持一致即可。

在一次通信连接建立后,就不能更该端口的值了。

如过的确需要改变端口的值,则必须首先断开连接,才能重新设置端口值。

设置服务器端端口号位2055,设置服务器端端口号与服务器端一致,设置IP地址为192.168.0.10,分别运行服务器端程序与服务器端程序,其仿真如图3-1所示,仿真数据在服务前面板上更改的数值将在客服机上随即更改。

图3-1 系统仿真前面板显示Fig. 3-1 Front Panel Display System Simulation4 结论LabVIEW具有强大的网络通讯功能,这种功能使得LabVIEW的用户可以很容易编写出具有强大网络通讯能力的LabVIEW应用软件,实现远程虚拟仪器。

LabVIEW支持TCP/IP协议、UDP协议等等。

很大程度上的简化甚至免除了网络通讯编程,用户很容易地在互联网实现高速数据交换。

本文以labview平台仿真实现了TCP通讯过程,介绍了labview TCP函数VI 的参数说明。

参考文献:[1]LabVIEW宝典,陈树学,刘萱编著,北京:电子工业出版社,2011.3[2]虚拟仪器设计基础教程,黄松岭,吴静编著,北京:清华大学出版社,2008.10[3]数字电压表及数字多用表检测技术,冯占领编著.北京.中国计量出版社,2003.4[4]LabVIEW GUI:essential techniques/by David J. Ritter Published by McGraw-Hill,November 28, 2001 [5]LabVIEW图形编程,(美)Johnson,G.W,Jennings,R著;武嘉澍,陆劲昆译,北京:北京大学出版社,2002.1[6]LabVIEW大学实用教程:第三版(美)特拉维斯(Travis,J.),(美)克林(Kring,J.)著;乔瑞萍等译。