CN104285190A - 故障安全发现和地址分配 - Google Patents
故障安全发现和地址分配 Download PDFInfo
- Publication number
- CN104285190A CN104285190A CN201280073165.0A CN201280073165A CN104285190A CN 104285190 A CN104285190 A CN 104285190A CN 201280073165 A CN201280073165 A CN 201280073165A CN 104285190 A CN104285190 A CN 104285190A
- Authority
- CN
- China
- Prior art keywords
- equipment
- message
- address
- discovery
- response message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/058—Safety, monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1113—Address setting
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15072—Modules in daisy chain, connected by parallel cable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Small-Scale Networks (AREA)
Abstract
本公开的实施方式涉及一种可编程逻辑控制器(“PLC”)装置,其特征在于控制设备/模块,所述控制设备/模块能够经由“菊花链(daisy chain)”拓扑结构连接到一个或更多个外部设备/模块,在所述拓扑结构中控制设备和一个或更多个外部设备互相串联连接,其中,从发送设备到接收设备的通信必须通过介于其间的每个设备,或者由介于其间的每个设备接收和重新发送。特别地,所公开的实施方式涉及一种系统和方法,通过所述系统和方法,控制设备可以被连接到未知数量的外部设备,并且其中,控制设备可以可靠地发现和配置连接到其的所有外部设备,或者由此检测错误。
Description
背景技术
可编程逻辑控制器(“PLC”)或可编程控制器是数字计算机,用于机电处理的自动控制,诸如对工厂生产线上的机器、游艺机或电灯器具的控制。PLC被用于许多工业和机器中。与通用计算机不同,PLC被设计用于多输入和输出装置、扩大的温度范围、抗电气噪声以及抗震动和冲击。用于控制机器操作的程序一般被存储在具有备用电池的或非易失性的存储器中。PLC是硬实时系统的例子,因为输出结果必须响应于输入条件在有限时间内产生,否则将导致不期望的操作。
与其他计算机的主要区别是,一般装备PLC用于防御恶劣条件(诸如灰尘、潮湿、热、冷),并且PLC具有用于扩展输入/输出(I/O)装置的设施,以连接到例如传感器和执行器。PLC能够读取限位开关、模拟处理变量(诸如温度和压力)以及复杂定位系统的位置。一些PLC可以使用机器视觉和/或可以操作电机、气动或液压气缸、磁继电器、螺线管或模拟输出。输入/输出装置可以被构建到简单PLC中,或PLC可以具有附接到插入到PLC中的计算机网络的外部I/O模块,其可以被称为“信号模块”。
模块化PLC可以包括底板(也称为背板),具有不同功能的模块被放置于其中。处理器和I/O模块的选择对于特定应用被定制。几个背板可以通过单个处理器管理,并且可以具有数千个输入和输出。可以使用通信介质、诸如特别高速串行I/O链路,使得背板可以被布置为远离处理器,从而降低用于大型工厂的配线成本。
PLC可以被用在任务关键的环境中,在所述环境中故障可能危及工人、公众和/或环境安全或导致可观的支出。同样,一些PLC可以被设计为具有故障安全特征。无论如何,需要对这样的PLC进行正确的安装和配置,以确保正确操作,以及例如符合规定的要求。
附图说明
图1描绘了按照所公开的实施方式的包括CPU和多个模块的示例性模块化可编程逻辑控制器的框图。
图2是图1的CPU和模块使用的示例性通信接口的框图。
图3描绘了图1的模块的逻辑架构的框图。
图4示出了按照所公开的实施方式的发现和地址分配处理的概览图。
图5描绘了示出按照所公开的实施方式的进行地址分配和参数化的顺序的流程图。
图6A和6B描绘了按照一个实施方式的地址分配处理的流程图。
图7描绘了示出按照一个实施方式的在模块发现开始时用于两个模块的图2中所示的模块复用器的示例性配置的示意图。
图8A和8B描绘了按照一个实施方式的模块发现处理的流程图。
图9示出了图8A和8B的模块发现处理的流程图,该流程图示出了其中使用的示例性重试算法。
图10至12描绘了所公开的实施方式所使用的示例性往返延迟测量处理的流程图。
图13A和13B描绘了所公开的实施方式所使用的示例性地址验证处理的流程图。
图14A和14B描绘了按照一个实施方式的替换模块发现处理的流程图。
图15A和15B描绘了按照一个实施方式的替换地址分配处理的流程图。
图16A和16B描绘了按照一个实施方式的替换地址验证处理的流程图。
图17示出了按照一个实施方式的用于发现至少一个设备的系统的框图。
图18示出了描绘图17的系统的操作的流程图。
图19示出了描绘图17的系统所使用的设备的操作的流程图。
图20示出了所公开的实施方式所使用的通用计算机系统的框图。
具体实施方式
所公开的实施方式涉及一种可编程逻辑控制器(“PLC”)装置,其特征在于控制设备/模块,所述控制设备/模块能够经由“菊花链(daisy chain)”拓扑结构连接到一个或更多个外部设备/模块,在所述拓扑结构中控制设备和一个或更多个外部设备互相串联连接,其中,从发送设备到接收设备的通信必须通过介于其间的每个设备,或者由介于其间的每个设备接收和重新发送。特别地,所公开的实施方式涉及一种系统和方法,通过所述系统和方法,控制设备可以被连接到未知数量的外部设备,所述外部设备中的一些可以是如将要描述的具有专用的故障安全操作能力的设备,并且其中,控制设备可以发现和配置以如下方式连接到其的具有故障安全和非故障安全能力两者的所有外部设备,所述方式允许故障安全设备、即其故障安全子系统检测其中的错误。
以下的表列出了在此使用的简称:
如上面所讨论的,在任务关键的实现中,正确地配置PLC是重要的。在使用与一个或更多个外部设备串联连接的控制设备的PLC装置中,配置一般包括为每个外部设备分配唯一的通信地址,通过该通信地址,控制设备可以唯一地与所述设备通信。如上面所讨论的,在菊花链拓扑结构中,在控制设备和期望的接收设备之间的每个居间设备对于正被传输的通信将是隐蔽的。通过使用唯一地址,每个设备能够识别对于所述设备期望的通信,否则将通信重新发送到串联链中的下一个设备。
地址分配验证可以手动地完成,诸如通过请求PLC的操作者对应于自动分配的地址对每个外部设备手动分配地址,诸如通过在每个设备上设置DIP开关或对每个设备编程。手动设置的地址然后可以被用于验证自动分配的地址。然而,这样的手动配置易于出错。例如,操作者可能对两个或更多个不同的外部设备分配相同的地址,或者可能不能对特定设备分配地址。此外,在成功配置之后,操作者可能不能注意到一个或更多个设备没有正确地工作或者出现了故障。应当理解,PLC配置是复杂的处理,并且可能存在大量机会操作者进行错误配置。此外,应当理解,PLC是复杂的设备,并且尽管操作者进行了正确的配置,仍可能发生故障。此外,PLC装置经常周期地被重新配置和/或修改,从而引入了错误配置和/或故障发生的附加机会。
示例性PLC系统是由位于德国慕尼黑的西门子公司制造的Simatic S7-1200F系列,在此被称为S7-1200。尽管关于S7-1200讨论所公开的实施方式,应当理解,它们可以被应用于其中控制设备与一个或更多个外部设备串联连接的任何PLC装置。在S7-1200中,控制设备被称为CPU或F-CPU,并且外部设备被称为外部模块、信号模块或F模块,其中,F模块特别地指具有故障安全能力的信号模块。还应当理解,以下关于S7-1200提供的具体实现和操作细节是示例性的并取决于实现,并且这里考虑合适的替换方案。
在S7-1200中,CPU和信号模块,例如具有故障安全和不具有故障安全能力的信号模块,可以被安装在中央背板中,其中,信号模块按照菊花链形式物理地连接到CPU。为了与信号模块建立通信,CPU必须对每个模块分配设备(或站)地址。一旦分配了设备地址,CPU就能够与模块通信,就像它们以多分支(multi-drop)方式被连接到串行总线,而不管它们在菊花链中的物理位置。
S7-1200F-CPU可以支持两个独立的扩展总线,一个在CPU左侧,并且另一个在CPU右侧。右侧总线或信号模块总线(SM)可以为数字和模拟信号模块至CPU的连接作准备。在一个实现中,所有F模块被连接到SM总线。左侧总线可以为通信模块(CM)或通信处理器模块(CP)的连接作准备。SM和CM总线二者都可以使用诸如Modbus的主/从协议,其中CPU是主机。
在S7-1200中,SM总线和CM总线是独立的,并且关于在两个总线之间的相同设备地址值的使用没有限制。因此,在对扩展模块分配设备地址值时使用的所公开的实施方式可以被独立地用于每个总线。例如,可以实现以下约定:
·SM总线:从左到右分配的地址--值在每个槽位处加一,其中初始值为1。因此,SM的设备地址在槽位2处应当是1,SM的设备地址在槽位3处应当是2,等等。
·CM总线:从右到左分配的地址--值在每个槽位处加一,其中初始值为1。因此,CM的设备地址在槽位101处应当为1,CM的设备地址在槽位102处应当为2,等等。
图1示出了在模块的物理位置或槽位号和由F-CPU分配的设备地址之间的示例性关系。该关系可以通过设计确定并且作为检测故障的手段可以是可靠的。
示例性请求和响应消息格式在以下面的表中示出。
请求
响应
如在上表中所使用的:
·DA-识别消息接收者的设备地址字段
·LEN-规定消息中的字节的数量的长度字段(以DA开始并且以CRC结束)
·SA-识别消息发送者的设备地址字段
·MA-规定消息类型。
·FLAGS-报警和设备状态字段。
·数据-可选消息有效载荷
·CRC-覆盖消息头和内容的32位循环冗余校验码,其提供对消息的错误检测。
在S7-1200中,扩展总线协议和通信硬件可以支持单播(点对点)和广播寻址二者。还没有被分配设备地址的模块使用为此目的保留的“未配置地址”。
在一个示例性实施方式中,可以定义以下特殊地址:
·未配置地址-在地址分配期间使用
·广播地址
单播消息通常产生应答(如果没有返回数据,则至少是确认帧)。单播消息的接收方取而代之也可以返回错误应答(否定确认)。不对广播进行确认/应答。除非另外指出,否则如果没有接收到应答,则CPU重新发送所有单播消息至多两次。即,至多进行三次尝试。
所有S7-1200模块、包括CPU,具有由工厂分配的并且在制造时存储在非易失性存储器中的唯一的16字节序列号。
由CPU和模块二者使用的通信接口的框图在图2中示出并且实现接收器、发送器和消息传递模式的功能。
接收器可以收听上游或下游端口(可经由MUX_4选择)。在正常操作中,接收器收听上游端口。接收器电路提供地址过滤,即,其仅接收寻址到其配置的目的地地址中的一个地址的消息。除了分配的设备地址,接收器也收听广播地址。还没有接收到其设备地址的模块取而代之收听专用的“未配置地址”。
经由MUX_3和MUX_5,发送器能够向上游、向下游或在两个方向上发送。在正常操作中,其在上游方向上(朝向CPU)发送。
消息传递模式(也称为消息重复模式)能够对于下游路径经由MUX_3(在上面的位置的开关)和对于上游路径经由MUX_5(在下面的位置的开关)被使能。
在正常操作中,两个消息传递路径都被使能。当设备本身发送消息时,其在消息的传输时间期间针对目的地端口打开传递路径。消息传递特征提供定时再生并且由此涉及FIFO,FIFO将限定数量的位进行缓存并且由此将传递的消息延迟明确限定的时间段。
通信接口可以被配置为将上游端口上或下游端口上的消息回送。
上游:MUX_1上面的位置,MUX_3上面的位置,MUX_2上面的位置,MUX_5下面的位置
下游:MUX_2下面的位置,MUX_5下面的位置,MUX_1下面的位置,MUX_3上面的位置
回送模式在正常操作中不被使用,但是在启动处理的过程中被临时使能,以支持往返延迟时间测量。为此仅使用上游回送模式。
通信接口还支持两个内部回送模式,其中节点本身的接收器被连接到其本身的发送器。可以使用上游或下游回送路径。
上游:MUX_1下面的位置,MUX_4上面的位置,MUX_5上面的位置,MUX_3断开
下游:MUX_3下面的位置,MUX_2上面的位置,MUX_4下面的位置,MUX_5断开
经由下游回送路径的内部回送在故障安全地址分配处理的往返延迟时间测量阶段期间被CPU模块使用,以获得参考值。
模块架构(关于其处理和通信特征)在图3中示出。故障安全信号模块、即F模块装备有安全完整性等级(“SIL”)3级子系统,包含冗余微控制器F-μP1和F-μP 2。称为f子系统的该故障安全子系统处理所有安全相关任务并且使用通信硬件(总线ASIC(Bus ASIC)、I/O总线(I/O Bus))作为所谓的“黑通道”-未按照有关安全标准设计或验证的通信通道。
标准信号模块、即不具有故障安全能力的模块可能没有该子系统,因此总线ASIC(其本身包含微控制器)可能必须提供所有功能。
标准模块和F模块必须能够共存于同一个总线上,而不危及经由F-CPU和F模块实现的安全功能的完整性。
光隔离器或类似设备提供在包括输入/输出电路在内的总线ASIC和F-μP之间的电隔离。因此,总线ASIC和F-μP使用不同的电源。
总线ASIC经由I/O总线由F-CPU供电,而F模块的故障安全子系统由外部电源电压供电。由此,I/O总线和所有总线ASIC当电力被施加到F-CPU时被自动供电,而F-μP依赖于其外部电源,所述外部电源可以稍后接通、可以不同时对所有F模块施加或可以根本不施加。
F-CPU能够以符合SIL 3的方式使用编码的处理和PROFIsafe(IEC61784-3-3)通信协议执行安全相关PLC程序。然而,这仅结合由F-I/O模块提供的诊断覆盖和安全断开能力才可能。
因此,对于由CPU执行的所有启动、初始化、模块发现、配置和参数化动作(没有由模块执行的编码的处理和诊断覆盖),不能假定符合SIL。在该阶段期间,F-CPU必须被看作是“黑通道”的一部分。
在S7-1200故障安全系统中,通过使用在IEC 61784-3-3中描述的PROFIsafe协议实现在F-CPU和F模块之间的安全相关通信。PROFIsafe协议允许安全相关通信在“黑通道”上进行,并且还提供用于验证经由黑通道传递到模块的安全相关参数(i参数)的完整性的机制。
然而,PROFIsafe协议依赖于对每个通信端点的PROFIsafe设备地址的正确分配。通过相对于存储在设备中的或经由在此将描述的多种机制所分配的“掉电保持”副本,检查在黑通道上分配的地址(包含在F参数记录中),来验证正确的寻址。
IEC 61784-3-3:2007规定(章节7.3.7):
在单个设备中的F地址的掉电保持选择可以通过以下方法之一来实现:
1.在针对代码名称的单元中对开关进行编码(例如紧凑型设备的F设备地址)
2.通过软件进行一次设备参数化,需要检查所述软件是否对正确的设备进行了寻址。当这样的单元被替代时这将被重复。
3.通过独立于CPF 3寻址的地址机制。
所公开的实施方式涉及基于第三种方法的方法-使用相同的通信硬件,通过两个不同的寻址机制来验证正确地址分配。由于这些寻址或地址验证方法的主要步骤由作为“黑通道”的部分(并且由此不是SIL级的)的子系统执行,所以必须特别小心以确保所有关键步骤能够由SIL 3级子系统(冗余F-μC)验证。
注意,在PROFIsafe地址分配期间的故障可能导致一个或更多个F模块执行错误功能,这由此可能导致安全功能的危险的故障。因此,PROFIsafe地址分配和F模块参数化是安全相关功能。
所提出的故障安全地址分配和F模块参数化处理包括四个动作:
·模块发现(MD)
·SM总线地址分配(AdAs):
·往返延迟测量(RTDM)
·地址验证和参数化(AVP)
图4示出了在这些动作之间的逻辑依赖关系。
在SM总线地址分配(AdAs)阶段,CPU对所有模块分配SM总线设备地址。其还确定总线上模块的总数。地址分配依赖于总线的菊花链拓扑结构并且依赖于模块的行为,所述模块在消息重复被禁止的情况下启动。这允许CPU直接对第一模块分配地址并且指示模块使能消息重复,然后对第二模块分配地址,等等,直到所有模块被找到并且接收到地址。
地址分配过程按照与标准S7-1200CPU完全相同的方式完成。一旦该步骤完成,则总线以“正常”方式工作,即,其就像从CPU角度来看的常规多分支总线那样动作。
模块发现是列举总线上的模块的一种替换方式。其由CPU发起并且由所有连接的模块的总线ASIC自主执行。类似于AdAs,模块发现处理利用总线的菊花链拓扑结构:发现请求从一个节点(CPU或模块)被中继到下一个节点,直到到达链的末端。在一个实施方式中,每个节点向该请求添加数据结构。链中的最后的模块将该递增地构建的列表包括在发现响应消息中并且将其向上游朝向CPU发送。在如以下将更详细描述的替换实施方式中,每个节点在接收到发现请求消息时可以产生识别消息并且将其发送回到CPU,CPU收集所述识别消息。在上游路径上,消息再次从节点中继到节点,其中在一个实施方式中每个节点(包括CPU)添加另一个项并且由此构建第二列表。如以下所描述的,在替换实施方式中,最后的节点可以产生响应消息,每个上游节点利用其本身的唯一的加密密钥将所述响应消息加密或者变换并且转发到下一个上游节点。CPU将完整的发现响应存储在RAM中并且稍后在地址验证和参数化(AVP)阶段将其发送到每个F模块的F-μC。
在故障检测和缓解方面,模块发现可以被看作是纯诊断措施。其不产生最终由模块或CPU使用的数据,但是提供针对地址分配处理的诊断覆盖。
往返延迟测量(RTDM)可以被用作附加诊断措施,旨在通过不同的机制来验证正确的地址分配。在地址分配之后当所有模块已经被切换到消息传递模式时执行RTDM。CPU测量至每个模块的往返延迟并且记录结果。
在地址验证和参数化(AVP)阶段中这些结果被发送到所有F模块的故障安全子系统,其检查它们是否在预计的范围之内。由于在消息传递模式中由每个模块引入的延迟,到链中的每个位置的往返延迟对于每个物理位置是不同的。对于每个物理位置的预计的往返延迟是公知的。因此,延迟时间测量使得能够确定由其SM总线设备地址寻址的每个模块,实际上是否位于预计的位置。
该检查的唯一特征是,其能够检测到静默地陷入消息传递模式的模块。
在该最后的步骤、即地址验证和参数化(AVP)中,CPU将在AdAs、MD和RTDM期间获取的所有相关数据发送到所有F模块的故障安全子系统。其还向每个模块提供其配置和参数化数据。
每个F模块按照以下方式使用这些数据:
·其执行一系列检查,所述检查旨在确保AdAs、MD和RTDM动作已经被正确执行。如果在这些测试期间检测到错误,则所有F模块将拒绝启动进入正常操作。
·其在MD阶段期间产生的列表中查找其本身的项并且由此确定其本身在总线上的物理位置。因为SM总线上的设备地址与物理位置具有限定的关系(见图1),因此该信息使得模块能够检查其是否接收到了正确的设备地址。间接地验证设备地址也确保模块将使用正确的PROFIsafe地址-详见此处其他地方。
·其针对完整性和正确寻址检查接收的参数化记录,如果所有检查成功,则接受模块参数。
仅当AVP阶段的所有检查成功地完成,模块才使用分配的PROFIsafe地址和参数针对常规操作启动。
图5示出了执行故障安全地址分配和参数化动作的顺序,以及哪个子系统执行哪个任务。由于在这些动作之间的依赖关系,AdAs、MD和RTDM按照以下顺序执行:
1.首先完成MD,因为其要求模块互相逻辑隔离,即,消息传递模式必须还没有使能。由于在MD列表产生期间不进行重试,所以重复整个处理,直到CPU在两次连续的尝试中看见相等数量的模块,或直到达到限定的尝试的最大次数。
2.接下来执行AdAs(RTDM的前提条件)。
3.RTDM跟随AdAs,由于其要求模块是可寻址的并且将消息传递使能。
4.地址验证和参数化是最后的步骤,由于其依赖于在前面三个阶段中收集的数据。
注意,AdAs、MD和RTDM由标准子系统执行,而最后的验证(AVP)由SIL3级F子系统完成。通常的方法是,标准子系统产生和收集验证数据,而F子系统评估数据并且作出最终的通过/不通过决定。
如图6A和6B所示,CPU对所有信号模块分配SM总线地址并且使能消息重复。当该步骤完成时,SM总线类似于从CPU角度来看的多分支总线工作。地址分配利用如下事实:在没有消息重复的情况下,每个模块是孤岛。具体地,CPU依赖于如下假定:其用于分配地址的发送仅由单个站接收。
所有模块旨在在消息重复被禁止的情况下启动。在第一步骤中,这允许CPU对物理上与CPU相邻的模块分配地址。一旦模块被给予地址,则CPU可以命令模块(在下游以及上游二者)使能消息重复。然后CPU可以对下一个下游模块分配地址。分配地址和使能消息重复的处理继续,直到对所有模块分配了地址为止。
在地址分配期间,CPU自动确定所附的模块的数量。该信息由CPU存储并且在AVP阶段向F模块提供。
可以在开始时广播预防性“复位地址”命令,具体地在设置地址之前将其发送到每个模块。这些命令通常没有效果和超时。它们的目的是允许CPU(成功地)重复地址分配过程。
在以下情况中,在AdAs阶段期间可以进行重试:
·复位地址广播仅被发送一次。
·单播复位地址命令被重试一次。
·对于设置地址和使能消息重复进行最多两次重试
如上所述,模块发现是列举总线上的模块的一种替换方式。在处理过程期间,按照一个实施方式,CPU和模块(总线ASIC)递增地构建列表,所述列表包含所有模块的ID记录(包含模块类型代码和模块的序列号的CRC保护结构)。每个模块的项在这些列表中的位置反映了其在总线上的物理位置。由此,当发现数据在AVP阶段期间被发送到模块时,通过在列表中查询其本身的序列号,每个F模块能够确定其物理位置并且由此确定其SM总线地址。由此,MD使得F模块能够通过不同的机制验证其SM总线地址。
此外,数据布置在列表中的方式为F模块给出了不同的可能性来验证整个故障安全地址分配处理的正确性,从而在许多情况中,如果发生地址分配失败,则所有F模块将拒绝启动。
包括CPU在内的所有S7-1200模块具有工厂分配的唯一的16字节序列号。对于F模块和F-CPU,该序列号被嵌入到“ID块”中,其包含CRC,如在下面的表中所示。
在下面的表中示出的结构表示发现请求帧的数据部分,其由CPU发送到第一模块并且由每个模块发送到链中的下一个模块。
名称 | 描述 |
req_len | 以下请求项的长度 |
CRC_Factory | CPU的工厂提供的在ID记录上的CRC |
CRC_Factory | 第一个模块的工厂提供的在ID记录上的CRC |
: | 附加项 |
在下面的表中的结构表示发现响应帧的数据部分,其由每个模块返回到上游节点。
图7示出了在模块发现阶段开始时如何配置所有模块的通信接口中的复用器。由于地址分配还没有被执行(MD是启动之后的第一个动作),因此所有模块使得消息传递禁止。每个模块收听上游端口并且将涉及发现请求的消息在两个方向上(上游和下游)传输。如从该图可以看出的,CPU能够与槽位2中的模块通信,但是它不能直接与槽位3中的模块通信。由此每个模块是通过一个上游桥和一个下游桥连接到其相邻者的孤岛。
发现处理利用这种孤岛布置递增地构建物理地连接到SM总线的站的列表。
发现处理的一个实现的概览在图8A和8B中示出。其示出了附加有3个信号模块的F-CPU的一个发现运行。应当理解,在任意给定实现中,可以附加更多或更少的模块并且可以包括F模块和标准、即不具有故障安全能力的模块的组合。
CPU按照以下方式发起并完成发现处理:
1.其发送“复位地址”广播并且等待限定的时间段。这是一种预防性措施,使得即使已经分配了SM总线地址,也使得能够重复MD处理。
2.其向第一模块发送发现请求。该初始请求包含CPU的请求数据,作为第一列表项。
3.然后CPU等待来自于第一模块的发现响应。CPU通常还接收来自于第一模块的复位地址和发现请求消息,但是简单地忽略这些帧。
4.在接收到发现响应时,CPU通过添加其本身的响应数据并且将其保存以用于在AVP步骤期间分发到F模块而完成发现处理。如果其在(足够长以完成发现处理的)合适的时间段之内没有接收到发现响应,则其认为该发现运行失败。
响应于发现请求,每个模块执行以下步骤:
1.添加其ID记录的其本身的CRC到请求消息并且更新长度字段。
2.输入“发现”状态并且配置其复用器以收听下游端口。
3.发送“复位地址”广播到下游和上游节点二者(两个发送者都被使能)并且等待限定的时间段。
4.发送更新后的发现请求(在两个端口上)。下游模块将该消息作为发现请求来处理,上游节点将其作为间接确认来处理。
5.预计接收间接确认-以“复位地址”广播或者来自于下游模块的具有增加的大小的发现请求的形式。如果模块接收到这些消息中的任意一个,则其开始等待来自于下游模块的发现响应。
6.如果在短时间段(TO01)之内没有接收到间接确认,则模块假定其是链中的最后一个,配置其复用器以收听上游端口,并且返回发现响应帧。发现响应帧由刚刚从下游发送的发现请求加上模块的ModuleIdentNumber和序列号组成。在发送发现响应之后模块离开“发现”状态。
7.如果模块在步骤5接收到间接确认,但是在长的时限(TO02)内没有接收到发现响应,则其离开“发现”状态并且配置其复用器以收听上游端口。这允许总线在发现处理期间从数据包丢失中恢复,从而能够重新尝试整个处理。
由此,发现请求向下游传播到最后的模块,并且递增地构建包含来自于每个节点的ID记录的CRC的列表。
最后的模块通过添加旨在收集每个模块的类型标识符和序列号的另一个列表,将发现请求转换为发现应答。模块添加其本身的数据作为第一项并且将发现应答发送到下一个上游节点。
接收到发现响应的模块执行以下步骤:
1.添加其本身的类型标识符和序列号并且更新相应的长度字段。
2.配置其复用器以收听上游端口。
3.发送更新后的发现响应到上游模块并且离开“发现”状态。
由此,发现请求向上游传播到CPU,并且递增地构建包含每个模块的类型和序列号的列表。在CPU完成该处理之后,发现响应包含在上面的表中所示的格式的所有节点的数据。
在下游和在上游路径上构建按照语义经由CRC链接的元素的两个分离的列表的这种方法,使得F-μC能够验证发现列表已经精确地按照期望的方式被构建。
发现处理使用全局重试方案-如上所述,根据需要重复整个发现运行,以处理数据包丢失并且提供一致的结果。在发现处理期间的数据包丢失可能导致两个可能的结果:
a)发现处理停止并且超时(例如发现响应消息丢失)
b)发现处理不能找到所有模块(例如发现请求丢失)
故障a)能够容易地被CPU检测到并且可以通过进行重试来处理。故障b)在该故障安全地址分配处理阶段期间不能被CPU检测到,并且由此可能导致可用性问题-CPU将前进到下一个阶段,而F-μC稍后将揭示该故障并且拒绝启动。
由此,CPU总是执行至少一次发现处理的重试并且比较在两次运行中找到的模块的数量。如果它们不同,则CPU执行附加重试,直到两次连续的运行提供相同数量的模块,或者达到了限定的重试的最大次数为止。
重试算法在图9中示出。为了使得F-μC能够验证发现处理提供一致的并且可重复的结果,最后两个发现结果在AVP阶段中被发送到每个F子系统。
在地址分配之后,CPU执行一系列往返延迟测量,其在AVP阶段中由F-μC使用,以便通过不同的机制来验证SM总线寻址。
这种方法利用如下事实:每个模块的通信接口在消息传递模式中作为再生中继器动作,其将明确限定的延迟添加到向上游或向下游传播的每个消息。通过命令模块回送来自于CPU的消息,可以进行对传播时间的测量。由于在消息中的位时间的数量是已知的,因此由每个再生中继器添加的额外的位时间可以被用于确定相对于CPU的模块位置。
因此,对于模块的每个物理位置并且由此对于每个SM总线地址(见图1),可以限定测量的往返延迟的可接受范围。为了验证地址分配的正确性,CPU测量到每个模块的往返延迟、存储数据并且稍后在AVP阶段期间将其发送到所有F模块。然后F-μC相对于容差范围表检查测量值,并且判断是否所有模块接收到了正确的SM总线地址。
按照以下定义的结构记录测量的延迟时间值:
名称 | 描述 |
rtdm_len | 延迟时间项和rtdm_CRC的总大小 |
rtd_C | 延迟时间CPU内部回送 |
rtd_M1 | 延迟时间值地址1 |
rtd_M2 | 延迟时间值地址2 |
… | …附加数据 |
rtd_Mz | 延迟时间值地址z |
rtdm_CRC | CRC32 |
定义以下特殊值:
·INVALID…测量没有被执行或没有被定义/不期望的错误
·TIMEOUT…测量超时
图10至12示出了附有3个信号模块的F-CPU的RTDM工作流程。为了测量一个模块的往返延迟,CPU:
1.命令目标模块使能回送模式。
2.准备回送消息并且启动快速运行计时器(如果还没有运行)。回送消息包含对于在RTDM阶段期间的每个测量唯一的有效载荷。
3.捕捉初始计时器值并且发送消息。
4.等待回送的消息被接收或者超时到期。
5.如果接收到消息,则捕捉当前计时器值。
6.验证所接收的消息的完整性,并且当ok时计算并存储延迟时间值。
7.如果在步骤4发生超时,则CPU记录测量超时。如果在步骤6中完整性检查失败,则CPU记录测量失败(INVALID)。
8.命令目标模块返回消息传递模式。
使用类似的过程测量内部回送的往返延迟(见以上),仅有的区别是在步骤1和8中代而使能和禁止内部回送。这些测量的目的是获得参考值。
每个单独的结果被包括在RTDM结果结构中,从而所有对数据的解释可以由F模块的故障安全子系统完成。
为了提高RTDM处理相对于数据包丢失和单个测量误差的鲁棒性,测量可以重复多次,或如果发生超时可以进行重试。
在整个模块发现信息记录(见以下)上添加CRC作为在图10中的最后的步骤示出。该步骤实际上不是RTDM的一部分,但是应当在之后立即完成,因为在包括RTDM结果之后,整个模块发现数据的集合是完整的。
每个模块位置的预计的延迟时间可以被估计为:
tdSlot(Nslot)=tdbase+(Nslot-l)*tModule
其中,tbase=Lmsg*nbit*1/baud+tsyst
并且tModule=nbitRepeater*1/baud
其中,
tdSlot...每个模块位置(槽位)的预计的延迟
tdbase...由回送消息的发送和接收导致的基础延迟
tModule...由一个模块(下游+上游路径)导致的传播延迟
Nslot...槽位位置
Lmsg...回送消息的总大小[字节]
nbit...每字节传输的位数
tsyst...由CPU引入的系统延迟(数据包接收至定时器被捕捉)
nbitRepeater...由转发器缓存的位数
baud...波特率[1/s]
必须考虑最大定时容差ttol:
ttol(Nslot)=ka*(ttolMes+(Lmsg*nbit+(Nslot-1)*nbitRepeater)*1/baud*2*Cppm/1E6)
其中,
ka...允差率(Allowance factor),对于模块例如是1.2,并且对于内部回送测量例如是1.5
ttolMes...测量容差,主要由从消息的接收到计时器读出的定时不确定性来确定。
Nslot...槽位位置
Lmsg...回送消息的总大小[字节]
nbit...每字节传输的位数
tsyst...由CPU引入的系统延迟(数据包接收至定时器被捕捉)
nbitRepeater...由转发器缓存的位数
baud...波特率[1/s]
Cppm...以ppm为单位的时钟容差
基于这些数据,可以针对每个物理位置并且由此针对每个SM总线地址定义测量的延迟时间的有效范围。下面的表示出了针对每个模块位置的接受范围。数据是指在测量的延迟值和参考值(见以下)之间的差。
槽位号 | SM总线地址 | RTDmin | RTDmax |
2 | 1 | tModule-ttol(2) | tModule+ttol(2) |
3 | 2 | 2*tModule-ttol(3) | 2*tModule+ttol(3) |
4 | 3 | 3*tModule-ttol(4) | 3*tModule+ttol(4) |
5 | 4 | 4*tModule-ttol(5) | 4*tModule+ttol(5) |
6 | 5 | 5*tModule-ttol(6) | 5*tModule+ttol(6) |
7 | 6 | 6*tModule-ttol(7) | 6*tModule+ttol(7) |
8 | 7 | 7*tModule-ttol(8) | 7*tModule+ttol(8) |
9 | 8 | 8*tModule-ttol(9) | 8*tModule+ttol(9) |
为了消除例如由不同构造的处理器的指令队列的不同使用导致的小的附加误差的影响,内部回送RTD测量作为参考值被执行。在评估之前,将该参考值从所有模块RTD值中减去。
除了检测超时,CPU不解释测量。
通过上面的表并且考虑到特殊值INVALID和TIMEOUT,以下状态之一可以被分配到每个测量结果:
·OK:值处于针对该模块的物理位置(或在参考测量的情况下针对内部回送)定义的接受范围内部。
·无效结果:具有如上面定义的值INVALID的项。
·超时:具有如上面定义的值TIMEOUT的项。
·异常值:RTD测量:值处于在上面的表中定义的所有接受范围外部,并且不是INVALID或TIMEOUT。内部回送RTD测量:值处于上面定义的内部回送测量的接受范围外部。
对于由寻址的模块确认的“改变到回送模式”和“改变到消息传递模式”命令,进行最多两次重试。如果两次重试都失败(超时或提供否定确认),则CPU终止RTDM处理并且转变到错误状态。
通常,一旦RTDM完成,则如上所述,进行地址验证和参数化(“AVP”)。以下定义的AVP处理针对每个F模块个别地进行,并且在需要的情况下能够重复,而不影响其他信号模块的操作。
在完成仅需要与总线ASIC进行交互的MD或AdAs和RTDM动作之后,CPU轮询所有F模块的状态并且等待F-μC变得可用。当CPU面对准备好启动的F模块时,其将在MD、AdAs和RTDM期间收集的所有数据,与配置和参数化记录一起发送到该模块。由此,CPU发起模块的AVP处理。F模块的总线ASIC直接将这些数据转发到F-μC并且不保持本地副本。
F-μC的启动可能延迟,因为与由CPU供电的总线ASIC相反,它们依赖于外部电源。
CPU等待限定的最大时间(ParameterizationTime(参数化时间))用于所有F模块联机。如果ParameterizationTime时间段在所有模块准备好之前到期,则CPU将不再保持正常操作,而在不配置不可用模块的情况下继续。如果这些模块中的任何一个在稍后的时间点确实变得准备好,则CPU将所有需要的数据提供到该模块。
相同的机制可以用于重新配置F模块,所述F模块在由于它们的外部电源电压暂时丢失导致它们的F-μC重启之后回到联机。在该情况中,CPU只须重新发送来自于MD、AdAs和RTDM的数据以及配置和参数化记录。F-μC以与在正常启动中相同的方式检查和应用数据,并且如果成功,则模块准备好重新整合(re-integration)。
AVP处理使用几个数据结构。在启动之后,每个F模块的F-μC从总线ASIC取得包含本地地址(在AdAs期间分配的)的记录:
名称 | 描述 |
sm_bus_addr | 在AdAs期间对该模块分配的SM总线地址 |
CPU将在前三个阶段期间收集的所有数据打包成一个大的记录,在以下称为“模块发现信息”。在下面的表中示出的该数据结构,当它们一变得可用时,就被发送到每个F模块的F-μC。
名称 | 阶段 | 描述 |
n_modules_assign | AdAs | 在地址分配期间检测到的模块的数量 |
dr1_len | MD | discovery_resp_1的大小 |
discovery_resp_1 | MD | 来自于倒数第二次尝试的发现响应数据。见以上。 |
dr2_len | MD | discovery_resp_2的大小 |
discovery_resp_2 | MD | 来自于最后的尝试的发现响应数据。见以上。 |
rtdm_results | RTDM | 往返延迟测量结果。见以上。 |
CRC | RTDM | 整个记录上的CRC |
在AVP阶段期间传输的配置记录提供关于信号模块的类型、架构和性能(capabilities)的基本信息。包含的该信息不是安全相关的。
参数化记录包含所有安全相关模块参数,其包括在AVP处理期间使用的以下数据:
1.配置的模块的数量
2.F模块占据的槽位
3.模块的配置的槽位号
4.模块的F地址
5.ModuleIdentNumber
图13A和13B示出了在AVP阶段执行的动作的概览。如将要描述的,由F-μC执行检查以确保故障安全地址分配。对在AdAs、MD和RTDM期间收集的数据和对配置/参数化记录进行这些检查。它们的主要目的是确保分配给F模块的SM总线地址是正确的,并且模块接收到实际上打算要被该模块使用的有效的参数集合。这固有地确保了模块接收到正确的F地址(包含在参数中)。这些检查中的大多数旨在揭示整个故障安全地址分配处理中的错误。因此,如果检测到地址分配问题,则一般总线上的所有F模块将拒绝启动。
如果以下描述的检查中的任意一个失败,则模块将改变到错误状态。
1.从总线ASIC读取的本地地址的合理性(Plausibility)
a.检查记录格式
b.确保sm_bus_addr是合理的(范围检查)
2.模块发现信息记录的完整性和一致性
a.检查记录格式
b.检查CRC
c.对dr1_len、dr2_len和rtdm_results.rtdm_len进行一致性检查。
检查discovery_resp_1的req_len和rsp.len项的一致性和合理性:req_len和rsp_len必须是一个列表项的大小的倍数。
d.检查n_modules_assign与discovery_resp_1.req_len、discovery_resp_1.rsp.len、discovery_resp_2.req_len、discovery_resp_2.rsp.len和rtdm_results.rtdm_len的一致性。这确保在AdAs和MD中找到相同数量的模块,并且所有结构是指相同数量的模块。
e.针对两个发现响应记录的发现响应字段中的所有模块项计算CRC/校验和(checksum)。相对于在发现请求字段中的相应的项(相反顺序)对它们进行检查。
f.确保两个发现响应记录以完全相同的顺序包含完全相同的响应项(所有模块的ModuleIdentNumber和序列号)。注意:从该步骤开始,仅需考虑一个发现响应记录,因为已经验证它们包含相同的模块数据。
g.确保在发现响应字段中的最后的项包含F-CPU的ModuleIdentNumber,并且所有其他项是指信号模块(标准的或故障安全的)
h.确保发现响应列表不包含重复的序列号。
3.相对于从模块发现列表中取得的地址检查该模块的分配的SM总线地址
a.在发现响应字段中查找该模块的序列号。如果没有找到,则转变到错误状态。
b.相对于该模块的ModuleIdentNumber,检查找到的发现响应项的ModuleIdentNumber。
c.找到的发现响应的索引相对于列表的末尾给出模块的槽位号。与该槽位相关联的设备地址等于槽位号-1。确保这样确定的地址等于从总线ASIC取回的地址(sm_bus_addr)。
4.检查测量的往返延迟值的有效性和正确性。
a.相对于上面描述的接受标准检查内部回送测量并且使用它作为参考值。
b.按照上面定义的标准将每个RTDM测量分级。确保所有测量值满足对于OK定义的标准。
替换地,如果已经执行了数个RTDM运行,则可以接受有限数量的异常值和超时。
5.参数化记录的完整性和一致性
a.执行参数化记录(记录格式、CRC)的基本完整性检查
b.确保ModuleIdentNumber参数可应用于该模块
c.确保SM总线地址参数与模块的地址匹配。
6.相对于在参数化记录中描述的预计的模块布置对模块发现数据进行交叉校验
a.确保能够从发现响应列表取得的故障安全模块的数量和位置,与在参数化记录中的“F模块占据的槽位”位图精确匹配。
b.确保参数化记录中的配置的模块的数量与检测到的模块的数量匹配。该检查是可选的,因为没有被系统配置所覆盖的标准模块的添加可以被容忍。
在替换实施方式中,模块发现算法可以如下运行。模块发现算法的该描述采用以下定义:
序列号和ID记录:包括CPU在内的所有S7-1200模块具有工厂分配的唯一的16字节序列号。对于F模块和F-CPU,该序列号被嵌入“ID块”中,其包含CRC,如下面的表所示。
名称 | 描述 |
IM_Serial_Number | 以空格填充 |
Module_Type | 允许节点被标识为F-CPU、F-模块或标准模块。 |
CRC_Factory | 在IM_Serial_Number上的32位CRC |
定义称为T1和T2的两个可逆变换,其可以被应用于恒定大小的数据块。变换应当满足以下要求:
·不应当改变数据块的大小
·不应当被个别的位错误容易地撤销
·不应当被重复应用容易地撤销
·T1的重复应用不应当容易地产生T2,反之亦然。
·当被应用于ID记录时,T1应当在最后三个要求也可单独应用于CRC字段的意义上,对CRC字段可靠地“加密”。
T1和T2必须在总线ASIC上实现,逆变换T1-1和T2-1必须在F-μC上实现。T1和T2实际上可以作为以下描述的变换T3的特殊情况来实现(使用为此目的保留的特殊密钥调用T3)。
定义称为T3的可逆变换,其可以被应用于恒定大小的数据块。上面对于T1和T2的相同要求应用于T3,加上以下附加要求:
·变换必须涉及32位密钥。
·使用不同的密钥变换的两个相同的块应当导致不同的结果。
T3例如可以作为简单Feistel密码(不需要或期望真正的加密强度)或作为一系列可逆算术运算来实现。如果以密码块链(CBC,cipher block chaining)模式运行,则其可能也可用作为临时ID记录的“校验和”(哈希函数)。
T3必须在总线ASIC上实现,逆变换T3-1必须在F-μC上实现。
下面的表中示出的结构表示发现请求帧的数据部分,发现请求帧由CPU发送到第一模块,并且由每个模块发送到链中的下一个模块。
在下面的表中示出的结构表示发现结果帧的数据部分,发现结果帧由接收到发现请求的每个模块返回到上游节点。发现结果帧还用作由链中的最后模块返回的末端标记。
(1)帧的该部分由初始发送者用T2进行变换。中继节点附加地用T3并且用其ID记录的CRC作为密钥对帧的该部分进行变换。
下面的表示出了发起者代码(Initiator-Code)和位置代码(Position Code)。
模块发现在地址分配进行之前进行,由此每个模块能够与上游设备(CPU或另一模块)通信,但是在分配设备地址之前,不能通过模块传递消息,以与下游模块通信。
在图7中示出了槽位2和3中的模块的模型,其中,在复位被释放之后开关被设置就位(在电源ON(接通)之后的典型状态)。
如从该图可以看出的,CPU能够与槽位2中的模块通信,但是它不能直接与槽位3中的模块通信。由此每个模块是通过一个上游桥和一个下游桥连接到其相邻者的孤岛。
发现处理利用这种孤岛的布置,递增地找到并确定物理地连接到SM总线的站的顺序。在整个发现阶段期间,消息传递模式将永远不会被使能。必须从模块发送到CPU的消息(发现结果)将由发起者上游的模块一个接一个地中继。
图14A和14B示出了附加有3个信号模块的F-CPU的发现处理。CPU通过将发现请求发送到槽位2中的模块来开始该处理。
作为响应,模块执行以下步骤:
·将来自于发现请求的ID记录复制到发现结果帧,添加其本身的ID记录,对数据执行变换T2,填充位置代码(发起者代码+1),并且将发现结果消息向上游发送(到CPU)。
·改变到“发现”状态。在该状态期间,其收听下游端口,并且将所有接收到的发现结果消息向上游中继(以下详细描述)
·等待限定的时间段,以允许其发现结果帧向上游传播。
·创建包含其本身ID块的发现请求消息并且将其发送到下游的下一个模块。
·等待应答(来自于下游模块的发现结果消息)
·如果应答到达,则其将应答中继到上游的节点
·如果没有应答到达,则模块假定是链中的最后一个,并且向上游发送末端标记(具有保留值的发现结果帧)。附加地,模块离开“发现”状态并且恢复初始复用器配置。
在发现状态期间,模块必须将从下游模块接收到的发现结果消息向上游朝向CPU中继。为了提供每个消息采取期望的路径的证据,每个模块对中继的消息的部分应用变换T3。
由于该变换涉及模块专用密钥(模块的ID记录的CRC/校验和),因此对发现结果消息进行分析并将其组合到一个模块列表的F-μC,将能够检测到可能由复用器的临时错误配置等导致的任何不规范。
当模块接收到携带末端标记(可以通过位置代码识别)的发现结果消息时,其在中继消息并恢复初始复用器配置之后离开发现状态。如果没有接收到末端标记,则模块在超时之后离开发现状态。
CPU收集所有接收到的发现结果消息,并且在接收到末端标记时和/或在超时之后结束发现阶段。
紧接在发现处理之后,CPU开始上面描述的地址分配处理。
地址分配也依赖于每个模块是孤岛的事实。具体地,CPU依赖于其用于分配地址的发送仅由一个站接收的事实。
这允许对物理上与CPU相邻的模块分配地址。一旦模块被给予了地址,则CPU能够命令模块使能消息重复(向下游和上游二者)。然后CPU能够对下一个下游模块分配地址。分配地址和使能消息重复的处理继续,直到对所有模块分配了地址为止。
在地址分配期间,CPU自动确定所附模块的数量。该信息由CPU存储并且在阶段4中提供到F模块。
基本信息流在图15A和15B中示出,其提供附有3个信号模块的F-CPU的例子。
然后RTDM如此处其他地方描述的那样进行。
阶段4包括配置、参数化,并且针对步骤的模块启动针对每个F模块个别地进行并且能够在需要时重复,而不影响其他信号模块的运行。
在完成仅需要与总线ASIC进行交互的阶段1至3之后,CPU轮询所有F模块的状态并且等待F-μC变得可用。F-μC的启动可以延迟,因为与通过CPU供电的总线ASIC相反,它们依赖于外部电源。
CPU等待限定的最大时间(ParameterizationTime)用于所有F模块联机。如果ParameterizationTime时间段在所有模块准备好之前到期,则CPU将不再保持正常操作,而在不配置不可用模块的情况下继续。如果这些模块中的任意一个在稍后的时间点确实变得准备好,则CPU将所有需要的数据提供到该模块。
相同的方案可以用于重新配置F模块,所述F模块在由于它们的外部电源电压暂时丢失导致它们的F-μC重启之后回到联机。在该情况中,CPU只须将在阶段1至3之间收集的所有数据,与配置和参数化记录一起重新发送到模块。F-μC以与在正常启动中相同的方式检查和应用数据,并且如果成功,则模块准备好重新整合(re-integration)。
在阶段4期间,以下数据被提供到每个F模块。CPU将在阶段1至3期间收集的所有数据打包成一个大的结构,在以下称为“模块发现信息”。该数据结构将被发送到每个F模块。
模块发现信息的布局在下面的表中示出。
名称 | 描述 |
n_modules_assign_inv | 在地址分配期间检测到的反转的模块数量 |
n_discovery | 发现结果记录的数量 |
Discovery records | 排除了位置代码的发现记录的数据部分 |
n_delay_entries | 之后的延迟时间值的数量 |
Delay time values | 在阶段3期间测量的延迟时间值 |
Delay time CRC | 在延迟时间值上的CRC |
在阶段4期间传输的配置记录提供关于信号模块的类型、架构和性能(capabilities)的基本信息。包含的该信息不是安全相关的。
参数化记录包含所有安全相关模块参数,其包括在地址验证处理期间使用的以下数据:
1.配置的模块的数量
2.F模块占据的槽位
3.模块的配置的槽位号
4.模块的F地址
5.ModuleIdentNumber
图16A和16B示出了在阶段4执行的所有动作的概览。
当使用上面描述的替换模块发现算法时,可以由F-μC执行以下检查,以确保故障安全地址分配。对在阶段1至3期间收集的数据和对配置/参数化记录进行这些检查。它们的主要目的是确保分配给F模块的SM总线地址是正确的,并且模块接收到实际上打算要被该模块使用的有效的参数集合。这固有地确保了模块接收到正确的F地址(包含在参数中)。这些检查中的大多数旨在揭示整个地址分配和验证处理中的错误。因此,如果检测到地址分配问题,则通常总线上的所有F模块将拒绝启动。
如果以下描述的检查中的任意一个失败,则模块将改变到错误状态。
1.模块发现信息记录的完整性和一致性
a.检查n_discovery和n_delay_entries的合理性并且确保记录大小与预计的值匹配。
b.验证延迟时间CRC
c.反转n_modules_assign_inv并且确保其等于n_delay_entries和n_discovery-1
d.还原变换T2、T3和T1并且检查嵌入的ID记录的CRC/校验和。注意:这是迭代处理。详见以下描述。
e.确保在第一发现结果中的第一ID记录针对CPU
f.迭代通过从第一个到最后一个-2的结果记录,并且确保当前结果记录的第二个ID记录与下一个结果记录的第一个ID记录匹配。
g.确保最后的结果记录包含末端标记,并且包含在最后的结果中的ID记录与前面的结果的第二个ID记录匹配。
h.确保列表不包含重复的序列号(对于不同的模块位置)。
2.相对于从模块发现列表中取得的地址检查该模块的SM总线地址
a.在发现结果列表中查找该模块的ID(作为发现结果的第二个项)。如果没有找到,则转变到错误状态。
b.找到模块本身的ID的记录的索引递增1给出模块的SM总线地址。确保这样确定的地址等于从总线ASIC取回的地址
3.检查测量的往返延迟值的有效性和正确性。
a.相对于上面描述的接受标准检查内部回送测量并且将其作为参考值使用。
b.按照上面定义的标准将每个RTDM测量分级。确保所有测量值满足对于OK定义的标准。
替换地,如果已经执行了几个RTDM运行,则可以接受有限数量的异常值和超时。
4.参数化记录的完整性和一致性
a.执行参数化记录(记录格式、CRC)的基本完整性检查
b.确保ModuleIdentNumber参数可应用于该模块
c.确保SM总线地址参数与模块的地址匹配。
5.相对于在参数化记录中描述的预计的模块布置对模块发现数据进行交叉校验
a.确保能够从发现响应列表取得的故障安全模块的数量和位置,与在参数化记录中的“F模块占据的槽位”位图精确匹配。
b.确保参数化记录中的配置的模块的数量与检测到的模块的数量匹配。该检查是可选的,因为没有被系统配置所覆盖的标准模块的添加可以被容忍。
如上所述,在模块发现期间,以下变换已经被应用于结果记录:
其中,T3[Kn]是指:使用模块n的CRC作为密钥的变换T3
因此,必须执行以下步骤,以还原变换:
为了正确地处理末端标记,应当仅执行n-1个步骤(其中n等于记录的数量)并且T2-1必须被应用于最后的记录。
例子:对于4个记录,对所有记录应用如表中所示的步骤1至3,并且附加地对最后一个记录应用T2-1。
在此,短语“与…耦合”被定义为意为直接连接到或通过一个或更多个中间部件间接连接。这样的中间部件可以包括基于硬件和软件二者的部件。此外,为了澄清在未决权利要求中的使用并且在此为公众提供通告,短语“<A>、<B>、…和<N>中的至少一个”或“<A>、<B>、…<N>中的至少一个或其组合”被申请人在最宽的意义上定义,相反,除非由申请人明确申明,否则替代之前或之后的任何其他隐含定义,意为从包括A、B、…和N的组中选择的一个或更多个元素,也就是说元素A、B、…或N中的一个或更多个的任意组合,包括单独或与其他元素中的一个或更多个组合的任意一个元素,其也可以组合地包括没有列出的附加元素。
图17示出了用于发现至少一个设备1702的系统1700,其可以作为SimaticS7-1200PLC实现,其中,主设备1708可以实现上面描述的CPU模块,并且设备1702可以实现上面描述的信号模块。设备1702包括至少一个故障安全模块(“F模块”),并且还可以包括不是F模块的其他信号模块。应当理解,所公开的实施方式可以适用于其他PLC系统和/或可以与现在可获得或以后开发的其他处理或协议结合使用,用于如描述的那样确保设备的可靠发现和配置。
如在图17中进一步示出的,至少一个设备1702中的每一个可以包括第一和第二通信接口1704 1706,其中,第一和第二通信接口1704 1706中的每一个被操作以将至少一个设备1702中的每一个例如串联或如上所述按照菊花链方式,最多连接到至少一个设备1702中的另一个。应当理解,第一和第二通信接口1704 1706可以在逻辑上和/或在物理上分开实现,或者可以作为具有在此描述的性能的单个双向接口实现。至少一个设备1702中的每一个还可以被操作,以在经由第一通信接口1704接收到发现请求消息时,传输、即传播、重复或重新传输传输请求消息,或者响应于所述接收,产生并经由第二通信接口1706传输新的发现请求消息,由此对发现响应消息的接收等待经过一个时间段,并且在由此接收到发现响应消息时或在经过所述时间段后,产生其中包括接收到的发现响应消息(如果存在)的另一个发现响应消息,并且经由第一通信接口1704传输产生的发现响应消息。
系统1700包括主设备1708,其具有处理器1710和与其耦合的存储器1712,它们可以作为如以下关于图20描述的处理器2002和存储器2004实现。主设备1708、例如CPU模块还包括第一逻辑1714,其存储在存储器1712中并且可由处理器1710执行,以使得处理器1710将发现请求消息传输到与其耦合的至少一个设备1702中的第一设备1702,所述发现请求消息不会经由至少一个设备1702中的任何其他设备被传输到第一设备1702,例如发现请求消息被传输到如上所述的未知数量的按照菊花链连接的设备1702中的第一个。
主设备1708还包括第二逻辑1716,其存储在存储器1712中并且可由处理器1710执行,以使得处理器1710与至少一个设备1702中的每一个被操作以传输发现请求消息相关,确定或导出第一数据结构、例如列表或其他构造,第一数据结构通过与其相关联的第一标识符唯一地标识至少一个设备中的每一个,并且还标识每个设备1702相对于在其之前、即紧接在其之前接收到发现请求消息的至少一个设备1702中的另一个设备、例如其上游相邻者的相对位置。
在一个实施方式中,至少一个设备1702中的每一个还可以被操作,以利用第一标识符扩增或插入、附加到或修改发现请求消息,或者产生新的发现请求,所述新的发现请求包括接收到的发现请求和在发送发现请求消息之前对相关联的至少一个设备1702进行标识的第一标识符、诸如设备唯一CRC码,第一数据结构包括扩增的发现请求消息,或由至少一个设备1702中的每一个新产生的发现请求,即累加的设备1702标识符。如上所述,在一个实施方式中,每个设备还可以被操作以产生并传输包括对相关联的至少一个设备1702进行标识的可变标识符、诸如唯一的序列号和在该序列号上的CRC码的发现请求消息。替换地,每个设备还可以利用从其接收到发现请求的在前/上游相邻设备1702的标识符扩增发现请求消息。
替换或附加地,至少一个设备1702中的每一个还可以被操作以在接收到发现请求消息时产生对其的响应,该响应包括与其相关联的第一标识符,其可以包括与其相关联的可变标识符和与发现请求一起接收到的在前/上游相邻设备1702的可变标识符,并且经由第一通信接口1704传输所述响应,即由任意上游设备1702传播到主设备1708、例如CPU模块。相应地,主设备1708还可以包括在图中由“其他逻辑”1720涵盖的第四逻辑1720,其存储在存储器1712中并且可由处理器1710执行,以使得处理器1710从至少一个设备1702中的每一个接收响应中的每一个,第一数据结构包括接收到的响应。在一个实施方式中,在上游设备传播从下游设备接收到的响应时,其可以与下面描述的加密类似地使用设备唯一值对接收到的响应进行加密或变换。在响应经由多个设备传播的情况下,每个设备还可以对由在前的设备进行了变换/加密的响应进行变换和/或加密,形成递归变换/加密数据结构,其递归反变换/反加密可以揭示哪个设备按照哪个顺序传播响应到达CPU。
相应地,在一个实施方式中,第一数据结构可以包括发现请求内的设备标识符的累加列表,其如以下所述最终被传递回主设备1708。在替换实施方式中,第一数据结构可以包括在每个设备接收到发现请求消息时由设备1702中的每一个发送到主设备1708、由主设备1708累加的响应消息的累加。
主设备1708还可以包括第三逻辑1718,其存储在存储器1712中并且可由处理器1710执行,以使得处理器1710与至少一个设备1702中的每一个被操作以产生并传输产生的发现响应消息相关,确定、例如导出或接收第二数据结构、例如列表或其他构造,第二数据结构通过与其相关联的与第一标识符不同的第二标识符(例如唯一设备序列号)唯一地标识至少一个设备1702中的每一个,并且还标识每个设备1702相对于向其传输产生的发现响应消息的至少一个设备1702中的另一个设备的相对位置。
在一个实施方式中,主设备1708包括第四逻辑1720,其存储在存储器1712中并且可由处理器1710执行,以使得处理器1710从第一设备1702接收产生的发现响应消息,其例如包括由至少一个设备1702中的每一个进行的累加的修改,第二数据结构包括接收到的所产生的发现响应消息。如对其所描述的,由每个设备进行的修改可以包括附加对设备和其下游的在先相邻设备进行标识的数据。替换地,由每个设备进行的修改可以包括基于设备唯一密钥值的变换、例如加密,其中,产生的发现响应消息是经过递归变换的设备数据结构。特别地,在一个实施方式中,在设备1702的链中的最后的设备1702可以在例如在等待来自于不存在的下游设备1702的响应之后超时后,确定其是链中的最后的设备1702,并且在此基础上,产生其是最后的设备1702的指示消息,并且将该指示消息传输到下一个上游设备1702,以便进一步沿着链上行传播到主设备1708。每个设备1702在接收到该指示消息时可以如上所述在将接收到的消息传播到下一个设备之前对其进行变换。由此,创建经过递归或重复变换的数据结构,应用变换的顺序指示传递指示消息的设备1702的顺序。使用已知设备唯一密钥值和预计的设备的顺序,可以将变换逆转,以验证已知设备唯一密钥或设备排序事实上是正确的。
在系统1700的一个实施方式中,至少一个设备1702中的每一个还可以被操作以在经由第一通信接口1704接收到地址分配消息时,确定设备1702是否具有分配的地址,如果设备1702具有分配的地址,则经由第二通信接口1706传输地址分配消息,而如果设备1702没有分配的地址,则对其分配地址分配消息的地址,其中,至少一个设备1702中的每一个在对其分配地址之后,对寻址到其的请求进行响应。相应地,主设备1708还可以包括第四逻辑1720,其存储在存储器1712中并且可由处理器1710执行,以使得处理器1710例如按照上面描述的地址分配协议将地址分配消息传输到对于至少一个设备1702中的每一个的第一设备1702。在一个实施方式中,第四逻辑1720可由处理器1710执行,以使得处理器1710传输地址分配消息,其中,依次分配的地址与地址分配消息预计被传输通过的至少一个设备的数量相关,直到其例如通过对随后的地址分配消息的响应,确定在设备1702的链中的至少一个设备1702中的最后一个已经具有分配的地址为止,所述对随后的地址分配消息的响应指示这一点。替换地,第四逻辑1720可由处理器1710执行,以使得处理器1710将地址分配消息传输到基于第一和第二数据结构识别的至少一个设备1702中的每一个,每个地址分配消息包括与地址分配消息预计被传输通过的至少一个设备1702的数量相关的唯一地址。在一个实施方式中,唯一地址可以依次从预先定义的地址序列中选择。替换地,主设备1708还可以包括第五逻辑1720,其存储在存储器1712中并且可由处理器1710执行,以使得处理器1710产生唯一地址。
在系统1700的一个实施方式中,至少一个设备1702中的每一个的特征在于,在第一和第二通信接口1704 1706中的一个上接收通信以及在第一和第二通信接口1704 1706中的另一个上发送接收到的通信之间的设备延迟。相应地,主设备1708还可以包括第四逻辑1720,其存储在存储器1712中并且可由处理器1710执行,以使得处理器1710使用分配给其的唯一地址将针对寻址的响应的请求传输到在上述地址分配处理期间或基于第一和第二数据结构识别的至少一个设备1702中的每一个,或者到所有有效地址,不管是否分配给了设备1702,并且对于响应于请求接收到的每个响应,确定在发送请求和接收对其的响应之间的延迟,并且还将确定的延迟传输到设备1702中的至少一个、例如F模块设备1702,以由设备1702与基于分配给至少一个设备1702的唯一地址和相关联的设备延迟由设备针对每个接收到的响应所计算的预计延迟进行比较,并且当确定的延迟偏离预计延迟时指示错误。
在系统1700的一个实施方式中,至少一个设备1702可以在接收到包括第一和第二数据结构的消息时,被操作以从对相关联的设备1702和相关联的设备1702相对于至少一个设备1702中的另一个的布置的位置进行标识的第一和第二数据结构,导出数据并验证其正确性。相应地,主设备1708还可以包括第四逻辑1702,其存储在存储器1712中并且可由处理器1710执行,以使得处理器1710将包括第一和第二数据结构的消息传输到对于至少一个设备1702、例如基于第一和第二数据结构识别的那些设备1702的第一设备1702。
图17还描绘了设备1702的框图,其可以是上述信号模块,并且其还可以包括或可以不包括被操作以获得分配的地址的F模块。设备1702包括存储器1722、第一和第二通信接口1704 1706以及与存储器1722及第一和第二通信接口1704 1706耦合的处理器1724,第一和第二通信接口1704 1706中的每一个被操作以例如串联或按照上述菊花链方式最多连接到另一个设备1702。应当理解,第一和第二通信接口1704 1706可以在逻辑上和/或在物理上分开地实现,或者可以作为具有在此描述的性能的单个双向接口实现。处理器1724和存储器1722可以作为下面关于图20描述的处理器2002和存储器2004实现。
设备1702包括第一逻辑1726,其存储在存储器1722中并且可由处理器1724执行,以使得处理器1724在经由第一通信接口1704从其发送者接收到发现请求消息时,传输、例如传播或重新传输或者中继发现请求消息,或者响应于对发现请求消息的接收产生并经由第二通信接口1706传输另一个新的发现请求消息,其可以在其中包括接收到的发现请求消息,并且由此对发现响应消息的接收等待经过一个时间段,并且在由此接收到发现响应消息时或者在经过了所述时间段时,产生其中包括接收到的发现响应消息(如果存在)的另一个发现响应消息,并且经由第一通信接口1704传输产生的发现响应消息。
在一个实施方式中,设备1702还可以包括第二逻辑1728,其存储在存储器1722中并且可由处理器1724执行,以使得处理器1724在经由第一通信接口1704接收到发现请求消息时和/或在发送发现请求消息之前,利用对设备1702进行标识的第一标识符、例如诸如唯一序列号和在此基础上计算的循环冗余校验码的可变标识符,来扩增发现请求消息,或产生包括上述第一标识符的新的发现请求。在一个实施方式中,发现请求消息还可以利用对发现请求消息的发送者进行标识的第二标识符来扩增。在一个实施方式中,第一标识符可以是设备1702的设备标识符的循环冗余校验值。然后扩增的发现请求消息可以被转换为发现响应消息,并且经由第一通信接口1704被传输。
在一个实施方式中,设备1702还可以包括:第二逻辑1728,其存储在存储器1722中并且可由处理器1724执行,以使得处理器1724在接收到发现请求消息时,产生对设备1702进行标识的标识消息,例如包括诸如唯一序列号和对其的循环冗余校验码的可变标识符,并且将标识消息传输到发送者;以及第三逻辑1728,其存储在存储器1722中并且可由处理器1724执行,以使得处理器1724在经由第二通信接口1706接收到标识消息时,经由第一通信接口1704传输标识消息。在一个实施方式中,可以在被传输之前,如上所述例如基于设备唯一密钥值对接收到的标识消息进行变换、例如加密。
在一个实施方式中,设备1702还可以包括第二逻辑1728,其存储在存储器1722中并且可由处理器1724执行,以使得处理器1724在经由第一通信接口1704接收到包括地址的地址分配消息时,确定设备1702是否具有分配的地址,如果设备1702具有分配的地址,则经由第二通信接口1706传输地址分配消息,而如果设备1702没有分配的地址,则对其分配地址分配消息的地址,其中,设备1702在对其分配地址之后,对寻址到其的请求进行响应。
在一个实施方式中,还可以执行第一逻辑1726,在处理器1724接收到发现响应消息时,使得处理器1724利用对设备1720进行标识的第一标识符,以及在一个替换实施方式中,利用对发现响应消息的发送者进行标识的第二标识符,来扩增发现响应消息。在一个实施方式中,第一标识符可以是设备1702的序列号,并且第二标识符可以是从其接收到发现响应消息的设备的序列号。
在一个实施方式中,还可以执行第一逻辑1726,在处理器1724经由第二通信接口1706接收到发现响应消息时,使得处理器1724基于设备1702唯一的密钥值对接收到的发现响应消息应用变换、例如加密功能,其中,接收到的发现响应消息可以使用密钥值仅从变换后的接收到的发现响应消息中获得。在一个实施方式中,密钥值可以是基于接收到的发现响应消息计算或者从设备1702的唯一标识符确定或导出的循环冗余校验值或校验和值中的一个。在一个实施方式中,变换可以是基于密钥值的加密。如上面所描述的,设备的链中的最后的设备1702可以在确定其是最后的设备1702后,产生链尾指示符作为发现响应消息,并且将该指示符传输到下一个上游设备1702,该设备如上所述对指示符进行变换,并且将其传输到下一个设备1702,等等。
在一个实施方式中,设备1702还可以包括第二逻辑1728,其存储在存储器1722中并且可由处理器1724执行,以使得处理器1724在接收到包括第一和第二数据结构的消息时,从第一和第二数据结构导出对设备1702和设备1702相对于其他设备1702的布置的位置进行标识的数据并且验证其正确性,其中,第一数据结构通过与设备1702相关联的第一标识符至少唯一地标识设备1702,并且还标识设备1702相对于到其的发现请求消息的发送者的相对位置,并且第二数据结构通过与设备1702相关联的与第一标识符不同的第二标识符至少分别唯一地标识设备1702,并且其还标识设备1702相对于向其传输产生的发现响应消息的发送者的相对位置。在其中第二数据结构包括经过递归变换的发现响应消息的一个实施方式中,导出还包括例如基于已知的密钥值并且按照从第一数据结构获得的顺序对第二数据结构进行递归反变换。
图18描绘了示出图17的系统1700的操作的流程图。特别地,图18示出了用于例如在设备的数量未知的情况下,由主设备1708发现至少一个设备1702的计算机实现的方法。如上所述,至少一个设备1702中的每一个包括第一和第二通信接口1704 1706,第一和第二通信接口1704 1706中的每一个被操作以将至少一个设备1702中的每一个最多连接到至少一个设备1702中的另一个。此外,如上所述,至少一个设备1702中的每一个被操作,以在经由第一通信接口1704接收到发现请求消息时,经由第二通信接口1706传输发现请求消息,并且由此对发现响应消息的接收等待经过一个时间段,并且在由此接收到发现响应消息时或在经过所述时间段后,产生其中包括接收到的发现响应消息(如果存在)的另一个发现响应消息,并且经由第一通信接口1704传输产生的发现响应消息。
操作包括:处理器1710将发现请求消息传输到与其耦合的至少一个设备1702中的第一设备1702,所述发现请求消息不会经由至少一个设备1702中的任何其他设备被传输到第一设备1702[块1802];处理器1710与至少一个设备1702中的每一个被操作以传输发现请求消息相关,确定第一数据结构,第一数据结构通过与其相关联的第一标识符唯一地标识至少一个设备1702中的每一个,并且还标识每个设备1702相对于在其之前接收到发现请求消息的至少一个设备1702中的另一个设备的相对位置[块1804];处理器1710与至少一个设备1702中的每一个被操作以产生并传输产生的发现响应消息相关,确定第二数据结构,第二数据结构通过与其相关联的与第一标识符不同的第二标识符唯一地标识至少一个设备1702中的每一个,并且还标识每个设备1702相对于向其传输产生的发现响应消息的至少一个设备1702中的另一个设备的相对位置[块1806]。
在一个实施方式中,至少一个设备1702中的每一个还可以被操作,以利用第一标识符扩增发现请求消息,第一标识符在发送发现请求消息之前对相关联的至少一个设备1702进行标识,第一数据结构包括由至少一个设备1702中的每一个扩增的发现请求消息。
在一个实施方式中,至少一个设备1702中的每一个还可以被操作以在接收到发现请求消息时产生对其的响应,该响应包括与其相关联的第一标识符,并且经由第一通信接口1704传输所述响应,其中,操作还包括:从至少一个设备1702中的每一个接收响应中的每一个,第一数据结构包括接收到的响应[块1808]。
在一个实施方式中,操作还包括:从第一设备1702接收产生的发现响应消息,第二数据结构包括接收到的所产生的发现响应消息[块1810]。
在一个实施方式中,至少一个设备1702中的每一个还可以被操作以在经由第一通信接口1704接收到地址分配消息时,确定设备1702是否具有分配的地址,如果设备1702具有分配的地址,则经由第二通信接口1706传输地址分配消息,而如果设备1704没有分配的地址,则对其分配地址分配消息的地址,其中,至少一个设备1702中的每一个在对其分配地址之后,对寻址到其的请求进行响应。相应地,操作还可以包括:处理器1710将地址分配消息传输到对于例如依次分配或者基于第一和第二数据结构识别的至少一个设备1702中的每一个的第一设备1702,每个地址分配消息包括与地址分配消息预计被传输通过的至少一个设备1702的数量相关的唯一地址[块1812]。唯一地址可以依次从预先定义的地址序列中选择。替换地,操作还可以包括:处理器1710产生唯一地址。
在一个实施方式中,至少一个设备1702中的每一个的特征在于,在第一和第二通信接口1704 1706中的一个上接收通信以及在第一和第二通信接口17041706中的另一个上发送接收到的通信之间的设备延迟。相应地,系统1700的操作还可以包括:处理器1710使用分配给其的唯一地址,向所有有效地址、仅向在上述地址分配处理期间分配的那些地址或仅向基于第一和第二数据结构识别的那些设备,传输针对寻址到至少一个设备1702中的每一个的响应的请求[块1814];以及对于响应于请求接收到的每个响应,处理器1710确定在发送请求和接收对其的响应之间的延迟[块1816];将确定的发送请求和接收响应之间的延迟传输到至少一个设备1702中的每一个,以由此与基于分配给至少一个设备1702的唯一地址和相关联的设备延迟计算的针对每个接收到的响应的预计延迟进行比较[块1818];并且当确定的延迟偏离预计延迟时指示错误[块1820]。
在一个实施方式中,至少一个设备1702可以在接收到包括第一和第二数据结构的消息时,被操作以从对相关联的设备1702和相关联的设备1702相对于至少一个设备1702中的另一个的布置的位置进行标识的第一和第二数据结构,导出数据并验证其正确性。相应地,系统1700的操作还可以包括:处理器1710将包括第一和第二数据结构的消息,传输到对于基于第一和第二数据结构识别的至少一个设备1702的第一设备1702[块1822]。
图19描绘了示出图17的设备1702的操作的流程图。特别地,图19示出了用于如上所述由设备1702获得分配的地址的计算机实现的方法,所述设备1702具有处理器1724以及与其耦合的第一和第二通信接口1704 1706,第一和第二通信接口1704 1706中的每一个被操作以如上所述最多连接到另一个设备1702。
操作包括:在经由第一通信接口1704从发现请求消息的发送者接收到发现请求消息时,经由第二通信接口1706传输发现请求消息[块1902],并且由此对发现响应消息的接收等待经过一个时间段,并且在由此接收到发现响应消息时或在经过了所述时间段时,如果存在接收到的发现响应消息,则产生其中包括接收到的发现响应消息的另一个发现响应消息[块1904],并且经由第一通信接口1704传输所产生的发现响应消息[块1906]。
在一个实施方式中,设备1702的操作还可以包括:处理器1724在经由第一通信接口1704接收到包括地址的地址分配消息时,确定设备1702是否具有分配的地址[块1908],如果设备1702具有分配的地址,则经由第二通信接口传输地址分配消息[块1910],而如果设备1702没有分配的地址,则对其分配地址分配消息的地址,其中,设备1702在对其分配地址之后对寻址到其的请求作出响应[块1912]。
在一个实施方式中,设备1702的操作还可以包括:在传输发现请求消息之前,处理器1724利用对设备1702进行标识的第一标识符扩增发现请求消息,或利用对设备1702进行标识的第一标识符,以及在替换实施方式中利用对发现请求消息的发送者进行标识的第二标识符,创建新的发现请求[块1914]。在一个实施方式中,第一标识符可以是设备1702的设备标识符的循环冗余校验值。
在一个实施方式中,设备1702的操作还可以包括:处理器1724在接收到发现请求消息时,产生对设备1702进行标识的标识消息[块1916],并且将标识消息传输到发送者[块1918];并且处理器1724在经由第二通信接口1706接收到标识消息时,经由第一通信接口1704传输标识消息[块1920]。在一个实施方式中,在接收到标识消息之后,如上所述可以在传输其之前对标识消息进行变换。
在一个实施方式中,产生另一个发现响应消息还可以包括:在接收到发现响应消息时,处理器1724利用对设备1702进行标识的第一标识符和对发现响应消息的发送者进行标识的第二标识符,来扩增发现响应消息[块1922]。在一个实施方式中,第一标识符可以是设备1702的序列号。
在一个实施方式中,产生另一个发现响应消息可以包括:在接收到发现响应消息时,处理器1724基于设备1702唯一的密钥值,对接收到的发现响应消息应用变换,其中,接收到的发现响应消息可以使用密钥值仅从变换后的接收到的发现响应消息获得[块1924]。在一个实施方式中,密钥值可以从设备1702的标识符中的一个确定或导出。在一个实施方式中,变换可以是基于密钥值的加密。
在一个实施方式中,设备1702的操作还可以包括:处理器1724在接收到包括第一和第二数据结构的消息时,从第一和第二数据结构导出对设备1702和设备1702相对于其他设备1702的布置的位置进行标识的数据[块1926],并且验证其正确性[块1928],其中,第一数据结构通过与设备1702相关联的可变标识符至少唯一地标识设备1702,并且还标识设备1702相对于到其的发现请求消息的发送者的相对位置,并且第二数据结构通过与设备1702相关联的与第一标识符不同的第二标识符唯一地标识至少一个设备1702中的每一个,并且其还标识设备1702相对于向其传输所产生的发现响应消息的发送者的相对位置。在一个实施方式中,第二数据结构可以是经过递归变换的发现响应消息,导出还包括:对第二数据结构进行递归反变换[块1930]。
本领域技术人员应当理解,在此描述的一个或更多个模块可以使用除了其他方面包括计算机可执行指令(例如可执行软件代码)的有形计算机可读介质来实现。替换地,模块可以作为软件代码、固件代码、硬件和/或其组合来实现。例如模块可以作为如上所述的可编程逻辑控制器的部分来实施。
参考图20,示出了通用计算机系统2000的示意实施方式。计算机系统2000可以包括一组指令,其可以被执行以使得计算机系统2000执行在此公开的方法或基于计算机的功能中的任意一个或更多个。计算机系统2000可以作为单独的设备操作或可以例如使用网络连接到其他计算机系统或外围设备。上面讨论的部件中的任意一个、例如主设备1708、设备1702或处理器1710、1724可以是计算机系统2000或计算机系统2000中的部件。计算机系统2000可以实现所公开的实施方式作为其部件的可编程逻辑控制器。
在联网的实施方式中,计算机系统2000可以在客户端-服务器用户网络环境中按照服务器的性能或作为客户端用户计算机,或者在对等(或分布式)网络环境中作为对等计算机系统操作。计算机系统2000也可以作为不同的设备来实现或合并到不同设备中,例如个人计算机(PC)、平板电脑、机顶盒(STB)、个人数字助理(PDA)、移动设备、掌上型电脑、膝上型电脑、台式电脑、通信设备、无线电话、固定电话、控制系统、照相机、扫描器、传真机、打印机、寻呼机、个人信任设备、环球网设备、网络路由器、交换机或桥接器或者能够(依次或另外地)执行规定由机器采取动作的指令集的任意其他机器。在特定实施方式中,计算机系统2000可以使用提供语音、视频或数据通信的电子设备来实现。此外,虽然示出了单个计算机系统2000,但是术语“系统”也应当被理解为包括单独或联合执行一组或多组指令以执行一个或更多个计算机功能的系统或子系统的任意集合。
如在图20中所示出的,计算机系统2000可以包括处理器2002,例如中央处理单元(CPU)、图形处理单元(GPU)或二者。处理器2002可以是多种系统中的部件。例如,处理器2002可以是标准的个人计算机或工作站的部分。处理器2002可以是一个或更多个通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列、服务器、网络、数字电路、模拟电路、其组合,或其他现在已知或稍后开发的用于分析和处理数据的设备。处理器2002可以实现软件程序,例如手动生成(即编程的)的代码。
计算机系统2000可以包括可以经由总线2008通信的存储器2004。存储器2004可以是主存储器、静态存储器或动态存储器。存储器2004可以包括、但不限于诸如各种易失性和非易失性存储介质的计算机可读存储介质,包括、但不限于随机存取存储器、只读存储器、可编程只读存储器、电可编程只读存储器、电可擦除只读存储器、闪存、磁带或磁盘、光介质等。在一个实施方式中,存储器2004包括用于处理器2002的缓存或随机存取存储器。在替换实施方式中,存储器2004与处理器2002、例如处理器的缓存、系统存储器或其他存储器分开。存储器2004可以是外部存储设备或用于存储数据的数据库。例子包括硬盘驱动器、光盘(“CD”)、数字视频光盘(“DVD”)、存储卡、存储棒、软盘、通用串行总线(“USB”)存储器设备,或被操作以存储数据的任意其他设备。存储器2004可操作以存储处理器2002可执行的指令。在图中示出的或在此描述的功能、动作或任务可以由执行存储在存储器2004中的指令2012的编程的处理器2002执行。功能、动作或任务独立于指令集、存储介质、处理器或处理策略的具体类型,并且可以由软件、硬件、集成电路、固件、微代码等单独操作或组合地执行。类似地,处理策略可以包括多处理、多任务、并行处理等。
如所示出的,计算机系统2000还可以包括显示单元2014,例如液晶显示器(LCD)、有机发光二极管(OLED)、平板显示器、固态显示器、阴极射线管(CRT)、投影仪、打印机或者其他现在已知或稍后开发的用于输出确定的信息的显示设备。显示器2014可以用作用户用来观察处理器2002的工作的接口或者具体地用作与存储在存储器2004中或驱动单元2006中的软件的接口。
另外,计算机系统2000可以包括输入设备2016,其被配置为允许用户与系统2000的任意部件交互。输入设备2016可以是数字键盘、键盘或诸如鼠标或操纵杆的光标控制设备、触摸屏、遥控器或被操作以与系统2000交互的任意其他设备。
在特定实施方式中,如图20所示,计算机系统2000还可以包括盘或光驱动单元2006。盘驱动单元2006可以包括其中可以嵌入一组或更多组指令2012、例如软件的计算机可读介质2010。此外,指令2012可以实施在此描述的方法或逻辑中的一个或更多个。在特定实施方式中,指令2012可以在由计算机系统2000执行期间完全或至少部分地驻留在存储器2004内和/或处理器2002内。存储器2004和处理器2002也可以包括上面讨论的计算机可读介质。
本公开设想计算机可读介质,其包括指令2012或响应于传播的信号接收和执行指令2012,从而连接到网络2020的设备可以在网络2020上交换语音、视频、音频、图像或任何其他数据。此外,指令2012可以经由通信接口2018在网络2020上被发送或接收。通信接口2018可以是处理器2002的一部分,或者可以是单独的部件。通信接口2018可以用软件创建,或者可以是使用硬件的物理连接。通信接口2018被配置为与网络2020、外部介质、显示器2014或系统200中的任意其他部件或其组合连接。与网络2020的连接可以是诸如有线以太网连接的物理连接,或者可以如以下讨论的以无线方式建立。类似地,与系统2000的其他部件的附加连接可以是物理连接,或者可以以无线方式建立。
网络2020可以包括有线网络、无线网络或其组合。无线网络可以是蜂窝电话网络、802.11、802.16、802.20或WiMax网络。此外,网络2020可以是诸如因特网的公共网络、诸如企业内部互联网的私有网络或其组合,并且可以使用现在可用或稍后开发的多种联网协议,包括、但不限于基于TCP/IP的联网协议。
在该说明书中描述的主题和功能操作的实施方式可以使用数字电子电路或使用计算机软件、固件或硬件、包括在该说明书中公开的结构和其结构等效物,或使用它们中的一个或更多个的组合来实现。在该说明书中描述的主题的实施方式可以作为一个或更多个计算机程序产品,即在计算机可读介质上编码以由数据处理设备执行或控制数据处理设备的操作的计算机程序指令的一个或更多个模块来实现。虽然已知计算机可读介质是单个介质,但是术语“计算机可读介质”包括单个介质或多个介质,例如集中或分布式数据库和/或存储一组或更多组指令的相关联的缓存和服务器。术语“计算机可读介质”还应当包括能够存储、编码或携带用于由处理器执行或使得计算机系统执行在此公开的方法或操作中的任意一个或更多个的指令集的任意介质。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备或它们中的一个或更多个的组合。术语“数据处理设备”包括用于处理数据的所有设备、装置和机器,例如包括可编程处理器、计算机或者多个处理器或计算机。设备除了包括硬件之外还可以包括创建用于所讨论的计算机程序的执行环境的代码,例如组成处理器固件的代码、协议栈、数据库管理系统、操作系统或它们中的一个或更多个的组合。
在特定的非限制性的示例性实施方式中,计算机可读介质可以包括固态存储器,例如存储卡或容纳一个或更多个非易失性只读存储器的其他封装。此外,计算机可读介质可以是随机存取存储器或其他易失性可重写存储器。附加地,计算机可读介质可以包括磁光或光介质,例如磁盘或磁带或用于捕捉载波信号、例如经过传输介质传送的信号的其他存储设备。电子邮件或其他自包含的信息文档或文档组的数字文件附件可以被视为是有形存储介质的分发介质。相应地,本公开被视为包括计算机可读介质或分发介质和其中可以存储数据或指令的其他等效物和后续介质中的任意一个或更多个。
在替换实施方式中,专用硬件实现、例如专用集成电路、可编程逻辑阵列和其他硬件设备,可以被构建为实现在此描述的方法中的一个或更多个。可以包括不同实施方式的设备和系统的应用可以宽泛地包括多种电子设备和计算机系统。在此描述的一个或更多个实施方式可以使用两个或更多个特定互连的硬件模块或设备、利用可以在模块之间或通过模块传送的有关的控制和数据信号,或作为专用集成电路的部分来实现功能。相应地,本系统包括软件、固件、和硬件实现。
按照本公开的多个实施方式,在此描述的方法可以由计算机系统可执行的软件程序实现。此外,在示例性的非限制性实施方式中,实现可以包括分布式处理、部件/对象分布式处理和并行处理。替换地,虚拟计算机系统处理可以被构建为实现如在此描述的方法或功能中的一个或更多个。
尽管本说明书描述了在特定实施方式中参考特定标准和协议可以实现的部件和功能,但是本发明不限于这些标准和协议。例如,用于因特网和其他数据包交换网络传输的标准(例如,TCP/IP、UDP/IP、HTML、HTTP、HTTPS)代表了现有技术的例子。这些标准由具有基本相同的功能的更快或更有效的等效物周期性地取代。相应地,具有与在此公开的那些相同或相似功能的替代标准和协议被视为其等效物。
计算机程序(也已知为程序、软件、软件应用、脚本或代码)可以按照任何形式的编程语言、包括编译或解释语言编写,并且其可以按照任何形式被采用,包括作为单独的程序或作为模块、部件、子例程或适合于在计算环境中使用的其他单元。计算机程序不必对应于文件系统中的文件。程序可以被存储在保存其他程序或数据(例如以标记语言文档存储的一个或更多个脚本)的文件的部分中、所讨论的程序专用的单个文件中或多个协作的文件(例如存储一个或更多个模块、子程序或代码部分的文件)中。计算机程序可以被布置为在一个计算机上执行,或者在定位于一个地点或分布在多个地点并且通过通信网络互相连接的多个计算机上执行。
在该说明书中描述的处理和逻辑流程可以由一个或更多个可编程处理器执行,其通过对输入数据进行操作并产生输出来执行一个或更多个计算机程序以执行功能。处理和逻辑流程也可以由特殊用途逻辑电路、例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)执行,并且设备也可以作为特殊用途逻辑电路来实现。
适合于执行计算机程序的处理器例如包括通用和特殊用途微处理器二者以及任何种类的数字计算机的任意一个或更多个处理器。通常,处理器从只读存储器或随机存取存储器或二者接收指令和数据。计算机的主要元件是用于执行指令的处理器以及用于存储指令和数据的一个或更多个存储器设备。通常,计算机还包括用于存储数据的一个或更多个大容量存储设备、例如磁盘、磁光盘或光盘,或者计算机可操作地耦合到一个或更多个大容量存储设备,以从其接收数据或向其传输数据或者接收并传输数据。然而,计算机不一定具有这些设备。此外,计算机可以被嵌入另一设备,举例来说,例如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由特殊用途逻辑电路补充或合并于其中。
为了提供与用户的交互,在该说明书中描述的主题的实施方式可以在如下设备上实现,所述设备具有用于向用户显示信息的显示器、例如CRT(阴极射线管)或LCD(液晶显示器)监视器以及用户可以用来向计算机提供输入的键盘和指示设备、例如鼠标或轨迹球。其他种类的设备也可以用于提供与用户的交互;例如提供给用户的反馈可以是任意形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任意形式被接收,包括声音、语音或触觉输入。
在该说明书中描述的主题的实施方式可以在计算系统中实现,所述计算系统包括后端部件、例如作为数据服务器,或者包括中间件部件、例如应用服务器,或者包括前端部件、例如具有用户可以用来与在该说明书中描述的主题的实施方式交互的图形用户界面或Web浏览器的客户端计算机、或者一个或更多个这样的后端、中间件、或前端部件的任意组合。系统的部件可以由任意形式或介质的数字数据通信、例如通信网络相互连接。通信网络的例子包括局域网(“LAN”)和诸如因特网的广域网(“WAN”)。
计算系统可以包括客户端和服务器。客户端和服务器通常互相远离并且一般通过通信网络相互作用。客户端和服务器的关系借助在各个计算机上运行并且具有客户端-服务器的相互关系的计算机程序产生。
在此描述的实施方式的图示旨在提供对各种实施方式的结构的一般理解。这些图示不旨在作为对使用在此描述的结构或方法的设备和系统的所有元素和特征的完整描述。在回顾本公开时,许多其他实施方式对于本领域技术人员来说是清楚的。其他实施方式可以使用或从本公开中导出,从而可以在不脱离本公开的范围的情况下进行结构和逻辑替代和改变。附加地,这些图示仅仅是代表性的并且可能不按照比例绘制。在图示内的某些比例可能被放大,而其他比例可能被最小化。相应地,本公开和附图应当被视为示意性的而不是限制性的。
虽然该说明书包含许多细节,但是它们不应当被解释为对本发明的范围或要求保护的内容的限制,而应当被解释为对本发明的特定实施方式的具体特征的描述。在单独的实施方式的情境中在该说明书中描述的某些特征也可以在单个实施方式中以组合实现。相反地,在单个实施方式的情境中描述的不同特征也可以在多个实施方式中分开地或以任意合适的子组合实现。此外,尽管特征可能在上面被描述为在某些组合中动作并且甚至最初本身被要求保护,但是来自于要求保护的组合的一个或更多个特征可以在一些情况中从组合中被排除,并且要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然操作在附图中被绘出并且在此按照特定顺序被描述,但是这不应当被理解为需要按照示出的特定顺序或按照连续顺序执行这些操作,或执行所有示出的操作,以实现预期的结果。在某些情形下,多任务和并行处理可以是有利的。而且,上面描述的实施方式中的不同系统部件的分离不应当被理解为在所有实施方式中需要这样的分离,并且应当理解,所描述的程序部件和系统通常可以被一起集成在单个软件产品中或被封装到多个软件产品中。
仅仅为了方便的目的,本公开的一个或更多个实施方式在此可以单独和/或统称为术语“发明”,而不旨在有意将该申请的范围限制到任意特定的发明或发明概念。而且,尽管在此示出并描述了具体实施方式,但是应当理解,设计为实现相同或类似目的的任意后续布置可以替代示出的具体实施方式。本公开旨在覆盖不同实施方式的任意和所有后续适配或变化。在回顾说明书后,上述实施方式和在此没有具体描述的其他实施方式的组合,对于本领域技术人员是清楚的。
提供了本公开的摘要以符合37C.F.R.§1.72(b),并且在如下进行理解的条件下提交,即其不被用于解释或限制权利要求的范围或含义。此外,在前面的具体实施方式中,为了精简本公开,将不同的特征分组在一起或在单个实施方式中描述。本公开不应当被解释为反映如下意图,即要求保护的实施方式需要比在每个权利要求中清楚地叙述的更多的特征。相反,如所附权利要求所反映的,发明主题可以针对比所公开的实施方式中的任意一个的全部特征更少的特征。由此,所附权利要求被合并到具体实施方式中,其中,每个权利要求独立地限定单独要求保护的主题。
因此,作为目的是,前面的具体实施方式被视为解释性的而不是限制性的,并且应当理解,所附权利要求、包括所有等效物,旨在限定本发明的精神和范围。
Claims (54)
1.一种用于发现至少一个设备1702的计算机实现的方法,所述至少一个设备1702中的每一个包括第一和第二通信接口17041706,该第一和第二通信接口17041706中的每一个被操作以将所述至少一个设备1702中的每一个最多连接到该至少一个设备1702中的另一个,所述至少一个设备1702中的每一个被操作以在经由第一通信接口1704接收到发现请求消息时,经由第二通信接口1706传输该发现请求消息,并且由此对发现响应消息的接收等待经过一个时间段,并且在由此接收到该发现响应消息时或在经过所述时间段后,如果存在接收到的发现响应消息,则产生其中包括该接收到的发现响应消息的另一个发现响应消息,并且经由第一通信接口1704传输所产生的发现响应消息,该方法包括:
处理器1710将发现请求消息传输到与其耦合的所述至少一个设备1702中的第一设备1702,所述发现请求消息不会经由至少一个设备1702中的任何其他设备被传输到第一设备1702[块1802];
所述处理器1710,与所述至少一个设备1702中的每一个被操作以传输发现请求消息相关,确定第一数据结构,所述第一数据结构通过与设备1702相关联的第一标识符唯一地标识所述至少一个设备1702中的每一个,并且还标识每个设备1702相对于在其之前接收到发现请求消息的至少一个设备1702中的另一个设备的相对位置[块1804];以及
所述处理器1710,与所述至少一个设备1702中的每一个被操作以产生并传输所产生的发现响应消息相关,确定第二数据结构,所述第二数据结构通过与设备1702相关联的与第一标识符不同的第二标识符唯一地标识所述至少一个设备1702中的每一个,并且还标识每个设备1702相对于向其传输所产生的发现响应消息的至少一个设备1702中的另一个设备的相对位置[块1806]。
2.根据权利要求1所述的计算机实现的方法,其中,所述至少一个设备1702中的每一个还被操作以在传输发现请求消息之前利用对相关联的至少一个设备1702进行标识的第一标识符扩增发现请求消息,所述第一数据结构包括由所述至少一个设备1702中的每一个扩增的发现请求消息。
3.根据权利要求1所述的计算机实现的方法,其中,所述至少一个设备1702中的每一个还被操作以在接收到发现请求消息时产生包括与其相关联的第一标识符的对其的响应,并且经由第一通信接口1704传输所述响应,并且其中,所述方法还包括:
从所述至少一个设备1702中的每一个接收所述响应中的每一个,第一数据结构包括接收到的响应[块1808]。
4.根据权利要求1所述的计算机实现的方法,所述方法还包括:从第一设备1702接收所产生的发现响应消息,所述第二数据结构包括接收到的所产生的发现响应消息[块1810]。
5.根据权利要求1所述的计算机实现的方法,其中,所述至少一个设备1702中的每一个还被操作以在经由第一通信接口1704接收到地址分配消息时,确定设备1702是否具有分配的地址,如果设备1702具有分配的地址,则经由第二通信接口1706传输地址分配消息,而如果设备1704没有分配的地址,则对其分配地址分配消息的地址,其中,至少一个设备1702中的每一个在对其分配地址之后,对寻址到其的请求进行响应,所述方法还包括:
所述处理器1710将地址分配消息传输到对于所述至少一个设备1702中的每一个的第一设备1702,每个地址分配消息包括与地址分配消息预计被传输通过的至少一个设备1702的数量相关的唯一地址[块1812]。
6.根据权利要求5所述的计算机实现的方法,其中,所述唯一地址依次从预定义的地址序列中选择。
7.根据权利要求5所述的计算机实现的方法,还包括由所述处理器1710产生所述唯一地址。
8.根据权利要求1所述的计算机实现的方法,其中,所述至少一个设备1702中的每一个的特征在于,在第一和第二通信接口17041706中的一个上接收通信以及在第一和第二通信接口17041706中的另一个上发送接收到的通信之间的设备延迟,所述方法还包括:
所述处理器1710将对于响应的请求寻址地传输到使用对其分配的唯一地址基于第一和第二数据结构被识别的至少一个设备1702的每一个[块1814];并且
对于响应于请求接收到的每个响应,所述处理器1710确定在发送请求和接收对其的响应之间的延迟[块1816];
将所确定的请求的发送和响应的接收之间的延迟传输到所述至少一个设备1702中的每一个,以由此与基于分配给所述至少一个设备1702的唯一地址和相关联的设备延迟计算的针对每个接收到的响应的预计延迟进行比较[块1818];并且当所确定的延迟偏离预计延迟时指示错误[块1820]。
9.根据权利要求1所述的计算机实现的方法,其中,所述至少一个设备1702中的每一个在接收到包括所述第一和第二数据结构的消息时,被操作以从所述第一和第二数据结构中导出数据并且验证其正确性,所述数据对相关联的设备1702和相关联的设备1702相对于至少一个设备1702中的另一个设备的布置的位置进行标识,所述方法还包括:
处理器1710将包括所述第一和第二数据结构的消息传输到对于所述至少一个设备1702中的至少一个的第一设备1702[块1822]。
10.一种用于识别串联连接的多个设备1702的计算机实现的方法,包括:
耦合到串联连接的多个设备1702中的第一设备1702的处理器1710传输发现请求消息,所述发现请求消息被操作以使得串联连接的多个设备1702中的每个设备1702将发现请求从串联连接的多个设备1702中的连接到其的一个设备1702传播到下一个设备1702,所述发现请求被操作以使得串联连接的多个设备1702中的、接收到发现请求的最后的设备1702产生发现响应消息,并且将所述发现响应消息传输到串联连接的多个设备1702中的、连接到其的设备1702,所述串联连接的多个设备1702中的其余设备1702中的每一个被操作以产生包括被传输到其的所产生的发现响应消息的发现响应消息,并且将所产生的发现响应消息传播到串联连接的多个设备1702中的连接到其的下一个设备1702,其中,第一设备1702被操作以将所产生的发现响应消息传输到处理器1710[块1802];
所述处理器1710,与至少一个设备1702中的每一个被操作以传输发现请求消息相关,确定第一数据结构,所述第一数据结构通过与设备1702相关联的第一标识符唯一地标识所述至少一个设备1702中的每一个,并且还标识每个设备1702相对于在其之前接收到发现请求消息的所述至少一个设备1702中的另一个设备的相对位置[块1804];以及
所述处理器1710,与至少一个设备1702中的每一个被操作以产生并传输所产生的发现响应消息相关,确定第二数据结构,所述第二数据结构通过与设备1702相关联的与第一标识符不同的第二标识符唯一地标识所述至少一个设备1702中的每一个,并且还标识每个设备1702相对于向其传输所产生的发现响应消息的所述至少一个设备1702中的另一个设备的相对位置[块1806]。
11.根据权利要求10所述的计算机实现的方法,还包括:
所述处理器1710将针对每个设备1702的地址分配消息传输到第一设备1702,每个地址分配消息包括与串联连接的多个设备1702中的、地址分配消息预计被传输通过的设备1702的数量相关的唯一地址,如果接收设备1702已经具有分配的地址,则串联连接的多个设备1702中的每一个被操作以将接收到的地址分配消息传播到多个串联连接的设备1702中的连接到其的下一个设备1702,否则接收设备1702对其分配接收到的地址分配消息的唯一地址[块1812]。
12.根据权利要求10所述的计算机实现的方法,还包括:
所述处理器1710使得串联连接的多个设备1702中的至少一个,基于针对响应的请求到每个设备1702的发送和对来自其的响应的接收之间的延迟,与基于串联连接的多个设备1702中的、地址分配消息预计被传输通过的设备1702的数量的已知延迟的相关性,确认对设备1702分配了地址[块1820]。
13.根据权利要求10所述的计算机实现的方法,还包括:
所述处理器1710将所述第一和第二数据结构传输到串联连接的多个设备1702中的至少一个,所述第一和第二数据结构被操作以在其被接收到时,使得接收设备1702从所述第一和第二数据结构中导出数据并且验证其正确性,所述数据对相关联的设备1702和相关联的设备1702相对于串联连接的多个设备1702中的另一个设备的布置的位置进行标识[块1822]。
14.一种用于由设备1702获得分配的地址的计算机实现的方法,所述设备1702具有处理器1724以及与其耦合的第一和第二通信接口17041706,所述第一和第二通信接口17041706中的每一个被操作以最多连接到另一个设备1702,所述方法包括:
在经由第一通信接口1704从发现请求消息的发送者接收到发现请求消息时,经由第二通信接口1706传输发现请求消息[块1902],并且由此对发现响应消息的接收等待经过一个时间段,并且在由此接收到发现响应消息时或在经过了所述时间段时,如果存在接收到的发现响应消息,则产生其中包括接收到的发现响应消息的另一个发现响应消息[块1904],并且经由第一通信接口1704传输所产生的发现响应消息[块1906]。
15.根据权利要求14所述的计算机实现的方法,还包括:
所述处理器1724在经由第一通信接口1704接收到包括地址的地址分配消息时,确定设备1702是否具有分配的地址[块1908],如果设备1702具有分配的地址,则经由第二通信接口传输地址分配消息[块1910],而如果设备1702没有分配的地址,则对其分配地址分配消息的地址,其中,设备1702在对其分配地址之后对寻址到其的请求作出响应[块1912]。
16.根据权利要求14所述的计算机实现的方法,还包括:
在传输发现请求消息之前,所述处理器1724利用对设备1702进行标识的第一标识符和对发现请求消息的发送者进行标识的第二标识符扩增发现请求消息[块1914]。
17.根据权利要求16所述的计算机实现的方法,其中,第一标识符包括设备1702的设备标识符的循环冗余校验值。
18.根据权利要求14所述的计算机实现的方法,还包括:
所述处理器1724在接收到发现请求消息时,产生对设备1702进行标识的标识消息[块1916],并且将所述标识消息传输到发送者[块1918];并且
所述处理器1724在经由第二通信接口1706接收到所述标识消息时,经由第一通信接口1704传输该标识消息[块1920]。
19.根据权利要求14所述的计算机实现的方法,其中,产生另一个发现响应消息包括:在接收到发现响应消息时,所述处理器1724利用对设备1702进行标识的第一标识符和对发现响应消息的发送者进行标识的第二标识符,来扩增所述发现响应消息[块1922]。
20.根据权利要求19所述的计算机实现的方法,其中,第一标识符包括设备1702的序列号。
21.根据权利要求14所述的计算机实现的方法,其中,产生另一个发现响应消息可以包括:在接收到发现响应消息时,所述处理器1724基于设备1702唯一的密钥值,对接收到的发现响应消息应用变换,其中,接收到的发现响应消息可以使用密钥值仅从变换后的接收到的发现响应消息中获得[块1924]。
22.根据权利要求21所述的计算机实现的方法,其中,所述密钥值包括基于接收到的发现响应消息计算的循环冗余校验值或校验和值中的一个。
23.根据权利要求21所述的计算机实现的方法,其中,所述变换包括基于密钥值的加密。
24.根据权利要求14所述的计算机实现的方法,还包括:
所述处理器1724在接收到包括第一和第二数据结构的消息时,从所述第一和第二数据结构中导出对设备1702和设备1702相对于其他设备1702的布置的位置进行标识的数据[块1926],并且验证其正确性[块1928],其中,第一数据结构通过与设备1702相关联的可变标识符至少唯一地标识设备1702,并且还标识设备1702相对于到其的发现请求消息的发送者的相对位置,并且第二数据结构通过与设备1702相关联的与第一标识符不同的第二标识符唯一地标识至少一个设备1702中的每一个,并且其还标识设备1702相对于向其传输所产生的发现响应消息的发送者的相对位置。
25.根据权利要求24所述的计算机实现的方法,其中,第二数据结构包括经过递归变换的发现响应消息,导出还包括:对第二数据结构进行递归反变换[块1930]。
26.一种用于发现至少一个设备1702的系统1700,所述至少一个设备1702中的每一个包括第一和第二通信接口17041706,所述第一和第二通信接口17041706中的每一个被操作以将所述至少一个设备1702中的每一个最多连接到至少一个设备1702中的另一个,所述至少一个设备1702中的每一个被操作以在经由第一通信接口1704接收到发现请求消息时,经由第二通信接口1706传输发现请求消息,并且由此对发现响应消息的接收等待经过一个时间段,并且在由此接收到发现响应消息时或在经过所述时间段后,如果存在接收到的发现响应消息,则产生其中包括接收到的发现响应消息的另一个发现响应消息,并且经由第一通信接口1704传输所产生的发现响应消息,所述系统1700包括主设备1708,所述主设备包括处理器1710和与其耦合的存储器1712,所述系统1700还包括:
第一逻辑1714,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得所述处理器1710将发现请求消息传输到与其耦合的所述至少一个设备1702中的第一设备1702,所述发现请求消息不会经由至少一个设备1702中的任何其他设备被传输到第一设备1702;
第二逻辑1716,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得所述处理器1710,与所述至少一个设备1702中的每一个被操作以传输发现请求消息相关,确定第一数据结构,所述第一数据结构通过与设备1702相关联的第一标识符唯一地标识至少一个设备中的每一个,并且还标识每个设备1702相对于在其之前接收到发现请求消息的至少一个设备1702中的另一个设备的相对位置;以及
第三逻辑1718,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710,与至少一个设备1702中的每一个被操作以产生并传输所产生的发现响应消息相关,确定第二数据结构,所述第二数据结构通过与设备1702相关联的与第一标识符不同的第二标识符唯一地标识至少一个设备1702中的每一个,并且还标识每个设备1702相对于向其传输所产生的发现响应消息的至少一个设备1702中的另一个设备的相对位置。
27.根据权利要求25所述的系统1700,其中,所述至少一个设备1702中的每一个还被操作以在传输发现请求消息之前利用对相关联的至少一个设备1702进行标识的第一标识符扩增发现请求消息,所述第一数据结构包括由所述至少一个设备1702中的每一个扩增的发现请求消息。
28.根据权利要求25所述的系统1700,其中,所述至少一个设备1702中的每一个还被操作以在接收到发现请求消息时产生包括与其相关联的第一标识符的对其的响应,并且经由第一通信接口1704传输所述响应,并且其中,所述系统1700还包括:
第四逻辑1720,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得从至少一个设备1702中的每一个接收所述响应中的每一个,第一数据结构包括接收到的响应。
29.根据权利要求25所述的系统,其中,所述系统还包括:
第四逻辑1720,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得从第一设备1702接收所产生的发现响应消息,第二数据结构包括接收到的所产生的发现响应消息。
30.根据权利要求25所述的系统1700,其中,至少一个设备1702中的每一个还被操作以在经由第一通信接口1704接收到地址分配消息时,确定设备1702是否具有分配的地址,如果设备1702具有分配的地址,则经由第二通信接口1706传输地址分配消息,而如果设备1702没有分配的地址,则对其分配地址分配消息的地址,其中,至少一个设备1702中的每一个在对其分配地址之后,对寻址到其的请求进行响应,所述系统1700还包括:
第四逻辑1720,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710将地址分配消息传输到对于至少一个设备1702中的每一个的第一设备1702,每个地址分配消息包括与地址分配消息预计被传输通过的至少一个设备1702的数量相关的唯一地址。
31.根据权利要求30所述的系统1700,其中,所述唯一地址依次从预定义的地址序列中选择。
32.根据权利要求30所述的系统1700,还包括:第五逻辑1720,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710产生所述唯一地址。
33.根据权利要求25所述的系统1700,其中,所述至少一个设备1702中的每一个的特征在于,在第一和第二通信接口17041706中的一个上接收通信以及在第一和第二通信接口17041706中的另一个上发送接收到的通信之间的设备延迟,所述系统1700还包括:
第四逻辑1720,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得所述处理器1710将对于响应的请求寻址地传输到使用对其分配的唯一地址基于第一和第二数据结构被识别的至少一个设备1702的每一个,并且对于响应于请求接收到的每个响应,确定在发送请求和接收对其的响应之间的延迟,并且还将所确定的请求的发送和对其的响应的接收之间的延迟传输到所述至少一个设备1702中的至少一个,以由此与基于分配给所述至少一个设备1702的唯一地址和相关联的设备延迟针对每个接收到的响应计算的预计延迟进行比较;并且当所确定的延迟偏离预计延迟时指示错误。
34.根据权利要求25所述的系统1700,其中,所述至少一个设备1702中的每一个在接收到包括所述第一和第二数据结构的消息时,被操作以从所述第一和第二数据结构中导出数据并且验证其正确性,所述数据对相关联的设备1702和相关联的设备1702相对于至少一个设备1702中的另一个设备的布置的位置进行标识,所述系统1700还包括:
第四逻辑1720,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710将包括第一和第二数据结构的消息传输到对于至少一个设备1702中的至少一个的第一设备1702。
35.一种用于帮助识别串联连接的多个设备1702的系统1700,所述系统1700包括主设备1708,所述主设备包括处理器1710和与其耦合的存储器1712,所述系统还包括:
第一逻辑1714,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710将发现请求消息传输到串联连接的多个设备1702中的与其耦合的第一设备1702,所述发现请求消息被操作以使得串联连接的多个设备1702中的每个设备1702将发现请求从串联连接的多个设备1702中的连接到其的一个设备1702传播到下一个设备1702,所述发现请求被操作以使得串联连接的多个设备1702中的、接收到发现请求的最后的设备1702产生发现响应消息,并且将所述发现响应消息传输到串联连接的多个设备1702中的、连接到其的设备1702,串联连接的多个设备1702中的其余设备1702中的每一个被操作以产生包括被传输到其的所产生的发现响应消息的发现响应消息,并且将所产生的发现响应消息传播到串联连接的多个设备1702中的连接到其的下一个设备1702,其中,第一设备1702被操作以将所产生的发现响应消息传输到处理器1710;
第二逻辑1716,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710与至少一个设备1702中的每一个被操作以传输发现请求消息相关,确定第一数据结构,所述第一数据结构通过与设备1702相关联的第一标识符唯一地标识至少一个设备1702中的每一个,并且还标识每个设备1702相对于在其之前接收到发现请求消息的至少一个设备1702中的另一个设备的相对位置;以及
第三逻辑1718,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710与至少一个设备1702中的每一个被操作以产生并传输所产生的发现响应消息相关,确定第二数据结构,所述第二数据结构通过与设备1702相关联的与第一标识符不同的第二标识符唯一地标识至少一个设备1702中的每一个,并且还标识每个设备1702相对于向其传输所产生的发现响应消息的至少一个设备1702中的另一个设备的相对位置。
36.根据权利要求35所述的系统1700,还包括:
第四逻辑1720,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710将针对识别的每个设备1702的地址分配消息传输到第一设备1702,每个地址分配消息包括与串联连接的多个设备1702中的、地址分配消息预计被传输通过的设备1702的数量相关的唯一地址,如果接收设备1702已经具有分配的地址,则串联连接的多个设备1702中的每一个被操作以将接收到的地址分配消息传播到多个串联连接的设备1702中的连接到其的下一个设备1702,否则接收设备1702对其分配接收到的地址分配消息的唯一地址。
37.根据权利要求35所述的系统1700,还包括:
第四逻辑1720,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710使得串联连接的多个设备1702中的至少一个,基于针对响应的请求到每个设备1702的发送和对来自其的响应的接收之间的延迟,与基于串联连接的多个设备1702中的、地址分配消息预计被传输通过的设备1702的数量的已知延迟的相关性,确认对设备1702分配了地址。
38.根据权利要求35所述的系统1700,还包括:
第四逻辑1720,其被存储在所述存储器1712中并且可由所述处理器1710执行,以使得处理器1710将所述第一和第二数据结构传输到串联连接的多个设备1702中的至少一个,所述第一和第二数据结构被操作以其被接收到时,使得接收设备1702从所述第一和第二数据结构中导出数据并且验证其正确性,所述数据对相关联的设备1702和相关联的设备1702相对于串联连接的多个设备1702中的另一个设备的布置的位置进行标识。
39.一种被操作以获得分配的地址的设备1702,所述设备1702包括存储器1722、第一和第二通信接口17041706以及与所述存储器1722及第一和第二通信接口17041706耦合的处理器1724,第一和第二通信接口17041706中的每一个被操作以最多连接到另一个设备1702,所述设备1702还包括:
第一逻辑1726,其被存储在所述存储器1722中和可由所述处理器1724执行,以使得所述处理器1724在经由第一通信接口1704从发现请求消息的发送者接收到发现请求消息时,经由第二通信接口1706传输发现请求消息,并且由此对发现响应消息的接收等待经过一个时间段,并且在由此接收到发现响应消息时或在经过了所述时间段时,如果存在接收到的发现响应消息,则产生其中包括接收到的发现响应消息的另一个发现响应消息,并且经由第一通信接口1704传输所产生的发现响应消息。
40.根据权利要求39所述的设备1702,还包括:
第二逻辑1728,其被存储在所述存储器1722中并且可由所述处理器1724执行,以使得所述处理器1724在经由第一通信接口1704接收到包括地址的地址分配消息时,确定所述设备1702是否具有分配的地址,如果所述设备1702具有分配的地址,则经由第二通信接口传输地址分配消息,而如果所述设备1702没有分配的地址,则对其分配地址分配消息的地址,其中,所述设备1702在对其分配地址之后对寻址到其的请求作出响应。
41.根据权利要求39所述的设备1702,还包括:
第二逻辑1728,其被存储在所述存储器1722中并且可由所述处理器1724执行,以使得在传输发现请求消息之前,处理器1724利用对所述设备1702进行标识的第一标识符和对发现请求消息的发送者进行标识的第二标识符扩增发现请求消息。
42.根据权利要求41所述的设备1702,其中,第一标识符包括所述设备1702的设备标识符的循环冗余校验值。
43.根据权利要求39所述的设备1702,还包括:
第二逻辑1728,其被存储在所述存储器1722中并且可由所述处理器1724执行,以使得所述处理器1724在接收到发现请求消息时,产生对所述设备1702进行标识的标识消息,并且将标识消息传输到发送者;并且
第三逻辑1728,其被存储在所述存储器1722中并且可由所述处理器1724执行,以使得所述处理器1724在经由第二通信接口1706接收到标识消息时,经由第一通信接口1704传输标识消息。
44.根据权利要求39所述的设备1702,其中,还可执行所述第一逻辑1726,以在处理器1724接收到发现响应消息时,使得所述处理器1724利用对所述设备1702进行标识的第一标识符和对发现响应消息的发送者进行标识的第二标识符,来扩增发现响应消息。
45.根据权利要求44所述的设备1702,其中,第一标识符包括所述设备1702的序列号。
46.根据权利要求39所述的设备1702,其中,还可执行所述第一逻辑1726,以在所述处理器1724接收到发现响应消息时,使得所述处理器1724基于设备1702唯一的密钥值,对接收到的发现响应消息应用变换,其中,接收到的发现响应消息可以使用密钥值仅从变换后的接收到的发现响应消息获得。
47.根据权利要求46所述的设备1702,其中,所述密钥值包括基于接收到的发现响应消息计算的循环冗余校验值或校验和值中的一个。
48.根据权利要求46所述的设备1702,其中,所述变换包括基于密钥值的加密。
49.根据权利要求39所述的设备1702,还包括:
第二逻辑1728,其被存储在所述存储器1722中和可由所述处理器1724执行,以使得处理器1724在接收到包括所述第一和第二数据结构的消息时,从所述第一和第二数据结构中导出对所述设备1702和该设备1702相对于其他设备1702的布置的位置进行标识的数据,并且验证其正确性,其中,第一数据结构通过与设备1702相关联的可变标识符至少唯一地标识所述设备1702,并且还标识所述设备1702相对于到其的发现请求消息的发送者的相对位置,并且第二数据结构通过与所述设备1702相关联的与第一标识符不同的第二标识符唯一地标识至少一个设备1702中的每一个,并且其还标识所述设备1702相对于向其传输所产生的发现响应消息的发送者的相对位置。
50.根据权利要求49所述的设备1702,其中,第二数据结构包括经过递归变换的发现响应消息,导出还包括:对第二数据结构进行递归反变换。
51.一种用于帮助识别串联连接的多个设备1702的系统1700,包括:
用于将发现请求消息传输到串联连接的多个设备1702中的第一设备1702的部件,所述发现请求消息被操作以使得串联连接的多个设备1702中的每个设备1702将发现请求从串联连接的多个设备1702中的连接到其的一个设备1702传播到下一个设备1702,所述发现请求被操作以使得串联连接的多个设备1702中的、接收到发现请求的最后的设备1702产生发现响应消息,并且将所述发现响应消息传输到串联连接的多个设备1702中的、连接到其的设备1702,串联连接的多个设备1702中的其余设备1702中的每一个被操作以产生包括被传输到其的所产生的发现响应消息的发现响应消息,并且将所产生的发现响应消息传播到串联连接的多个设备1702中的连接到其的下一个设备1702,其中,第一设备1702被操作以将所产生的发现响应消息传输到对其的发现请求消息的发送者;
用于与至少一个设备1702中的每一个被操作以传输发现请求消息相关,确定第一数据结构的部件,所述第一数据结构通过与设备1702相关联的第一标识符唯一地标识至少一个设备1702中的每一个,并且还标识每个设备1702相对于在其之前接收到发现请求消息的至少一个设备1702中的另一个设备的相对位置;以及
用于与至少一个设备1702中的每一个被操作以产生并传输所产生的发现响应消息相关,确定第二数据结构的部件,所述第二数据结构通过与设备1702相关联的与第一标识符不同的第二标识符唯一地标识至少一个设备1702中的每一个,并且还标识每个设备1702相对于向其传输所产生的发现响应消息的至少一个设备1702中的另一个设备的相对位置。
52.根据权利要求51所述的系统1700,还包括:
用于将针对每个设备1702的地址分配消息传输到第一设备1702的部件,每个地址分配消息包括与串联连接的多个设备1702中的、地址分配消息预计被传输通过的设备1702的数量相关的唯一地址,如果接收设备1702已经具有分配的地址,则串联连接的多个设备1702中的每一个被操作以将接收到的地址分配消息传播到多个串联连接的设备1702中的连接到其的下一个设备1702,否则接收设备1702对其分配接收到的地址分配消息的唯一地址。
53.根据权利要求51所述的系统1700,还包括:
用于使得串联连接的多个设备1702中的至少一个,基于针对响应的请求到每个设备1702的发送和对来自其的响应的接收之间的延迟,与基于串联连接的多个设备1702中的、地址分配消息预计被传输通过的设备1702的数量的已知延迟的相关性,确认对设备1702分配了地址的部件。
54.根据权利要求51所述的系统1700,还包括:
用于将第一和第二数据结构传输到串联连接的多个设备1702中的至少一个的部件,第一和第二数据结构被操作以在接收到所述第一和第二数据结构时,使得接收设备1702从第一和第二数据结构中导出数据并且验证其正确性,所述数据对相关联的设备1702和相关联的设备1702相对于串联连接的多个设备1702中的另一个设备的布置的位置进行标识。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/030541 WO2013147734A1 (en) | 2012-03-26 | 2012-03-26 | Fail safe discovery and address assignment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104285190A true CN104285190A (zh) | 2015-01-14 |
Family
ID=45931041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280073165.0A Pending CN104285190A (zh) | 2012-03-26 | 2012-03-26 | 故障安全发现和地址分配 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2831683A1 (zh) |
CN (1) | CN104285190A (zh) |
WO (1) | WO2013147734A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085561A (zh) * | 2016-02-04 | 2017-08-22 | 三星电子株式会社 | 半导体设备及其操作方法 |
CN108038061A (zh) * | 2017-11-09 | 2018-05-15 | 深圳市亿维自动化技术有限公司 | 一种地址分配方法及plc系统 |
CN109088763A (zh) * | 2018-08-15 | 2018-12-25 | 中航锂电技术研究院有限公司 | 一种电池管理系统菊花链通信故障诊断及处理方法 |
CN109709835A (zh) * | 2017-10-11 | 2019-05-03 | 巴赫曼有限公司 | 用于检测数字或模拟的输入或输出信号的可配置的安全模块 |
CN111176170A (zh) * | 2019-12-31 | 2020-05-19 | 北京北方华创微电子装备有限公司 | 半导体设备控制系统的启动方法及装置 |
CN113302902A (zh) * | 2018-11-27 | 2021-08-24 | 爱德华兹有限公司 | 与真空泵送和/或减排系统的控制器相关的方法 |
CN113545011A (zh) * | 2018-12-17 | 2021-10-22 | 固瑞克明尼苏达有限公司 | 大数据包菊花链串行总线 |
CN115461288A (zh) * | 2020-04-30 | 2022-12-09 | 通力股份公司 | 确定多点通信总线中的总线节点序列 |
US11704257B1 (en) | 2022-04-15 | 2023-07-18 | Graco Minnesota Inc. | System provisioning using virtual peripherals |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU177438U1 (ru) * | 2016-11-02 | 2018-02-21 | Ооо "Нпп "Югпромавтоматизация" | Устройство ввода дискретных сигналов с диагностикой исправности входных цепей |
RU186642U1 (ru) * | 2018-02-05 | 2019-01-28 | Ооо "Нпп "Югпромавтоматизация" | Устройство ввода дискретных сигналов с диагностикой обрывов во входных цепях |
EP3570499B1 (de) * | 2018-05-15 | 2021-04-07 | Siemens Aktiengesellschaft | Verfahren zur funktional sicheren verbindungsidentifizierung |
US20240171471A1 (en) * | 2021-04-02 | 2024-05-23 | Analog Devices International Unlimited Company | Topology discovery in multidrop ethernet nodes |
CN113132508B (zh) * | 2021-04-12 | 2023-06-30 | 程剑飞 | 地址配置方法、装置、计算机设备和嵌入式网络系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3359562B2 (ja) * | 1998-05-20 | 2002-12-24 | 株式会社デジタル | プログラム式表示装置用の表示画面作成方法 |
US20040166842A1 (en) * | 2000-07-14 | 2004-08-26 | Malizia Samuel John | Page back system and method for remote paging in a control system |
CN101162390A (zh) * | 2007-10-19 | 2008-04-16 | 张家港市万科信息技术有限公司 | 带有加密装置的可编程逻辑控制器 |
US20080155073A1 (en) * | 2006-12-22 | 2008-06-26 | Texas Instruments, Inc. | Discovery, Detection, And Management Of Daisy-Chain System Topology |
CN201110958Y (zh) * | 2007-10-19 | 2008-09-03 | 张家港市万科信息技术有限公司 | 可编程逻辑控制器的结构改良 |
JP4280964B2 (ja) * | 2001-05-30 | 2009-06-17 | 横河電機株式会社 | 制御データ保護装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8194534B2 (en) * | 2005-02-28 | 2012-06-05 | International Business Machines Corporation | Blade server system with at least one rack-switch having multiple switches interconnected and configured for management and operation as a single virtual switch |
-
2012
- 2012-03-26 WO PCT/US2012/030541 patent/WO2013147734A1/en active Application Filing
- 2012-03-26 CN CN201280073165.0A patent/CN104285190A/zh active Pending
- 2012-03-26 EP EP12712498.0A patent/EP2831683A1/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3359562B2 (ja) * | 1998-05-20 | 2002-12-24 | 株式会社デジタル | プログラム式表示装置用の表示画面作成方法 |
US20040166842A1 (en) * | 2000-07-14 | 2004-08-26 | Malizia Samuel John | Page back system and method for remote paging in a control system |
JP4280964B2 (ja) * | 2001-05-30 | 2009-06-17 | 横河電機株式会社 | 制御データ保護装置 |
US20080155073A1 (en) * | 2006-12-22 | 2008-06-26 | Texas Instruments, Inc. | Discovery, Detection, And Management Of Daisy-Chain System Topology |
CN101162390A (zh) * | 2007-10-19 | 2008-04-16 | 张家港市万科信息技术有限公司 | 带有加密装置的可编程逻辑控制器 |
CN201110958Y (zh) * | 2007-10-19 | 2008-09-03 | 张家港市万科信息技术有限公司 | 可编程逻辑控制器的结构改良 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085561B (zh) * | 2016-02-04 | 2022-01-18 | 三星电子株式会社 | 半导体设备及其操作方法 |
CN107085561A (zh) * | 2016-02-04 | 2017-08-22 | 三星电子株式会社 | 半导体设备及其操作方法 |
CN109709835A (zh) * | 2017-10-11 | 2019-05-03 | 巴赫曼有限公司 | 用于检测数字或模拟的输入或输出信号的可配置的安全模块 |
CN108038061A (zh) * | 2017-11-09 | 2018-05-15 | 深圳市亿维自动化技术有限公司 | 一种地址分配方法及plc系统 |
CN108038061B (zh) * | 2017-11-09 | 2020-09-25 | 深圳市亿维自动化技术有限公司 | 一种地址分配方法及plc系统 |
CN109088763A (zh) * | 2018-08-15 | 2018-12-25 | 中航锂电技术研究院有限公司 | 一种电池管理系统菊花链通信故障诊断及处理方法 |
CN109088763B (zh) * | 2018-08-15 | 2021-06-04 | 中航锂电技术研究院有限公司 | 一种电池管理系统菊花链通信故障诊断及处理方法 |
US11929982B2 (en) | 2018-11-27 | 2024-03-12 | Edwards Limited | Controllers of a vacuum pumping and/or abatement system |
CN113302902B (zh) * | 2018-11-27 | 2023-11-28 | 爱德华兹有限公司 | 与真空泵送和/或减排系统的控制器相关的方法 |
CN113302902A (zh) * | 2018-11-27 | 2021-08-24 | 爱德华兹有限公司 | 与真空泵送和/或减排系统的控制器相关的方法 |
CN113545011B (zh) * | 2018-12-17 | 2023-05-23 | 固瑞克明尼苏达有限公司 | 大数据包菊花链串行总线 |
CN113545011A (zh) * | 2018-12-17 | 2021-10-22 | 固瑞克明尼苏达有限公司 | 大数据包菊花链串行总线 |
CN111176170B (zh) * | 2019-12-31 | 2021-07-09 | 北京北方华创微电子装备有限公司 | 半导体设备控制系统的启动方法及装置 |
CN111176170A (zh) * | 2019-12-31 | 2020-05-19 | 北京北方华创微电子装备有限公司 | 半导体设备控制系统的启动方法及装置 |
CN115461288A (zh) * | 2020-04-30 | 2022-12-09 | 通力股份公司 | 确定多点通信总线中的总线节点序列 |
US11704257B1 (en) | 2022-04-15 | 2023-07-18 | Graco Minnesota Inc. | System provisioning using virtual peripherals |
Also Published As
Publication number | Publication date |
---|---|
EP2831683A1 (en) | 2015-02-04 |
WO2013147734A1 (en) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104285190A (zh) | 故障安全发现和地址分配 | |
US7881253B2 (en) | Apparatus and method supporting a redundancy-managing interface between wireless and wired networks | |
CN103782566B (zh) | 用于交换信息的系统和方法 | |
EP2756383B1 (en) | Cross-machine event log correlation | |
CN101772918B (zh) | 服务链的操作、管理和维护(oam) | |
US20090192645A1 (en) | Automatic controller relationship resolution | |
CN105612467A (zh) | 用于灵活地操作自动化工厂的系统 | |
JP6648966B2 (ja) | シリアルリンク障害検出システムおよび方法 | |
Shajahan | Fault Tolerance and Reliability in AUTOSAR Stack Development: Redundancy and Error Handling Strategies | |
CN104506370A (zh) | 无网管系统管理方法及装置 | |
CN103516824A (zh) | 基于ip层的网络拓扑识别方法和设备 | |
US10554497B2 (en) | Method for the exchange of data between nodes of a server cluster, and server cluster implementing said method | |
JP7063976B2 (ja) | 少なくとも1つの安全なプロデューサーと少なくとも1つの安全なコンシューマーとの間のデータ伝送 | |
CN110244904A (zh) | 一种数据存储系统、方法及装置 | |
CN104868973A (zh) | 数据完整性校验方法和系统 | |
JP4257364B2 (ja) | 通信エラー情報出力プログラム、通信エラー情報出力方法および通信エラー情報出力装置 | |
Seno et al. | A simulation approach to a Real-Time Ethernet protocol: EtherCAT | |
Almajidi et al. | A new system model for sensor node validation by using OPNET | |
CN113010337B (zh) | 故障检测方法、总控节点、工作节点及分布式系统 | |
CN111694598A (zh) | 软件版本包管理方法、装置、设备和介质 | |
Halawa et al. | Network fabric redundancy in NCS | |
JP7082084B2 (ja) | 情報送受信システム、情報送受信方法、および、プログラム、ならびに、連動論理処理装置、および、電子端末 | |
JP4138573B2 (ja) | 自動修復分散制御システム | |
Telawi et al. | Safety-Related Wireless Communication via RF Modules for Industrial IoT Applications | |
Shayto et al. | Assessing the integrity of field devices in Modbus networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150114 |