欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 测时学> 通信装置、时刻校正方法以及网络系统独创技术50813字

通信装置、时刻校正方法以及网络系统

2021-03-07 04:30:16

通信装置、时刻校正方法以及网络系统

  技术领域

  本发明涉及一种通信装置、时刻校正方法以及网络系统,该通信装置构成需要进行时刻同步的网络系统。

  背景技术

  在多个通信装置协同地进行一系列的动作的系统中,需要使各通信装置的时刻即由各通信装置独立地管理的本地时刻同步。在这样的系统中,通过使其他通信装置即从站的时刻与作为基准的通信装置即主站进行同步,从而各通信装置能够准确地在某个确定的时刻进行动作。

  在专利文献1中记载有用于实现通信装置之间的时刻同步的发明。根据专利文献1所记载的发明,发送装置将作为自身的数据创建时刻的标准时刻记载于电文信息而发送至接收装置,接收装置使用记载于接收到的电文信息的标准时刻而求出传送延迟的波动量,对与发送装置之间的时钟误差、传送延迟进行校正。

  另外,在非专利文献1中对在主站和从站之间使时刻同步的流程进行了规定。在非专利文件1所记载的时刻同步流程中,主站对储存有发送时刻的信息的Sync报文进行发送,从站如果接收到Sync报文,则对储存于报文的信息所示的发送时刻t1和接收到报文的时刻t2进行存储。然后,从站将储存有发送时刻t3的信息的Delay_Req报文向主站发送,主站如果接收到Delay_Req报文,则将Delay_Req报文的接收时刻t4的信息储存于Delay_Resp报文而向从站发送。从站如果接收到Delay_Resp报文,则使用t1、t2、t3以及t4计算出自身的时刻和主站的时刻之间的差,基于计算出的差对自身的时刻进行校正而与主站的时刻进行同步。

  专利文献1:日本特开2007-178226号公报

  非专利文献1:IEEE1588

  发明内容

  在通过专利文献1以及非专利文献1所记载的流程来实现时刻同步的情况下,需要在通信装置之间对时刻同步用数据包进行发送接收。

  这里,作为需要进行通信装置之间的时刻同步的系统,存在工作机械、半导体制造装置、工业用机器人等需要进行使用了多个轴的高精度运动动作的运动控制系统。在运动控制系统中,主站将在装置之间使动作同步时的作为基准的数据包(下面,称作同步数据包)以恒定周期进行发送。另外,主站和从站在不发送同步数据包的定时进行通信。在针对这样的系统应用专利文献1以及非专利文献1所记载的时刻同步流程、即使用时刻同步用数据包来实现时刻同步的方法的情况下,时刻同步流程的执行有可能给系统带来不良影响。具体而言,如果在主站和从站连续地进行通信等大量的数据包被发送接收、网络的负荷升高的状态下执行时刻同步流程,则由于发送时刻同步用数据包而使网络的负荷进一步升高,有可能带来在为了进行运动动作的控制而发送接收的数据包的处理中产生延迟等不良影响。因此,期望削减时刻同步流程给网络带来的负荷、即削减在时刻同步流程的执行时产生的通信量。

  本发明就是鉴于上述内容而提出的,其目的在于得到一种通信装置,该通信装置能够削减在使本装置的时刻与其他装置的时刻同步的处理中所需的通信量。

  为了解决上述课题,实现目的,本发明涉及的通信装置具有:计数器,其用于对时间进行计数;以及计数值保存部,其在接收到以本装置为目标的数据包或者广播的数据包的情况下,对计数器的计数值进行记录。另外,具有:数据包解析部,其对接收到的数据包是否为在网络内以恒定周期发送的数据包即周期数据包进行判定,在为周期数据包的情况下,对计数值保存部所存储的计数值和表示本应接收周期数据包的时刻的计数值之间的差值进行计算;以及校正时间计算部,其基于差值,对用于校正本装置的时刻和周期数据包的发送源装置的时刻之间的偏差的校正值进行计算。

  发明的效果

  本发明涉及的通信装置实现下述效果,即,能够削减在使本装置的时刻与其他装置的时刻同步的处理中所需的通信量。

  附图说明

  图1是表示实施方式1涉及的网络系统的结构例的图。

  图2是表示实施方式1涉及的通信装置的结构例的图。

  图3是表示用于实现实施方式1涉及的通信装置的各部分的硬件结构例的图。

  图4是表示以太网(注册商标)帧的结构例的图。

  图5是表示IP数据包的结构例的图。

  图6是表示实施方式1涉及的网络系统整体的时刻同步处理以及时刻校正处理的一个例子的图。

  图7是表示实施方式1涉及的通过从站进行的时刻校正动作的图。

  图8是表示实施方式1涉及的网络系统整体的时刻校正处理的具体例的图。

  图9是表示实施方式2涉及的网络系统中的通信动作的一个例子的图。

  具体实施方式

  下面,基于附图详细地说明本发明的实施方式涉及的通信装置、时刻校正方法以及网络系统。此外,本发明并不限定于该实施方式。

  实施方式1.

  图1是表示实施方式1涉及的网络系统的结构例的图。

  图1所示的网络系统包含下述装置而构成:通信装置10,其作为时刻同步的主站而动作;以及通信装置20、30及40,它们作为时刻同步的从站而动作。通信装置10、20、30以及40的内部结构相同。在下面的说明中,将通信装置10称作主站10,将通信装置20、30、40称作从站20、30、40。主站10是运动控制系统的运动控制器等。从站20、30及40是运动控制系统的I/O(Input/Output)装置。此外,在图1中,将作为时刻同步的从站而动作的通信装置设为3台,但这只是一个例子,也可以不是3台。

  主站10和从站20通过逻辑接口1进行连接。从站20和从站30通过逻辑接口2进行连接。从站30和从站40通过逻辑接口3进行连接。逻辑接口1至3既可以是以太网这样的有线传送通路,也可以是无线LAN(Local Area Network)这样的无线传送通路。另外,物理连接可以是以主站10为顶点而将从站20、30及40配置为星型的情况、主站10和从站20、30及40全部连接为环状的情况等任意情况。在图1中,设为将主站10和从站20、30及40串级连接,将从主站10发送的数据包向从站20、30、40依次转送的连接方式。

  图2是表示实施方式1涉及的通信装置即主站10、从站20、30及40的结构例的图。此外,在图2中,示出了与逻辑接口1以及2连接的从站20的结构。在图2中,箭头表示数据包的流向。

  从站20具有:物理接口部201,其实现以太网等的物理层以及MAC(Media Access Control)层;数据包解析部202,其实施时刻校正所需的数据包解析处理;校正信息累积部203,其对时刻校正所需的信息进行累积;校正时间计算部204,其对校正时间进行计算;计数器205,其通过处理器的时钟等实现,用于对时间进行计数;计数值保存部206,其对表示接收数据包的接收时刻的计数值进行存储;以及参数存储部207,其对表示周期通信的开始定时的开始计数值、表示进行周期通信的期间的长度的通信周期、校正阈值等进行保存。此外,计数器205也可以是通信装置所具有的时钟,只要是能够得到可换算成时间的信息的部件即可。周期通信是指如主站10一边以某个恒定周期对作为通信对象的从站进行切换一边与各从站依次进行通信这样的通信。

  这里,对硬件结构进行说明,该硬件结构用于实现图2所示的实施方式1涉及的通信装置即主站10、从站20、30以及40的各部分。图3是表示用于实现实施方式1涉及的通信装置的各部分的硬件结构例的图。

  实施方式1涉及的通信装置的各部分能够通过CPU(Central Processing Unit)、系统LSI(Large Scale Integration)等处理器301、由RAM(Random Access Memory)、ROM(Read Only Memory)等构成的存储器302、以及用于与各种网络连接的输入输出接口303而实现。处理器301、存储器302以及输入输出接口303能够与总线300连接,经由总线300相互进行数据、控制信息等的收发。

  物理接口部201通过输入输出接口303而实现。数据包解析部202通过处理器301以及储存于存储器302的程序而实现。具体而言,处理器301通过将用于作为数据包解析部202而动作的程序从存储器302读出、执行,从而实现数据包解析部202。校正时间计算部204通过处理器301以及储存于存储器302的程序而实现。具体而言,处理器301通过将用于作为校正时间计算部204而动作的程序从存储器302读出、执行,从而实现校正时间计算部204。校正信息累积部203、计数值保存部206以及参数存储部207通过存储器302而实现。计数器205是利用处理器所具有的时钟而实现的。

  下面,使用图2对从站20中的数据包处理进行说明,具体而言,对从站20接收由主站10发送的数据包而向从站30转送的处理进行说明。从主站10发送的数据包即数据包11从逻辑接口即逻辑接口1被输入至物理接口部201。此外,数据包11在逻辑接口1处被作为帧而进行传送。物理接口部201通过对已知的比特序列进行检测而掌握数据包的起始,接收数据包。例如,在数据包11为如图4所示的以太网帧的情况下,“前导码/SFD(Start of Frame Delimiter)”为数据包的起始。“前导码/SFD”是由7字节长的前导码以及1字节长的SFD构成的合计8字节的信息,成为固定的比特组合(bit pattern)。此外,以太网帧除了“前导码/SFD”之外,还包含:表示帧的目标的“目标地址”;表示帧的发送源的“发送源地址”;表示对帧进行接收的上级协议的类型或者帧的长度的“类型/长度”;对数据进行储存的“数据部”;以及用于进行帧的错误校验的“FCS(Frame Check Sequence)”。在“数据部”将图5所示的结构的IP(Internet Protocol)数据包等作为数据而储存。在本实施方式中,是将IP数据包作为数据而储存于数据部。

  IP数据包包含:表示IP的版本及IP数据包的数据头的长度的“版本/IHL(Internet Header Length)”;表示IP数据包的优先级等的“ToS(Type of Service)”;表示上级协议的“协议”;用于进行数据头的错误校验的“数据头校验和”;表示IP数据包的发送源的“发送源地址”;表示IP数据包的目标的“目标地址”;以及对数据进行储存的“数据部”。

  返回到数据包处理的说明,物理接口部201如果接收到图4所示的结构的数据包11,则将储存于数据部的IP数据包取出,将取出的IP数据包作为接收数据包而向数据包解析部202进行转送。数据包解析部202如果从物理接口部201接收到接收数据包,则判别是以本通信装置为目标还是以其他通信装置为目标,在是以其他通信装置为目标的情况下,向物理接口部201输出。即,如果接收数据包内的目标地址示出本装置以外的其他装置,则数据包解析部202判定为以其他通信装置为目标,将接收数据包向物理接口部201输出。物理接口部201如果接收到由数据包解析部202判定为以其他通信装置为目标的接收数据包,则将该接收数据包作为数据包12向逻辑接口2输出。此时,物理接口部201将从数据包解析部202接收到的接收数据包即IP数据包储存至图4所示的帧的“数据部”,向逻辑接口2输出。

  另外,数据包解析部202在从物理接口部201接收到的接收数据包是以本装置为目标的情况下,实施向图2中省略了记载的上级协议转送数据包等与接收数据包的内容相对应的处理。

  此外,设为由数据包解析部202对数据包11是否为以本装置为目标进行判别,但也可以由物理接口部201进行判别。在由物理接口部201进行判别的情况下,物理接口部201对图4所示的以太网帧的目标地址进行确认,在示出本装置以外的其他装置的情况下,向逻辑接口2进行转送。

  这里,本实施方式涉及的网络系统以应用于运动控制系统等将规定的数据包从主站10以恒定周期向各从站发送的系统作为前提。另外,在本实施方式涉及的网络系统中,各从站利用由主站10以恒定周期所发送的数据包而对本装置的时刻进行校正,由此实现时刻同步流程给网络带来的负荷的降低。

  对由各从站对本装置的时刻进行校正的动作进行说明。各从站中的时刻校正动作是相同的。这里,说明由从站20对时刻进行校正的情况。此外,从站20在通过某方法使本装置的时刻与主站10的时刻同步之后,利用由主站10以恒定周期发送的数据包对本装置的时刻进行校正。作为从站20使本装置的时刻与主站10的时刻同步的方法,能够利用非专利文献1所记载的方法,但并不限定于该方法。

  从站20在使本装置的时刻与主站10的时刻同步的处理结束之后,基于接收到从主站10以恒定周期发送的数据包的时刻,对本装置的时刻进行校正。具体而言,从站20如果接收到从主站10以恒定周期发送的数据包,则对接收到数据包的时刻、和根据以恒定周期发送的数据包的发送周期而推定出的时刻即数据包的预计抵达时刻进行比较,由此对本装置的时刻和主站10的时刻的偏差进行推定。然后,从站20对本装置的时刻进行校正,以使时刻的偏差接近于0。

  图6中示出的是网络系统整体的时刻同步处理以及时刻校正处理。

  首先,主站10、从站20、30以及40在系统起动时、系统的实际动作的停止时等主站10开始进行以恒定周期发送的数据包的发送之前,使用以往就有的时刻同步处理100进行时刻同步。作为时刻同步处理100,使用在非专利文献1中规定的方法等。时刻同步处理100设为由校正时间计算部204执行,但并不限定于此。也可以具有用于进行时刻同步处理100的处理部。下面,将以恒定周期发送的数据包称作“周期数据包”。此外,在网络系统的负荷低的状态下,也可以取代后述的时刻校正处理,而是由主站10、从站20、30以及40定期或不定期地执行时刻同步处理100,维持时刻同步的状态。在主站10为运动控制系统的运动控制器的情况下,周期数据包相当于用于指定系统整体的同步定时而在系统内的装置之间实现同步控制的数据包。

  在时刻同步处理100结束之后,主站10将周期通信开始数据包110向从站20、30以及40发送。周期通信开始数据包110是用于在网络系统内对主站10开始进行周期数据包的发送这一情况进行通知的数据包。周期通信开始数据包110设为包含主站10开始进行周期数据包的发送的时刻即周期数据包的发送开始时刻的信息。在本实施方式中,主站10开始进行周期数据包的发送的时刻与主站10开始进行周期通信的时刻一致。周期数据包的发送周期既可以在构建网络系统时设定于主站10、从站20、30以及40,也可以由主站10通过周期通信开始数据包110而通知给从站20、30以及40。

  主站10在发送了周期通信开始数据包110之后,如果到达由周期通信开始数据包110通知给各从站的周期数据包的发送开始时刻,则对周期数据包60进行发送。

  从站20如果接收到周期数据包60,则将周期数据包60向从站30转送,并且基于周期数据包60的接收时刻、周期数据包的发送开始时刻以及周期数据包的发送周期,对本装置的时刻进行校正。后面叙述对时刻进行校正的动作的详情。

  从站30与从站20同样地,如果接收到周期数据包60,则将周期数据包60向从站40转送,并且基于周期数据包60的接收时刻、周期数据包的发送开始时刻以及周期数据包的发送周期,对本装置的时刻进行校正。

  从站40如果接收到周期数据包60,则基于周期数据包60的接收时刻、周期数据包的发送开始时刻以及周期数据包的发送周期,对本装置的时刻进行校正。

  如果在发送了周期数据包60之后经过了规定时间即周期数据包的发送周期,则主站10发送周期数据包70。从站20、30以及40如果接收到周期数据包70,则进行与接收到周期数据包60的情况相同的处理,对本装置的时刻进行校正。此外,在图6中,为了简化说明而示出了从站20、30以及40在每次接收到周期数据包时进行时刻校正的情况的例子,但也可以在将周期数据包接收规定次数的情况下进行时刻校正。通常,周期数据包的发送周期短,在1个发送周期的期间出现的时刻的偏差量对于进行运动控制等来说不会成为问题。因此,为了不使处理负荷过度增大,各从站优选在接收了规定次数的周期数据包的情况下实施时刻校正。

  主站10在发送了周期数据包70之后,每经过规定时间对周期数据包进行发送。另外,主站10在周期数据包的发送定时以外对通常数据包进行发送。在图6中,示出了主站10在周期数据包60和周期数据包70之间对通常数据包55进行发送的情况。通常数据包是不属于周期数据包的数据包,不定期地被发送。用于由主站10将轴控制所需的控制数据向从站20、30、40发送的数据包等属于通常数据包。在图6中示出了在周期数据包的发送定时之间仅发送1个通常数据包的例子,但也存在发送多个通常数据包的情况。另外,还存在从从站20、30、40向主站10发送通常数据包的情况。

  示出主站10、从站20、30以及40对时刻进行校正的动作的具体例。从站20、30以及40如果进行时刻同步处理100,对本装置的时刻进行调整,则将与调整后的时刻相对应的计数值设定为周期通信的起始位置。计数值是计数器205的值,将主站10的计数值即主站10的计数器205的计数值设为M10_C,将从站20的计数值设为S20_C,将从站30的计数值设为S30_C,将从站40的计数值设为S40_C。另外,计数器205的值设为每1μ秒增加1。

  通过时刻同步处理100使主站10、从站20、30以及40的时刻一致于10时0分0秒000m秒000μ秒,此时的主站10、各从站的计数值为计数值M10_C=500、计数值S20_C=70000、计数值S30_C=3000、计数值S40_C=200。

  考虑下述情况,即,主站10通过周期通信开始数据包110而将周期通信、即从10时0分0秒010m秒000μ秒开始进行周期数据包的发送这一主旨通知给从站20、30以及40。在该情况下,与发送最初的周期数据包60的时刻相对应的主站10、从站20、30以及40的计数值分别成为M10_C=10500、S20_C=80000、S30_C=13000、S40_C=10200。另外,如果周期数据包的发送周期为1m秒,则与周期数据包的发送周期一致的通信周期成为1000。此外,如上所述,通信周期表示进行周期通信的期间的长度。在该情况下,与发送周期数据包70的时刻相对应的主站10、从站20、30以及40的计数值分别成为M10_C=11500、S20_C=81000、S30_C=14000、S40_C=11200。在各从站接收到周期数据包70时的计数值与上述一致的情况下,可以说是时刻已同步。

  下面,使用图2以及图7,说明从站20、30以及40对时刻进行校正的动作。图7是表示从站20中的时刻校正动作的流程图。此外,从站30以及40中的时刻校正动作与从站20中的时刻校正动作相同。这里以下述情况进行说明,即,从站20接收图4所示的结构的以太网帧而作为数据包11,在以太网帧的“数据部”储存有图5所示的结构的IP数据包。

  从站20首先对周期通信的开始计数值CS、通信周期P以及周期次数M进行设定(步骤S10)。各设定值由参数存储部207保存。

  在该步骤S10中设定的开始计数值CS是与周期通信的起始位置相对应的计数器205的计数值。即,这里的开始计数值CS是表示在从站20接收到周期通信开始数据包110之后最初的周期数据包的接收时刻的计数值。在从站20的时刻与主站10的时刻同步、且在主站10的周期数据包的发送处理等中未发生处理延迟的情况下,周期数据包在计数器205的计数值成为开始计数值CS的定时抵达从站20。此外,详情将在后面叙述,开始计数值CS由校正时间计算部204进行适当校正。校正后的开始计数值CS表示下一个接收的周期数据包的预计接收时刻。

  周期次数M是每经过通信周期P就递增1的信息。周期次数M在步骤S10中设定为M=0。从站20如果在执行图6所示的时刻同步处理100而使本装置的时刻与主站10的时刻同步之后接收到周期通信开始数据包110,则执行图7的步骤S10。在时刻同步处理100中,为了对从主站10发送的数据包抵达从站20为止所需的时间即传送延迟时间进行测定,从站20基于该传送延迟时间、和由周期通信开始数据包110通知的周期数据包的发送开始时刻,计算出上述开始计数值CS。

  从站20在执行步骤S10之后,将校正信息记录次数n初始化为n=0(步骤S11)。在从站20中,校正时间计算部204执行步骤S10以及S11。

  在执行步骤S11之后,从站20继续监视是否经过了通信周期P以及是否接收到数据包(从步骤S12至S14)。具体而言,从站20首先对是否经过了通信周期P进行确认(步骤S12),在经过了通信周期P的情况下(步骤S12:Yes),使由参数存储部207保存的周期次数M递增1(步骤S13)。在未经过通信周期P的情况下(步骤S12:No)、以及执行了步骤S13的情况下,从站20对是否接收到数据包进行确认(步骤S14)。从站20在接收到数据包的情况下(步骤S14:Yes),执行步骤S15以及其后的处理,在未接收到数据包的情况下(步骤S14:No),返回至步骤S12。在上述的步骤S12至S14中,由校正时间计算部204执行步骤S12以及S13,由物理接口部201执行步骤S14。

  数据包解析部202利用计数器来判断是否经过了通信周期P。数据包解析部202既可以使用通信周期计数用的专用的计数器来进行通信周期P的计数,也可以利用图2所示的计数器205来进行计数。

  物理接口部201被从逻辑接口1输入数据包11,在数据包11为应当由本装置处理的数据包、且数据包不存在错误的情况下,判断为接收到数据包(步骤S14:Yes)。如果目标地址为广播地址或者表示本装置的地址、且通过基于FCS的错误判定而未检测出错误,则物理接口部201判定为接收到数据包。

  在接收到数据包的情况下(步骤S14:Yes),物理接口部201向计数器205发出指示以将计数值向计数值保存部206输出,并且将接收到的数据包向数据包解析部202输出。从物理接口部201收到上述指示的计数器205将计数值向计数值保存部206输出。计数值保存部206将从计数器205输出的计数值作为表示数据包的接收定时即接收时刻的计数值CN而记录(步骤S15)。此外,计数值保存部206在将从计数器205输出的计数值作为计数值CN而记录时,将此前保存的计数值CN删除。即,计数值保存部206在每次从计数器205输出计数值时,将所保存的计数值CN进行更新。另外,物理接口部201向数据包解析部202输出的数据包是图5所示的结构的IP数据包、即从图4所示的帧的“数据部”取出的IP数据包。

  数据包解析部202如果从物理接口部201接收到IP数据包,则对是否为周期数据包进行确认(步骤S16)。作为由数据包解析部202对IP数据包是否为周期数据包进行判定的方法,想到通过是否包含有表示是周期数据包的信息而进行判断的方法,但也可以通过其他方法进行判定。通过任何方法来判定是否为周期数据包均可。

  在接收到的数据包不是周期数据包的情况下(步骤S16:No),数据包解析部202不进行任何用于时刻校正的处理。在该情况下,返回至步骤S12,确认是否经过了通信周期P,并且物理接口部201等待下一个数据包的接收。此时,从站20进行与接收到的数据包的内容相应的处理,但在图7中省略了记载。在接收到的数据包为周期数据包的情况下(步骤S16:Yes),数据包解析部202将数据包接收时的计数值CN从计数值保存部206读出,对读出的计数值和表示本应接收周期数据包的时刻的计数值之间的差值β进行计算,并且对差值β的绝对值是否小于或等于规定的校正阈值α进行确认。即,数据包解析部202对是否满足“﹣α≤β≤α”进行确认(步骤S17)。这里,如果将表示本应接收周期数据包的时刻的计数值作为基准计数值,则基准计数值由“基准计数值=CS+P×M”表示。校正阈值α用于在下述情况下防止错误地对时间进行校正,即,并未是与从站20的时刻相对于主站10的时刻出现偏差相伴地产生周期数据包的接收时刻的误差,而是由于其他原因在周期数据包的接收时刻产生了误差。通常,从站20的时刻相对于主站10的时刻逐渐出现偏差,因此,在接收到周期数据包的时刻和本应接收周期数据包的时刻之间的差值β急剧变大的情况下、即在差值β大于校正阈值α的情况下,能够推定为由于主站10的处理负荷增大等理由而产生处理延迟,周期数据包的接收时刻产生了误差。因而,数据包解析部202在差值β大于校正阈值α的情况下,将差值β废弃。校正阈值α预先设定于参数存储部207。

  数据包解析部202在不是“﹣α≤β≤α”的情况下(步骤S17:No),不进行任何动作。在该情况下,返回至步骤S12,物理接口部201等待下一个数据包的接收。数据包解析部202在“﹣α≤β≤α”的情况下(步骤S17:Yes),使校正信息记录次数n递增1,将差值β记录于校正信息累积部203(步骤S18)。

  校正时间计算部204对校正信息记录次数n是否达到了规定次数N进行监视(步骤S19),在n<N的情况下(步骤S19:No),不进行任何动作。在该情况下,返回至步骤S12,物理接口部201等待下一个数据包的接收。此外,N为大于或等于1的整数。另一方面,在n=N的情况下(步骤S19:Yes),校正时间计算部204基于在校正信息累积部203记录的差值β,对校正值γ进行计算(步骤S20)。在该步骤S20中,校正时间计算部204计算出在从前一次对校正值γ进行计算起至当前为止的期间记录于校正信息累积部203的差值β的平均值,设为校正值γ。即,校正时间计算部204对γ=Σβ/N进行计算。Σβ是在从前一次对校正值γ进行计算起至当前为止的期间记录于校正信息累积部203的差值β的和。此外,校正时间计算部204在步骤S20中对校正值γ进行计算时,还一并进行将记录于校正信息累积部203的N个差值β删除的处理。

  然后,校正时间计算部204使用在步骤S20中计算出的校正值γ对存储于参数存储部207的开始计数值CS进行校正,并且对时刻进行校正(步骤S21)。在该步骤S21中,校正时间计算部204通过将γ以及P×M与开始计数值CS相加,从而对开始计数值CS进行校正。校正后的开始计数值CS是表示正常接收到下一个周期数据包的情况下的周期数据包的抵达定时的、计数器205的计数值。“正常地接收到周期数据包”是指,从站20的时刻与主站10的时刻同步,并且在主站10的周期数据包的发送处理等中未发生处理延迟就接收到周期数据包。时刻的校正是使用校正值γ而进行的。时刻的校正方法依赖于从站20中的时刻的管理方法。例如,从站20在保存有计数器205的计数值和实际时刻的对应表的情况下,通过更新对应表而对时刻进行校正。例如,从站20在保存有表示“在计数器205的计数值=500的情况下,时刻=10时0分0秒000m秒000μ秒”的对应表的状态下,在校正时间计算部204计算出校正值γ=15的情况下,将对应表更新为表示“在计数器205的计数值=515的情况下,时刻=10时0分0秒000m秒000μ秒”的内容。校正时间计算部204计算出校正值γ=15的情况下的对应表的更新方法是一个例子,并不限定于此。也可以不更新对应表内的计数值,而是更新与计数值相对应的时刻。

  此外,在图7所示的例子中是在校正信息的记录次数达到了规定值N的情况下、即在校正信息累积部203记录了N个差值β的情况下,校正时间计算部204对校正值γ进行计算,但也可以在从前一次进行时刻校正起经过了规定时间的情况下计算出校正值γ而进行时刻校正。

  下面,使用图8对实施方式1的网络系统整体的时刻校正处理的具体例进行说明。在图8中,示出了实施图6所示的时刻同步处理100以及周期通信开始数据包110的发送之后的动作例。

  在网络系统中,主站10执行图6所示的时刻同步处理100,然后通过周期通信开始数据包110将周期数据包的发送开始时刻通知给从站20、30以及40。然后,如果到达通过周期通信开始数据包110而通知给各从站的发送开始时刻,则主站10首先发送周期数据包60。然后,在每次经过通信周期50时,依次发送周期数据包70、80以及90。在图8的例子中,主站10在时刻T1发送了周期数据包60,然后在时刻T6、T11以及T16发送周期数据包70、80以及90。

  在时刻T1从主站10发送的周期数据包60以在各从站中未发生时刻偏差且也未发生延迟波动的状态,抵达从站20、30以及40。即,对于周期数据包60,在各从站保存有的开始计数值CS所表示的本应抵达的时刻,周期数据包抵达各从站。在图8的例子中,在时刻T1从主站10发送周期数据包60后,该周期数据包60在时刻T2抵达从站20。从主站10发送周期数据包60起至抵达从站20为止的传送延迟时间为延迟61。随后,周期数据包60由从站20转送,在时刻T3抵达从站30。从主站10发送周期数据包60起至抵达从站30为止的传送延迟时间为延迟62。然后,周期数据包60由从站30转送,在时刻T4抵达从站40。从主站10发送周期数据包60起至抵达从站40为止的传送延迟时间为延迟63。

  周期数据包60在本应抵达的时刻抵达从站20、30以及40,因此从站20、30以及40如果接收到周期数据包60,则将0分别记录于校正信息累积部203而作为上述的差值β。

  在时刻T6从主站10发送的周期数据包70本来应当在时刻T7抵达从站20。但是,由于从站20的时刻和主站10的时刻之间的偏差、或者处理延迟的影响,传送延迟时间产生了波动71,周期数据包70在与本应抵达的时刻不同的抵达时刻抵达从站20。另外,周期数据包70在由从站20转送之后,本来应当在时刻T8抵达从站30,但传送延迟时间产生了波动72,而在与本应抵达的时刻不同的抵达时刻抵达从站30。另外,周期数据包70在由从站30转送之后,在本应抵达的时刻即时刻T9抵达从站40。因而,波动73为0。这里,向从站20传送的周期数据包70的抵达时刻设为由于从站20的时刻稍微提前、或者周期数据包70的抵达稍微推后而产生波动71,传送延迟时间稍微增加的时刻。另外,向从站30传送的周期数据包70的抵达时刻设为由于从站30的时刻稍微推后、或者周期数据包70的抵达稍微提前而产生了延迟稍微减少的状态的波动72的时刻。此外,关于传送延迟时间增加的原因,想到从站的时刻比主站10的时刻推后这一情况、处理延迟的产生。另一方面,关于传送延迟时间减少的原因,想到从站的时刻比主站10的时刻提前这一情况。

  从站20、30以及40如果接收到周期数据包70,则将波动71、72以及73分别记录于校正信息累积部203而作为上述的差值β。

  在时刻T11从主站10发送的周期数据包80本来应当在时刻T12抵达从站20。但是,由于从站20的时刻和主站10的时刻之间的偏差、或者处理延迟的影响,传送延迟时间产生波动81,周期数据包80在与本应抵达的时刻不同的抵达时刻抵达从站20。另外,周期数据包80在由从站20转送之后,本来应当在时刻T13抵达从站30,但传送延迟时间产生波动82,在与本应抵达的时刻不同的抵达时刻抵达从站30。另外,周期数据包80在由从站30转送之后,在本应抵达的时刻即时刻T14抵达从站40。因而,波动83成为0。

  从站20、30以及40如果接收到周期数据包80,则将波动81、82以及83分别记录于校正信息累积部203而作为上述的差值β。

  在时刻T16从主站10发送的周期数据包90本来应当在时刻T17抵达从站20。但是,由于从站20的时刻和主站10的时刻之间的偏差、或者处理延迟的影响,传送延迟时间产生波动91,周期数据包90在与本应抵达的时刻不同的抵达时刻抵达从站20。另外,周期数据包90在由从站20转送之后,本来应当在时刻T18抵达从站30,但传送延迟时间产生波动92,在与本应抵达的时刻不同的抵达时刻抵达从站30。另外,周期数据包90在由从站30转送之后,在本应抵达的时刻即时刻T19抵达从站40。因而,波动93成为0。

  这里,向从站20传送的周期数据包90的传送延迟时间设为虽然包含波动91,但大于校正阈值51。在这样的情况下,从站30以及40如果接收到周期数据包90,则将波动92以及93分别记录于校正信息累积部203而作为上述的差值β。另一方面,从站20不将波动91记录于校正信息累积部203。即,从站20在接收到周期数据包90的情况下不将差值β记录于校正信息累积部203。在该情况下,在周期数据包90的接收完毕的时间点,从站20的校正信息累积部203对0、波动71以及波动81进行记录而作为上述的差值β,并且对波动的记录次数即差值β的记录次数(这里为3次)进行记录。关于波动91,由于没有超过与上述的校正阈值α相当的校正阈值51,因此从站20的校正信息累积部203不进行记录。

  在此之后,同样地,主站10发送周期数据包,从站20、30以及40在每次接收到周期数据包时,计算出差值β,如果差值β小于或等于校正阈值α,则将差值β记录于校正信息累积部203,使差值β的记录次数n递增。

  如果记录次数n达到N,则从站20、30以及40进行以下的计算。以下的计算由从站20、30以及40的校正时间计算部204进行。如果将周期通信的开始计数值设为CS,将发送周期数据包的周期即通信周期设为P,将表示通信周期的经过次数的周期次数设为M,将校正阈值设为α,将与本来的传送延迟时间之间的差值设为β,将差值的记录次数设为N,将校正值设为γ,将校正后的计数值设为C,则如果以平均值求出校正值,则校正时间计算部204按照以下的式(1)以及(2),计算出周期次数M的计数值C,其中,上述周期通信的开始计数值表示周期数据包60本应从主站10抵达的时刻。计数值C表示在时刻校正后最先接收的周期数据包的预计抵达时刻。校正值γ是差值β的平均值。

  C=CS+P×M+γ…(1)

  γ=Σβ/N、其中,﹣α≤β≤α…(2)

  在计数器205为每1μ秒增加1的计数器的情况下,与主站10的时刻之间的差即时刻的校正值成为γ(μ秒)。

  此外,由于有时波动为负的值,因此有时β以及γ也为负的值。另外,校正值γ的计算方法不仅可以为平均值,还可以为中心值或者最大似然值。在校正中使用的次数也可以为时间。即,也可以在每次经过规定时间时,基于由校正信息累积部203记录的差值β以及记录次数N而计算出校正值γ。在本发明中,关于用于对校正值γ进行计算的算法,并不进行规定。

  如上所示,在本实施方式的网络系统中,从站20、30以及40在使本装置的时刻与主站10的时刻同步之后,如果接收到从主站10以恒定周期发送的周期数据包,则对表示本装置的时刻和主站10的时刻之间的偏差的差值β进行计算,基于差值β而计算出时刻的校正值。由此,从站20、30以及40能够在使本装置的时刻与主站的时刻同步之后,在避免通信量增加的同时对时刻进行校正。即,能够削减使本装置的时刻与主站的时刻同步的处理所需的通信量。特别是,在主站进行用于对从站的动作进行控制的发送的状态下的时刻校正动作中,通信量不会增加,因此能够防止时刻校正动作给通过主站进行的从站的控制动作带来不良影响。

  实施方式2.

  对实施方式2的网络系统进行说明。此外,网络系统的结构以及构成网络系统的通信装置的结构与实施方式1相同。

  作为在运动控制系统中使用的通信方式,存在一边周期性地切换与主站通信的从站一边进行的方式。在图1所示的结构的网络系统中,例如,如图9所示,首先,主站10和从站20在某个通信周期中进行通信,在下一个通信周期中,主站10和从站30进行通信。然后,在下一个通信周期中,主站10和从站40进行通信,如果主站10和从站40的通信周期结束,则在下一个通信周期中,主站10和从站20进行通信。下面,同样地,各从站依次与主站10通信。在各通信周期中,主站10与决定出的1个从站进行通信。主站10在各通信周期的开始时,将周期数据包以在该通信周期中进行通信的从站为目标进行发送。

  在这样的主站10以恒定周期(通信周期)对作为通信对象的从站进行切换而与各从站依次进行通信,并且在各通信周期中最先对周期数据包进行发送的结构的情况下,从站20能够基于接收到的数据包的地址,对接收数据包是否为周期数据包进行判别。即,在连续接收的2个数据包的目标地址不同的情况下,在后接收的数据包为周期数据包,因此从站20在每次从主站10接收数据包时,对接收数据包的目标地址进行确认,在与前一次的接收数据包的目标地址不同的情况下,能够判别为接收数据包是周期数据包。从站30也同样地,能够基于接收到的数据包的目标地址,对接收到的数据包是否为周期数据包进行判别。

  在图9的例子中,由于将从站20、30或者40的地址设定为周期数据包的目标地址,因此从站40不能够仅基于接收到的数据包的目标地址而对接收数据包是否为周期数据包进行判别。但是,在周期数据包抵达从站40之前,会以大于或等于通信周期的2倍的时间,持续数据包并未抵达从站40的状态。因此,从站40例如能够将在未接收到数据包的状态持续大于或等于通信周期的2倍的时间之后最先接收到的数据包判别为周期数据包。

  另外,在主站10将广播地址设定为周期数据包的目标地址而进行发送的情况下,各从站能够通过对接收到的数据包的目标是否从单播地址变化为广播地址进行监视,从而对接收到的数据包是否为周期数据包进行判别。

  如上所示,在主站10以恒定周期(通信周期)对作为通信对象的从站进行切换而依次与各从站进行通信,并且,在各通信周期中最先对周期数据包进行发送的结构的情况下,各从站能够基于接收到的数据包的目标地址,对周期数据包的接收进行检测,以与实施方式1相同的流程对时刻进行校正。

  实施方式3.

  对实施方式3的网络系统进行说明。此外,网络系统的结构以及构成网络系统的通信装置的结构与实施方式1相同。

  在构成网络系统的通信装置之中的主站10为无线LAN的访问点、从站20、30以及40为无线LAN的终端的情况下,能够使用信标作为在实施方式1中说明的周期数据包。

  在IEEE802.11标准的无线LAN中,访问点周期性地发送信标。因此,在通过无线LAN系统的访问点以及终端来实现网络系统的情况下,作为终端的从站20、30以及40能够将从作为访问点的主站10周期性地发送的信标作为在实施方式1中说明的周期数据包而处理,基于信标的接收时刻而对本装置的时刻进行校正。

  另外,在将网络系统设为LAN系统的情况下,构成LAN的各通信装置还能够将为了进行其他通信装置的状态确认等而周期性地发送的心跳数据包作为在实施方式1中说明的周期数据包进行使用。此外,LAN系统既可以是无线LAN系统,也可以是有线LAN系统。是否为心跳数据包是由作为从站而动作的各通信装置的数据包解析部202对接收到的数据包的数据部进行解析而判别的。各从站所接收的数据包的结构与在实施方式1中说明的结构、即图5所示的结构相同。

  如上所示,在通过无线LAN的访问点以及终端来实现网络系统的情况下,通过使用信标或者心跳数据包作为周期数据包,从而能够以与实施方式1相同的流程由各从站对时刻进行校正。另外,在通过有线LAN系统来实现网络系统的情况下,能够将心跳数据包作为周期数据包而使用,以与实施方式1相同的流程由各从站对时刻进行校正。

  此外,在通过无线LAN的访问点以及终端来实现网络系统的情况下,各从站也可以将信标以及心跳数据包这双方作为周期数据包而处理,基于它们的接收时刻而对本装置的时刻进行校正。

  这里,在实施方式1、2中,作为在主站和各从站进行通信的通信周期的最开始对周期数据包进行发送的结构进行了说明。但是,上述的心跳数据包属于在通信周期的除了最开始以外的时期发送的周期数据包。另外,还想到对表示通信周期末尾的数据包进行发送的系统。对于这样的在通信周期的除了最开始以外的时期发送周期数据包的情况,也能够进行利用了周期数据包的时刻校正。在通信周期的除了最开始以外的时期发送周期数据包的情况下,各从站进行时刻校正的流程同样与实施方式1相同。

  对将上述的心跳数据包作为周期数据包而使用的情况的例子进行说明。在将周期数据包设为心跳数据包的情况下,主站1在对图6所示的周期通信开始数据包110进行发送时,取代周期通信的开始时刻即周期数据包的发送开始时刻的信息,而对发送了周期通信开始数据包110之后的最初的心跳数据包的发送时刻的信息进行发送。此外,周期数据包的发送周期为心跳数据包的发送周期。

  如果将心跳数据包的发送周期设为P’,将发送了周期通信开始数据包110之后的最初的心跳数据包的发送时刻设为CS,将发送时刻CS和周期通信的开始时刻之间的偏差设为k,则周期通信的开始计数值CS’由下式(3)表示。另外,在实施方式1中,由式(1)示出的计数值C以下式(4)表示。

  CS’=CS+k…(3)

  C=CS+k+P’×M+γ…(4)

  实施方式4.

  对实施方式4的网络系统进行说明。此外,网络系统的结构以及构成网络系统的通信装置的结构与实施方式1相同。

  对于在各实施方式中说明的时刻校正动作,不是使用在以往的时刻同步流程中使用的用于实现时刻同步的专用数据包而对时刻进行校正,而是使用其他周期数据包对时刻进行校正,因此对波动进行测定的周期数据包需要每次在相同的定时进行接收。即,如果周期数据包在中途丢失、作为重发数据包而被接收,并且没有表示是否进行了重发的信息,则无法准确地判断周期数据包的实际的接收定时和本来应当接收的定时的误差为何种程度。因此,在实施方式1中说明的校正阈值α优选为与本应接收周期数据包的时刻即周期数据包的预计抵达时刻相比不会相差大于或等于1个数据包的量。例如,在将图4的以太网帧作为100Mbps的线路使用而以最大负荷进行通信的情况下,最小帧长度为84字节,因此该帧的转送时间为6.72μ秒。在该情况下,优选将校正阈值α设为比6.72μ秒小的值。通过以上述方式对校正阈值进行设定,从而能够避免使用重发的周期数据包的接收时刻对时刻进行校正。转送时间是指对帧进行转送的处理所需的时间。相反,如果有效吞吐量小、所发送的数据包的间隔大,则增大校正阈值α的值即可,但如果该值过大,则难以与重发数据包进行区分,因此,时刻校正的精度变差。因此,将能够实现系统所要求的时刻同步精度的值设定为校正阈值α。

  这样,本实施方式的各从站在时刻校正动作中使用的校正阈值α设定为比1个数据包的转送处理所需的时间小的值。由此,能够将接收到重发的周期数据包等延迟波动大的数据包的情况下的差值β除外,而仅将接收到延迟波动小的周期数据包的情况下的差值β记录于校正信息累积部203。因而,校正时间计算部204仅使用接收到延迟波动小的周期数据包的情况下的差值β而对校正值γ进行计算,能够防止时刻校正的精度劣化。

  实施方式5.

  对实施方式5的网络系统进行说明。此外,网络系统的结构以及构成网络系统的通信装置的结构与实施方式1相同。

  在实施方式1的从站中,是在记录了N次差值β的情况下进行在周期次数M的计数值C的校正中所使用的校正值γ的计算。但是,有可能在将差值β记录N次之前时刻的同步偏差变大,成为差值β持续超过校正阈值α的状态。在该情况下,差值β的记录次数没有成为N,不执行校正。因此,优选各从站在差值β的最近的平均值即校正值γ将要超过校正阈值α的情况下、或者差值β的增减的倾向将要超过校正阈值α的情况下,对计数值C进行校正。

  例如,对上述N进行细分,设为N(0)、N(1)、…、N(t)、…,将各自的校正值设为γ(0)、γ(1)、…、γ(t)、…。如果根据当前时间t的校正值γ(t)来预测下一个时间t+1的校正值γ(t+1),则成为下式(5)。

  γ(t+1)=γ(t)+(γ(t)-γ(t-1))…(5)

  因此,在各从站中,对所预测的校正值γ(t+1)是否满足下式(6)进行监视,在满足的情况下,执行校正处理、即图7所示的步骤S20以及S21的处理。在步骤S20中,校正时间计算部204使用由校正信息累积部203至此为止所保存的差值β而对校正值γ进行计算。

  γ(t+1)|>α…(6)

  另外,在各从站中,也可以在下述情况下进行校正处理,即,检测出差值β以规定次数变得比校正阈值α大的状态。

  这样,本实施方式的从站在判断出时刻的同步偏差、即差值β变大的情况下,执行校正处理。由此,能够避免不执行校正处理这一情况。

  此外,在各实施方式中,运动控制系统的主站成为时刻的发生源,使各从站的时刻与主站的时刻匹配,但也可以是将从站中的1个从站作为时刻的发生源,使其他从站、主站的时刻与该1个从站的时刻同步。在实施方式3中,作为周期数据包的例子而说明的心跳数据包会从构成无线LAN的各通信装置、即相当于主站的访问点以及相当于从站的终端的每一者进行发送。因此,在从站也能够对周期数据包进行发送的结构的系统中,能够将从站作为时刻的发生源。在将从站作为时刻的发生源的情况下,主站以与时刻的发生源以外的从站相同的流程对本装置的时刻进行校正。

  上面的实施方式所示的结构表示的是本发明的内容的一个例子,还能够与其他公知技术进行组合,能够在不脱离本发明的主旨的范围内,对结构的一部分进行省略、变形。

  标号的说明

  1、2、3逻辑接口,10通信装置(主站),20、30、40通信装置(从站),11、12数据包,201物理接口部,202数据包解析部,203校正信息累积部,204校正时间计算部,205计数器,206计数值保存部,207参数存储部,300总线,301处理器,302存储器,303输入输出接口。

《通信装置、时刻校正方法以及网络系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)