LabWindowsCVI环境下利用TCPIP协议.docx

上传人:小飞机 文档编号:1894164 上传时间:2022-12-24 格式:DOCX 页数:6 大小:103.45KB
返回 下载 相关 举报
LabWindowsCVI环境下利用TCPIP协议.docx_第1页
第1页 / 共6页
LabWindowsCVI环境下利用TCPIP协议.docx_第2页
第2页 / 共6页
LabWindowsCVI环境下利用TCPIP协议.docx_第3页
第3页 / 共6页
LabWindowsCVI环境下利用TCPIP协议.docx_第4页
第4页 / 共6页
LabWindowsCVI环境下利用TCPIP协议.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《LabWindowsCVI环境下利用TCPIP协议.docx》由会员分享,可在线阅读,更多相关《LabWindowsCVI环境下利用TCPIP协议.docx(6页珍藏版)》请在三一办公上搜索。

1、基于LabWindows/CVI的虚拟仪器远程网络控制系统赵大海,周小刚(第二炮兵工程学院,陕西 西安 710025)摘要:提出一种以LabWindows/CVI作为系统开发平台,利用C/S模式,采用TCP/IP协议,组建虚拟仪器远程网络测控系统的方案。此方案在工业企业生产和武器系统测试等远程多类型参数实时测量有广阔的应用前景。关键词:LabWindows/CVI;虚拟仪器;TCP/IP协议; C/S模式 1 前言在参数测量领域经历了模拟仪器、数字仪器和智能仪器的充分发展后,20世纪90年代末,在信息技术高速发展的推动下,该领域进入了虚拟仪器和网络化测控技术阶段。现代武器系统测试过程中潜在的不

2、安全因素,工业企业生产过程中各部分的协调运转和管理,都要求依靠Intranet或Internet进行。将虚拟仪器技术与Intranet、Internet技术融合,使虚拟仪器系统更加突破了传统的测量理念,测量数据得到了真正意义上的共享,远程测量得以实现。2 测控模式及软件的选取由于在武器系统测试和工业企业生产过程中涉及到对多种传感器的数据采集和仪器的驱动,同时也存在着对传感器系统的调整和生产测试现场环境恶劣等问题,所以整个测控系统要充分体现很强的适应性和健壮性,这要求测试系统能在不同的测试终端甚至是远程测试终端完成测试数据的获取,然后通过局域网或广域网将测试数据传输到主控计算机完成各种测试故障的

3、分析、测试策略的制定等。伴随第三代自动测试系统出现的区别于传统仪器模式的新的测试仪器虚拟仪器是在以计算机为核心的硬件平台上,由用户设计定义具有虚拟面板,其测试功能由测试软件实现的一种计算机仪器系统。其实质是利用计算机显示器模拟传统仪器的控制面板,以多种形式输出检测结果;利用计算机软件实现信号数据的运算、分析和处理;利用I/O接口设备完成信号的采集、测量与调理,从而完成各种测试功能的一种计算机仪器系统。与传统测试仪器相比,虚拟仪器具有明显优势:仪器功能定义方便,性能更新快捷,面板设定灵活,准确性高,研制周期短,性价比高,并且可以方便的与网络及周边设备互联。构造和使用虚拟仪器的关键在于应用软件。N

4、I公司开发的面向计算机测控领域的虚拟仪器软件开发平台LabWindows/CVI具有强大的对网络数据传输的支持能力,它提供了一个TCP(Transmission Control Protocol)的函数库。该函数库提供了基于标准TCP/IP协议的网络数据传输的API函数,可以实现与平台无关的、可靠的、面向连接的网络数据传输功能1。本文即以LabWindows/CVI作为系统开发平台,利用C/S模式,采用TCP/IP协议,组建了虚拟仪器的远程网络控制系统。3 LabWindows/CVI建立的网络协议Labwindows/CVI是美国NI公司开发的基于C语言的软件开发平台,适用于自动测试、自动控

