同步系统、多处理器及节点同步系统的制作方法

xiaoxiao2020-9-10  5

同步系统、多处理器及节点同步系统的制作方法
【专利摘要】设定了参考值,并在计数值到达该参考值时,由第1参考信号生成部和第2参考信号生成部生成第1参考信号和第2参考信号;接收所生成的所述第1参考信号并执行预定处理;接收所述第1参考信号并进行重启;测定以该重启时点为起点的至所述预定处理被执行为止的开销;经过了所述开销后,取得所述预定处理被执行时点的计数值;在所取得的计数值和所述开销的值不同时,判定为所述第1参考信号和所述第2参考信号非同步;通过从所述开销的值减去所述计数值,求出同步补正值;将从所述参考值减去所求出的同步补正值后的值作为临时的参考值设定至第2参考信号生成部。
【专利说明】同步系统、多处理器及节点同步系统

【技术领域】
[0001] 本发明涉及一种用于使预定信号同步的信号同步系统、多处理器及节点同步系 统。

【背景技术】
[0002] 现有技术中,在使用处理器等执行预定程序的情况下,为了实现大规模处理、高速 化处理及负载分散等的目的,使用多个处理器进行处理的多处理器系统是熟知的。在多处 理器中,为了在多个处理器之间进行计数器(定时器)的同步,通过从主处理器向从属处理 器的计数器发送与主处理器一致的中断信号等,实现计数器的同步。
[0003] 另外,在现有的工厂控制用传输系统等的产业用网络中,构成系统的各机器需要 在保证实时性的基础上相互之间进行大容量的数据交换。所以,例如在响应于各机器上 所安装的应用程序的访问要求而进行事件性的相互访问的情况下,网络负载依赖于应用程 序,不能保证实时性。
[0004] 于是,在现有技术中存在着一种使各机器具有虚拟共享内存(公用内存),并在更 新时向网络上的全节点(站点)发送本节点数据的技术。在使用该技术的情况下,进行接 收的各节点对其数据进行更新,并通过访问应用程序,可实现实时性得到了保证的数据交 换方式。另外,在现有技术中,还提出了一种在进行上述的数据交换时可实现网络上的高效 广播通信(broadcast communication)的方法(例如,参照专利文献1)。
[0005] 在专利文献1所述的方法中,同时使用了基于各节点的内置定时器的时分多址访 问方式和基于来自主节点的同步化帧的从属节点的内置定时器的补正。另外,在专利文献 1所述的方法中,传输路径被构成为由总线或串行线连接的网络。
[0006] [现有技术文献]
[0007] [专利文献]
[0008] [专利文献1]特开2005 - 159754号公报


【发明内容】

