控制装置、控制系统、控制方法以及存储介质与流程

文档序号:18522960发布日期:2019-08-24 09:58阅读:166来源:国知局
控制装置、控制系统、控制方法以及存储介质与流程

本发明涉及一种控制系统(system)、控制系统、控制方法以及存储介质,其包括对性能要求不同的多种控制数据(data)进行彼此通信的控制装置与各种从机(slave)装置。



背景技术:

当前,工厂自动化(factoryautomation,fa)系统已得到广泛实用。fa系统包括控制装置与多个从机装置。多个从机装置为测量器、开关(switch)或控制用驱动器(driver)等,在控制用驱动器上连接有控制对象机器。

控制装置针对多个从机装置,对控制数据进行通信。此时,控制装置针对多个从机装置,以预先设定的控制周期(循环(cyclic)周期)来对控制数据进行依序通信。由此,确保控制数据的发送的实时(realtime)性。以下,将此控制数据称作循环控制数据。

另一方面,在控制装置与多个从机装置之间,有时对与循环控制数据不同的其他信息系数据进行通信。信息系数据是未必需要如循环控制数据那样,在循环周期进行通信的数据,容量也相对较大。专利文献1所示的系统中,对所述信息系数据进行分割,分为多个循环周期来进行通信。

[现有技术文献]

[专利文献]

专利文献1:日本专利特开2004-363782号公报



技术实现要素:

[发明所要解决的问题]

当前,作为从机装置,多利用机器人(robot)装置、或对机器人装置进行控制的机器人控制装置。

但是,对机器人装置或机器人控制装置等通信的控制数据包含多个命令等,有时容量比所述以往的循环控制数据大。以下,将对所述机器人装置或机器人控制装置等通信的、容量比以往的循环控制数据大的控制数据称作准控制数据。

因此,控制装置有时无法在循环周期内对所有的准控制数据进行通信。

另一方面,准控制数据中,所含的命令等的顺序已被决定。并且,若机器人装置或机器人控制装置等从机装置弄错此顺序,则会引起机器人装置的误动作等问题。

而且,并不限于机器人装置或机器人控制装置等,在控制数据的容量比基于一次循环周期的通信的最大容量大(相当于所述准控制数据)、且控制数据内的命令等的顺序重要的其他通信中,也会产生同样的问题。

因此,本发明的目的在于提供一种控制数据的通信技术,即使控制数据的容量比基于一次循环周期的通信的最大容量大,也能够在接收侧准确地接收而不会使控制数据的结构发生变化。

[解决问题的技术手段]

根据本发明的一例,控制装置包括循环通信部与通信管理部。循环通信部对第1控制数据与第2控制数据的通信进行控制。第1控制数据是根据预先设定的循环周期来保证以第1保证时间的到达的控制数据。第2控制数据保证以比循环周期长的第2保证时间的到达,且构成的信息的顺序已被决定。通信管理部对第1控制数据与第2控制数据的通信调度(schedule)进行管理。进而,通信管理部在第2控制数据的数据容量超过基于循环周期和第1控制数据的数据容量的、第2控制数据用的通信容量时,根据所述第2控制数据用的通信容量来将第2控制数据分割为多个通信用数据。通信管理部对多个通信用数据分别添附表示分割而通信的识别符、第2控制数据的数据容量、及分割的通信顺序。通信管理部将多个通信用数据提供给循环通信部。

所述结构中,即使第2控制数据的数据容量比基于循环周期和第1控制数据的数据容量的、第2控制数据用的通信容量大,所述第2控制数据也能被切实地发送至所述控制装置所连接的从机装置。而且,在从机装置中,能够掌握通信用数据的顺序,不会弄错所构成的信息的顺序,而使第2控制数据复原。

而且,根据本发明的一例,控制装置的通信管理部在存在多个第2控制数据时,使用多个第2控制数据的每个的第2保证时间、及第2控制数据用的发送容量,对多个第2控制数据的每个进行分割,并提供给循环通信部。

所述结构中,即使在第2控制数据为多个的情况下,也能切实对多个第2控制数据的各个进行通信,并在从机装置侧准确地复原。

而且,根据本发明的一例,通信管理部将由多个第2控制数据分别形成的通信用数据,以在相同的循环周期内进行通信的方式而提供给循环通信部。

所述结构中,能在时间上大致平行地对数据容量大的多个第2控制数据进行通信。

而且,根据本发明的一例,通信管理部对多个通信用数据分别添附数据容量而提供给循环通信部。

所述结构中,针对多个通信用数据的各个,能够切实地掌握信息的缺失等与通信相关的错误(error)。

而且,根据本发明的一例,控制装置包括:消息(message)通信部,对信息系数据的收发进行控制,信息系数据不同于第1控制数据及第2控制数据,不进行时间保证。通信管理部也使用信息系数据的通信容量来进行第2控制数据的分割。

所述结构中,能一边对信息系数据进行通信,一边切实地发送第2控制数据。

而且,根据本发明的一例,控制系统包括:所述的任一个控制装置;以及机器人装置或机器人控制装置,可通信地连接至控制装置。第2控制数据包含机器人控制用的命令群。

所述结构中,当包含机器人装置作为fa系统时,可将多个命令,也包含命令的顺序在内,在到达保证时间内准确地通信至所述机器人装置。由此,可抑制机器人装置的动作延迟、误动作等问题。

