一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

容错背板槽位分配的制作方法

2022-05-21 02:11:23 来源:中国专利 TAG:


1.本文公开的主题涉及用于在容错背板中分配逻辑/槽位地址的系统和方法,更具体地,涉及工业控制器中用于检测存在于工业控制系统中的模块并且为每个模块分配逻辑/槽位地址的自动化过程。


背景技术:

2.工业控制器诸如可编程逻辑控制器(plc)是用于对例如工厂环境中的工业过程或机器的控制的专用电子计算机系统。工业控制器在许多方面不同于常规计算机。从物理上讲,它们的构造具有更强的抗冲击性和抗损坏性,并且更好地抵御外部污染物和极端环境条件。处理器和操作系统针对实时控制和执行语言进行优化,从而允许随时定制程序以适应各种不同的控制器应用程序。工业控制器可以具有用于访问、控制和/或监视工业控制器的用户接口,诸如通过具有键盘、鼠标和显示器的本地连接终端。
3.如本领域技术人员所知,工业控制器可以根据受控机器或过程的要求进行配置。工业控制器包括处理器模块以及各种输入模块和输出模块。输入模块接收来自传感器、开关和提供受控机器或过程的操作状态的其他设备的信号。处理器模块执行控制程序,该控制程序接收输入信号并且响应受控机器或过程的操作状态而生成输出信号。输出信号从输出模块递送至执行器、指示器和其他设备,以实现受控机器或过程的期望操作。其他模块诸如计数器模块、网络模块等可以被包括在受控机器或过程中。
4.在一些应用中,可能期望提供增加的容错。容错使得由工业控制器控制的机器或过程能够在系统中出现单个故障时以相同的容量或可能以降低的容量继续操作。提高容错的常用方法是在控制系统中提供冗余。对于冗余部件,存在辅助模块或备用模块,并且将其配置成在主模块发生故障时承担操作。可以生成消息以警告技术人员关于初始故障,从而可以在期望的时机安排维护。然而,即使在存在单个故障的情况下,通过使用冗余部件,受控机器或过程的操作也可以继续进行。
5.为了从各个模块接收输入信号并且向各个模块提供输出信号,处理器模块必须与各个模块通信。通常,在处理器模块与连接至本地模块库上的处理器模块的每个附加模块之间提供专用通信总线,也称为背板。背板被配置成适应模块之间的高速和可靠通信。另外,可能期望使背板容错。因此,可以提供冗余背板,使得每个模块包括两个专用通信总线。如果一个背板发生故障,则另一背板上的通信可能会继续。
6.随着工业过程的复杂性增加,越来越多的模块被连接至工业控制器。模块通常分布在机器周围或沿生产线分布,并且可以包括在本地模块库和多个远程模块库两者中。越来越多的模块和这些模块在机器周围的分布需要更复杂的控制程序。此外,分布式模块需要通过工业通信网络和/或通过本地/远程背板在模块与工业控制器之间进行通信。
7.为了在本地库或远程库中的不同模块之间进行通信,每个模块都在其自己的本地背板上需要逻辑/槽位地址,数据消息可以发送至该逻辑/槽位地址。此外,每个模块的逻辑/槽位地址需要与本地库中其他模块的地址不同,以确保将数据消息递送至正确模块。工
业控制系统中所有模块的逻辑/槽位地址的手动配置可能是耗时的,特别是鉴于模块数目不断增加。分布式模块可能需要技术人员在位置之间移动,以访问每个模块并且完成手动配置。手动配置还容易出现人为错误,并且可能导致一个或更多个模块被分配不正确或重复的地址。
8.因此,期望提供用于为工业控制系统中的模块分配槽位地址的改进方法和系统。


技术实现要素:

