首页> 中国专利> 工业控制系统和更新工业控制系统的配置的方法

工业控制系统和更新工业控制系统的配置的方法

摘要

本发明提供了一种工业控制系统,其包括执行存储的程序以控制工业过程的工业控制器。工业控制器包括多个组件以及编程接口。该多个组件包括:可编程逻辑控制器;至少一个I/O装置,根据配置数据与可编程逻辑控制器通信并且在工业控制器与工业过程之间交换I/O数据;至少一个网络装置,根据配置数据在可编程逻辑控制器与I/O装置之间进行通信。编程接口在工业控制器上执行如下操作:提供对存储的程序和配置数据这二者中的至少一个的修改;以及在多阶段操作中向该多个组件提供存储的程序和配置数据这二者中的至少一个的修改。本发明还提供了一种更新由工业控制系统的受控装置本地存储的配置的方法。

著录项

  • 公开/公告号CN101853018A

    专利类型发明专利

  • 公开/公告日2010-10-06

    原文格式PDF

  • 申请/专利号CN201010140026.8

  • 发明设计人 达伦·R·克卢格;彼得·普塔切克;

    申请日2010-03-30

  • 分类号G05B19/418(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人康建峰;陈炜

  • 地址 美国俄亥俄州

  • 入库时间 2023-12-18 00:56:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-17

    未缴年费专利权终止 IPC(主分类):G05B19/418 授权公告日:20131211 终止日期:20170330 申请日:20100330

    专利权的终止

  • 2013-12-11

    授权

    授权

  • 2010-11-24

    实质审查的生效 IPC(主分类):G05B19/418 申请日:20100330

    实质审查的生效

  • 2010-10-06

    公开

    公开

说明书

技术领域

本发明涉及用于控制机器和过程的工业控制系统,具体而言,涉及一种适配器架构,该适配器架构使得可编程控制器能够与各种不同网络一起、以使得网络之间的差异对于可编程控制器不可见的方式工作。

背景技术

工业控制系统是用于控制机器和设备的专用计算机。与更传统的计算机系统相比,工业控制系统通常提供更高的灵活性和硬件配置(以匹配各种不同的控制应用),并且具有对复杂机器进行实时控制所必要的更高标准的可靠性和可预测性。

硬件配置的更高灵活性通常通过模块化分布式构造来获得,在模块化分布式构造中,工业控制系统可以由多个模块组成,所述多个模块例如是连接到任意数目I/O模块的中央可编程控制器,所述I/O模块提供与机器上的各种开关和传感器的通信。

工业控制系统的各种组件可以通过高速“控制网络”连接在一起,其中高速“控制网络”使用确保控制数据的可预测的、及时的和可靠的通信的各种专用协议。例如,控制网络协议可以采用“连接式消息收发”,在“连接式消息收发”中,网络和缓冲空间的带宽被预先分配给专用“连接”以防止诸如以太网的标准网络协议中可能发生的数据传递的丢失或不可预测的延迟。

不同制造商针对不同控制应用开发了各种不同的控制网络,每种控制网络具有不同的通信协议。这里所使用的协议不仅是指数据的格式(例如,波特率、比特数、纠错码等),而且是指建立连接、为连接分配地址、处理连接错误、发送确认消息等步骤。

工业控制系统的可编程控制器常常必须与通过多个不同控制网络类型相连接的控制组件通信。这通常是通过使用专用软件工具来完成的,这些专用软件工具产生与工业控制程序同时运行的程序来为不同的网络提供必要的网络处理(也称为网关)逻辑。由于增加了额外的编程步骤和操作程序,这些专用软件工具增大了工业控制系统的配置以及编程的复杂性。当新的网络被集成到控制系统中时,可能需要修改控制程序,这实施起来常常是昂贵的。另外,额外的通信开销可能会负面地影响控制系统的工作。

发明内容

本发明提供了不同控制网络上的I/O装置的适配器的一般性架构。适配器独立于控制器而工作并因此允许就像所有装置都在单个公共网络类型上那样对控制器进行编程,从而简化了编程任务并降低了对可编程控制器的要求。根据本发明的适配器是基于可下载脚本库的,其中该脚本库包含调用控制网络所特有的和装置所特有的功能(例如,下载配置、验证身份、打开消息或I/O连接、翻译数据类型、转换与之相连的每种I/O装置的字节序(Endianness))所必要的脚本。当需要新类别的I/O装置时,设备所特有的新脚本被添加至可下载库。只有在引入网络所特有的新功能的情况下,才需要更新适配器的固件。

于是,具体地,本发明提供了对使用不同通信协议的不同I/O网络上的多个I/O节点进行控制的可编程控制器的网络接口。网络接口可以包括:适配器接口的集合,用于提供与各I/O节点的不同I/O网络的硬件连接;以及至少一个控制器网络接口电路,用于提供与控制器网络的硬件连接,其中控制器网络与可编程控制器连通。

网络接口还提供了保持网络适配器程序、脚本文件和配置文件的存储器以及用于执行如下程序的处理器:

(a)接收并在存储器中存储与不同网络和I/O装置相关联的脚本文件以供执行,以在特定I/O网络和可编程逻辑网络的协议之间提供翻译;

(b)从可编程控制器接收并在存储器中存储与特定I/O网络相关联的配置文件,并描述特定I/O网络的配置参数;

(c)在I/O节点与可编程控制器之间的通信之前,根据相关联的配置文件来配置I/O网络;以及

(d)响应于I/O节点与可编程控制器之间的通信,执行与I/O网络相关联的脚本以在控制器网络和I/O网络的协议之间提供翻译。

因此,本发明的一个目的是允许可编程控制器与I/O节点通信,就像I/O节点直接连接到控制器网络那样。本发明的次要目的是:简化工业控制系统的编程,并允许工业控制系统使控制程序容易适应于不同的或新的控制网络和I/O装置。

控制器网络接口电路可以提供I/O网络超集这一网络功能。

因此,本发明的一个目的是提供不对I/O网络的功能进行约束的控制器接口。

控制器网络可以根据连接式消息收发协议(其中装置之间的通信遵循规定了消息时序、频率和大小的预先指定的连接)来工作。

因此,本发明的一个目的是:提供网络接口与可编程控制器之间的连接中的连接式消息收发,从而可以容许通过使用连接模型在不同网络之间进行必要的逻辑映射。

脚本文件可以从可编程控制器接收。

因此,本发明的一个目的是允许可编程逻辑控制器对适配器进行更新和初始化并因此提供控制器信息的单个库。

控制器网络可以使用EtherNet/IP协议。

因此,本发明的一个目的是借用已发展完善的高端控制网络。

脚本可以进一步包括在控制器网络上的地址与I/O网络上的地址之间提供翻译的映射器。

因此,本发明的一个目的是容许与不同控制网络相关联的不同地址结构对于控制程序不可见。

I/O网络可以包括EtherNet/IP、DeviceNet、ControlNet以及SerBus、69-Bus、HART、ModBus和Foundation FieldBus。

因此,本发明的一个目的是提供许多不同类型和性能的控制网络之间的集成。

I/O网络接口电路可以提供允许它们可拆卸地附接到公共总线的电连接器。

因此,本发明的一个目的是提供容许未来网络类型和物理层的实用方法。

网络适配器程序可以执行用于按规则进度表、以预定顺序在可编程控制器与每个I/O节点之间依次交换数据的扫描协议。

因此,本发明的一个目的是提供提供期望的可重复性和控制系统操作的数据交换方法。

可编程控制器和I/O节点可以使用缓冲表在彼此之间通信,缓冲表遵循不同的读取和写入周期。

因此,本发明的一个目的是使得控制程序的程序员不需要关注同步问题。

网络适配器可以包括保持网络适配器的组件的外壳,并在物理上独立于可编程逻辑控制器和I/O节点。

因此,本发明的一个目的是允许适配器与本领域中现有的和待设计的许多种不同的可编程控制器一起使用。

在下面的描述中,将呈现本发明的上述方面及其它方面。在说明书中,参照构成说明书一部分的附图,在附图中,通过图示示出了本发明的优选实施例。该实施例不必定代表本发明的全部范围,而必须参照这里的权利要求来解释本发明的范围。

附图说明

图1是具有通过多个网络与各种I/O模块通信的可编程控制器的现有控制系统的框图;

图2是示出了控制器网络作为I/O网络超集这一功能的维恩图;

图3是与图1类似的图,示出了使用本发明的适配器设备来向可编程控制器呈现由不同专有物理网络构成的单个逻辑网络;

图4是图2的适配器设备透视图,示出了允许将不同I/O网络接口电路引入公共背板中的模块化构造;

图5是图4的适配器设备的框图,示出了由可编程控制器生成并被下载到适配器设备中的数据结构;

图6是适配器设备的逻辑图,示出了使用配置文件和经解释的脚本来提供新I/O网络类型和特征的灵活容许;

图7是包括受控组件的分布式布置的工业控制系统的简化示意图;

图8是为了对工业控制器以及图7中所示的受控组件的分布式布置进行编程和配置而可通信地相链接的编程接口和工业控制器的示意性表示;

图9是图示了用于向工业控制器和受控组件提供配置数据的事务的图;

图10是包括图7中所示的每个受控组件的配置数据的配置文件的示意性表示;

图11是阐述了控制器或根装置为了传送和实施图7中所示的受控组件的配置改变而执行的步骤的流程图;

图12是阐述了“父”装置为了将消息发送给“子”装置而执行的步骤的流程图;以及

图13是阐述了“子”装置为了实施“父”装置向其提供的改变而执行的步骤的流程图。

具体实施方式

                    网络适配器设备

现在参照图1,控制系统10可以包括例如可编程控制器12(比如Rockwell Automation Inc.出售的LogixTM控制器),并且包括一个或多个网络模块14a和14b,其中模块14a和14b分别连接到不同的控制网络16a和16b。这些控制网络16可以包括EtherNet/IP、DeviceNet、ControlNet、SerBus、69-Bus、HART、ModBus和Foundation FieldBus,然而本发明不局限于这些网络设计,而是一般意在对任意网络协议(包括尚待定义的网络协议)适用。

现在参照图2,控制网络16中的一些控制网络(例如,控制网络16b)与其它网络16a相比可以提供大很多的功能22(例如,在设定网络参数、以不同模式工作、获得诊断信息等方面),从而部分地反映出附接装置的不同任务和不同硬件能力的专门化。这些功能22共同定义了具有功能22(其在实践中能够匹配网络16a和16b的组合功能22)的元网络(meta-network)16’。

现在参照图3,此超集网络16’提供了模型来使本发明中使用的公共网络16c将可编程控制器12连接到本发明的集成设备26。优选地,网络16c是提供各种网络16的最高级功能的强大的已有网络,例如EtherNet/IP。期望公共网络16c是这样的连接式消息收发系统:其提供高级网络安全可靠性和诊断信息,并且允许所有数据传递以明确定义的连接加以处理,从而大大简化了控制程序的创建。

集成设备26保持专有网络接口卡28的集合,每个网络接口卡28提供与连接到不同I/O装置18的不同网络16a、16b和16d的物理连接。如下面将更详细描述的那样,集成设备26允许可编程控制器12的程序员针对单个逻辑网络(公共网络16c)工作,从而大大简化了编程任务并防止程序员所创建的控制程序由于与I/O装置18连通的网络16a、16b和16d的改变或增添而发生改变。如上所述,I/O装置18根据本领域中公知的技术来传送从控制过程20和向控制过程20通过网络16a、16b和16d传输的输入或输出信号。

参照图4,在一个实施例中,集成设备26提供外壳30,外壳30的后壁支撑电子互连背板32。外壳30提供槽,每个槽容纳与不同网络16a、16b和16d相关联的不同专有网络接口卡28。专有网络接口卡28被保持在外壳29内,外壳29可以可拆卸地插入外壳30中,使得内部的专有网络接口卡28通过外壳29背面上的多引脚连接器34附接到背板32。

集成设备26还保持与公共网络16c连通的控制器网络接口卡38和处理器模块36。处理器模块36和控制器网络接口卡38还连接到允许所有被连接组件的相互连通的背板32。

现在参照图5,根据传统计算机架构,处理器模块36包括处理器40,处理器40优选地采用背板32的内部扩展与存储器42通信。存储器42可以保持数据和存储的程序,这些程序包括操作系统44和解释器45,包括库函数46。库函数46提供公共网络函数,比如数据拷贝、数据表查找、调度、以及数据优先级和服务质量实施。存储器42还包括下载的脚本48(如将描述的那样,是由解释器45执行的程序)的集合。另外,存储器42保持为网络16a、16b和16d提供配置信息的配置文件50。通常,如下面将描述的那样,对于每个不同的专有网络接口卡28将有一个脚本,且对于与不同专有网络接口卡28相关联的各网络16a、16b和16d将有一个配置文件50。配置文件50还可以为每个I/O装置18提供配置信息。配置文件50和脚本48可以由控制程序开发系统52(例如当可编程控制器12被用作开发平台时被保持在可编程控制器12中,或者被保持在独立计算机54中)生成。这样,可以使用单个开发环境来创建控制程序56,控制程序56将在可编程控制器12上执行,以通过公共网络16c向I/O装置18提供命令和从I/O装置18接收信号以及创建配置文件50和脚本48(其于是可以在控制系统初始化时被下载到集成设备26)。此方法允许可编程控制器12为控制系统10所必要的所有数据提供单个库,同时仍允许使用集成设备26。

现在参照图4和图5,如下面将更详细说明的那样,集成设备26使用脚本48在公共网络16c的模型与各个网络16a、16b、16d等之间提供翻译。脚本48从而允许公共网络16c与其它专有网络16a、16b和16d之间的可定制的相互连通。此相互连通可以在从集成设备26、无论中间网络16a、16b和16d如何而向I/O装置发送必要的配置文件50时使用。

仍参照图6,承上所述,操作系统44和解释器45共同实施了扫描器58,扫描器58理想地根据规则进度表对在网络16a、16b和16d上从专有网络接口卡28接收消息进行协调,从而改进控制系统的工作的一致性。在此进度表的第一阶段中,对于每个专有网络接口卡28,扫描器58选择适当的脚本48(解释器45使用库函数46而执行的脚本48),并且根据映射器60、使用根据配置文件50生成的映射表来将从I/O装置18接收到的数据根据其对于各网络16a、16b和16d的逻辑地址放置到I/O缓冲表62中。同时,控制器网络接口卡38从可编程控制器12通过网络16c接收数据,以便根据网络16c的逻辑地址放置到I/O缓冲表62中。在一个优选实施例中,来自公共网络16c的数据不被重映射而是定义所有交换数据的公共地址。

在此进度表的第二阶段中,扫描器58从I/O缓冲表62中读出在第一阶段中从可编程控制器12获得的值,并将此数据在网络16a、16b、16d上、使用适当脚本48并按映射器60的逻辑映射转发到适当I/O装置18。同时,扫描器58从I/O缓冲表62中读出在第一阶段中从I/O装置18获得的值,并将它们转发到可编程控制器12。在后一种情形下,不需要脚本48,因为之前已将数据重新格式化成适合于公共网络16c的形式。

I/O缓冲表62可以用这样的数据填充:其按任意顺序(例如,异步地)从I/O装置18推入或由扫描器58拉出,但是通常将按特定顺序、以给定间隔读出并由此在可编程控制器12与I/O装置18之间交换,以便产生倾向于提供没有竞争状态(race condition)的一致行为的控制系统。

脚本48的使用允许已有的和未来可能开发的不同网络16a、16b和16d的处理方面的大的灵活性。对于网络16c所提供的不被给定网络16a、16b或16d支持的函数,脚本48常常可通过网络16a、16b或16d所支持的函数的组合来提供实施缺失功能的伪函数。可替选地,脚本48可以在必要时将网络16c所支持的函数映射到网络16a、16b或16d所支持的较少的函数。当不能发生映射时,脚本48可以发出异常以向可编程控制器12提供误码。脚本48的总体工作是为了使程序员免于关心具体网络16a、16b和16d的特异性。

虽然集成设备26优选为自含式的,以与各种不同可编程控制器12一起工作,但应理解,集成设备26可以可替选地合并到可编程控制器12自身中。

                使配置改变同步的方法

现在参照图7,本发明可以适用于的工业控制系统110通常包括控制器112、路由器114、诸如扫描器的链接或桥接装置116、适配器模块118以及I/O装置或模块120。出于说明的目的,示出了简化的控制系统,但是可以理解,在实际应用中,控制系统可以包括多个I/O装置、路由器、链接装置和适配器以控制工业过程或其一部分。数据在控制器112与I/O模块120之间、经过路由器114、链接装置116和适配器118、沿着多个数据通信网络段122传送。每个网络段122可以是在两个组件之间使用的多种网络技术中的任何一种,如ControlNet、EtherNet/IP等。在本领域中已知,I/O装置120将通过通信网络122从适配器118接收到的数字数据转换成输出信号125(数字的或模拟的),输出信号125适于连接到工业过程124中的与其相关的部分。I/O模块120也可以从工业过程124接收数字或模拟信号125,并将这些信号转换成数字数据,这些数字数据适于在通信网络122上沿着网络段122发送到适配器模块118并最终沿着各种其它网络段122发送到工业控制器112。

工业控制器112执行存储的程序以控制工业过程124。存储的程序通常使用专用软件包或套装(比如威斯康星州密尔沃基的RockwellAutomation出售的RSLogix套装产品)来创建。如图8中示意性示出的那样,工作站126可以与工业控制器112对接,以使得程序员能够加载或修改任何控制系统组件的配置或控制程序。

在一个实施例中,使用面向对象编程语言对工业控制器112进行编程;然而,可以理解,可以使用其它编程语言。工作站126可以与工业控制器112对接以修改、添加、或删除存储在工业控制器112的存储器128中并用于实施其功能的各种对象。特别地,这些对象可以包括管理I/O模块120的硬件配置所需要的I/O对象。示例对象包括符号、数据表、模板、I/O图和I/O连接。存储器128中保持的用于实施工业控制器112的功能的对象可以统称为工业控制器的控制程序。因此,工作站126提供了用于更新工业控制器112的控制程序的编程接口。标题为“IndustrialController Automation Interface”的美国专利No.6,819,960中描述了用于在工作站126与工业控制器112之间进行通信以对工业控制器112进行编程的示例框架,该专利被转让给本申请的受让人,通过引用将该专利的全部内容合并于此。

如图8中所示,在其存储器128内,工业控制器112保持对象数据库130。通常,对象数据库130列出工业控制器112所使用的各种控制程序对象的状态。工业控制器112所采用的用于索引对象的格式可以变化。

工作站126提供了编程接口132(即,软件应用),用户可以通过编程接口132与工业控制器112以及控制系统的其它组件对接并对它们进行编程。在本领域中已知,网络接口131使得工业控制器112能够与编程接口132通信。在本领域中已知,编程接口132通过网络接口131、沿着通信网络133、使用被呈现给工业控制器112的事务对工业控制器112进行编程。每个事务包括多个操作,这些操作被工业控制器112操作,但保持在未决状态直到事务被提交为止。编程接口132保持对象数据库130′的同步拷贝。

工作站126实施一种事务技术,其中,将工作站126为了改变工业控制器112中的对象而执行的操作组合成单个事务,直到工业控制器112接收到工作站126发出的“提交”信号时,该单个事务才被完全执行。在接收到“应用”信号之前中断或退出的操作可以重新运行,从而使工业控制器112处于其原始状态。工作站126可以与工业控制器112通信以修改控制器工作的多个方面,比如控制程序。工作站126还可以与工业控制器112通信以配置和实现额外的I/O功能。从用户的角度看,事务是原子事件,因为它完全成功或退出。

转到图9,提供了图示了用于通过受控组件的链提供配置数据的示例性的二阶段事务134的组成部分的图。事务134的第一阶段包括开始事务命令136和跟在命令136后面的一个或多个操作命令138。“提交”事务140跟在操作命令138后面。“提交”事务140触发事务134第一阶段的结束。直到从每个受控组件接收到“接受”或“拒绝”响应146形式的反馈(或者认定通信超时),才启动事务134的第二阶段(“应用”或“退出”事务命令144的发出)。承上所述,在控制器112等待来自受控组件的反馈时,启动等待周期142。每个组件向其“父”提供“接受”或“拒绝”响应146。在控制器112处接收到“接受”或“拒绝”响应146后,向受控组件提供“应用”或“退出”事务命令144,其通知事务134的第二阶段结束。如图9中进一步所示,每个组件在发送“接受”/“拒绝”响应146之后进入未决状态148,由此,该组件等待“应用”命令或“退出”命令。

如果每个受控组件都提供“接受”响应,则从控制器112向受控组件和工作站传送“应用”事务命令。然而,如果从任何受控组件接收到“拒绝”消息,则工业控制器112向每个受控组件以及工作站发出“退出”事务命令。承上所述,使得受控组件配置的改变全局化,即,在建议的配置改变被作出之前,每个受控组件必须肯定地表明愿意接受这样的改变。因此,直到每个上游受控组件也都接受包含在配置文件中的改变,才对I/O具体配置过程150作出改变。

编程接口132向事务134每次发送一个操作命令138,工业控制器112例如在缓冲器中依次预处理每个操作138、但是将操作命令138的对象保持于未决状态。预处理可以涉及检查操作的语法、保留存储器、检查已有对象的状态、例示未决对象等。例如,新的对象可以具有“未决创建”状态,修改后的对象可以具有“未决修改”状态,待删除的对象可以具有“未决删除”状态。

在接收并预处理对象所关联的操作命令138时,为对象保留存储器。在要修改或删除对象的情形下,工业控制器112确保所请求的操作可被执行(即,所引用的对象存在并且处于允许修改或移除的状态),但动作的实际完成被推迟。未决修改对象的值保持未修改,实际改变值被缓存,使得它们可以在“应用”或“退出”命令144期间被应用。用于修改未决新对象的操作命令138不需要推迟,因为它们不影响当前对象。

如上所述,直到从第一网络元件接收到“接受”/“拒绝”响应146(这代表来自所有从属装置的“接受”/“拒绝”响应),才提交对象数据库130的改变。因此,使用二阶段或二步骤事务协议,其中,在一系列第一事务36-40中发送改变,第二组操作140、146和144导致在第一阶段中建议的改变全部被所有组件接受或拒绝。

如上所述,工业控制器112是工业控制系统110的组件之一。现在参照图10,示出了代表性的配置文件152。配置文件152实际上可以采取使用编程接口130生成的多个文件的形式,但是出于说明的目的,图10中示出了单个配置文件。配置文件152包括每个受控组件的配置数据。承上所述,配置文件152包括工业控制器配置数据块154、路由器配置数据块156、扫描器配置数据块158、适配器配置数据块160和I/O模块配置数据块162。

为了有效地控制工业过程124,受控组件的配置应当与控制程序同步。亦即,每个组件应当根据为该组件提供的最新配置数据来工作。此外,给定了组件的相互关系时,给定组件应当根据系统的其它组件认为定义了该给定组件的操作的配置数据来工作。因此,本发明提供了这样的事务过程:其被设计成确保在配置改变被应用之前所有组件都接受这些改变。

现在参照图11,由控制器112(或者用于向工业控制系统110的受作用组件(114、116、118或120)分发配置文件152的其它“根”发起装置)执行的过程163从框164开始;在框165,接收来自编程接口132的新配置文件或者控制程序对配置文件所作的程序修改。如图10所示,配置文件可以包括工业控制系统的一些或全部受控组件的新配置数据块。如上文和图12中所述,然后,在框166,将配置文件用一系列事务命令传送给受控组件。更具体而言,将配置文件以级联方式传送给每个受控组件,其中每个受控组件将它们各自的配置文件部分存储在本地临时存储器(如缓冲器)中。如图13中所述,每个受控组件对属于其的配置文件部分进行评估,向其“父”返回其分析结果,该分析结果最终反映在控制器为了确定配置文件的改变是否可被所有受作用的控制组件整体接受而在框167接收的响应中。

如果所有控制组件都表明了它们可接受建议的改变,则控制器在框168将这些改变应用于其内部的配置文件拷贝,并在框169向受作用的“子”发送“应用”消息以完成整个事务的第二阶段。在框170接收到来自“子”的响应(或超时)之后,控制器在框171向编程接口返回“成功”响应。可以理解,即使在“应用”阶段期间与一个或多个控制组件的连通失败(由框172代表),新的配置最终仍将被应用于该装置,因为在框173,重新连接过程框将试图在与该装置的连接得以恢复之前应用最新的配置。

现在回到框167的“接受”表示,如果任何一个受控组件表明了它由于任何原因而不能接受新的配置,则控制器丢弃未决的配置文件更新174,在框175向编程接口发送“错误”响应,并在框176向适当的“子”发送“退出”消息。即使在“应用”阶段期间与一个或多个受控组件的连接失败(由框177代表),通过重新连接过程178,该装置中仍将维持先前的配置。更新了配置文件后,过程163在框180结束。

在图12中,呈现了“父”为了将新配置文件的可应用部分发送给其“子”而使用的过程181。

过程181在框182被启动后,接着在框183向“子”发送事务。如果在框184从“子”接收到“成功”响应,则“父”装置在框184向“子”发送事务操作。如果事务发送成功(框186)并且没有更多事务要发送给“子”(框187),则在框188向“子”呈现“提交”事务。然而,如果有额外的操作,则该过程环行而回到框185。此外,如果发送不成功,则在框189返回错误信号。如果“子”成功接收到“提交”事务(如框190的接收到“接受”响应所示),则从“父”向“子”发送返回“接受”命令191。如果未接收到“接受”响应,则在框192向“子”返回“拒绝”发送。在从“父”向“子”传送“接受”、“错误”或“拒绝”通信之后,在框193完成该过程。承上所述,在每个请求之后,“父”等待“子”的评估结果,该评估结果将表示在响应中。如果表示错误(或者与连接相关的错误,如超时),则第一阶段将早早地终止于框193。在错误情形下,受作用的“子”的任何后代将永远不会获知试图进行配置更新。如果所有操作都成功,则阶段1处理在框191返回“接受”表示。

图13呈现了每个“子”当其对在多阶段事务内发送的新配置文件进行评估时执行的过程。过程194在框195被启动后,在框196开始接收来自“父”的“开始事务”请求。在框197,“子”确定当前状态是否允许其“接受”事务请求。如果在框198是可接受的,则在框199向“父”返回“成功”响应,“子”等待事务操作的序列。否则,在框200向“父”发送“错误”响应,在框201退出更新过程,在202结束该过程。

在“子”确定了当前状态允许其接受事务请求且相应的成功通信被发送给“父”后,“子”在框202确定是否从“父”接收到有效消息。如果未接收到有效消息,则事务在框201退出。否则,过程194进入框203,确定该消息是操作还是“提交”事务。如果该通信是事务操作,则在框204对操作进行评估。如果在框205是可接受的,则在框206保留“子”应用改变将需要的任何资源,否则在框207向“父”返回“错误”响应,从而最终导致该事务在框208退出并且该过程在框202终止。如果操作是可接受的且分配了资源,则在框209向“父”发送“成功”响应。

如果该消息是“提交”事务,则“子”必须随后在框210确定其是否能接受全部的建议的改变。如果在框211这些改变是可接受的,则“子”在框212分配必要的资源并随后在框213确定其“子”是否支持该事务。如果支持,且如果在框213确定了“子”支持多阶段事务,则“子”通过在框214向其“子”转发可应用的改变来扩展级联。如果“子”在框215接受级联消息,则在框216向“父”发送“接受”响应消息。类似地,如果在框213确定了“子”不支持这些事务,则在框216向“父”装置发送“接受”响应。如果任何后代都不能支持这些改变,则将在框217返回“拒绝”。

该过程进入框218以确定是否从“父”接收到有效消息。如果未接收到有效消息,则该事务在框219退出并且该过程在框202结束。否则,“子”在框220确定接收到的消息是“应用”消息还是“退出”消息。如果接收到的消息是“应用”消息,则在框221应用对“子”的配置文件的改变。“子”随后在框222确定其“子”是否支持该事务。如果支持,则在框224向“子”发送“应用”消息,通知“子”更新其配置文件。如果“子”不支持该事务,则该过程返回到框216。应当注意,在一些情形下,可能有必要在表明建议的改变的是否可接受之前确定I/O组件(即,不支持多阶段事务的最后一个元件)。为了支持这种情形,该过程将试图执行“I/O具体配置过程”。这只是将级联概念扩展为包括不直接支持多阶段事务的第一个控制组件。编程接口或控制程序逻辑将规定是否应当包括最后一个元件对建议的配置改变的评估。

如果来自“父”的消息是“退出”命令,则该过程在框225确定“子”是否支持这种事务。如果支持,则在框227向“子”装置发送“退出”消息。最终,无论“子”是否支持该事务,该事务都在框208退出并且该过程在框202结束。承上所述,如果事务包括从控制器到不共享同一个直接“父”的I/O组件的多个链,则只需要沿着表明了能够“接受”建议的改变的链以级联方式向下发送“退出”消息。

应当注意,如果在框210接收到的“提交”命令是不可接受的,则该事务也在框208退出,由此,该过程在框202结束。

利用该优选实施例描述了本发明。可以认识到,未在此明确陈述的其它等价设置、替选方案和修改也是可以的,并且落入所附权利要求的范围以内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号