[发明的效果]

根据本发明,即使控制数据的容量比基于一次循环周期的通信的最大容量大,也能够在接收侧准确地接收控制数据而不会使控制数据的结构发生变化。

附图说明

图1是表示控制系统中的装置的概略结构的图。

图2是表示控制装置的硬件结构的框图。

图3是控制装置的功能框图。

图4(a)是表示不含信息系数据时的控制装置的初始处理的流程图,图4(b)是表示含有信息系数据时的控制装置的初始处理的流程图。

图5是表示控制装置对第2控制数据的分割、发送处理的流程图。

图6是表示通信数据的概略结构的图。

图7(a)是表示第2控制数据受到分割时的n1帧与n2帧的数据结构的图,图7(b)是表示第2控制数据的数据结构的图。

图8是表示第1控制数据与第2控制数据的通信时的数据结构的图。

图9是表示第1控制数据与第2控制数据的通信时的数据结构的图。

图10是表示第1控制数据与第2控制数据的通信时的数据结构的图。

图11是表示将多个第2控制数据分配给多个帧而分割时的处理的一例的流程图。

图12是表示将多个第2控制数据均进行分割发送时的处理的一例的流程图。

图13(a)及图13(b)是表示存在分割发送的第2控制数据与不分割发送的第2控制数据时的处理的一例的流程图。

[符号的说明]

1:控制系统

10:控制装置

30:控制用网络

60:信息通信用网络

61:个人计算机

62:工业用个人计算机

63:数据库装置

100:数据总线

101:cpu

102:存储器

103:存储介质

104:收发部

105:上位通信部

110:通信管理部

111:第1控制系通信管理

112:第2控制系通信管理

113:信息系通信管理

121:循环通信部

122:消息通信部

130:通信驱动器

141:用户应用处理部

142:其他处理部

211、212、221:从机装置

具体实施方式

以下,参照图来说明本发明的实施方式。

·适用例

首先,使用图来说明本发明的实施方式的控制装置的适用例。图3是控制装置的功能框图。

如图3所示,控制装置10至少包括通信管理部110及循环通信部121,且包括通信驱动器(driver)130。

通信管理部110执行第1控制系通信管理111及第2控制系通信管理112。而且,通信管理部110执行第1控制系通信管理111及第2控制系通信管理112的调度(scheduling),即,后述的各种数据的收发调度。

第1控制系通信管理111遵照预先设定的循环周期,执行在每个循环周期收发的第1控制数据的通信管理(调度)。第1控制数据是数据容量小的控制数据,例如包含伺服(servo)指令值、编码器(encoder)值、传感器的通断(on/off)控制值等。第1控制数据是经时间保证,以使得以由循环周期所规定的第1保证时间来收发的控制数据。

第2控制系通信管理112执行具有与第1控制数据不同的性能要求的第2控制数据的通信管理(调度)。第2控制数据是数据容量相对较大的控制数据,例如包含对机器人装置或机器人控制装置给予的命令群等。第2控制数据是被定义为,以比循环周期的1周期长的到达保证时间来完成通信的控制数据。第2控制数据中,存在数据容量相对于第1控制数据为大的数据,例如存在容量比能以循环周期的1周期来通信的数据容量大的数据。

通信管理部110将第1控制数据与第2控制数据提供给循环通信部121。

此结构中,通信管理部110基于循环周期与第1控制数据的数据容量,来决定能以循环周期的1周期来发送的第2控制数据的最大容量(发送容量)。若第2控制数据的数据容量比发送容量大,则通信管理部110将第2控制数据分割为多个通信用数据。多个通信用数据各自的数据容量比发送容量小。

通信管理部110对多个通信用数据的各个添附表示分割发送的识别符(后述的片段(fragment)识别符(identification,id)(参照图7(a)、图7(b)))、第2控制数据的数据容量(后述的总数据大小(参照图7(a)、图7(b)))、及分割的发送顺序(兼用后述的片段id(参照图7(a)、图7(b))),而生成多个通信用数据,并由第2控制系通信管理112进行管理。并且,第2控制系通信管理112通过调度,根据循环周期而将多个通信用数据的各个依序输出至循环通信部121。

循环通信部121将第1控制数据与第2控制数据(各通信用数据)转换为通信用的数据格式,并输出至通信驱动器130。通信驱动器130将第1控制数据及第2控制数据(各通信用数据)遵照循环周期而发送至经由后述的控制用网络所连接的从机装置。

通过使用此种结构及处理,即使第2控制数据的容量比基于一次循环周期的第2控制数据用的发送容量大,也能够实现对第2控制数据的时间保证,并且将第2控制数据准确地发送至从机装置。进而,从机装置能够复原第2控制数据而不会弄错构成的信息的顺序。

·结构例

参照图来说明本发明的实施方式的控制装置、控制系统、控制方法以及控制程序。本实施方式中,作为控制系统,以fa(工厂自动化)系统为例进行说明。

图1是表示控制系统中的装置的概略结构的图。如图1所示,控制系统1包括控制装置10、从机装置211、从机装置212、从机装置221、控制用网络30、信息通信用网络60、个人计算机(personalcomputer)61、工业用个人计算机62、及数据库(database)装置63。

(数据定义)

首先,对各数据的定义进行说明。

