资讯 > 正文

SOAP在工业控制与自动化领域里的应用

发布时间:2006-07-19 作者:华镕

  在施耐德的 PLC中,FactoryCast以太网模块集成了内置的SOAP服务功能,IT的专家可以利用已有的知识,不必是PLC的专家,就可以容易地设计与他们自己应用程序的接口,直接访问PLC的实时数据,如:某个生产数据,实现信息的传输。
  Web技术的普及
  Web技术已经在IT领域得到了广泛应用,是目前因特网上的最重要的应用,所谓上网就是登录Web网站,实现阅读、交流、购物等应用。我们可以通过各种上网方式:电话线(PSTN)、一线通(ISDN)、宽带网(ADSL)、无线网(WLAN)直接上网,上网已经成为我们的一种生活方式,已经影响到我们生活中的方方面面。
  一九九九年,施耐德电气把Web技术引入到工业自动化,在以太网模块上内置了Web服务器,这是在PLC平台上的一项重要创新。
  Web技术已经成功地用于工业控制和自动化领域,施耐德电气已经把Web服务器嵌入到PLC、分布式I/O、变频器、智能马达控制器、软启动器、中低压配电柜、RFID阅读器、网桥网关等设备中,通过PC、瘦客户端、PDA(个人数字助理),只要使用简单的互联网浏览器即可访问这些服务器,实现对现场设备的诊断、监视、控制和HMI(人机界面)等功能。在应用TCP/IP以太网和Web服务中,透明就绪产品和解决方案为电力和控制系统的水平集成提供了新的通讯方式。施耐德电气通过“透明就绪”的产品和服务上不断创新,已经成为“Web 自动化”的领先者。至今,已经有7万个Web服务器内置于施耐德的各种设备之中。 

SOAP 在电子商务中的应用
图1:SOAP 在电子商务中的应用

