您的位置:控制工程论坛网论坛 » 自动化软件 » 如何在工业自动化中使用Web服务

huarong

huarong   |   当前状态:在线

总积分:2959  2024年可用积分:0

注册时间: 2007-02-01

最后登录时间: 2019-03-21

空间 发短消息加为好友

如何在工业自动化中使用Web服务

huarong  发表于 2007/11/27 17:30:56      974 查看 0 回复  [上一主题]  [下一主题]

手机阅读

  1    概述
  在工业自动化的通讯系统中,包含了种类繁多的通讯协议,有多种封闭私有的协议,也有基于开放的现场总线和工业以太网协议,但整体的趋势是朝向开放标准的协议迁移,因为这样做有很多的好处,其中之一就是容易部署、安装、调试和维护,并增加了不同系统和设备间的互易操作。
  在工业自动化行业不断变化的同时,一个明显的趋势是工业网络也快速地向开放标准的因特网世界迁移,这一过程的焦点就是使得不同类型的应用能够在因特网/内联网上共享数据。工业自动化的解决方案与新一代因特网的SOAP Web服务联系在一起,施耐德电气已经把这一新技术集成到PLC平台上,使得数据可以从实时的生产过程直接与商业/信息系统的应用进行交换。
  2    工业自动化的通讯
  过去的几十年中,各大厂商都在开发自己的通讯协议和网络竞争工业自动化这一市场,希望自己的网络能够赢得优势。如Modbus,FF,Profibus,Interbus,Devicenet,Asi等,可以列出一大串名单的私有协议,各自也都有自己的特点,如内置诊断功能,总线为设备供电,或者能够具有特殊的性能等。
  商业软件系统和SCADA(监控与数采)系统必须支持众多的私有通讯协议,才能从工厂和车间的设备中获取生产的数据,这些系统(商务系统)通常需要多个接口和网络,这使得系统的安装和维护变得非常复杂并且价格昂贵。
  因特网的蓬勃发展刺激了以太网的不断增长,跨越了商业和工业的应用,目前TCP/IP以太网已经成为了公共的网络平台。因此,很多现场总线组织已经定义了基于TCP/IP以太网的协议标准,如Modbus/TCP,Profinet,Ethernet/IP等,虽然这些不同的协议可以在同一个物理的以太网上运行,但设备之间仍然不能通讯(因为设备仍然使用不同的协议),软件提供商(商务软件和SCADA软件)仍然要对不同的以太网协议提供支持。
  2.1 OPC:一个工业自动化通讯的标准
  1996年,OPC基金会建立了第一个用于工业自动化过程控制的通讯标准,OPC-DA(数据访问),这一标准使得兼容OPC-DA的软件(商业软件和SCADA软件),可以通过标准的协议接口来访问PLC和其他现场设备的数据。工业自动化的供应商迅速地提供了OPC服务器软件,捆绑他们下游的现场协议,连接到PLC和现场设备,而SCADA的供应商只要提供OPC的客户端接口即可。这种方式很快得到了广泛应用,并且取得了成功——它是一种开放的技术,不倚赖任何一个厂商,提供了一种简单一致的方法访问工厂的数据,而且与下游使用的现场设备无关。
  第一个OPC标准(OPC-DA)是基于微软早期的COM(组件对象模型)和DCOM(分布式组件对象模型)技术而产生的,而这一技术的基础就是远程过程调用(RPC),这种方法允许任意一个应用发起一个对远程应用的调用或请求(是一种客户端-服务器或者请求-应答关系)。
  第一个OPC-DA(基于COM/DCOM)标准的局限性为:
  ·紧密的捆绑和倚赖微软的技术;
  ·不能支持其他应用通过因特网(通过安全防火墙)支持远程访问;
  ·通讯信息仅限于RPC方法。
  其他供应商也提供了类似于微软COM/DCOM 的RPC服务,比如CORBA(Unix)和RMI(Java),但他们也缺少跨平台的支持,而OPC基金会也没有提出解决这一问题的方法。我们后面就会讨论:怎样采用业界公认RPC方法,基于广泛接受的因特网标准(称为Web服务)。
  OPC基金会也采用了一些标准,用于不同类型数据的交换,如历史数据,批处理数据,复杂数据结构和用于OPC服务器之间的数据交换(OPC-DX)等,基金会的最新工作进展为OPC-UA(统一体系结构),使用Web服务把所有OPC的标准聚集在一起。
  3   远程访问的需求
  二十世纪九十年代末期,因特网的迅猛发展驱动了远程设备、移动设备对所有信息资源访问的需求。在工业自动化的领域里,这意味着需要把实时的生产数据及时地送到上游的商务软件或数据采集软件中去,仅把当前的生产数据存放在本地的HMI中是不够的,同样的数据现在也要实时地登录到企业的数据库和商务软件中。另外,通过因特网和内联网连接,实现远程数据访问,通过无线网使用手机、手持式PC和PDA、使用Web访问的需求也不断增加。
  新一代自动化设备采用了具有Web服务的技术,在现有的网络结构中,提供满足上面需求的划时代解决方案。1999年,施耐德电气第一个把Web技术应用到工业自动化领域,开发了第一台基于PLC的Web服务器,因此通过标准的Web浏览器界面,就可以实现数据的远程(因特网/内联网)的可视化访问。使用大众都熟悉的Web浏览器具有很多的益处:客户端不需要任何的私有软件(许可证的费用),访问过程非常简单,和上因特网的过程是一样的,远程客户端的数量是没有限制的等等。
  3.1 Web技术和Web服务
  Web 技术是对通过因特网的数据和内容表述的精致程度而不断演变发展的。早期的Web技术提供的是平面数据和内容的静态表述,仅用于人与机器的对话,然后的技术提供了动态的活动页面和与用户的互动功能,这里的数据和内容能够根据用户的输入和选择信息主动地更新。到了九十年代末,产生了对不同应用软件之间通过Web连接实现数据交换的需求,这是一个从人与机器的数据表述到机器与机器数据交换的重要转移。2001年,主要的因特网和软件供应商产生了建立开放标准的热情,于是,一种新的数据交换机制—“Web服务”标准浮出水面。
  Web服务是一种软件应用,它能够通过因特网使用标准的Web协议访问其他不同类型的软件数据。因此,Web服务允许不同应用软件之间的数据交换。现在来看看在因特网和Web服务中扮演重要角色的里程碑和相关技术:
  (1) 标准的  Web 技术
  TCP/IP 传输控制协议 / 因特网协议
  HTTP   超文本传输协议
  HTML 超文本标记语言
  JAVA  一种开放,安全,轻便的编程语言
  ASP / JSP 主动服务器页面 / Java 服务器页面
  (2) 新一代 Web Services 技术基于
  XML  扩展型标记语言
  SOAP  简单对象访问协议
  WSDL  Web 服务描述语言
  UDDI   通用描述, 发现和综合
  3.2 标准Web 技术
  3.2.1 TCP/IP—传输控制协议/因特网协议
  因特网中的骨干,TCP/IP 是一种传输机制,通过因特网来传输数据包 (如Web 网页,电子邮件,文件等)。它关注于信息的可靠传输, 并且确定数据的传输路由。
  3.2.2 HTML—超文本标记语言
  HTML 是一种编程语言,它能够在因特网上创建可视型画面,它的目的在于描述Web网页中的显示文本的位置和格式、颜色、尺寸、表格数据、图片位置和与其他Web网页或网站的超级链接。HTML是关于机器对人眼可见屏幕内容的描述语言。
  (1) HTML 举例
  在Web浏览器中,要显示一个文本的表格:


   
  HTML的编码可通过点击浏览器窗口的View-Source命令看到:
  


 


    

    

 
 

    

    

 
  
