CN107925606B - 控制网络系统及其节点装置 - Google Patents
控制网络系统及其节点装置 Download PDFInfo
- Publication number
- CN107925606B CN107925606B CN201780002872.3A CN201780002872A CN107925606B CN 107925606 B CN107925606 B CN 107925606B CN 201780002872 A CN201780002872 A CN 201780002872A CN 107925606 B CN107925606 B CN 107925606B
- Authority
- CN
- China
- Prior art keywords
- station
- message
- node
- data
- message transmission
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/43—Loop networks with decentralised control with synchronous transmission, e.g. time division multiplex [TDM], slotted rings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/423—Loop networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/4026—Bus for use in automation systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种控制网络系统及其节点装置,数据收发部(51)每隔规定的数据交换周期,在其第一频带内发送本装置的数据并接收/中继其它装置的发送数据。消息发送部(52)每隔所述规定的数据交换周期,在所述第一频带之后的第二频带内的规定定时,在有本装置的消息发送请求的情况下将该消息发送至相邻站点。消息接收部(53)在所述第二频带内,当从其中一个相邻站点接收到消息时,将该消息中继到另一相邻站点,或者在该消息将本装置作为发送目标的情况下,获取该消息。
Description
技术领域
本发明涉及通过通信线路将多个节点装置连接并且每隔规定周期进行数据交换的控制网络系统。
背景技术
在控制网络系统(工厂控制传输系统等)中,构成系统的各设备(节点)需要在保证实时性的基础上相互进行大容量的数据交换。所谓保证实时性是指例如在固定周期的各期间内完成需要进行数据交换的所有设备之间的数据交换。各设备需要例如每隔固定周期收集表示本设备在该时刻的状态等的数据,并将该数据传输给其它所有设备。
若采用在各设备(节点)上搭载的应用产生访问请求之际才事件性地相互进行访问的传输方式,则网络负载会依赖于应用,从而无法保证实时性。因此,通过在各设备上设置虚拟的共用存储器(公共存储器),各设备在每个通信循环(扫描时间)内以时分复用的方式(以不同的定时)向网络上的所有节点发送本节点的数据,以这样的传输方式来实现保证了实时性的数据交换方式。关于为了实现上述数据交换而在网络上高效地进行广播通信(broadcast communications)的方法,已经提出了各种技术方案,这里举例专利文献1的发明。
专利文献1的发明中,通过合并使用基于各节点内置计时器的时分复用访问方式、以及基于来自主节点的同步帧的从节点内置计时器校正,防止各节点的发送定时重叠,并实现高效率的传输。
或者,例如专利文献2中也公开了与专利文献1基本相同的现有技术。
图14表示上述专利文献1、2等现有技术中的数据交换的具体示例。
在该现有技术中,各站点(节点)具备循环计时器和发送计时器这2种计时器。循环计时器是用于生成数据交换周期(扫描时间)的计时器,所有站点都设定为同一时间。现有技术中,利用同步帧来使所有站点的循环计时器同步,对此不再特别说明。
发送计时器是用于生成各站点的数据发送定时的计时器,所有站点设定为互不相同的值。发送计时器在循环计时器的计时结束时起动,并在与上述设定值相应的定时结束计时,因此所有站点会在互不相同的定时结束计时。从而,例如图14所示,所有站点的数据发送定时都互不相同。
通过上述循环计时器,生成如图14所示的作为数据交换周期(通信循环)的扫描时间101。扫描时间101由用于对照时刻的图14所示的TC频带102和用于数据交换的图14所示的TS频带103构成。TC频带、TS频带如专利文献2中记载的一样,这里不再特别说明。
图14所示的标号105、108是分配给各站点的发送时隙,标号107、110是从各站点发送来的帧数据的一个示例,对此不再特别说明。
另外,在工厂控制传输系统中,有时会将上述通信循环(例如扫描时间101等)分为进行保证了实时性的数据通信的频带(上述TS频带等)、及事件性地进行单向访问的数据通信(消息通信等)的频带(后述的MSG频带等)、以及上述TC频带等。
对于事件性地进行单向访问的数据通信来说,加入网络的站点每单位时间的消息发送请求数会有“偏差”,这些消息发送请求数在同一单位时间内的合计值有可能超过能够传输的消息发送数,因此,需要对每单位时间能够发送的数量设置上限,并在该范围内进行通信。因此,通过管理某一单位时间内能够发送的站点数,并与所分配的站点进行数据通信,从而实现在每单位时间能够发送的数量上限范围内进行数据通信。
用于实现上述数据通信的消息通信方法已经提出了各种技术方案,这里列举令牌(TOKEN)方式。TOKEN方式中,主站点接受来自其它各站点(从站点)的消息发送请求,对于通知了发送请求的站点中的一部分站点,利用TOKEN来授予发送权。只有被授予发送权的站点才能进行消息通信,被授予发送权的站点将消息帧发送到网络回路上。通过在每单位时间能够发送的数量上限范围内授予发送权,能够实现不会超过每单位时间能够发送的数量的事件性地进行单向访问的数据通信(消息通信等)。
现有技术文献
专利文献
专利文献1:日本专利特开2005-159754号公报
专利文献2:国际公开第2013/121568号
发明内容
发明所要解决的技术问题
在采用例如以100BAS-TX、1000BAS-T等以太网作为传输线路的全双工回路等且采用环型或线型拓扑的情况下,各站点(节点)为了与相邻站点以外的站点进行通信,以利用位于本站点与目标通信站点之间的一个以上站点进行中继为前提来进行传输。
图15是采用环型拓扑的全双工回路的控制网络系统的具体示例。
在图15所示的例子中,4个节点(站点1、站点2、站点3、站点4)分别通过上述上行和下行的2条通信线路连接成图15所示的环型,将整个网络中右旋(顺时针)的通信线路记为回路A,将左旋(逆时针)的通信线路记为回路B。回路A的情况下,例如来自站点1的发送数据按照站点1→站点3→站点2→站点4→站点1的路径,依次通过站点3、站点2、站点4中继,然后返回到站点1。同相,回路B的情况下,例如来自站点1的发送数据按照站点1→站点4→站点2→站点3→站点1的路径,依次通过站点4、站点2、站点3中继,然后返回到站点1。
图16表示在图15的系统中采用现有通信方式的控制网络系统的动作的一个示例。图16是上述回路A的动作例,回路B的情况也大致相同。
如上所述,在控制网络系统中,在固定周期的各扫描时间内,所有站点都需要将本站点的数据传输至其它所有站点。图16中示出了在例如图15所示的环型拓扑结构中实现上述系统的情况下的动作例。
图16的示例采用TOKEN方式,取得TOKEN(发送权)的站点能够发送本站点的数据,其它站点则对该数据进行接收和中继。
在图16所示的例子中,首先,站点1取得TOKEN,从而将本站点的数据发送至下游的相邻站点。在图15的结构中,对于回路A的情况,下游的相邻站点为站点3,站点1的上游的相邻站点为站点4。图16中,矩形表示收发数据帧(数据包),每个站点的上侧表示接收,下侧表示发送。横轴为时间。矩形中的数字表示作为发送方的站点,例如“1”表示发送方为站点1,记为数据包‘站点1’。取得上述TOKEN的站点1向站点3发送数据包‘站点1’。另外,矩形中的“T”表示TOKEN。
站点3接收到上述数据包‘站点1’时,获取该数据包‘站点1’并将其中继至下游的相邻站点(站点2)。接收到该数据包‘站点1’的站点2也同样地获取该数据包‘站点1’并将其中继至下游的相邻站点(站点4)。接收到该数据包‘站点1’的站点4也同样地获取该数据包‘站点1’并将其中继至下游的相邻站点(站点1)。
由此,站点1接收到本站点的发送数据帧,然后释放TOKEN。这里,TOKEN中包含有权限站点信息,在释放时权限站点将被更新。这里假设权限站点按照‘1’→‘2’→‘3’→‘4’→‘1’→‘2’等的顺序在每次释放时更新。
由此,当之后站点2、站点3、站点4也取得TOKEN从而获得发送权时,发送本站点的数据,数据经由其它站点依次中继后返回到本站点。
这样,所有站点1、2、3、4都发送了本站的数据,其它所有站点则接收并获取该数据。即,所有站点都将本站的数据传输到了其它所有站点。
另外,使用上述专利文献1、2的现有技术也可以不使用TOKEN来进行与图16的动作例大致相同的动作。即,图16的动作的最终结果是各节点在TS频带内以互不相同的定时发送本站点的数据。上述专利文献1、2的现有技术可以使用进行了不同设定的发送定时器以代替使用TOKEN,来实现上述动作。例如,只要预先实测数据在回路中走一圈要用的时间等,并设定各站点的发送计时器,以使各节点以该时间为间隔来发送本站点的数据即可。
另一方面,在消息频带中发送消息并不是以固定周期一直进行的行为,有时会没有要发送的消息,有时要发送的消息存在多个(多数)。发生了本站点消息发送事件的站点会在上述TS频带中的本站点发送数据包中包含消息发送请求。另外,在多个站点中预先决定要进行消息发送调试的站点(作为主站点)。
在上述TS频带中接受来自任意站点的消息发送请求的主站点进行是否许可的判定。这里,假设站点3为主站点,在任意扫描时间101的TS频带中有来自站点1和站点4的消息发送请求,站点3许可站点1进行发送。在此例的情况下,图15的结构中,MSG频带中的消息收发动作例如图17所示那样。
图17的例子中,一个通信循环(扫描时间)分为上述TC频带、TS频带和消息频带(MSG频带),这里对MSG频带进行说明,省略TC频带和TS频带中的动作。虽然未图示,但TS频带的动作是例如上述图16的动作,且根据需要将上述消息发送请求附加到上述图16所示的收发数据帧(数据包)中进行发送。从而,在MSG频带开始之前,主站点能够识别出有消息发送请求的站点,并且从中决定许可消息发送的站点(许可站点)。上述决定方法有多种,这里不再特别说明。图17的例子中,许可站点被决定为站点1。图17的例子中,主站点为站点2。
而且,图17中还省略了TC频带的动作的图示,并且根据不同情况,在TC频带一栏中示出了表示各站点的信息(站点编号、主/从)。TC频带的动作属于现有技术,不做特别说明。
如图17所示,在MSG频带中,首先由主站点(站点2)向许可站点(站点1)发出许可通知(TOKEN)。该许可通知与图16大致相同,各站点向本站点的下游的相邻站点进行中继,按照图17所示的顺序站点2→站点3→站点4→站点1依次中继到站点1。站点1将该许可通知中继至本站点的下游的相邻站点(站点2),并且由于被许可,因此发送本站的消息(图17所示的“站点1MSG”)。该消息也在各站点向本站点的下游的相邻站点中继,按照图17所示的站点1→站点2→站点3→站点4依次中继到站点4(这里假设目标站点为站点4)。
图17中,站点4将该消息进一步中继到站点1,但这并不是必要的。
MSG频带(消息传输频带)的长度是预先决定的,可以是扫描时间101的一部分,也可以是一通消息都没有,因此不会很长。因而,在上述例子中,有可能还有其它消息发送请求站点的消息发送尚未进行,该消息有可能会在下一个通信循环中发送。
由此,一通消息收发完成需要耗费时间,因此例如在整个系统存在多起消息发送事件的情况下,到所有发送完成需要耗费很多时间。例如在某一时候站点1发生了3起消息发送事件、站点2发生了4起消息发送事件、站点4发生了2起消息发送事件的情况下,假设每一个通信循环只能完成1起消息发送,则到所有消息收发完成需要耗费“1个通信循环的时间×9”的时间,将耗费很多时间。
或者,在被许可的站点需要发送很多消息的情况下,在这些消息收发完成之前,其它站点都不能发送消息。
本发明的技术问题在于提供一种能够提高消息收发的传输效率的控制网络系统及其节点装置等,该控制网络系统中,与网络相连接的所有节点装置相互进行数据交换,并且也进行任意的消息收发。
解决技术问题的技术方案
本发明的控制网络系统中,多个节点装置相互进行数据交换,各所述节点装置具有下述各单元。
·数据收发单元,该数据收发单元每隔规定的数据交换周期,在第一频带内发送本装置的数据并接收其它装置的发送数据;
·消息发送单元,该消息发送单元每隔所述规定的数据交换周期,在所述第一频带之后的第二频带内的规定定时,在有本装置的消息发送请求的情况下将该消息发送至相邻站点;以及
·消息接收单元,该消息接收单元在所述第二频带内,当从其中一个相邻站点接收到消息时,将该消息中继到另一相邻站点,或者在该消息将本装置作为发送目标的情况下,获取该消息。
发明效果
根据本发明的控制网络系统及其节点装置等,在与网络相连接的所有节点装置相互进行数据交换并且也进行任意的消息收发的控制网络系统中,能够提高消息收发的传输效率。
附图说明
图1(a)和图1(b)是本实施例的控制网络系统的整体结构图。
图2(a)和图2(b)是表示本实施例的节点的驱动器的处理的流程图。
图3是表示本实施例的节点的处理部的处理的流程图。
图4是步骤S44的处理的详细示例。
图5是步骤S63的处理的一例。
图6是本实施例的各节点的帧收发动作例(其一)。
图7是本实施例的各节点的帧收发动作例(其二)。
图8是本实施例的各节点的帧收发动作例(其三)。
图9(a)表示步骤S24、S26的处理示图,图9(b)表示步骤S21、S23的处理示图。
图10是本实施例的网络拓扑的另一例。
图11是本实施例的控制网络系统的功能框图。
图12是表示线型全双工回路的示例的图。
图13是单回路情况下的结构例。
图14表示专利文献1、2等现有技术中的数据交换的具体示例。
图15是采用环型拓扑的全双工回路的控制网络系统的具体示例。
图16表示在图15的系统中采用现有通信方式的控制网络系统的的动作的一个示例。
图17是表示以往的消息发送动作的一个示例的图。
具体实施方式
下面,参照附图,对本发明的实施方式进行说明。
图1(a)和图1(b)是本实施例的控制网络系统的整体结构图。
本实施例的控制网络系统的系统结构采用的是例如将上述100BASE-TX或1000BASE-T等以太网作为传输线路的全双工回路等,且采用环型或线型的拓扑。
在这样的系统结构中,各站点(节点)为了与相邻站点以外的站点进行通信,采用以位于本站点与目标通信站点之间的一个以上的站点进行中继为前提来进行传输的结构。即,采用上述结构的情况下,能够与各站点直接进行通信的只有相邻站点。在某一节点当从相邻站点发送来的帧数据并不是要发送到本站点的情况下,将该帧数据中继至其它相邻站点。通过反复进行上述的中继,帧数据最终到达目标站点。上述相邻站点是指与本站点直接通过通信线路连接的其他站点。图1所示的例子是全双工回路,因此设置上行和下行2种通信线路。即,设置用于从本站点向相邻站点发送数据的通信线路、和用于接收相邻站点发送来的数据的通信线路。
另外,图1所例示的是全双工回路等且拓扑为环型的网络系统,但本实施例的控制网络系统的结构不限于该例。例如,也可以不是环型而是线型,还可以是后面图示的其它型。另外,不限于全双工回路,也可以是例如其2倍的回路数(称为全四工回路)等,还可以是单回路。图1所示的例子中构成节点有4个,但不限于此例。
另外,本实施例的控制网络系统中,例如构成系统的各设备(节点)需要在上述TS频带中相互进行数据交换,且需要在保证实时性的基础上进行该数据交换。因此,例如需要在例如上述循环计时器所规定的数据交换周期的时间内(一个通信循环内的TS频带内)完成所有节点间的数据交换。即,例如在每一个通信循环的TS频带内,所有节点都需要将本节点的数据传输至其它所有节点。换言之,例如上述那样构成系统的各设备(站点;节点)需要在保证了实时性的基础上相互进行数据交换。但本发明并不限于上述示例。
另一方面,上述消息传输频带(MSG频带)中的消息收发并不一定要在一次通信循环内的MSG频带内收发该时刻产生的所有消息。但为了提高传输效率,希望在一次通信循环中收发尽可能多的消息。另一方面,如上所述,MSG频带的长度是预先决定的,因此必须避免在消息收发处理完成之前出现MSG频带结束这样的情况。
本发明的方法基本上是为了提高上述消息传输频带(MSG频带)中的消息收发的传输效率,但也可以进一步提高上述TS频带中的数据交换的传输效率。
在以下首先示出的具体示例中,所示的是提高MSG频带和TS频带双方的传输效率,但不限于此例,也可以如后文说明的那样,是在TS频带中采用与现有技术相同的方法,而仅在MSG频带中提高传输效率的实施方式。
图1(a)所示的例子中的控制网络系统与上述图15相同,图1(a)所示的4个节点10(站点1、站点2、站点3、站点4)通过全双工的通信回路12、13连接,将整个网络中右旋(顺时针)的通信线路记为回路A,将左旋(逆时针)的通信线路记为回路B。但与图15相比,站点2和站点3的配置发生了变化。
图15中所说明的通信回路12、13例如是上行和下行的通信线路,例如站点1与站点2之间的通信是由通信回路12来进行站点1向站点2的数据发送,由通信回路13来进行站点2向站点1的数据发送。
更详细而言,如图1(b)所示,各节点10具有例如驱动器11,上述回路A相关的通信回路12(12a、12b、12c、12d)、上述回路B相关的通信回路13(13a、13b、13c、13d)分别如图1(b)所示地与各节点10的驱动器11连接。
这里,通信回路12、13分别由多条通信线路(串行线路等)构成,而不是单条通信线路(串行线路等)。即,例如通信回路12由图1(b)所示的通信线路12a、12b、12c、12d构成。各通信线路连接在任意的2个节点10之间。图1(b)所示的例子中,通信线路12a连接在站点1-站点2之间,通信线路12b连接在站点2-站点3之间,通信线路12c连接在站点3-站点4之间,通信线路12d连接在站点4-站点1之间。
通信回路13也一样。即,通信回路13由图1(b)所示的通信线路13a、13b、13c、13d构成。各通信线路连接在任意的2个节点10之间。图1(b)所示的例子中,通信线路13a连接在站点1-站点2之间,通信线路13b连接在站点2-站点3之间,通信线路13c连接在站点3-站点4之间,通信线路13d连接在站点4-站点1之间。
而且,例如站点1-站点2之间的通信是站点1通过通信线路12a向站点2发送数据帧(数据包),站点2通过通信线路13a向站点1发送数据帧(数据包)。从而,即使站点1与站点2相互同时地发送数据包,由于其使用的通信线路是不同的,因此也不会发生数据包冲突。这对于其它站点之间的通信也是一样的,整个网络系统中,即使所有站点同时发送数据包,由于各个站点用于发送数据包的通信线路是不同的,因此也不会发生数据包冲突。
另外,该数据包可以是TS频带中的数据(公共存储器帧)的数据包和MSG频带中的消息的数据包中的任一种。本例中,在TS频带、MSG频带,即使各站点在同一定时发送数据包,都不会发生数据包冲突。对于TC频带,基本上省略对其的说明。
各节点10除了具有上述驱动器11以外,还具有处理部14、循环计时器15、发送计时器16和消息用发送计时器17等。循环计时器15已在上述专利文献1、2中进行了说明,此处的说明省略。
发送计时器16决定TS频带中本站点的数据发送定时,其含义与上述专利文献1、2相同。但在专利文献1、2中各站点采用互不相同的设定,因此TS频带中各站点的数据发送定时如图14说明的那样互不相同。而发送计时器16例如对所有站点(节点10)进行相同设定,从而在TS频带中所有站点都在同一定时开始发送本站点的数据(公共存储器帧)。在后述的图6、图7等的例子中,所有节点10均设定为发送计时器16的超时即为TS频带的开始定时。
基于上述理由,发送计时器16可以说是公共存储器用发送计时器。
消息用发送计时器17决定各节点10在MSG频带中的本站点的数据发送定时。另外,现有技术中未图示的消息用发送计时器的超时代表MSG频带的开始,只要主站点具备该消息用发送计时器即可,在其超时时,从主站点发送TOKEN。
消息用发送计时器17也设定为所有节点10在同一定时超时。在后述的图6、图7等的例子中,所有节点10均设定为消息用发送计时器17的超时即为MSG频带的开始定时。例如,所有节点10的消息用发送计时器17均设定同一设定值,且在发送计时器16超时时起动。除此以外,也可以用同一设定值在循环计时器15超时时起动消息用发送计时器17,还可以将发送计时器16作为消息用的发送计时器而重新起动,以成为MSG频带的开始定时。
各节点10在有要发送到本站点的消息的情况下,在消息用发送计时器17超时的定时,发送1通本站点的消息。然后,图3的处理结果是在本站点被许可进行多次消息发送的情况下,接着进行2通及之后的发送。在后述的图6的例子中,例如站点1发送3通本站点的消息。在上述本站点的消息发送次数经过了许可数量之后(通过图2(a)的发送),通过图2(b)的处理,对来自其它站点的发送消息进行中继。
处理部14执行节点10的主要处理,例如对未图示的控制对象设备进行控制、收集表示该控制对象设备的状态的数据等、对循环计时器15、发送计时器16、消息用发送计时器17等的设定和起动进行管理、生成发送数据帧(数据包)等各种处理。
驱动器11例如是经由通信回路12、13进的通信处理的处理部(通信专用处理器等),其根据来自上述处理部14的请求,将上述发送数据帧发送至其它节点,或者在接收到来自其它节点的发送数据帧时,将其传输/中继到处理部14等。
对于通信回路12、13,驱动器11在接收到从上游侧发送来的数据包时均判断为对该数据包进行中继的情况下,将该数据包发送至下游侧。例如,以站点1为例,对于回路A来说,站点4位于上游侧,站点2位于下游侧,对于回路B来说,站点4位于下游侧,站点2位于上游侧。
从而,站点1的驱动器11经由通信线路12d接收到来自站点4的发送数据包(数据帧)时,在对该发送数据包进行中继的情况下,经由通信线路12a将该发送数据包传输至站点2。在进行中继时,获取数据帧的内容(数据),并根据需要传输至处理部14。同样,在经由通信线路13a接收到来自站点2的数据包时,在对该数据包进行中继的情况下,经由通信线路13d将该数据包发送至站点4。另外,在站点1发送本站点的数据的情况下,站点1的驱动器11将该数据帧发送到回路A、回路B两个回路。即,该数据帧经由通信线12a发送至站点2,并且经由通信线13d发送至站点4。
图2(a)和图2(b)是表示节点10的驱动器11的处理的流程图。驱动器11内置的未图示的运算处理器通过执行预先存储在内置的未图示的存储器中的应用程序,实现图2(a)、图2(b)的处理。
图2(a)表示在发送本站点数据时的驱动器11的处理。
节点10所具有的上述处理部14(CPU/MPU等)通过执行规定的软件(程序)等,来执行规定的控制处理等。该处理的一例如图3所示,并在后文进行说明。然后,在作为该处理之一发生了发送本站点的数据这一事件的情况下,将该数据和发送请求传输至驱动器11。
驱动器11接收到上述数据和发送请求时(步骤S11),将该数据帧发送到上述回路A和回路B双方(步骤S12)。如上所述,双方均向下游侧发送。因此,在站点1的情况下,回路A中经由通信线路12a发送到站点2,在回路B中经由通信线路13d发送到站点4。
上述发送的本站点数据(数据包)在正常情况下会在网络中走一圈然后回到本站点。还有可能会接收到其它站点的发送数据(数据包)。
图2(b)表示在接收数据时的驱动器11的处理。
驱动器11经由上述回路A、B中的任一个回路接收到任意数据包时,执行图2(b)的处理。首先,对接收数据包的发送方进行确认,在发送方是本站点的情况下(步骤S21:否),丢弃该数据包(步骤S23)。这是因为在这种情况下,本站点在上述步骤S12中发送的数据包在网络中走了一圈后还是会回来的。
另一方面,在接收数据包的发送方是其它站点(本站点以外)的情况下(步骤S21:是),对接收数据包进行中继(步骤S22)。即,将接收数据包传输至下游的相邻站点。当然,在回路A中接收到的情况下是向回路A中的下游中继,在回路B中接收到的情况下是向回路B中的下游中继。另外,在进行中继的情况下,接收数据包也会被保留在未图示的缓存等中,从而在后述的步骤S24、25的处理时使用。
在进行了步骤S22的处理的情况下,接着判断该接收数据包是否与已经接收完成的数据包相同(步骤S24)。本例中,发送方节点在上述步骤S12中向回路A和回路B双方发送数据包,因此在正常情况下,其它站点会接收到这2个数据包。从而,不再需要之后接收到的数据包。由此,在接收到与已经接收完成的数据包相同的数据包的情况下(步骤S24:是),丢弃接收数据包(步骤S26)。
另外,对例如发送方节点在上述步骤S12中发送的2个数据包(数据帧)标注相同的帧号。通常情况下,每当发送数据帧时,都会标注帧号进行发送。帧号在每次发送时被更新(例如+1递增)。从而,在步骤S24的处理中,例如当接收数据包和已经接收完成的数据包的发送方节点相同且帧号相同时,判定为两者相同。但这只是一个示例,并不限于此例。另外,各数据包当然还附带有表示发送方节点的识别ID等。
另一方面,在接收数据包是上述2个数据包中的某一方被先行接收的数据包的情况下(步骤S24:否),将该接收数据包的数据传输至处理部14(步骤S25)。处理部14使用该数据进行某种处理。例如,在接收数据包是公共存储器帧的情况下,执行后述的图3的步骤S48为“是”时的处理。
上述图2(a)、图2(b)的处理中的数据包可以是上述TS频带中收发的数据包(公共存储器帧),也可以是上述MSG频带中收发的消息的数据包。
另外,不限于图2(b)的示例,例如也可以在接收数据的发送方是其它站点且接收到最初的数据包的情况下,对该数据包进行中继处理。换言之,也可以在即使接收数据包的发送方是其它站点,但接收到与已经接收完成的数据包相同的数据包的情况下,不对该数据包进行中继。而在图2(b)的处理中,即使是这样的状况,也仍然对数据包进行中继。
另外,各数据包(数据帧)当然附带有发送方节点的识别编号(站点ID等)。例如各节点10预先存储有网络结构信息。网络结构信息包含每一个节点10的上游侧和下游侧的相邻站点的上述站点ID等信息。网络结构信息例如由开发人员等预先任意地生成,并存储在各节点10,但不限于此例。
在图2(b)的情况下,本站点在步骤S12中发送的帧在环型网络中走了一圈回到本站点后被丢弃。但不限于此例,也可以在本站点的前一个其它站点丢弃。
如上所述,对图2及其它处理进行梳理,得到例如如下的结果。
·数据包在环型网络的各节点10走了一圈后、即其它所有节点10都接收了之后被丢弃。丢弃可以由数据包发送方的节点10来进行,也可以由前一个节点10(将数据包中继至发送方节点的节点10)来进行。
·发送方节点将上述数据包发送至回路A和回路B双方。若无异常,其它各节点10从回路A和回路B双方接收数据包。其它各节点10的驱动器11将最初接收到的数据包传输至处理部14(实质上是接受),将第二次接收到的数据包不传输至处理部14(实质上是不接受)。
·上述其它各节点可以对上述第二次接收到的数据包进行中继,也可以不进行中继。
·上述数据包是公共存储器帧和/或消息帧。
图3是表示节点10的处理部14的处理的流程图。
关于消息发送,现有技术中是由主站点分配发送权并进行站点判定,而在本实施例中,是在所有节点10分别进行图3的处理从而各自分配发送权(发送许可数)并进行判定。伴随着该判定,本站点可否发送消息及分配数量也随之判定。由此,本实施例中,无需基于TOKEN帧授予发送权,各站点自己就能判断可否发送消息及分配数量等。而且,在本站点能够发送消息的情况下,无需在进入消息传输频带之后等待TOKEN就能发送本站点的消息。
图3的处理随时都能执行,基本上是在某一事件等待状态下(步骤S31)每当发生某一事件时(步骤S32:是),判定所发生的事件的内容(步骤S33)并执行与之相应的处理。
即,在所发生的事件是循环计时器15超时(循环T.O.)的情况下(步骤S34:是),执行步骤S35~S38的处理。
即,基本上是在发送计时器16中置位规定的设定值(步骤S35)并起动发送计时器16(步骤S38),但在该起动之前,确认本站点有没有消息发送请求,在有的情况下(步骤S36:是),对消息发送请求数(有时也简单记为请求数)进行置位和登记(步骤S37)。置位是指保存在公共存储器帧中,登记是指存储到未图示的“用于管理发送权的登记表”(以下记为登记表)。
由此,在发送了通过后述的步骤S40的处理附加了上述请求数的公共存储器帧时,经过上述各节点10的中继处理,公共存储器帧被传输至所有节点10,从而消息发送请求数被传输至所有节点10。传输来的消息发送请求数被存储在各节点10的上述“登记表”中。然后,各节点10分别基于存储在本站点的上述“登记表”中的各站点的消息发送请求数,执行后述的步骤S44的处理。
这里,根据上述情况,在本实施例中,上述步骤S35中发送计时器16所置位的设定值在所有节点10都是相同的值。另外,在现有技术中,如图14所示,未图示的发送计时器被置位所有节点互不相同的设定值。
根据上述专利文献1、2的现有技术,通过设定所有节点10的循环计时器15在同一定时变为超时的状态,从而所有节点的发送计时器16在同一定时超时。由此,例如后述的图6所示,所有节点10在同一定时开始发送公共存储器帧。
在所发生的事件是发送计时器16超时(发送T.O.)的情况下(步骤S39:是),发送本站点的数据(公共存储器帧)(步骤S40)。这是将上述本站点的数据(根据不同的情况附加消息发送请求)传输至驱动器11。从而,如上所述,驱动器11接收到上述步骤S11的数据和发送请求,并通过上述步骤S12将该数据发送至上述回路A和回路B双方。
然后,在消息用发送计时器17中对规定的设定值进行置位(步骤S41)并起动(步骤S42)。该起动之后,消息用发送计时器17发生了超时事件时,在后述的步骤S43中判定为“是”。上述设定值例如在所有节点10采用同一值。从而,如后述的图6的例子所示,所有节点10在同一定时进入MSG频带,有要发送的消息的节点10立即发送第1通消息。这是因为在本实施例中,最少许可发送1通消息。
另外,基本上在上述步骤S38中起动的发送计时器16发生了计时结束事件时,上述步骤S39变为“是”。
即,在所发生的事件是消息用发送计时器17超时(发送T.O.)的情况下(步骤S43:是),执行步骤S44~S47的处理。
即,首先进行公共存储器失帧判定和消息发送许可站点判定(步骤S44)。该处理也是用于决定各节点10的消息发送许可数的处理,从而决定本站点可否发送消息及消息发送许可数。本例中,基本上是对所有消息请求节点许可至少1通消息发送,但不限于此。
然后,根据上述步骤S44的判定结果(步骤S45),在本站点有消息发送请求且许可发送的情况下(步骤S46:是),发送与本站点的消息发送许可数相应的数量的消息帧(步骤S47)。
另一方面,当本站点没有消息发送请求的情况、或者不许消息发送等的情况下(步骤S46:否),不进行消息发送。另外,如上所述,本实施例中,由于必能进行至少1通的消息发送,因此不会有不许消息发送的情况出现,但不限于此例,也可以包含不许消息发送的情况。
另外,在所发生的事件是接收公共存储器帧的情况下(步骤S48:是),将该公共存储器帧的数据存储到未图示的公共存储器的相应区域(步骤S49)。这里,将上述步骤S40的处理中发送的帧称为公共存储器帧。通过上述图2(b)等的处理,任意其它站点的驱动器11接收到经过上述步骤S40的处理而发送来的公共存储器帧,且驱动器11通过上述步骤S25将该公共存储器帧传输至处理部14时,上述步骤S48的判定为“是”。
另外,在接收到的公共存储器帧中包含有其发送方节点10通过上述步骤S37所保存的消息发送请求数的情况下,视作为有消息发送请求,并将该请求数与发送方节点10的ID等一起追加存储到上述“登记表”(步骤S50)。该“登记表”之后将在上述步骤S44的处理中被参照使用(图4中示出其中一例)。另外,各帧中当然还包含有发送方节点的ID(识别信息)等。
另外,虽然未图示,但也可以在接收到消息帧的情况下,驱动器11将接收到的消息传输至处理部14,处理部14在该消息帧的发送目标是本站点的情况下,获取该消息帧,在发送目标不是本站点的情况下,丢弃该消息帧。而接收到的消息帧当然会被驱动器11通过图2(b)的处理而中继至下游侧的相邻站点。
在上述的本实施例中,接收到公共存储器帧的各节点10(各站点)分别接受发送方站点的消息发送请求。即,加入网络的各站点(节点10)分别接受来自各站点的消息发送请求(请求数),各站点分别单独地判定消息的发送许可站点和分配数量(发送许可数)。在各站点分别单独地判定的情况下,由于判定算法是相同的,因此只要提供的是同一数据,就会得到相同的判定结果。即,只要来自各站点的所有公共存储器帧全都能正确地传输,所有站点都会得到相同的分配结果(判定结果)。各站点基于本站点的消息发送权分配判定结果,来判定本站点可否发送消息和分配数量。在能够发送消息的情况下,基于所有站点均同步的消息用发送计时器17,同时进行消息帧的发送。
上述消息的发送许可站点和分配数量(发送许可数)的判定方法有多种,例如可以是均等分配,或者是“加权轮询调度”等有优先顺序的分配,或者是它们的组合,也可以使用其它任意的现有方法。无论是哪一种方法,其判定方法本身没有特别限制,可以使用现有的任何方法,也可以使用该现有方法的组合等。
本实施例中,通过上述图2、图3的处理,无论是本站点相关的公共存储器帧,还是消息帧,在各频带中都无须获得TOKEN就能立即开始发送。在图1的结构和通信方式中,这样即使各站点同时发送数据,各帧相互之间也不会发生冲突。本站点的数据帧发送完成之后,对其它站点的这些帧依次进行中继。同样,即使各站点在同一定时一齐进行中继发送,各帧彼此之间也不会发生冲突。
根据上述本实施例的发送/中继动作,无论是公共存储器帧,还是消息帧,都进行例如后述图6那样的发送/中继动作。即,公共存储器帧和消息帧都能比以往更高效地进行传输。
根据上述动作,例如对于消息帧来说,假设一个站点仅进行1通发送,各站点对该消息帧进行中继从而在回路中走一圈所需要的时间等于所有站点(或者一部分站点)进行1通发送且各站点对该消息帧进行中继从而在回路中走一圈所需要的时间。因此,各站点能够进行至少1通发送,而不管其它站点的消息发送请求数是多少。
基于该观点,本实施例中,如后文所述,所有站点都被许可至少1通的消息发送权。但不限于此例。
这里,图4示出上述步骤S44的处理的详细示例。
图4的示例中,首先判定有没有失帧(步骤S61)。该处理将在后文说明,但在有失帧的情况下(步骤S61:是),将所有节点的消息发送许可数强制性地决定为预先设定的基本值(本例中为‘1’)。从而,在本站点有消息发送请求的情况下,在步骤S47中仅发送1通消息。另外,在消息发送许可数被决定为例如‘1’但本站点没有消息发送请求的情况下,步骤S46为“否”,因此不进行消息发送。
关于这样强制性地将所有站点的消息发送许可数都统一为‘1’的理由,将在后文中说明上述失帧时进行说明。
另一方面,在没有失帧的情况下(步骤S61:否),首先基于在上述步骤S37、S50的处理中存储于登记表的各站点的请求数,来识别有没有本站点与其它站点的消息发送请求及其请求数。并且识别各站点当前的优先顺序(步骤S62)。该优先顺序取决于例如规定的计数器当前的计数值。
该计数器并未图示,在每当上述步骤S34变为“是”时,计数器就加1(+1递增)。本实施例中,该计数器以1→2→3→4→1→2→3→4→1这样的方式进行循环计数。并且,将站点编号与计数值相同的节点10设为最高优先顺序。例如,当计数器的计数值为‘3’时,站点3的优先顺序最高,在该例中,按照优先顺序由高到低的排列结果为站点3→站点4→站点1→站点2。
步骤S62中,进一步识别预先设定的上限值。该上限值是MSG频带中能够收发的消息数量的上限,取决于MSG频带的长度和消息帧的像幅等,且由开发人员等预先决定。
然后,基于包含上述本站点在内的各站点有没有消息发送请求和请求数、优先顺序及上限值等,决定各站点的消息发送许可数,从而决定本站点的消息发送许可数(步骤S63)。上述消息发送许可数例如通过至少所有站点的消息发送许可数的合计值不会超过上述上限值的方式来决定。
图5中示出步骤S63的处理的一个示例。
图5的处理中,各站点的消息发送许可数是基本值和由剩余值得到的任意分配值的合计。基本值是指例如对所有站点必定是统一分配的值,本实施例中为‘1’(等分)。即,本实施例中,发出了消息发送请求的所有站点都能至少发送1通消息,不存在发出了请求却连1通消息都不能发送的站点。
从而,首先对发出了请求的所有站点分配基本值(=1)(步骤S71)。
上述剩余值例如为剩余值=上限值-(基本值×站点数)等。若站点数是固定的,则也可以从一开始就设定剩余值来代替上限值。
根据上述优先顺序,从优先顺序最高的站点开始依次分配上述剩余值(“加权轮询调度”方式)(步骤S72)。例如,按照优先顺序由高到低,判定“剩余值≥请求数”是否成立,在“剩余值≥请求数”的情况下,设定“分配值=请求数”,并且根据“剩余值=剩余值-请求数”来更新剩余值。在“剩余值<请求数”的情况下,设定“分配值=剩余值”,并结束处理。然后,根据“基本值+分配数”来决定各站点的消息发送许可数。
这里,以剩余值=上限值-(基本值×站点数)为例来进行说明。另外,上限值为‘7’,基本值为‘1’,站点数为图1所示的4个。从而,本实施例中,剩余值为‘3’。另外,在本实施例中,根据优先顺序由高到低排列的结果是站点3→站点4→站点1→站点2。例如站点3的请求数为‘2’,站点1的请求数为‘3’,站点2的请求数为‘1’。而站点4没有发出请求。在该例的情况下,上述处理例中,首先将站点3作为对象,“剩余值(=3)≥请求数(=2)”,因此,可以得到分配数=‘2’,并且将剩余值更新为‘1’。
由于优先顺序第二高的站点4没有发出请求,因此以其后的下一个优先顺序的站点1为对象时,“剩余值(=1)<请求数(=3)”,因此,可以得到分配数=‘1’,本处理结束。即,站点2仅为基本值。另外,站点1、站点2无法在本次完成发送所请求的全部消息。但可以在之后的任一次进行发送。
其结果是,各站点的消息发送许可数分别是:站点1为基本值‘1’+分配数‘1’=2,站点2为基本值‘1’+分配数‘0’=1,站点3为基本值‘1’+分配数‘2’=3。
另外,上述一例的消息发送许可数的决定处理可以说是例如“等分+“加权轮询调度””的处理,但不限于此例。
如上所述,在上述例子中,不仅传输作为基本单位的1通消息(其传输时间如上所述,在只有1个站点发送的情况和所有站点发送的情况下是相同的),还能传输3通消息帧。
在这样的前提下,例如在图6所示的例子中,假设按照站点1、站点2、站点3、站点4这样的顺序排列优先顺序,则可实现图6所示的消息发送。对此,进行如下的说明。
图6中也与上述图17一样,省略了TC频带的动作的图示,并且根据不同情况,在TC频带一栏中示出了表示各站点的信息(站点编号、主/从、请求数等)。这与图7、图8的情况相同。TC频带的动作属于现有技术,不做特别说明。另外,在本实施例的情况下,主站点是为了实现同步等的主站点,并不是与TOKEN(发送权)相关的主站点。本实施例中,不存在与TOKEN(发送权)相关的主站点。
在图6所示的例子,如图所示,各站点的消息请求数分别为:站点1=‘3’,站点2=‘1’,站点3=‘4’,站点4=‘0’。即,站点4没有消息发送请求。然后,根据上述优先顺序,从站点1优先开始根据剩余值进行分配。
即,如上所述,由于站点1的消息发送请求数为‘3’,除了能够无条件发送的1通之外,对于在消息传输频带内追加的能够发送的3通(剩余值),剩余的请求数为2通,因此所有的消息帧都能发送,从而合计有3通消息帧被许可发送。随之,追加的能够发送的消息数(剩余值)还剩下1通(=3-2)。
站点2的消息发送请求为1,因此在能够无条件发送的1通的范围内,发送1通消息帧。
站点3的消息发送请求数为4,因此,除了能够无条件发送的1通之外,还能够发送可以追加发送的剩下1通消息帧,从而合计有2通消息帧被许可发送。
对于没有消息发送请求的站点4,上述处理中只能发送能够无条件发送的1通,但站点4当然也可以不进行消息发送。
通过上述图3的处理,各节点10的帧收发动作例如图6、图7所示。图6表示正常时的动作,图7表示发生了异常时的动作。
首先,基本情况是在公共存储器传输频带(TS频带)中实施需要保证实时性的公共存储器帧传输,另外设置用于进行事件性地单向访问的消息帧传输的消息传输频带(MSG频带)并实施该消息帧传输。
各站点需要发送消息的情况下,在公共存储器帧中附加请求数进行发送。
图6所示的例子中,首先在公共存储器传输频带(TS频带)中,各节点10(站点1~站点4)在同一定时开始发送本站点的公共存储器帧,并且接收从其它站点发送来的公共存储器帧,然后将该接收到的公共存储器帧中继至下游侧的相邻站点并将其数据存储到相应的存储区域。
在本站点的消息是发送事件的情况下,在公共存储器帧中附加请求数(消息发送请求数)进行发送。接收到该公共存储器帧的各节点10在该帧附加了请求数的情况下,判定该帧的发送方节点10发出了消息发送请求。
在图6所示的例子中,站点1、站点2、站点3发生了消息发送事件,站点1、站点2、站点3分别在公共存储器帧中附加消息发送请求数进行发送。在图6所示的例子中,站点1的请求数为‘3’,站点2的请求数为‘1’,站点3的请求数为‘4’。
从上述各节点10发送来的公共存储器帧通过上述图2(b)的处理,如图6所示地被其它站点依次中继,在网络中走了一圈之后回到发送方节点10而被丢弃。
各节点10接收到其它站点发送来的公共存储器帧时,如上所述地进行中继,并且获取其数据并存储到公共存储器中。此时,在附加有消息发送请求数的情况下,也获取该消息发送请求数并追加存储到上述登记表中。在图6所示的例子中,各节点10接收到站点1、站点2、站点3发送来的公共存储器帧时,获取该公共存储器帧中附加的消息发送请求数,并将其与发送方节点的ID等一起追加存储到登记表中(但在本站点的发送帧的情况下,如上所述地丢弃)。
另外,每一个节点10的公共存储器帧的发送数是预先决定的,在图6所示的例子中,站点1的发送数=‘1’,站点2的发送数=‘3’,站点3的发送数=‘2’,站点4的发送数=‘1’。而且,各节点10仅在最开始发送的帧中附加上述消息发送请求数。例如站点2如图6所示地发送3个公共存储器帧,但只有最开始的帧中附加消息发送请求数。
另外,各节点10的公共存储器帧的发送数由开发人员等预先决定,以使在TS频带(公共存储器传输频带)中完成所有站点的所有公共存储器帧的交换。公共存储器帧的交换始终以固定周期进行。
另一方面,关于消息,每一个节点10仅在本站点因某一处理发生了消息发送事件时,才会进行消息的发送。而且,发送的消息数并不是预知的,每次都是根据上述某一处理决定的。因而,如上所述地进行各站点的消息发送许可数的调整和决定,但该决定处理如上所述地在所有节点10(站点1~站点4)都分别独立地进行。
即,并不是像现有技术那样决定主节点,不存在至少与决定发送权相关的主节点,所有节点10都各自独立地决定,由此决定本站点的发送许可数,并发送与所决定的发送许可数相应数量的消息。因此,首先,预先在所有节点10中存储同一算法的发送权决定处理用应用程序。然后,在运用过程中,各节点10分别在每一次获取所需的信息(其它站点的消息发送请求数、各站点的优先顺序等),使用该获取的数据来执行上述发送权决定处理用应用程序。
如上所述,决定算法对于所有节点10来说都是相同的,因此只要上述所需的信息对于所有节点10都是相同的,所有节点10就能得到相同的决定结果。上述所需信息中的上述各站点的优先顺序如上述一例所示,还基于各节点10内置的规定计数器的计数值来决定,因此只要预先设定所有节点10都是相同的计数值即可。例如在初始状态下将所有节点10的计数值全都设定为‘1’,然后例如每当循环计时器15超时时使计数值加1。
在图6的例子中,所有节点10通过上述公共存储器帧的交换,能够获得所有其它站点的消息发送请求数,因此能够获取所需的信息。由此,所有节点10通过执行上述发送权决定处理用应用程序,能够得到相同的决定结果。图6的例子中,作为发送权决定结果,各节点10的消息发送许可数分别为:站点1=‘3’,站点2=‘1’,站点3=‘2’,这对于所有节点10都是相同的结果。
上述发送权决定处理可以例如在TS频带(公共存储器传输频带)的空闲区域(公共存储器帧的交换完成之后到MSG频带开始之前的期间)中执行,也可以如上述图3那样在MSG频带(消息传输频带)开始之后立即执行。
在后者的情况下,发送权决定处理也可以与第1通的消息发送处理并行地执行。本例中,有消息发送请求的节点10被许可最少发送1通消息,因此不等待决定就进行第1通的消息发送也没有问题。从而,如图6所示,站点1、站点2、站点3在MSG频带开始之后立即进行本站点的第1通消息发送。然后,进行例如与由上述剩余值得到的任意分配数相应的数量的消息发送。由此,在本实施例的情况下,例如站点1如图6所示地发送3通消息。另外,本实施例中,站点4没有消息发送请求,因此不发送消息。
无论是否有消息发送请求,所有节点10均通过上述图2(b)的处理,对接收到的消息进行中继(但本站点发送的消息除外)。从而,各站点10在发送了与上述决定的发送许可数相应的数量的本站点的消息之后,对其它站点的发送消息进行中继。图6的示例中,例如站点1如图6所示地发送完成本站点的3通消息之后,对站点3的2通消息、站点2的1通消息依次中继至下游的相邻站点(站点2)。
由此,与公共存储器帧一样,所有站点10都能接收发送来的所有消息,从而发送来的所有消息都能被传输至发送目标节点10。另外,与公共存储器帧一样,无需获得TOKEN(获得发送权),所有节点10从MSG频带一开始就能发送消息,且能够没有任何制约地依次发送/中继消息,因此,能够高效地传输消息,能够在短时间内将很多消息传输至目标节点。图6的示例中,整个系统传输6通消息。消息传输是在发送方节点和目标节点这2个节点之间进行的一对一消息传输。
在图6所示的例子中,目标节点10接收到消息的情况下,也会对该消息进行中继,但不限于此例。也可以在目标节点10接收到消息的情况下,在目标节点10获取了该消息之后,不进行中继而是将其丢弃。
接下来,对图7所示的具体示例进行说明。
这里,图6的示例是上述正常情况下的示例,换言之,是图4的步骤S61的判定为否的示例。而图7的示例是上述异常情况下的示例,换言之,是图4的步骤S61的判定为是的示例。即,可以说是发生了失帧的情况。
图7中,示出了在公共存储器传输频带中有一部分或全部帧发生传输异常等从而发生了失帧的情况的一个示例。
若来自各站点的所有公共存储器帧都正常传输,则各站点分别通过相同的发送权分配判定算法进行判断,能够得到相同的分配结果。但当一部分消息发送请求在一部分站点中缺失而没有被接收到时,不同的站点会得到不同的发送权分配判定结果。
各站点在该状态下分别基于本站点的判断结果进行消息发送时,有可能会出现消息传输没有在消息传输频带时间内完成的情况。为了防止这种情况发生,本实施例中,在一部分或全部公共存储器帧缺失的情况下,各站点对此作出判断,并且仅发送1通消息帧,这1通消息帧是在消息传输频带时间内确实完成了传输的能够无条件发送的1通消息帧。
从图6、图7所示的具体示例可知,无论是在图6所示的公共存储器帧的传输正常完成的情况下,还是在图7所示的发生了异常的情况下,都能够比现有技术传输更多的消息。或者,能够缩短消息传输频带的长度,从而能够缩短扫描时间。
根据本方法,在环型拓扑或线型拓扑的全双工网络中,在消息传输频带中能够发送更多的消息,从而能够实现整个网络的传输量的大容量化。而且,对于公共存储器帧也能够高效地传输,能够在短时间内在所有站点之间进行所有公共存储器帧的交换。
图7的例子所示的是在TS频带中站点1发送的本站点的发送帧(带有消息发送请求数)因某种传输异常而未被相邻站点(站点2)接收到的例子(失帧的一例)。因此本例中,站点1以外的站点并不知道站点1有没有消息发送请求及请求数,因此无法获全上述发送权决定处理所需的信息。
因此,在发生上述失帧的情况下(步骤S61:是),所有节点10都强制性地将本站点的发送数决定为‘1’。由此,如图7所示,在MSG频带中,有消息发送请求的站点1、站点2、站点3一律仅发送1通消息。
这里,对上述步骤S61的判定方法的一例进行说明。例如如上所述,由于每一个站点的公共存储器帧的发送数是预先决定的,因此各节点10能够判定包含本站点在内的所有站点的发送帧是否全部被接收,从而能够判定是否发生了失帧。本例中,公共存储器帧在正常情况下最终会回到发送方节点10,因此在图7的例子中,由于站点1的本站点的发送帧没有返回,因此可以判定为发生了失帧。
并不限于此例,例如在发送方站点发送本站点的公共存储器帧时,各公共存储器帧中附加表示所有发送数中的第几个帧的数据的情况下,通过参照该数据,能够判定是否发生了失帧。
另外,在接收帧不是公共存储器帧而是例如同步帧的情况下,执行以下说明的未图示的处理。本例中不存在与TOKEN相关的主站点,但存在与同步相关的主站点。图6、图7中,站点2为主站点,但该站点与TOKEN无关,而是与同步相关。
即,主节点有时不仅会发送上述公共存储器帧,还会在其它定时发送用于实现循环计时器15同步的同步帧。该同步帧被发送至任意的目标节点。目标节点以外的各节点10接收到该同步帧时,对其进行中继。目标节点接收到该同步帧时,不进行中继,而是将同步应答帧回复给发送方节点(主节点)。
即,在所发生的事件是未图示的“接收到以本站点作为目标站点的同步帧”的情况下,将上述同步应答帧传输至驱动器11,并发送给发送方节点(主节点)。
另外,构成系统的多个节点10中的任一个站点(例如站点1、站点2、站点3、站点4中的任一个站点)被预先设定为作为与上述同步相关的主节点进行动作,或者按照站点编号、MAC地址等的升序或降序等进行优先度判定来作为上述主节点进行动作。主节点以外的节点10基本上全都作为从节点进行动作。主节点利用上述同步帧等,使所有从节点的循环计时器15与本节点的循环计时器15同步。关于这一点,已在现有技术文献等中有记载,这里不再对其进行详细说明。
另外,例如上述主节点发送上述同步帧时,例如通过图2(a)的步骤S12的处理,发送给回路A和回路B双方。从而,目标从节点接收到先抵达的同步帧时,将对其作出应答的同步应答帧发送给A、B双方。然后,主节点将先抵达的同步应答帧传输至处理部14,结果在主节点与目标从节点之间,帧沿着最短路径往返传输。
帧在该最短路径上往返传输所需的时间由主节点测量,该测量时间的一半时间作为主节点与目标从节点之间的通信时间(通信延迟时间)而计算出。使用该通信延迟时间来实现循环计时器15同步的处理属于现有技术,此处不再特别说明。
另外,在所发生的事件不是上述各种事件中的任一种的情况下,执行与所发生的事件相应的处理,对此不再进行特别的图示和说明。
这里,现有技术中,发送计时器的设定值设定为所有站点都互不相同的值。而在本方法中,例如将所有站点都置位在同一设定值(不限于完全相同,也可以是基本相同。即可以有稍许不同)。上述2种发送计时器16、17都采用上述设定。
换言之,在现有技术中,步骤S35的发送计时器16的设定值在每一个节点例如由下述计算式决定。
设定值=TC频带时间+(时隙单位时间×本站点的分配时隙编号)
时隙单位时间是上述发送时隙(105、108等)的长度,例如时隙单位时间=TS频带事件÷站点数等。分配时隙编号是“0和自然数”,例如在站点数=N的情况下,以各站点不重复的方式分配0、1、2、……、N-1中的任一个作为分配时隙编号。
另一方面,在本方法的情况下,例如所有节点的发送计时器16的设定值都预先设定为同一值。下面示出其中一例。
设定值=TC频带时间+α(α:0或任意的正值)
本例中,为了同时发送上述本站点数据,例如上述那样使所有发送计时器16在同一定时结束计时,作为实现这一目的的一例,在使循环计时器15同步的基础上,将所有节点10的发送计时器16设定为同一值,但并不限于此例。这种情况下的“同时”并不限于完全同时的情况,也可以有稍许偏差。
此外,本方法中,并不一定要所有发送计时器16都在同一定时结束计时,只要最终所有节点10的本站点数据发送定时相同,可以是任意的设置。
上述“同一定时”不限于完全相同的定时,也可以有稍许偏差。
另外,为了在上述同一定时进行数据发送,以所有节点的循环计时器15同步为前提,这已经被上述专利文献1、2等现有技术所实现,因此这里对上述的同步进行简单说明,不做进一步详细的说明。
图6、图7中示出了上述2个回路A、回路B中的回路A上的动作,虽然没有特别的图示和说明,回路B中也进行与回路A相同的动作。
这里,本方法并不限于上述例子。例如,关于TS频带的公共存储器帧的发送和中继,也可以使用现有技术。例如,也可以采用图16所示的TOKEN方式的动作。但在TS频带的处理中,发生了消息发送事件的所有节点10需要向其它所有节点10通知本站点的消息发送请求数。之后的MSG频带的相关处理也可以是上述图3、图6、图7的处理。
图8中示出上述变形例的动作的一个示例。
在图8所示的动作例中,TS频带(公共存储器传输频带)中的动作基本上与图16所示的现有技术的动作相同,但发生了消息发送事件的站点要在本站点的公共存储器帧中附加请求数等进行发送。
与之相应的MSG频带中各节点10的消息发送/中继动作可以与图6所示的相同,因此这里不再做特别说明。
图6、图7、图8中,图示的矩形表示收发数据(数据包),每个站点的上侧表示接收,下侧表示发送。横轴为时间。矩形内表述的是发送方站点。在上述发送计时器16计时结束的时刻,各站点同时发送本站点的数据。例如,站点4发送的是图6、图7所示的矩形内为“站点4”的数据。发送数据在传输路径上多少会有延迟,并被下游的相邻站点接收。
如图6~图8所示,所有节点10在MSG频带中几乎没有空闲时间地进行消息的收发处理,从而能够高效地进行消息的收发。从而,与上述图17所示的现有方法相比,能够在短时间内完成消息收发处理,或者与以往相比能够增加消息数量。图6、图7的例子中,除了上述效果之外,在TS频带中也能够几乎没有空闲时间地进行公共存储器帧的传输,从而能够高效地进行所有公共存储器帧的交换。由此,例如也可以减小循环计时器15的设定值,从而缩短扫描时间。
由于不会像现有技术那样使各节点间的通信频带处于未使用状态,因此能够缩短所有节点之间相互交换数据所需要的时间,并且在剩下的频带时间中能进一步进行数据交换,从而能够增加网络上的数据量。另外,通过将该剩下的频带时间用作为下一次扫描时间,能够实现数据交换周期的高速化。
这里对上述回路A的动作进行了说明,但回路B也一样,数据包会在环型网络中走一圈。而且,正常情况下如上所述,各节点10从回路A和回路B双方接收同一数据包。而且,之后接收到的数据包会经过上述步骤S26的处理而被丢弃。
例如图6所示,例如站点2在例如TS频带中发送3通本站点数据(“站点2”数据)的情况下,例如驱动器11具备后述的FIFO存储器和发送专用芯片(IC等)时,驱动器11将上述3通“站点2”数据存储于FIFO存储器。发送专用芯片将FIFO存储器的保存数据依次取出并发送。首先,取出上述3通“站点2”数据中的第1通“站点2”数据并开始发送。图6的例子中,在该发送处理过程中开始接收“站点1”数据,并在“站点1”数据接收完成后将其存储与FIFO存储器。然后,开始接收“站点4”数据,并在“站点4”数据接收完成后将其存储与FIFO存储器。
发送专用芯片按照存放的顺序依次取出FIFO存储器的保存数据并发送,因此在上述例子中如图6所述,首先依次发送上述3通“站点2”数据,然后发送“站点1”数据,再然后发送“站点4”数据。“站点1”数据、“站点4”数据的发送是中继(传送)处理。发送目标是下游的相邻站点即站点3。
站点2还依次接收2通“站点3”数据,并在对已经接收完成的其它站点数据完成了中继之后,对这些“站点3”数据进行中继。3通本站点数据(“站点2”数据)也被依次接收,但这些数据在经过上述步骤S23之后全部被丢弃。
上述例子中,接收到本站点数据后将其丢弃,但并不限于此例。例如,在接收到发送方是本站点下游侧的相邻站点的数据包之后,也可以获取该数据包的数据但不进行中继(例如丢弃)。当然,发送方并不需要获取该数据包的数据,像上述步骤S23那样简单地丢弃即可,因此对该数据包进行中继的处理是无用的处理,为了避免该无用的处理,也可以进行上述处理。从而,能够在更短的时间完成所有节点的数据交换。
其它站点的动作也与上述站点2的大致相同,省略其说明。
这里,以图1(b)所示的驱动器11具备未图示的FIFO存储器和发送专用芯片的情况为例。分别设有回路A用的FIFO存储器和发送专用芯片(IC等)、以及回路B用的FIFO存储器和发送专用芯片(IC等)。例如,回路A用的发送专用芯片在回路A用的FIFO存储器中有任意一个以上的数据帧的情况下,将该数据帧依次地发送到回路A上。例如在站点2的情况下,将数据帧发送到通信线路12b上(即发送到站点3)。
另一方面,驱动器11本体进行上述步骤S12或步骤S22的处理时,进行将本站点数据帧或接收到的数据帧保存到相应的FIFO存储器的处理。以上述图6的站点2为例,站点2首先在步骤S12的处理中将由3个数据帧构成的本站点数据发送到回路A和回路B双方。这里若仅对回路A进行说明,则与回路A对应的FIFO存储器中将依次保存上述3个“站点2”数据帧。
从而,与回路A对应的发送专用芯片将这3个“站点2”数据帧依次发送到通信线路12b上。由此,如图6的例子所示,站点2向站点3依次发送3通本站点数据(“站点2”数据)。而且在该处理过程中,如图6的例子所示,站点2依次接收“站点1”数据、“站点4”数据等,并通过在步骤S22中对这些数据进行中继处理,从而依次存储于与回路A对应的FIFO存储器内。由此,如图6的例子所示,站点2在完成发送3个“站点2”数据帧之后,依次发送“站点1”数据、“站点4”数据等。
图9(b)中示出上述步骤S21、S23的处理示图,图9(a)中示出上述步骤S24、S26的处理示图。
这里,以各节点10具有图9(a)、图9(b)所示的滤波器33的功能为前提来进行说明。滤波器33用于实现上述步骤S21、S23的处理和步骤S24、S26的处理。这里仅示出了站点1和站点2,但也可以是其它站点(可以视作为将其省略)。接下来,对站点1的数据包接收相关的动作例进行说明。
首先,如图9(a)所示,在本站点2发送了本站点数据的情况下,经由回路A、回路B将该数据传输至站点1。站点1接收来自这2个回路的2个数据包,分别为图9(a)所示的站点2A回路帧31、站点2B回路帧32。滤波器33将这2个数据帧31、32中的任一方按照先到优先或后到优先的顺序,作为图9(a)所示的站点2帧34获取到本站点内。
图9(b)中,站点1将本站点数据发送到回路A、回路B双方,这些数据被站点2等其它站点进行中继,最终返回到站点1的是图9(b)所示的站点1A回路帧41和站点1B回路帧42。这种情况下,滤波器33通过上述步骤S33将这2个数据帧41、42双方均丢弃。
另外,作为本方法的适用对象的网络拓扑并不限于上述环型和线型的例子。例如,也可以是图10所示的网络拓扑。图10中,在任意2个节点之间连接的各通信线路46也可以视作为相当于上述通信线路12a、12b、12c、12d和通信线路13a、13b、13c、13d。另外,本例的控制网络系统也不限于以太网。
图11是本例的控制网络系统的功能框图。
图11的控制网络系统由多个节点装置50构成,例如简要地说是多个节点装置50同时发送数据也不会引起通信干扰的网络系统。
更详细而言,作为本方法的适用对象的网络例如是由多条通信线路61构成且各通信线路以P2P的对等关系连接在任意2个节点装置50之间而形成的网络。又例如是全双工回路。即,由上行用通信线路和下行用通信线路构成。即,各节点装置50同时发送数据也不会引起数据包冲突的网络结构。而且是没有通过通信线路61直接连接的节点装置50之间的通信由其它节点装置50进行中继来实现的网络。
图11所示的例子中,各节点装置50分别具备数据收发部51、消息发送部52、消息接收部53、消息发送许可数决定部54、计时功能部55等各种处理功能部。
数据收发部51每隔规定的数据交换周期,在第一频带内发送本装置的数据并接收/中继其它装置的发送数据。
消息发送部52每隔上述规定的数据交换周期,在上述第一频带之后的第二频带内的规定定时,在有本装置的消息发送请求的情况下将该消息发送至相邻站点。
消息接收部53在上述第二频带内,当从其中一个相邻站点接收到消息时,将该消息中继到另一相邻站点,或者在该消息将本装置作为发送目标的情况下,获取该消息。
而且,例如将上述第二频带内的规定定时设为该第二频带的开始时刻。从而无需像以往那样获得发送权,各节点装置50分别在进入了第二频带之后立即就能发送消息。
另外,例如将上述第二频带内的规定定时设为对于所有上述节点装置50都相同的定时。
另外,相同并不限于完全相同,也可以有稍许偏差。即,“相同”也包括了大致相同的情况。为了生成上述第二频带内的规定定时,例如使用1个以上的计时功能。在上述具体例中,使用上述循环计时器15、发送计时器16、消息用发送计时器17来生成上述第二频带内的规定定时。这里,以节点装置50具有这些计时器15、16、17的情况为例进行说明,但并不限于此例。另外,这些计时器15、16、17也可以视作为后述的计时功能部55的具体例。
如上所述,例如将上述第二频带内的规定定时设为对于所有上述节点装置50都相同的定时。或者,将上述第二频带内的规定定时设为例如该第二频带的开始时刻。后述的第一频带内的规定定时也可以使用上述一个以上的计时功能来完成。
假设用该具体例来进行说明,例如将所有节点装置50的发送计时器16、消息用发送计时器17的设定值设为相同,从而所有节点装置50的上述第一频带内的规定定时、第二频带内的规定定时各自为相同的定时,但并不限于此例。另外,以例如所有节点装置50的循环计时器15需要同步为前提,但不限于此例。同步的方法如上所述,属于现有技术。利用循环计时器15生成数据交换周期(通信循环)。
另外,上述第二频带的具体例是上述消息传输频带(MSG频带),上述第一频带的具体例是上述公共存储器传输频带(TS频带)。
例如,在有本装置的消息发送请求的情况下,上述数据收发部51在上述本装置的数据中附加请求数进行发送,并且在上述其它装置的发送数据中附加有该其它装置的上述请求数的情况下,存储该请求数。当然,本装置的上述请求数也进行存储。
然后,例如上述消息发送许可数决定部54基于上述存储的请求数和预先设定的规定值,决定各节点装置的消息发送许可数,从而决定本装置的消息发送许可数。
然后,在有本装置的消息发送请求的情况下,上述消息发送部52发送与上述本装置的消息发送许可数相应的数量的消息。
例如上述消息发送许可数决定部54基于上述存储的请求数、上述预先设定的规定值、以及上述各节点装置当前的优先顺序,决定上述各节点装置的消息发送许可数。
例如上述规定值中包含有上述第二频带内整个系统能够发送的消息数量即上限值。上述消息发送许可数决定部54基于上述存储的请求数和该上限值,决定上述消息发送许可数,以使所有节点装置的上述消息发送许可数的合计不会超过该上限值。
或者上述消息发送许可数决定部54基于上述存储的请求数和上述上限值,决定上述消息发送许可数,以使所有节点装置的上述消息发送许可数的合计不会超过该上限值,并且通过对上述优先顺序较高的节点装置优先分配,来决定上述消息发送许可数。
例如上述消息发送许可数决定部54向所有节点装置分别分配上述消息发送许可数的基本值,并按照上述优先顺序向各节点装置分配从上述上限值减去该基本值的合计后得到的剩余值,以使所有节点装置都能发送1通以上的消息来决定各节点装置的上述消息发送许可数。
另外,例如上述消息发送许可数决定部54对于所有节点装置使用同一算法。从而,如上所述,只要处理所使用的数据相同,就能得到相同的处理结果(各节点装置的上述消息发送许可数)。
另外,例如上述存储的请求数中也包含了上述本装置的请求数。将本装置的请求数也包含在内地决定各节点装置的消息发送许可数。
另外,根据本结构,上述各节点装置50即使在同一定时发送上述消息,也不会引起消息相互冲突。
上述各节点装置50分别通过第一通信线路与本装置的上述其中一个相邻站点一对一地连接,并且分别通过第二通信线路与本装置的上述另一个相邻站点一对一地连接,上述消息接收部经由上述第一通信线路接收来自上述其中一个相邻站点的消息,经由上述第二通信线路向上述另一个相邻站点中继消息。
图11所示的通信线路61相当于上述第一通信线路和第二通信线路。
例如,上述数据收发部51在上述第一频带内的规定定时,将上述本装置的数据发送至上述相邻站点,并且在接收到来自上述其中一个相邻站点的发送数据的情况下,获取该发送数据并且中继至上述另一个相邻站点。
例如将上述第一频带内的规定定时设为该第一频带的开始时刻。或者,例如将上述第一频带内的规定定时设为对于所有上述节点装置50都相同的定时。
例如,上述各节点装置50具有计时功能部55(具有一个以上的计时器),使用该计时功能部55来生成上述第二频带内的规定定时。还利用该计时功能部55来生成上述第一频带内的规定定时。
例如,在上述数据交换周期内的上述第一频带内,所有上述节点装置50的发送数据分别通过反复的上述中继而被所有其它节点装置50接收,从而完成所有节点装置50间的相互数据交换。
例如,在上述数据交换周期内的上述第二频带内,上述各节点装置50的上述消息发送部52发送来的消息分别通过反复的上述中继而被所有其它节点装置50接收,从而所有消息都被其发送目标的节点装置50接收。
例如,上述控制网络系统由多个上述节点装置50和多条通信线路61构成,各通信线路61连接在任意2个节点装置50之间。而且,各节点装置50与通过上述通信线路61连接的其它节点装置50即上述相邻站点能够进行通信。没有通过通信线路连接的节点装置50之间的通信通过其它一个以上的节点装置50进行中继来实现。
例如,各节点装置50通过数据收发部51发送的数据全部通过其它节点装置50的中继功能而被中继,从而在数据交换周期内被所有其它节点装置50接收和获取,并且完成所有节点装置间的相互数据交换。接收和获取是指例如接收并获取,但不限于此例。“/”表示“或”、“或者”。
上述通信线路61例如是全双工回路。
例如图11的控制网络系统是环型或线型的网络,但不限于此例。
例如,图11的控制网络系统是采用环型或线型的拓扑并且利用全双工通信回路将上述各节点装置连接的网络。例如,数据收发部51、消息发送部52向该全双工回路的双方发送本装置的数据。
例如,各节点装置在接收到的数据的发送方是本装置的情况下,不进行中继,而是丢弃该接收数据。或者例如,各节点装置50在接收到的数据的发送方是下游侧的相邻站点的情况下,不进行中继,而是丢弃该接收数据。
例如,在上述数据交换周期内,所有上述节点装置50的发送数据分别通过反复的上述中继而被所有其它节点装置50接收,从而完成所有节点装置间的数据交换。
节点装置50具备未图示的CPU/MPU等运算处理器、存储器等存储部。存储部中预先存储有规定的应用程序。运算处理器通过执行该应用程序,来实现上述图2(a)、图2(b)、图3、图4、图5所示的流程图的处理、图11的各种处理功能部的处理。
图1中示出了环型全双工回路的例子。图12中示出线型的全双工回路的例子。图12的结构可以视作为不存在图1(b)中的通信线路12d和通信线路13d。在采用这样的线型结构的情况下,各节点10的发送数据不会返回到本专电,在到达两端的节点10(本例中为站点1、站点4)的时刻结束中继。
如上所述,本方法使用例如通过专利文献2等的节点同步方法来与主节点的计时器同步的计时器,,构成网络的所有节点10同时向2个相邻的相邻节点发送本站点数据。在本站点数据的发送完成后,所有节点10分别将从本节点的其中一个相邻节点接收到的帧数据中继至另一个相邻节点。该帧数据是消息帧、公共存储器帧。
在本例的图6等例子中,消息帧、公共存储器帧在对应的频带(MSG频带、TS频带)中均无需特别获得发送权就能进行帧发送,例如能够同时(从频带的开始时刻起)开始发送。在发送了本站点的帧数据之后,对接收到的来自其它站点的发送数据进行中继。
由此,能够同时使用构成节点之间的全双工回路的传输频带,能够提高传输效率,实现整个网络的传输量的大容量化和数据交换周期的高速化。由此,例如在环型拓扑或线型拓扑的全双工回路的网络系统中,能够增加网络上的数据量,并能实现数据交换周期的高速化。
消息并不是始终发送的,而是在产生了消息发送请求时才进行发送。在产生了发送请求时,该节点将请求数附加在公共存储器帧中进行发送。从而,通过上述TS频带中所有节点之间的公共存储器帧交换处理,所有节点都能识别所有请求数。从而,在各节点分别基于本站点和各其它站点的请求数等,并采用相同的决定算法,来决定各站点的消息发送许可数。若无异常,则所有节点都应得到相同的决定结果。从而,各站点基于本站点的发送许可数,在MSG频带中发送本站点的消息帧。由此,能够在MSG频带内完成所有的消息收发,并且能够发送尽可能多的消息。另外,由于无需逐一地从主站点获得发送权,并且所有站点在MSG频带开始之后能立即发送本站点的消息帧,因此能够高效地进行消息发送。
本方法并不限于上述实施例。例如,适用对象不限于上述“环型拓扑或线型拓扑的全双工回路的网络系统”。拓扑不限于环型或线型的情况已在上文进行了说明。此外,不限于全双工回路,可以是多重回路(四重回路等),也可以是单回路。
单回路的情况下,例如是图1所示的回路A、回路B的各通信回路12、13仅存在其中一方的结构。例如,仅存在通信回路12的结构。图13中示出这样的结构例。
另外,在单回路的情况下,为了实现循环计时器15的同步,例如在最开始为图1所示的双回路的结构下实现了循环计时器15的同步之后再变为单回路的结构,从而以单回路的结构来使用,但不限于此例。例如也可以在所有节点10设置无线电时钟,从而每一个节点10将自身的无线电时钟所示的时刻与循环计时器15进行比对,最终实现所有节点的循环计时器15同步。
另外,在单回路的情况下(例如只有回路A),各节点10的处理基本上与上述图2(a)、图2(b)、图3、图4、图5的处理大致相同,但有一部分不同。即,首先,上述步骤S12的处理变成仅向回路A发送数据的处理。另外,关于接收处理,由于不再是从2个回路接收2个数据包,因此删除步骤S24、S26的处理。
根据本发明的控制网络系统及其节点10等,相比于现有技术能够在更短的时间内进行1通以上的消息收发。尤其是整个系统要发送多个(多数)消息的情况下,效果尤为显著。
根据本方法,首先,消息发送的传输效率得到提高,能够实现整个网络的传输量的大容量化。这既能保证在确定的MSG频带内必定完成消息的收发,又能实现传输量的大容量化。而且,即使在包含消息请求的数据传输时发生了异常的情况下,也能够保证在确定的MSG频带内必定完成消息的收发,并且能提高传输效率,实现整个网络的传输量的大容量化。
此外,不仅是消息的收发,在所有节点相互交换数据(公共存储器数据、控制数据等)时,相比与以往也能在更短的时间内完成数据交换。因而,使用本发明的控制网络的控制系统能够使数据刷新周期(定期进行)实现高速化,因此能够实现控制的高速化。而且能够期待顾客系统的生产率提高等。
另外,本发明并不限于上述图1的环型或图12的线型的结构。当然,消息通信需要使用环型或线型的结构,但公共存储器数据的交换不一定要使用环型或线型的结构,也可以使用例如专利文献1、2的总线结构。从而,虽然未图示,但例如也可以在图1的结构的基础上进一步构建总线型网络,经由该总线来进行TS频带的公共存储器数据的交换。各节点10为了进行上述通信的结构和动作可以与例如专利文献1、2相同,只要进行例如上述图14的发送动作即可。
这里,“/”除了在数学式等中以外,均表示“或”、“或者”。例如,“和/或”表示“或、或者、以及”。
标号说明
10 节点
11 驱动器
12、13 通信回路
12a、12b、12c、12d 通信线路
13a、13b、13c、13d 通信线路
14 处理部
15 循环计时器
16 发送计时器
17 消息用发送计时器
31 站点2A回路帧
32 站点2B回路帧
33 滤波器
41 站点1A回路帧
42 站点1B回路帧
46 通信线路
50 节点装置
51 数据收发部
52 消息发送部
53 消息接收部
54 消息发送许可数决定部
55 计时功能部。
Claims (18)
1.一种控制网络系统,在该控制网络系统中,多个节点装置相互进行数据交换,其特征在于,
各个所述节点装置分别具备:
数据收发单元,该数据收发单元每隔规定的数据交换周期,在第一频带内发送本装置的数据并接收和中继其它节点装置的发送数据;
消息发送单元,该消息发送单元每隔所述规定的数据交换周期,在所述第一频带之后的第二频带内的规定定时,在有本装置的消息发送请求的情况下将在分配给所述本装置的消息发送许可数以内的消息发送至相邻节点装置;以及
消息接收单元,该消息接收单元在所述第二频带内,当从其中一个相邻节点装置接收到消息时,将该消息中继到另一相邻节点装置,或者在该消息是将本装置作为发送目标的情况下,获取该消息。
2.如权利要求1所述的控制网络系统,其特征在于,
所述第二频带内的规定定时是该第二频带的开始时刻。
3.如权利要求2所述的控制网络系统,其特征在于,
所述第二频带内的规定定时对于所有所述节点装置都设为相同的定时。
4.如权利要求1至3的任一项所述的控制网络系统,其特征在于,
在有本装置的消息发送请求的情况下,所述数据收发单元在所述本装置的数据中附加请求数进行发送,并且在所述其它节点装置的发送数据中附加有该其它节点装置的所述请求数的情况下,存储该其它节点装置的所述请求数,
各个所述节点装置还分别具有消息发送许可数决定单元,该消息发送许可数决定单元基于所述存储的请求数和预先设定的规定值,来决定各节点装置的消息发送许可数,从而决定本装置的所述消息发送许可数,
在有本装置的消息发送请求的情况下,所述消息发送单元发送所述本装置的消息发送许可数的消息。
5.如权利要求4所述的控制网络系统,其特征在于,
所述消息发送许可数决定单元基于所述存储的请求数和所述预先设定的规定值、以及各个所述节点装置当前的优先顺序,来决定各个所述节点装置的消息发送许可数。
6.如权利要求4所述的控制网络系统,其特征在于,
所述规定值是整个系统能够在所述第二频带内发送的消息数即上限值,
所述消息发送许可数决定单元基于所述存储的请求数和该上限值,决定所述消息发送许可数,以使所有节点装置的所述消息发送许可数的合计不会超过该上限值。
7.如权利要求5所述的控制网络系统,其特征在于,
所述规定值是整个系统能够在所述第二频带内发送的消息数即上限值,
所述消息发送许可数决定单元基于所述存储的请求数和该上限值,以使所有节点装置的所述消息发送许可数的合计不会超过该上限值,并且对所述优先顺序较高的节点装置优先进行分配的方式,来决定所述消息发送许可数。
8.如权利要求7所述的控制网络系统,其特征在于,
所述消息发送许可数决定单元向所有节点装置分别分配所述消息发送许可数的基本值,并按照所述优先顺序向各节点装置分配从所述上限值减去该基本值的合计后得到的剩余值,从而使所有节点装置都能发送1条以上的消息,由此来决定各节点装置的所述消息发送许可数。
9.如权利要求1所述的控制网络系统,其特征在于,
所述数据收发单元在所述第一频带内的规定定时,将所述本装置的数据发送至所述相邻节点装置,并且在接收到来自所述其中一个相邻节点装置的发送数据的情况下,获取该发送数据并将其中继到所述另一相邻节点装置。
10.如权利要求1至3的任一项所述的控制网络系统,其特征在于,
各个所述节点装置还具有一个以上的计时单元,
使用该一个以上的计时单元来生成所述第二频带内的规定定时。
11.如权利要求1至3的任一项所述的控制网络系统,其特征在于,
在所述数据交换周期内的所述第一频带内,所有所述节点装置的发送数据分别通过反复的所述中继而被所有其它节点装置接收,从而完成所有节点装置间的相互数据交换,
在所述数据交换周期内的所述第二频带内,各个所述节点装置的所述消息发送单元发送的消息分别通过反复的所述中继而被所有其它节点装置接收,从而所有消息都被该消息的发送目标的节点装置接收。
12.一种节点装置,是多个所述节点装置相互进行数据交换的控制网络系统中的节点装置,其特征在于,包括:
数据收发单元,该数据收发单元每隔规定的数据交换周期,在第一频带内发送本装置的数据并接收和中继其它节点装置的发送数据;
消息发送单元,该消息发送单元每隔所述规定的数据交换周期,在所述第一频带之后的第二频带内的规定定时,在有本装置的消息发送请求的情况下将在分配给所述本装置的消息发送许可数以内的消息发送至相邻节点装置;以及
消息接收单元,该消息接收单元在所述第二频带内,当从其中一个相邻节点装置接收到消息时,将该消息中继到另一相邻节点装置,或者在该消息是将本装置作为发送目标的情况下,获取该消息。
13.如权利要求12所述的节点装置,其特征在于,
所述第二频带内的规定定时是该第二频带的开始时刻。
14.如权利要求13所述的节点装置,其特征在于,
所述第二频带内的规定定时对于所有所述节点装置都设为相同的定时。
15.如权利要求12至14的任一项所述的节点装置,其特征在于,
在有本装置的消息发送请求的情况下,所述数据收发单元在所述本装置的数据中附加请求数进行发送,并且在所述其它节点装置的发送数据中附加有该其它节点装置的所述请求数的情况下,存储该其它节点装置的所述请求数,
所述节点装置还具有消息发送许可数决定单元,该消息发送许可数决定单元基于所述存储的请求数和预先设定的规定值,来决定各节点装置的消息发送许可数,从而决定本装置的所述消息发送许可数,
在有本装置的消息发送请求的情况下,所述消息发送单元发送所述本装置的消息发送许可数的消息。
16.如权利要求15所述的节点装置,其特征在于,
所述消息发送许可数决定单元基于所述存储的请求数和所述预先设定的规定值、以及各个所述节点装置当前的优先顺序,来决定各个所述节点装置的消息发送许可数。
17.如权利要求15所述的节点装置,其特征在于,
所述规定值是整个系统能够在所述第二频带内发送的消息数即上限值,
所述消息发送许可数决定单元基于所述存储的请求数和该上限值,决定所述消息发送许可数,以使所有节点装置的所述消息发送许可数的合计不会超过该上限值。
18.如权利要求16所述的节点装置,其特征在于,
所述规定值是整个系统能够在所述第二频带内发送的消息数即上限值,
所述消息发送许可数决定单元基于所述存储的请求数和该上限值,以使所有节点装置的所述消息发送许可数的合计不会超过该上限值,并且对所述优先顺序较高的节点装置优先进行分配的方式,来决定所述消息发送许可数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016031502 | 2016-02-22 | ||
JP2016-031502 | 2016-02-22 | ||
PCT/JP2017/001170 WO2017145567A1 (ja) | 2016-02-22 | 2017-01-16 | 制御ネットワークシステム、そのノード装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107925606A CN107925606A (zh) | 2018-04-17 |
CN107925606B true CN107925606B (zh) | 2021-02-26 |
Family
ID=59685032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780002872.3A Active CN107925606B (zh) | 2016-02-22 | 2017-01-16 | 控制网络系统及其节点装置 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP3328003B1 (zh) |
JP (1) | JP6665924B2 (zh) |
KR (1) | KR101991114B1 (zh) |
CN (1) | CN107925606B (zh) |
TW (1) | TWI734743B (zh) |
WO (1) | WO2017145567A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112018007039B4 (de) * | 2018-03-09 | 2024-08-08 | Mitsubishi Electric Corporation | Steuervorrichtung, Kommunikationsverfahren und Kommunikationsprogramm |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4975904A (en) * | 1984-06-01 | 1990-12-04 | Digital Equipment Corporation | Local area network for digital data processing system including timer-regulated message transfer arrangement |
JP4241343B2 (ja) | 2003-11-26 | 2009-03-18 | 富士電機システムズ株式会社 | 送信タイミング決定方法、バス使用権の調停方法、ネットワークシステム、プログラム |
WO2006044140A2 (en) * | 2004-10-14 | 2006-04-27 | Motorola, Inc. | System and method for time synchronizing nodes in an automotive network |
CN100566279C (zh) * | 2005-12-09 | 2009-12-02 | 松下电器产业株式会社 | 网络系统及中继装置 |
CN101252426B (zh) * | 2007-09-11 | 2011-05-11 | 北京东土科技股份有限公司 | 一种高可靠性分布式冗余环网的实现方法 |
CN102265562B (zh) * | 2008-12-25 | 2014-11-26 | 三菱电机株式会社 | 通信管理装置、通信系统以及数据通信方法 |
JP5197765B2 (ja) * | 2008-12-25 | 2013-05-15 | 三菱電機株式会社 | 通信管理装置および通信装置 |
EP2410697A1 (en) * | 2010-07-20 | 2012-01-25 | ABB Research Ltd. | Frame transmission and communication network |
KR101390842B1 (ko) | 2012-04-27 | 2014-05-08 | 삼성중공업 주식회사 | 선박용 추진장치 및 이를 갖춘 선박 |
CN103763377B (zh) * | 2014-01-24 | 2017-03-01 | 北京仿真中心 | 一种分布式仿真时间推进和消息传输的同步方法 |
JP6265058B2 (ja) * | 2014-06-19 | 2018-01-24 | 富士電機株式会社 | ネットワーク伝送システム、そのマスタノード、スレーブノード |
-
2017
- 2017-01-16 EP EP17756009.1A patent/EP3328003B1/en active Active
- 2017-01-16 WO PCT/JP2017/001170 patent/WO2017145567A1/ja active Application Filing
- 2017-01-16 CN CN201780002872.3A patent/CN107925606B/zh active Active
- 2017-01-16 JP JP2018501040A patent/JP6665924B2/ja active Active
- 2017-01-16 KR KR1020187005115A patent/KR101991114B1/ko active IP Right Grant
- 2017-02-08 TW TW106104129A patent/TWI734743B/zh active
Also Published As
Publication number | Publication date |
---|---|
JPWO2017145567A1 (ja) | 2018-06-14 |
TWI734743B (zh) | 2021-08-01 |
JP6665924B2 (ja) | 2020-03-13 |
EP3328003A4 (en) | 2018-07-11 |
WO2017145567A1 (ja) | 2017-08-31 |
KR101991114B1 (ko) | 2019-06-19 |
TW201731257A (zh) | 2017-09-01 |
EP3328003B1 (en) | 2019-05-15 |
EP3328003A1 (en) | 2018-05-30 |
KR20180031031A (ko) | 2018-03-27 |
CN107925606A (zh) | 2018-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Takagi | Application of polling models to computer networks | |
US9380577B2 (en) | Method and device for collaborative data communication in a radio network | |
JP4790289B2 (ja) | 非同期ネットワークでパケット送達時間を保証する方法、装置、およびシステム | |
US9756654B2 (en) | Timer-based scheme for user equipment queue state estimation | |
CN108811176A (zh) | 一种无线物联网随机多址接入的集中式冲突解决方法 | |
CN107925606B (zh) | 控制网络系统及其节点装置 | |
Trsek et al. | A flexible approach for real-time wireless communications in adaptable industrial automation systems | |
EP2498455A1 (en) | Method and system to coordinate the communication channel access in a technology independent way in order to improve channel efficiency and to provide QoS guarantees | |
CN108605006B (zh) | 控制网络系统及其节点装置 | |
JP2008211538A (ja) | スケジューラ端末 | |
WO2015185526A1 (en) | Method of contending for access to a communication channel and associated communication device | |
JP6528847B2 (ja) | 制御ネットワークシステム、そのノード装置 | |
Bitencort et al. | AdapTA: Adaptive timeslot allocation scheme for IEEE 802.15. 4e LLDN mode | |
Scharbarg et al. | Interconnecting can busses via an ethernet backbone | |
CN102484881A (zh) | 传输方法 | |
Du et al. | A history-based scheduling protocol for ad hoc networks | |
JP5677155B2 (ja) | データ送受信装置及びデータ送受信方法 | |
Cicconetti et al. | A bandwidth request reiteration mechanism for IEEE 802.16 wireless networks | |
WO2021121541A1 (en) | Reliable device-to-device communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |