数据采集/无线通讯 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
基于Web Service的远程工业控制系统研究 |
|
作者:杨正祥 熊健民 谭保华 宋庭新 |
|
引言
现今网络技术不断发展,互联网已经成为当前最重要的信息载体。同时设备控制技术也相当成熟,如各种基于廉价单片机的微处理系统应用广泛,几乎深入到各行各业[1] 。技术人员把互联网应用推广到控制领域,是一个发展趋势。这种新的业务应用,由于其自身的特点,对于开发中的新技术、新方法的需求特别突出,传统的开发模式与技术手段已经渐渐地无法适应这些新的要求。如何将先进制造中的各种机器设备以及信息家电与互联网应用联系起来,从而提高控制系统的性能,成为控制界需要解决的一个技术问题。工业机器人是先进制造行业中典型的设备,本系统采用它作为受控对象,可以为在工业自动化系统中实现基于Internet的远程控制提供一个典型的范例,从而为先进制造、信息家电等其它网络控制设备提供基于Internet应用的基础。
l Web Service技术导入
作为一种问世不久的全新的组件技术,Web Service使用基于XML的消息处理作为基本的接口描述和数据通信方式,采用W3C组织制定的开放性标准和规范,对服务的实现与使用进行高度的抽象,以消除由于使用不同组件模型、操作系统和编程语言所产生的系统差异,为实现数据和系统的互操作性提供了一种有效的解决方案[2]。
Web Service由服务提供者(Service Provider)、服务注册中心(Service Registry)和服务请求者(Service Requestor)之间的交互所构成。首先服务提供者使用Web Service描述语言(WSDL)对组件的功能和接口进行详细的描述和精确的定义,然后把它发布到服务注册中心;服务请求者通过网络在服务注册中心查找所需的服务,并获取该服务的WSDL信息,最后服务请求者通过WSDL信息与服务提供者所提供的服务进行绑定,调用相应组件中的功能,实现彼此间的交互[3]。web Service的工作模型如图1所示。 与传统的基于中间件(由一组具有控制与管理能力的组件所构成)的体系结构相比,计算机工业控制系统采用web Service技术构造更具有优势,体现在:
(1)由于web Service的体系结构是松散耦合的,所以采用何种组件模型已经不重要,只要使用统一的WSDL对所提供的服务接口进行定义和描述,异构的客户与服务之间、服务与服务之间就可以实现连接与重用,提高了可靠性和重用性,开发和维护代价更低。
(2)基于中间件的计算机智能控制系统中,数据的传输、组件接口的访问、数据描述等协议都是各个组件模型自己定义的,不具有通用性。而基于Web Service的体系结构中,完全采用W3C所制定的开放的、标准的协议进行数据的描述、传输、交换,所用到的SOAP (Simple Object Access Protocol, 简单对象访问协议)、WSDL (Web Service Description Language,Web服务描述语言)、UDDL (Universal Description,Discovery,and Integration,通用描述、发现和集成)等技术,都是基于HTTP,XML等基本协议和标准,因此更具有开放性和扩展性,应用范围更广,可支持异构平台[4]。
(3)基于中间件的计算机智能控制系统虽然比基于简单C/S的计算机智能控制系统的集成性能要好。但是仍然属于静态集成,这体现在当组件接口改变时,需要对中间件进行相应的修改并局部重新部署。然而在基于Web Service的计算机智能控制系统中,当由于服务的接口改变而导致客户端调用失败时,客户端会自动从服务注册中心获取已更新的WSDL文档,重新生成调用接口,并与代码进行绑定。
基于Web Service的工业控制系统,可以明晰工业自动化的体系结构,增强过程控制的功能和效率。提高工业自动化的整体性和稳定性,真正实现工业自动化系统的网络化、智能化、数字化 但将Web Service组件技术直接运用在先进制造领域和信息家电行业,在我国还未见报道。因此,本项目的研究成果将为我国先进制造行业和信息家电行业提供Internet解决方案具有积极的意义。
2 控制系统的实现
本系统的结构如图2所示。硬件系统采用深圳固高科技有限公司提供的工业机器人和接口控制箱。软件系统含三层:控制指令数据DBMS作为数据库层,它的任务是保存控制指令和中间数据,接受Web Service对数据库操纵的请求,实现对数据库查询、修改、更新等功能,并把运行结果提交给Web Service;控制逻辑Web Service组件作为中间层,是前后两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并驱动机器人操作,同时把结果返回给客户端}控制系统WEB页面作为面向用户的界面层,负责处理用户的输入和向用户的输出[5]。 在.NET Framework中直接对工业机器人接口板卡进行底层硬件编程是一个技术难点。本项目采用互操作(Dlllmport)的方式,在Web Service组件中引入运动控制器驱动接口DLL函数库,可以解决这一问题。Microsoft.Net是目前开发Web Service的最佳工具,因此本项目以此为开发平台。我们把机器人智能控制模块做成Web Service,部署在Internet上(即将Web Service注册到UDDI注册表),暴露机器人智能控制模块接口。在Web Service组件中,采用C#语言,调用工业机器人运动控制卡的底层编程接口API,并将四轴联动的优化算法等控制逻辑封装在该组件中,从而提高控制的效率和实时性[6] 。
在本系统中,我们采用ASP.NET开发了WEB页面。用户通过Web浏览器以HTTP协议调用WEB页面,得到机器人操作界面。WEB页面再以SOAP协议与Web Service组件通信,把客户端的控制信号以string类型的参数形式传递给Web Service,让Web Service调用机器人运动控制卡的库函数(在本系统中是GT400.dl1)[7] ,进一步达到控制机器人的目的。具体步骤是:WEB页面首先查询UDDI注册表,定位到web Service,通过“添加web引用”建立与web Service的联系。编译后系统即根据Web Service的wSDL文件自动在本地生成了Web Service的代理类。随之WEB页面可以像使用本地对象一样地使用代理类对象,由代理类对象负责与实际的远程web Service以S0AP协议进行通讯,然后Web Service完成相应的业务逻辑。在这个过程中,如何发送调用请求,传输请求信息,解析请求信息,执行实际代码,返回请求结果的步骤都被很好地封装起来,应用的设计者和程序员只需考虑要传递什么请求和如何处理请求结果就足够了[8]。由于HTTP协议和SOAP协议是标准的Internet协议,可以透过防火墙,因此基于Web Service的远程控制系统可以真正意义上地完全实现Internet上的网络控制。这样使得不同的操作者可以在任何平台上,以任何语言开发的客户端,都能够通过Internet这个软件系统廉价、广泛的网络。随时地、便捷地控制机器人。
3 结束语
本系统基于Web Service,采用ASP.NET开发了WEB页面作为Web Service的客户端。成功实现了跨平台地远程控制机器人,极具现实意义。比如在某地有一位病人,病情复杂,可以让远在他国的名医远程调度精密仪器,对该病人进行手术。而且这位名医可以基于任何平台,以浏览器作为操作界面即可进行。同时,本系统的理论基础与技术实现在先进制造行业和信息家电行业中也具有重要的推广意义。
参考文献:
[1]李士勇.模糊控制、神经控制和智能控制论[M]. 哈尔滨;哈尔滨工业大学出版社。1996.
[2]Wen J,Zhang R.The design of efficient XML document model[J].IEEE,2001,2(2):1102~1106.
[3]柴晓路.WEB服务架构与开放互操作技术EM].北京:清华大学出版社,2002.
[4] W3C.Web Service相关标准[EB/OL]. httpj//www. w3c.org, 2003, 06.
[5]贾晓琳.基于J2EE的企业级Web Service体系结构[J]. 计算机工程。2003,6.
[6]王培进.面向对象的柔性设计与控制理论Eli.计算机工程与应用,2002,38 (24)t 35—38.
[7]固高科技(深圳)有限公司.GT系列工业机器人运动控制器编程手册[z].深圳:固高科技(深圳)有限公司,2003.
[8]Microsoft公司.XML Web Service技术内幕[M].北京:清华大学出版社,2003.(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(6/20/2006) |
对 数据采集/无线通讯 有何见解?请到 数据采集/无线通讯论坛 畅所欲言吧!
|