完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
摘 要:以传统的C/S、B/S网络化模型为基础,将功能强大的labview网
络通信技术和运行控制技术相结合,灵活地运用CGI(公共网关接口)技术和VI Server技术 ,构建了适用于远程网络实验系统的C/S/B(客户端/服务器/浏览器)网络化模型,并运用 该模型提出一种适用于通信电子类基础课程的远程实验系统的软件实现方案。 关键词:LabVIEW;C/S/B模型;远程实验;公共网关接口1引言 随着虚拟仪器技术向网络化方向不断发展,一个基于网络技术的远程虚拟实验室不仅为异 地 实验和学术交流提供了高效的平台,也给传统的实验教学模式和学生的学习方式带来巨大的 变化,同时可以大大提高实验效率,使教师和学生能够集中精力和时间用于实验的执行、数 据的分析及结论的总结上,而不必将大量时间花在实验系统设备的搭建上。 结合LabVIEW及其网络开发工具包提出一种适用于远程实验教学的C/S/B网络结构模 型,运用串口通信和运行控制技术等软件编程技术,结合数据采集卡、硬件实验板等实现了 远程实验系统。 2LabVIEW强大的网络功能 2.1TCP /IP或UDP协议通信 TCP/IP或UDP协议是目前全球通用的网络协议。IP是网络层协议,实现的是不可靠无连接 的数据包服务。TCP和UDP都是建立在IP基础上的传输层协议。TCP是基于可靠连接的协议;U DP 是基于不可靠无连接的协议。如果希望得到可靠的数据传输,那么使用TCP是较好的选择 。利用LabVIEW的TCP实现网络通信,只是对TCP/IP协议的简单包装,虽然原理比较简单 ,但是由于涉及底层TCP编程,相对比较复杂。其一般通信方法为:在服务器端,利用T CP Listen 监听指定端口的TCP网络连接,连接建立后,利用TCP Write/Read写或读数据,最 后用TCP Close Connection关闭连接。 2.2VI Server透明的、多平台的网络访问 通过VI Server,只要在LabVIEW的Option对话框中设置VI Server的访问权限,就可以通 过 一个调用引用节点(Call by Reference Nodes)方便地运行远程的不同平台上的LabVIEW V I ,就像本地VI一样。 2.3Web服务器 Web服务器是虚拟仪器由LAN向WAN扩展的,实现其网络化扩展极具价值的一环。使用LabVI E W 的Web服务器,可以方便简单地实现在Web上发布LabVIEW程序;同时,网络上的计算机无需 安装LabVIEW,就可以查看以HTML文件发布的Web网页,甚至通过网页控制程序的运行。使虚 拟仪器Web化得以实现,借此建立起强大的网络化功能。 2.4G Web Server G Web Server是NI公司推出的用于远程运行VI的服务器。客户端用 向G Web Server申请调用VI。而G Web Server将该VI调用请求视作是CGI调 用,并把后续 的参数用CGI方式传递给VI,这样就可以动态改变实验参数,像执行一般的CGI程序一样动 态的执行服务器端的G程序。G Web Server是一种类型的HTTP Server,他是可以独立于其他 正在运行的单独的VI程序。利用他还可以直接向网页发布虚拟仪器,并生成动态网页, 将实验参数返回,同时G Web Server所具有的TCP/IP网络通讯功能为示波器波形在客户端 实时显示提供了可能。 G Web Server可以执行以下任务: (1) 向网页发布虚拟仪器可以在WWW上发布VI程序的静态或动态 图像。 (2) 与CGI虚拟仪器一起工作当客户端从浏览器发送VI请求后,能够 动态执行CGI VIs。 (3)与CGI animation一起工作可以与由CGI VIs生成的服务器—推进 模式一起工作。 (4)与图像映射文件一起工作不需要外部CGI应用程序就能与图像映射 文件一起工作。 (5)可以与其他系统集成可以在开发系统上运行G Web Server或集成到 可执行程序中。 (6)工作在不同平台上可以在所有平台上运行G Web Server。 (7)执行的安全性可以通过目录VI名称,对访问权限进行限制。 3C/S/B模式的远程实验系统结构 3.1C/S模型 C/S模型,就是网络通信中常用的客户/服务器模型,多用于集散控制系统。这种模型用多 个客户终端来采集数据,同时用一个服务器充当数据库的功能;客户端通过通信协议将测试 数据写到远端服务器。在这种模型下,系统设计时既要做客户端的虚拟仪器开发和远程发布 设计,也要做远程服务器端的数据接收设计。 3.2B/S模型 B/S模型,就是浏览器/服务器模型。主要用于在Web网页上发布数据。通常用户以此 扩 展虚拟仪器的网络化功能。在这种模型下,用户端只需要安装浏览器,就可以直接通过访问 远 端地址,实现对远端虚拟仪器运行的监控。由于他的主要工作集中在服务器端的开发上,不 必对客户端进行开发和设计,极大地简化了开发和设计难度。 3.3C/S/B模型 以上两种模型虽然能够满足大多情况的要求,但是对于大型集散控制的发布和远程控制, 还是存在一些不足。为弥补这种不足,以适应实验系统信息化和网络化的需要,自然出现了C/S/B 模型,他是C/S模型和B/S模型的结合和扩展。其原理是 :在服务器端控制下,客户端程序测试、采集数据以及传送到服务器端,最后通过服务器端 实现Internet发布功能,在远端浏览器上实现对客户端的运行进行显示和监控。 其网络结构如图1所示。 4基于LabVIEW的C/S/B模式远程实验系统结构的实现 远程实验室的开发是建立在labVIEW基础上的。所有设备之间通过GPIB和DAQ卡 进行通信。G PIB和DAQ卡用来连接labVIEW和示波器、信号发生器和硬件电路等,还必须采用Interne t 传输工具开发用于系统和用户通信的软件。 4.1系统硬件结构 网络是客户机和网络服务器交换信息的通道,网络浏览器为运行必要的脚本程序提供 平台,摄像头被连通并把硬件设备环境上传到因特网上,多功能数据采集卡用来控制和采集 实验数据。其硬件结构如图2所示。 4.2系统软件结构 软件结构由远程浏览器(Netscape)、Web服务器和设备服务器(虚拟仪器客户端) 组 成。Web服务器是核心,通过Web服务器,用户可以访问站点,控制实验过程、处理实验数据 并获得实验结果。设备服务器主要完成数据采集并传送到Web服务器端处理。其软件结构如 图3所示。 4.3实验数据的交互过程 网络控制通过NI公司的LabVIEW网络开发工具包(Internet Developer Toolkit) 来完成 。TCP/IP通信由虚拟仪器开发软件LabVIEW完成。公共网关接口(CGI)和传输控制协议(TCP) 用于客户机和网络服务器之间的通信。CGI程序的编写与网页HTML相联系,HTML是通 过因特网传送数据的一种通用表单语言。其交互过程如图4所示。 各子程序的功能如下: (1) run cgi.vi用于启动remote ctl.vi和tcp client.vi子程序。 (2)ctl cgi.vi用来控制测试点选择和输入信号的选择。 (3)remote ctl.vi通过调用引用节点(call by reference nodes)远程控制设备服务 器中的程序tcp server.vi。 (4)tcp client.vi通过建立起的TCP连接接收由设备服务器的tcp server.vi采集的数 据。 (5)tcp server.vi启动data acq.vi并将数据通过TCP连接传送到网络服务器端。 (6)data acq.vi通过数据采集设备从硬件电路采集数据。远程用户通过浏览器进入远程虚拟电子实验室系统网站的登录页面。开始实验操作时,Web 服务器接收到来自客户端的有效CGI请求后, 该服务器上的G Web Server运行run cgi.vi , 一方面启动remote ctl.vi, remote ctl.vi根据从表单中获取的实验参数调用tcp server. vi进而启动数据采集程序data acq.vi,通过数据采集设备从硬件电路采集数据并传送到网 络 服务器端;另一方面run cgi.vi启动网络服务器上的tcp client.vi,接收tcp server.v i 传送的数据,以CGI响应的方式刷新客户端显示,完成整个实验的操作过程。 4结语 基于LabVIEW的C/S/B结构的远程实验系统运用功能强大的LabVIEW虚拟仪器技术,将 传统的B/S结构和C/S结构相结合,构建了适用于远程网络实验系统的C/S/B网 络化模型,本研究提出的网络化实现提供了一个具有借鉴意义的 参考方法。通过对这一实现方法的扩展和深化,对通信电子类基础课程的远程实验系统也有 很好的借鉴价值。 参考文献 [1]Chen K W E,Chan C L, Cheung N C,et al.Virtual Laboratory Development for Teaching Power Electronics.IEEE 2002 [2]Chen S H,Chen R,Ramakrishnan V,et alDevelopment of Remote Laboratory Experimentation Through Internet Proce eding of the 1999 Hong kong Symposion on robotics and control,Hong Kong ,1999 [3]秦学华,刘亚斌.基于LabVIEW的虚拟仪器网络化实现[J].测控 技术,2004,(2):7172 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
有没有大佬知道labview中使用Halcon拍照算子采集图像后,如何把图像传入调用的Halcon算子?
4169 浏览 0 评论
LabVIEW对51单片机电压的采集,用VISA写入函数发送字符串voltage,VISA读取函数也是字符串?
2116 浏览 1 评论
1837 浏览 0 评论
7126 浏览 1 评论
2477 浏览 0 评论
3073浏览 1评论
4314浏览 0评论
有没有大佬知道labview中使用Halcon拍照算子采集图像后,如何把图像传入调用的Halcon算子?
4169浏览 0评论
3214浏览 0评论
3159浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 19:03 , Processed in 0.948371 second(s), Total 63, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号