通信装置、通信系统以及同步控制方法

文档序号:7995070阅读:121来源:国知局
通信装置、通信系统以及同步控制方法
【专利摘要】具备:发送端口(313)、接收端口(314),它们与其它网络单元之间进行通信;系统总线I/F部(311),其与同步对象之间进行通信;n个延迟计数器(316-1、316-2),它们对规定的时间进行计数,其中,n为大于或等于2的整数;延迟计数器控制部(317),其以下述方式对延迟计数器(316-1、316-2)进行控制,即,如果从接收端口(314)接收到以规定周期输入的同步数据包,则使延迟计数器(316-1、316-2)对规定周期的n倍的周期进行计数,并且,使每一个延迟计数器(316-1、316-2)中的计数清零的定时不同;以及同步脉冲输出部,其在存在清零后进行计数而得的计数值与同步脉冲输出值相等的延迟计数器(316-1、316-2)的情况下,经由系统总线I/F部(311)向同步对象输出同步脉冲。
【专利说明】通信装置、通信系统以及同步控制方法

【技术领域】
[0001]本发明涉及通信装置、通信系统以及同步控制方法。

【背景技术】
[0002]在工作机械、半导体制造装置、工业用机器人等使用多个轴且需要进行高精度的运动(mot1n)动作的运动控制系统中,需要使运动控制器和多个被控制的轴彼此同步地进行动作。
[0003]在现有的运动控制系统中提出有如下技术,S卩,将相同的插补指令输入至多个运动控制器,以彼此略微错开的方式生成多个伺服驱动器的伺服位置指令或者伺服扭矩指令后,发送至多个伺服驱动器,从而即使是单个运动控制器无法以期望的控制周期进行处理这样的多轴插补指令,也能够以期望的控制周期向伺服驱动器输出指令(例如,参照专利文献I)。
[0004]在专利文献I所记载的技术中,在利用不具备同步通信功能的高速串行总线或者串行通信将运动控制器和多个伺服驱动器连接的运动控制系统中,运动控制器每隔所设定的时间利用起动中断将运动指令向伺服驱动器输出,利用从运动指令的输出算起延迟了所设定的时间后的起动中断,向伺服驱动器输出计时器清零请求。另外,伺服驱动器使来自运动控制器的计时器清零请求延迟所设定的时间,对伺服驱动器内的计时器进行清零。由此,同时执行各伺服驱动器的伺服控制处理。
[0005]专利文献1:日本特开2010-244505号公报


【发明内容】

[0006]然而,在专利文献I所记载的技术中,在运动控制器发送位置指令等运动指令以后,与运动控制器的物理距离较近的伺服驱动器和较远的伺服驱动器接收运动指令的定时(timing)不同,但为了使多个伺服驱动器同步地进行动作,较早接收到指令的伺服驱动器会处于等待状态,直至最晚接收指令的伺服驱动器接收到指令为止。因此,随着运动控制器和同步对象之间的通信距离延长,或者同步对象的伺服驱动器增加,延迟时间变长。如果延迟时间增加,则存在如下问题,即,从运动控制器向伺服驱动器发送位置指令等运动指令起,直至输出实际的起动中断为止的时间延长,无法实现期望的起动周期。
[0007]本发明就是鉴于上述情形提出的,其目的在于,得到一种通信装置、通信系统以及同步控制方法,其在运动控制系统中,即便在与运动控制器连接的伺服驱动器的数量增多的情况下,也能够抑制从运动控制器向伺服驱动器发送运动指令起直至输出实际的起动中断为止的时间延长。
[0008]为了实现上述目的,本发明所涉及的通信装置的特征在于,具备:第I通信单元,其与其它通信装置之间进行通信;第2通信单元,其与同步对象之间进行通信;1!个(η为大于或等于2的整数)计数器,它们对规定的时间进行计数;计数器控制单元,其以下述方式对所述计数器进行控制,即,如果从所述第I通信单元接收到以规定周期输入的同步数据包,则使所述计数器对所述规定周期的η倍的周期进行计数,并且,使每一个所述计数器中的计数清零的定时不同;以及同步脉冲输出单元,其在存在清零后进行计数而得的计数值与同步脉冲输出值相等的所述计数器的情况下,经由所述第2通信单元向所述同步对象输出同步脉冲。
[0009]发明的效果
[0010]根据本发明,形成为具备:η个计数器;以及计数器控制单元,其以下述方式进行计数器的控制,即,如果接收到以规定周期输入的同步数据包,则使计数器对规定周期的η倍的周期进行计数,并且,使每一个计数器的计数清零的定时不同,因此,具有如下效果,即,在利用I个计数器等待同步数据包到达末端的控制对象的期间,也能够接收下一个同步数据包。另外,每当多个延迟计数器中的某一个的值成为同步脉冲输出值的值时输出同步脉冲,因此,与延迟计数器为I个的情况相比,还具有能够以较快的周期输出同步脉冲的效果。

【专利附图】

