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

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

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



背景技术:

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

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

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

[现有技术文献]

[专利文献]

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



技术实现要素:

[发明所要解决的问题]

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

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

此时,例如考虑控制装置将准控制数据分为多个循环周期进行通信。

但是,若此种大容量的准控制数据占用多个循环周期的通信频带,则在所述准控制数据的通信中,即使获取紧急性高的控制数据,也只能在准控制数据的通信完成后通信。因此,产生无法在到达保证时间内对新获取的控制数据进行通信的可能性。

因此,本发明的目的在于提供一种通信技术,其在需要多个循环周期的大容量控制数据的通信中,即使获取紧急性高的控制数据,也能够切实地对所述紧急性高的控制数据进行通信。

[解决问题的技术手段]

根据本发明的一例,控制装置包括循环通信部与通信管理部。循环通信部对第1控制数据与第2控制数据的通信进行控制,所述第1控制数据根据预先设定的循环周期来保证以第1保证时间的到达,所述第2控制数据保证以比所述循环周期长的第2保证时间的到达,且构成的信息的顺序已被决定。通信管理部对第1控制数据与第2控制数据的通信调度进行管理。通信管理部在根据循环周期将第2控制数据分割为多个通信用数据进行通信的过程中而获取新的第2控制数据时,根据多个所述第2控制数据的优先级来决定多个第2控制数据的通信顺序。

所述结构中,可基于分割发送中的第2控制数据与新的第2控制数据的优先级,来进行分割发送中的第2控制数据的通信暂停等,从而进行与各个第2控制数据的性能要求相应的通信。

根据本发明的一例,通信管理部在新的第2控制数据的优先级比通信中的第2控制数据的优先级高时,使通信中的第2控制数据的通信暂停,而执行新的第2控制数据的通信。并且,通信管理部在新的第2控制数据的通信完成后,重新开始暂停的第2控制数据的通信。

所述结构中,当新的第2控制数据的优先级高时,优先对所述新的第2控制数据进行通信。而且,继此之后,也对暂停的第2控制数据进行通信。

根据本发明的一例,通信管理部使用多个第2控制数据的剩余容量与直至多个第2控制数据的到达保证时间为止的剩余时间来决定优先级。

所述结构中,对各个第2控制数据控制通信顺序,以使得能够使剩余容量在剩余时间内通信完成。

根据本发明的一例,若新的第2控制数据的容量未达到确保循环周期的1周期的第2控制数据用的上限容量,则通信管理部使暂停的第2控制数据的通信用数据以与新的第2控制数据相同的循环周期进行通信。

所述结构中,无须等到对新的第2控制数据进行通信的下个循环周期,便使暂停的第2控制数据的通信重新开始。

根据本发明的一例,通信管理部在第2控制数据中,对多个通信用数据的各个添附通信顺序。

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

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

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

[发明的效果]

根据本发明,在需要多个循环周期的大容量控制数据的通信中,即使获取紧急性高的控制数据,也能够对应于性能要求来切实地对所述紧急性高的控制数据进行通信。

附图说明

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

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

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

图4是表示本发明的通信概念的图。

图5是表示帧数据的数据结构的一例的图。

图6是表示帧数据的具体数据结构的一例的图。

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

图8是表示第2控制数据的分割发送处理的主处理的流程图。

图9是表示基本的分割发送处理的流程图。

图10是表示与优先级相应的分割发送处理的流程图。

图11是表示优先级的计算方法的流程图。

图12是对优先级的计算概念及基于优先级的数据发送概念进行说明的图。

[符号的说明]

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、222:从机装置

具体实施方式

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

·适用例

首先,参照图来说明本发明的实施方式的控制装置的适用例。图4是表示本发明的通信概念的图。

控制装置遵照循环周期来对第1控制数据与第2控制数据进行通信。

所谓第1控制数据,是指数据容量小的控制数据。具体而言,第1控制数据例如包含伺服(servo)指令值、编码器(encoder)值、传感器(sensor)的通断(on/off)控制值等。第1控制数据是被定义为,以由循环周期所规定的到达保证时间来完成通信的控制数据。

第2控制数据是被定义为,以比循环周期的1周期长的到达保证时间来完成通信的控制数据。第2控制数据中,存在数据容量相对于第1控制数据为大的数据,例如存在容量比能以循环周期的1周期来通信的数据容量大的数据。