第1控制数据根据控制用网络30中所用的循环周期(例如10msec以下)的1周期来决定到达保证时间(第1保证时间)。第1控制数据包含1比特(bit)至数十字节(byte)的控制数据群。所谓到达保证时间,例如是指为了使对象从机装置正常动作而控制数据必须到达的最长(慢)的时间。

第2控制数据是被定义为,以比循环周期的1周期长的到达保证时间(第1保证时间)而完成通信的控制数据。第2控制数据中,存在数据容量相对于第1控制数据为大的数据,例如存在容量比能以循环周期的1周期来通信的数据容量大的数据。第2控制数据是构成的多个信息的顺序已被决定的控制数据。第2控制数据例如包含实现机器人装置的序列动作的多个命令群。

信息系数据是不同于第1控制数据及第2控制数据,未设定到达保证时间的数据。例如,信息系数据包含与控制用网络30连接的各装置的日志(log)的获取请求数据、日志、监控图像等各种数据。

第1控制数据与第2控制数据是遵照循环周期而通信的数据,信息系数据是以不需要遵照循环周期的规格而通信的数据。

(控制系统)

控制用网络30例如是遵照以太网控制自动化技术(controlautomationtechnology,ethercat(注册商标))或过程现场网(processfieldnet,profinet)等作为网络规格的网络。另外,控制用网络30并不限于这些,只要是与循环周期同步地执行数据收发的网络。控制装置10、从机装置211、从机装置212及从机装置221通过控制用网络30而连接。

信息通信用网络60例如是遵照ethernet(注册商标)作为网络规格的网络。控制装置10、个人计算机61、工业用个人计算机62及数据库装置63通过信息通信用网络60而连接。

在个人计算机61中,安装有控制程序的编辑工具等。个人计算机61进行控制装置10、从机装置211及从机装置212的控制程序的制作、编辑、输出。个人计算机61将控制程序输出至控制装置10。

在工业用个人计算机62中,例如安装有机器人用控制程序的编辑工具等。工业用个人计算机62进行从机装置221的控制程序的制作、编辑、输出。工业用个人计算机62例如将机器人用控制程序输出至控制装置10。

数据库装置63从控制装置10存储各装置的日志等。另外,执行成为信息系数据的源的数据的生成、获取的装置并不限于数据库装置63,也可为其他装置。而且,个人计算机61、工业用个人计算机62及数据库装置63是构成上位系统的装置,构成上位系统的装置并不限于这些。

具体而言,控制装置10例如通过可编程逻辑控制器(programmablelogiccontoroller,plc)而实现。控制装置10只要是经由控制用网络30来对控制数据进行通信,并经由信息通信用网络60来对各种数据进行通信的装置,则也可为其他装置。

控制装置10例如使用来自个人计算机61的控制程序,生成第1控制数据。控制装置10例如使用来自工业用个人计算机62的机器人用控制程序,生成第2控制数据。另外,控制装置10也能够使用来自个人计算机61的控制程序来生成第2控制数据。

而且,控制装置10生成信息系数据。信息系数据包含个人计算机61欲从连接于控制用网络30的从机装置211、从机装置212及从机装置221获取的信息以及所述信息的获取请求等。因此,例如,信息系数据是根据来自个人计算机61的指示而在控制装置10中生成。

具体而言,从机装置211、从机装置212例如是通过伺服驱动器(servodriver)、传感器等测量器等而实现。另外,从机装置211、从机装置212只要是以第1控制数据来动作的装置,则也可为其他装置。

具体而言,从机装置221例如是通过机器人装置或连接于机器人装置的机器人控制装置而实现。另外,从机装置221只要是以第2控制数据来动作的装置,则也可为其他装置。

控制装置10、从机装置211、从机装置212及从机装置221对第1控制数据、第2控制数据及信息系数据的收发进行调度。控制装置10、从机装置211、从机装置212及从机装置221根据所述调度,遵照循环周期来对第1控制数据、及第2控制数据进行通信。

此时,如上所述,若第2控制数据的数据容量相对于能以循环周期的1周期来通信的第2控制数据的最大容量(发送容量)为大,则控制装置10将第2控制数据分割为多个通信用数据。并且,控制装置10将多个通信用数据分配给多个循环周期进行通信。另外,控制装置10对每个从机装置执行所述分割处理。

(控制装置的硬件结构)

图2是表示控制装置的硬件结构的框图。

如图2所示,作为硬件结构,控制装置10包括中央处理器(centralprocessingunit,cpu)101、存储器(memory)102、存储介质103、收发部104及上位通信部105。控制装置10中,cpu101、存储器102、存储介质103、收发部104及上位通信部105通过数据总线(databus)100而连接。

cpu101将存储于存储介质103中的系统程序、及用户应用程序(userapplicationprogram)读出至存储器102中而执行,由此来实现后述的各功能块(block)的各处理。存储器102例如通过动态随机存取存储器(dynamicrandomaccessmemory,dram)或静态随机存取存储器(staticrandomaccessmemory,sram)等易失性存储元件而实现。而且,存储介质103例如通过磁存储介质、快闪存储器(flashmemory)等非易失性存储介质而实现。

收发部104是控制装置10中的控制用网络30的接口,执行遵照循环周期的第1控制数据及第2控制数据的收发(通信)。而且,收发部104例如使用与循环周期的1周期中的第1控制数据及第2控制数据所占用的通信频带不同的通信频带,来执行信息系数据的收发(通信)。