9.根据本发明的一个实施方式,一种用于为容错工业控制系统中的多个模块分配地址的方法包括:对第一基座上的至少一个背板开关与至少一个附加基座上的至少一个背板开关之间的至少一个背板上的连接进行认证;以及当第一基座检测到指示第一基座是主基座的信号时,为第一基座分配主基座地址。在第一基座处从至少一个附加基座接收基座地址请求,以及当已经为第一基座分配了主基座地址时,响应于接收到基座地址请求,将基座地址和槽位起始地址从第一基座发送至至少一个附加基座。使用主基座上的至少一个主模块从至少一个附加基座上的至少一个模块接收槽位地址请求,以及将槽位地址响应从至少一个主模块发送至至少一个附加基座上的至少一个模块。
10.根据本发明的另一方面,至少一个背板可以包括第一背板和第二背板,第一基座可以包括第一背板开关和第二背板开关,并且至少一个附加基座可以包括第一背板开关和第二背板开关。第一背板可操作地连接在第一基座上的第一背板开关与至少一个附加基座上的第一背板开关之间,并且第二背板可操作地连接在第一基座上的第二背板开关与至少一个附加基座上的第二背板开关之间。对第一基座上的至少一个背板开关与至少一个附加基座上的至少一个背板开关之间的至少一个背板上的连接进行认证的步骤还包括:对第一基座上的第一背板开关与至少一个附加基座上的第一背板开关之间的第一背板上的第一连接进行认证;以及对第一基座上的第二背板开关与至少一个附加基座上的第二背板开关之间的第二背板上的第二连接进行认证。
11.根据本发明的又一方面,主基座上的至少一个主模块可以包括第一主模块和第二主模块。使用主基座上的至少一个主模块从至少一个附加基座上的至少一个模块接收槽位地址请求的步骤还包括:使用主基座上的第一主模块从至少一个附加基座上的至少一个模块接收槽位地址请求;以及使用主基座上的第二主模块从至少一个附加基座上的至少一个模块接收槽位地址请求。将槽位地址响应从至少一个主模块发送至至少一个附加基座上的至少一个模块的步骤还包括:将槽位地址响应从第一主模块发送至至少一个附加基座上的至少一个模块;以及将槽位地址响应从第二主模块发送至至少一个附加基座上的至少一个模块。
12.根据本发明的另一实施方式,一种被配置成为多个槽位分配地址的工业控制系统包括:主基座,其具有第一背板和第二背板;安装至主基座的第一主背板开关,该第一主背板开关被配置成在第一背板上通信;安装至主基座的第二主背板开关,该第二主背板开关被配置成在第二背板上通信;安装在主基座上的第一槽位中的第一主模块;以及安装在主基座上的第二槽位中的第二主模块。第一主模块与第一主背板开关和第二主背板开关通信,并且第二主模块与第一主背板开关和第二主背板开关通信。工业控制系统还包括:至少一个附加基座,其具有第一背板和第二背板,其中,至少一个附加基座中的第一背板被配置
成与主基座中的第一背板通信,并且至少一个附加基座中的第二背板被配置成与主基座中的第二背板通信。至少一个附加基座还包括至少一个附加第一背板开关和至少一个附加第二背板开关。至少一个附加第一背板开关中的每个安装至至少一个附加基座之一,并且被配置成在对应的附加基座的第一背板上通信,并且至少一个附加第二背板开关中的每个安装至至少一个附加基座之一,并且被配置成在对应的附加基座的第二背板上通信。工业控制系统还包括多个附加模块,其中,附加模块中的每个安装在至少一个附加基座之一上的槽位中,并且附加模块中的每个与对应的附加基座上的附加第一背板开关和附加第二背板开关通信。第一主背板开关和相隔一跳连接的至少一个附加第一背板开关被配置成对第一主背板开关与至少一个附加第一背板开关之间的连接进行认证,并且第二主背板开关和相隔一跳连接的至少一个附加第二背板开关被配置成对第二主背板开关与至少一个附加第二背板开关之间的连接进行认证。第一主背板开关将基座地址和槽位起始地址发送至相隔一跳连接的至少一个附加第一背板开关,并且第二主背板开关将基座地址和槽位起始地址发送至相隔一跳连接的至少一个附加第二背板开关。
13.根据详细描述和附图,本发明的这些和其他优点及特征对于本领域技术人员将变得明显。然而,应当理解,尽管详细描述和附图指示了本发明的优选实施方式,但是详细描述和附图通过说明的方式给出并且是非限制的。在不脱离本发明的精神的情况下,可以在本发明的范围内进行许多改变和修改,并且本发明包括所有这样的修改。
附图说明
14.在附图中示出了本文公开的主题的各种示例性实施方式,贯穿附图,相同的附图标记表示相同的部件,并且在附图中:
15.图1是并入本发明的一个实施方式的示例性工业控制系统的部分前视图;
16.图2是图1所示的示例性工业控制系统的部分框图;
17.图3是图1所示的示例性工业控制系统的、示出了用于认证的数据流的部分框图;
18.图4是示出根据本发明的一个实施方式的用于图3所示的认证的步骤的流程图;
19.图5是图1所示的示例性工业控制系统的、示出了用于分配基座地址的数据流的部分框图;
20.图6是示出根据本发明的一个实施方式的用于分配如图5所示的基座地址的步骤的流程图;
21.图7是图1所示的示例性工业控制系统的、示出了用于验证主基座中的槽位编号的数据流的部分框图;
22.图8是示出根据本发明的一个实施方式的用于验证如图7所示的主基座模块中的槽位编号的步骤的流程图;
23.图9是图1所示的示例性工业控制系统的、示出了用于验证i/o模块中的槽位编号的数据流的部分框图;以及
24.图10是示出根据本发明的一个实施方式的用于验证如图9所示的i/o模块中的槽位编号的步骤的流程图。
25.在描述附图中示出的本发明的各种实施方式时,为了清楚起见,将采用特定的术语。然而,本发明并不旨在限于如此选择的特定术语,并且应当理解,每个特定术语包括以
类似方式操作以实现类似目的的所有技术等同物。例如,经常使用词语“连接”、“附接”或与其类似的术语。它们不限于直接连接,而是包括通过其他元件的连接,其中,这样的连接被本领域技术人员认为是等同的。
具体实施方式
26.参照在以下描述中详细描述的非限制性实施方式来对本文公开的主题的各种特征和有利细节进行更充分的说明。
27.本文公开的主题描述了用于为容错工业控制系统中的模块分配槽位地址的方法和系统。为了获得期望的容错,工业控制系统使用了冗余部件。工业控制系统包括经由冗余背板和/或冗余工业网络连接在一起的一系列基座,并且每个基座包括安装在该基座上的槽位中的冗余模块。每个系列的基座形成模块库,并且第一基座——在本文称为库主基座——位于该模块库的一端处。在控制器本地库的情况下,库主基座可以包括一对控制器模块,或者在远程库的情况下,库主基座可以包括一对适配器模块。库主基座上的成对的控制器/适配器模块在本文也将被称为库主模块。每个基座包括一对背板开关,其中,每个背板开关被配置成在冗余背板之一与位于基座上的冗余模块之间进行通信。一对背板开关中的第一开关连接至第一背板,而一对背板开关中的第二开关连接至第二背板。根据本发明的一方面,每个背板被配置为基于以太网的背板。模块之间的通信可以利用每个模块的物理地址。如果不知道物理地址,则可以经由预先安排的多播数据分组进行通信。在槽位分配过程期间,库主模块生成限定与本地库中每个逻辑地址相关联的物理地址的表。
28.背板开关被配置成彼此通信并且与模块通信,以在库上的模块之间建立通信。在加电时或在预定义的时间间隔内,背板开关被配置成对模块之间的连接进行认证,以及/或者为每个基座和每个模块分配地址。作为初始步骤,背板开关被配置成对位于模块库内相邻基座处的开关之间的连接进行认证。当相邻开关之间的连接已得到认证,基座地址的自动分配就会继续进行。每个基座可以包括硬件信号,诸如上拉/下拉信号等,其可以选择性地将基座识别为库主基座或非主i/o(输入/输出)基座。包括冗余库主模块(控制器或适配器)的最左边的基座通常被配置有将该基座识别为库主的硬件信号。其余基座被配置为非主i/o基座。每个基座上的背板开关接收来自基座的硬件信号。被识别为库主基座的基座上的背板开关为该基座分配基座编号零,并且为库主基座上的每个槽位分配预定义的槽位地址。根据本发明的一个实施方式,预定义的槽位地址可以是槽位一百和一百零一。未被识别为库主的每个基座上的背板开关启动基座地址请求的传输。基座地址请求从一个基座的背板被开关发送至相邻基座的背板开关。除了离库主最远的基座之外,每个基座上的背板开关将接收来自其右侧的直接邻居的基座地址请求。
29.只有在背板开关所在的基座被分配了它自己的基座地址之后,才由背板开关发送基座地址响应。因为只有在背板开关被分配了它自己的基座地址之后才发送基座地址响应,所以库主上的背板开关最初是生成响应的唯一开关。如前面所说明的,作为硬件信号的结果,库主已经被分配基座零。库主上的背板开关以基座地址零使其基座编号递增,并且向相邻基座上的背板开关发送响应。另外,库主上的背板开关发送槽位起始地址。库主上的背板开关在槽位零处开始槽位寻址。相邻基座上的背板开关为它自己分配在基座地址响应中接收到的基座编号一,并且然后为对应基座上的每个槽位分配在基座地址响应中接收到的
从槽位零开始的槽位地址,并且每个槽位地址按基座中的槽位数目顺序递增。例如,如果基座具有两个槽位,则其将分配槽位地址零和一。如果基座具有四个槽位,则其将分配槽位地址零、一、二和三。然后,相邻基座上的背板开关将从其自己的基座地址开始使基座编号递增,并且从分配给其的最后一个槽位地址使槽位地址递增。在接收到基座地址请求时,与库主相邻的基座上的背板开关接下来在基座地址响应中将递增的基座编号和槽位编号发送至下一相邻基座上的后续背板开关。每个基座沿着库顺序地重复该过程,从而使基座地址递增一,并且使槽位地址递增基座上的槽位数目,并且沿着库传递新的基座地址和槽位地址,直到基座上的每个背板开关都接收到基座地址。
30.首先转向图1,示出了根据本发明的一个实施方式的用于工业控制系统的模块库10。模块库10包括第一段15和第二段20。第一段15包括第一组物理基座(27、22a和22b),并且第二段20包括第二组物理基座(22c、22d)。物理基座27、22a、22b、22c和22d中的每个物理基座被配置为无源设备。每个基座包括多个连接器,其中,每个连接器被配置成容纳相邻模块、线缆连接等。在各个连接器之间的每个物理基座27、22a、22b、22c和22d的内部建立电连接。
31.电力基座27被配置为容纳一对电力供应模块25。线缆(未示出)可以插入至用于电力供应模块25中的每个的电力供应连接器29中。可以预期电源可以是单相交流(ac)电力供应装置(如110vac电源)或者直流(dc)电源(如24vdc电源)。每个电力供应模块25接收输入功率,并且供应工业控制库中的不同模块所需的适当的ac电压或dc电压。为了提供容错,每个电力供应模块25被配置成使得在两个电力供应模块25中的一个发生故障的情况下可以供应工业控制库的全部电力需求。电力基座27具有冗余连接器(未示出)以向下游基座22供应冗余电力,并且通过冗余连接器向库中的不同模块供应冗余电力。
32.在第一段15上与电力基座27相邻的基座22a被配置成:在控制器本地库的情况下容纳一对控制器模块30a和30b;或者在远程库的情况下容纳一对适配器模块30a和30b;并且容纳一对网络媒体着陆模块35a和35b。第一段15上的第二基座22b被配置成容纳四个输入/输出(i/o)模块40。所述一对控制器模块或适配器模块30插入至第一基座22a中,第一基座22a在本文中也将被称为库主物理基座。每个控制器模块30被配置成执行控制程序,其中,控制程序被配置成从输入模块接收输入信号,并且根据输入信号为输出模块生成输出信号。在一个实施方式中,每个控制器模块30可以包括控制程序的副本,并且将在彼此同步并且交换输入信号之后同时执行控制程序。每个控制器模块30将在控制程序执行结束时交换计算结果,以为输出模块生成输出信号。如果在一个控制器模块30中发生故障,则另一个控制器模块将继续单独执行,直到另一个控制器被修复为止。在另一实施方式中,每个控制器模块30可以包括控制程序的副本,并且一个控制器模块被配置为主控制器30a,而另一个控制器模块被配置为备用控制器30b。主控制器30a可以使用控制程序的当前操作状态持续地更新备用控制器30b。如果在主控制器30a中发生故障,则备用控制器30b接管对工业控制系统的控制,直到另一个控制器被修复为止。可以设想,这两个实施方式将由用于控制系统的不同部分的单个控制器模块来支持。冗余适配器模块30a和30b用于远离控制器本地模块库而定位的i/o模块库的情况。每个适配器模块被配置成将从通信网络38a、38b上的控制器模块30接收到的控制消息转换成可以传输至本地背板50上的i/o模块40以用于远程模块库的数据,反之亦然。在适配器模块中的一个故障的情况下,控制器模块将仍然能够通过正常
工作的适配器模块控制系统,直到故障的适配器模块被修复为止。
33.第一可寻址物理基座22a还包括用于一对网络媒体着陆模块35的连接器。每个网络媒体着陆模块35被配置成连接至冗余工业通信网络。每个网络媒体着陆模块35提供插入不同的网络媒体类型诸如光纤或铜以在物理层处进行网络连接的便利方式。通信消息本身由控制器或适配器模块30通过网络媒体着陆模块35发送或接收。工业通信网络可以是适用于高度可靠和可用的实时通信的特殊“控制网络”。这样的控制网络(例如,或以太网/(ethernet/))与标准通信网络(诸如以太网)的不同之处在于,通过预调度网络的通信容量和/或提供设备之间的预定义连接来保证最大通信延迟。第一网络媒体着陆模块35a包括:将第一网络媒体着陆模块连接至第一网络38a的第一网络电缆36a;以及将第一网络媒体着陆模块连接至第二网络38b的第二网络电缆37a。类似地,第二网络媒体着陆模块35b包括:将第二网络媒体着陆模块连接至第一网络38a的第一网络电缆36b;以及将第二网络媒体着陆模块连接至第二网络38b的第二网络电缆37b。所有通信可以通过两个网络38a、38b传输,并且可以在网络之间对接收到的数据分组进行比较,以确保两个网络都正确操作。在网络38a、38b中的一个网络中故障的情况下,另一个网络允许工业控制系统继续操作。
34.第一段15中的第二可寻址物理基座22b包括用于多个i/o模块40的连接器。因为所示出的控制系统是容错系统,因此可以预期在一个实施方式中i/o模块40可以被配置为成对的相同模块。在另一实施方式中,一些i/o模块40可以被配置为独立操作。虽然本文在不同类型的i/o模块40之间没有进行区分,但是可以设想,i/o模块可以是根据应用需求的任何合适的模块。i/o模块40可以是模拟的或数字的,并且i/o模块可以包括仅输入、仅输出或其组合。i/o模块可以被配置成接收或供应dc电压或ac电压。每个io模块40包括一组端子45,其中,每组端子45还可以被插入至物理基座22上的与i/o模块40连接的连接器中。端子45被配置成容纳i/o模块40与受控机器或过程上的设备之间的布线。
35.根据本发明的另一方面,第一段15中的物理基座22中的每个包括安装至基座22上的连接器的一对背板开关50a、50b。每个背板开关50用于促进基座22上的模块之间的通信。每个背板开关50连接在基座22上的模块30或模块40与物理基座22内的容错背板之间。如前所述,通过连接器在物理基座22之间建立用于冗余电力装置和冗余背板的电连接。在物理基座22内,通过印刷电路板布线来建立用于冗余电力装置、冗余背板、模块连接器和i/o端子的电连接。与其他容错部件类似,背板中的容错是经由冗余获得的。容错背板包括第一背板55a和第二背板55b。图2示出了图1中的背板开关、模块和物理基座之间的逻辑连接。还参照图2,控制器模块30和i/o模块40各自连接至一对开关50a、50b。第一开关50a连接在模块30或模块40与第一背板55a之间。第二开关50b连接在模块30或模块40与第二背板55b之间。第一背板55a连接在成对的第一开关50a之间,并且第二背板55b连接在成对的第二开关50b之间。
36.再次参照图1,第二段20包括两个附加的物理基座22c和22d,物理基座22c和22d均被配置成容纳多个i/o模块40。因为所示出的控制系统是容错系统,因此可以预期在一个实施方式中i/o模块40可以被配置为成对的相同模块。在另一实施方式中,一些i/o模块40可以被配置为独立操作。与第一段15中基座22b上的i/o模块40类似,本文在不同类型的i/o模块40之间将不进行区分。可以设想,i/o模块可以是根据应用需求的任何合适的模块。i/o模
块40可以是模拟的或数字的,并且i/o模块可以包括仅输入、仅输出或其组合。i/o模块可以配置成接收或供应dc电压或ac电压。每个io模块40包括一组端子45,其中,每组端子45还可以插入至第二组物理基座22a和物理基座22b上的连接器中。端子45被配置成容纳i/o模块40与受控机器或过程上的设备之间的布线。
37.与第一段15上的物理基座22a、22b类似,两个附加的物理基座22c、22d中的每个包括安装至基座22c、22d上的连接器的成对的开关50a、50b。每个开关50用于促进基座22上的模块40之间的通信。每个开关50连接在基座22上的i/o模块40与物理基座22内的容错背板55之间。如前所述,通过连接器在物理基座22之间建立用于冗余电力装置和冗余背板的电连接。对于彼此相邻安装的基座22,连接器可以在基座之间建立直接连接。对于彼此间隔开一定距离安装的基座22,可以在基座22之间连接线缆65。在物理基座22内,通过印刷电路板布线建立用于冗余电力装置、冗余背板、模块连接器和i/o端子的电连接。与其他容错部件类似,背板的容错是经由冗余获得的。容错背板包括第一背板55a和第二背板55b。还参照图2,i/o模块40各自连接至一对开关50a、50b。第一开关50a连接在i/o模块40与第一背板55a之间。第二开关50b连接在i/o模块40与第二背板55b之间。第一背板55a连接在成对的第一开关50a之间,并且第二背板55b连接在成对的第二开关50b之间。
38.由于控制柜的物理尺寸限制,可能难以在单个行中安装库的所有基座/模块。因此,考虑允许库的多个段,使得可以以灵活的方式将多个段布置在控制柜内。背板55包括背板扩展模块60和背板线缆65,以连接物理基座的两个段15和20。第一段15的第二物理基座22b上的基座间连接器可以容纳可插拔的第一背板扩展模块60a和可插拔的第二背板扩展模块60b。类似地,第二段20上的第一物理基座22c上的基座间连接器可以容纳可插拔的第一背板扩展模块60a和第二可插拔的背板扩展模块60b。第一背板线缆65a在两个第一背板扩展模块60a之间延伸第一背板55a,并且第二背板线缆65b在两个第二背板扩展模块60b之间延伸第二背板55b。背板扩展模块60和背板线缆65将单独的物理段15和物理段20连接到具有在所述段中的每个段之间延伸的公共容错背板的单个模块库中。背板线缆65在所述段之间承载冗余电力和冗余背板信号两者。当每个背板正常操作时,每个模块30、模块40能够经由任一背板55与沿模块库的任何其他模块通信。
39.为了与连接至背板的其他模块进行通信,每个模块必须具有可以向其传输数据的地址。库中的每个模块30、模块40可以包括在模块的制造期间分配的可以向其传输数据分组的物理地址,诸如媒体访问控制(mac)地址。最初,其他模块不知道这些物理地址。此外,不期望在控制器模块30中执行的控制程序需要物理地址以便在模块之间传输数据。因此,期望为每个模块30、模块40分配逻辑地址。逻辑地址可以在控制程序的开发期间使用,以限定工业控制系统内的每个模块30、模块40。在通电时,工业控制系统对背板55进行初始化,并且将物理地址与逻辑地址相关联,以使得能够在模块30、模块40之间进行通信。
40.在操作中,背板开关50用作用于向模块30、模块40中的每个分配逻辑地址的主要协调设备。分配地址通常以三个步骤进行。作为初始步骤,背板开关50在相邻背板开关之间执行认证,以沿背板55建立连接。类似地,背板开关50和模块30、模块40彼此认证,以在背板上建立连接。然后,背板开关50启动数据分组的序列,以请求针对每个基座的逻辑地址和针对基座上的每个槽位的逻辑地址。最后,每个模块30、模块40可以从库主模块请求槽位地址,并且对已分配的逻辑槽位编号进行验证。
41.接下来参照图3和图4,一对流程图示出了背板开关50与模块30、模块40中的每个模块之间相互认证的一个实施方式。认证验证在容错背板55上通信的每个模块或背板开关是经授权的模块或背板开关。验证在加电时进行并且可以再次进行,例如,在任何背板开关或模块在故障后被更换的情况下、在任何相邻背板开关之间的链路丢失并且恢复或者背板开关与模块之间的链路丢失并且恢复的情况下、或者定期地进行,以验证连接至背板55的模块仍然是经授权的设备。如上所述,在通电时或在任何时候,背板开关50或模块30、模块40可以被视为未经授权,未经授权的设备被阻止通过背板开关50在相应端口上的硬件能力向背板55的其余部分发送数据分组或从背板55的其余部分接收数据分组。未经授权的设备仅可以与相邻的背板开关50进行通信,直到该设备被认证为止。
42.图3示出了图1中的背板开关50、模块30或模块40和物理基座22之间的逻辑连接以及用于两个相邻背板开关50a之间的相互认证以及用于背板开关50与控制器模块30中的一个之间的相互认证的数据流。虽然图3仅示出了相互认证的数据流序列中的两个,但是在每个模块30、模块40与背板开关50之间存在用于相互认证的类似的数据流序列。由于任意两个背板开关之间的相互认证序列与模块和背板开关之间的序列相同,因此下述描述主要说明两个背板开关50之间的过程。
43.出于说明的目的,在图3中,示出了在库主基座22a上的第一背板开关50a与位于库主相邻的i/o模块基座22b上的背板开关50a之间的认证。最初,库主基座22a上的第一开关50a生成第一随机数r1,并且相邻i/o模块基座22b上的第一开关50a生成第二随机数r2。然后,库主基座22a上的第一开关50a从库主基座的第一开关50a上的第一端口51向i/o模块座22b上的第一开关50a上的另一端口53发送第一认证请求消息100,并且i/o模块基座22b上的第一开关50a从i/o模块基座22b的第一开关50a上的另一端口53向库主基座22a上的第一开关50a上的第一端口51发送第二认证请求消息105。库主基座22a上的第一开关50a包括第一随机数r1和在制造期间在第一认证请求消息100中分配的数字供应商证书。i/o模块基座22b上的第一开关50a包括第二随机数r2和在制造期间在第二个认证请求105中分配的数字供应商证书。
44.因为第一开关50a中的任何一个都不知道另一个第一开关的物理地址,因此每个开关可以生成各自的认证请求作为多播消息。因为第一开关50a中的每个还没有完成认证,因此相应的端口51、端口53被阻塞以发送或接收除认证请求/认证响应之外的消息。每个第一开关50a在其相应的端口51、端口53处从另一个第一开关50a接收认证请求。第一开关50a不允许多播消息沿背板被进一步传输。
45.库主基座22a上的第一开关50a从i/o模块基座22b接收第二认证请求105,并且i/o模块基座22b上的第一开关50a从库主基座22a接收第一认证请求100。在每个多播消息内,第一开关50a包括针对从其发送消息的开关的物理地址。因此,第一认证请求100包括库主基座22a上的第一开关50a的物理地址,并且第二认证请求105包括i/o模块基座22b上的第一开关50a的物理地址。第一开关50a中的每个从在该开关处接收到的相应认证请求消息中提取有效载荷。有效载荷包括随机数r1或随机数r2以及来自另一个第一开关的数字供应商证书。第一开关50a还被配置成从生成认证请求消息的另一个物理基座22a、物理基座22b中提取第一开关的物理地址,使得库主基座22a上的第一开关50a可以随后使用i/o模块基座22b上的第一开关50a的物理地址以用于单播消息,并且i/o模块基座22b上的第一开关50a
可以使用库主基座22a上的第一开关50a的物理地址以用于单播消息。库主基座22a上的第一开关50a然后可以使用私钥来生成第二随机数的签名副本r
2s
,并且i/o模块基座22b上的第一开关50a然后可以使用私钥来生成第一随机数的签名副本r
1s