当第2控制数据的数据容量超过对循环周期的1周期分配的第2控制数据用的通信上限容量时,控制装置将所述第2控制数据分割为多个通信用数据来进行通信。

此处,控制装置在针对一个从机装置而对优先级不同的多个第2控制数据进行通信时,执行如下所示的控制。

如图4所示,控制装置对第2控制数据d21进行分割通信。在所述分割通信中,控制装置在获取针对与第2控制数据d21的通信对象相同的从机装置的、新的第2控制数据d22时,对第2控制数据d21与第2控制数据d22的优先级进行比较。若第2控制数据d22的优先级比第2控制数据d21的优先级高,则控制装置暂停第2控制数据d21的通信,使第2控制数据d22的通信插入。另外,此处,所谓第2控制数据d21的通信暂停,并非指严格地中止通信,而是指将在原本的调度中分配给第2控制数据d21的数据包(packet)分配给第2控制数据d22,之后转回第2控制数据d21的分配。

由此,即使是在优先级低的第2控制数据d21的通信中,也可先完成优先级高的第2控制数据d22的通信。因此,能够满足优先级高的第2控制数据d22的性能要求。

此时,若第2控制数据d22的数据容量未达到对循环周期的1周期分配的第2控制数据用的通信上限容量,则控制装置如图4所示,将对第2控制数据d22进行通信的循环周期中的剩余容量分配给暂停的第2控制数据d21。由此,能够加快第2控制数据d21的通信的重新开始。

·结构例

参照图来说明本发明的实施方式的控制装置、控制系统、控制方法以及控制程序。本实施方式中,作为控制系统,以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控制数据是到达保证时间(第2保证时间)设定为比循环周期的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、从机装置222例如是通过机器人装置或连接于机器人装置的机器人控制装置而实现。另外,从机装置221、从机装置222只要是以第2控制数据来动作的装置,则也可为其他装置。

控制装置10、从机装置211、从机装置212、从机装置221及从机装置222对第1控制数据、第2控制数据及信息系数据的收发进行调度。控制装置10、从机装置211、从机装置212、从机装置221及从机装置222根据所述调度,遵照循环周期来对第1控制数据、及第2控制数据进行通信。而且,根据需要,控制装置10、从机装置211、从机装置212、从机装置221及从机装置222根据所述调度,使用与第1控制数据及第2控制数据的频带不同的频带来对信息系数据进行通信。

此时,若第2控制数据的数据容量相对于确保循环周期的1周期的第2控制数据用的上限容量为大,则控制装置10将第2控制数据分割为多个通信用数据。并且,控制装置10将多个通信用数据分配给多个循环周期进行通信。

进而,控制装置10在分割为多个循环周期来对第2控制数据进行通信的期间而获取其他的新的第2控制数据时,根据各个第2控制数据的优先级来执行通信控制。此时,控制装置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控制数据及第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周期的、各从机装置的通信频带(参照图5)。

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

第2控制系通信管理112执行第2控制数据的通信管理。此时,若第2控制数据的数据容量比能以循环周期的1周期来通信的第2控制数据的最大容量(通信容量)大,则第2控制系通信管理112将第2控制数据分割为多个通信用数据。此时,第2控制系通信管理112对每个从机装置决定分割的有无。第2控制系通信管理112以多个通信用数据为单位来执行通信管理。

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

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

而且,通信管理部110在将第2控制数据分割为多个通信用数据而以循环周期单位来进行通信的期间,获取其他的新的第2控制数据时,根据各个第2控制数据的优先级来执行通信控制。其具体的通信控制将后述。

通信管理部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的控制的初始处理等。

(具体的通信处理)

使用图4、图5来概略地说明控制装置10所执行的通信处理。如上所述,图4是表示本发明的通信概念的图。图5是表示帧数据的数据结构的一例的图。另外,图5表示图1所示的系统结构时的数据结构例。

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

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

控制装置10的通信管理部110在获取第2控制数据d21时,保存至通信管理部110等所具备的缓冲存储器(buffermemory)中。缓冲存储器在物理上通过例如所述收发部104所具备的易失性存储元件、存储器102而实现。

此时,缓冲存储器的状态bf0是保存有第2控制数据d21的全部的状态。