上位通信部105是控制装置10中的信息通信用网络60的接口,执行与所述上位系统的各装置之间的通信。

(控制装置的功能块)

图3是控制装置的功能框图。

如图3所示,控制装置10包括通信管理部110、循环通信部121、消息通信部122、通信驱动器130、用户应用处理部141及其他处理部142。

通信管理部110执行第1控制系通信管理111、第2控制系通信管理112及信息系通信管理113。而且,通信管理部110执行第1控制系通信管理111、第2控制系通信管理112及信息系通信管理113的调度,即,后述的各种数据的通信调度。此时,通信管理部110基于作为通信对象的从机装置的个数、种类,来分配相对于循环周期的1周期的、各从机装置的通信频带(参照图6)。

如上所述,第1控制系通信管理111遵照预先设定的循环周期,来执行在每个循环周期而通信的第1控制数据的通信管理。

第2控制系通信管理112执行第2控制数据的通信管理。此时,若第2控制数据的数据容量比能以循环周期的1周期来发送的第2控制数据的最大容量(通信容量)为大,则第2控制系通信管理112将第2控制数据分割为多个通信用数据。并且,第2控制系通信管理112以多个通信用数据为单位来执行通信管理。

信息系通信管理113执行信息系数据的通信管理。此时,若信息系数据的数据容量比能以循环周期的1周期来通信的信息系数据的最大容量(发送容量)大,则信息系数据也分割为多个数据。并且,信息系通信管理113以所分割的多个数据为单位来执行通信管理。

通信管理部110通过收发(通信)的调度,将第1控制数据与第2控制数据提供给循环通信部121。此时,若第2控制数据被分割为多个通信用数据,则通信管理部110将多个通信用数据的每个提供给循环通信部121。

通信管理部110通过收发的调度,将信息系数据提供给消息通信部122。此时,若信息系数据被分割为多个数据,则通信管理部110将所分割的多个数据的每个提供给消息通信部122。

循环通信部121将第1控制数据及第2控制数据转换为控制用网络30的数据格式。循环通信部121根据从通信管理部110给予的收发调度,将转换后的第1控制数据及第2控制数据输出至通信驱动器130。

消息通信部122根据从通信管理部110给予的收发调度,将信息系数据输出至通信驱动器130。

通信驱动器130执行收发部104的控制,遵照循环周期来将第1控制数据及第2控制数据经由控制用网络30进行通信。此时,若第2控制数据被分割为多个通信用数据,则遵照循环周期来对多个通信用数据进行依序通信。同样地,若信息系数据被分割为多个数据,则对所分割的多个数据进行依序通信。

另外,用户应用处理部141执行所述的用户应用程序。通过所述用户应用处理部141,获取来自工业用个人计算机62的第2控制数据。其他处理部142例如执行控制装置10的启动处理、或使用控制用网络30的控制的初始处理等。

(具体的通信处理)

在此种结构中,第1控制数据及第2控制数据的发送是通过由控制装置10(通信管理部110)执行图4(a)、图4(b)及图5所示的控制流程而实现。图4(a)是表示不含信息系数据时的控制装置的初始处理的流程图,图4(b)是表示含有信息系数据时的控制装置的初始处理的流程图。图5是表示控制装置对第2控制数据的分割、发送处理的流程图。图6是表示通信数据的概略结构的图。另外,图6中,表示了作为第2控制数据通信对象的从机装置的个数为一个的示例。而且,图6表示了图1所示的系统结构的情况下的数据结构例。

首先,使用图6来说明帧数据的结构。如图6所示,帧数据包含从先头开始依照下述顺序排列的数据,即:控制数据用的数据头(header)、针对从机装置211的第1控制数据d01、针对从机装置212的第1控制数据d02、针对从机装置221的第1控制数据d1、针对从机装置221的第2控制数据d21、控制数据用的数据尾(footer)、信息系数据用的数据头、信息系数据di、信息系数据用的数据尾。而且,图6中,在帧数据中,在控制数据用的数据尾与信息系数据用的数据头之间、以及信息系数据用的数据头之后,设定有与数据的冲突避免用的待机时间dt对应的空白数据区域。优选设定此待机时间dt,但也可予以省略。并且,通过包含此种结构的帧数据,执行循环周期的1周期中的通信。

接下来,对需要分割针对从机装置221的第2控制数据时的具体处理进行说明。

(a不对信息系数据进行通信时)

对于未设定信息系数据的通信时间时的、第2控制数据的分割处理的初始处理,使用图4(a)来进行说明。

首先,控制装置10基于作为通信对象的从机装置的个数、种类,对相对于循环周期的1周期的、各从机装置的通信频带进行分配。控制装置10算出第1控制数据的通信容量(s11)。具体而言,控制装置10提取对经由控制用网络30而连接的从机装置211、从机装置212及从机装置221给予的所有第1控制数据。它们能够基于来自个人计算机61的控制程序而提取及算出。

