随着网络通信技术的迅猛发展,计算机不仅可以控制本地的设备,还可通过网络控制远端的设备。网络的发展伴随着它应用的深入而发展。在过去的几年里,很多新型网络基于它的应用而被人们所熟悉。网络控制系统就是其一,这里网络被作为一个桥接工具来连接操作端和设备端。这方面的理论研究主要分布于东南亚、美国以及加拿大。其中中国的中国科学院和上海交通大学、美国的麻省理工学院和华盛顿大学以及加拿大的埃得蒙顿大学为此理论的研究做出了很大的贡献。网络控制系统NCS ( Networked Control Systems)是一种全分布式、网络化实时反馈控制系统,用以提供设备之间的数据传输,使该区域内不同地点的用户实现资源共享和协调操作。
一、远程控制系统介绍
(一)基本原理
远程控制是指本地计算机通过网络系统(特别是Internet)对远端的设备进行监测与控制,基于Internet的TCP/IP协议,通过B/S方式实现对远程设备进行实时监视和控制的系统。远程控制软件以“客户机/服务器”形式存在,包括一个客户机程序〔Client〕和一个服务器程序(Server或Systry)服务器程序交放在被控制的计算机端,客尸机程序安装在控制端。服务器程序安装成功之后便会自动收集目标计算机的资料,包括IP地址、网络环境、OS环境〔甚至超级用户口令〕等,然后将获得的数据经加密处理后形成特殊的确认帧,反复发往客户机程序所在计算机〔或另一虚拟地址空间〕,申请被控连接客户机程序安装成功之后会在网络上收集服务器程序发回的确认帧信息,并按照确认帧中的环境参数选择和配置适当的网络协议,最后向远端计算机发出连接控制指令当两台计算机连通之后客户机程序根据操作员意图向远端计算机发出指令,并负责根据服务器程序发回的数据信息在本机上再现远端机屏幕状态服务器程序则根据指令完成一系列进程操作和数据传输。
(二)远程控制系统中的Socket
远程控制系统的实现离不开网络通信,Windows Socket是网络通信的基本构件,也是基于TCP/IP协议的应用程序接口(API),它是以伯克利大学BSD中流行的Socket接口为蓝本定义了一套网络编程接口。一个Socket对应于通信的一端,网络通信的Socket接口模型将通信主机或进程当作端点。每个网络对话包括两个端点:本地主机(或进程)和远地主机(或进程)。Socket接口将网络对话的每个端点称为一个-Socket.它是可以被命名和寻址的通信端点,一个正在被使用的Socket都有它的类型和与其相关的进程。目前远程控制的网络通信大多都采用TCP/IP协议,而TCP/IP环境下应用程序的开发都是通过系统编程接口Socket实现的,即Socket利用下层的协议来完成了通信工作。
二、远程控制系统的应用——机器人技术
在现代制造系统〔柔性制造系统、计算机集成制造系统或现代集成制造系统)中,机器人己经成为一种像数控机床一样的必不可少的设备。因为人们能够把操作器搬离危险的作业现场,从而远程操作机器人在危险的环境中执行任务。随着制造业的蓬勃发展,敏捷制造、全球化制造、动态企业联盟和虚拟企业才成为可能。为了利用Internet对机器人进行远程控制,网络通信程序的开发必须借助于Windows Sockets ( WinSock)的应用编程接口API,由于Windows操作系统本身和开发工具均提供较多的Socket支持,故选用WindowsSockets实现网络通信是比较方便的。WinSock控件使用用户报文和传输控制两种协议连接到远程计算机上并与之交换数据。网络机器人控制系统包括三个部分:
1.控制台 它是一个用于在远程对机器人进行控制的操作台,负责控制指令的发送和接收从服务器端反馈来的信息,是网络机器人与控制人员进行交流的接口。一般使用Java语言的Applet技术进行控制台的编写。
2.控制服务器 它主要负责控制权的管理和相关信息的收发工作。用HttpSession类来实现用户跟踪,实现控制权的管理。
3.控制卡接口程序 用来向步进电机控制卡发送指令的部分,它由一个Java类和一个C动态库组成。Java类来接收由控制服务器发送的数据,并用一个私有函数来调用按JNI标准编写的C动态库,实现硬件控制。
网络机器人系统中还包括一个图像传输部分,它是用Java中的JMF(Java Media Frame)来实现的。至此就完成了整个系统的实现。
近来新西兰Massey大学研究所使用Java和Javascript编程语言,使标准的CGI设备与Web服务器进行通信,使用机器人的Java框架,能够为机器人编程提供一种更直观的方法。JavaSeript是一个平台独立的、事件驱动的、解释性的编程语言。它被嵌入在生成Web页的HIML编码中,提供了一个有限数据处理的功能,并允许Web页面对浏览器功能的某些方面进行控制。例如当通过点击图像说明机器人空间位置时,需要用两幅不同图像的点来说明三维空间中的位置在标准的CGI设备控制下,每点击一次图像就会产生一个发往Web服务器的请求,而使用JavaSeipt语言能够说明提交到Web服务器的机器人运动。如今其他科研机构也在对远程机器人学领域进行探索和研究,其中有麻省理工学院林肯实验室、华盛顿大学、斯坦福大学卡内几梅隆大学机器人研究所等。
三、远程控制中的延时分析及其解决方案
(一)延时分析
对用户来说,网络延时是指用尸发出请求到远端系统对该请求作出响应传回给用户的这一段时间。对基于TCP/IP协议的Intemet来说,对每一请求都要作如下处理:路由处理ADU(用户数据单元)在网络上传输以及服务器对请求进行处理。这些过程都要引起延时。随着Internet网络规模和用户数量的迅猛发展,对网络的要求越来越高。IT网不仅要承载数据业务。也要承载语音、视频和多媒体等实时业务。这就要求网络提供更多的带宽和更好的服务质量(QoS)以及更稳定的网络管理。对于实时业务而言,减少网络延迟才能更好的保证QOS。
(二)Smith补偿法
该方法对前向延时和反馈延时分别设计了补偿器,改善了系统的性能,首先使前向延时和反馈延时合并成总延时,这样只需要设计一个补偿器。同时,该方法在控制计算机内采用了缓冲技术,将随机延时转化为固定延时,在不进行网络预测时,也能达到很好的效果。
首先采用Smith预估计补偿器校正该系统,使之成为带有Smith补偿器的系统。远程控制系统的驱动方式有事件驱动方式和时间驱动方式。前者指信息的产生取决于其它事件的发生,如本地计算机收到现场计算机的反馈信息,否则等待;后者指信息按照一定的时间周期产生,由于目前的数字控制系统均通过定时器周期地采集控制信息和发出控制信息,即时间驱动方式,因此远程控制系统中的现场计算机通常也采用该方式。对于事件驱动万式采样周期会发生偏移,目前对该方式的研究较少。本地计算机的主要作用是根据反馈信息和控制算法及时地计算出控制信息作用于被控对象。本地计算机采用事件驱动方式较合适,采用该方式后控制信息会出现采样周期不均匀,但采样周期不均匀的控制信息到达现场计算机经过时间驱动方式处理后又变为等周期控制信息,相反,如果本地计算机采用时间驱动方式控制信息的延时可能会进一步增加。
四、结语
每一次技术革命,都对相关学科造成冲击。网络技术的广泛应用,对控制理论的研究既提出了挑战,也提供了机遇,以及崭新的发展空间。正是基于这一考虑,本文初步地总结了一些远程控制的重要问题及其简单分析,从而对如今网络远程控制的概况和相关问题有一个初步的了解,为今后更深入的研究做好准备。
信息来源:自动化博览