首页> 中国专利> 工业自动化环境中的网络通信

工业自动化环境中的网络通信

摘要

一种工业自动化设备包括接收对驻留在工业自动化设备内的数据的请求的接收组件。通信地耦合到该接收组件的编码组件接收与该请求相关联的二进制位流并将该位流的有效载荷编码成XML数据,该编码组件还经由工业自动化协议传送经编码的有效载荷。此外,该工业自动化设备可包括压缩XML数据的压缩组件。

著录项

  • 公开/公告号CN101375265A

    专利类型发明专利

  • 公开/公告日2009-02-25

    原文格式PDF

  • 申请/专利号CN200680042137.7

  • 发明设计人 D·M·卡拉甘;S·A·图特科维斯;

    申请日2006-09-07

  • 分类号G06F15/16(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人陈炜

  • 地址 美国俄亥俄州

  • 入库时间 2023-12-17 21:27:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-12

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F15/16 变更前: 变更后: 申请日:20060907

    专利权人的姓名或者名称、地址的变更

  • 2012-04-18

    授权

    授权

  • 2009-04-22

    实质审查的生效

    实质审查的生效

  • 2009-02-25

    公开

    公开

说明书

技术领域

本发明一般涉及工业控制系统,尤其涉及工业自动化环境中的通信。

背景

由于计算技术的进步,在与仅几年前的基本类似的商务相比,当今的商务 能够更有效地运行。例如,网络使得公司的职员能够通过邮件即时地通信、快 速地将数据文件转移给不同职员、处理数据文件、共享与项目有关的数据以减 少工作成果中的重复等。此外,技术的进步使得工厂应用变得部分或完全自动 化。例如,曾经需要工作者亲身接近重型机械和其它各种危险环境的操作如今 可在距其安全的距离处完成。

此外,与人类活动相关联的缺陷已通过采用高精度的机器最小化。许多这 些工厂设备向可由工厂楼层上的系统/过程/项目管理者访问的数据库提供与制 造有关的数据。例如,传感器和相关联的软件可检测特定机器在给定规定时间 量内已完成操作的大量实例。此外,来自传感器的数据可被递送到与系统报警 有关的处理单元。因此,工厂自动化系统可检查所采集的数据并自动和/或半自 动地调度设备的维护、设备的替换、设备致动器、实时响应数据、以及与使过 程自动化有关的其它各种工序。

为了实现合适的工业自动化,许多企业利用针对工业自动化设计的多个不 同网络来在一工业装置内的组件之间传送数据。更具体地,常规用于办公室或 家庭环境中的个人计算机的网络协议对于工业装置通常是不足的,因为在工业 装置中通常要求数据的实时接收和处理。因此,用于工业环境的各种协议已被 设计成在工业环境中使用,并且还在其上设计了应用层协议以允许数据跨不同 工业协议来传送。

虽然已关于生成数据并经由不同工业协议来传送数据作出了各种技术进 步,但是解释和利用这种数据仍然是艰巨而繁重的任务。例如,已引入标准来 帮助对数据分类。更具体地,第一比特集合可表示类、第二比特集合可表示实 例、第三比特集合可表示特定属性、而第四比特集合可表示与数据相关联的服 务。然而,在不具备宽泛的标准知识的情况下,无法解释这些数据。因而,未 即时访问标准的个人不能查阅与设备相关联的数据以及确定此数据的意义,更 无法将这些数据用于期望应用。此外,与工业数据相关联的许多标准包括任选 属性——因此,如果特定属性并非是第一开发者所期望的,则这个开发者可在 与该属性相关联的字节流内的点上设置零。然而,第二开发者可简单地跳过字 节流内的此部分。因此,可以理解,在没有诸如感兴趣的每个应用对象版本的 源代码或设计说明书的文件编制的情况下,几乎无法确定与工业控制设备相关 联的数据的意义。

概述

以下给出了所要求权利的主题的简要概述以提供对某些方面的基本理解。 该概述并非本发明的详尽综述。其并非旨在标识本发明的关键性/决定性要素或 划出所要求权利的主题的范围。其唯一目的是以简要形式给出某些概念作为对 稍后给出的更详细描述的前序。

本文所述的所要求权利的主题涉及驻留在工业自动化环境内的数据的编 码和通信。诸如可编程逻辑控制器的工业自动化设备可包括与预定义分类相关 联的数据(软件对象等)。然而,在不具备对分类方案的基本了解的情况下通 常难以发现与此数据有关的有意义信息。因此,按照惯例,数据的二进制流被 提供给用户,而该用户不具有用于确定此数据的意义的机制。为了补偿这些缺 陷,公共属性可被自动地附加到对数据的请求中,使得描述分类系统的文本流 返回。二进制位流的至少一部分和/或文本的至少一部分可被编码为XML有效 载荷,并且之后通过诸如DeviceNet、ControlNet、以太网/IP、Hart、Foundation Fieldbus(基金会现场总线)、ModBus、控制和信息协议等的工业自动化协 议来传送。XML编码有效载荷或派生物可在随后经由图形用户界面或人机界 面来提供给用户。使用常规分类方案的工业自动化设备可由此无需强制实现整 个新的分类方案或设计整个新的协议的情况下包括可发现数据。此外,为了降 低带宽需求,XML编码有效载荷的至少一部分可在通过工业自动化协议传送 之前被压缩或者包括二进制附件。

本文也描述了一种工业自动化通信网络,其中XML数据可通过控制和信 息协议(CIP)通信介质来传送。更具体地,工业自动化设备可被耦合到CIP 通信介质,该介质可以是敷设缆线、无线机制等。该CIP通信介质可随后用于 传送与工业自动化设备有关的XML数据。例如,工业自动化设备可经由XML 数据来编程。此外,该XML数据可作为带有MIME附件或二进制附件的SOAP 消息来递送,由此允许未根据ASCI II格式化的数据经由CIP来传送。此外, 工业自动化设备可设有可由远程客户机设备发现的模式,由此有助于测试和验 证来自工业自动化设备中的数据。此外,附加到经由此协议传送和/或存在于工 业自动化设备和/或远程设备内的数据的CIP接口可与web服务一起打包。

另外,若干安全机制可与本文所述的所要求权利的主题的各个方面一起使 用。例如,可向数据请求的发起者提示安全信息,诸如用户名、口令、个人标 识码等。类似地,可针对网络地址、唯一标识符或允许验证用户身份的其它合 适数据提示请求数据的实体或设备。不同的许可级别可被指派给不同用户/实 体,而对内部组件的访问可被映射到不同的许可组,由此为工业自动化环境内 的数据提供附加的安全级别。

为了实现前述及相关目标,本文结合以下描述和附图描述了本发明的 某些示例性方面。然而,这些方面仅表示其中可采用本发明的原理的各种 方式中的少数几个,并且本发明旨在包括所有这些方面及其等效方案。根 据以下结合附图考虑的详细描述,本发明的其它优点和新颖性特征可变得 显而易见。

附图简述

图1示出了可将二进制数据和/或文本数据编码为XML编码有效载荷的工 业自动化设备。

图2示出了可通过工业自动化协议传送经压缩的XML的工业自动化设 备。

图3示出了便于经由工业自动化协议在工业自动化设备之间传送XML编 码数据的系统。

图4示出了可经由工业自动化协议来生成和传送定制用户界面的工业自 动化设备。

图5示出了便于通过CIP传送XML数据的工业自动化网络。

图6示出了便于由客户机设备发现、测试和确认工业自动化设备内的数据 的工业自动化网络。

图7示出可在不同设备之间传输XML数据的CIP通信介质。

图8示出了一代表性流程图,该流程图示出了用于通过工业自动化协议传 送经编码的XML数据的方法。

图9示出了一代表性流程图,该流程图示出了通过工业自动化协议递送带 MIME附件的SOAP消息的方法。

图10示出了一代表性流程图,该流程图示出了用于通过工业自动化协议 传送XML编码有效载荷的方法。

图11示出了用于经由CIP传送XML数据的代表性流程图。

图12示出了用于打包CIP接口和web服务的代表性流程图。

图13示出了通过CIP在不同节点之间递送的通信。

图14是可结合所要求权利的主题使用的示例性计算环境。

图15是可结合所要求权利的主题使用的示例性计算配置。

详细描述

现在参照附图描述所要求权利的主题,其中类似附图标记通篇用于指 类似要素。在以下描述中,出于说明的目的,阐述许多特定细节以提供对 所要求权利的主题的透彻理解。然而,可在不用这些特定细节的情况下实 践所要求权利的主题是显而易见的。在其它实例中,以框图形式示出了众 所周知的结构和设备以帮助描述本发明。

如本申请中所用的,术语“组件”和“系统”旨在指计算机相关实体,或 者是硬件、软件和硬件的组合、软件或者是执行中的软件。例如,组件可以是 但不限于是:在处理器上运行的进程、处理器、对象、实例、可执行代码、执 行线程、程序和/或计算机。作为示例,在计算机上运行的应用和计算机都可以 是组件。一个或多个组件可驻留在进程和/或执行线程内,并且组件可位于一个 计算机上和/或分布在两个或多个计算机之间。

此外,所要求权利的主题可使用标准编程和/或工程技术实现为方法、 装置或制品以产生用于控制计算机/处理设备实现所公开的主题的软件、固 件、硬件或其任何组合。本文所用的术语“制品”旨在涵盖可从任何计算 机可读设备、载波或介质访问的计算机程序。例如,计算机可读介质可包 括但不限于磁存储设备(例如,硬盘、软盘、磁条……)、光盘(例如, 压缩盘(CD)、数字多功能盘(DVD)……)、智能卡和闪存设备(例如, 卡、棒、钥匙驱动器……)。另外,应当理解,载波可用于承载诸如那些 在传送和接收电子邮件或在接入诸如因特网或局域网(LAN)的网络中使 用的计算机可读电子数据。当然,本领域技术人员应当认识到,可对此配 置作出许多更改而不会背离所要求权利的主题的范围或精神。此外,本文 所用措词“示例性”意味着示例、实例或例示。本文描述为“示例性”的 任何方面或设计无需被解释为优于其它方面或设计。

现在参看附图,图1示出了可将二进制位流的至少一部分编码成XML 有效载荷的工业自动化设备100。更具体地,工业自动化设备100包括接收 数据请求的接收组件102。例如,数据请求可由操作者或其它个人发起或者 来自诸如工业自动化设备、远程计算设备等的不同设备。此外,数据请求 可自动地生成和/或手动地生成。例如,如果操作者期望发现工业自动化设 备的内容(例如,哪些软件对象被支持和/或存在于工业自动化设备100内、 哪个版本的软件对象存在于该设备内、……),则此操作者可手动地输入 诸如“GET(获取)”的命令(或其它合适的命令)。在另一示例中,生 成图形用户界面和/或人机界面(HMI)的计算机可自动地查询工业自动化 设备100并检索与这些界面相关联的数据。

一旦接收组件102接收到数据请求,工业自动化设备100内的数据104 就可被访问并作为二进制位流提交给编码组件106,该编码组件可将该二进 制位流的至少一部分编码为XML有效负载108。更具体地,工业自动化设 备100可包括与特定分类系统相关联的对象,使得数据可被建模。例如, 对象可与类级别属性、实例级别属性等有关。然而,由于分类系统中的许 多特征可以是任选的,因此此建模数据常常是不可发现的——因而,不具 备对分类系统的相当了解的个人将不能发现工业自动化设备100的内容。 相反,个人将接收到可被容易地误解的一串二进制信息。因此,编码组件 106可对返回作为所请求对象的模式的文本流的公共属性(例如,类属性) 作出响应。该编码组件106可随后将此文本流编码成XML有效负载108 的至少一部分,并通过工业自动化协议将该XML有效负载108递送到请求 实体。此外,XML有效载荷可包括与所提供数据有关的人类可读元信息, 比如资源的别名或描述、准确度或精确度、采样速率、设备正常运行时间、 调度维护、性能利用、可用资源等。

因此,不具备对分类结构的基本了解的实体可发现工业自动化设备 100。例如,实体可从工业自动化设备100请求数据,而编码组件106可接 收二进制位流以及与此二进制位流相关联的文本流。该编码组件106可随 后将二进制位流的一部分(以及文本流的至少一部分)编码成XML有效载 荷108。此XML编码有效载荷108可随后通过工业自动化协议递送给请求 实体和/或通往请求实体的中介。

工业自动化设备100可以是具有充足存储器和处理能力以将二进制位 流和/或相关联文本编码成XML有效载荷的任何合适设备。在一个具体示 例中,工业自动化设备100可以是可编程逻辑控制器,该控制器是用于使 真实世界的过程自动化——诸如工厂装配线上机械的控制——的小型计算 设备。在较旧的自动化系统使用成百上千个继电器和凸轮定时器的场合中, 可编程单个PLC来作为替代。可编程逻辑控制器可包括模块化或一体化的 输入/输出电路,该电路可根据存储在存储器中的用户创建程序来监视现场 连接传感器的输入的状态并控制所附连的设备(电机起动器、螺线管、导 向灯/显示器、速度驱动器、阀门、……)。然而,应当理解,工业自动化 设备100可以是与工业过程相关联的任何合适的设备,该设备包括用以存 储和实现软件对象的充足的处理和存储器能力。在又一示例中,工业自动 化设备100可以是交换机、路由器、网关、网桥、代理或其它合适的网络 硬件设备。此外,这些网络设备可包括常规地与可编程逻辑控制器相关联 的功能。

关于工业自动化协议,此协议可以是设计用于工业装置中的任何合适 的协议。例如,DeviceNet(设备网)、ControlNet(控制网)、以太网/IP、 Modbus、Profibus和Foundation Fieldbus是示例性工业自动化协议。这些协 议的一个或多个可至少部分地基于控制和信息协议(CIP),该协议可以是 上述工业自动化协议的一个或多个的应用层协议。然而,应当理解,可构 想和预期落在所附权利要求的范围下的这些协议的任一个或协议的组合。

现在参看图2,它示出可将二进制位流的至少一部分编码成XML有效 载荷的工业自动化设备200。工业自动化设备200包括接收对该工业自动化 设备内的数据204的请求的接收组件202。一旦接收组件202接收到数据请 求,就可由工业自动化设备200生成二进制位流,并且此位流可由编码组 件206接收。此外,接收组件可从与数据请求所引用的属性相关联的数据 204内获得文本流。例如,文本流可描述与数据请求所引用的一个或多个软 件对象相关联的分类和/或模式。因此,工业自动化设备200的内容可被不 熟悉与该自动化设备200相关联的分类模式的个人发现。

编码组件可接收二进制位流和/或文本串,并将此数据编码成XML有 效载荷208。而且,也应当理解,设备可提供包括经由URL、URI等可用 的可扩展样式表(XSLT)或级联样式表(CSS)的多个XML文档。因此, XML编码有效载荷内的数据可经由常规浏览器来查看和/或更改。虽然未示 出,但是还应当理解,可结合确定前述二进制位流和文本串的结构来使用 任何合适的解析组件/算法。此外,解析组件(未示出)可存在于接收XML 编码有效载荷208的客户机设备处,由此使得能够由数据204的请求者进 行查看。此外,虽然未被显式显示,但是工业自动化设备200可通过工业 自动化协议接收XML形式的数据。例如,用户可以XML生成程序并经由 工业自动化协议将此程序递送到工业自动化设备200。工业自动化设备200 内的处理器(未示出)和与其相关联的存储器可随后被更新。例如,解析 组件可被包括在工业自动化设备200内,其中解析组件解析接收到的XML 数据并将该XML数据传递到处理器/存储器。类似地,可使用代理来解析 该XML数据并向工业自动化设备提供该工业自动化设备200可实现的格式 的数据。

在经由工业自动化协议传送到不同设备和/或用户之前,XML数据可 有待压缩组件210处理,该组件压缩该XML数据以便于减少可用带宽的使 用。该压缩组件210可采用任何合适的压缩方案——例如,取决于应用和/ 或用户,压缩方案可以是无损耗或有损耗的。此外,通过工业自动化协议 递送的数据可进行加密以便于数据的安全保护。

工业自动化设备200还可包括用于确保未授权用户/实体和/或不具备 必需许可的用户/实体不能访问或改变工业自动化设备200内的数据204的 安全组件。例如,安全组件212可包括或访问用户名、口令、个人标识码 (PIN)或可标识用户、设备、对象等的其它数据。此外,安全组件212可 与智能卡通过接口相连,或接收诸如语音样本、指纹、视网膜扫描等的生 物标记,并确定用户的身份以及与此用户相关联的访问权限。虽然示为在 工业自动化设备200的内部,但是应当理解,该安全组件212可存在于通 信地耦合到工业自动化设备200的任何合适的设备中。例如,该安全组件 212可存在于向多个工业自动化设备提供安全服务的服务器(未示出)中。

现在参看图3,它示出了便于XML数据在工业自动化环境中的不同工 业自动化设备之间传送的系统300。该系统300包括包含配置成接收数据请 求的接收组件304的工业自动化设备302。一旦该接收组件304接收到数据 请求,该工业自动化设备302就可访问其内的数据存储库306,并使二进制 位流被进一步递送到编码组件308。一旦接收到该二进制位流,该编码组件 308还可访问描述了数据存储库306内数据的分类方案的文本流。该编码组 件308可随后将二进制位流和文本流的至少一部分编码成XML有效载荷, 并通过工业自动化协议将此有效载荷310传送到不同工业自动化设备312。 该工业自动化设备312可包括解析组件314,该解析组件解析XML数据310 以确定此数据的结构。解析组件314可使用可直接结合到该工业自动化设 备内的标准库。通过将二进制数据编码成XML有效载荷310并通过常规工 业自动化协议传送它,自定义解析工具并非是必需的,因为XML编码有效 载荷310可使用标准库来解析。

现在参看图4,它示出了工业自动化设备400。该工业自动化设备400 包括接收数据请求的接收组件402,其中被请求的数据存在于工业自动化设 备400内的数据存储库404中。一旦接收组件402接收到请求,工业自动 化设备400就可生成与数据请求相关联的二进制位流,并且此位流可被提 供给编码组件406。在另一示例中,公共属性可与被请求的数据相关联,从 而引发文本流向编码组件406的递送。该文本串可以是对数据404的分类 方案的描述,由此使得此数据能够容易地被用户/实体发现。编码组件406 一旦接收到二进制位流和文本串就可生成XML编码有效载荷408,并通过 诸如CIP的工业自动化协议递送此XML数据。XML编码有效载荷408可 在此后由用户/实体来接收。

工业自动化设备400还可包括界面生成组件410,该组件可自动地格 式化/创建用于构建图形用户界面的数据。例如,加载有web浏览器的监视 器(未示出)可通信地耦合到界面生成组件410,并且显示由此组件410 生成的图形用户界面。因此,工业自动化设备400与监视器之间无需自定 义映射。此外,由于数据是从工业自动化设备400直接检索的,因此可容 易地生成定制界面。例如,工业自动化设备400可以是可编程逻辑控制器, 并且个人可请求与由该控制器控制的泵相关联的数据。假定足以支持文本 位流中的数据,则该泵的图形再现(graphical rendering)可在工业自动化 设备400(以XML)生成并被递送到监视器(该监视器可包括显示该界面 的浏览器)。相反,以常规方式生成图形用户界面是个难题。例如,由自 定义映射组件(在工业自动化设备400外部)接收二进制位流,该组件必 须解释此二进制数据、将该数据转换成可由监视器使用的格式、格式化该 数据以使得其驻留在预定义界面外壳内、以及各种其它操作。使用界面生 成组件410,界面可在工业自动化设备400内自动地创建并通过工业自动化 协议传递到监视器。

工业自动化设备400还可包括定制组件412,该组件使得由界面生成 组件410生成的用户界面的至少一部分能够按用户的期望来定制。例如, 第一用户可能希望被提供以第一方式格式化的数据,而第二用户可能希望 被提供以第二方式格式化的数据。通过由用户输入与图形用户界面有关的 特定信息,定制组件412可便于用户界面的这种定制。定制组件412可与 识别请求数据的用户的请求者识别组件414相关联。在进行这种识别时, 请求者识别组件414可向定制组件412提供用户身份,该定制组件又可便 于向该用户提供定制用户界面。

现在参看图5,它示出了示例性网络500。该网络500包括与CIP通信 介质504相关联的工业自动化设备502,该介质可以是无线的、有线的或实 际上其两者的组合。该CIP通信介质504可被配置成将XML数据506传送 到工业自动化设备502或从其传送该数据。例如,以XML编写的程序数据 可被传送到工业自动化设备502并用于对此设备502编程。因此,CIP通信 介质504仅充当递送XML数据506的机构。为了能够实现,可定义XML 对象,其中此对象位于CIP协议堆栈之上作为应用对象。用于与XML对象 通信的通信协议数据单元也是XML的。这种网络500可用于允许使用XML 来编程控制器以及允许在诸如ControlNet和DeviceNet的工业自动化协议上 采用通常使用以太网的设备,并且使XML经由CIP来递送到设备。

在网络500的另一使用中,XML数据506可与多用途网际邮件扩展 (MIME)信息以及二进制附件相关联。MIME定义了用于发送与英语中所 用字符不同的信息类型,诸如包括包含图像、声音、电影和程序的文件的8 位二进制内容。例如,XML数据506可经由OpenSocket(打开套接字)接 口来在控制器与远程设备之间交换,该接口影响XML数据构成与远程设备 交换的业务流。在另一示例中,XML SOAP消息可如以下示例与MIME编 码的附件相关联:

MIME-Version(版本):1.0

Content-Type(内容类型):Multipart/Related;boundary(边界) =MIME_boundary;type=text/xml;

start=′<mymessage.xml@example.org>′

Content-Description(内容描述):A SOAP envelope containing a photo(包 含照片的SOAP的封套)

--MIME_boundary

Content-Type:text/xml;charset=UTF-8

Content-Transfer-Encoding(内容传送编码):8bit

Content-ID:<mymessage.xml@example.org>

<soap 11:Envelope

  xmlns:soap11=′http://schemas.xmls.org/soap/envelope/′

  xmlns:xbinc=′http://schemas.xmlsoap.org/2003/03/xbinc′>

<soap11:Header>

 <xbinc:DoInclude

    soap11:actor=′http://schemas.xmlsoap.org/soap/actor/next′

    soap11:mustUnderstand=′false′/>

</soap11:Header>

<soap11:Body>

  <d:Status xmlns:d=′http://example.org/StatusExample′>

  <d:Name>LED Status</d:Name>

  <d:Photo xmlns:swa="http://schemas.xmlsoap.org/2003/03/swa"

         swa:MediaType=′image/jpeg′>

    <xbinc:Include href=′cid:http://example.org/Status.jpg′/>

   </d:Photo>

  </d:Status>

 </soap11:Body>

</soap11:Envelope>

--MIME_boundary

Content-Type:image/jpeg

Content-Transfer-Encoding:binary

Content-ID:<http://example.org/Statusjpg>

fd a5 8a 29 aa 46 1b 24

--MIME_boundary—

现在转到图6,它示出了可在工业自动化环境中采用的网络600。该网 络600包括可通过CIP通信介质606交换数据的工业自动化设备602和远 程设备604。工业自动化设备602可以是可编程逻辑控制器或在工厂楼层上 的任何合适的计算设备,而远程设备604可以是个人计算机、服务器、另 一工业自动化设备或任何其它合适的设备。CIP通信介质606可用于在工业 自动化设备602与远程设备604之间交换XML数据608。该工业自动化设 备602可包括可由远程设备604访问的模式610,由此使得此远程设备能够 发现XML数据608的格式并测试被消费的数据结构的有效性。

现在转到图7,它示出了可在工业自动化环境中采用的网络700。该网 络700包括可经由CIP通信介质706在其间交换数据的工业自动化设备702 和远程设备704。更具体地,CIP通信介质706可用于在远程设备704与工 业自动化设备702之间传送XML数据708。但是,CIP通信介质可在工业 自动化设备702与远程设备704之间传送任何合适的数据格式。例如,工 业自动化设备702可包括通常经由CIP访问的各种对象。工业自动化设备 702和远程设备704分别包括CIP接口710和712,以便于这两个设备702 与704之间的通信。此外,虽然未示出,但是XML数据708可附加充当 CIP接口的数据。根据本文所述的一个方面,上述CIP接口中的至少一个 可与标准web服务打包在一起,由此使远程设备704能够在不关心用于这 些通信的传输机制的情况下与工业自动化设备702通信。

可提供作为web服务的一个示例性特征是软件更新,由此使得在远程 设备与特定安全令牌相关联和/或具有必需的访问权限的情况下,工业自动 化设备702能够通过该远程设备704来更新。为此,可提供便于工业自动 化设备702的更新的更新组件714。另外,如果工业自动化设备702是可编 程逻辑控制器,则web服务可用于驱动在其中读取和写入标签的机构。此 外,工业自动化设备702可包括将与CIP相关联的数据模型映射到与web 服务相关联的对象的各个软件对象。因此,工业自动化设备702可包括便 于前述映射以及将CIP二进制数据类型映射成web数据类型(由此使得工 具能够从设备读取出XSD文档并理解这些数据是什么以及这些数据意味着 什么)的映射组件716。软件对象的每一个可向映射组件716呈现唯一Web 服务描述语言(WSDL)(或者被包含在由工业自动化设备702的至少一部 分提供的较大WSDL覆盖服务中)。例如,工业自动化设备702可包括表 示该工业自动化设备702的身份的“身份”对象并且该对象可与特定格式 相关联。可使用web服务,该服务呈现了将CIP对象(“身份”对象)的 属性映射为web服务参数的元素和属性的复杂数据类型。因此,如果“身 份”对象支持诸如“GetAttributesAll(获取所有属性)”的CIP服务,则 “身份”对象web服务可如下在“身份”对象的名空间中提供复杂或简单 的数据类型:

      <Rev><ns:Major>1</ns:Major><ns:Minor>2</ns:Minor></Rev>

此外,工业自动化设备702可将web服务提交到注册表中(例如,统 一描述、发现和集成(UDDI))并包括诸如服务质量、服务级别协定等的 元信息。另外,HMI终端可影响可用控制系统数据并采用基于web服务的 组件向用户呈现该数据。这些组件可以是例如将使用标准web服务机制连 接到自动化设备以查看数据的ActiveX控件。使用web服务传输的一个益 处是这些协议流过防火墙并且可容易地影响诸如SSL连接等的公共安全基 础设施。

关于可结合网络700使用的web服务的更多细节,CIP数据可经由不同 方式的web服务而变得可用。例如,web服务可与附件一起放置在CIP中 的二进制位流中。因此,使得数据可在web服务上可用,但是有效载荷基 本上类似于常规CIP有效载荷。在另一示例中,web服务可经由XML取出 CIP数据。例如,与发送二进制消息不同,CIP有效载荷是XML标记形式 的,由此可生成易于用标准库来解析的人类可读形式。概言之,web服务 可取出CIP数据,并将字节流更改成可容易地被数据的接收者理解的XML 标记。以下提供了这种特征的WSDL示例。

<?xml version="1.0"?>

<definitions name="CIPMessage"

targetNamespace="http://example.com/CIPMessage.wsdl"

xmlns:tns="http://example.com/CIPMessage.wsdl"

xmlns:xsd1="http://example.com/CIPMessage.xsd"

xmlns:soap="http://schemas.xmlsoap.org/wsd1/soap/"

xmlns="http://schemas.xmlsoap.org/wsdl/">

 <types>

  <schema targetNamespace="http://example.com/CIPMessage.xsd"

xmlns="http://www.w3.org/2000/10/XMLSchema">

    <element name="CIPMessageRequest">

      <complexType>

   <all>

      <element name="MessageRouterRequest"type="string"/>

   </all>

  </complexType>

</element>

<element name="CIPMessageResponse">

  <complexType>

   <all>

      <element name="MessageRouterResponse"type="string"/>

    </all>

   </complexType>

  </element>

 </schema>

</types>

<message name="CIPRequest">

   <part name="body"element="xsd1:CIPMessageRequest"/>

</message>

<message name="CIPResponse">

   <part name="body"element="xsd1:CIPMessageResponse"/>

</message>

<portType name="CIPPortType">

  <operation name="CIPMessage">

    <input message="tns:CIPRequest"/>

    <output message="tns:CIPResponse"/>

  </operation>

 </portType>

 <binding name="CIPMessageSoapBinding"

type="tns:CIPMessagePortType">

     <soap:binding style="document"

transport="http://schemas.xmlsoap.org/soap/http"/>

       <operation name="CIPMessage">

          <soap:operation soapAction="http://192.168.1.10/CIPMessage"/>

           <input>

           <soap:body use="literal"/>

      </input>

      <output>

       <soap:body use="literal"/>

      </output>

     </operation>

</binding>

<service name="ControlInformationProtocol">

  <documentation>Implements Control and Information Protocol(CIP) via Web Services</documentation>

   <port name="CIPPort"binding="tns:CIPMessageBinding">

      <soap:address location="http://example.com/CIPMessage"/>

   </port>

 </service>

</definitions>

参看图8-12,它们示出了根据所要求权利的主题的各个方面的方法。 虽然出于简化说明的目的,这些方法被示为并描述为一系列动作,但是应 当明白和理解,所要求权利的主题并不限于动作的次序,因为某些动作可以 不同次序来进行和/或以与这里所示和所述的其它动作并发地进行。例如,本领 域技术人员应当明白和理解,方法可另外表示为诸如状态图中的一系列相关状 态和事件。此外,并非所有所示的动作都是实现根据所要求权利的主题的方 法所必需的。另外,还应当理解,在下文中所公开以及贯穿本说明书的方法能 够被存储在制品上以有助于将这些方法传输和转移到计算机。如本文所用的术 语制品旨在包括可从计算机可读设备、载波或介质访问的计算机程序。

具体地转到图8,它示出了用于通过工业自动化协议传输XML数据的方 法800。在802,接收到对工业自动化设备内的数据的请求。例如,工业自动 化设备可以是可编程逻辑控制器和任何其它合适的与工厂有关的设备。在804, 至少部分地基于数据请求接收到二进制位流。例如,常规工业自动化设备中的 对象受分类方案控制。例如,“14.1.1.5”可表示“服务14,对象/类1,实 例1,属性5”。对此属性的请求可在其后引发数据的二进制流被生成。在 806,二进制位流的至少一部分可被编码成XML有效载荷,并且在808, 该XML有效载荷可通过工业自动化协议介质来传送。例如,该工业自动化 协议可以是ControlNet、DeviceNet、以太网/IP、Hart、Foundation Fieldbus、 CIP或任何其它合适的协议的一个或多个。

现在参看图9,它示出了用于经由工业自动化协议来递送XML数据的 方法900。在902,从工业自动化设备接收到二进制流,并且在904,该二 进制流的至少一部分被编码为XML数据。在906,向二进制流和/或XML 数据附加元数据。例如,该元数据可用于描述工业自动化设备内对象的模 式。在另一示例中,元数据可作为MIME附件来附加。在908,XML数据 和所附加的元数据(该元数据可以是XML形式的或任何其它合适的数据格 式)可通过工业自动化协议来作为SOAP消息递送。

现在转到图10,它示出了用于在工业自动化协议上传送数据的方法。 在1002,接收到对驻留在工业自动化设备内的数据的请求。例如,工业自 动化设备可以是可编程逻辑控制器,并且所请求的数据可与传感器/致动器 状态、该控制器的身份或任何其它合适的数据有关。在1004,确定发起请 求的用户/设备的身份。例如,用户可提供用户名、口令、PIN、生物标记 等以允许对身份的确定。类似地,设备可结合允许对身份的确定来提供网 络地址(例如,MAC地址)或唯一标识符。

在1006,分析与请求的发起者相关联的访问权限。例如,用户可具有 关于特定数据的只读权限(而非读写权限)。在另一示例中,用户可能并 不与针对所请求数据的访问权限相关联。在1008,可关于数据请求的发起 者是否与针对所请求数据的访问相关联作出确定。如果该请求的发起者不 与必需的访问权限相关联,则在1010拒绝数据请求。如果该数据请求的发 起者与必需许可相关联,则在1012,数据的至少一部分被编码为XML数 据,并且在1014,XML编码数据通过工业自动化协议介质(例如,缆线、 无线机制、……)来传送。

现在参看图11,它示出了用于在工业自动化环境中的设备之间交换 XML数据的方法1100。例如,可提供与CIP相关联的敷设缆线。在另一示 例中,根据CIP设计的无线路由器可被用作CIP通信介质。在1104,通信 介质被耦合到诸如可编程逻辑控制器、泵、压机或与处理能力和存储器相 关联的任何其它设备的工业自动化设备。在1106,XML编码数据通过CIP 通信介质中继到工业自动化设备或从该工业自动化设备中继。

现在转到图12,它示出了便于结合CIP使用web服务的方法1200。在 1202,CIP通信介质被提供,并且在1204,该CIP通信介质被耦合到工业 自动化设备和客户机设备。因而,工业自动化设备和客户机设备可通过CIP 通信介质交换数据。在1206,提供CIP接口以便于两个设备之间的数据交 换。例如,这些接口可被附加到在设备之间递送的数据上。在1208,这些 接口与web服务一起打包。因此,远程设备和软件工具可在不用考虑用于 此通信的传输机制的情况下与CIP设备通信。

现在参看图13,它示出了可在工业自动化环境中使用的通信系统 1300。该系统1300包括节点A 1302和节点B 1304,其中节点1302和1304 经由CIP连接1306通信耦合。在以上所述的一个示例中,节点A 1302可 使用CIP协议向/从节点B发送和/或接收CIP数据的XML标记。如果节点 B 1304是XML标记的接收方,则此节点1304可解析ASCII(或类似标记) 以取代二进制位流(其中特定位具有仅为选定一些所知的特定意义)。在 另一示例中,节点A 1302可使用CIP协议向/从节点B 1304发送/接收具有 附加数据的XML。将二进制数据附加到XML消息可提升关于特定设备的 性能。在又一示例中,节点A 1302可经由CIP连接1306向/从节点1304 发送/接收web服务有效载荷数据。此外,CIP可提供便于解析XML数据 (例如,通过标准库)的服务。web服务有效载荷可包括与不同类型的请 求/响应有关的信息。

如果节点1302和1304将丢失CIP堆栈但保留CIP对象模型,则标准 以太网可用于传输XML数据。例如,如果对象模型被保留,则节点1302 和1304将具有带特定类码(class code)的身份对象,但是将不具有DeviceNet 或ControlNet堆栈。在又一示例中,节点A 1302经由web服务对节点B 1304 发送/接收二进制CIP数据。因此,标准网络堆栈可用于发送消息,但是将 保留CIP对象模型的益处。此外,应当理解,在此实例中,术语“二进制” 表示CIP流无需被描述——数据可以是表示二进制数据的ASCII串。在再 一示例中,节点A 1302可使用web服务对节点B发送/接收CIP数据的XML 标记,其中该二进制CIP数据不再是文本流。在最后(并非限制性)示例 中,节点A 1302可使用web服务向节点B 1304发送/接收具有附件的XML, 由此使系统1300能够体验具有二进制性能附件的web服务的益处。

参看图14,用于实现本发明的各个方面的示例性环境1410包括计算机 1412,该计算机1412包括:处理单元1414、系统存储器1416、以及系统总线 1418。系统总线1418将包括但不限于系统存储器1416的系统组件耦合到处理 单元1414。处理单元1414可以是各种可用处理器中的任一种。双微处理器和 其它多处理器架构也可用作处理单元1414。

系统总线1418可以是使用各种可用总线架构中的任一种的包括存储器总 线或存储器控制器、外围或外部总线、和/或局域总线的若干类型总线结构中的 任一种,这些架构包括但不限于:8位总线、工业标准架构(ISA)、微通道 架构(MCA)、扩展ISA(EISA)、智能驱动器电子(IDE)、VESA局域总 线(VLB)、外设部件互连(PCI)、通用串行总线(USB)、高级图形端口 (AGP)、个人计算机存储卡国际协会总线(PCMCIA)和小型计算机系统 接口(SCSI)。

系统存储器1416包括易失性存储器1420和非易失性存储器1422。基本 输入/输出系统(BIOS)被存储在非易失性存储器1422中,该BIOS包含有助 于诸如在启动期间在计算机1412内的元件之间传递信息的基本例程。作为示 例而非限制,非易失性存储器1422可包括只读存储器(ROM)、可编程ROM (PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪 存。易失性存储器1420包括用作外部高速缓冲存储器的随机存取存储器 (RAM)。作为示例而非限制,RAM可以多种形式使用,诸如同步RAM (SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率 SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM (SLDRAM)和直接Rambus RAM(DRRAM)。

计算机1412还包括可移动/不可移动、易失性/非易失性计算机存储介 质。图14示出了例如盘存储1424。盘存储1424包括但不限于类似磁盘驱 动器、软盘驱动器、带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、 闪存卡或存储条的设备。另外,盘存储1424可包括独立的或与其它存储介 质组合的存储介质,这些其它存储介质包括但不限于:诸如紧致盘ROM设 备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器 (CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)的光盘驱 动器。为了便于将盘存储设备1424连接到系统总线1418,可移动或不可移 动接口通常被用作接口1426。

应当理解,图14描述了用作在合适的操作环境1410中所述的用户与 基本计算机资源之间的中介的软件。这种软件包括操作系统1428。可存储 在盘存储1424上的操作系统1428用于控制和分配计算机系统1412的资源。 系统应用程序1430通过存储在系统存储器1416中或盘存储1424上的程序 模块1432和程序数据1434来利用操作系统1428对资源的管理。应当理解, 本发明可使用各种操作系统或操作系统的组合来实现。

用户通过输入设备1436向计算机1412输入命令或信息。输入设备1436 包括但不限于:诸如鼠标、跟踪球、指示笔、触摸垫、键盘、话筒、操纵杆、 游戏垫、圆盘式卫星天线、扫描仪、TV调谐卡、数码相机、数字视频相机、 web相机等的定点设备。这些和其它输入设备经由接口端口1438通过系统总 线1418连接到处理单元1414。接口端口1438可包括例如串行端口、并行端口、 游戏端口或通用串行总线(USB)。输出设备1440使用与输入设备1436相同 类型的端口的一部分。因此,例如,USB端口可用于向计算机1412提供输入, 并且从计算机141向输出设备1440提供输出信息。提供输出适配器1442来例 示有类似监视器、扬声器和打印机及其它输出设备1440的、需要特殊适配器 的某些输出设备1440。作为示例而非限制,输出适配器1442包括提供输出设 备1440与系统总线1418之间的连接手段的视频卡和声卡。应当注意:诸如远 程计算机1444的其它设备和/或设备系统提供输入和输出能力。

计算机1412可工作在使用与诸如远程计算机1444的一个或多个远程计算 机的逻辑连接的网络化环境中。远程计算机1444可以是个人计算机、服务器、 路由器、网络PC、工作站、基于微处理器的电器设备、对等设备或其它公共 网络节点等,并且通常包括以上就计算机1412所描述的许多或所有元件。为 了简便的目的,仅示出关于远程计算机1444的存储器存储设备1446。远程计 算机1444通过网络接口1448逻辑地连接到计算机1412并在随后经由通信连 接1450物理连接。网络接口1448包括诸如局域网(LAN)和广域网(WAN) 的通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜缆分布式数据 接口(CDDI)、以太网/IEEE 1102.3、令牌环/IEEE 1102.5等。WAN技术 包括但不限于:点对点链接、如综合业务数据网(ISDN)及其变体的电路 交换网络、分组网络和数字用户线(DSL)。

通信连接1450指用于将网络接口1448连接到总线1418的硬件/软件。 虽然出于清晰说明目的,通信连接1450被示为在计算机1412之内,但是 其也可在计算机1412的外部。仅出于示例性目的,用于连接到网络接口 1448所需的硬件/软件包括内部和外部技术,诸如包括常规电话级调制解调 器、缆线调制解调器和DSL调制解调器的调制解调器、ISDN适配器和以 太网卡。

图15是可与本发明交互的样本计算环境1500的示意性框图。系统 1500包括一个或多个客户机1510。客户机1510可以是硬件和/或软件(例如, 线程、进程、计算设备)。系统1500还包括一个或多个服务器1530。服务器 1530还可以是硬件和/或软件(例如线程、进程、计算设备)。服务器1530可 通过例如使用本发明来容纳用于执行变换的线程。客户机1510与服务器1530 之间的一种可能的通信可以是适于在两个或多个计算机进程之间传输的数据 包形式的。系统1500包括可用来便于客户机1510与服务器1530之间的通信 的通信框架1550。客户机1510可用于连接到一个或多个客户机数据存储1560, 这些数据存储可用于存储客户机1510的本地信息。类似地,服务器1530可用 于连接到一个或多个服务器数据存储1540,这些数据存储可用于存储服务器 1530的本地信息。

以上所描述的包括本发明的示例。当然,出于描述本发明的目的而要 描述组件或方法的每一种可构想到的组合是不可能的,但是本领域普通技 术人员可认识到,许多进一步的组合和置换是可能的。因此,本发明旨在 涵盖落在所附权利要求的精神和范围内的所有这类变更、修改和变形。此 外,就术语“包括”在本详细描述或权利要求中所使用的范畴而言,此术 语旨在以与术语“包含”类似的方式作包含在内之解,正如“包含”在权 利要求书中作为过渡词使用时所解释的那样。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号