控制装置10算出循环周期的1周期中所含的、相对于对第2控制数据进行通信的各从机装置的、第2控制数据用的空余容量(s12)。所谓空余容量,若为时分多址(timedivisionmultipleaccess,tdma),则是指从循环周期的1周期(图6的tcy)中的、对第2控制数据进行通信的各从机装置的通信频带,除去第1控制数据的通信容量(与图6的tc1对应的容量)后的容量。因此,控制装置10通过从在循环周期的1周期中对第2控制数据进行通信的各从机装置可通信的上限容量减去第1控制数据的通信容量,从而算出空余容量。

控制装置10获取第2控制数据的性能要求(s13)。所谓第2控制数据的性能要求,包含第2控制数据的到达保证时间。此性能要求能够基于来自工业用个人计算机62的控制程序(例如机器人用控制程序)等而获取。

控制装置10基于空余容量及性能要求,来设定相对于对第2控制数据进行通信的各从机装置的、第2控制数据的通信上限容量dsf(s14)。通信上限容量dsf对应于在循环周期的1周期中各个从机装置可对第2控制数据进行通信的最大容量。具体而言,例如,若满足性能要求,则控制装置10将空余容量设定为通信上限容量dsf。

(b对信息系数据进行通信时)

对于设定信息系数据的通信时间时的、第2控制数据的分割处理的初始处理,使用图4(b)来进行说明。另外,与图4(a)相同的处理简化说明。

首先,控制装置10基于作为通信对象的从机装置的个数、种类,对相对于循环周期的1周期的、各从机装置的控制数据用的通信频带进行分配。此时,控制装置10设定信息系数据的通信容量(s15),将所述信息系数据的通信容量也考虑在内,来对各从机装置的控制数据用的通信频带进行分配。控制装置10算出第1控制数据的通信容量(s11)。控制装置10算出循环周期的1周期(图6的tcy)中所含的空余容量(s12)。控制装置10获取第2控制数据的性能要求(s13)。

控制装置10设定信息系数据的通信容量(s15)。信息系数据的通信容量例如可通过接受来自个人计算机61或数据库装置63等的指示而设定。

控制装置10基于空余容量、性能要求及信息系数据的通信容量,来设定通信上限容量dsf,所述通信上限容量dsf对应于在循环周期的1周期中可发送第2控制数据的容量(s16)。

另外,在所述(a)、(b)所示的初始处理中,若所算出的空余容量不满足第2控制数据的性能要求,则控制装置10发出警告。例如,具体而言,控制装置10根据所算出的空余容量来算出第2控制数据的分割数,并根据所述分割数来算出第2控制数据的通信完成的预定时间。若通信完成的预定时间比基于性能要求的到达保证时间长,则控制装置10判定为不满足性能要求,并发出警告。

接下来,使用图5、图6来说明控制系统运转中的通信管理处理,。

控制装置10获取第2控制数据d2(s21)。控制装置10算出第2控制数据d2的数据容量dsu(s22)。

若数据容量dsu比通信上限容量dsf大(s23:是),则控制装置10基于通信上限容量dsf来分割第2控制数据d2,生成多个通信用数据(对应于本发明的通信用数据的一形态)(s24)。此时,例如,控制装置10将第2控制数据d2从先头的比特开始,依序分割为与通信上限容量dsf对应的每个比特容量,从而生成多个通信用数据。

控制装置10遵照循环周期来发送多个通信用数据(s25)。控制装置10遵照循环周期来反复执行通信用数据的发送(s25),直至所有的通信用数据被发送为止(s26:否)。此时,控制装置10是从第2控制数据d2的先头比特侧开始,依序发送通信用数据。

控制装置10在发送了构成第2控制数据d2的所有通信用数据时(s26:是),结束处理。

另一方面,若数据容量dsu为通信上限容量dsf以下(s23:否),则控制装置10直接发送第2控制数据d2(s27)。

通过进行此种处理,例如以图6所示的数据结构来发送第1控制数据与第2控制数据。另外,图6中,是以三个帧为例,表示了使用第1帧frame1与第2帧frame2来发送第2控制数据d21,使用第3帧frame3来发送另一第2控制数据d22的示例。

图6的示例中,由于第2控制数据d21的数据容量dsu21超过通信上限容量dsf,因此对第2控制数据d21进行分割。此时,第2控制数据d21中,先头比特侧的与通信上限容量dsf对应的数据容量成为第1通信用数据d21-1,剩余的数据容量成为第2通信用数据d21-2。另一方面,由于第2控制数据d22的数据容量dsu22未超过通信上限容量dsf,因此不对第2控制数据d22进行分割。

控制装置10在第1帧frame1中,在循环周期(tcy)内依序发送第1控制数据d1与第2控制数据d21的通信用数据d21-1。

接下来,控制装置10在第2帧frame2中,在循环周期(tcy)内依序发送第1控制数据d1与第2控制数据d21的通信用数据d21-2。由此,第2控制数据d21的发送完成。

接下来,控制装置10在第3帧frame3中,在循环周期(tcy)内依序发送第1控制数据d1与第2控制数据d22。

另外,第2控制数据d21与第2控制数据d22的发送顺序也可不限于此顺序。例如,控制装置10只要对第2控制数据d21与第2控制数据d22的到达保证时间进行比较,先发送到达保证时间短的第2控制数据即可。

通过进行此种处理,能够切实地发送容量比基于循环周期的通信上限容量dsf大的第2控制数据。

(第2控制数据的通信时的数据结构)

·对第2控制数据进行分割而发送时

