当前位置: 首页 > 专利查询>西门子公司专利>正文

同步方法技术

技术编号:2887964 阅读:184 留言:0更新日期:2012-04-11 18:40
一种由至少两个分系统(2、2’)构成的冗余自动化系统(1)的同步方法,其中至少两个分系统(2、2’)分别具有至少一个处理器(3),并通过通信装置(6)相互连接,为控制处理器,执行机器指令(MP)功能相同的序列并有时候通过通信装置相互同步,其特征在于: -每个分系统(2、2’)具有一个同步计数器(SZ、SZ’), -功能相同的机器指令(MP)序列在相互一致的位置中具有增值变更-或减值变更语句(IA),利用所述增值变更-或减值变更语句同步计数器(SZ、SZ’)被增值变更或减值变更, -至少在一个分系统(2、2’),即报警的分系统(2、2’)记录一个特殊事件(11)时,进行同步, -其中该同步的步骤如下: 每个分系统(2、2’) a)向另一分系统(2、2’)转送其同步计数器(SZ、SZ’)的实际值, b)由自己的同步计数器(SZ、SZ’)的增值变更的或减值变更的值并由一分系统(2、2’)的同步计数器(SZ、SZ’)的增值变更的或减值变更的值求出实际的最大值或最小值,同步计数器-目的值(SZZ), c)在到达机器指令(MP)序列内的一个位置(下面称作同步位置(SP))时,在此位置同步计数器(SZ、SZ’)的值到达同步计数器-目的值(SZZ),中断机器指令(MP)序列的执行, d)求出对特殊事件(11)特定的响应,执行此响应并在此后继续执行同步位置(SP)后的机器指令(MP)序列, -其中报警的分系统(2、2’)最早紧接记录特殊事件(11)之后并且最迟结合求出特殊事件(11)特定的响应向另一分系统(2、2’)转送特殊事件(11)。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种由至少两个分系统构成的冗余自动化系统的,其中至少两个分系统具有至少一个处理器并通过通信装置相互联通,所述分系统为控制一个过程执行功能相同的机器指令序列并有时候通过通信装置相互同步。通常的自动化系统的是已知的。在采用EP-A-0497147的方法时,由两个分系统构成的自动化系统的分系统至迟在由使用者预选定的时间后进行同步。类似的方法在EP-A-0 616 274中也有所记载。在此,根据机器指令序列的实际运行时间进行同步。为此,既需要了解应用程序指令的运行时间,又需要对这些运行时间持续累加。由于为实现同步不必要地消耗过多的时间,因此已知的方法就此而言还不是最佳的。故本专利技术的目的在于,提出一种以最小付出实现一个至少由两个分系统构成的自动化系统的同步的。其中应与是否具有专用的硬件无关。其中本专利技术的对自动化系统的计算能力的影响应当尽可能小。本专利技术的目的是通过具有权利要求1或2特征部分的特征的方法来实现的。本专利技术的以每个分系统的计数器(以下称作同步计数器)为基础,该同步计数器通过增值变更语句被增值变更,即增大1。对一个处理器来说,增值变更是一个特别简单的任务,该任务在具体情况下甚至在一个脉冲周期内即可完成,并因而可特别迅速地完成。至少当至少两个分系统中的一个,以下称作报警分系统,记录了一个特殊事件,例如一个中断或报警时,进行同步。在此情况时,报警分系统向至少另一分系统转送其同步计数器的实际值。通过此转送至少另一分系统至少被告知,出现了特殊事件。至少另一分系统向每个其它的分系统转送其同步计数器的实际值。每个分系统随之既了解了自己的同步计数器的实际值,又了解了至少另一分系统的同步计数器的值。在出现特殊事件的时间点,就执行机器指令序列而言,一个分系统可以超前于至少另一分系统。如果是此情况,此外超前的分系统可能已经执行了较大数量的增值变更语句,从而出现了两个分系统同步计数器值的差异。每个分系统由自己的同步计数器的值和至少另一分系统的同步计数器的值求出实际最大值。所有的分系统通过继续执行机器指令序列可共同到达的同步计数器的值是同步计数器增大了1的,即经增值变更的最大值。因而在每个分系统中,所有的分系统的同步计数器的最大值都被增值变更。这个对所有的分系统都相同的值在下面被称作同步计数器-目的值。对此值当然也可以采用另一方式加以确定,其中首先对同步计数器的值进行增值变更并接着求出作为最大值的同步计数器-目的值。当到达某个增值变更语句位置时,下面对此称作同步位置,在此位置同步计数器的值到达同步计数器-目的值,分系统中断执行机器指令序列。由于增值变更语句出现在机器指令功能相同的序列的相互一致的位置,因此增值变更语句特别适用于作为潜在的同步位置。另一方面,通过某个同步计数器的值与同步计数器-目的值的比较可以非常简单地推断出是否到达这种同步位置。故基本建立在增值-及比较运算上,由一个处理器即可以特别迅速和高效地实现所述增值-及比较运算。由于两个分系统可以在不同的时间点上到达其同步位置,故每个分系统都利用同步信号向至少另一分系统通告到达同步位置的信息。每个分系统接着等待由至少另一分系统发送的同步信号的输入,通过此同步信号该分系统通告它已经到达同步位置。在有一个以上的其它的分系统情况下,每个分系统都要等待来自所有其它的分系统的同步信号的输入,从而使每个分系统只有在所有的分系统已到达同步位置时,才继续动作。但在到达同步位置时不交换同步信号的应用情况也同样是可以想像的。每个分系统在至少另一分系统到达同步位置并记录同步信号后,求出对特殊事件的特定的响应并执行此响应。该响应是对特殊事件特定的机器指令序列。此后每个分系统继续执行这个机器指令序列,在到达同步位置时基于同步及基于对特殊事件的响应该执行被复位。报警的分系统最早直接在记录特殊事件后,例如结合转送同步计数器的实际值,最迟也可以结合同步信号向至少另一分系统转送特殊事件。但也有下述情况,在执行对特殊事件的特定的响应时不进行交换和对同步信号的等待。在这种情况时,当到达同步位置时直接执行特殊事件-特定的响应。虽然未进行时间同步,但采用本专利技术的方法保证了尽管不是同时,但却是在某个分系统机器指令序列内的功能相同的位置执行特殊事件-特定的响应。由于同步位置设置在功能相同的机器指令序列的相互一致的位置,故采用此方式可以保证所需的同步。如果按照权利要求3求出机器指令序列的每个机器指令的地址,尤其是实际待执行的机器指令的地址以及某个与同步位置一致的机器指令的地址,则尤其可以有效地到达同步位置。因而可以至少在由报警的分系统对特殊事件记录之后执行机器指令序列时,始终将实际待执行的机器指令的地址与某个与同步位置一致的机器指令的地址进行比较。如果确定出所比较的两个地址一致时,则到达同步位置。采用此方式正好在到达同步位置时可中断执行机器指令序列。在同步位置位于机器指令序列的一个有条件或无条件重复的分序列中时,则对各个机器指令多次处理。但只有当随着执行增值变更语句同步计数器到达同步计数器-目的值时,增值变更语句位置才变成同步位置。故在循环的情况下会出现,在循环范围内多次对增值变更语句进行处理,但只有在一定数量的处理后才成为同步位置的情况。在此情况时仅求出增值变更语句的地址是不够的。在此情况下,只有当实际执行的机器指令的地址与某个与潜在的同步位置一致的机器指令的地址相一致并且同时同步计数器与同步计数器目的值一致时,才到达同步位置。如上所述,当求出每个机器指令的地址时,除此之外还有一“断点”与同步位置连接,从而使机器指令序列的执行正好在同步位置中断。由处理器直接进行检查,看同步位置,即与断点连接的地址是否已达到。通常由INTEL公司生产的处理器,例如i80386、i80486、奔腾等在到达与断点连接的地址时启动中断,中断的实现明确地表明已到达有关的地址。如果处理器可以单步方式运行,那么也可以至少在报警的分系统记录一特殊事件后执行机器指令序列时,始终将实际执行的机器指令的地址与同步位置的地址进行比较。当确定一致时,则到达同步位置并且中断机器指令序列的各个指令的处理。按照权利要求4的特征,到达同步位置的另一有效的方案在于,在至少由报警的分系统记录特殊事件之后执行机器指令序列时,始终将同步计数器的值与同步计数器-目的值进行比较并且当同步计数器值到达同步计数器-目的值时,中断执行机器指令序列。为此求出第一存储位置和第二存储位置,其中在第一存储位置存储同步计数器的值并且在第二存储位置存储同步计数器-目的值。在采用通用的处理器时,尤其是INTEL公司生产的所述处理器时,对处理器的编程应使一旦第一存储位置的内容与第二存储位置的内容一致时,中断机器指令序列的执行。该处理器专用的功能迄今首先用于查找错误程序,即所谓的调试程序。但当然也可以利用此功能到达同步位置。可以按照不同的策略确定机器指令序列内的增值语句的位置。在由一种程序设计语言的指令序列产生机器指令序列时,比较有利的是在指令序列转换成机器指令序列时插入增值变更语句。在产生机器指令序列之后,但在执行该机器指令之前利用再定位将增值变更语句插入机器指令序列中也属于本专利技术的范围。当指令序列涉及的是一种程序设计语言的指令序列时,其中相关连的指令序列被合并在一个本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:赫伯特·巴塞尔海纳·富克斯阿方斯·戈贝尔
申请(专利权)人:西门子公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利