通信管理部110在到达遵照循环周期的通信时机(timing)t1之前,从缓冲存储器中取出状态bf0的第2控制数据d21中的通信用数据d211,并输出至循环通信部121。通信用数据d211是能够以循环周期的1周期来通信的、第2控制数据的通信上限容量dsf量的数据。

通信上限容量dsf例如通过从循环周期的1周期(图5中的tcy)中的对于对象从机装置(此处为从机装置221)的通信容量,减去第1控制数据d1的通信容量(与图5中的通信时间tc1对应的容量)而算出。

循环通信部121在通信时机t1,对包含第1控制数据d1与第2控制数据d21的通信用数据d211的帧数据frm1进行通信。

通过此通信时机t1的通信,缓冲存储器的状态bf1成为保存有相对于状态bf0的第2控制数据d21而去除了通信用数据d211的数据的状态。

接下来,通信管理部110在到达通信时机t2之前,从缓冲存储器中取出状态bf1的第2控制数据d21中的通信用数据d212,并输出至循环通信部121。通信用数据d212是通信上限容量dsf量的数据。

循环通信部121在通信时机t2,对包含第1控制数据d1与第2控制数据d21的通信用数据d212的帧数据frm2进行通信。

随后,在直至通信时机t3为止的期间,通信管理部110在获取新的第2控制数据d22时,将第2控制数据d22保存至缓冲存储器中。所述新的第2控制数据d22的通信对象从机装置与第2控制数据d21相同。

在此状态下,缓冲存储器的状态bf2成为保存有相对于状态bf1的第2控制数据d21而去除了通信用数据d212的数据、和第2控制数据d22的状态。

通信管理部110对第2控制数据d21的优先级与第2控制数据d22的优先级进行比较。通信管理部110在检测出第2控制数据d22的优先级比第2控制数据d21的优先级高时,在到达通信时机t3之前,从缓冲存储器中取出状态bf2的第2控制数据d22,并输出至循环通信部121。另外,尽管在图4的示例中未图示,但通信管理部110在第2控制数据d21的优先级比第2控制数据d22的优先级高的情况下,继续第2控制数据d21的分割通信的控制。

进而,通信管理部110对第2控制数据d22的容量相对于通信上限容量dsf为小的情况进行检测。通信管理部110从缓冲存储器中取出第2控制数据d21中的、成为能以帧数据frm3来通信的容量的通信用数据d213,并输出至循环通信部121。另外,尽管在图4中未图示,但若第2控制数据d22的容量相对于通信上限容量dsf为大,通信管理部110则与第2控制数据d21同样地执行基于通信用数据的分割通信的控制。

循环通信部121在通信时机t3,对帧数据frm3进行通信,所述帧数据frm3包含第1控制数据d1、第2控制数据d22及第2控制数据d21的通信用数据d213。

通过此通信时机t3的通信,缓冲存储器的状态bf3成为保存有相对于状态bf2的第2控制数据d21而去除了通信用数据d213且去除了第2控制数据d22的数据的状态。

接下来,通信管理部110在到达通信时机t4之前,从缓冲存储器中取出状态bf3的第2控制数据d21中的通信用数据d214,并输出至循环通信部121。通信用数据d214是通信上限容量dsf量的数据。

循环通信部121在通信时机t4,对包含第1控制数据d1和第2控制数据d21的通信用数据d214的帧数据frm4进行通信。

通过此通信时机t4的通信,缓冲存储器的状态bf4成为保存有相对于状态bf3的第2控制数据d21而去除了通信用数据d214的数据的状态。

接下来,通信管理部110在到达通信时机t5之前,从缓冲存储器中取出状态bf4的第2控制数据d21中的通信用数据d215,并输出至循环通信部121。通信用数据d215是容量比通信上限容量dsf小的数据。

循环通信部121在通信时机t5,对包含第1控制数据d1和第2控制数据d21的通信用数据d215的帧数据frm5进行通信。

通过此处理,控制装置10根据各自的优先级来对优先级不同的第2控制数据d21及第2控制数据d22进行通信控制。由此,满足第2控制数据d21的性能要求(到达保证时间等)及第2控制数据d22的性能要求(到达保证时间等)的通信成为可能。

尤其,所述处理中,在存在分割通信中的第2控制数据d21的状态下,即使获取优先级更高的第2控制数据d22,也能够优先地对优先级高的第2控制数据d22进行通信,且也能够切实地对分割通信已暂停的第2控制数据d21进行通信。