图7(a)是表示第1控制数据与第2控制数据的通信时的数据结构的图,图7(b)是表示图7(a)所示的第2控制数据的通信前的数据结构的图。

首先,如图7(b)所示,第2控制数据d2包含命令类型、命令id及自变量(argument)an等作为请求数据(requestdata),且是从先头比特开始依此顺序排列的数据。自变量an包含实际用于控制的命令群,命令类型及命令id是用于识别自变量an中记载的命令群的数据。另外,此处是以请求数据为例进行说明,但也能够适用于相对于请求数据的响应数据(responsedata)。并且,请求数据及响应数据并不限于所述的数据结构,能够任意定义。

若所述第2控制数据d2的数据容量超过通信上限容量dsf,则如图7(a)所示,生成经分割的第2控制数据(通信用数据)d2-1、d2-2。并且,帧framen1、framen2包含第1控制数据d1与经分割的第2控制数据(通信用数据)d2-1,帧framen2包含第1控制数据d1与经分割的第2控制数据(通信用数据)d2-2。

帧framen1的第2控制数据(通信用数据)d2-1包含格式(format)id、事务(transaction)id、总数据大小、片段id、片段数据大小、及请求数据,且是从先头比特开始依此顺序排列的数据。

帧framen2的第2控制数据(通信用数据)d2-2也包含格式id、事务id、总数据大小、片段id、片段数据大小、及请求数据,且是从先头比特开始依此顺序排列的数据。

格式id是第2控制数据的数据格式的识别数据。通过格式id,能够识别以下所示的第2控制数据的数据格式。

事务id是表示第2控制数据的识别数据。通过对多个帧的第2控制数据的事务id进行比较,能够判定所述多个帧的第2控制数据是否基于相同的第2控制数据。即,若多个帧的第2控制数据(通信用数据)的事务id相同,则能够判定这些第2控制数据(通信用数据)是基于一个第2控制数据。

总数据大小表示一个第2控制数据的总数据容量。即,在第2控制数据被分割为多个通信用数据的情况下,总数据大小是由多个通信用数据的数据容量的总和来表示。例如,若是图7(a)的情况,则可知第2控制数据的总数据容量为vn。另一方面,若第2控制数据未被分割,则由所述帧中所含的第2控制数据的数据容量来表示。由此,能够检测第2控制数据的总数据容量。

并且,通过添附此种总数据大小,从机装置221在复原时能够检测第2控制数据的接收错误。即,从机装置221对帧framen1的请求数据进行复原而算出数据容量vn1,并对帧framen2的请求数据进行复原而算出数据容量vn2。从机装置221将数据容量vn1与数据容量vn2相加,若与总数据容量vn一致,则能够检测出数据接收已成功,若不一致,则能够检测出数据的接收错误。

片段id是表示经分割的第2控制数据d2中的顺序的识别数据。即,通过片段id,能够识别出所述帧的第2控制数据(通信用数据)是将通信前的第2控制数据分割后的第几个数据。例如,若是图7(a)的示例,则在framen1中,片段id=0,能够识别出其为经分割的最开头的通信用数据。framen2中,片段id=1,能够识别出其为经分割的第2个通信用数据。

此处,帧framen1的请求数据包含命令类型、命令id及自变量an1,且是依此顺序排列的数据。帧framen2的请求数据包含自变量an2,且是依此顺序排列的数据。如图7(b)所示,自变量an1是自变量an中的继命令id之后的部分的数据,自变量an2是继自变量an1之后的部分的数据。即,通信时的请求数据是不改变从先头比特开始的数据排列,而基于通信上限容量dsf进行分割而生成。

因此,从机装置221接收这些帧framen1、framen2的通信数据来进行分析,并依照片段id的顺序将请求数据予以排列,由此,便能够切实且准确地复原通信前,即,分割前的第2控制数据。由此,从机装置221能够进行复原而不会弄错第2控制数据中所含的命令群的顺序,从而能够切实地抑制机器人装置的误动作等。而且,从机装置221通过检测片段id的局部缺失,从而能够检测数据的缺失,并能够对控制装置10进行再发送请求。

片段大小表示所述帧内的第2控制数据(通信用数据)的数据容量。例如,若是图7(a)的示例,则在framen1中,片段大小=vn1,能够识别出经分割的最开头的通信用数据的数据容量为vn1。在framen2中,片段大小=vn2,能够识别出经分割的第2个通信用数据的数据容量为vn2。在添附有此种片段大小的情况下,从机装置221能够算出所接收的请求数据的数据容量,通过比较片段大小,能够检测接收错误。

·不对第2控制数据进行分割而发送时

(1)在1帧中发送一个第2控制数据时

图8是表示第1控制数据与第2控制数据的通信时的数据结构的图。图8所示的示例中,表示了第2控制数据的数据容量比通信上限容量dsf小,在1帧中发送一个第2控制数据的情况。另外,简化与图7(a)、图7(b)所示的示例为相同处的说明。

若第2控制数据的数据容量比通信上限容量dsf少,则如图8所示,直接发送第2控制数据。

第2控制数据(通信用数据)包含格式id、事务id、总数据大小、及请求数据,且是从先头比特开始依此顺序排列的数据。

(2)在1帧中发送多个第2控制数据时

