(1)服务提供层机床控制器作为Web服务器,支持ISO-OSI网络互联规范,具有很强的开放性,它通过蓝牙或802. 11等无线技术实现联网功能,向移动控制器或其他网络用户提供Web服务,支持标准的总线型、星型、环型等拓朴结构。从客户/服务器的角度看,过去的计算机数字控制(Computer Numerical Control,CNC)仅通过接口与外界进行部分数据交换,是封闭的。数控系统则从内部支持开放式系统互联规范,因而是真正开放的,其开放性体现在:①建立在本身就具有开放性的PC资源基础上,软硬件资源丰富;②支持ISC}OSI互联规范;③数控系统支持Internet/Intranet的万维网(World Wide Web,WWW)服务和Web浏览器浏览。
(2)本地服务请求层移动控制器是数控系统的重要组成部分,笔者称之为本地服务请求者。本地服务请求者可以通过两种方式访向机床控制器(Web服务器):若客户端具有Web浏览器,可以通过浏览器访问统一的W eb服务界面(它在客户端表现为网页形式);对于不支持Web浏览器的设备,可通过客户端程序(如Windows Forms)访问Web服务,这是一种非网页的形式。
(3)车间服务请求层该层对数控系统的服务请求者主要是车间个人数字助理(Personal Digital Assistant,PDA)和车间内部服务器,车间PDA不同于一般的掌上电脑和PISA,可以被抽象为调度Agent,和无线通信技术有机地结合起来,形成一个包括人在内的移动代理系统(Mobile Agent System,MAS)车间控制系统,实现灵活而快速的判断、决策与控制,鉴于车间调度与控制的复杂性和不确定性,掌握数控系统的工作状态和现场参数等非常重要。
(4)远程服务请求层任何远程设备都可以通过Web浏览器查找相关数控系统的Web服务,实现对车间底层数控设备的远程监控、远程维护和远程技术咨询等功能,真正支持全球制造和信息共享。
分页
2 软件设计
2.1 软件平台的选择
笔者采用Visual Studio.NET作为应用程序的主要开发平台,它是一套完整的开发工具,可以用于生成ASP Web应用程序、可扩展标记语言(eXtensible Markup Language,XML) Weh服务、桌面应用程序和移动应用程序。Visual Basic.NET,Visual C++.NET,Visual C#.NET和Visual J#.NET全都使用相同的集成开发环境(Integrated Development Enviornmen, IDE),该环境允许它们共享工具,并有助于创建混合语言解决方案。另外,这些语言利用了.NET框架的功能,此框架提供对简化A5P W e6应用程序和XML Web服务开发的关键技术的访问。Visual Studio .NET集成开发环境还包括开发智能设备(如Pocket FC)应用程序的工具。通过使用这些工具和,NET Framework精简版Compact Framework,可以高质高效地开发数控系统。
2.2 数控系统的软件架构
数控系统是一个多任务的复杂软件系统,个软件架构如图2所示。
(1)系统硬件适配层(hardware adapting layer)
支持数控系统工作的底层硬件,主要包括机床感知系统、伺服系统和运动控制板卡等。该移动数控系统的数字控制(Digital Control,DC)选用的是Windows CE. NET操作系统,在定制平台时,用户可以开发自己的原始设备制造商(Original Equipment Manufacturer,OEM)硬件适配层(OEM Adaption Layer,OAL),OAL处于Windows CE系统内核与目标设备硬件之间,用来抽象硬件功能的连接层,实现操作系统的可移植性,分为OEM抽象层和设备驱动程序两部分。
(2)操作系统层(operation system layer)
总的来讲,操作系统层控制和管理系统内各种硬件和软件资源,合理有效地组织系统的工作,为用户提供一个使用方便、可扩展的工作环境,从而起到连接硬件和用户的接口作用。操作系统层为系统功能扩展提供了支撑平台,使硬件系统与应用软件相对独立,可以在一定范围内对硬件模块进行升级和添加新硬件。
(3)NET Framework层(.NET Framework layer)
Microsoft.NET Framework/CompactFramework(简称Framework%CF)包括.NETFramework/Compact Framework类库和公共语言运行时(Common Language Runtime,CLR)两部分。支持生成和运行下一代应用程序和XML Web服务的内部Windows组件。Framework/CF支持多编程语言代码的无缝集成。
(4)系统软件层(CNC system layer)
由传统CNC功能模块、数据采集和数据库管理功能模块等组成,包括设备功能调度管理、NC代码编译、故障检测、数据库的访问和信息交换等系统功能。这些模块一般都做成一个个独立的动态链接库( Dynamis Fink Library,DLL)文件以供其他程序调用,同时它们也可能调用其他模块,包括操作系统类库和数控设备驱动。
(5) Web服务层(Web services and interface layer)
Web服务是数控系统与外界交互的接口,包括本地服务和远程Web服务,如数控加工插补运算服务、数控程序编译服务、数控程序共享服务和远程诊断服务等。在Web服务模块中,Web服务函数调用CNC功能DLL,而将调用结果返回给Web服务消费者,如移动控制器(Mohile Controller,MC)。DC使用Web服务将传统CNC功能模块公布为Weh服务。
分页
3 移动网络数控系统的可扩展标记语言Web服务发布和调用
3.1 可扩展标记语言Web服务发布
如何创建数控XML Web服务是数控系统软件开发的一项重要工作。笔者使用VS. NET 2003/2005环境中的ASP.NET Web服务模板来创建这项服务,使用ASP.VET创建的XML Web服务符合简单对象访问协议(Simple Object Access Protocal,SOAP),XML和网络服务描述语言(Web Service Description Lanuage,WSDL)等行业标准,允许其他平台上的客户端与使用ASP.NET创建的XML Web服务交互操作。只要客户端可以发送符合标准的SOAP消息(根据服务说明进行格式化),该客户端即可调用使用ASP. NET创建的XMLWeb服务,而与该客户端所驻留的平台无关。
基于XML Web服务的数控组件完成后,通过在使用Web服务的应用程序(Windows Forms/Weh Forms)中添加Web引用,并创建XMI.Web服务代理类来使用这些数控Web服务。同时,数控系统中定义了许多复杂的数据结构,各个数控模块间的联系依赖于这些复杂的数据结构。在InterNET/IntraNET上,要实现这些模块间的跨平台互操作,可以将这些数据结构转换成相应XML Schema,而这些数据结构的具体应用则转换成符合相应XML Schema语法要求的XML文档,从而实现Web服务共享。
机床控制器端作为ASP服务器,将各项数控机床功能包装为Web服务进行发布,发布的统一资源定位符(Uniform Resource Locator,URL)是http://g12Q00mc:53205/xmlbus/IClaim/IC1aimService. wsdl,其中g12006me是机床控制器的名称。
3.2 移动网络数控系统的可扩展标记语言Web服务调用
3.2.1 Web服务与移动控制器移动应用的创建
笔者以PDA作为移动控制器来开发,移动控制器作为一种智能客户端,是一种充分利用Web服务所提供信息的应用程序。在数控系统中,机床控制器作为服务提供商对外提供Web服务,采用WSDL确定服务的接口定义,并在统一描述、发现和集成(Universal Description Discovery,UDDI)协议注册中心注册。移动控制器客户端程序可以直接调用W eb服务,或采用UDDI协议发现机床控制器发布的Web服务,使用基于SOAP的XML文档通过超文本传输协议(HyperText Transfer Protocol,HTTP)、文件传输协议(File Transfer Protocol,FTP)或简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)等通信协议交换数据。构筑 Web服务标准的主要成员有XML Schema,SOAP,WSDL和UDDI,它们都是W3C等国际性标准组织维护的开放协议。
在ASP甲NET架构下,Visual Studio.NET环境中创建一个“Smart Device Application”项目,它和一般的Windows Application项目不同的地方是,前者使用了NET Compact Frameworks,它是.NET中专门为移动设备程序开发而提供的一套框架,虽然是精简版,但仍然保留了,NET框架中大多数功能和特性。在所建的项目中可以和开发Winflows应用程序,进行移动控制器的界面设计。
3.2.2 移动控制器端调用服务的过程
图3为笔者设计的运行时移动控制器和机床控制器Web服务之间的关系,XML Web服务在.NET Framework完整版中使用ASP.NET进行开发,在Web服务器上的一个IIS应用程序中运行。Visual Studio.NET自动为Web服务编写WSDL文件和Web服务发现(DISCOvery of Web services,DISC0)文件。
由图3可见,移动控制器应用程序在运行时顺序发生以下情况:①移动控制器应用程序创建Web服务代理的一个实例;②移动控制器应用程序调用Web服务代理的一个方法;③移动控制器的Web服务基础结构将该方法的参数序列化到一条新SOAP消息中,并将此消息通过网络发送到数控机床控制器端;④机床控制器端的Web服务基础结构接受该SOAP消息,并创建该类的一个实例来实现Web服务,根据SOAK消息重新创建该方法的参数;⑤使用重建的参数调用,实现Web服务的类的实例和方法、该方法执行、创建所有参数和一个返回值;⑥机床控制器端的Web服务基础结构创建一条SOAP消息,在消息中保存输出参数和返回值,然后将该消息通过网络发送给数控机床移动控制器;⑦移动控制器的W eb服务基础结构接收该SOAP消息,检索出输出参数和返回值;⑧移动控制器客户程序接收输出参数的值和返回值。
在移动控制器端创建的“Smaxt Device Applicanon”中添加Web Reference,将上述URL输入查询框,.NET将发现该Web服务并将其加人项目中,然后将该服务自动包装成一个可以调用的组件,移动控制器本地方法可以安全而清晰地调用该服务中的所有方法。
分页
4 移动网络数控系统的运动控制
数控设备是底层设备的关键组成部分。目前主要存在以下三种类型的开放式数控系统:
(1)NC+PG类这是主流数控系统厂家(Fanuc,Siemens等)采用的模式口其核心部分仍然是原来的NC,但为了满足数控开放性的要求,在原来的系统上集成了PC机的功能。
(2)PC+动控制卡这是当前开放式数控系统的主要模式。数控系统大部分功能都由基于Window,的PC机实现。但由于Windows的实时性太差,故采用运动控制卡来完成伺服控制。这是欧美和我国主要采用的模式,也出现了多种运动控制卡开发商。
(3)全软件模式亦称Software_based CNC。它不用另外增加运动控制卡,全部采用软件来实现。如美国国家标准技术研究所研究的基于Windows 2000和VenturCom RTX实时操作系统的数控系统。另一类是基于嵌入式操作系统的Software based CNC。
笔者采用PC+运动控制卡的形式,WindowsCE.NET操作系统是一个可剪裁的模块化嵌入式操作系统,既具有Window,的优点,又有很好的实时性。以运动控制卡PISO-PS 300进行了数控系统XML Web服务的开发,其驱动程序提供的是DLL文件MSTEP32DLL,如其三轴直线擂补功能MSTEP3_INTP_XYZ就是该DLL中的一个输出函数。引用VS.NET项目中的P/Invoke,完成对输出函数的调用。P/Invoke函数和属性位于System. Runtime.InteropService,命名空间中。
5 移动网络数控系统实验系统
本文提出的Ws-rrNc的实验性开发是在合肥工业大学GIMS研究所柔性制造系统实验室中自行研制的一个数控齿轮加工单元(国家九五攻关项目)上进行的。该单元由两台数控车床和1台六轴数控滚齿机组成。它们的数控系统原来是在工控机DOS操作系统上自行开发的,现在改用WindowsCE.5.0,另外配置了无线适配器。移动控制器采用智能手机,和3台数控机床通过一台802.11无线路由器和CIMS所的局域网连接。图4是移动控制器和设备控制器的系统原型。
6 结束语
笔者针对制造业信息化所遇到的生产车间数字化设备信息集成难题,提出了支持网络互连,面向全球制造的网络数控模型,将Web服务技术应用到数控系统中,解决了数控系统的软件跨平台、资源受限性问题,初步建立了系统的原型。但是在.NETFramework架构下,进一步扩展数控系统的功能、研究系统的实时性、切实解决远程监控和管理等问题,还有待进一步研究。