在进行此种处理的情况下,包含多个第2控制数据的各帧数据例如具有图6所示的数据结构。图6是表示帧数据的具体数据结构的一例的图。另外,图6中,是以所述图4、图5中的帧数据frm2及帧数据frm3为例来表示。但是,其他帧数据也为同样的数据结构,这些其他帧数据的图示省略说明。而且,这些图中,表示了不含信息系数据的形态。而且,图6中,第2控制数据,表示了针对一个从机装置者,且在成为第2控制数据的通信对象的从机装置存在多个的情况下,图6所示的第1控制数据及第2控制数据在一个帧数据内存在进行通信的从机装置的个数量。

如图6所示,在相当于循环周期的1周期的通信数据的帧数据中的、针对对象从机装置的数据中,包含第1控制数据及第2控制数据。

基本上,在各帧数据的第2控制数据及通信用数据中,包含格式(format)识别符(identification,id)、事务(transaction)id、总数据大小、片段id、片段数据大小、及请求数据,且是从先头比特开始依此顺序排列的数据。另外,在不进行分割通信的第2控制数据中,也可不包含片段id及片段数据大小。

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

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

总数据大小表示一个第2控制数据的总数据容量。即,在第2控制数据被分割为多个通信用数据的情况下,总数据大小是由多个通信用数据的数据容量的总和来表示。通过添附此种总数据大小,从机装置221及从机装置222在复原时,能够检测第2控制数据的接收错误。

片段id是表示经分割的第2控制数据中的各通信用数据的顺序的识别数据。即,通过片段id,能够识别出所述帧的通信用数据是将通信前的第2控制数据分割后的第几个数据。

片段大小表示所述帧内的请求数据的数据容量。在添附有此种片段大小的情况下,从机装置221及从机装置222通过算出所接收的请求的数据容量,并对片段大小进行比较,从而能够检测接收错误。

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

遵照此种数据结构,帧数据frm2及帧数据frm3具有图6所示的数据结构。

帧数据frm2包含第1控制数据d1与第2控制数据d21的通信用数据d212依此顺序排列的数据结构。

通信用数据d212包含格式id、事务id(=n)、总数据大小(=vn)、片段id(=p)、片段数据大小(=vnp)及请求数据,且包含它们依此顺序排列的数据结构。请求数据包含命令类型、命令id及自变量anp,且包含它们依此顺序排列的数据结构。

帧数据frm3包含第1控制数据d1、第2控制数据d22及第2控制数据d21的通信用数据d213依此顺序排列的数据结构。

第2控制数据d22包含格式id、事务id(=k)、总数据大小(=vk)及请求数据,且包含它们依此顺序排列的数据结构。请求数据包含命令类型、命令id及自变量ak,且包含它们依此顺序排列的数据结构。

通信用数据d213包含格式id、事务id(=n)、总数据大小(=vn)、片段id(=q)、片段数据大小(=vnq)及请求数据,且包含它们依此顺序排列的数据结构。请求数据包含命令类型、命令id及自变量anq,且包含它们依此顺序排列的数据结构。

根据此种数据结构,通信用数据d212与通信用数据d213的事务id同为n,因此能够容易且切实地检测出均为构成第2控制数据d21的数据。

而且,由于通信用数据d212的片段id为p,通信用数据d213的片段id为q,因此在第2控制数据d21中,能够容易且切实地检测出通信用数据d212的自变量anp与通信用数据d213的自变量anq依此顺序排列。

而且,根据片段数据大小vnp,能够检测通信用数据d212的缺损等通信错误,根据片段数据大小vnq,能够检测通信用数据d213的缺损等通信错误。

而且,根据总数据大小vn,能够检测包含通信用数据d212及通信用数据d213的第2控制数据d21的缺损等通信错误,根据总数据大小vk,能够检测第2控制数据d22的缺损等通信错误。

(具体的通信处理流程)

如上所述的控制是通过执行以下所示的处理来实现。

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

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

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

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

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

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

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

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

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

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

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

控制装置10基于空余容量、性能要求及信息系数据的通信容量,来设定通信上限容量dsf(s16)。

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

接下来,使用图8来说明控制系统运转中的通信管理处理。图8是表示第2控制数据的分割发送处理的主处理的流程图。

控制装置10在获取第2控制数据时(s21),保存至缓冲器中(s22)。

