用于在过程控制系统中提供冗余性的方法和装置的制造方法

文档序号:9843613阅读:363来源:国知局
用于在过程控制系统中提供冗余性的方法和装置的制造方法
【技术领域】
[0001]概括地说,本公开内容涉及过程控制系统,更具体地说,涉及用于在过程控制系统中提供冗余性的方法和装置。
【背景技术】
[0002]过程控制系统(如,化工,石油或者其它过程中使用的那些过程控制系统)通常包括一个或多个过程控制器,该一个或多个过程控制器经由模拟、数字或组合的模拟/数字总线来通信地耦合到一个或多个现场设备。现场设备(其可以例如是阀、阀定位器、开关和发送器(例如,温度、压力和流速传感器))在过程中执行过程控制功能,例如,打开或关闭阀,测量过程控制参数。过程控制器接收用于指示现场设备所进行的过程测量值的信号,随后对该信息进行处理以用于:生成用于实现控制例程的控制信号,进行其它过程控制决策,以及发起过程控制系统报警。
[0003]来自于现场设备和/或控制器的信息通常通过数据高速通道或者通信网络而可用于一个或多个其它硬件设备,例如,操作者工作站、个人计算机、数据历史库(datahistorian)、报告生成器、集中式数据库等等。这些设备通常位于控制室中和/或其它相对于较苛刻的工厂环境而言位于远离的位置。例如,这些硬件设备运行使操作者能够执行关于过程控制系统的过程的以下各种功能中的任何一种的应用:例如,查看过程的当前状态、改变操作状态、改变过程控制例程的设置、修改过程控制器和/或现场设备的操作、查看现场设备和/或过程控制器所产生的报警、模拟该过程的操作以便训练人员和/或对过程进行评估等等。
[0004]计算机架构、网络化和虚拟化的技术进步的组合,已使得能够开发出有效的、容易管理的可以实现某些控制系统的虚拟化计算环境。也就是说,可以利用在虚拟过程控制环境中实现的虚拟机,来替代在传统控制系统中使用的工作站、个人计算机和其它硬件设备。末端用户经由连接到虚拟系统的瘦客户端,来访问在这些虚拟机上实现的应用和软件。用此方式,可以减少传统上所需要的用于获取、配置和维护所有硬件组件的显著成本和复杂度。
【附图说明】
[0005]图1是可以在其中可以实现本公开内容的教导的示例性过程控制系统的示意性视图。
[0006]图2是图1的示例性过程控制系统的一部分的示例性网络布置的示意性视图。
[0007]图3是图1和/或图2的示例性过程控制系统中的网络主机中的任何一个网络主机的示例性实现的框图。
[0008]图4是经由两个共同网络来连接的网络主机的示例性系统的示意性视图。
[0009]图5是表示图4的网络主机之间的通信状态的表。
[0010]图6是图4的示例性系统的示意性视图,其中该示例系统具有与这些网络主机中的一个网络主机相关联的网络故障。
[0011]图7是表示图6的网络主机之间的通信状态的表。
[0012]图8是用于示出在网络主机的初始发现和围绕图6的网络故障期间,图4的网络主机中的每一个网络主机所发送的完整性消息的示例性随时间推移的变化的表。
[0013]图9是用于示出在网络主机的初始发现期间,图4的网络主机中的每一个网络主机所发送的完整性消息的不同的示例性随时间推移变化的表。
[0014]图10是具有经由两个共同网络来连接的两个示例性网络主机的示例性系统的示意性视图。
[0015]图11和图12分别是图10的示例性系统在这两个网络中的各个网络中具有网络故障的示意性视图。
[0016]图13A-图13B是示出用于实现图1-图4、图6和/或图10-图12的示例性网络主机,以提供这些网络主机之间的冗余性的示例性方法的流程图。
[0017]图14是一种示例性处理器平台的示意性视图,其中可以对该示例性处理器平台进行使用和/或编程,以执行图13A-图13B的示例性方法,和/或更一般地来说,以实现图1-图4、图6和/或图10-图12的示例性网络主机。
【具体实施方式】
[0018]可靠性是在实现过程控制系统时共同关注的问题,尤其是关注虚拟化控制系统,在虚拟化控制系统中,很多传统上单独的工作站和其它计算机组件全部实现成主机服务器集群上的虚拟机(VM)。为了解决这些关注的问题,硬件制造商提供用于增强可靠性的硬件解决方案,例如,具有冗余磁盘阵列、控制器和电源的存储区域网络(SAN)设备。通常,将多个主机服务器与一个高度冗余的SAN聚集在一起,以增加整体系统的可用性和留出用于维护的空间,例如,在无需关闭整个物理系统的情况下进行组件升级或替换。诸如WindowsServer 2012之类的现有操作系统有助于将VM从物理系统的一个部分(例如,硬盘驱动器)移动到该系统的另一个部分,或者甚至移动到外部备份系统,同时VM继续运行,并且对于目前可能在该VM上进行中的这些应用的操作或通信和用户交互不会具有任何明显的影响。这些解决方案增加了诸如电子邮件服务器、web服务器和其它后端服务器之类的各种各样的虚拟机的可用性,其中这些服务器可以由外部计算机节点或网络主机上安装的软件客户端(例如,瘦客户端)经由以太网来进行访问。
[0019]很多传统(即,物理)控制系统具有很多操作者面对的软件组件,它们是该系统的集成部分,例如,操作者接口应用、资产管理应用、报警管理应用等等。当这些组件与控制系统的其它组件进行通信时,这些组件执行相当大量的业务逻辑,使用专有协议来确保高可用性。例如,操作者站通常与控制系统中的多个控制器和/或历史库进行通信。在这些例子中,如果在操作者站和特定的历史库之间丢失了连接,操作者站仍然能够通过从其它历史库访问信息来获取任何期望的历史数据。同样,如果操作者站和特定的控制器之间丢失了连接,操作者站仍然能够从控制系统中具有类似测量点的另一个控制器获得期望的运行时数据。
[0020]当对过程控制系统进行虚拟化时,上面的冗余中的一些变得不可用,这是由于向操作者呈现数据的末端用户终端与执行业务逻辑(其产生要呈现的数据)的应用是分离的。也就是说,在一些虚拟化控制系统中,该业务逻辑由在集中式主机系统上实现的VM来执行,而末端终端通常是使用远程显示协议来从VM访问数据以进行显示的瘦客户端。因此,VM是否可以从替代的控制器或历史库获取数据(如果其丢失了与主控制器或历史库的连接的话),与是否在瘦客户端处将显示该数据无关(如果瘦客户端和VM之间的连接失败的话)。因此,当存在植入到实现虚拟化环境的主机服务器和相关硬件中的很多冗余时,系统的可用性和/或可靠性中的弱点是与末端用户终端节点(如,瘦客户端)的连接。
[0021]通常,瘦客户端没有装备很多冗余特征(其导致很多单点的故障),其假定如果与虚拟控制系统相关联的瘦客户端中的任何一个经历了停工,则可以通过另一个终端来访问与该发生故障瘦客户端相关联的VM。利用冗余的网络卡来实现了一些瘦客户端,使得如果丢失了网络连接,则瘦客户端可以切换到备份网络。虽然这是一种改进,但这种解决方案仍然承受着某些限制。例如,在重传期间,通常将再次尝试对未被确认的数据传输进行传送。但是,如果存在网络故障,则重传时的任何尝试将仍然失败,并且将重复该过程直到网络连接超时为止。在一些这种例子中,仅仅在连接超时之后才对网络故障进行确认,此时可以经由备份网络来建立替代的通信路径。通常,用于检测这种网络故障和在冗余网络上重新建立连接的时间,可能也要花费一分钟以上。在很多过程控制设置中,一分钟不进行通信是不可接受的。通常,可接受的时延是不超过五秒。此外,在很多这种环境下,在故障和重新连接之间的大部分时间期间,末端用户不了解发生了故障,因此,末端用户可能在观看和依赖于在瘦客户端处的屏幕上显示的已经过期的信息。另外,在发生网络故障之后和建立新连接之前尝试传送的任何数据发生丢失。
[0022]在不会丢失任何数据的情况下,向冗余网络提供无缝故障切换的一种解决方案涉及使用并行冗余协议(PRP)。通过将每一个数据分组发送两次(在至少两个网络的每一个网络接口上一次),甚至当一个网络发生故障时,PRP也实现数据通信的成功传送。这种方法在故障恢复时没有延迟,并且确保不会丢失数据。但是,由于发送和接收了两倍的数据,因此这种方法涉及网络流量和计算机处理量的显著增加。
[0023]使用诸如能够对冗余进行处理的外部交换机之类的特殊硬件和/或利用支持链路聚合以便与瘦客户端一起来使用的网络接口卡来实现了其它冗余方案。但是,在获取和维护另外的硬件设备时存在另外的成本。此外,在根据网络架构来配置交换机与虚拟局域网(VLAN)和/或链路聚合时,存在增加的复杂度。此外,这些硬件组件通常是由与虚拟化软件的提供商不同的制造商来提供的。
[0024]本文所公开的例子提供了克服上面的限制,以在不损失数据和不显著增加数据处理或带宽需求的情况下提供快速恢复时间(小于五秒)的冗余网络系统。本文所公开的例子可以在任何网络主机组上实现,每一个网络主机具有两个网络接口,这两个网络接口中的每一个连接到两个网络中的一个网络。如本文所使用的,术语“网络主机”(或者“主机”)指代连接到网络并使用传输控制协议/互联网协议(TCP/IP)协议栈进行通信的任何计算机或其它设备(无论是虚拟实现的,还是经由物理硬件来实现)。示例性网络主机包括虚拟机、瘦客户端、胖客户端、嵌入式控制器和/或任何其它适当的计算设备。
[0025]本文所公开的例子涉及多归属网络主机。也就是说,旨在是本文所描述的冗余方案的一部分的每一个主机,经由两个网络接口(例如,NIC)来连接到两个独立的网络。此夕卜,参与同一冗余方案的每一个主机与该方案中的每一个其它主机连接到相同的两个网络。也就是说,这些网络主机中的每一个网络主机包括在两个单独的网络上实现面向连接的通信的两个网络接口,这两个单独的网络对于包括成该冗余方案的一部分的所有主机是共同的。虽然形成冗余方案的一部分的网络主机具有两个共同网络,但在一些例子中,这些网络中的任意一个网络也可以包括没有连接到另一个网络的一个或多个其它主机。虽然在本文所描述的冗余方案中将不包括这些主机,但这些主机并不妨碍该方案。此外,这些主机中的一个或多个主机可以连接到另外的网络,而不影响本文所公开的教导。另外,在一些例子中,在过程控制系统中可以存在多组的网络主机,每组的网络主机都包括两个共同网络。在这些例子中,每一组的网络可以单独地实现本文所公开的教导。
[0026]虽然本文所描述的冗余方案有益于解决在虚拟过程控制系统背景下的对可用性的特定关注,但本文所描述的教导也可以替代地在完全的物理环境中(即,不具有虚拟化)实现。也就是说,本文所公开的教导适用于共享两个共同网络,并基于TCP/IP协议进行通信的任何网络主机集合。
[0027]通过在对于网络主机来说共同的两个独立的网络上监测这些网络主机之间的连接状态,来实现本文所描述的示例性冗余方案。通过对网络连接进行基本实时地监测,快速地检测到网络故障。一旦在这些网络中的一个中检测到网络故障,则根据本文所公开的教导,相关联的网络主机使用互联网协议(IP)路由标准来自动地建立替代的通信路径,该替代的通信路径绕过出故障的网络。更具体地说,网络主机将来自这些网络接口中的一个网络接口(其连接到出故障的网络)的传输,重新路由经过(与操作的网络相连接的)另一个网络接口。
[0028]在一些所公开的例子中,网络故障的检测和替代通信路径的建立花费不超过五秒。在一些例子中,更短的时间是可能的(例如,500毫秒或者更少)。因此,本文所公开的例子提供了过程控制系统环境所需要的要求之内的恢复时间,以确保可靠的和最新的数据可用于操作者和其它末端用户。此外,检测网络故障和建立替代通信路径所花费的时间,小于用于数据传输的连接超时时段。也就是说,在网络主机停止尝试数据的重传之前,将建立替代的路由。因此,不会丢失数据,并且将延迟至多是几秒。
[0029]如本文所描述的基本实时地检测网络故障以实现从这些故障中快速地恢复,是通过在连接网络主机的两个网络中的每一个网络上,对这些主机之间的连接性进行连续地监测来实现的。在一些例子中,每一个网络主机都准备了在网络上向每一个其它网络主机进行频繁地发送的完整性消息。在一些例子中,该完整性消息不同于与过程控制系统的普通操作相关联的主机之间的典型数据传输。在一些例子中,在相应的网络上广播该完整性消息。在其它例子中,仅仅将完整性消息组播到被配置为接收这些消息的那些网络主机。在一些例子中,在每一个网络接口之间,交替地传输来自每一个网络主机的每一个连续的完整性消息。在一些例子中,在从网络接口中的任何一个网络接口发送后续的完整性消息之前,从每一个连接的主机的每一个网络接口都发送完整性消息。也就是说,在返回到第一网络主机重复该过程之前,一些例子循环地通过每一个网络主机的每一个网络接口。在一些例子中,在一秒的一部分之内,发生循环地通过每一个网络主机的每一个网络接口。用此方式,每一个网络主机在频繁的基础上,经由每一个网络接口来向每一个其它网络主机发送完整性消息。因此,可以对经由每一个网络接口的每一个网络主机之间的连接进行连续地监测,以快速地检测到任意两个网络主机之间的故障。
[0030]每一个完整性消息用于测试发送方主机与每一个其它主机在相应的网络上的连接性。如果每一个其它网络主机都在特定的网络上从发送方主机接收到完整性消息,则这些网络主机中的每一个可以确认其自己与发送方主机之间在该网络上的通信状态是良好的。另一方面,如果这些网络主机中的一个或多个网络主机无法接收到从特定的主机所发送的完整性消息,则完整性消息的缺失指示发生网络故障。因此,无法接收到所预期的完整性消息的网络主机,可以确认自己和从其预期该消息的主机之间的连接状态是坏的。
[0031]在一些例子中,按照已知的时间间隔来定期地发送完整性消息,使得如果在与该已知时间间隔相比更长的时间段上没有从特定网络主机的特定网络接口接收到消息,则可以假定发生网络故障。在一些例子中,基于在阈值时间段上没有接收到完整性消息来检测到网络故障,其中该阈值时间段是从同一网络主机的同一网络接口所发送的各个连续完整性消息之间的时间间隔的三倍。在一些例子中,与该时间间隔的三倍相比,所述阈值时间段可以更长或者更短。
[0032]在每一个网络上从每一个主机向每一个其它主机发送的定期完整性消息,用作对于经由各个网络的各个网络主机之间的连接的检查或者测试。如果网络主机接收到完整性消息,则确认在该主机和发送该消息的网络主机之间的连接或通信状态是良好的。如果网络主机没有接收到完整性消息(在阈值时间段之后),则确认该主机和从其预期消息的网络主机之间的连接状态是坏的。因此,在一些例子中,基于是否独立于这些消息中包含的内容来接收到消息,来确定每一个主机之间的连接或通信状态。但是,在一些例子中,完整性消息的内容包括用于为每一个网络主机提供另外的信息,以便对不同的主机在不同的网络上的之间的连接状态进行验证的完整性信息。
[0033]在一些例子中,完整性消息包括主机信息,该主机信息标识发送该完整性消息的网络主机。在一些例子中,该主机信息包括发送该消息的网络主机的两个网络接口的IP地址。用此方式,每一个网络主机具有在检测到网络故障时,创建替代的通信路径所必需的IP信息。在一些例子中,各个网络主机使用该主机信息来发现网络上的其它主机。
[0034]另外,在一些例子中,完整性消息包括用于指示在发送该消息的网络主机与每一个其它主机之间针对两个网络接口的连接或通信状态的完整性信息。在一些例子中,通过生成该信息和接收与其它网络主机中的每一个网络主机相关联的通信状态(当它们发送它们的完整性消息时),这些网络主机中的每一个网络主机可以生成用于表示自身与每一个其它主机之间的通信状态的完整性表。在一些例子中,这种信息依赖于在由于网络故障而使得直接连接发生失败时,来规定替代的通信路径。另外地或替代地,在一些例子中,将每一个完整性消息中所包括的完整性信息,使用成基于每一个主机是否从其它主机接收到完整性消息以及其何时从其它主机接收到完整性消息,对由每一个主机确定的通信状态进行的冗余检查。
[0035]虽然完整
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1