5、制、测试仪器通信、测试硬件控制和信号分析处理的开发工具。与其它虚拟仪器开发软件相比,LabWindows/CVI具有以下特点:集成式开发平台,交互式编程方法,简单直观的图形用户界面设计,完善的兼容性,灵活的程序调试手段,功能强大的函数库,支持TCP/IP和DDE(动态数据交换)等网络功能2。 Labwindows/CVI建立的网络协议主要有: (1)TCP/IP应用广泛,一个可靠的网络协议,可用于所有计算机。 (2)UDP是在计算机的进程之间提供最简单的低级通信。进程是通过发送数据报到一个目的计算机或端口上进行通讯。特点是容易造成数据的丢失,适用于可靠性要求不高的计算机通信系统中,UDP是一个

6、高性能的无连接的网络协议,可用于所有计算机。 (3)DDE动态数据交换是在Windows程序之间交换数据的一个协议。相比于TCP/IP协议通信的过程中,想要建立一个连接,然后传输原始数据。而DDE在更高的层上工作,程序向彼此发送信息来交换信息。一种简单的信息是向另一个程序发送命令。其他大多数信息用于传送按名字引用的数据,可适用于Windows31、Windows95、WindowsNT间的通信。 ()Active支持自动化程序,可以是一个服务器或是客户机。用于Windows95和WindowsNT的通信。 (5) Apple Events可用于 Macintosh,用于在 Macintosh程

7、序之间发送和接收数据。 (6)PPCMacintosh协议,程序对程序间通信的一种低级方式,用于在Macintosh程序之间发送和接收数据,由于它比较低级,所以能够提供比较高的可靠性。在结构上PPC与与TCP相像,无论是服务器和客户端程序。PPC指定一个远程程序的方法不同于TCP。除此之外,两个协议提供了相似的特点和功能,它们多能够处理队列和数据的可靠传输,多可以使用多个打开的连接3。4 系统结构图1虚拟仪器测量系统图2 OSI网络协议与XV网 络测量协议的对应关系显示器网络打印机主机箱客户机应用层表示层会话层传输层网络层物理层数据链路层VXI任务组织协议VXI网络测量协议TCP/IP协议10

8、Base-T以太网整个系统由虚拟仪器、服务器、客户机组成。客户机通过Internet与服务器建立连接,通过服务器对虚拟仪器进行控制。4.1 虚拟网络测量系统模型为具体实现这套虚拟仪器网络系统,首先定义了一个虚拟网络测量模型,采用客户端/服务器(C/S)网络模式,该模式具有先进性、运行效率高、数据可靠完整、数据传输量大、开放性强、兼容性强等特点4。虚拟仪器测量系统模型如图1所示。4.2 虚拟网络测量协议及虚拟任务组织协议在定义了虚拟网络测量模型之后,还必须定义建立在该模型基础之上的虚拟网络协议组;协议组建立在OSI参考模型基础之上。在客户机/服务器模式中,虚拟网络协议组的层次结构与OSI七层协议

9、模型对应关系如图2所示。虚拟网络测量协议主要用于实现客户机与服务器之间的测试信息表示和数据格式的标准化,是客户机与测试服务器进行通信的基础,是实现网络测量系统模型虚拟网络化的关键。虚拟网络测量协议建立在10Base-T以太网以及TCP/IP协议的基础上。在C/S模式中,测试服务器响应客户机发送来的测试和控制信息,实现特定的测试和控制任务,并将结果信息返回客户机。一次具体的通信过程如图3所示。在这一过程中,一方面,需要具体规范测试及控制功能的数据表示,在实际应用中,我们采用标准仪器控制语言SCPI作为测量信息的语法表示;另一方面,需要定义用户给予服务器之间传输信息的标准传输报文格式。4.3 虚拟