控制装置10检测是否存在已在发送中的第2控制数据。若无发送中的第2控制数据(s23:否),则控制装置10执行基本的分割发送(s24)。若存在发送中的第2控制数据(s23:是),则控制装置10执行与优先级相应的分割发送(s25)。

(基本的分割发送)

图9是表示基本的分割发送处理的流程图。

控制装置10算出第2控制数据d2的数据容量(剩余容量)dsu(s31)。

若数据容量dsu比通信上限容量dsf大(s32:是),则控制装置10从保存在缓冲器中的第2控制数据d2中获取通信上限容量dsf量的数据(s33)。即,控制装置10从第2控制数据d2分割通信用数据。控制装置10发送所分割的通信用数据(s34)。

控制装置10检测保存在缓冲器中的第2控制数据d2的所有数据是否已被发送。若残留有尚未发送的数据(s35:否),则控制装置10返回步骤s33,反复进行与通信上限容量dsf相应的第2控制数据的分割处理。若所有的数据已发送(s35:是),则控制装置10结束处理。

若数据容量dsu为通信上限容量dsf以下(s32:否),则控制装置10不进行所述分割处理而发送第2控制数据d2(s36)。

(与优先级相应的分割发送)

图10是表示与优先级相应的分割发送处理的流程图。

控制装置10算出新获取的第2控制数据d2n的容量dsun(s41)。控制装置10算出发送中的第2控制数据d2与新的第2控制数据d2n的优先级(s42)。优先级的具体计算方法将后述。

控制装置10对第2控制数据d2的优先级与第2控制数据d2n的优先级进行比较。若第2控制数据d2n的优先级比第2控制数据d2的优先级高(s43:是),则控制装置10优先发送第2控制数据d2n。另一方面,若第2控制数据d2的优先级与第2控制数据d2n的优先级相同或比第2控制数据d2n的优先级高(s43:否),则控制装置10继续第2控制数据d2的分割发送,在第2控制数据d2的发送完成后,发送第2控制数据d2n。

当第2控制数据d2n的优先级比第2控制数据d2的优先级高时,若数据容量dsun比通信上限容量dsf大(s44:是),则控制装置从保存在缓冲器中的第2控制数据d2n中获取通信上限容量dsf量的数据(s45)。即,控制装置10从第2控制数据d2n分割通信用数据。控制装置10发送所分割的通信用数据(s46)。控制装置10算出此次发送后的第2控制数据d2n的剩余容量,对数据容量dsun进行更新(s47),并返回步骤s44。所述处理继续至数据容量dsun的剩余容量成为通信上限容量dsf以下为止。

若数据容量dsun为通信上限容量dsf以下,或者通过所述处理而成为通信上限容量dsf以下(s44:否),则控制装置10获取所述通信上限容量dsf以下的数据容量dsun(s48)。进而,控制装置10获取第2控制数据d2的重新开始发送的最开头的通信用数据(s49)。所述重新开始发送的最开头的通信用数据是从第2控制数据d2的剩余容量中的通信上限容量dsf,减去第2控制数据d2n的数据容量dsun所得的容量的数据。控制装置10发送这些第2控制数据d2n与第2控制数据d2的重新开始发送的最开头的通信用数据(s50)。

这样,控制装置10在第2控制数据d2的发送中,获取优先级高的第2控制数据d2n时,暂停第2控制数据d2的发送,使优先级高的第2控制数据d2n插入而发送。并且,控制装置10在继第2控制数据d2n的发送之后,重新开始暂停的第2控制数据d2的发送。由此,在优先级低的第2控制数据d2的发送中,即使获取优先级高的第2控制数据d2n,也能够以满足第2控制数据d2n的性能要求的方式来发送。

(优先级的计算方法)

图11是表示优先级的计算方法的流程图。图12是对优先级的计算概念及基于优先级的数据发送概念进行说明的图。

如图11所示,控制装置10算出保存在缓冲器中的多个第2控制数据d2的剩余容量dsu(s61)。此时,控制装置10对于发送中的第2控制数据d2,将从总数据容量减去已发送的数据容量所得的容量作为剩余容量dsu。另一方面,控制装置10对于未发送的第2控制数据d2,将总数据容量作为剩余容量dsu。

控制装置10算出多个第2控制数据d2的剩余时间tsu(s62)。剩余时间tsu是通过从性能要求中所含的到达保证时间减去当前时间所得的时间而算出。