【附图说明】
[0011]图1是示意性地表示将实施方式应用于其中的运动控制系统的结构的一个例子的图。
[0012]图2是示意性地表示同步主机的功能结构的一部分的框图。
[0013]图3是示意性地表示网络单元的功能结构的一个例子的图。
[0014]图4是表示网络单元31Α的延迟计数器的动作的一个例子的图。
[0015]图5是表不同步对象21Α的动作的一个例子的图。
[0016]图6是表示网络单元31Β的延迟计数器的动作的一个例子的图。
[0017]图7是表示同步对象21Β的动作的一个例子的图。
[0018]图8是表示网络单元31C的延迟计数器的动作的一个例子的图。
[0019]图9是表示同步对象21C的动作的一个例子的图。
[0020]图10是表示网络单元31D的延迟计数器的动作的一个例子的图。
[0021]图11是表示同步对象21D的动作的一个例子的图。
[0022]图12是表示实施方式涉及的运动控制系统中的各同步对象的动作的一个例子的图。
[0023]图13是表示在通常的方法下,运动控制系统中的各同步对象的动作的一个例子的图。

【具体实施方式】
[0024]以下,参照附图对本发明所涉及的通信装置、通信系统以及同步控制方法的优选实施方式进行详细说明。此外,本发明不限定于该实施方式。
[0025]图1是示意性地表示将实施方式应用于其中的运动控制系统的结构的一个例子的图。运动控制系统具有如下结构,即,运动控制器等同步主机11和伺服驱动器等同步对象21Α?21D经由网络40连接。
[0026]同步主机11和网络单元31Μ经由系统总线12连接。另外,同步对象21Α和网络单元31Α经由系统总线22Α连接,其它同步对象21Β?21D和网络单元31Β?31D也同样分别经由系统总线22B?22D连接。并且,网络单元3IM和网络单元3IA?3ID经由例如Ethernet (注册商标)等网络40而连接为线状。此外,在该例子中,由与同步主机11连接的网络单元31M、和与4个同步对象2IA?2ID连接的网络单元3IA?3ID构成运动控制系统,但是,其数量不特定于此。另外,网络单元31M、31A?31D之间的连接方式不限定于线状,能够形成为星形、环形、这些形状混杂的形状等。
[0027]图2是示意性地表示同步主机的功能结构的一部分的框图。同步主机11具有间隔计时器111、系统总线接口(以下,称为I/F)部112以及通信延迟测定部113。此外,对于运动控制器等所具备的作为同步主机11的其它基本功能,这里省略。
[0028]间隔计时器111每隔规定时间产生起动中断,使未图示的处理部中的运动处理起动。
[0029]系统总线I/F部112具有针对系统总线12进行命令的接收/发送、控制信号的输入/输出的功能。在本实施方式中,作为系统总线12,采用串行总线、并行总线等方式均可。另外,从系统总线I/F部112输出的同步脉冲,向通过系统总线12而连接的所有网络单元31A通知同步定时。另外,如果向系统总线12输出的形式是同步数据包,则还能够对特定的单元通知同步定时。
[0030]通信延迟测定部113对从同步主机11输出同步脉冲起至连接有同步对象21A?21D的网络单元31A?31D为止的延迟时间进行测定。对于测定延迟时间的方法,并没有特殊限定,例如能够利用IEEE1588等标准对延迟时间进行测定。测定出的延迟时间存储于各网络单元3IA?3ID的同步脉冲输出值存储部。
[0031]网络单元31M、31A?31D具有如下功能,即,通过网络40以固定周期在网络单元彼此间进行通信。网络单元31M、31A?31D具有与通信有关的各种各样的功能,但这里,以与实施方式相关的同步功能为中心,对网络单元31M、31A?31D的功能进行说明。图3是示意性地表示网络单元的功能结构的一个例子的图。图1中与同步主机11连接的网络单元31M、以及与同步对象2IA?2ID连接的网络单元3IA?3ID分别具有相同的结构,这里,记作网络单元31,并对其结构进行说明。
[0032]网络单元31具备系统总线I/F部311,同步数据包发送部312,发送端口 313,接收端口 314,同步数据包接收部315,延迟计数器316-1、316-2,延迟计数器控制部317,过滤部318-1、318-2,同步脉冲输出值存储部319以及同步脉冲输出部320。在本实施方式的例子中,延迟计数器316-1、316-2以及过滤部318-1、318-2具有分别设置有2个的结构,但是其数量并不限定于此。另外,微型计算机、存储器、时钟等构成网络单元的通常的功能并未在附图中明确示出,但却是存在的。
[0033]系统总线I/F部311与同步主机11的系统总线I/F部112同样地,具有对系统总线12、22A?22D进行命令的接收/发送、控制信号的输入/输出的功能。
[0034]同步数据包发送部312以由系统总线I/F部311接收的同步脉冲作为触发而生成向其他网络单元的同步数据包,并将生成的同步数据包对发送端口 313输出。此外,在本实施方式中,对于同步数据包的形式并没有特殊限定。例如,可以在Ethernet (注册商标)的头部或数据区域中存储表示是否为同步数据包的Ibit的标识信息,并将其视为同步数据包。另外,同步数据包发送部312也可以包含对要清零的延迟计数器316-1、316-2进行指定的清零计数器指定信息。
[0035]发送端口 313以及接收端口 314是与网络40之间对数据包进行发送/接收的I/Fo网络40的拓扑并没有限定,但在该例子中,具有线型拓扑,因此,具有发送端口 313和接收端口 314这2个通信端口。另外,如果是在具有星型拓扑的情况下,则通信端口也可以为I个。并且,发送端口 313和接收端口 314可以由具有双方的功能的一个端口构成。
[0036]同步数据包接收部315具有如下功能,S卩,从接收端口 314或发送端口 313接收并解析以自身为目标的同步数据包。在接收到同步数据包的情况下,向延迟计数器控制部317通知同步数据包的到达。例如,在上述例子中,通过对在Ethernet (注册商标)的头部或数据区域中设置的表示是否是同步数据包的标识信息进行确认,判断是否为同步数据包。另夕卜,在同步数据包中包含清零计数器指定信息的情况下,与同步数据包的到达通知一起还向延迟计数器控制部317通知要清零的延迟计数器316-1、316-2。
[0037]延迟计数器316-1、316_2具有与时钟同步地累加的功能。在本实施方式中,网络单元31具有2个延迟计数器316-1、316-2,但只要具有多个即可。
[0038]延迟计数器控制部317对延迟计数器316-1、316-2的开始、停止、重置的动作进行控制。具体而言,延迟计数器控制部317从同步数据包接收部315接收同步数据包的到达和同步对象的延迟计数器316-1、316-2的信息,将作为对象的延迟计数器316-1、316-2清零。
[0039]在本实施方式中,延迟计数器控制部317使延迟计数器316-1、316-2各自针对规定周期进行计数,该规定周期比对各同步对象21A?21D输出同步脉冲的周期长。作为进行计数的周期,例如能够设为比网络单元31D相对于网络单元31A的延迟时间长的时间,该网络单元31A是从同步主机11算起经由网络40的物理距离最近的网络单元,网络单元31D最远。另外,将各延迟计数器316-1、316-2的开始计数的时期控制为各不相同。具体而言,使各延迟计数器316-1、316-2错开由延迟计数器316-1、316-2进行计数的周期除以延迟计数器316-1、316-2的数量所得的值而开始进行计数。由此,延迟计数器控制部317能够利用延迟计数器316-1、316-2测量比延迟计数器316-1、316-2的计数周期短(延迟计数器316-1、316-2的几分之I)的周期。
[0040]过滤部318-1、318_2具有对能够接收同步数据包的时间范围进行控制的功能。具体而言,是如下功能,即,由于期待同步数据包以固定周期到达,因此,为了不使同步定时被因某种原因而未以固定周期到达的同步数据包扰乱,将未以固定周期到达的同步数据包排除。此外,在现有技术中,根据同步数据包的到达而清零的延迟计数器是一一对应的。然而,在本实施方式中,延迟计数器316-1、316-2为多个,因此,需要由同步数据包选择进行清零的延迟计数器316-1、316-2。作为该选择的方法,例如通过使过滤部318-1、318-2各自与进行清零的延迟计数器316-1、316-2——对应而实现。
[0041]同步脉冲输出值存储部319对能够在延迟计数器316-1、316-2的取值范围内设定的同步脉冲输出值进行存储。具体而言,在同步脉冲输出值存储部319中设定的是,同步主机11输出同步脉冲后,直至到达连接有同步对象2IA?2ID的网络单元3IA?3ID为止的延迟时间。该同步脉冲输出值存储由同步主机11的通信延迟测定部113测定出的值。
[0042]同步脉冲输出部320对存储于同步脉冲输出值存储部319的同步脉冲输出值和所有延迟计数器316-1、316-2的值进行比较,一旦存在与同步脉冲输出值一致的延迟计数器316-1、316-2,就通过系统总线I/F部311将同步脉冲输出至系统总线22A?22D。此外,同步脉冲有时还通过系统总线向其它网络单元通知同步定时,因此,也可以是同步数据包等的形式。
[0043]在这种构造的网络单元31中,能够对利用延迟计数器316-1、316_2计数的周期的1/2周期进行测量。另外,在各延迟计数器316-1、316-2的值成为与同步脉冲输出值存储部319中的同步脉冲输出值相同的值的情况下,同步脉冲输出部320经由系统总线I/F部311将同步脉冲输出至同步对象21A?21D。由此,能够以延迟计数器316_1、316_2的计数周期的1/2周期输出同步脉冲,并能够在系统中的所有网络单元31中,以考虑了来自同步主机11的信号的到达时间延迟后的定时实现同步。
[0044]接下来,对如图1所示的运动控制系统中的同步控制方法进行说明,其中,该运动控制系统具有同步主机11和与其连接的网络单元31M、以及同步对象21A?21D和与它们分别连接的网络单元31A?31D。此外,在该例子中,如图3所示,各网络单元31M、31A?31D都具有2个延迟计数器316-1、316-2。
[0045]<同步主机11的动作>
[0046]同步主机11利用间隔计时器111周期性地通过系统总线I/F部112输出同步脉冲。这里,设为在时刻tl、t2、t3、t4、t5..?将同步脉冲周期性地输出。
[0047]<网络单元3IM的动作>
[0048]连接于与同步主机11相同的系统总线12上的网络单元31M,在时刻tl、t2、t3..?从同步主机11接收同步脉冲,利用系统总线I/F部311获取同步脉冲,向同步数据包发送部312通知同步数据包的到达。
[0049]在同步数据包发送部312中,利用在时刻tl、t2、t3..?接到的同步数据包到达通知而生成同步数据包,并从发送端口 313将所述同步数据包发送至与网络40连接的所有网络单元31A?31D。此外,这里,为了容易说明,设为从同步脉冲到达起直至同步数据包的发送为止不存在延迟。
[0050]<网络单元3IA的动作>
[0051]接下来,在网络单元31A中,来自网络单元31M的同步数据包到达接收端口 314。同步数据包的目标为整个网络,因此,接收端口 314获取同步数据包,将其转送至同步数据包接收部315,并且,还将同步数据包转送至发送端口 313。然后,发送端口 313将同步数据包向网络40发送。由于说明例的网络拓扑为线型结构,因此,从该接收端口 314向发送端口 313的同步数据包的转送动作在将数据包发送至整个网络40时是必要的,但例如在网络拓扑为星型等的情况下不需要。
[0052]另外,网络单元31A内的同步数据包接收部315对由接收端口 314转送的同步数据包进行解析,判定是否为同步数据包。在到达的数据包是同步数据包的情况下,同步数据包接收部315向过滤部318-1、318-2通知同步数据包的到达。
[0053]将如下延迟时间设为β,即,同步数据包从该网络单元31Μ到达网络单元31Α,并对网络单元31Α的过滤部318-1、318-2通知同步数据包的到达为止的延迟时间。该延迟时间β是对同步数据包在网线中进行传送的时间、以及网络单元31Α内的处理时间进行合计所得的时间。因此,最初的同步数据包在网络单元31Α中到达过滤部318-1、318-2的时刻为tl+ β。并且,同样地,第2个同步数据包到达的时刻为t2+ β,第3个同步数据包到达的时刻为t3+ β...。
[0054]如上所述,网络单元31A具有2个延迟计数器316-1、316-2。过滤部318-1设置为用于延迟计数器316-1,过滤部318-2设置为用于延迟计数器316-2。然而,在刚起动之后,过滤部318-1、318-2是停止的,过滤部318-1、318-2不对同步数据包进行过滤。这里,过滤部318-1、318-2的窗口宽度和周期是预先设定的。
[0055]图4是表示网络单元31A的延迟计数器的动作的一个例子的图,图4的(a)示出延迟计数器316-1的动作,图4的(b)示出延迟计数器316-2的动作,图4的(c)将图4的(a)和图4的(b)重叠示出。在这些图中,横轴表示时间(时刻),纵轴表示延迟计数器316-1,316-2 的值。
[0056]如图4所示,网络单元31A的2个延迟计数器316_1、316_2在刚起动之后也并未进行累加。利用时刻tl+β的最初的同步数据包的到达通知,延迟计数器控制部317将延迟计数器316-1清零,并开始累加。同样地,根据在时刻t2+f3到达的同步数据包,延迟计数器控制部317将延迟计数器316-2清零,并开始累加。也就是说,各延迟计数器316-1、316-2设定为,以同步数据包到达的周期的2倍的周期重置,被重置(清零)的定时错开半个周期。另外,通常,在延迟计数器的数量为η (η为大于或等于2的整数)的情况下,各延迟计数器设定为,以同步数据包到达的周期的η倍的周期重置,被重置的定时分别错开1/η周期。
[0057]另外,以最初的同步数据包到达为起点,将过滤部318-1、318-2设为有效。也就是说,在该例子中,利用在时刻tl+β到达的同步数据包将过滤部318-1设为有效,利用在时刻t2+|3到达的同步数据包将过滤部318-2设为有效。因此,如果在时刻t3+|3到达的同步数据包未落入过滤部318-1所设定的窗口宽度,则将其废弃。
[0058]这里,设为在网络单元3IA的同步脉冲输出值存储部319中设定有同步脉冲输出值b。在本实施方式中,设为如下的值,即,如果延迟计数器316-1从O开始累加时经过与t2相对应的时间,则成为延迟计数器316-1的值=同步脉冲输出值存储部319的同步脉冲输出值b。
[0059]并且,在时刻tl+β延迟计数器316-1被清零继而进行累加,在成为延迟计数器316-1 =同步脉冲输出值存储部319的同步脉冲输出值b时,网络单元3IA的同步脉冲输出部320通过系统总线I/F部311输出同步脉冲。
[0060]另外,同样地,在成为网络单元31A的延迟计数器316-2 =同步脉冲输出值存储部319的同步脉冲输出值b时,也通过系统总线I/F部311输出同步脉冲。
[0061]如图4(c)所示,时刻?3+β、?5+β.--由延迟计数器316-1计数,时刻?4+β…由延迟计数器316-2计数。
[0062]从网络单元31Α输出的同步脉冲传送至连接于与网络单元31Α相同的系统总线22Α上的伺服驱动器等同步对象21Α。同步对象21Α在同步脉冲的指定的定时进行主程序的处理。
[0063]图5是表示同步对象21Α的动作的一个例子的图。如该图所示,直至时刻t3+|3为止,同步脉冲并未进入到同步对象21A,因此,处于等待同步脉冲的状态。并且,在时刻t3+0输入同步脉冲,执行主程序的处理后,成为等待同步脉冲的状态。并且,此后,反复进行如下处理,即,在时间t4+f3、t5+f3..?输入同步脉冲,执行主程序的处理后,成为等待同步脉冲的状态。
[0064]<网络单元3IB的动作>
[0065]接下来,在网络单元31B中,同步数据包到达接收端口 314。在同步数据包到达网络单元31B的接收端口 314之后,将该同步数据包向发送端口 313转送的处理、由同步数据包接收部315进行的同步数据包的解析和检测、以及向过滤部318-1、318-2通知同步数据包到达的处理,与网络单元31A相同,因此,省略其说明。
[0066]将如下延迟时间设为γ,即,同步数据包从网络单元31M经由网络单元31A到达网络单元31B,并向网络单元31B的过滤部318-1、318-2通知同步数据包的到达为止的延迟时间。该延迟时间γ是对同步数据包从网络单元31Μ输出继而经由网络单元31Α到达网络单元31Β后,在网络单元31Β内处理的时间进行合计所得的时间。因此,最初的同步数据包在网络单元31Β中到达过滤部318-1、318-2的时刻成为tl+γ。并且,同样地,第2个同步数据包到达的时刻成为t2+y,第3个同步数据包到达的时刻成为t3+y...。
[0067]网络单元31Β具有2个延迟计数器316-1、316-2。图6是表示网络单元31Β的延迟计数器的动作的一个例子的图。在该图中,横轴表示时间,纵轴表示延迟计数器316-1、316-2的值。
[0068]这些延迟计数器316-1、316_2在刚起动之后并未进行累加。并且,在时刻tl+γ利用最初的同步数据包的到达通知,延迟计数器控制部317将延迟计数器316-1清零并开始累加。同样地,根据在时刻t2+y到达的同步数据包,延迟计数器控制部317将延迟计数器316-2清零并开始累加。
[0069]另外,以最初的同步数据包到达为起点,将过滤部318-1、318-2设为有效。也就是说,在该例子中,利用在时刻tl+γ到达的同步数据包将过滤部318-1设为有效,利用在时刻t2+y到达的同步数据包将过滤部318-2设为有效。因此,如果在时刻t3+y到达的同步数据包未落入过滤部318-1的窗口宽度,则将其废弃。
[0070]这里,设为在网络单元3IB的同步脉冲输出值存储部319中设定有同步脉冲输出值C。该同步脉冲输出值c由同步主机11的通信延迟测定部113设定,但是,在本实施方式中,设为同步脉冲输出值C=网络单元31A的同步脉冲输出值bX2/3。因此,如果延迟计数器316-1从O开始累加时经过与t2X2/3相对应的时间,则成为延迟计数器316-1的值=同步脉冲输出值C。
[0071]并且,在时刻tl+γ延迟计数器316-1被清零继而进行累加,在成为延迟计数器316-1 =同步脉冲输出值存储部319的同步脉冲输出值c的t3+|3时,网络单元31B的同步脉冲输出部320通过系统总线I/F部311输出同步脉冲。
[0072]另外,同样地,在时刻t2+y延迟计数器316-2被清零继而进行累加,在成为延迟计数器316-2 =同步脉冲输出值存储部319的同步脉冲输出值c的t4+|3时,也通过系统总线I/F部311输出同步脉冲。
[0073]如图6所示,时刻?3+β、?5+β.--由延迟计数器316-1计数,时刻?4+β.--由延迟计数器316-2计数。此外,同步脉冲输出值存储部319中的同步脉冲输出值c设定为包含相对于网络单元31Α的延迟,因此,网络单元31Β输出同步脉冲的时间与网络单元31Α一致。
[0074]从网络单元31Β输出的同步脉冲,传送至连接于与网络单元31Β相同的系统总线22Β上的伺服驱动器等同步对象21Β。同步对象21Β在同步脉冲的所指定的定时进行主程序的处理。
[0075]图7是表示同步对象21B的动作的一个例子的图。如该图所示,直至时刻t3+|3为止,同步脉冲并未进入到同步对象21B,因此,成为等待同步脉冲的状态。并且,在时刻t3+0输入同步脉冲,执行主程序的处理以后,成为等待同步脉冲的状态。并且,此后反复进行如下处理,即,在时间t4+f3、t5+f3..?输入同步脉冲,执行主程序的处理,然后,成为等待同步脉冲的状态。
[0076]<网络单元31C的动作>
[0077]同样地,在网络单元31C中,同步数据包也到达接收端口 314。在同步数据包到达网络单元31C的接收端口 314之后,将该同步数据包向发送端口 313转送的处理、由同步数据包接收部315对同步数据包的解析和检测、以及向过滤部318-1、318-2通知同步数据包到达的处理,与网络单元31A、31B相同,因此,省略其说明。
[0078]将如下延迟时间设为δ,S卩,同步数据包从网络单元31Μ经由网络单元31Α、31Β到达网络单元31C,并向网络单元31C的过滤部318-1、318-2通知同步数据包的到达为止的延迟时间。该延迟时间S是对同步数据包从网络单元31Μ输出继而经由网络单元31Α、31Β到达网络单元31C后,在网络单元31C内处理的时间进行合计所得的时间。因此,最初的同步数据包在网络单元31C中到达过滤部318-1、318-2的时刻成为tl+ δ。并且,同样地,第2个同步数据包到达的时刻成为?2+δ,第3个同步数据包到达的时刻成为?3+δ...。
[0079]网络单元31C具有2个延迟计数器316-1、316-2。图8是表示网络单元31C的延迟计数器的动作的一个例子的图。在该图中,横轴表示时间,纵轴表示延迟计数器316-1、316-2的值。
[0080]这些延迟计数器316-1、316_2在刚起动之后也并未进行累加。并且,在时刻tl+δ利用最初的同步数据包的到达通知,延迟计数器控制部317将延迟计数器316-1清零并开始累加。同样地,根据在时刻t2+S到达的同步数据包,延迟计数器控制部317将延迟计数器316-2清零并开始累加。
[0081]另外,以最初的同步数据包到达为起点,将过滤部318-1、318-2设为有效。也就是说,在该例子中,利用在时刻tl+δ到达的同步数据包将过滤部318-1设为有效,利用在时刻t2+S到达的同步数据包将过滤部318-2设为有效。因此,如果在时刻t3+S到达的同步数据包未落入过滤部318-1的窗口宽度,则将其废弃。
[0082]这里,设为在网络单元3IC的同步脉冲输出值存储部319中设定有同步脉冲输出值d。该同步脉冲输出值d由同步主机11的通信延迟测定部113设定,但是,在本实施方式中,设为同步脉冲输出值d=网络单元31A的同步脉冲输出值bX 1/3。因此,如果延迟计数器316-1从O开始累加时经过与t2Xl/3相对应的时间,则成为延迟计数器316-1的值=同步脉冲输出值d。
[0083]并且,在时刻tl+ δ延迟计数器316-1被清零继而进行累加,在成为延迟计数器316-1 =同步脉冲输出值存储部319的同步脉冲输出值d的t3+|3时,网络单元31C的同步脉冲输出部320通过系统总线I/F部311输出同步脉冲。
[0084]另外,同样地,在时刻t2+ δ延迟计数器316-2被清零继而进行累加,在成为延迟计数器316-2 =同步脉冲输出值存储部319的同步脉冲输出值d的t4+|3时,也通过系统总线I/F部311输出同步脉冲。
[0085]如图8所示,时刻?3+β、?5+β...由延迟计数器316-1计数,时刻t4+0.--由延迟计数器316-2计数。此外,同步脉冲输出值存储部319中的同步脉冲输出值d设定为包含相对于网络单元31A的延迟,因此,网络单元31C输出同步脉冲的时间与网络单元31A、3IB—致。
[0086]从网络单元31C输出的同步脉冲,传送至连接于与网络单元31C相同的系统总线22C上的伺服驱动器等同步对象21C。同步对象21C在同步脉冲的指定的定时进行主程序的处理。
[0087]图9是表示同步对象21C的动作的一个例子的图。如该图所示,直至时刻t3+|3为止,同步脉冲并未进入到同步对象21C,因此,成为等待同步脉冲的状态。并且,在时刻t3+e输入同步脉冲,执行主程序的处理以后,成为等待同步脉冲的状态。并且,此后反复进行如下处理,即,在时间t4+f3、t5+f3..?输入同步脉冲,执行主程序的处理,然后成为等待同步脉冲的状态。
[0088]<网络单元3ID的动作>
[0089]同样地,在网络单元31D中,同步数据包也到达接收端口 314。在同步数据包到达网络单元31D的接收端口 314之后,向发送端口 313转送的处理、由同步数据包接收部315对同步数据包的解析和检测、以及向过滤部318-1、318-2通知同步数据包到达的处理,与网络单元31A?31C相同,因此,省略其说明。
[0090]将如下延迟时间设为ε,g卩,同步数据包从网络单元31M经由网络单元31A、31B、31C到达网络单元31D,并向网络单元31D的过滤部318_1、318_2通知同步数据包的到达为止的延迟时间。该延迟时间ε是对同步数据包从网络单元31Μ输出继而经由网络单元31A、31B、31C到达网络单元31D后,在网络单元31D内处理的时间进行合计所得的时间。因此,最初的同步数据包在网络单元31D中到达过滤部318-1、318-2的时刻成为tl+ε。并且,同样地,第2个同步数据包到达的时刻成为t2+ ε,第3个同步数据包成达的时刻成为t3+ ε...。
[0091]网络单元31D具有2个延迟计数器316-1、316-2。图10是表示网络单元31D的延迟计数器的动作的一个例子的图。在该图中,横轴表示时间,纵轴表示延迟计数器316-1、316-2的值。
[0092]这些延迟计数器316-1、316_2在刚起动之后也并未进行累加。并且,在时刻tl+ ε利用最初的同步数据包的到达通知,延迟计数器控制部317将延迟计数器316-1清零并开始累加。同样地,根据在时刻t2+e到达的同步数据包,延迟计数器控制部317将延迟计数器316-2清零并开始累加。
[0093]另外,以最初的同步数据包到达为起点,将过滤部318-1、318-2设为有效。也就是说,在该例子中,利用在时刻tl+ ε到达的同步数据包将过滤部318-1设为有效,利用在时刻t2+e到达的同步数据包将过滤部318-2设为有效。因此,如果在时刻t3+e到达的同步数据包未落入过滤部318-1的窗口宽度,则将其废弃。
[0094]这里,设为在网络单元3ID的同步脉冲输出值存储部319中设定有同步脉冲输出值e。该同步脉冲输出值e由同步主机11的通信延迟测定部113设定,但是,在本实施方式中,设为同步脉冲输出值e=网络单元31A的同步脉冲输出值bXO/3。因此,当延迟计数器316-1成为O时,成为延迟计数器316-1的值=同步脉冲输出值e。
[0095]S卩,在时刻tl+ ε延迟计数器316-1被清零继而进行累加的同时,成为延迟计数器316-1 =同步脉冲输出值存储部319的同步脉冲输出值e,网络单元3ID的同步脉冲输出部320通过系统总线I/F部311输出同步脉冲。此时的时刻为t3+f3。然后,延迟计数器316-1继续累加。
[0096]另外,同样地,在时刻t2+ ε延迟计数器316-2被清零继而进行累加的同时,成为延迟计数器316-2 =同步脉冲输出值存储部319的同步脉冲输出值e,同步脉冲输出部320通过系统总线I/F部311输出同步脉冲。此时的时刻为t4+f3。然后,延迟计数器316-2继续累加。
[0097]如图10 所示,时刻 ?3+β ( = tl+ε )、t5+|3 = (t3+ε )...由延迟计数器 316-1计数,时刻?4+β ( = t2+ ε )...由延迟计数器316-2计数。此外,同步脉冲输出值存储部319中的同步脉冲输出值e设定为包含相对于网络单元31A的延迟,因此,网络单元31D输出同步脉冲的时间与网络单元31A?31C —致。
[0098]从网络单元31D输出的同步脉冲,传送至连接于与网络单元31D相同的系统总线22D上的伺服驱动器等同步对象21D。同步对象21D在同步脉冲的指定的定时进行主程序的处理。
[0099]图11是表示同步对象21D的动作的一个例子的图。如该图所示,同步对象21D直至时刻t3+f3为止,处于并未进行累加的状态,在时刻t3+f3输入同步脉冲的同时,执行主程序的处理后,成为等待同步脉冲的状态。并且,此后反复进行如下处理,即,在时间t4+f3、t5+0..?输入同步脉冲,执行主程序的处理后,成为等待同步脉冲的状态。
[0100]〈动作汇总〉
[0101]图12是表示实施方式涉及的运动控制系统中的各同步对象的动作的一个例子的图。该图是对图5、图7、图9以及图11进行汇总的图。如该图所示,能够以比网络单元31D相对于网络单元31A的延迟时间(ε — β)短的周期,在各网络单元31Α?31D中实现同步,其中,该网络单元31Α配置于距同步主机11物理距离最近(配线长度最短)的位置,该网络单元31D配置于距同步主机11物理距离最远(配线长度最长)的位置。这样设置的目的在于,针对各网络单元31Α?31D设置2个延迟计数器316-1、316-2,以接收的同步数据包的周期的2倍,使延迟计数器316-1、316-2在不同的定时重置,并且,在延迟计数器316-1、316-2与考虑了从网络单元31Α起的延迟的同步脉冲输出值一致的情况下,由各网络单元3IA?3ID输出同步脉冲。
[0102]图13是表示在通常的方法下,运动控制系统中的各同步对象的动作的一个例子的图。这里,如上述专利文献I那样,示出各网络单元仅具有I个延迟计数器的情况。如该图所示,在现有技术中,各同步对象实现同步的定时大于或等于从网络单元31Α到网络单元31D的延迟时间(ε - β),其中,该网络单元31Α配置于距同步主机11物理距离最近的位置,该网络单元31D配置于距同步主机11物理距离最远的位置。
[0103]此外,在上述例子中,示出了网络单元设置有2个延迟计数器的情况,但是,也可以设置大于或等于3个延迟计数器。
[0104]如上所述,在本实施方式中,在与运动控制系统连接的网络单元31Μ、31Α?31D设置η个(η为大于或等于2的整数)延迟计数器316-1、316-2,延迟计数器控制部317利用各延迟计数器316-1、316-2对从同步主机11输出的规定周期的同步脉冲信号的η倍的周期进行计数,使对各延迟计数器316-1、316-2进行重置的定时不同。另外,在各延迟计数器316-1,316-2进行计数的过程中,针对各网络单元31B?31D,与相对于在距同步主机11物理距离最近的位置配置的网络单元31A的延迟时间对应地设定同步脉冲输出值,如果各延迟计数器316-1、316-2在重置计数之后成为同步脉冲输出值,则同步脉冲输出部320对同步对象2IA?2ID输出同步脉冲。
[0105]由此,能够在与各网络单元31A?31D连接的同步对象21A?21D中实现同步,并且,虽然利用各延迟计数器316-1、316-2,对大于或等于从网络单元31A至网络单元31D的延迟时间(ε - β)的时间进行计数,但是,向同步对象21Α?21D输出同步脉冲的间隔,能够设为比从网络单元31Α至网络单元31D的延迟时间(ε — β)短的时间,其中,该网络单元31Α配置于距同步主机11物理距离最近的位置,该网络单元31D配置于距同步主机11物理距离最远的位置。也就是说,与延迟计数器316-1、316-2为I个的情况相比,具有能够以较快的周期输出同步脉冲的效果。
[0106]其结果,具有如下效果,在运动控制系统中,在同步主机11即运动控制器和同步对象21Α?21D即伺服驱动器的通信距离延长,或伺服驱动器的数量增加,从而位于距运动控制器物理距离最远的位置的伺服驱动器的延迟时间延长的情况下,也能够以期望的周期对伺服驱动器执行控制。
[0107]另外,通过在能够对不存在扰动(jitter)等且准确的延迟时间进行测定的理想的系统中,具有最佳数量的延迟计数器316-1、316-2,能够使延迟等待时间变为零。
[0108]工业实用性
[0109]如上所述,本发明所涉及的通信装置,对在进行并行处理而执行控制的分散运动控制器系统中使用的通信装置有效,特别适用于通过网络进行运动的同步控制的通信装置。
[0110]标号的说明
[0111]11同步主机,12、22A?22D系统总线,21A?21D同步对象,31M、31A?31D网络单元,40网络,111间隔计时器,112、311系统总线I/F部,113通信延迟测定部,312同步数据包发送部,313发送端口,314接收端口,315同步数据包接收部,316-1,316-2延迟计数器,317延迟计数器控制部,318-1、318-2过滤部,319同步脉冲输出值存储部,320同步脉冲输出部。
【权利要求】
1.一种通信装置,其特征在于,具备: 第I通信单元,其与其它通信装置之间进行通信; 第2通信单元,其与同步对象之间进行通信; η个(η为大于或等于2的整数)计数器,它们对规定的时间进行计数; 计数器控制单元,其以下述方式对所述计数器进行控制,即,如果从所述第I通信单元接收到以规定周期输入的同步数据包,则使所述计数器对所述规定周期的η倍的周期进行计数,并且,使每一个所述计数器中的计数清零的定时不同;以及 同步脉冲输出单元,其在存在清零后进行计数而得的计数值与同步脉冲输出值相等的所述计数器的情况下,经由所述第2通信单元向所述同步对象输出同步脉冲。
2.根据权利要求1所述的通信装置,其特征在于, 还具备过滤单元,该过滤单元将所述计数器的计数清零的定时限制在规定时间范围内,该规定时间范围以从所述计数器开始计数起经过了所述η倍的周期的时间为基准,所述过滤单元是相对于所述计数器分别设置的。
3.根据权利要求1或2所述的通信装置,其特征在于,还具备: 同步数据包发送单元,其将清零计数器指定信息包含于所述同步数据包中,该清零计数器指定信息是对所述η个计数器中的将计数清零的计数器进行指定的信息;以及 同步数据包接收单元,其将由接收到的所述同步数据包中的所述清零计数器指定信息指定的计数器,与所述同步数据包的接收一起向所述计数器控制单元通知, 所述计数器控制单元对从所述同步数据包接收单元通知的所述计数器中的计数进行清零。
4.一种通信系统,在该通信系统中第I通信装置和多个第2通信装置经由网络连接,所述第I通信装置与周期性地输出同步脉冲的同步主机连接,所述多个第2通信装置与同步对象连接, 所述通信系统的特征在于, 所述同步主机具备: 同步信号发送单元,其以规定周期输出同步脉冲;以及 通信延迟时间测定单元,其对从该同步主机到与所述同步对象连接的所述第2通信装置为止的通信延迟时间进行测定,对于每一个所述第2通信装置,设定基于所述通信延迟时间而计算出的同步脉冲输出值, 所述第I通信装置具有同步数据包发送单元,如果接收到来自所述同步主机的同步脉冲,则该同步数据包发送单元对与所述网络连接的所有所述第2通信装置发送同步数据包, 所述第2通信装置具备: 第I通信单元,其与所述第I通信装置或者其它所述第2通信装置之间进行通信; 第2通信单元,其与所述同步对象之间进行通信; η个(η为大于或等于2的整数)计数器,它们对规定的时间进行计数; 计数器控制单元,其以下述方式对所述计数器进行控制,即,如果以规定周期从所述第I通信单元接收到所述同步数据包,则使所述计数器对所述规定周期的η倍的周期进行计数,并且,使每一个所述计数器中的计数清零的定时不同;以及 同步脉冲输出单元,其在存在清零后进行计数而得的计数值与所述同步脉冲输出值相等的所述计数器的情况下,经由所述第2通信单元对所述同步对象输出同步脉冲。
5.根据权利要求4所述的通信系统,其特征在于, 所述第2通信装置还与每一个所述计数器对应地具备过滤单元,所述过滤单元将所述计数器的计数清零的定时限制在规定时间范围内,所述规定时间范围以从所述计数器开始计数起经过了所述η倍的周期的时间为基准。
6.根据权利要求4或5所述的通信系统,其特征在于, 所述第2通信装置还具备: 同步数据包发送单元,其将清零计数器指定信息包含于所述同步数据包中,该清零计数器指定信息是对所述第2通信装置中的所述η个计数器中的将计数清零的计数器进行指定的信息;以及 同步数据包接收单元,其将由接收到的所述同步数据包中的所述清零计数器指定信息指定的计数器,与所述同步数据包的接收一起向所述计数器控制单元通知, 所述计数器控制单元对从所述同步数据包接收单元通知的所述计数器中的计数进行清零。
7.根据权利要求4至6中任I项所述的通信系统,其特征在于, 所述同步主机和所述第I通信装置经由系统总线连接, 所述同步对象和所述第2通信装置经由系统总线连接。
8.根据权利要求4至7中任I项所述的通信系统,其特征在于, 所述同步脉冲的周期,比从所述第I通信装置起利用所述网络连接的长度最长的位置处的所述第2通信装置相对于从所述第I通信装置起利用所述网络连接的长度最短的位置处的所述第2通信装置的延迟时间短。
9.一种同步控制方法,其是通信系统中的同步控制方法,在所述通信系统中,第I通信装置和多个第2通信装置经由网络连接,所述第I通信装置与周期性地输出同步脉冲的同步主机连接,所述多个第2通信装置与同步对象连接, 所述同步控制方法的特征在于,包括: 第I工序,在该第I工序中,如果所述第I通信装置接收到来自所述同步主机的所述同步脉冲,则对经由所述网络连接的所有所述第2通信装置发送同步数据包; 第2工序,在该第2工序中,如果所述第2通信装置接收到所述同步数据包,则在η个(η为大于或等于2的整数)计数器中将计数出与同步脉冲输出值相等的数的所述计数器清零,使其重新开始计数;以及 第3工序,在该第3工序中,在所述η个计数器中存在计数出与同步脉冲输出值相等的值的所述计数器的情况下,所述第2通信装置向与该第2通信装置连接的所述同步对象输出同步脉冲,其中,所述同步脉冲输出值是与从所述同步主机算起的利用所述网络连接的长度相对应而设定的。
【文档编号】H04L12/28GK104509038SQ201280075035
【公开日】2015年4月8日 申请日期:2012年8月1日 优先权日:2012年8月1日
【发明者】荒川智史 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1