NameSurname
JohnSmith

  所有的标记 在HTML 语言中都有严格的定义,它们不能随意改变或者加入、删除。HTML缺少真正的编程能力,但其他技术能够容易地对这一缺陷给予弥补,现有的程序诸如Java小程序,ActiveX控件或者Flash对象等,它们可以完成很强的图形模拟和动态网页显示功能,可以容易地嵌入到HTML程序中。
  3.2.3  JAVA
  中文翻译成“爪哇”,这原是太平洋的一个小岛的名称。这里所说的Java是一种开放的、面向对象的编程语言,是由Sun微系统公司于90年代最早开发出来的,它的目的是用于便携的、伸缩的和安全的应用程序开发。Java 对于因特网上的内容显示有着重大的影响。一开始,Java的源码就是开放的,可以从网上免费下载,这一举动无疑引起了业界的震动,后来Java又建立了一种开放的主动参与机制,增进了用户和开发者的互动,这不仅促进了Java的普及,而且加快了Java的市场增长。
  Java 小程序(Applets)是为网页专门设计的特殊程序,它可以嵌入在标准的HTML网页之中,它为原来的基于平面文本的HTML网页带来了激情、交互和动画。Java小程序运行于Java虚拟机(JVM)上,所以PC的浏览器必须安装虚拟机程序,才可以正常显示动态画面。Java虚拟机提供了一种安全机制,可以防止诸如病毒或者对操作系统的读/写操作,后一特点是独一无二的,这确保了Java一开始就与众不同,并且取得了广泛接受和巨大成功。
  3.2.4  ASP / JSP-活动服务器网页/Java服务器网页
  微软的活动服务器页 (ASP) 和 Java 服务器页 (JSP) 是类似的服务器端技术,它提供了一种创建活动网页的方法,可以根据用户的选择和输入内容,生成和显示动态网页,如一种报价申请表格的网页需要客户回答一系列问题,根据第一页的选择和输入的数据,会出现不同的子页面,ASP (现在称 ASP.NET) 是微软的自有技术, 而JSP 是开放的 Java 对等技术。
  3.3  Web服务技术
  3.3.1 XML—扩展型标记语言
  对数据描述的需求(和图形的Web网页相对)驱使了XML语言的发展,XML语言已经在1998年成为万维网联盟(W3C)的一个标准,它用于描述数据和数据结构。尽管HTML标记符号有了很好的定义并固定下来,XML为用户提供了更好的灵活性,根据应用来创建和定义各种标签。如一个客户化的地图应用需要以下的数据结构:
  
 
 
 
  
  
  
 
 
 
 
  这些用户定义的标签很容易按XML计划文件进行定义,其他应用需要访问这些数据时,只要遵从计划书中定义的结构就可以了。所以说HTML是解决从机器给人的数据显示问题,而XML是解决机器到机器的数据交换问题。XML是扩展的意思,因为它能够适应今后的任何特殊用途。延展性是衡量一个系统是否在将来容易扩展或伸展的指标,一个可扩展的系统是一个具有柔性机制、扩展实施容易、并且对整个系统影响到最小的系统。
  现在有几百种XML的应用在开发、测试和广泛使用,见表1。
                                                表1


 


  3.3.2  SOAP—简单对象访问协议
  SOAP是一种XML应用,开发它有着特殊的目的:在因特网网上实现异构系统之间的基于XML信息的交换(这是一种开放的、增强型的COM/DCOM版本)。
  SOAP克服了早期COM/DCOM技术的很多不足:
  · SOAP不是依赖微软的COM/DCOM;
  · SOAP 对防火墙很友好;
  · SOAP 不限制只使用RPC(请求-应答)型的信息交换,它内在的扩展能力允许实现不同类型的信息交换(MEP:信息交换类型),如广播、讨论和通知等;
  · SOAP不捆绑任何特殊的传输协议,虽然大多数场合与HTTP一起使用,它也可以和FTP、SMTP、WAP一起使用,因此它是一种开放的、宽范的、可用于多种应用的协议。
  正是对这种开放方式的应用需求,SOAP几乎在一夜之间得到了业界的普遍认可,而且得到了行业的巨头如微软、IBM、Sun和SAP的支持。在2000年,SOAP已经成为W3C(W3C:万维网联盟)采纳的新标准。可以这样定义:SOAP是一种基于XML的协议,它允许运行于不同操作系统上的不同应用程序、使用任何语言、运行任何平台、通过因特网实现数据交换,而且SOAP已经被软件的领导厂商所支持。大多数人都认为SOAP是今后因特网的传输机制,并且转变了应用于Web进行商业数据交换方法的观念。软件厂商的新产品包括了对SOAP的支持,如微软的Visual Studio, .NET, Office, SQL Server,IBM的Web Sphere,Sun的Java,以及Eclipse, Lotus, Oracle, SAP的产品等。
  3.3.3  OPC XML-DA
  OPC基金会已经发布了基于Web服务和SOAP XML的新接口规范—OPC XML-DA,其使用SOAP XML做为传输机制。OPC XML-DA克服了前面提到的早期COM/DCOM技术的局限,所以现在已经开始朝着今后的OPC-UA(统一架构)标准进行转移。
  3.3.4  WSDL - Web 服务描述语言
  WSDL文档是一种用XML编写的文件,它描述了一种Web服务。告诉你这种服务的工作方式,以及怎样使用这种服务。它包括了详细的服务地点,运行于什么样的网络(多数运行在TCP/IP的以太网上),数据格式,服务支持的方法。WSDL文件可以被视作一个规则书,或者Web服务器与远程客户端的契约书,客户端必须使用WSDL文件定义的规则,才能利用好所提供的服务。
  4   从现场设备到业务报告
  商业最优化的结果是需要获得来自现场设备的实时生产数据,这样才能构成一个响应快速的闭环回路,比较生产的计划是否按期进行,质量是否得到保证。
  由于通信系统和数据交换方式具有多种选择,现场数据送到上游系统的方法也很多,下面我们就对这些方法进行比较。我们假设过程数据已经存在一个可编程控制器(PLC)中,最终要把这些数据放入微软的Excel表格之中,用于生产报告(注:微软的Excel能够和任何业务报告交换数据,这里选择它是因为大家都非常熟悉)。
  在下面的标题下,我们介绍了不同的方法,也定义了它们相关技术的新颖性,当然没有一种方法是“最好的”;一个工业自动化解决方案总是根据应用需要,由下面的方法组合而成。
  (1) 传统技术
  · SCADA:工业自动化最常用的过程数据采集方法,它把数据存放到上游的数据库中,同时使用报告工具完成报告。
  · OPC: 这里不需要完整的SCADA软件包,PLC的数据可以通过OPC的接口直接送往数据库和报告工具。
  · 采用上述技术数据传送3步曲:
  PLC ?SCADA ?数据库 ?报告
  PLC ?OPC ?数据库 ?报告
  (2) 新技术
  新一代面板安装型HMI设备可以提供高性价比的数据采集和日志登录方法,只要应用需要,就可以和传统的SCADA互补使用。这样过程数据存储于本地的HMI之中,什么时候需要,就可以使用以太网FTP协议,把数据送到数据库或报告工具之中,供今后使用。
  · 采用上述技术数据传送3步曲:
  PLC  HMI  FTP  报告
  (3) 划时代技术
  一个 FactoryCast HMI 主动型 Web 服务器模块, 插在 PLC 的基架上,能够把数据直接传送到远程的数据库中,省去了SCADA / OPC 等中间设备。数据传送变2步:
  PLC (Web 服务器) 数据库  报告
  (4) 跨时代技术
  FactoryCast HMI 主动型 Web 服务器还支持 SOAP / XML Web 服务,所以一个 SOAP 客户端应用 (我们的 Excel 表格) 能够直接访问 PLC 的数据。 数据传送1 步完成:
  PLC (Web 服务器) 通过 SOAP/XML   报告
  5   SOAP Web 服务带来的益处
  ·开放
  SOAP是一种开源技术,公共的开发环境,不依赖于任何一家软件厂商,甚至与操作系统和硬件平台无关,现今已经在所有主要的硬件和软件平台上得到了使用。
  ·业界支持
  SOAP已经得到所有的软件厂商全力支持,业界已经形成共识:SOAP将是未来因特网的传输机制。今后各厂商发布的软件也都会支持SOAP协议。
  ·访问容易
  现有主要的数据库都支持XML语言,这意味着PLC可以直接同企业的数据库进行对话,而不需中间件。同理,企业上游的IT部门也可以直接访问工厂层面的信息,如监视生产或维护数据,然后打包实时数据进入管理报告。
  ·灵活性
  一个组织贯彻Web服务,希望它的供应商也能实现Web服务(WSDL),这样就可以实现统一管理。这与这个供应商使用的应用软件、硬件和操作系统平台无关,只要它们使用同样的Web服务机制就可以实现对话,以相同的XML格式数据进行通信。
  ·扩展性
  因为SOAP内在的扩展能力,所以将来的系统扩展可以无需重新设计即可实现。
  ·可访问性
  除了非常熟悉的应用,安全防火墙通常屏蔽任何请求命令,而SOAP使用HTTP/XML通道,通常允许通过防火墙。因此,应用程序使用SOAP和另一个应用进行通信是容易完成的,而不管这个应用在哪里。因为Web服务是建于Web标准HTTP、XML之上,所以它可以使用IT领域里的现成的安全设施,如IP屏蔽和防火墙等。
  ·简单
  SOAP是一种基于文本格式的语言,可读性强,也容易写,所以开发和调试非常容易。
  ·熟悉
  一个SOAP服务器就是一个Web服务器,现在几乎所有的业务都围绕着Web服务来展开,所以部署Web服务器或者开发Web应用人们已经非常熟悉了,而这些经验也会推动SOAP客户端应用的发展。
  6   把Web服务应用于工业自动化
  在1999年,施耐德电气第一个把Web技术应用于工业自动化领域,推出第一台嵌入式Web的PLC,通过不断地创新,施耐德电气为用户提供“透明就绪”的系列产品和服务,成为“Web自动化”的领先者。在2005年,施耐德电气再次第一个推出支持SOAP/XML的Web服务器,在PLC设备上实现了与上游管理层的直接通信。
  Web服务的贯彻,不光为施耐德电气设备提供了开放的应用开发环境,而且为最终客户提供了实现系统集成更简单的方法。和商业伙伴紧密合作,施耐德电气现在可以提供基于Web技术的集成解决方案,使得商用软件可以直接访问PLC,简化了系统结构,省去了中间设备。这样的应用软件有:生产过程的跟踪(UGS公司),报告生成(Citect公司,Arc信息公司),处方和生产管理(Productys公司)等。
  6.1  使用FactoryCast HMI主动Web 服务器
  划时代和跨时代Web技术是通过施耐德电气的FactoryCast HMI 主动服务器、一个支持SOAP/XML 和 WSDL Web 服务的PLC模块来完成的。这个模块还可以提供以下的诸多的服务功能:
  (1)嵌入式的PLC Web诊断网页,可以实现远程的诊断和控制;
  (2)客户化的网页空间,可以帮助用户创建自己的、基于标准HTML的HMI应用;
  (3)内置的基于Java小应用程序的图形库,可以帮助用户建立动态的对话页面;
  (4)主动的服务器页面:采用推送技术,可以由PLC内部的实时值来刷新HMI中的数据和画面,这样可以节省带宽,这在使用电话线调制解调器时尤为必要;
  (5)支持具有SOAP/XML功能的PDA,显示动态的变量表;
  (6)PLC数据直接登录到远程的数据库中(例如:微软的SQL,Oracle,mySQL等);
  (7)以XML格式表示处方数据;
  (8)发送电子邮件到SMTP服务器中(根据PLC的报警);
  (9)Web服务(SOAP XML服务器或客户端)
  ·Modbus  XML 数据访问
  ·变量名 XMA 数据访问
  (10)做为SOAP服务器:为其他客户端应用提供PLC的实时数据;
  (11)做为SOAP客户端:PLC可以从其他的远程SOAP服务器中请求数据。
  7  结论
  Web服务已经从因特网的Web技术转变成支持不同平台、不同应用之间的数据交换的开放标准。业界的主要厂商普遍认为现在数据交换技术已经过时,而支持SOAP的Web技术代表了未来。所以在今后的产品发布时,都会支持有SOAP的Web服务。施耐德电气把这一技术引入PLC平台,这也是第一次把这一新技术应用到工业自动化系统,使得商业软件可以直接访问PLC的数据。对于工业自动化用户,更早的采用Web服务技术意味着将从以下方面得到益处:
  ·简化体系结构:减少了不必要的中间设备,PLC 可以和信息系统直接相连;
  ·灵活性:越来越多的厂商支持这一开放的技术,所以跨平台、跨应用的数据交换有了更容易的解决方案;
  ·异构系统之间的互操作性大大地增强了;
  ·减少生命周期中的成本:通过简化贯彻、部署、诊断和支持各个步骤来做到;
  ·紧跟未来Web技术的发展,把握企业发展的新机遇。

1楼 0 0 回复