控制装置10根据剩余容量dsu与剩余时间tsu来算出优先级s(s63)。例如,控制装置10将使剩余容量dsu除以基于剩余时间tsu的指标值所得的值作为优先级。具体而言,若为图12的示例,则将使剩余容量[字节]除以从剩余时间tsu[msec.]减去1[msec.]所得的指标值而得到的值作为优先级s。此时,优先级s的值越大,则优先级越高。另外,此处表示了在指标值的计算中使用1[msec.]的形态。这表示循环周期为1[msec.]的情况。即,指标值只要设为从剩余时间tsu减去循环周期所得的值即可。

通过此种处理,能够通过准确且简单的处理来算出优先级。

使用图12来说明处理的一例。

在时间tc(n),在缓冲器中保存有第2控制数据d21与第2控制数据d22。此时,如图12所示,对于根据剩余容量dsu与剩余时间tsu而算出的优先级s而言,第2控制数据d21高于第2控制数据d22。

因此,控制装置10对第2控制数据d21中的通信上限容量dsf(图12中为256字节)量的通信用数据进行分割发送。并且,控制装置10进行更新,即,对第2控制数据d21的剩余容量减去在时间tc(n)发送的数据容量。

在时间tc(n+1),在缓冲器中保存有新的第2控制数据d23。此时,如图12所示,对于根据剩余容量dsu与剩余时间tsu而算出的优先级s而言,第2控制数据d23高于第2控制数据d21及第2控制数据d22。而且,第2控制数据d23的数据容量(剩余容量dsu)小于通信上限容量dsf。

控制装置10发送第2控制数据d23。进而,控制装置10算出从通信上限容量dsf减去第2控制数据d23的剩余容量dsu所得的量的数据容量(补充数据容量)。控制装置10将优先级s次高的第2控制数据d21中的补充数据容量的数据紧跟着第2控制数据d23,以相同的帧进行发送。并且,控制装置10进行更新,即,对第2控制数据d21的剩余容量及第2控制数据d23的剩余容量减去在时间tc(n+1)发送的数据容量。

在时间tc(n+2),第2控制数据d23的发送已完成,在缓冲器中保存有第2控制数据d21与第2控制数据d22。此时,如图12所示,对于根据剩余容量dsu与剩余时间tsu而算出的优先级s而言,第2控制数据d21高于第2控制数据d22。

因此,控制装置10对第2控制数据d21中的通信上限容量dsf(图12中为256字节)量的通信用数据进行分割发送。并且,控制装置10进行更新,即,对第2控制数据d21的剩余容量减去在时间tc(n+2)发送的数据容量。

在时间tc(n+3),在缓冲器中保存有第2控制数据d21与第2控制数据d22。此时,如图12所示,对于根据剩余容量dsu与剩余时间tsu而算出的优先级s而言,第2控制数据d21高于第2控制数据d22。而且,第2控制数据d21的数据容量(剩余容量dsu)小于通信上限容量dsf。

控制装置10发送第2控制数据d21。进而,控制装置10算出从通信上限容量dsf减去第2控制数据d21的剩余容量dsu所得的量的数据容量(补充数据容量)。控制装置10将优先级s次高的第2控制数据d22中的补充数据容量的数据紧跟着第2控制数据d21,以相同的帧进行发送。并且,控制装置10进行更新,即,对第2控制数据d21的剩余容量及第2控制数据d22的剩余容量减去在时间tc(n+3)发送的数据容量。

以下,控制装置10继续第2控制数据d22的分割发送。

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

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

而且,所述说明中,表示了插入的第2控制数据的数据容量为通信上限容量dsf以下时的处理,但当插入的第2控制数据的数据容量也超过通信上限容量dsf时,进行分割通信。此时,只要采用与所述暂停的第2控制数据同样的数据结构即可。

而且,所述说明中,也可相对于第2控制数据用的所有通信频带,而对优先级高的第2控制数据用的通信频带分配规定字节。即,也可根据优先级来分割通信频带。此时,若无优先级高的第2控制数据,则优先级高的第2控制数据用的通信频带可利用于除其之外的第2控制数据的通信。

而且,控制装置也可以能够将产生优先级高的第2控制数据时所利用的通信频带始终确保规定字节的方式,来设定基本的分割通信中的通信上限容量。

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

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