APP下载

如何实现虚拟网络实验

2014-04-24汪衍辉

关键词:虚拟实验远程控制通信

汪衍辉

摘要:本文通过局域网和最后远程虚拟实验的网络,控制虚拟实验实现了基于虚拟实验和LabWindows/CVI软件平台。介绍了基于LabWindows应用程序设计的虚拟实验网络结构、虚拟实验网络通信、客户端/编程模式的服务器、远程PC和服务器通信实现功率控制工作站传输和服务器程序等基本技术。

关键词:虚拟实验 虚拟实验网络 通信 远程控制

1 介绍

互联网技术和远程虚拟实验是基于虚拟实验(VI)来设计的,该技术多年来被应用在许多领域。VI的远程控制和远程获取、通过VI和交付量的测量信息也越来越重要。通过局域网设置了基于软件平台的LabWindows / CVI,具体的网络通信部分,要使用VI实现网络连接彼此内部局域网,利用服务器/客户模式申请权力和控制,客户程序可通过指令获得远程虚拟网络实验平台的控制权。

虚拟实验网络(VIN)由一组硬件和系统构成。硬件包括计算机(可单机或局域网组成的服务器以及一些PC)。该软件采用的编程环境是LabWindows / CVI和c++。LabWindows / CVI可以开发使用虚拟设备,实现VI的功能。可以使用绑定的硬件和软件缩短开发周期和提高VI的可用性。

根据设计的原则,系统硬件配置,采用VXI总线实验和GPIB实验。选择VXI主机控制器为主要系统硬件框架,里面放置0槽控制计算机作为系统控制器。

一般的标准接口是每个测试函数模块之间的一座桥梁,他们一起构成了电路板的测试模块。接口适配器完成标准接口与电路板连接机器测试。信号源采用电路板标准接口和相应适配器,这和响应信号需要测试给定的标准接口有关。

2 虚拟实验网络通信设计

VIN的沟通任务是:查询服务器和数据库(BD)的工作站的IP地址,然后得到对应的结果控制工作站;让远端电脑远程控制GPIB实验;远端PC将命令发送到GPIB实验;决定是否通过局域网,或者回送到获取远端实验数据的电脑。

网络规划是由web服务器程序、客户端程序和通用接口总线控制器组成。采用TCP / IP网络协议,在面向连接的客户端与web服务器必须得到一个链接之前,要先将数据包发送到网络服务器。一旦运行客户端程序,它发送一个连接请求到web服务器(假设web服务器已成功开启了一个端口与客户沟通),为了整个系统安全,web服务器需要验证用户的身份的有效性。实现成功的发送和接收的交流结束之前,必须遵守彼此传输格式。

网络传输的数据包格式是:头和内容的信息,由制表字符“\ r \ n”之间的信息头和信息的内容组成。信息头放在特殊容器中。具体的内容之间的信息和内容与内部信息也分开,依然用“\ r \ n”分隔。在转移到网络服务器时,服务器将通过查询数据包验证其身份。

头的信息是:“[Log_Serv]”,项目内容结果是:“=”、“= ”型。如果登录成功,整个信息内容是:“Log_Serv \ r \ nRESULT =OK\ r \ nTYPE = XS \ r \ n”;如果登录失败,整个信息内容是:“[Log_Serv]\ r \ n \ r \ nRESULT = NG”。这时,来自客户机的通信网络服务器已经基本完成。在收到确认信息的GPIB实验控制器客户端,将设置独立的与GPIB实验控制器相联系的地址。

3 VI传输程序设计

先根据网络传输的控制功能,提出TCP LabWindows / CVI所用函数库,它是属于Windows Socket和支持TCP服务的一个子集。与直接使用Windows Socket编程API函数相比,它更方便和容易使用。LabWindows / CVI TCP函数库包含3个子类:服务器、客户端、支持功能的函数。

第一个是通信控制功能子类的服务器端,包括4个组件:负责接口的注册表、服务器和读取/写稿数据的端口。第二个是设置和通讯功能子类的客户端,这样的子类型包括客户机通信控制功能。最后是其他功能子类:比如获得当前主机的IP地址、主机名等。

首先,客户端发送一个请求到Web服务器,请求GPIB实验的地址,控制器是为了控制之间的数据交流。Web服务器发送的GPIB实验地址,控制器后台处理客户端的请求。

4 PC和服务器之间的通信和控制程序设计

4.1 菜单程序回调函数

放在设置文件之前,系统自动代码框架代码的主程序和回调功能函数。

菜单回调函数的基本框架是:

void CVICALLBACK(int menuBar, int menuItem, void *callbackData, int panel){ }

相应代码添加会根据具体功能菜单调用回调函数。在使用回调函数“Exit _All”(退出实验台)时,它只需要添加退出用户接口(0)。

4.2 用户远程登陆模块实现

如果在主函数设置下面的语句,程序将运行客户端程序和控制面板。

if ((panelmenu = LoadPanel (0, "interface.uir", PANELMENU)) < 0) return -1;

DisplayPanel (panelmenu);

此外,需要执行另一个重要的声明,这是设置的链接服务器。服务器端口和机器名称已在使用之前定义。

int iPortNum=1000;

char cIP_Address [10]="VLAB";

if (ConnectToTCPServer (&iG;_HCONVERSATION1, iPortNum, cIP_Address, ClientTCPCB, NULL, 5000) < 0)

MessagePopup ("TCP Client", "Connection to server failed!");

else RunUserInterface ( );

然后出现面板和与服务器连接,用户可以单击按钮“用户登陆”,输入帐号和密码,然后点击按钮“用户登陆”事件将出现如下情况:

if ((panellog=LoadPanel (0,"interface.uir", PANELLOG))<0)

return -1;

InstallPopup (panellog);

写数据到服务器端的程序:

if ( (ClientTCPWrite (iG_HCONVERSATION1, cSend, strlen (cSend) , 1000))<0)

285

{MessagePopup ("Attention", "cSend the Log Information Error");

QuitUserInterface (0);

}

else

{DiscardPanel (panellog);

SetCtrlAttribute (panelinfo, PANELINFO_QUEST_ONLINE, ATTR_DIMMED, 0);

SetCtrlAttribute (panelinfo, PANELINFO_QUERY_GS, ATTR_DIMMED, 0);

}

break;

}

return 0;}

使用clientTCPwrite通过网络发送信息到服务器,服务器将数据进行比较,找到属于自己的数据包的消息并进行消息接收和发送消息。

5 结论

利用基于电子测量在VIN中的应用,使VIN系统引入通信和远程控制技术,广泛的应用这些技术,可以体现出更为实际的价值。例如,多种先进VI实现的资源共享,电子测量VIN已经建成,系统的所有功能已生效。因此网络的传输质量保证和良好的情况下,用户可以远程控制VI,在许多实践VIN系统应用中收到良好的效果。

参考文献:

[1]刘东.基于Packet Tracer和VMWare构建虚拟网络实验平台[J].中小企业管理与科技(下旬刊),2010(10).

[2]魏晓辉,郭庆南等.支持虚拟机跨局域网在线迁移的混合式虚拟网络原型[J].吉林大学学报(理学版),2011(2).

[3]张人清.虚拟网络实验室实现原理研究[D].湘潭大学,2001.

基金项目:

项目名称:网络虚拟实训平台的开发及在高职院校的联合应用,项目编号:JG2012020803。

猜你喜欢

虚拟实验远程控制通信
虚拟现实技术在初中物理实验教学中的应用
基于GSM的远程控制系统
对数字微波通信技术的研究