[0009][发明要解决的课题]
[0010] 这里需要说明的是,在如上所述的主处理器和从属处理器之间等的计数器同步处 理中,优选为主处理器直接对从属处理器的计数器进行(硬件性)复位。然而,由于该计数 器是作为内部所执行的多个程序处理的执行基准的计数器,所以,如果从外部随便地对其 进行重写,则其他处理会出现问题。另外,在计数器内置于作为从属处理器的CPU(central processing unit)等的情况下,主处理器不能直接对从属处理器的计数器进行复位。所以, 在现有技术中,从主处理器向从属处理器发送中断信号后,从属处理器接收该信号,并使用 预定软件,对计数器进行间接(软件性)复位处理。
[0011] 在这样的情况下,在从属处理器从主处理器接收中断信号开始至执行与该信号相 对应的本计数器的复位处理为止的期间,会产生基于开销等的延迟时间。为此,在现有技术 中,即使进行了复位处理,也存在着主处理器和从属处理器的计数器同步误差。
[0012] 另外,对网络间的具有主从属关系的节点间的计数器的同步而言,例如,也可以考 虑采用接收同步帧并对定时器进行清除等的方法。然而,与上述同样地,接收同步帧后,如 果介由固件进行计数器的清除,则其开销等所导致的延迟时间也会使计数器产生误差。
[0013] 所以,即使对现有的使用了同步化帧的节点间的同步方法而言,在由微处理器的 固件对主节点和各从属节点的同步时间的测定进行了补正的情况下,也会产生基于微处理 器的处理时间的误差。
[0014] 本发明是鉴于上述而提出的,其目的在于提供一种使预定信号高精度地进行同步 的信号同步系统、多处理器及节点同步系统。
[0015] [用于解决课题的手段]
[0016] 为了解决上述课题,本发明的信号同步系统的特征在于具有:第1参考信号生成 部,其中设定了参考值,当计数值到达所述参考值时生成第1参考信号;第2参考信号生成 部,其中设定了所述参考值,当计数值到达所述参考值时生成第2参考信号;及计算部,接 收所述第1参考信号生成部所生成的所述第1参考信号并执行预定处理。另外,信号同步 系统具有:开销测定部,接收所述第1参考信号并进行重启,测定以所述重启的时点为起点 的至所述预定处理被执行为止的开销;计数值取得部,经过了所述开销后,取得所述预定处 理被执行时点的所述第2参考信号生成部的计数值;及同步判定部,当所述计数值取得部 所取得的计数值和所述开销的值不同时,判定为所述第1参考信号和所述第2参考信号非 同步。另外,所述信号同步系统还具有同步补正部,在所述同步判定部判定为所述第1参考 信号和所述第2参考信号非同步后,通过从所述开销的值减去所述计数值取得部所取得的 计数值,求出同步补正值,并将从所述参考值减去所求出的同步补正值后的值作为临时参 考值设定至所述第2参考信号生成部。
[0017] 这里需要说明的是,本发明还包含将本发明的构成要素、表现或构成要素的任意 组合应用至方法、装置、系统、计算机程序、记录介质、数据结构等后所得到的各种形态。
[0018] [发明的效果]
[0019] 根据本发明,可使预定信号高精度地进行同步。
[0020] 附图概述
[0021] [图1]第1实施方式的信号同步系统概略结构的一例的示意图。
[0022] [图2]处理器的硬件结构的一例的示意图。
[0023] [图3]用于对第1实施方式的计数器同步例进行说明的时间图(其一)。
[0024] [图4]用于对第1实施方式的计数器同步例进行说明的时间图(其二)。
[0025] [图5]用于对第1实施方式的计数器同步例进行说明的时间图(其三)。
[0026] [图6]计数器同步处理的概略序列例的示意图。
[0027] [图7]第2实施方式的节点同步系统概略结构的一例的示意图。
[0028] [图8]用于对第2实施方式的计数器同步例进行说明的时间图(其一)。
[0029] [图9]用于对第2实施方式的计数器同步例进行说明的时间图(其二)。
[0030] [图10]用于对第2实施方式的计数器同步例进行说明的时间图(其三)。
[0031] [图11]用于对第2实施方式的传输延迟时间通知步骤的一例进行说明的图。
[0032] [图12]包含使用了第2实施方式的主节点和从属节点的节点同步系统的网络传 输系统的概略结构的一例的不意图。
[0033][图13]节点同步处理的概略序列例的示意图。
[0034] 本发明的实施方式
[0035] <关于本发明>
[0036] 在本发明中,例如,在具有主从关系的装置间进行计数器(定时器)同步的情况 下,相对于来自主控装置侧的中断信号(计数器复位信号),求得从属装置侧的开销值。另 夕卜,在本发明中,根据所求得的开销值和从属装置侧的计数值,进行同步·非同步的判定,并 在非同步的情况下,进行同步补正处理。
[0037] 另外,在本发明中,在具有主从关系的装置为主节点和从属节点的情况下,进行同 步·非同步的判定时还考虑了通信路径上的延迟时间(传输延迟时间),并在非同步的情况 下,进行同步补正处理。
[0038] 以下参照附图对本发明的信号同步系统、多处理器及节点同步系统的较佳实施方 式进行说明。
[0039] 〈第1实施方式〉
[0040] <信号同步系统:概略结构例>
[0041] 图1是第1实施方式的信号同步系统概略结构的一例的示意图。图1所示的信号 同步系统10示出了作为一例的用于在多个处理器(在图1的例中,处理器11 一 1?11 一 3)之间进行计数器同步的多处理器的一例。
[0042] 图1所示的信号同步系统10具有:多个处理器11 - 1?11 - 3(以下,根据需要 也称为「处理器11」);传输总线12 ;1/0(输入输出)模块13 - 1?13 - 4(以下,根据需 要也称为「I/O模块13」);外部机器14 - 1?14 - 4(以下,根据需要也称为「外部机器 14」);及编程装置15。这里需要说明的,在图1的例中,为了便于说明,将处理器11 一 1作 为主处理器,将处理器11 一 2、11 一 3作为从属处理器,并对各处理器的主要构成进行了说 明,但是,对从属处理器的数量等而言,并不限定于此。
[0043] 这里需要说明的是,在本发明中,并不限定于此,1个处理器可具有相同的结构,即 可为主处理器,也可为从属处理器。另外,各处理器11藉由传输总线12连接。这里需要说 明的是,在第1实施方式中,假定传输总线12不产生延迟时间。
[0044] 这里,主处理器11 一 1具有第1计算部(CPU)21和存储部22。这里需要说明的 是,在图1的例中,第1计算部21内置了第1参考信号生成部21 - 1,但并不限定于此,例 如,第1计算部21和第1参考信号生成部21 - 1也可由分别的部件构成。另外,上述的内 置是指,例如,被内置的第1参考信号生成部21 - 1仅可由第1计算部21进行访问。
[0045] 另外,从属处理器11 一 2、11 一 3具有第2计算部(CPU) 31、同步补正处理部32及 存储部33。这里需要说明的是,在图1的例中,第2计算部31内置了第2参考信号生成部 31 - 1,但并不限定于此,例如,第2计算部31和第2参考信号生成部31 - 1也可由分别 的部件构成。另外,同步补正处理部32具有开销测定部32 - 1、计数值取得部32 - 2、同 步判定部32 - 3、同步补正部32 - 4及存储部33。
[0046] 第1参考信号生成部21 - 1在计数值到达预先设定的参考值时生成第1参考信 号。这里需要说明的是,第1参考信号生成部21 - 1具有计数器(以下,根据需要也称为 「定时器」)。上述计数值是根据参考值进行周期计数而得到的值。
[0047] 第1计算部21与第1参考信号生成部21 - 1所生成的第1参考信号同步,并进 行存储部22内所存储的预定应用程序等的执行(计算)。另外,第1参考信号介由传输总 线12也被赋予(发送)至从属处理器11 一 2、11 一 3。
[0048] 存储部22保存第1计算部21所计算的预定应用程序(序列(sequence)程序)。 这里需要说明的是,第1计算部21所计算的预定应用程序例如是向与主处理器11 一 1连 接的I/O模块13 - 1发送指示,并由I/O模块13 - 1对外部机器14 一 1进行控制的处理。 为此,存储部22中主要保存了用于对与本处理器连接的I/O模块13 - 1或外部机器14 一 1进行预定处理的程序。
[0049] S卩,主处理器11 一 1每周期地输出第1参考信号,第1计算部21通过进行应用程 序(序列程序)的执行(计算)对预定机器进行控制,该应用程序(序列程序)是每周期 执行的。
[0050] 接下来,对从属处理器11 一 2、11 一 3进行说明,由于从属处理器11 一 2、11 一 3 具有相同的结构,所以,在以下的说明中,仅对从属处理器11 一 2进行说明。
[0051] 第2参考信号生成部31 - 1中设定了与上述第1参考信号生成部21 - 1中所设 定的参考值相同的参考值,并在计数值到达该参考值时生成第2参考信号。这里需要说明 的是,第2参考信号生成部31 - 1具有计数器。上述计数值是根据参考值进行周期计数而 获得的值。附带说明的是,第1参考信号生成部21 - 1和第2参考信号生成部31 - 1各 自的计数器是自由运行计数器,进行自走。
[0052] 第2计算部31与第2参考信号生成部31 - 1所生成的第2参考信号同步,进行 存储部33内所存储的预定应用程序等的执行(计算)。
[0053] 这里需要说明的是,第2参考信号生成部31 - 1例如是仅可由第2计算部31进 行访问的计数器,并是内置于第2计算部31的计数器(CPU内置计数器)。即,第2参考信 号生成部31 - 1是从主处理器11 一 1等外部不能进行硬复位的计数器。
[0054] 另外,第2计算部(CPU)31将来自主处理器11 一 1的第1参考信号(同步参考信 号)接收为中断信号,并对后述的同步补正处理(预定处理)进行起动。
[0055] 接下来,就同步补正处理部32而言,开销测定部32 - 1将上述第1参考信号的接 收作为起点,并对至同步补正处理被执行为止的开销值进行测定。具体而言,开销测定部 32 - 1包含对第1参考信号进行接收并进行重启的计数器(定时器)以及对该计数器的值 在同步补正处理的开始时点进行读入的处理。
[0056] 这里需要说明的是,开销(overhead)是指,从某事件发生开始至针对该事件的处 理(软件)实际被执行为止的延迟时间;在本例中,是从开销测定部32 - 1被重启的起点 开始至预定处理的开始时点为止的时间,但并不限定于此。
[0057] 计数值取得部32 - 2获取预定处理被实际执行时点的第2参考信号生成部31 - 1的计数值。即,计数值取得部32 - 2在同步补正处理的开始时点读入第2参考信号生成 部31 - 1的计数值。
[0058] 同步判定部32 - 3在计数值取得部32 - 2所取得的计数值与开销测定部32 - 1所计数的开销值的计数值相等时,判定为第1参考信号和第2参考信号同步。另外,同步 判定部32 - 3在计数值取得部32 - 2所获得的计数值和上述开销值的计数值不同时,判 定为上述第1参考信号和第2参考信号非同步。
[0059] 另外,同步判定部32 - 3也可对计数值取得部32 - 2所取得的计数值和开销测 定部32 - 1所测定的开销值的计数值进行时间换算,并在两者的时间相等时判定为同步, 另外,在两者的时间不同时判定为非同步。即,在第1实施方式中,在各处理器之间,也存在 着各计数器的每1时钟(clock)的单位时间不等的情况。所以,在这种情况下,对各计数器 值进行时间换算,并采用换算后的时间进行同步/非同步的判定。
[0060] 同步补正部32 - 4在同步判定部32 - 3判定为第1参考信号和第2参考信号同 步后,将参考值设定至第2参考信号生成部31 - 1。另外,同步补正部32 - 4在同步判定 部32 - 3判定为第1参考信号和第2参考信号非同步后,求出从计数值取得部32 - 2所 取得的计数值减去开销值后的同步补正值。接下来,同步补正部32 - 4从参考值减去所求 出的同步补正值,并将差值设定为第2参考信号生成部的新的参考值。该新的参考值是指, 相对于同步判定部32 - 3判定了同步时所使用的定时器参考值(默认参考值)而言,同步 判定部32 - 3判定了非同步时所使用的临时的定时器参考值。
[0061] 这里需要说明的是,如果同步判定部32 - 3判定了第1参考信号和第2参考信号 同步,则同步补正部32 - 4每次都可将上述默认的参考值设定至第2参考信号生成部31 - 1,另外,在同步被保持了的情况下,只要设定一次默认参考值即可。
[0062] 存储部33对第2计算部31所计算的预定应用程序(序列程序)进行存储。这里 需要说明的是,第2计算部31所计算的预定应用程序例如是向与从属处理器12 - 2连接的 I/O模块13 - 2、13 - 3赋予指不,并由I/O模块13 - 2、13 - 3对外部机器14 一 2、14 一 2进行控制的处理。为此,存储部33主要保存用于对与本处理器连接的I/O模块13 - 2、 13 - 3和外部机器14 一 2、14 一 3进行预定处理的程序。
[0063] I/O模块13进行与外部机器14等的输入输出处理。例如,I/O模块13可将从所 连接的外部机器14等获得的数据等输出(发送)至处理器11,可将处理器11的计算处理 结果输出至外部机器14等,还可对其进行存储。即,处理器11通过藉由应用程序程序对从 I/O模块13获得的输入数据进行计算,并将该计算结果作为输出数据赋予至I/O模块13, 对外部机器14进行控制。
[0064] 外部机器14例如为各种传感器、监视器以及记录介质等。外部机器14根据来自 I/O模块13的控制信号等,进行数据的检测和驱动以及数据的输入输出等。
[0065] 这里,参考值可分别预先设定在处理器11 一 1、处理器11 一 2、处理器11 一 3中, 也可从与它们分别进行了外部连接的编程装置15 (设定装置)来进行设定。编程装置15 可通过向用户等所使用的PC(personal computer)等中附加与处理器11进行通信并可设 定参考值的功能来实现,但并不限定于此,也可为专用的设定装置。据此,每个用户都可对 参考值(处理周期)任意地进行调整。
[0066] 这里,在上例中,作为信号同步系统10的一例,对多处理器进行了说明,但是,作 为信号同步系统10,只要包含第1参考信号生成部21 - 1、第2参考信号生成部31 - 1、第 2计算部31、开销测定部32 - 1、计数值取得部32 - 2、同步判定部32 - 3及同步补正部 32 - 4即可。
[0067] 这里需要说明的是,对于信号同步系统10的应用例而言,并不限定于多处理器, 例如,也可为将主控装置侧作为发送原子钟的日期?时间信息的数字信号的发送站点,并将 从属装置侧作为电波钟的定时器同步系统的应用例。
[0068] <处理器11的硬件结构例>
[0069] 接下来,参照附图对处理器11的硬件结构例进行说明。图2是处理器的硬件结构 的一例的示意图。图2所示的处理器11具有输入部41、输出部42、CPU43、内存44及外部 接口 45,这些通过公共总线B进行连接。
[0070] 输入部41例如对来自用户等的程序的执行等的各种操作信号进行输入。这里需 要说明的是,输入部41例如可具有由用户等进行操作的键盘和鼠标等的指示装置,在藉由 声音等进行输入的情况下,还可具有声音输入装置。
[0071] 输出部42具有对执行本实施方式的处理的处理器进行操作所需的各种窗口和数 据等进行显示的显示器,对CPU43所执行的控制程序的执行过程和结果等进行显示。
[0072] CPU43根据OS (operating system)等控制程序及内存44所保存的执行程序,对与 各种计算和各硬件结构之间的数据输入输出等的处理器11整体的处理进行控制,据此,实 现本实施方式的各处理。这里需要说明的是,程序执行中所需的各种信息等可从内存44获 取,并可对执行结果等进行保存。
[0073] 内存44对由CPU43所读出的执行程序等进行保存。这里需要说明的是,内存44 由 ROM (read-only memory)和 RAM (random-access memory)等组成。另外,内存 44 作为辅 助存储装置还可以具有硬盘等的存储单元。另外,内存44对本发明的执行程序和计算机的 控制程序等进行存储,并根据需要进行输入和输出。这里需要说明的是,内存44与上述的 存储部22、33等相对应。
[0074] 外部接口 45介由传输总线12等与其他处理器之间进行数据和控制信号的发送和 接收。另外,外部接口 45也与所连接的1/0模块13之间进行数据和控制信号的发送和接 收等。
[0075] 藉由上述的硬件结构,可进行本发明的计数器同步处理。另外,通过对执行程序进 行安装,在通用个人计算机等上也可容易地实现本实施方式的计数器同步处理。
[0076] 接下来,对第1实施方式的计数器同步例在下面进行说明。
[0077] <第1实施方式的计数器同步例>
[0078] 图3?图5是用于对第1实施方式的计数器同步例进行说明的时间图(其一?其 三)。图3?图5的示例中示出了主控侧(主控装置侧)CPU(处理器)和从属侧(从属装 置侧)CPU(处理器)之间的计数器值的同步例。这里需要说明的是,第1实施方式的参考 值(处理周期)为1000 μ s,但本发明并不限定于此,例如通过上述编程装置15可对设定进 行适当的变更。
[0079] 图3?图5的例中,将主处理器11 一 1所输出的第1参考信号记载为主控侧同步 基准(参考信号),并将第1参考信号生成部21 - 1记载为主控侧CPU1的计数器。另外, 图3?图5的例中,还将第2参考信号生成部31 - 1记载为从属侧CPU2的计数器1,并将 开销测定部32 - 1所具有的计数器记载为计数器2。
[0080] 在图3的(1)的时点,因为计数器值到达了参考值,所以主处理器11 一 1的主控 侧CPU1的计数器输出第1参考信号。从属处理器11 一 2接收第1参考信号作为中断(信 号),并起动同步补正处理(图3的(2))。与此同时,从属处理器11 一 2的开销测定部 32 - 1对该计数器(计数器2)的计数器值进行清除并使其重启(图3的(3))。接下来, 开销测定部32 - 1在图3的(4)的时点即同步补正处理的开始时点,参照该计数器(计数 器2)的值并将该值赋予至同步判定部32 - 3。同步判定部32 - 3将由开销测定部32 - 1所赋予的计数器值换算为时间,得到200 μ s。据此,第1实施方式进行了从中断的起点开 始至同步补正处理被执行为止的开销的测定。
[0081] 接下来,在图3的(5)的时点,计数值取得部32 - 2参照从属侧CPU2的计数器1 的计数器值,并将该值赋予至同步判定部32 - 3。同步判定部32 - 3将由计数值取得部 32 - 2所赋予的计数器值换算为时间,得到200 μ s。接下来,同步判定部32 - 3对从计数 值取得部32 - 2所获得的计数器值(200 μ s)和上述开销值(200 μ s)进行比较。在该情 况下,同步判定部32 - 3因为两者为相同值,所以判定为第1参考信号和第2参考信号同 止 /J/ 〇
[0082] 因为同步判定部32 - 3判定了同步,所以同步补正部32 - 4将参考值lOOOys 设定至从属侧CPU2的计数器1 (在该时点,从属侧CPU2的计数器1还没进行重启)。之后, 从属侧CPU2的计数器1在图3的(6)的时点,因为计数器值到达了参考值1000 μ s,所以进 行了重启。
[0083] 据此,在第1实施方式中,相对于现周期,可在与下一周期的第1参考信号的输出 时机大致相同的时机对从属侧CPU2的计数器1进行重启,并可使主控侧CPU1的计数器的 计数器值和从属侧CPU2的计数器1的计数器值成为大致相等的值。
[0084] 这里需要说明的是,从属侧CPU2的计数器1内置在上述CPU之中,但在本实施方 式中,对此并无限定,也可位于CPU之外。
[0085] 另外,附带说明的是,在图3所示的同步补正处理中,包含了计数值取得部32 - 2、 同步判定部32 - 3、同步补正部32 - 4、及开销测定部32 - 1的程序的处理。
[0086] 图4示出了从属处理器11 一 2的计数器比主处理器11 一 1的计数器慢了 200 μ s 的情况。
[0087] 在图4的第1周期(左侧的周期),在图4的(1)的时点,主处理器11 一 1的主控 侧CPU1的计数器因为计数器值到达了参考值,所以输出了第1参考信号。从属处理器11 一 2接收第1参考信号作为中断(信号),并起动同步补正处理(图4的(2))。与此同时,从 属处理器11 一 2的开销测定部32 - 1对该计数器(计数器2)的计数器值进行清除并使 其重启(图4的(3))。接下来,开销测定部32 - 1在图4的(4)时点,S卩,在同步补正处理 的开始时点,参照该计数器(计数器2)的值,并将该值赋予至同步判定部32 - 3。同步判 定部32 - 3将由开销测定部32 - 1所赋予的计数器值换算为时间,得到200 μ s。
[0088] 接下来,在图4的(5)的时点,计数值取得部32 - 2参照从属侧CPU2的计数器1 的计数器值,并将该值赋予至同步判定部32 - 3。同步判定部32 - 3将由计数值取得部 32 - 2所赋予的计数器值换算为时间,得到0 μ s。接下来,同步判定部32 - 3对从计数值 取得部32 - 2所获得的计数器值(0 μ s)和上述开销值(200 μ s)进行比较。在该情况下, 同步判定部32 - 3因为两者为不同值,所以判定为第1参考信号和第2参考信号非同步。
[0089] 因为同步判定部32 - 3判定了非同步,所以同步补正部32 - 4将从属侧CPU2的 计数器1设定为临时参考值。具体而言,同步补正部32 - 4根据「参考值(处理周期)一 ("计数器2"一"计数器1")」之公式,求得"计数器1"的重启值(复位值),并将所求得的 计数器值作为临时参考值设定至"计数器1"。在本例的情况下,临时参考值为ΙΟΟΟμ s - (200ys - 0)) = 800ys,并被设定至"计数器1"。之后,从属侧CPU2的计数器1在图4 的(6)的时点,因为计数器值到达了临时参考值800 μ S,所以进行了重启。这里顺便说明的 是,"计数器2" 一"计数器1"的值为同步补正值。
[0090] 据此,在第1实施方式中,相对于现周期(第1周期),可在与下一周期(第2周 期:图的正中的周期)的第1参考信号的输出时机大致相同的时机对从属侧CPU2的计数器 1进行重启。所以,在第1实施方式中,可使第1参考信号和第2参考信号同步。这里需要 说明的是,在图4的情况下,因为在第2周期,第1参考信号和第2参考信号变为同步,所以 同步补正部32 - 4通过执行上述图3所示的处理,将原来的参考值1000 μ s设定至从属侧 CPU2的计数器1 (在此时点,从属侧CPU2的计数器1还没重启)。之后,从属侧CPU2的计 数器1在计数器值到达参考值1000 μ s时进行重启。
[0091] 图5示出了从属处理器11 一 2的计数器比主处理器11 一 1的计数器快了 200 μ s 的情况。
[0092] 在图5的第1周期(左侧的周期),在图5的(1)的时点,主处理器11一1的主控 侧CPU1的计数器因为计数器值到达了参考值,所以输出第1参考信号。从属处理器11 一 2接收第1参考信号作为中断(信号),并起动同步补正处理(图5的(2))。与此同时,从 属处理器11 一 2的开销测定部32 - 1对该计数器(计数器2)的计数器值进行清除并使 其重启(图5的(3))。接下来,开销测定部32 - 1在图5的(4)时点,S卩,在同步补正处理 的开始时点,参照该计数器(计数器2)的值,并将该值赋予至同步判定部32 - 3。同步判 定部32 - 3将由开销测定部32 - 1所赋予的计数器值换算为时间,得到200 μ s。
[0093] 接下来,在图5的(5)的时点,计数值取得部32 - 2参照从属侧CPU2的计数器1 的计数器值,并将该值赋予至同步判定部32 - 3。同步判定部32 - 3将计数值取得部32 - 2所赋予的计数器值换算为时间,得到400 μ s。接下来,同步判定部32 - 3对从计数值取 得部32 - 2所获得的计数器值(400 μ s)和上述开销值(200 μ s)进行比较。在该情况下, 同步判定部32 - 3因为两计数器值为不同值,所以判定为第1参考信号和第2参考信号非 同步。
[0094] 因为同步判定部32 - 3判定了非同步,所以,同步补正部32 - 4将从属侧CPU2的 计数器1设定为临时参考值。具体而言,同步补正部32 - 4进行与图4所说明的同样的计 算,求得临时参考值,并将其设定至"计数器1"。在本例的情况下,临时参考值为1000 μ s - (200ys - 400ys)) = 1200ys,并被设定至"计数器1"。之后,从属侧CPU2的计数器1 在图4的(6)的时点,因为计数器值到达了临时参考值1200 μ s,所以进行了重启。这里顺 便说明的是,"计数器2" 一"计数器1"的值为同步补正值。
[0095] 据此,在第1实施方式中,相对于现周期(第1周期),可在与下一周期(第2周 期:正中的周期)的第1参考信号的输出时机大致相同的时机对从属侧CPU2的计数器1进 行重启。所以,本发明可使第1参考信号和第2参考信号同步。这里需要说明的是,因为图 5的第2周期的说明与图4同样,所以对其说明进行了割爱。这样,在第1实施方式中,无论 是在从属处理器的计数器(定时器)比主处理器的计数器(定时器)慢了的情况还是快了 的情况下,都可实现计数器的同步。这里需要说明的是,上述同步补正处理即可在间歇周期 断续地执行,也可以在每个周期连续地执行。
[0096] <计数器同步处理的序列(sequence)例>
[0097] 图6是计数器同步处理的概略序列例的示意图。在图6的例中,为了便于说明,对 使用了主处理器11 一 1和从属处理器11 一 2的同步进行了说明,但在本发明中并不限定 于此,也可以使多个从属处理器相对于1个主处理器进行同步。
[0098] 在图6的计数器同步处理中,首先,主处理器11 一 1生成第1参考信号(S01),从 属处理器11 一 2生成第2参考信号(S02)。这里需要说明的是,该处理是由硬件周期进行 的处理。
[0099] 这里,主处理器11 一 1对由S01的处理所获得的第1参考信号进行发送(S03)。 所发送的第1参考信号介由传输总线被发送至从属处理器11 一 1 (S04)。
[0100] 从属处理器11 一 2接收第1参考信号后(S05),对开销进行测定(S06),并进行如 上所述的同步判定(S07),在为非同步的情况下,进行同步补正(S08)。
[0101] <第2实施方式>
[0102] <节点同步系统:概略结构例>
[0103] 第2实施方式的特征在于,执行包含基于上述第1实施方式的通信路径12的延迟 时间的同步补正处理。图7是第2实施方式的节点同步系统概略结构的一例的示意图。图 7所示的节点同步系统50是在节点51 - 1?51 - 3等的多个节点之间进行计数器同步的 一例。
[0104] 节点同步系统50具有多个节点51 - 1?51 - 3 (以下,根据需要也称「节点51」)、 通信网络(通信路径)52、I/O (输入输出)模块53、外部机器54及编程装置55。即,节点 同步系统50是包含第1计算部(CPU) 61的主节点51 - 1及包含第2计算部(CPU) 71和同 步补正处理部72的从属节点51 - 2、51 - 3介由作为通信路径的通信网络52进行了连接 的系统。
[0105] 这里,为了方便起见,将节点51 - 1作为主节点,将节点51 - 2、51 - 3作为从属 节点,并对各节点的固有结构进行了说明,但在本发明中并不限定于此,各节点也可具有即 可为主节点又可为从属节点的两种结构。这里需要说明的是,在第2实施方式中,假定通信 路径52导致产生了传输延迟时间。
[0106] 这里,对第2实施方式(图7)和第1实施方式(图1)不同点进行说明。主节点 51 - 1相当于第1实施方式的处理器11 一 1,从属节点51 - 2、51 - 3相当于第1实施方 式的处理器11 一 2、11 一 3。另外,编程装置55与第1实施方式的编程装置15相同,再有, I/O模块53 - 1?53 - 4与第1实施方式的I/O模块13 - 1?13 - 4相同。外部机器 54 - 1?54 - 4与第1实施方式的外部机器14 一 2?14 一 4相同。所以,在以下的说明 中,对具有与第1实施方式相同的结构的部分的说明进行了割爱。
[0107] 主节点51 - 1具有第1计算部61 (与第1实施方式的第1计算部21相对应)、存 储部62 (与第1实施方式的存储部22相对应)、同步化帧通知部63及传输延迟时间通知部 64。这里需要说明的是,在第1计算部61中内置了第1参考信号生成部61 - 1 (与第1实 施方式的第1参考信号生成部21 - 1相对应)。
[0108] 主节点51 - 1与第1实施方式的处理器11 一 1的主要不同点在于,追加了同步 化帧通知部63和传输延迟时间通知部64。所以,在以下的说明中,对第2实施方式的主要 部分进行了说明,而对与第1实施方式同样的动作的说明进行了割爱。
[0109] 下面对第2实施方式的一例进行说明。在第2实施方式中,主节点51 - 1的传输 延迟时间通知部64为了计算传输延迟时间,发送传输延迟时间要求帧。该帧与后述的同步 化帧大致相同,同步化帧内的预定部分(例如,命令部)的数据被变更后再被发送。即,传 输延迟时间要求帧与由第1参考信号生成部61所生成的第1参考信号同步后被发送。 [0110] 接下来,传输延迟时间通知部64接收对传输延迟时间要求帧进行了应答的来自 从属节点的接收完成帧。之后,传输延迟时间通知部64根据应答帧接收时的时刻与传输延 迟时间要求帧发送时的时刻之间的差,对主节点和从属节点之间的往复传输延迟时间进行 计算。之后,传输延迟时间通知部64将含有所计算的往复传输延迟时间的传输延迟时间通 知帧与下一第1参考信号进行同步,并将其发送至从属节点,据此,向从属节点进行基于通 信路径52的延迟时间的通知。
[0111] 进行了往复传输延迟时间的通知后,主节点51 - 1根据第1参考信号(与第1参 考信号同步),将预先准备好的同步化帧介由通信路径52发送至从属节点。这里需要说明 的是,该处理由同步化帧通知部63来执行。尽管后面有详述,这里顺便说明的是,同步化帧 是用于使从属节点的计数器值与主节点51 - 1的计数器值一致的同步参考信号。
[0112] 接下来,对从属节点51 - 2、51 - 3进行说明。从属节点51 - 2、51 - 3具有第 2计算部71、同步补正处理部72、存储部73、接收完成通知部74及帧接收部75。这里需要 说明的是,第2计算部71内置在第2参考信号生成部71 - 1中。另外,同步补正处理部72 具有开销测定部72 - 1、计数值取得部72 - 2、同步判定部72 - 3及同步补正部72 - 4。 因为从属节点51 - 2、51 - 3是相同的结构,所以,在以下的说明中仅使用从属节点51 - 2进行说明。
[0113] 与第1实施方式的处理器11 - 2的主要不同点在于,同步判定部72 - 3与第1 实施方式的同步判定部32 - 3不同,还追加了接收完成通知部74和帧接收部75。换言之, 第2参考信号生成部71 - 1与第1实施方式的第2参考信号生成部31 - 1相同,第2计 算部71与第1实施方式的第2计算部31相同。另外,开销测定部72 - 1与第1实施方式 的开销测定部32 - 1相同,计数值取得部72 - 2与第1实施方式的计数值取得部32 - 2 相同。再有,存储部73与第1实施方式的存储部33相同。所以,在以下的说明中,对具有 与第1实施方式相同结构的部分的说明进行了割爱。下面,对包含了通信路径52的传输延 迟时间的从属节点51 - 2的同步补正处理进行说明。
[0114] 接收完成通知部74通过从主节点51 - 1接收上述传输延迟时间要求帧,将接收 完成帧发送至主节点51 - 1。
[0115] 帧接收部75接收由主节点51 - 1所发送的上述传输延迟时间通知帧,并将该帧 中所包含的往复传输延迟时间(值)保存在上述内存44等中。这样,从属节点可从主节点 51 - 1获得主节点51 - 1和从属节点间之间的往复传输延迟时间。
[0116] 从主节点51 - 1获得了往复传输延迟时间的从属节点51 - 2接收同步化帧,并 使第2计算部(CPU) 71产生中断(信号)。接收到中断信号的第2计算部71起动后述的同 步补正处理(预定处理)。这里需要说明的是,在本发明中,在没有获得往复传输延迟时间 而仅接收了同步化帧的情况下,当然也可以将往复传输延迟时间设为零(〇)并起动同步补 正处理(预定处理)。另外,考虑到从接收同步化帧开始中断信号进入第2计算部71的速 度,尽管图中未进行表示,作为同步化巾贞的接收手段,优选为使用FPGA (fie 1 d-programmab 1 e gate array)等的逻辑硬件。
[0117] 另外,在同步补正处理部72中,开销测定部72 - 1进行从上述同步化帧的接收为 起点至同步补正处理被执行为止的开销值的测定。具体而言,开销测定部72 - 1中包含了 接收同步化帧并进行重启的计数器(定时器)以及在同步补正处理的开始时点读入该计数 器的值的程序的处理。即,开销测定部72 - 1接收同步化帧并进行重启,并以该重启时点 为起点,至上述同步补正处理被执行为止,对开销进行测定。
[0118] 计数值取得部72 - 2获得在实际执行同步补正处理的开始时点的第2参考信号 生成部71 - 1的计数值。
[0119] 同步判定部72 - 3将上述往复传输延迟时间的二分之一作为通信路径52的单程 传输延迟时间,再将该单程传输延迟时间与上述开销相加以求得总延迟时间。之后,同步判 定部72 - 3对所求得的总延迟时间和计数值取得部72 - 2所取得的第2参考信号生成部 的计数值进行比较。该比较的结果为两者相等时,同步判定部72 - 3判定为第1参考信号 和第2参考信号同步,两者为不同时,判定第1参考信号和第2参考信号非同步。这里,同 步是指,第1参考信号生成部的计数器值和第2参考信号生成部的计数器值相等的意思。
[0120] 这里需要说明的是,同步判定部72 - 3当然也可以与第1实施方式的同步判定部 32 - 3同样地将各计数器的计数器值换算为时间再进行比较,进而进行同步/非同步的判 定。
[0121] 在第2实施方式中,由同步判定部72 - 3判定了同步后,同步补正部72 - 4将 参考值设定至第2参考信号生成部71 - 1,而判定了非同步后,通过从计数值取得部72 - 2所取得的第2参考信号生成部的计数值减去上述总延迟时间值,求出差值,并将其作为同 步补正值。接下来,同步补正部72 - 4从参考值中减去所求得的同步补正值,并将差值设 定为第2参考信号生成部71 - 1的新的参考值。该新的参考值是指,相对于同步判定部 72 - 3判定了同步时对第2参考信号生成部所设定的参考值(默认参考值)而言,为了进 行第2参考信号生成部的定时器值的补正而临时设定的(临时参考值)。
[0122] 这里需要说明的是,在本发明中,如果默认参考值被设定至第2参考信号生成部 71 - 1并保持同步,则以后当然可以不用进行默认参考值的重写;但在每次判定为同步时, 也可将默认参考值设定至第2参考信号生成部71 - 1,还可断续地进行设定。
[0123] 这样,本发明还可以进行考虑了同步参考信号(同步化帧)介由通信路径52被通 知时的传输延迟时间的影响的同步补正处理。即,在第2实施方式中,可以进行包含了节点 间的传输延迟时间和从属节点的开销的计数器值的补正,这样就可以实现高精度的节点间 的同步。
[0124] <第2实施方式的计数器同步例>
[0125] 图8?图10是用于对第2实施方式的计数器同步例进行说明的时间图(其一? 其三),是主节点51 - 1和从属节点51 - 2之间的计数器值的同步例。这些图是用于对从 往复传输延迟时间(600 μ s,即,单程传输延迟时间为300 μ s)已经被主节点51 - 1算出并 已经被通知给从属节点51 - 2之后的状态开始的计数器值的同步处理进行说明的图。这 里需要说明的是,第2实施方式的参考值(处理周期)与第1实施方式同样为1000 μ s,该 参考值可由编程装置55进行适当的变更。
[0126] 在图8?图10的例中,将主节点51 - 1的同步化帧发送时机记载为「主站点同步 基准」,将第1参考信号生成部61 - 1记载为「主控侧的计数器」。另外,在图8?图10的 例中,将第2参考信号生成部71 - 1记载为「从属侧的计数器1」,将开销测定部72 - 1所 具有的计数器记载为「计数器2」。
[0127] 在图8的(1)的时点,主节点51 - 1因为主控侧的计数器的值到达了参考值,所 以发送同步化帧。之后,在(2)的时点,从属节点51 - 2对(1)的时点所发送的同步化帧 经过了通信路径52的单程传输延迟时间(300ys)后进行接收,并起动同步补正处理。另 夕卜,伴随同步化帧的接收,开销测定部72 - 1的计数器(计数器2)被清除并进行重启(图 8 的(3))。
[0128] 接下来,在图8的(4)的时点,同步补正处理被实际执行后,开销测定部72 - 1参 照同步补正处理的开始时点的该计数器(计数器2)的值并将其换算为时间,得到200ys。 据此,开销测定部72 - 1进行从同步化帧的接收为起点至同步补正处理被执行(开始时 点)为止的开销的测定。
[0129] 接下来,在图8的(5)的时点,计数值取得部72 - 2参照从属侧的计数器1的值并 将其换算为时间,得到500 μ S。然后,同步判定部72 - 3根据往复传输延迟时间(600 μ S) 求得单程传输延迟时间300 μ s,并将所求得的传输延迟时间与上述开销200 μ s相加,以求 得总延迟时间500 μ S。之后,同步判定部72 - 3对总延迟时间500 μ S和计数值取得部 72 - 2所取得的500 μ s进行比较,因为两者相等,所以判定为第1参考信号和第2参考信 号同步。因为同步判定部72 - 3判定了同步,所以,同步补正部72 - 4将参考值ΙΟΟΟμ s 设定至从属侧的计数器1。(在设定时点,从属侧的计数器1还没进行重启)。之后,从属侧 的计数器1在图8的(6)的时点,因为计数器值达到了参考值1000 μ s,所以进行了重启。
[0130] 图9示出了从属节点51 - 2的计数器比主节点51 - 1的计数器慢了 200μ s的 情况。
[0131] 在图9的第1周期(左侧的周期),在图9的⑴的时点,主节点51 -1因为主控 侧的计数器的值到达了参考值,所以发送同步化帧。之后,在(2)的时点,从属节点51 - 2 对(1)的时点所发送的同步化帧经过了通信路径52的单程传输延迟时间(300 μ s)后进行 接收,并起动同步补正处理。另外,伴随同步化帧的接收,开销测定部72 - 1的计数器(计 数器2)被清除并进行重启(图9的(3))。
[0132] 接下来,在图9的(4)的时点,同步补正处理实际执行后,开销测定部72 - 1在同 步补正处理的开始时点参照该计数器(计数器2)的值并将其换算为时间,得到200ys。
[0133] 接下来,在图9的(5)的时点,计数值取得部72 - 2参照从属侧的计数器1的值并 将其换算为时间,得到300 μ S。然后,同步判定部72 - 3根据往复传输延迟时间(600 μ S) 求得单程传输延迟时间300 μ s,并将所求得的传输延迟时间与上述的开销200 μ s相加,以 求得总延迟时间500 μ S。之后,同步判定部72 - 3对总延迟时间500 μ S和计数值取得部 72 - 2所取得的300 μ s进行比较,因为两者不同,所以判定为第1参考信号和第2参考信 号非同步。
[0134] 因为同步判定部72 - 3判定了非同步,所以,同步补正部72 - 4对从属侧的计数 器1设定临时参考值。具体而言,同步补正部72 - 4根据「参考值(处理周期)一("计 数器2" 一"从属侧的计数器1")」之公式,求得"从属侧的计数器1"的重启值(复位值), 并将所求得的计数器值作为临时参考值设定至"从属侧的计数器1"。在本例的情况下,临 时参考值为ΙΟΟΟμ s -(500μ s - 300μ s)) = 800μ s,并被设定至"从属侧的计数器1"。 之后,从属侧的计数器1在图10的(6)的时点,因为计数器值到达了临时参考值800ys,所 以进行了重启。这里顺便说明的是,计数器2" 一"从属侧的计数器1"的值为同步补正值。
[0135] 图10示出了从属节点51 - 2的计数器比主节点51 - 1的计数器快了 200μ s的 情况。在图10的第1周期(左侧的周期),在图10的⑴的时点,主节点51 - 1因为主控 侧的计数器的值到达了参考值,所以进行同步化帧的发送。之后,在(2)的时点,从属节点 51 - 2对(1)的时点所发送的同步化帧经过了通信路径52的单程传输延迟时间(300 μ s) 后进行接收,并起动同步补正处理。另外,伴随同步化帧的接收,开销测定部72 - 1的计数 器(计数器2)被清除并进行重启(图10的(3))。
[0136] 接下来,在图10的(4)的时点,同步补正处理实际执行后,开销测定部72 - 1在 同步补正处理的开始时点参照该计数器(计数器2)的值并将其换算为时间,得到200ys。
[0137] 接下来,在图10的(5)的时点,计数值取得部72 - 2参照从属侧的计数器1的 值并将其换算为时间,得到700 μ S。然后,同步判定部72 - 3根据往复传输延迟时间 (600 μ s)求得单程传输延迟时间300 μ s,并将所求得的单程传输延迟时间与上述开销 200 μ S相加,以求得总延迟时间500 μ S。之后,同步判定部72 - 3对总延迟时间500 μ S 和计数值取得部72 - 2所取得的700 μ s进行比较,因为两者不同,所以判定为第1参考信 号和第2参考信号非同步。
[0138] 因为同步判定部72 - 3判定了非同步,所以,同步补正部72 - 4对从属侧的计数 器1设定临时参考值。在本例的情况下,临时参考值为1000 μ s - (500 μ s - 700 μ s))= 1200 μ s,并被设定至"从属侧的计数器1"。之后,从属侧的计数器1在图10的(6)的时点, 因为计数器值到达了临时参考值1200 μ s,所以进行了重启。
[0139] 这里需要说明的是,在图9及图10的例的情况下,在第2周期(图的正中的周期), 因为主控侧的计数器和从属侧的计数器1变为同步,同步补正部72 - 4通过执行上述图8 所示的处理,将原来的参考值1000 μ s设定至从属侧的计数器1 (在设定时点,从属侧的计 数器1并没进行重启)。之后,从属侧的计数器1在计数器值到达参考值1〇〇〇 μ s时进行重 启。即,在第2实施方式中,可在与相对于现周期的下一周期的主控侧的计数器的重启大致 相同的时机,对从属侧的计数器1进行重启,这样,可使主控侧的计数器的值和从属侧的计 数器1的值为大致相等的值。
[0140] 这里需要说明的是,同步补正处理与第1实施方式同样地包含了计数值取得部 72 - 2、同步判定部72 - 3、同步补正部72 - 4及开销测定部72 - 1的程序的处理。
[0141] 另外,尽管以从属侧的计数器1即第2参考信号生成部71 - 1内置于CPU为前提 进行了说明,但并不限定于此。即,第2参考信号生成部71 - 1也可被实现为位于CPU之 夕卜。然而,当第2参考信号生成部71 - 1内置于CPU时,藉由CPU的外部所生成的预定信 号并不能对第2参考信号生成部71 - 1进行硬复位。换言之,第2参考信号生成部71 - 1是介由程序对其动作进行控制的计数器。为此,在本发明中,需要藉由程序进行第2参考 信号生成部71 - 1的复位处理(重启处理),其开销与同步误差相关。所以,在本发明中, 需要具有对开销进行测定的结构(第1实施方式中也同样)。
[0142] 另外,在第2实施方式中,同步补正处理是由同步化帧的接收所起动的中断处理。
[0143] 另外,在上述说明中,从属节点51 - 2例如从主节点51 - 1获得往复传输延迟时 间并对其进行保持(保存),并将所保持的往复传输延迟时间在执行同步补正处理时进行 使用。除此之外,还具有:主节点51 - 1将往复传输延迟时间包含在同步化帧中并将其发 送至从属节点51 - 2,而接收了该同步化巾贞的从属节点51 - 2对同步化巾贞中所包含的往复 传输时间进行使用的方法。据此,因为主节点51 - 1可根据具体情况将往复传输延迟时间 适当地通知给从属节点,所以在从属节点中,可及时地使用基于具体情况的往复传输延迟 时间。
[0144] 另外,尽管对传输延迟时间通知部64以将往复传输延迟时间通知给从属节点 51 - 2的方式进行了说明,但并不限定于此。例如,传输延迟时间通知部64也可将算出的 往复传输延迟时间的二分之一求为单程传输延迟时间,并将所求得的单程传输延迟时间通 知给从属节点51 - 2。在此情况下,只要将从属节点51 - 2的同步判定部72 - 3设计为 原样地使用所赋予的单程传输延迟时间来求得总延迟时间即可。
[0145] 在如上所述的第2实施方式中,可进行包含基于通信路径的信号传输延迟时间的 第1参考信号和第2参考信号的同步。
[0146] <关于同步补正处理的传输延迟时间通知步骤>
[0147] 接下来,对上述的同步补正处理的传输延迟时间通知步骤进行说明。图11是用于 对第2实施方式的传输延迟时间通知步骤的一例进行说明的的图。这里需要说明的是,图 11的例中具有上述主节点51 - 1以及从属节点51 - 2、51 - 3,各节点为被构成为介由通 信路径52在可进行信号的发送和接收的状态下被连接。另外,在下面的说明中,示出了主 节点51 - 1获取各节点间的基于通信路径52的信号传输延迟时间的例子。
[0148] 另外,图11所示的四边形表示帧,相对于各节点的线上面的四边形表示发送帧, 线下面的四边形表示接收帧。另外,图11所示的帧具有:传输延迟时间要求帧81 (图11 的「REQ S*」(*表示例如用于识别各从属节点而被分配的编号(以下同样));接收完成帧 82 (图11的「S*」);传输延迟时间通知帧83 (图11的「SET S*」);及相对于传输延迟时间 通知帧83的应答帧84(图11的「ANS S*」)。
[0149] 在图11的例中,主节点51 - 1对相对于从属节点51 - 2 (S1)的传输延迟时间要 求帧81 - 1(REQ S1),按照主节点的同步基准,在通信路径52上进行广播发送。此时,传输 延迟时间要求帧81 - 1中包含了表示是相对于从属节点51 - 2的传输延迟时间要求的信 息(对象节点信息)。
[0150] 被广播发送的传输延迟时间要求帧81 - 1介由通信路径52在预定传输延迟时 间后被各从属节点51 - 2、51 - 3所接收。这里需要说明的是,在图11的例中,从属节点 51 - 1基于主节点的同步基准在延迟时间D1处对传输延迟时间要求帧81 - 1进行接收, 从属节点51 - 3基于主节点的同步基准在延迟时间D2处对传输延迟时间要求帧81 - 1 进行接收。
[0151] 这里,各从属节点51 - 2、51 - 3对传输延迟时间要求帧81 - 1中所包含的上 述对象节点信息进行确认。如上所述,因为传输延迟时间要求帧81 - 1是相对于从属节 点51 - 2的要求,所以,只有从属节点51 - 2相对于主节点51 - 1进行接收完成帧82 - 1(S1)的广播发送。此时,接收完成帧82 - 1中包含了表示是相对于主节点51 - 1的接收 完成帧的信息(对象节点信息)。
[0152] 被发送的接收完成帧82 - 1介由通信路径52被主节点51 - 1及从属节点52 - 3所接收。接下来,主节点51 - 1及从属节点51 - 3对接收完成帧82 - 1中所包含的上 述对象节点信息进行确认。如上所述,接收完成帧82 - 1是相对于主节点51 - 1的帧。为 此,主节点51 - 1根据从依照主节点的同步基准所发送的传输延迟时间要求帧81 - 1的 发送开始至其对完成帧82 - 1进行接收为止的时间信息,进行相对于从属节点51 - 2的 传输延迟时间的设定。这里需要说明的是,这里,所设定的传输延迟时间可为预定信号介由 通信路径52在主节点51 - 1和从属节点51 - 2之间进行往复的往复传输延迟时间,也可 为单程传输延迟时间。
[0153] 另外,主节点51 - 1生成用于将所设定的传输延迟时间通知给从属节点51 - 2 的传输延迟时间通知帧83 - 1 (SET S1),并将所生成的传输延迟时间通知帧83 - 1依照主 节点的同步基准进行广播发送。这里需要说明的是,传输延迟时间通知帧83 - 1中包含了 上述的对象节点信息。
[0154] 被广播发送的传输延迟时间通知巾贞83 - 1与上述传输延迟时间要求巾贞81 - 1同 样地介由通信路径52经过了预定传输延迟时间后被各从属节点51 - 2, 51 - 3所接收。
[0155] 此时,从属节点51 - 2根据所接收的传输延迟时间通知帧83 - 1的对象节点信 息判断为是相对于本节点的信息,并进行包含了帧内所含的传输延迟时间和上述开销时间 等的第2实施方式的同步补正处理。另外,从属节点51 - 2生成相对于传输延迟时间通知 帧83 - 1的应答帧84 - 1 (ANS S1),并对所生成的应答帧84 - 1进行广播发送。此时,应 答帧84 - 1中包含了表示是相对于主节点51 - 1的帧的信息(对象节点信息)、及表示同 步补正处理完成了的信息等。
[0156] 被发送的应答巾贞84 - 1与上述接收完成巾贞82 - 1同样地介由通信路径52被主 节点51 - 1及从属节点52 - 3所接收。接下来,主节点51 - 1及从属节点51 - 3对接 收的应答帧84 - 1中所含的上述对象节点信息进行确认。如上所述,应答帧84 - 1是相 对于主节点51 - 1的帧。为此,主节点51 - 1藉由来自从属节点51 - 2的应答帧84 - 1,可对同步补正处理完成了进行把握。这里需要说明的是,从属节点51 - 3尽管接收了传 输延迟时间要求帧81 - 1 (REQ S1)、接收完成帧82 - 1 (S1)、传输延迟时间通知帧83 - 1 (SET S1)及应答帧84 - 1(ANS S1),但是,因为都不是针对本节点的帧,所以对所接收的 帧进行丢弃。
[0157] 至上述内容为止,是向从属节点51 - 2所进行的传输延迟时间的通知步骤。据此, 主节点51 - 1同样地也可进行相对于从属节点51 - 3的传输延迟时间的通知。
[0158] 具体而言,图11的例中,主节点51 - 1对相对于从属节点51 - 3 (S2)的传输延 迟时间要求帧81 - 2 (REQ S2),依照主节点的同步基准,在通信路径52上进行广播发送。 被广播发送了的传输延迟时间要求帧81 - 2如上所述介由通信路径52在预定传输延迟时 间(Dl、D2)处被各从属节点51 - 2、51 - 3所接收。
[0159] 因为传输延迟时间要求帧81 - 2是相对于从属节点51 - 3的要求,所以,只有从 属节点51 - 3进行相对于主节点51 - 1的接收完成帧82 - 2 (S2)的广播发送。被发送的 接收完成帧82 - 2介由通信路径52被主节点51 - 1及从属节点52 - 2所接收。接收完 成帧82 - 2是相对于主节点51 - 1的帧。为此,主节点51 - 1根据从依照主节点的同步 基准所发送的传输延迟时间要求帧81 - 2的发送开始至对接收完成帧82 - 2进行接收为 止的时间信息,对相对于从属节点51 - 3的传输延迟时间进行设定。这里需要说明的是, 这里,所设定的传输延迟时间可为预定信号介由通信路径52在主节点51 - 1和从属节点 51 - 3之间进行往复的往复传输延迟时间,也可为单程传输延迟时间。
[0160] 另外,主节点51 - 1生成用于对所设定的传输延迟时间向从属节点51 - 3进行 通知的传输延迟时间通知帧83 - 2 (SET S2),并对所生成的传输延迟时间通知帧83 - 2依 照主节点的同步基准进行广播发送。被广播发送的传输延迟时间通知帧83 - 2与上述传 输延迟时间要求帧81 - 2同样地介由通信路径52在预定传输延迟时间(D1、D2)处被各从 属节点51 - 2、51 - 3所接收。
[0161] 此时,从属节点51 - 3如上所述,根据所接收的传输延迟时间通知帧83 - 2的对 象节点信息,判断为是相对于本节点的信息,并进行包含了帧内所含的传输延迟时间和上 述开销时间等的第2实施方式的同步补正处理。另外,从属节点51 - 3生成相对于传输延 迟时间通知帧83 - 2的应答帧84 - 2 (ANS S2),并对所生成的应答帧84 - 2进行广播发 送。此时,应答帧84 - 2中包含了表示是相对于主节点51 - 1的帧的信息(对象节点信 息)、及表示同步补正处理完成了的信息等。
[0162] 被发送的应答帧84 - 2与上述接收完成帧82 - 2同样地介由通信路径52被主 节点51 - 1及从属节点52 - 2所接收。接下来,主节点51 - 1及从属节点51 - 2对应 答帧84 - 2内所含的上述对象节点信息进行确认。如上所述,应答帧84 - 2是相对于主 节点51 - 1的帧。为此,主节点51 - 1藉由来自从属节点51 - 3的应答帧84 - 2,可对 同步补正处理完成了进行把握。这里需要说明的是,从属节点51 - 2尽管接收了传输延 迟时间要求帧81 - 2 (REQ S2)、接收完成帧82 - 2 (S2)、传输延迟时间通知帧83 - 2 (SET S2)及应答帧84 - 2(ANS S2),但是因为这些都不是相对于本节点的帧,所以尽管接收了也 对这些帧进行丢弃。
[0163] 在第2实施方式中,通过对通信路径52的各从属节点按顺序进行上述处理,可对 传输延迟时间进行通知。
[0164] 这里需要说明的是,对于传输延迟时间的通知步骤而言,并不限定于上述步骤。例 如,也可采用如下方式,即:对传输延迟时间要求帧进行广播发送,接收了该要求帧的从属 节点51 - 2、51 - 3发送应答帧,以使在通信路径52和主节点51 - 1上不进行辐辏,例 如,可采用在上述各节点的内部设置发送计数器(sendcounter),并使用该发送计数器在不 同的时机发送应答帧的方式进行控制。
[0165] 在上述第2实施方式中,例如,在以太网(注册商标)那样的具有星型拓扑的系统 中,相对于使用了时分多址传输方式的共享内存网络而言,可进行使各节点的计数器同步 化,进而使装置整体的控制时机一致的同步控制。另外,在第2实施方式中,就进行同步的 计数器而言,在使用微机内部的计数器的情况下,可通过FPGA等硬件使用计数器来进行构 成。所以,在第2实施方式中,例如,通过在发收(发送和接收)帧的接收时机,例如采用 FPGA等硬件来构成与主节点同步的计数器和对微机的处理时间进行测定的计数器,并通过 微机来计算其计数器值,可对处理误差进行补正。
[0166] 这里需要说明的是,在上述例子中,作为节点同步系统50的一例,对主从属间的 节点同步进行了说明,但在本发明中,并不限定于此,例如,也可以应用在保护继电器等的 采样同步技术中。
[0167] <网络传输系统:概略结构例>
[0168] 这里需要说明的是,在上述第2实施方式中,例如,存在着对各节点间采用HUB (集 线器)等中继装置进行连接的情况。图12是包含使用了第2实施方式的主节点及从属节 点的节点同步系统的网络传输系统的概略结构的一例。图12所示的网络传输系统90作为 一例具有上述的多个节点51 (图12的例中为节点51 - 1?51 - 3)及作为1个或多个中 继装置的HUB91(图12的例中为HUB91 - 1?91 一 5)。这里需要说明的是,关于节点、中 继装置的数量、种类及连接方法而言,并不限定于此。
[0169] 在图12的例中,图7的主节点即节点51 - 1为节点A(主站点),图7的从属节点 即节点51 - 2、节点51 - 3为节点B、节点C(从属站点)。另外,如图12所示,网络传输 系统90的通信路径是例如在主节点51 - 1和从属节点51 - 2之间具有中继装置的星型。 这里需要说明的是,中继装置作为一例使用了 HUB,但在本发明中并不限定于此,例如也可 以使用路由器、转发器、光转换器等。
[0170] 另外,主节点和从属节点例如为可编程控制器(也称为控制装置或 PLC(programmable logic controller)),网络传输系统90的通信路径是用于对这些可编 程控制器之间的数据进行交换的数据交换总线。作为与该数据交换总线连接的机器,例如, 除了上述的可编程控制器之外,还有PC、服务器、I/O模块、驱动装置(例如,变换器、伺服装 置等)等。
[0171] 在图12所示的网络传输系统90中,节点51 - 1和节点51 - 3与同一 HUB12 - 1连接,节点51 - 2经由5段(5级)的HUB(中继装置)与节点51 - 1和节点51 - 3连 接。
[0172] 这里需要说明的是,在一般的以太网的HUB中,采用了所谓的存储和转发的接口 方式。在这种情况下,发送来的帧都存储在HUB内的接收缓冲器中,并在执行完HUB的内部 处理(例如,异常判定和接收对象判定等)之后再被发送。
[0173] <节点同步处理的序列例>
[0174] 图13是节点同步处理的概略序列例的示意图。在图13的例中,为了方便说明,对 使用了主节点51 - 1和从属节点51 - 2的同步进行了说明,但在本发明中并不限定于此, 也可以使多个从属节点相对于1个主节点进行同步。
[0175] 在图13的节点同步处理中,首先,主节点51 - 1生成第1参考信号(S11),从属节 点51 - 2生成第2参考信号(S12)。另外,该处理是由硬件周期进行的处理。
[0176] 这里,主节点51 - 1为了对传输延迟时间进行测定,生成传输延迟时间要求帧,并 将其向从属节点51 - 2进行通知(S13)。这里需要说明的是,传输延迟时间要求帧仅是对 同步化帧所含的预定部分的数据进行了变更的帧,所以,也可以说其是同步化帧,但是,这 里为了方便起见,使用「传输延迟时间要求帧」来进行说明。
[0177] 传输延迟时间要求帧介由通信路径52被发送至从属节点51 - 2(S14)。从属 节点51 - 2接收传输延迟时间要求帧后,生成接收完成通知,并将其通知给主节点51 - 1 (S15)。接收完成通知介由通信路径52被发送至主节点51 - 1 (S16)。
[0178] 主节点51 - 1接收到接收完成通知后,例如,算出往复传输延迟时间(S17),并生 成包含所算出的往复传输延迟时间等的传输延迟时间帧通知(S18),然后,将所生成的传输 延迟时间帧通知介由通信路径52向从属节点51 - 2进行发送(S19)。
[0179] 从属节点51 - 2接收到传输延迟时间帧后(S20),对开销进行测定(S21),并进 行如上所述的同步判定(S22),在为非同步的情况下,算出总延迟时间(S23)。总延迟时间 是指例如将传输延迟时间和开销值进行了相加后的值,但并不限定于此。另外,从属节点 51 - 2使用所算出的总延迟时间进行同步补正(S24)。这里需要说明的是,在图13所示的 处理中,从属节点51 - 2还可以将表示同步补正完成了的应答帧发送至主节点51 - 1。另 夕卜,主节点51 - 1对于与通信路径52连接的从属节点51 - 2之外的从属节点也采用上述 步骤进行节点同步处理。
[0180] 这里,在本实施方式中,通过生成用于使计算机发挥作为上述节点60所具有的各 单元的功能的程序(节点同步程序),并将所生成的程序安装至计算机等,可实现上述各节 点的同步处理。
[0181] 如上所述,根据本发明,可使预定信号高精度地进行同步。据此,例如,可实现各节 点的数据交换周期的稳定化。另外,根据本发明,例如在以太网那样的具有星型拓扑的系统 中,相对于使用了时分多址传输方式的共有内存网络而言,通过使各节点的定时器同步化, 可实现传输的效率化、数据交换的效率化以及数据交换周期的稳定化等。
[0182] 这里需要说明的是,本实施方式适用于例如藉由多个操作对钢铁厂等的大规模设 备等的一连串的动作进行实施的情况下的同步方法,另外,也可以作为吉比特以太网整体 的各装置间的同步方式进行广泛的适用。
[0183] 以上对本发明的较佳实施例进行了详述,但本发明并不限定于上述特定的实施方 式,只要在权利要求书记载的本发明的要旨的范围内,可以进行各种各样的变形和变更。
[0184] [符号说明]
[0185] 10 信号同步系统
[0186] 11 处理器
[0187] 12 传输总线
[0188] 13,53 1/〇(输入输出)模块
[0189] 14、54 外部机器
[0190] 15,55 编程装置
[0191] 21、61 第1计算部
[0192] 21 - 1、61 - 1 第1参考信号生成部
[0193] 22、33、62、73 存储部
[0194] 31、71 第2计算部
[0195] 31 - 1、71 - 1 第2参考信号生成部
[0196] 32 - 1、72 - 1 开销(overhead)测定部
[0197] 32 - 2,72 - 2 计数值取得部
[0198] 32 - 3,72 - 3 同步判定部
[0199] 32 - 4,72 - 4 同步补正部
[0200] 41 输入部
[0201] 42 输出部
[0202] 43 CPU
[0203] 44 内存
[0204] 45 外部接口
[0205] 50 节点同步系统
[0206] 51 节点
[0207] 52 通信路径
[0208] 63 同步化帧通知部
[0209] 64 传输延迟时间通知部
[0210] 74 接收完成通知部
[0211] 75 帧通知部
[0212] 81 传输延迟时间要求帧
[0213] 82 接收完成帧
[0214] 83 传输延迟时间通知帧
[0215] 84 应答中贞
[0216] 90 网络传输系统
[0217] 91 HUB (中继装置)
【权利要求】
1. 一种信号同步系统,其特征在于,具有: 第1参考信号生成部,其中设定了参考值,在计数值达到该参考值时生成第1参考信 号; 第2参考信号生成部,其中设定了所述参考值,在计数值到达该参考值时生成第2参考 信号; 计算部,接收所述第1参考信号生成部所生成的所述第1参考信号并执行预定处理; 开销测定部,接收所述第1参考信号并进行重启,测定以该重启时点为起点的至所述 预定处理被执行为止的开销; 计数值取得部,经过了所述开销后,取得所述预定处理被执行时点的所述第2参考信 号生成部的计数值; 同步判定部,在所述计数值取得部所取得的计数值和所述开销的值不同时,判定为所 述第1参考信号和所述第2参考信号非同步;及 同步补正部,如果所述同步判定部判定为所述第1参考信号和所述第2参考信号非同 步,则通过从所述开销的值减去所述计数值取得部所取得的计数值,求出同步补正值,并将 从所述参考值减去所求出的同步补正值后的值作为临时参考值设定至所述第2参考信号 生成部。
2. 如权利要求1所述的信号同步系统,其特征在于: 所述第2参考信号生成部是仅可由所述计算部访问的计数器。
3. 如权利要求1所述的信号同步系统,其特征在于: 所述同步判定部对所述计数值取得部所取得的计数值和所述开销测定部所测定的所 述开销的值进行时间换算,在两者的时间不同时判定为非同步。
4. 一种多处理器,其特征在于,具有主处理器和从属处理器,其中: 所述主处理器包括: 第1参考信号生成部,其中设定了参考值,在计数值到达该参考值时生成第1参考信 号;及 第1计算部,与所述第1参考信号生成部所生成的所述第1参考信号同步地执行程序, 所述从属处理器包括: 第2参考信号生成部,其中设定了所述参考值,在计数值到达该参考值时生成第2参考 信号; 第2计算部,连接所述第1参考信号,与所述第2参考信号生成部所生成的所述第2参 考信号同步地执行程序,并在接收到所述第1参考信号后执行预定处理; 开销测定部,接收所述第1参考信号并进行重启,测定以该重启为起点的至所述预定 处理被执行为止的开销; 计数值取得部,经过了所述开销过后,取得在所述预定处理被执行时点的所述第2参 考信号生成部的计数值; 同步判定部,在所述计数值取得部所取得的计数值和所述开销的值不同时,判定为所 述第1参考信号和所述第2参考信号非同步;及 同步补正部,如果所述同步判定部判定为所述第1参考信号和所述第2参考信号非同 步,则通过从所述开销的值减去所述计数值取得部所取得的计数值,求出同步补正值,并将 从所述参考值减去所求出的同步补正值后的值作为临时参考值设定至所述第2参考信号 生成部。
5. 如权利要求4所述的多处理器,其特征在于: 所述第2参考信号生成部是仅可由所述第2计算部访问的计数器。
6. 如权利要求4所述的多处理器,其特征在于: 所述同步判定部对所述计数值取得部所取得的计数值和所述开销测定部所测定的所 述开销的值进行时间换算,在两者的时间不同时判定为非同步。
7. 如权利要求4所述的多处理器,其特征在于: 每周期地输出所述第1参考信号, 所述第1计算部通过每周期地执行所述程序对外部连接的机器进行控制。
8. 如权利要求4所述的多处理器,其特征在于: 所述参考值可从外部连接的设定装置进行设定。
9. 如权利要求4所述的多处理器,其特征在于: 所述开销是从所述开销测定部进行重启的起点至所述预定处理的开始时点为止的时 间。
10. -种节点同步系统,其特征在于,具有主节点和从属节点,其中: 所述主节点包括: 第1参考信号生成部,其中设定了参考值,当计数值到达该参考值时生成第1参考信 号; 第1计算部,与所述第1参考信号生成部所生成的所述第1参考信号同步地执行程序; 同步化帧通知部,介由通信路径将与所述第1参考信号同步了的同步化帧发送至所述 从属节点;及 传输延迟时间通知部,计算从所述同步化帧被所述主节点发送至被所述从属节点接收 为止的传输延迟时间,并将该传输延迟时间通知给所述从属节点, 所述从属节点包括: 第2参考信号生成部,其中设定了所述参考值,在计数值到达该参考值时生成第2参考 信号; 第2计算部,连接所述第1参考信号,与所述第2参考信号生成部所生成的所述第2参 考信号同步地执行程序,并在接收到所述第1参考信号后执行预定处理; 开销测定部,接收所述第1参考信号并进行重启,测定以该重启为起点的至所述预定 处理被执行为止的开销; 计数值取得部,经过了所述开销后,取得所述预定处理被执行时点的所述第2参考信 号生成部的计数值; 同步判定部,通过使所述主节点所通知的所述传输延迟时间的值和所述开销的值相 力口,求出总延迟时间值,并对所求出的总合延迟时间值和所述计数值取得部所取得的所述 第2参考信号生成部的计数值进行比较,在两者不同时判定为第1参考信号和第2参考信 号非同步;及 同步补正部,如果所述同步判定部判定为所述第1参考信号和所述第2参考信号非同 步,则通过从所述总延迟时间值减去所述计数值取得部所取得的计数值,求出同步补正值, 并将从所述参考值减去所求出的同步补正值后的值作为临时参考值设置至所述第2参考 信号生成部。
11. 如权利要求10所述的节点同步系统,其特征在于: 所述传输延迟时间通知部将传输延迟时间要求帧发送至所述从属节点,接收相对于所 述传输延迟时间要求帧的来自所述从属节点的接收完成帧,并根据该接收时的时刻和所述 传输延迟时间要求帧发送时的时刻之间的差,计算所述传输延迟时间。
12. 如权利要求10所述的节点同步系统,其特征在于: 所述通信路径是在所述主节点和所述从属节点之间具有中继装置的星型路径。
13. 如权利要求10所述的节点同步系统,其特征在于: 所述第2参考信号生成部是仅可由所述第2计算部访问的计数器。
14. 如权利要求10所述的节点同步系统,其特征在于: 所述同步判定部对所述计数值取得部所取得的计数值和所述总延迟时间值进行时间 换算,在两者的时间不同时判定为非同步。
15. 如权利要求10所述的节点同步系统,其特征在于: 所述参考值可从与所述主节点或所述从属节点连接的设定装置进行设定。
16. 如权利要求10所述的节点同步系统,其特征在于: 所述开销是从所述开销测定部进行重启的起点至所述预定处理的开始时点为止的时 间。
【文档编号】H04L12/28GK104115450SQ201280070128
【公开日】2014年10月22日 申请日期:2012年5月1日 优先权日:2012年5月1日
【发明者】光井崇 申请人:富士电机株式会社

最新回复(0)