图9是表示第1控制数据与第2控制数据的通信时的数据结构的图。图9所示的示例中,表示了第2控制数据的数据容量比通信上限容量dsf小,在1帧中发送两个第2控制数据的情况。另外,简化与图8所示的示例为相同处的说明。

若多个第2控制数据的数据容量分别比通信上限容量dsf少,且多个第2控制数据的数据容量的总和比通信上限容量dsf少,则如图9所示,在1帧中发送多个第2控制数据。

此时,对于多个第2控制数据,分配不同的事务id。由此,即使数据连续,也能够分别识别多个第2控制数据。

并且,在如这些未分割第2控制数据d22的情况下,省略片段id及片段大小。由此,通信时的第2控制数据d22的省数据化成为可能。而且,另一方面,通过无片段id及片段大小,从机装置221能够检测出第2控制数据d22未被分割。

·对多个第2控制数据进行分割而发送时

图10是表示第1控制数据与第2控制数据的通信时的数据结构的图。图10所示的示例中,表示了两个第2控制数据的数据容量比通信上限容量dsf小,一个第2控制数据的数据容量超过通信上限容量dsf的示例。而且,图10中,表示了在1帧中发送两个第2控制数据的情况。另外,简化与所述示例为相同处的说明。

图10所示的示例中,表示了下述情况:对事务id分配了m、k的第2控制数据的数据容量比通信上限容量dsf小,且对事务id分配了n的第2控制数据的数据容量超过通信上限容量dsf。

图10所示的示例中,通过帧framen1,来发送事务id=m的第2控制数据、及基于事务id=n的第2控制数据的第1通信用数据。通过继帧framen1之后的帧framen2,来发送事务id=k的第2控制数据、及继基于事务id=n的第2控制数据的第1通信用数据之后的第2通信用数据。

此种情况下,也能够通过事务id来各别地识别第2控制数据,且能够通过片段id来各别地识别构成一个第2控制数据的多个通信用数据。而且,通过片段id,能够由经分割的多个通信用数据来容易地复原原本的第2控制数据。

另外,图10所示的第2控制数据的组合为一例,例如也可基于通信上限容量dsf,以空余时间变少的方式来决定多个第2控制数据的组合。

而且,也可使用下述方法。将不需要分割的第2控制数据分配给各帧,在分配后,再次算出空余时间。并且,根据再次算出的空余时间,对需要分割的第2控制数据进行分割。

而且,也可进而如以下所示,判别分割的有无,并动态地决定各帧的第2控制数据的分配。

图11是表示将多个第2控制数据分配给多个帧而分割时的处理的一例的流程图。另外,图11中,表示针对两个第2控制数据的处理,但通过使用此概念,即使在三个以上的情况下,也能够适当地分配。

首先,控制装置10获取两个第2控制数据d21、d22(s31)。控制装置10算出第2控制数据d21的数据容量dsu1及第2控制数据d21的数据容量dsu2(s32)。

若数据容量dsu1与数据容量dsu2的相加值为通信上限容量dsf以下(s33:否),则控制装置10通过1帧来发送第2控制数据d21与第2控制数据d22(s41)。

若数据容量dsu1与数据容量dsu2的相加值超过通信上限容量dsf(s33:是),则控制装置10对数据容量dsu1或数据容量dsu2与通信上限容量dsf进行比较。

若数据容量dsu1及数据容量dsu2均超过通信上限容量dsf(s34:是,s35:是),则控制装置10将第2控制数据d21与第2控制数据d22均进行分割而发送(s36)。

若数据容量dsu1超过通信上限容量dsf(s34:是),而数据容量dsu2不超过通信上限容量dsf(s35:否),则控制装置10先发送不需要分割的第2控制数据d22(s42)。随后,控制装置10分割发送第2控制数据d21(s42)。

若数据容量dsu1不超过通信上限容量dsf(s34:否),而数据容量dsu2超过通信上限容量dsf,则控制装置10先发送不需要分割的第2控制数据d21(s44)。随后,控制装置10分割发送第2控制数据d22(s44)。

另外,所述处理中,是先发送不需要分割的第2控制数据,继此之后,分割发送需要分割的第2控制数据。由此,对于不需要分割的第2控制数据,能够以更简单的处理来完成多个第2控制数据的发送。即,当存在需要发送完成的多个第2控制数据时,只要先使不需要分割的第2控制数据发送完成,随后,将需要分割的第2控制数据单纯地进行分割而发送即可。

但是,若对多个第2控制数据各自的性能要求等进行比较,例如优选为先发送需要分割的第2控制数据,则也可先发送需要分割的第2控制数据,随后发送不需要分割的第2控制数据。而且,也可在需要分割的第2控制数据的中途,进行不需要分割的第2控制数据的发送。

·多个第2控制数据的分割发送

图12是表示将多个第2控制数据均进行分割发送时的处理的一例的流程图。

控制装置10对第2控制数据d21与第2控制数据d22的性能要求进行比较(s361)。具体而言,控制装置10对第2控制数据d21的到达保证时间与第2控制数据d22的到达保证时间进行比较。

若第2控制数据d21与第2控制数据d22的性能要求为同等(s362:是),则控制装置10相对于1循环周期而对第2控制数据d21与第2控制数据d22分配与数据容量相应的同等的通信频带(通信上限容量),将第2控制数据d21与第2控制数据d22分别进行分割而发送(s363)。另外,此处所说的同等,是指将第2控制数据d21全部发送的时间、与将第2控制数据d22全部发送的时间相同。控制装置10反复进行分割发送(s364:否),直至第2控制数据d21与第2控制数据d22的所有数据被发送为止,当所有数据被发送时(s364:是),结束处理。