46.在生成随机数的签名副本之后,库主基座22a的第一开关50a然后生成第一认证响应消息110,其中,第一认证响应消息110包括第二随机数的签名副本r
2s
。由于第二认证请求消息105包括i/o模块基座22b上的第一开关50a的物理地址,因此可以使用单播消息将第一认证响应消息110直接发送至i/o模块基座22b上的第一开关50a。类似地,i/o模块基座22b的第一开关50a然后生成第二认证响应消息115,其中,第二认证响应消息115包括第一随机数的签名副本r
1s
。因为第一认证请求消息100包括库主基座22a的第一开关50a的物理地址,因此可以使用单播消息将第二认证响应消息115直接发送至库主基座22a上的第一开关50a。认证响应消息110、115由相应的背板开关模块50a接收。库主基座22a上的第一开关50a然后使用第一签名随机数r
1s
的公钥来验证经签名的随机数与发送至i/o模块基座22b上的第一开关50a的原始随机数匹配。库主基座22a上的第一开关50a还验证先前从i/o模块基座22b接收到的数字供应商证书是有效证书。类似地,i/o模块基座22b上的第一开关50a使用第二签名随机数r
2s
的公钥来验证经签名的随机数与发送至库主22a上的第一开关50a的原始随机数匹配。i/o模块基座22b上的第一开关50a还验证先前从库主基座22a上的第一开关50a接收到的数字供应商证书是有效证书。当基座22a和基座22b两者上的每个开关50a都完成了认证步骤并且验证一个基座的第一开关50a正在与相邻基座的有效第一开关50a通信时,第一开关50a解除阻塞相应的端口51、端口53,从而使得能够经由每个端口进行正常的消息传输。在发起通信之前,在每对相邻端口之间进行上面描述的相互认证过程。相互认证在第一开关50a和第二开关50b上的相邻端口之间执行。类似地,相互认证在开关50和模块30、模块40上的相邻端口之间执行。当所有端口都已被认证时,开关50就可以开始分配基座地址和槽位地址。
47.还可以预期,上面描述的认证过程可以发生在单个背板上或者仅一个模块与位于单个基座上的开关之间。如前所述,槽位分配过程被配置成在容错系统上操作。例如,如果一个背板故障,则将期望另一个背板进行认证并且允许操作。类似地,如果一个库主模块30故障,则将期望另一个库主模块30进行认证并且允许操作。如果库主22a上的至少一个背板55、背板开关50和一个模块30成功认证端口以建立与附加的基座22b、基座22c的通信,则成功的库主模块30可以承担对工业控制系统的该库的控制。可以将警告和/或故障消息发布给操作者,从而识别哪个背板55、背板开关50或库主模块30认证不成功,使得技术人员可以在方便时纠正、修理或更换故障设备。
48.接下来转向图5和图6,示出了用于分配基座地址和槽位地址的步骤。背板开关50管理基座地址和槽位地址两者的分配。在图6的步骤132处,每个背板开关50首先读取其安装至的物理基座的类型。基座制造期间提供的硬件信号指示基座类型。在本发明的一个实施方式中,硬件信号可以为上拉/下拉电阻。在本发明的另一实施方式中,硬件信号可以是存储在串行只读存储器中的值。根据又一实施方式,硬件信号可以由可在第一位置与第二位置之间移动的简单拨动开关生成或由可以建立或断开电连接的物理跳线连接生成。硬件信号旨在是具有两个不同值的二进制信号,其中,第一值指示基座22是库主,而第二值指示基座22不是库主。
49.在步骤133处,每个背板开关50首先确定其是位于被指定为库主的基座上还是位于附加i/o模块基座之一上。如果背板开关50位于库主基座22a上,则基座地址分配进行至步骤134。在步骤134处,库主22a上的第一开关50a和第二开关50b均给自己分配基座地址零。另外,每个开关50为位于库主基座22a上的两个槽位保留一对预定义的槽位地址。根据本发明的一个实施方式,第一库主模块30a可以被分配槽位一百,而第二库主模块30b可以被分配槽位一百零一。在已经给自己分配了基座地址零并保留了槽位地址一百和一百零一的情况下,库主22a上的每个开关50已经完成了对自己的地址分配,并且在步骤138处退出基座地址分配过程。
50.如果背板开关50位于除库主基座22a之外的附加i/o模块基座22b、22c上,则背板开关50启动基座地址请求,如步骤135所示。每个开关50向位于沿背板55跳转一步的基座上的另一开关50请求地址。如图5所示,第一附加i/o模块基座22b上的第一开关50a生成第一基座地址请求消息120a,并且将其发送至库主基座22a上的第一开关50a。类似地,第一附加i/o模块基座22b上的第二开关50b生成第二基座地址请求消息121a,并且将其发送至库主基座22a上的第二开关50b。第二附加i/o模块基座22c上的第一开关50a可以在第一附加i/o模块基座22b上的第一开关50a生成基座地址请求的同时或者之后生成第一基座地址请求消息120b,并且将其发送至第一附加i/o模块基座22b上的第一开关50a。类似地,第二附加i/o模块基座22c上的第二开关50b生成第二基座地址请求消息121b,并且将其发送至第一附加i/o模块基座22b上的第二开关50b。每个基座仅在分配了其自己的基座地址之后才会响应。
51.寻址从库的一端发生至另一端。具体地,寻址从库主基座22a开始,并且沿着库进行至相邻基座22b、22c。因此,根据所示实施方式,库寻址从左到右进行。如上所述,每个开关可以同时生成基座地址请求消息,但是接收基座地址请求消息的基座仅在拥有其自己的地址之后才会生成成功的响应。库主基座22a是设置其自己地址的唯一基座。因此,库主基座22a可以生成对第一附加i/o模块基座22b的基座地址响应。如图5所示,库主基座22a上的第一开关50a生成对第一附加i/o模块基座22b上的第一开关50a的第一基座地址响应消息125a,并且第二开关50b生成对第一附加i/o模块基座22b上的第二开关50b的第二基座地址响应消息126a。第一基座地址响应消息125a和第二基座地址响应消息126a两者都包括相同的寻址信息。库主基座22a上的背板开关50均使其基座地址递增,并且将所得到的地址插入基座地址响应消息中。由于库主基座22a的地址被设置为零,因此每个开关将第一附加i/o模块基座22b的基座地址设置为一。另外,库主基座22a上的开关50均将第一槽位地址设置为零,并且插入零作为针对第一附加i/o模块基座22b的起始槽位地址。因此,库主基座22a上的第一开关50a和第二开关50b向第一附加i/o模块基座22b上的相应开关发送基座地址一和起始槽位地址零。
52.再次参照图6,基座22上的每个开关50进入步骤135与136之间的循环,等待从相邻基座上的开关50发送的基座地址响应消息125、126,基座22上的每个开关50向相邻基座上的开关50发送基座地址请求消息120、121。当基座上的开关50接收到基座地址响应消息125、126时,其然后设置其自己的基座地址和槽位地址,如步骤137所示。如前所述,槽位地址是根据起始槽位地址和基座22上的槽位编号计算的。在设置其自己的地址之后,基座上的每个开关50可以在步骤138处退出基座地址设置步骤。然而,如果在超时时段内没有接收
到基座地址响应消息125、126,则基座上的开关50向相邻基座上的开关50发送新的基座地址请求消息120、121。
53.再次参照图5,第二附加i/o模块基座22c上的开关50正在向第一附加i/o模块基座22b上的开关50发送基座地址请求消息120、121。在第一附加i/o模块基座22b上的开关50已从库主基座22a上的开关50接收到针对第一附加i/o模块基座22b的地址和针对第一附加i/o模块基座22b上的每个槽位的槽位起始地址之后,每个开关50现在可以生成基座地址响应消息125、126,以发送至第二附加i/o模块基座22c上的对应开关50。第一附加i/o模块基座22b上的开关50使分配至第一附加i/o模块基座22b的基座地址递增,并且根据起始槽位地址和槽位编号确定针对第一附加i/o模块基座22b的结束槽位地址。因为第一附加i/o模块基座22b接收到基座地址分配一,所以每个开关50生成新的基座地址二。第一附加i/o模块基座22b包括四个槽位。因此,每个开关50确定槽位结束地址将为三。这四个槽位将具有零、一、二和三的连续槽位地址。针对第二附加i/o模块基座22c的起始槽位地址将为四。可以设想,基座22可以具有其他槽位编号,例如,二、八、十等。开关50提供比它所在的基座22中的结束槽位地址大一的新槽位地址。第一附加i/o模块基座22b上的每个开关50a、50b向第二附加i/o模块基座22c上的相应开关50a、50b发送基座地址二和起始槽位地址四。该过程重复进行,直到库中的所有基座都接收到基座地址和针对基座的起始槽位地址为止。
54.可以设想,工业控制系统可以具有多个模块库10。另外,每个库10可以具有多于三个基座。示出的实施方式仅是示例性的,而不旨在进行限制。例如,工业控制系统可以包括第一库,在第一库中,库主10包括一对控制器模块30。控制器模块30被配置成执行控制程序,以实现受控机器或过程的期望操作。控制系统所需的i/o模块的数目可能超过一个柜内可用的物理空间。可选地,第二控制柜可以定位在与安装第一库的控制柜分开的位置处。在可替选实施方式中,一对适配器模块(未示出)可以被包括在第二库的前两个槽位中。第二库上的适配器模块在工业网络38与背板55之间转换消息。第一库和第二库可以经由工业网络连接,并且这些库上的模块可以通过网络并且通过相应库上的背板彼此通信。第一库中的控制器模块30用作库主模块,而第二库中的适配器模块用作库主模块。每个库可以以上述方式分配基座地址和槽位地址,其中,控制器模块或适配器模块用作相应库的库主模块30。虽然基座地址和槽位地址可以在不同库之间复制,但是在库之间发送的数据首先经由工业网络38被发送以到达期望的库。一旦数据在期望的库处,其就经由背板55被发送至数据所要到达的指定的库和模块的槽位。
55.接下来转向图7和图8,示出了将槽位地址分配至库主基座的每个槽位中的模块的过程。如步骤150所示,库主基座22a中的每个库主模块30生成槽位地址请求消息140,并且将槽位地址请求消息发送至每个开关50。根据示出的实施方式,第一库主模块30a生成第一槽位地址请求消息140a,并且将第一槽位地址请求消息140a发送至库主基座22a中的第一开关50a。第一库主模块30a生成第二槽位地址请求消息140b,并且将第二槽位地址请求消息140b发送至库主基座22a中的第二开关50b。类似地,第二库主模块30b生成第一槽位地址请求消息140a,并且将第一槽位地址请求消息140a发送至库主基座22a中的第一开关50a。第二库主模块30b也生成第二槽位地址请求消息140b,并且将第二槽位地址请求消息140b发送至库主基座22a中的第二开关50b。
56.库主基座22a中的每个开关50a、50b根据来自基座的硬件信号识别其在库主基座
上,并且对来自库主基座上的模块的槽位地址请求消息的响应不同于开关对位于附加i/o模块基座22b、22c之一上的模块的响应。当开关50a、50b之一位于库主基座22a上并且从库主模块30a、30b接收槽位地址请求消息140时,每个开关50a、50b被配置成将对应于相应库主模块的槽位地址附加至槽位地址请求消息140,以生成新的校验和,如循环冗余校验(crc)校验和,并且将新的校验和附加至槽位地址请求消息140。如先前所指示的,库主基座22a为其自己的每个槽位分配预定义的槽位地址。根据本文讨论的示例性实施方式,第一库主模块30a已经被分配了槽位一百,而第二库主模块30b已经被分配了槽位一百零一。这些值中的每个都附加至对应的槽位地址请求消息140。开关50上的微处理器(未示出)接收包含附加槽位地址的槽位地址请求消息,并且生成槽位地址响应消息145。每个开关50然后将槽位地址响应消息145发送回库主模块30。根据示出的实施方式,第一开关50a响应于从第一库主模块30a接收的第一槽位地址请求消息140a生成第一槽位地址响应消息145a,并且将第一槽位地址响应消息发送至第一库主模块30a。第一开关50a还响应于从第二库主模块30b接收的第一槽位地址请求消息140a生成第一槽位地址响应消息145a,并且将第一槽位地址响应消息发送至第二库主模块30b。类似地,第二开关50b响应于从第一库主模块30a接收的第二槽位地址请求消息140b生成第二槽位地址响应消息145b,并且将第二槽位地址响应消息发送至第一库主模块30a。第二开关50b还响应于从第二库主模块30b接收的第二槽位地址请求消息140b生成第二槽位地址响应消息145b,并且将第二槽位地址响应消息发送至第二库主模块30b。
57.参考图8,每个库主模块30在步骤152处等待槽位地址响应消息145。如果在超时时段内没有接收到响应,则库主模块30返回至步骤150,并且重新发送新的槽位地址请求消息。当库主模块30接收到槽位地址响应消息时,库主模块移动至步骤154和156,以验证并接受槽位地址。槽位地址的验证包括对从每个开关50a、50b接收的槽位地址的值进行比较。因此,第一库主模块30a从接收到的来自第一开关50a的第一槽位地址响应消息145a提取槽位地址,并且从接收到的来自第二开关50b的第二槽位地址响应消息145b提取槽位地址。根据本文讨论的示例性实施方式,两个响应消息中的槽位地址应当是一百。类似地,第二库主模块30b从接收到的来自第一开关50a的第一槽位地址响应消息145a提取槽位地址,并且从接收到的来自第二开关50b的第二槽位地址响应消息145b提取槽位地址。根据本文讨论的示例性实施方式,两个响应消息中的槽位地址应当是一百零一。如果从两个开关接收到的槽位地址匹配,则库主模块30验证并接受槽位地址。如果从两个开关接收到的槽位地址不匹配,则库主模块30将不接受槽位地址,并且将进入指示库主基座22a上的槽位分配过程错误的故障状态。
58.接下来转向图9和图10,示出了将槽位地址分配至附加i/o模块基座22b、22c的每个槽位中的模块40的过程。如步骤170所示,附加i/o模块基座22b、22c中的每个模块40生成槽位地址请求消息160,并且将该槽位地址请求发送至每个库主模块30。为了便于说明,仅从位于第一附加i/o模块基座22b上的第一模块40示出了槽位地址请求消息160和槽位地址响应消息165。然而,附加i/o模块基座22b、22c中的每个上的每个模块40生成一组类似的槽位地址请求消息160,并且库主模块30生成到每个模块40的槽位地址响应消息165。根据示出的实施方式,i/o模块40生成第一槽位地址请求消息160a。第一槽位地址请求消息160a是多播消息,并且经由第一背板55a发送至库主基座22a中的第一库主模块30a和第二库主模
块30b。i/o模块40生成第二槽位地址请求160c,其也是多播消息。i/o模块40经由第二背板55b将第二槽位地址请求160c发送至库主基座22a中的第一库主模块30a和第二库主模块30b。
59.i/o模块40此时不知道针对每个控制器30的物理地址。因此并且如上面所指示的,由i/o模块40生成的每个槽位地址请求160将是多播消息。多播消息使用预定义地址,其中,任何模块都可以被配置成监视针对发送至该地址的消息的预定义地址。因此,i/o模块40可以被配置成生成要发送至多播地址的第一槽位地址请求160a和第二槽位地址请求160c。每个库主模块30可以被配置成监视相同的多播地址,以接收槽位地址请求消息160。两个库主模块30将经由两个背板55返回槽位地址响应165,使得i/o模块40接收四个槽位地址响应。
60.当每个槽位地址请求消息160从i/o模块40发送至库主模块30时,其经由附加i/o模块基座22b上的开关50和库主基座22a上的另一开关50发送。附加i/o模块基座22b上的每个开关50a、50b将槽位地址请求消息160识别为源自该基座22b上的i/o模块40。每个槽位经由专用端口连接至开关50,并且每个开关50还能够识别从附加i/o模块基座22b上的哪个槽位接收槽位地址请求消息160。开关50将如先前在在先槽位地址分配步骤中确定的槽位地址附加至槽位地址请求消息160,并且生成新的校验和,如crc校验和,并且在将该请求发送至库主模块30之前将新的校验和附加至槽位地址请求消息160。例如,如果第一附加i/o模块基座22b上的开关50接收到由第二附加i/o模块基座22c上的模块40之一生成的槽位地址请求消息,则开关50识别出该消息是经由基座之间的背板连接接收的,而不是直接从第一附加i/o模块基座22b上的槽位之一接收的。开关50不修改从另一基座22接收的槽位地址请求消息160,而是简单地沿背板55将槽位地址请求消息传送至库主模块30。
61.对于在库主模块30处接收到的每个槽位地址请求消息160,库主模块30将接收端口信息附加至槽位地址请求消息160,并且生成针对该消息的新的校验和。接收端口信息将识别槽位地址请求消息160是经由第一背板55a还是经由第二背板55b接收的。因此,库主模块30上的微处理器(未示出)接收原始槽位地址请求消息160、识别哪个槽位发送请求的附加槽位地址,以及识别从哪个背板接收消息的接收端口信息。因为槽位地址请求消息160是作为多播消息发送的,所以原始消息包括发送该消息的i/o模块40的物理地址。每个库主模块30将从槽位地址请求消息160提取槽位地址和物理地址,并且创建包含对应模块库10中每个模块的槽位地址和对应物理地址的表。来自每个背板55的两个时隙请求消息160之一将首先被控制器接收。当接收到初始槽位请求消息时,针对i/o模块40的槽位地址表中将没有条目。库主模块30在表中记录槽位地址和针对对应槽位地址的物理地址。每个库主模块30还将从另一背板55接收复制槽位地址请求消息160。当接收到复制槽位地址请求消息160时,库主模块30将槽位地址和针对槽位地址的对应物理地址与表中输入的值进行比较。如果信息匹配,则库主模块30生成成功的槽位地址响应消息165。如果信息不匹配,则库主模块30将生成带有错误消息的槽位地址响应165。由于库主模块30具有请求槽位的物理地址,因此库主模块经由接收请求的背板55将槽位地址响应消息165作为单播消息发送至i/o模块40。
62.参考图10,每个i/o模块40在步骤172处等待槽位地址响应消息。如果在超时时段内没有接收到响应,则i/o模块40返回至步骤170,并且重新发送新的槽位地址请求消息。当i/o模块40接收到槽位地址响应消息时,i/o模块移动至步骤174到178,以验证并接受槽位
地址。槽位地址的验证包括对从每个库主模块30接收的槽位地址的值进行比较的初始步骤,如步骤174所示。如果槽位地址请求过程成功,则每个i/o模块40应当接收四个单独的槽位地址响应消息165。i/o模块40经由第一背板55a从库主基座22a中的第一库主模块30a接收第一槽位地址响应消息165a。i/o模块40经由第一背板55a从库主基座22a中的第二库主模块30b接收第二槽位地址响应消息165b。i/o模块40经由第二背板55b从库主基座22a中的第一库主模块30a接收第三槽位地址响应消息165c。i/o模块40经由第二背板55b从库主基座22a中的第二库主模块30b接收第四槽位地址响应消息165d。如果任何槽位地址响应消息165指示发生了错误,则i/o模块40可以被配置成重新启动槽位寻址过程,并且重新发送新的槽位地址请求消息160。i/o模块40还可以被配置成响应于接收到错误响应而发布故障消息。可选地,i/o模块40可以被配置成在生成故障消息之前重试槽位寻址过程达预定义的尝试次数。成功的槽位地址响应消息165将在响应消息中包括针对i/o模块的槽位地址。i/o模块40从每个槽位地址响应消息165提取槽位地址,并且对来自每个响应的槽位地址进行比较。如步骤176处所示,如果任何槽位地址不匹配,则i/o模块40将重新启动槽位寻址过程。然而,如果从每个槽位地址响应165提取的所有槽位地址都匹配,则i/o模块40接受槽位编号,并且开始使用分配的槽位地址从受控设备接收输入或向受控设备发送输出信号的正常操作。
63.应当理解,本发明在其应用方面不限于本文所阐述的部件的构造和布置的细节。本发明能够具有其他实施方式并且能够以各种方式实践或实施。前述的变化和修改在本发明的范围内。还应当理解,本文所公开和限定的本发明延伸至从文本和/或附图提及或明显的各个特征中的两个或更多个的所有可替选组合。所有这些不同的组合构成了本发明的各种可替选方面。本文所描述的实施方式解释了用于实践本发明的已知的最佳模式,并且将使本领域的其他技术人员能够利用本发明。
64.在前面的说明书中,已经参照附图描述了各种实施方式。然而,将明显的是,在不脱离如在所附权利要求中阐述的本发明的更广泛的范围的情况下,可以对本发明进行各种修改和改变,并且可以实现其他实施方式。因此,说明书和附图被认为是说明性的而非限制性的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献