首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 电子技术 > 传感与控制
基于LabVIEW的远程控制实验系统
来源:本站整理  作者:佚名  2010-05-06 17:12:21



2 网络通信方式比较
    远程实验系统可采用基于C/S和B/S两种网络模型来组建,针对不同的应用场所,LabVIEW提供了多种网络通信方式供用户灵活选择。主要包括共享变量,DSTP协议的DataSocket编程、DSTP协议的DataSocket编程、Web Server、SMTP Email Vis、TCP编程和UDP编程[4]等。
    本文就DSTP协议的DataSocket编程、Web Server和TCP编程这3个网络编程方法在构建远程控制实验室时的应用做了具体的研究及比较。
2.1 DSTP协议的DataSocket编程
    DataSocket技术是一种面向测控领域的通过网络实时交换数据的编程技术。DataSocket由DataSocket Server与DataSocket APL两部分组成。DataSocket Server负责提供DSTP协议(数据传输协议)和管理底层网络通信,实现与用户程序之间的数据交换,不需要用户编写有关网络通信的底层程序。DataSocket API是用户访问网络数据的接口。DataSocket API访问DSTP对象时就是通过访问DataSocket Server来实现现场数据的高速传输。图2中,首先在DataSocket Server Manager中新建一个类型为image的字符串项,驱动DataSocket Server后,发布者(Publisher)通过DataSocket API向URL位置指定的地址写入数据。客户端编程如图3所示。DataSocket技术能应用于任何编程环境,而且支持多种协议(DSTP、OPC、LOOKOUT、 HTTP、FTP和文件访问),本文就DSTP协议做了详尽的研究。

2.2 Web Server
    在前面提到的DataSocket编程虽然可以很方便地用来传输现场数据到远程浏览,但是在远程计算机上也必须编写程序来接收数据。在很多情况下,用户希望能够直接将服务端的VI程序面板“原封不动”地复现在远程客户端上,在远程计算机上进行浏览和操作,而LabVIEW 的Web Server恰好能够实现这一功能。
    在远程客户端连接服务端面板之前,需要先配置并启动本地LabVIEW的Web服务器,而后在远程客户端必须安装LabVIEW  Run-Time引擎才能通过网页连接服务端VI面板。
    配置并启动本地LabVIEW的Web服务器时,首先选择主菜单的“工具|选项|Web服务器:配置”,选择“启用Web服务器”,其他可保持默认。而后在“工具|Web发布工具”选项里即可进行网络发布。在远程客户端网页浏览器里输入如“http://202.200.186.160”形式的网址即可访问服务端,如图4所示。利用Web Server的好处是用户无需任何的编程就能在远程计算机上通过网页连接服务端的VI前面板进行浏览和操作,但相对DataSocket来说传输速率较低,在传输大量数据时有可能造成数据的丢失,故其较适合在数据传送量不大、需要远程模拟仿真的情况。


    需要注意的是,要想在客户端连接服务端的摄像头视频,必须先在客户机上安装NI公司的visionrte.exe[4]应用程序,才能接收到完整的视频信息。
2.3 TCP编程
    鉴于TCP协议在绝大多数计算机上都有安装,因此其使用也就更为普遍。但是其编程相对于其他的网络编程更加复杂,用户端需要考虑如何建立连接、分配端口号、进行地址转换等。TCP(Transmission Control Protocol)传输控制协议是一个面向连接的协议,允许从一台计算机发出的字节流无差错地发往互联网上的其他计算机。TCP是基于两个网络主机之间的点对点通信,从程序接收数据并将数据处理成字节流,再将字节组合成段,然后TCP对段编号和排序以便传递。在两个TCP主机交换数据之前,必须先相互建立会话。TCP会话通过三向握手的过程进行初始化。这个过程使序号同步,并提供在两个主机之间建立虚拟连接所需的控制信号。一旦初始的三向握手完成,在发送和接收主机之间将按顺序发送和确认段。关闭连接之前,TCP使用类似的握手过程验证两个主机都完成发送和接收全部数据[6]。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:132,406.30000 毫秒