若第2控制数据d21为优先(s362:否,s365:是),则控制装置10相对于1循环周期而对第2控制数据d21优先分配通信频带(通信上限容量),将第2控制数据d21与第2控制数据d22分别进行分割而发送(s366)。控制装置10反复进行分割发送(s367:否),直至第2控制数据d21与第2控制数据d22的所有数据被发送为止,当所有数据被发送时(s367:是),结束处理。此时,若控制装置10检测到第2控制数据d21的所有数据的发送已结束,则可针对剩余的帧,对第2控制数据d22的通信频带加上分配给第2控制数据d21的通信频带而发送。由此,能够加快第2控制数据d22的发送结束。

若第2控制数据d22为优先(s362:否,s365:否),则控制装置10相对于1循环周期而对第2控制数据d22优先分配通信频带(通信上限容量),将第2控制数据d21与第2控制数据d22分别进行分割而发送(s368)。控制装置10反复进行分割发送(s369:否),直至第2控制数据d21与第2控制数据d22的所有数据被发送为止,当所有数据被发送时(s369:是),结束处理。此时,控制装置10在检测到第2控制数据d22的所有数据的发送已结束时,可针对剩余的帧,对第2控制数据d21的通信频带加上分配给第2控制数据d22的通信频带而发送。由此,能够加快第2控制数据d21的发送结束。

·分割发送的第2控制数据与不分割发送的第2控制数据的发送

图13(a)、图13(b)是表示存在分割发送的第2控制数据与不分割发送的第2控制数据时的处理的一例的流程图。图13(a)表示不分割第2控制数据d22,而分割第2控制数据d21的情况(图11的步骤s42的情况),图13(b)表示不分割第2控制数据d21,而分割第2控制数据d22的情况(图11的步骤s44的情况)。

如图13(a)所示,在不分割第2控制数据d22,而分割第2控制数据d21的情况下,控制装置10对第2控制数据d22分配1循环周期内的通信频带(s421)。控制装置10根据通信上限容量dsf与第2控制数据d22的数据容量,而算出所述循环周期中的第2控制数据d21的通信上限容量dsf”。具体而言,控制装置10从通信上限容量dsf减去第2控制数据d22的数据容量(时间单位),由此来算出通信上限容量dsf'。控制装置10基于再次算出的通信上限容量dsf'来分割第2控制数据d21(s422)。控制装置10将所分割的第2控制数据d21最开头的通信用数据以与第2控制数据d22相同的循环周期予以发送(s423)。

控制装置10在以后的循环周期中,基于通信上限容量dsf来依序分割第2控制数据d21(s424),并遵照循环周期来进行发送(s425)。控制装置10反复进行分割发送(s426:否),直至第2控制数据d21的所有数据被发送为止,当所有数据被发送时(s426:是),结束处理。

如图13(b)所示,在不分割第2控制数据d21,而分割第2控制数据d22的情况下,控制装置10对第2控制数据d21分配1循环周期内的通信频带(s441)。控制装置10根据通信上限容量dsf与第2控制数据d21的数据容量,而算出所述循环周期内的第2控制数据d22的通信上限容量dsf"。具体而言,控制装置10从通信上限容量dsf减去第2控制数据d21的数据容量(时间单位),由此来算出通信上限容量dsf"。控制装置10基于再次算出的通信上限容量dsf"来分割第2控制数据d22(s442)。控制装置10将所分割的第2控制数据d22最开头的通信用数据以与第2控制数据d21相同的循环周期予以发送(s443)。

控制装置10在以后的循环周期内,基于通信上限容量dsf来依序分割第2控制数据d22(s444),并遵照循环周期来进行发送(s445)。控制装置10反复进行分割发送(s446:否),直至第2控制数据d22的所有数据被发送为止,当所有数据被发送时(s446:是),结束处理。

另外,所述说明中,是以fa系统为例进行了说明,但即便是对使用循环周期来进行时间保证的数据、与具有比循环周期长的时间保证且包含比基于循环周期的数据容量大的数据容量的数据进行发送的其他系统,也能够适用所述结构及处理并获得所述作用效果。

而且,所述说明中,为了便于说明,主要记载了从控制装置10经由控制用网络30来对从机装置211、从机装置212及从机装置221发送数据的情况。但是,各数据中,也有自从机装置211、从机装置212及从机装置221发送、返回至控制装置10的数据,对于这些数据,也能够适用所述处理并获得所述作用效果。即,对于利用控制用网络30来通信的第2控制数据,能够适用所述处理并能够起到所述作用效果。例如,作为针对机器人装置的第2控制数据,包含日志数据的获取命令以作为从控制装置10发送至从机装置221的数据,且包含与所述获取命令对应的记录数据(loggingdata)(例如数十秒钟的马达的角度数据等)以作为自从机装置221发送(返回)至控制装置10的数据。

而且,所述说明中,表示了进行基于tdma方式的通信的情况,但在码分多址(codedivisionmultipleaccess,cdma)方式等中,也能够使用所述概念来实现第2控制数据的分割发送。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1