SOAP 在自动化行业的应用
图2:SOAP 在自动化行业的应用

  新的挑战和解决方案
  不同平台间的通讯和不同应用间的通讯,现在已经成为产品制造和电子商务行业中的基本要求,是整个企业和商业共同必须面对的巨大挑战。Web服务技术已经在解决这类问题表现出了强劲的能力:通过内部网或互联网,独立于硬件平台、操作系统和编程语言,完成不同应用之间的互易操作。
  Web服务现在被推崇为:是在解决异类应用实现互易操作方面非常成功的方案,它的成功在于:解决了不同硬件平台、不同操作系统和不同编程语言的数据交换问题,这一标准是基于微软、IBM和众多厂家联合开发的结果,新一代的Web服务也得到了W3C组织(WWW联盟)的最终认证,作为一种开放“标准”。这个标准现在已经可以提供所有规范、工具和每个平台所需的环境。Web服务已被市场上的众多重要厂商:如微软( .NET,SQL Server,Office,等),IBM (Java,Web Sphere),SUN,Lotus,ORACLE,SAP,等厂商所支持和采用。
  二OO五年,施耐德电气又是第一次把SOAP/XML Web服务嵌入到了PLC设备中,这为实现控制平台与管理平台的“垂直”集成跨出了重要一步,使得数据可以方便地在控制层和管理层之间的双向传送,建立了一种更为协同的体系结构,直接连接了生产系统与公司管理系统(MES、ERP、生产管理、产品跟踪,等...),这一结构同时简化了信息访问,降低了培训、开发和部署费用,并且增加了生产效率。也是实现“协同自动化”、“协同制造”、跨平台、跨应用的重要步骤。
  Web技术的发展
  我们来回顾一下Web技术的发展历程:
  第一代Web服务:使用Web服务器(HTML)→互联网(HTTP)→浏览器(Browser)结构,网页的信息由HTML语言产生,这时的Web服务器使用的是静态的Web服务;
  第二代Web服务:以上的结构形式基本没变,但这时的Web服务器使用的是动态的Web服务,其特点为:实现了客户端与服务器信息交互的功能,也就是客户机和服务器可以实现问答的功能;
  今天的Web服务发展到了第三代:服务器一端已经不是单一的Web服务器,而是多个Web服务器或称一个Web服务器群为客户端服务,而Web服务器之间的数据交换是使用SOAP(简单对象访问协议)/XML(扩展型标记语言)来完成的,同时,客户端除了使用浏览器通过HTTP与服务器交换数据外,还可以使用SOAP与服务器交换数据,相对于“静态”、“动态”Web服务,我们把新一代称为“Web通讯”服务。
  应用案例
  我们先来看看基于SOAP的Web服务在电子商务中的应用:用户通过浏览器访问旅行网站时,可以一次解决机票、租车和饭店的定购和预定问题,原因是旅行网站不是独立运行的,而是通过“Web通讯”服务同时连接了机票网站、租车网站和饭店网站,这些网站之间使用了SOAP协议完成了用户需要的数据交换,而这些工作完全是在服务器的后台进行的,用户是看不见的,而用户通过浏览器看到的是旅行网站的运行结果,好像是旅行网站完成了“所有”的工作。从这个例子中,我们可以领略到新一代Web服务的神奇。
  我们再把目光移回到工业控制与自动化的领域,现在的任务是要完成饮料的生产过程,门户网站中包含了各种应用软件,可以完成产品的跟踪、配方和生产管理等功能。当用户登录到生产管理的网站(基于PC平台)时,该服务器同时连接着混料服务器(按产品的配方混料,基于PLC平台)、罐装服务器(将混料完成的饮料进行罐装,基于PLC平台)和仓库服务器(产品的库存记录,基于PC平台),通过这种方案可以比较好地解决了整个罐装线的生产管理,再进一步的改进还可以轻易的实现:方案的参数化、成本的最优化、过程的柔性化和投资的最佳化。
  从上面这个例子可以看到:Web服务不仅可以用于电子商务,也可以用于工业控制,施耐德电气已经把这个功能内置于PLC的平台上,它实现了不同平台—PLC与PC、不同操作系统—Windows与施耐德PLC的OS、不同应用—管理与控制之间的数据通讯,这完全是因为施耐德电气的Web服务器支持了最新的、标准的Web技术,实现了控制层与管理层的垂直集成,满足了用户有关生产管理、物流跟踪、日志报表方面的需求,可以应用于生产制造、基础实施、OEM设备等领域之中。
  SOAP技术可以用于自动化
  我们再了解一下,工业控制和自动化的用户需求,原有的SCADA、MES系统固然强大,但成本昂贵、安装复杂、实施困难,对一些常用的功能是否可以运用比较简单的方法来完成?答案是使用Web服务,比如:数据跟踪—产品的流向、位置,以及产品数量的积累(增加或减少);生产的记录—日志和报表;生产的管理—生产的状态和跟随、产品的库存和货物的供应;配方的管理—产品的配方可以按照订单进行改变等,完全可以使用Web服务来替代。
  在管理层,IT人员可以非常容易地开发客户的应用程序,他们可以采用习惯的语言如:SOAP/XML 来访问控制系统的数据;在控制层,用户可以容易地找到相关的软件包,直接访问控制系统。
  使用Web服务可以降低开发软件的费用,容易实施,有很高的灵活性,如:解决方案可以和你的工艺一同演进,方案可以配置化、参数化;投资实现了最优化和持久化,因为解决方案是非封闭型的,是标准的、开放的;方案由最终用户自己决定,独立于供货厂商,不会受到供应商的约束;解决方案与现行的Web完全兼容,容易安装与实施;方案与操作系统无关,支持Windows、Linux、Windows Mobile Edition,而且也独立于语言,比如你可以使用VB,C++,C#,Java,等语言...
  施耐德电气的目标就是要通过这种技术简化网络结构,降低用户的使用难度,省去了中间件系统,节约了安装和维护费用,从而提高了生产效率。
  新的Web服务有哪些?市场如何?
  施耐德电气的Web服务是通过FactoryCast模块来实现的,它是遵从W3C的3个开放标准:
  1. WSDL(Web服务描述语言)—它是基于XML格式的标准Web服务描述语言,具有访问功能的一套标准化的、带文档说明的函数库;
  2. SOAP(简单对象访问协议)—是个标准的数据交换协议,通过HTTP通道实现该功能,与因特网的应用相兼容;
  3. XML(扩展型标记语言)—它是HTML语言的扩展,现在已经成为数据交换的通用标准。
  现在在市场中有很多软、硬件资源,支持新一代的Web服务功能,可供工业控制与自动化领域所选用,比如:
  1. 可以直接连接PLC的软件包:物流跟踪—例如XTS(UGS公司出品);报告生成—例如Dream Report;生产管理—如Productys;Web应用生成—windev等等...
  2. 与办公室应用软件:Excel、Access等非常容易建立接口,简单的使用VBA宏(取代老的DDE和OLE技术);
  3. 容易创建用户界面和应用:开发者可以使用Visual studio、Java等语言,嵌入到MES、SAP等软件之中;
  4. 用户可以使用手持型PC,进行数据监视和设备诊断。
  如何使用和部署SOAP?
  下面来探讨一下如何实施PLC端的Web服务项目,施耐德电气的FactoryCast的Web服务功能包括:
  1. Web服务的描述(WSDL接口)、访问函数库;
  2. PLC既可以做SOAP的服务器用:响应由SOAP客户端发出的请求;
  3. PLC也可以做SOAP的客户机用:向其他的SOAP服务器发送数据请求。
  FactoryCast 的WSDL的接口可以通过网页的帮助文档来查询,其中有两类函数库,一类是基于Modbus地址的函数,一类是基于变量名的函数。
  ModbusXmlDa:
  -ReadDeviceIdentification(读设备标识)
  -ReadMultipleRegister(读多个寄存器)
  -WriteMultipleRegister(写多个寄存器)
  -ReadCoils(读线圈)
  -WriteMultipleCoils(写多个线圈)
  -ReadDiscreteInputs(读离散量输入)
  SymbolicXmlDa:
  -Read(读变量数据)
  -Write(写变量数据)
  -Browse(浏览变量数据)
  嵌入到 FactoryCast 模块的Web 服务称之为 'ModbusXMLDa' (Modbus XML 数据访问) Web 服务.
  他们有两类接口:
  ■   SOAP/XML 服务器接口 (在 FactoryCast 和FactoryCast HMI 的模块中实现该功能)
  ■   SOAP/XML 客户端接口  (在 FactoryCast HMI 模块中实现该功能)
  FactoryCast作为SOAP服务器:
  构建阶段:当它接收到“你可以提供什么样的Web服务?”时,它会回答:“我可以提供WSDL接口型的Web服务”,既支持Modbus XML Data和Symbolic XML Data的访问功能。
  运行阶段:当接收到SOAP的请求“我需要下面的数据:Qty_Prod_Line1,Stop_Time_Line1”时,它会回答“好吧,我会回答你的请求,返回的数据为:10,10:39PM”。
  FactoryCast作为SOAP客户机:
  构建阶段:设定所需的参数。
  运行阶段:按触发信号发出SOAP请求:“我需要下列数据:Rec1_Prod1_Qty,Rec1_Prod2_Qty”,目的服务器会响应该请求,并返回SOAP回应和所需的数据。
  用户的一般开发步骤为:
  1.SOAP服务器:
  通过这一接口,一个 SOAP 客户端的应用 (管理层计算机的应用程序,MES,ERP,等) 可以直接与嵌入到 PLC的FactoryCast Web 服务器进行通讯。
  数据交换由 SOAP 客户端的应用程序所发起 (服务器响应客户端的通讯请求)。
  第1步: 创建客户端应用环境: 学习 Web 服务的相关相关知识,建立一个开发环境(例如,使用Visual Studio .NET),使用模块提供的WSDL 标准接口,实现FactoryCast 服务器所提供的一系列服务。
  第 2 步: 开发客户端的应用程序: 使用学习阶段所掌握的技能,开发客户端应用程序,包括使用模块可以提供Web 服务的功能。
  第 3 步: 执行客户端的应用程序: 客户端应用程序实时地与 FactoryCast Web 服务器模块使用SOAP 协议进行通讯。
  2.SOAP客户端:
  这一操作允许 FactoryCast HMI 模块执行 SOAP 客户端应用程序,与远程的SOAP 服务器应用 (比如与另一个 FactoryCast Web 服务器模块或一个计算机管理应用程序,MES,ERP,等) 进行通讯。数据交换由 FactoryCast HMI 客户端模块发起 (远程应用服务器响应 SOAP 请求,并发送返回数据给 FactoryCast HMI 模块)。
  步骤 1:“客户端”接口的配置:
  使用 FactoryCast HMI 配置软件,对用户要进行交换的PLC 变量进行声明,(以读或写的模式)。
  步骤 2:  应用的执行:
  FactoryCast HMI模块,执行SOAP/XML客户端接口应用,直接与远程的服务器应用使用 SOAP 协议进行数据交换。
文章编号:060708
  发送短信“文章编号+评语代码”至13816124995,
  告诉我们您对此文的意见。
  1- 很好,有很高的参考价值
  2- 一般,有一定的参考价值
  3- 不好,没有参考价值

标签:soap,施耐德,电子商务,自动化

相关文章