10、仪器网络系统的实现建立了以上模型、协议的基础上,我们采用LabWindows/CVI作为系统开发平台,并利用其提供的TCP/IP函数库和Windows Socket SDK函数库,图4 软件系统的总体结构图控 制 台客 户 机 程 序服 务 器 程 序服务协议测试数据文件操作测试信号分析虚拟仪器面板SCPI命令面板测试用户接口网 络 通 讯 接 口仪器系统自检仪器本地监控服务程序监控测试服务管理仪器测试I/O网络通讯接口TCP/IP协议具体实现了虚拟仪器远程网络控制系统,系统软件的总体结构如图4所示。在测试服务器处于系统结构的核心,负责测试仪器管理、测试服务管理,必须具有支持冲突、出错管理、进

11、程显示等多种功能,是软件设计的重点。在LabWindows/CVI开发平台上实现仪器测试,当一个客户需要测量仪器时,向服务器发送服务请求,服务器收到该请求后,进行分析、测量并将测得信号返回客户机。5 实验设计系统初始化等待客户机连接请求Connect测试服务器客户机Read处理服务请求WriteCloseCloseReadWrite测试数据处理建立连接请求服务服务响应图3客户机与服务器之间的通讯过程结合系统构成原理,可以通过局域网构建一个简单的测试网络,实现不同网关之间数据的传送:服务器启动程序后系统进行初始化,等待客户机连接请求,;较验正确后建立连接并等待命令,若客户端有命令则开始处理服务请

12、求,分析处理完毕后返还客户机测试信息。程序的基本流程图可见图3。5.1 服务端主要程序设计服务器端程序的主要任务为:注册TCP/IP服务器;根据客户端请求命令,进行测量,并将测试结果返回客户端;在面板上显示仪器状态及测试结果。下面对程序的各个功能分别介绍:用PromptPopup函数弹出一个对话框提示用户输入提供服务的端口号,以便建立连接, portNum是端口号,见图5。图55.2 客户端主要设计客户端程序的主要任务为:与服务器端建立连接;根据面板控件的操作,通过TCP/IP端口发送命令;接收服务器端传回的测试数据,并在面板上显示仪器状态及测试结果。1用PromptPopup函数弹出对话框提

13、示用户输入提供服务的地址及端口号,以便建立连接。建立连接服务器地址,见图6。图6服务器的地址可以写成DNS解析域名,也可写成服务器的IP地址。输入端口号后连接到服务端:2用ConnectToTCPServe函数与服务器建立连接。3根据面板控件操作,通过TCP/IP端口发送命令,函数switch1callback、switch2callback、daqcallback、wavecallback为面板控件对应的回调函数,当对面板控件进行操作后,程序自动调用相应的回调函数,读取面板控件的状态,并发送命令。4当服务器通过TCP/IP端口传回数据时,用ClientTCPRead函数将数据读取到recei

14、veBuf中,并对其进行分析,判断数据内容,并在面板上显示。5.3 程序运行效果程序编写调试完毕后,将服务器端程序和客户端程序分别在两台通过网络连接的计算机上运行, 成功的实现了两端程序的连接。操作可靠,数据传输显示正确,基本实现了虚拟仪器远程网络控制的要求。图7 操作界面6 结束语测控系统的网络化已成为现代测控领域的发展趋势,并将成为科学研究和自动化控制系统的重要组成部分。虚拟仪器远程网络控制系统在设计周期、难度和费用上都大大低于现场测控仪器的设计,因此在LabWindows/CVI环境下利用TCP/IP协议实现虚拟仪器远程网络控制给测控技术的发展注入了活力。参考文献1张凤均. LabWindows/CVI开发入门和进阶M.北京航空航天大学出版社,2001.2海泰电子. 虚拟仪器产品与技术.3刘君华. 基于LabWindows/CVI的虚拟仪器设计M.电子工业出版社,2003.2常永昌. 远程控制软件的设计与实现J计算机应用,2003.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号