从机装置、控制系统、响应数据的通信方法以及存储介质与流程

文档序号:18522577发布日期:2019-08-24 09:56阅读:169来源:国知局
从机装置、控制系统、响应数据的通信方法以及存储介质与流程

本发明涉及一种从机装置、控制系统、响应数据的通信方法及存储介质,其包括对优先级不同的多个控制数据彼此进行通信的控制装置与各种从机(slave)装置。



背景技术:

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

控制装置针对多个从机装置,对控制数据进行通信。此时,控制装置针对多个从机装置,以预先设定的控制周期(循环(cyclic)周期)来对控制数据进行依序通信。由此,确保控制数据的发送的实时(realtime)性。另一方面,从机装置将由控制数据所请求的数据,以相同的循环周期而通信至控制装置。以下,将遵照所述循环周期来通信的数据称作循环通信数据。

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

[现有技术文献]

[专利文献]

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



技术实现要素:

[发明所要解决的问题]

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

从控制装置对机器人装置或机器人控制装置等从机装置通信的数据中,包含请求数据(requestdata),自从机装置对控制装置通信的数据中,包含响应数据(responsedata)。这些数据有时容量比所述以往的循环通信数据大。以下,将在所述控制装置与从机装置等之间通信的、容量比以往的循环通信数据大的控制数据称作准循环通信数据。

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

但是,从机装置在将此种大容量的响应数据跨及多个循环周期来进行通信时,即使获取了紧急性高的响应数据的返回请求,也只能在大容量的响应数据的通信完成后,才能对紧急性高的响应数据进行通信。例如,从机装置在大容量的日志数据(logdata)的通信过程中,即使欲返回紧急性比日志数据高的位置信息或状态(status)信息等响应数据,也只能在日志数据的通信后,才能返回紧急性高的响应数据。

因此,本发明的目的在于提供一种通信技术,即使在需要多个循环周期的大容量数据的通信过程中获取了紧急性高的响应请求,也能够迅速地对与所述紧急性高的响应请求相应的响应数据进行通信。

[解决问题的技术手段]

根据本发明的一例,从机装置包括循环通信部与通信管理部。循环通信部遵照预先设定的循环周期来进行通信。通信管理部对与来自控制装置的响应请求对应的响应数据的通信进行管理。通信管理部在跨及多个循环周期而对优先级低的响应数据进行通信的过程中收到优先级高的响应数据的请求时,暂时中断优先级低的响应数据的通信而对优先级高的响应数据进行通信。

所述结构中,即使在对跨及多个循环周期的响应数据进行通信的过程中,也能够迅速地返回紧急性高的响应数据。

根据本发明的一例,通信管理部在对优先级高的响应数据进行通信的循环周期中存在剩余容量时,将剩余容量分配给暂时中断的优先级低的响应数据。

所述结构中,在优先级高的响应数据的通信后无须等到新的循环周期,便使暂时中断的响应数据的通信重新开始。

根据本发明的一例,通信管理部基于添附于响应请求的优先级数据来判定优先级。

所述结构中,优先级的判定变得容易。

根据本发明的一例,控制系统包括上述的任一项所述的从机装置与控制装置,从机装置是机器人装置或机器人控制装置。

所述结构中,当包含机器人装置作为fa系统时,可从机器人装置迅速获得优先级高的响应数据(例如位置信息或状态信息等),作为fa系统的控制的等待(wait)状态的发生得到抑制。

根据本发明的一例,响应数据的通信方法包括:循环通信处理,遵照预先设定的循环周期来进行通信;以及通信管理处理,对与来自控制装置的响应请求对应的响应数据的通信进行管理,所述通信管理处理是在跨及多个循环周期而对优先级低的响应数据进行通信的过程中,收到优先级高的响应数据的请求时,暂时中断所述优先级低的响应数据的通信,而对所述优先级高的响应数据进行通信。

根据本发明的一例,存储介质存储响应数据的通信程序,所述通信程序使信息处理装置执行下述处理:循环通信处理,遵照预先设定的循环周期来进行通信;以及通信管理处理,对与来自控制装置的响应请求对应的响应数据的通信进行管理,在所述通信管理处理中,使所述信息处理装置执行下述处理,即,在跨及多个循环周期而对优先级低的响应数据进行通信的过程中,收到优先级高的响应数据的请求时,暂时中断所述优先级低的响应数据的通信,而对所述优先级高的响应数据进行通信。

[发明的效果]

根据本发明,即使在需要多个循环周期的大容量数据的通信过程中获取了紧急性高的响应请求,也能够迅速地对与所述紧急性高的响应请求相应的响应数据进行通信。

附图说明

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

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

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

图4是表示从机装置的硬件结构的框图。

图5是从机装置的功能框图。

图6是表示包含请求数据的帧数据(framedata)的具体数据结构的一例的图。

图7是表示包含响应数据的帧数据的具体数据结构的一例的图。

图8是表示响应数据的通信方法的流程图。

符号的说明

1:控制系统

10:控制装置

30:控制系统网络

60:信息通信用网络

61:个人计算机

62:工业用个人计算机

63:数据库装置

100、2300:数据总线

101、231:cpu

102、232:存储器

103、233:存储介质

104、234:收发部

105:上位通信部

110、2310:通信管理部

111、2311:第1控制系通信管理

112、2312:第2控制系通信管理

113、2313:信息系通信管理

121、2320:循环通信部

122、2330:消息通信部

130、2340:通信驱动器

141:用户应用处理部

142、2350:其他处理部

211、212、221、222、230:从机装置

具体实施方式

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

·适用例

首先,参照附图来说明本发明的实施方式的从机装置、响应数据的通信方法的适用例。图1是表示控制系统中的装置的概略结构的图。

从机装置221及从机装置222例如是机器人装置或机器人控制装置,包含在控制系统1中。从机装置221及从机装置222经由控制系统网络30而连接于控制装置10。控制装置10与从机装置221及从机装置222遵照对控制系统网络30设定的循环周期来执行通信。

从机装置221及从机装置222在从控制装置10收到包含命令等的请求数据时,生成其响应数据并发送至控制装置10。

此处,例如,从机装置221在响应数据跨及循环周期的多个周期,且跨及多个周期来发送此响应数据的过程中,受理新的响应请求。从机装置221从新的响应请求中检测优先级。

若针对新的响应请求的响应数据的优先级比跨及多个周期而发送中的响应数据的优先级高,则从机装置221暂时中断发送中的响应数据的发送。并且,从机装置221优先发送针对新的响应请求的响应数据。

由此,从机装置即使在其他响应数据的发送过程中,也能够迅速地对与所述紧急性高的响应请求相应的响应数据进行通信。

·结构例

参照附图来说明本发明的实施方式的从机装置、控制系统、响应数据的通信方法以及响应数据的通信程序。本实施方式中,作为控制系统,以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控制数据有包含从控制装置10发送至从机装置221或从机装置222的请求数据者、和包含自从机装置221或从机装置222发送至控制装置10的响应数据者。请求数据例如包含实现机器人装置的序列动作的多个命令、或日志的请求数据等。响应数据是与此命令群相关的数据,例如包含位置信息或状态信息,而且,包含日志数据等。

信息系数据是不同于第1控制数据及第2控制数据,未设定到达保证时间的各种数据。信息系数据例如是尽力服务(best-effort)型的数据。

第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。例如,所述机器人用控制程序中包含第2控制数据的请求数据。并且,响应所述请求数据的数据为响应数据。

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

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

控制装置10例如使用来自个人计算机61的控制程序,生成第1控制数据。控制装置10例如使用来自工业用个人计算机62的机器人用控制程序,生成第2控制数据。另外,控制装置10也能够使用来自个人计算机61的控制程序来生成第2控制数据。在从所述控制装置10发送的第2控制数据中,包含所述请求数据。

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

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

具体而言,从机装置221、从机装置222例如是通过机器人装置或连接于机器人装置的机器人控制装置而实现。另外,从机装置221、从机装置222只要是以第2控制数据来动作的装置,则也可为其他装置。在从这些从机装置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、从机装置221及从机装置222将第2控制数据分割为多个通信用数据。并且,控制装置10将多个通信用数据分配给多个循环周期来进行通信。

即,若请求数据的数据容量相对于第2控制数据用的上限容量为大,则控制装置10将请求数据分割为多个通信用数据来进行发送。而且,若响应数据的数据容量相对于第2控制数据用的上限容量为大,则从机装置221及从机装置222将响应数据分割为多个通信用数据来进行发送。

进而,控制装置10在分割为多个循环周期来对第2控制数据(请求数据)进行通信的期间内,获取另一新的第2控制数据(请求数据)时,根据各个第2控制数据(请求数据)的优先级来执行通信控制。而且,从机装置221及从机装置222在分割为多个循环周期来对第2控制数据(响应数据)进行通信的期间内,获取另一新的第2控制数据(响应数据)时,根据各个第2控制数据(响应数据)的优先级来执行通信控制。这些具体的通信控制将后述。

(控制装置的硬件结构)

图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周期的、各从机装置的通信频带。

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

第2控制系通信管理112执行第2控制数据的通信管理。此时,若第2控制数据(请求数据)的数据容量比能以循环周期的1周期来发送的第2控制数据的最大容量(通信容量)为大,则第2控制系通信管理112将第2控制数据分割为多个通信用数据。此时,第2控制系通信管理112在作为第2控制数据的通信对象的从机装置存在多台的情况下,通过将所述第2控制数据的最大容量分配给多个从机装置(例如简单地将最大容量除以从机装置的个数),从而设定针对各个从机装置的、能以循环周期的1周期来通信的最大容量。并且,第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由转换后的第1控制数据及第2控制数据形成帧数据,并根据从通信管理部110给予的收发调度,来将所述帧数据输出至通信驱动器130。

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

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

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

(从机装置的硬件结构)

图4是表示从机装置的硬件结构的框图。概略而言,从机装置230包含相对于图2所示的控制装置10而省略了上位通信部105的结构。从机装置230被适用于图1所示的从机装置211、从机装置212、从机装置221及从机装置222。

如图4所示,作为硬件结构,从机装置230包括cpu231、存储器232、存储介质233及收发部234。从机装置230中,cpu231、存储器232、存储介质233及收发部234通过数据总线2300而连接。

cpu231将存储于存储介质233中的系统程序、及用户应用程序读出至存储器232中而执行,由此来实现后述的各功能块的各处理。存储器232例如通过dram或sram等易失性存储元件而实现。而且,存储介质233例如通过磁存储介质、快闪存储器等非易失性存储介质而实现。

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

(从机装置的功能块)

图5是从机装置的功能框图。概略而言,从机装置230包含相对于图3所示的控制装置10而省略了用户应用处理部141的结构。

如图5所示,从机装置230包括通信管理部2310、循环通信部2320、消息通信部2330、通信驱动器2340及其他处理部2350。

通信管理部2310执行第1控制系通信管理2311、第2控制系通信管理2312及信息系通信管理2313。而且,通信管理部2310执行第1控制系通信管理2311、第2控制系通信管理2312及信息系通信管理2313的调度。此时,通信管理部2310根据由控制装置10的通信管理部110所设定的调度,来执行各种处理。

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

第2控制系通信管理2312执行第2控制数据的通信管理。此时,若第2控制数据(响应数据)的数据容量比能以分配给自身装置的循环周期的1周期来通信的第2控制数据的最大容量(通信容量)为大,则第2控制系通信管理2312将第2控制数据分割为多个通信用数据。第2控制系通信管理2312以多个通信用数据为单位来执行通信管理。

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

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

此时,通信管理部2310根据所获取的请求数据中所含的优先级,来设定包含响应数据的第2控制数据的通信顺序。

例如,具体而言,通信管理部2310在响应数据的通信中收到新的请求数据时,将与通信中的响应数据对应的请求数据的优先级、与新的请求数据的优先级进行比较。若比成为当前通信中的响应数据的源的请求数据的优先级高,则通信管理部2310进行通信控制,以暂时中断通信中的响应数据的通信,而对与新的请求数据对应的响应数据进行通信。其具体的通信控制将后述。

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

循环通信部2320将第1控制数据及第2控制数据转换为控制系统网络30的数据格式。循环通信部2320由转换后的第1控制数据及第2控制数据来形成帧数据,并根据从通信管理部2310给予的收发调度,来将所述帧数据输出至通信驱动器2340。

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

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

另外,其他处理部2350例如执行从机装置230的启动处理、或使用控制系统网络30的控制的初始处理等。

(具体的通信处理)

(1.请求数据的通信)

图6是表示包含请求数据的帧数据的具体数据结构的一例的图。另外,图6中,图示了连续的帧frmt1、frmt2,但其他帧也包含同样的结构。而且,图6中,对于第2控制数据,表示了针对一个从机装置者,在成为第2控制数据的通信对象的从机装置存在多个的情况下,则在一个帧数据内,存在进行通信的从机装置的个数的、图6所示的第1控制数据及第2控制数据。

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

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

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

另外,虽未图示,但若存储于缓冲存储器中的第2控制数据d21的数据容量为通信上限容量dsf以下,则通信管理部110从缓冲存储器取出整个第2控制数据d21,并输出至循环通信部121。

循环通信部121对包含第1控制数据d1和第2控制数据d21的通信用数据d211的帧数据frmr1进行通信。

接下来,通信管理部110在帧数据frmt2的通信前获取新的第2控制数据(请求数据)d22时,对当前(请求数据)d21的优先级与新获取的第2控制数据d22的优先级进行比较。

通信管理部110在检测到第2控制数据d22的优先级比第2控制数据d21的优先级高时,在到达帧数据frmt2的通信时机之前,从缓冲存储器取出第2控制数据d22,并输出至循环通信部121。另外,图6的示例中虽未图示,但通信管理部110在第2控制数据d21的优先级比第2控制数据d22的优先级高的情况下,只要继续第2控制数据d21的分割通信的控制即可。

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

循环通信部121对包含第1控制数据d1、第2控制数据d22及第2控制数据d21的通信用数据d213的帧数据frmt2进行通信。

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

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

在进行此种处理的情况下,包含多个第2控制数据的各帧数据例如具有图6所示的数据结构。

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

基本上,在各帧数据的第2控制数据及通信用数据中,包含格式(format)识别符(identification,id)、事务(transaction)id、总数据大小、片段(fragment)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中记载的命令群的数据。优先级是用于识别所述请求数据是否具有紧急性的数据。例如,若优先级为高(hi),则表示紧急性高,需要紧急返回响应数据,若优先级为低(low),则表示紧急性低,无响应数据的返回期限,或者返回期限长。另外,此处是将优先级设为高(hi)、低(low)这两个阶段,但也可设为三阶段以上的多阶段。

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

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

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

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

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

通信用数据d212包含格式id、事务id(=n)、总数据大小(=vn)、片段id(=q)、片段数据大小(=vnq)及请求数据,且依此顺序排列的数据结构。请求数据包含命令类型、命令id、与通信用数据d211相同的优先级(低(low))及自变量anq,且依此顺序排列的数据结构。

此种数据结构中,对于第2控制数据d21与第2控制数据d22的各个添附有优先级。因此,从机装置能够基于请求数据,来比较第2控制数据d21的优先级与第2控制数据d22的优先级。例如,若为图6的示例,则从机装置能够容易地检测出第2控制数据d22的优先级高于第2控制数据d21。

而且,由于通信用数据d211与通信用数据d212的事务id同为n,因此收到它们的从机装置221及从机装置222能够容易且切实地检测出通信用数据d211及通信用数据d212均为构成第2控制数据d21的数据。

而且,由于通信用数据d211的片段id为p,通信用数据d212的片段id为q,因此收到它们的从机装置221及从机装置222能够容易且切实地检测出:在第2控制数据d21中,通信用数据d212的自变量anp与通信用数据d213的自变量anq依此顺序而排列。

而且,收到它们的从机装置221及从机装置222能够根据片段数据大小vnp来检测通信用数据d211的缺损等通信错误,并能够根据片段数据大小vnq来检测通信用数据d212的缺损等通信错误。

而且,收到它们的从机装置221及从机装置222能够根据总数据大小vn,来检测包含通信用数据d211及通信用数据d212的第2控制数据d21的缺损等通信错误,并能够根据总数据大小vk来检测第2控制数据d22的缺损等通信错误。

(2.响应数据的通信)

以下,以从机装置221为例来表示,但从机装置222也执行同样的处理。

图7是表示包含响应数据的帧数据的具体数据结构的一例的图。另外,图7中,图示了连续的帧frmr1、frmr2,但其他帧也包含同样的结构。而且,图7中,对于第2控制数据,表示了针对一个从机装置者,在成为第2控制数据的通信对象的从机装置存在多个的情况下,则在一个帧数据内,存在进行通信的从机装置的个数的、图6所示的第1控制数据及第2控制数据。

从机装置211的通信管理部2310在获取包含与已收到的请求数据对应的响应数据的第2控制数据d20时,保存至通信管理部2310等所具备的缓冲存储器中。缓冲存储器在物理上通过例如所述收发部234所具备的易失性存储元件、存储器232而实现。

通信管理部2310在到达遵照循环周期的帧数据frmr1的通信时机之前,从缓冲存储器中取出第2控制数据d20中的通信用数据d201,并输出至循环通信部2320。通信用数据d201是对应所述通信上限容量dsf的数据。

另外,虽未图示,但若存储于缓冲存储器中的第2控制数据d20的数据容量为通信上限容量dsf以下,则通信管理部2310从缓冲存储器中取出整个第2控制数据d20,并输出至循环通信部2320。

循环通信部2320对包含第1控制数据d1与第2控制数据d20的通信用数据d201的帧数据frmr1进行通信。

接下来,通信管理部110在帧数据frmr2的通信前获取包含新的响应数据的第2控制数据d22时,对当前正在对响应数据进行通信的第2控制数据d20的优先级、与新获取的第2控制数据d22的优先级进行比较。

通信管理部2310在检测到第2控制数据d22的优先级比第2控制数据d20的优先级高时,在到达帧数据frmr2的通信时机之前,从缓冲存储器取出第2控制数据d22,并输出至循环通信部2320。另外,图7的示例中虽未图示,但通信管理部110在第2控制数据d20的优先级比第2控制数据d22的优先级高的情况下,只要继续第2控制数据d20的分割通信的控制即可。

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

循环通信部2320对包含第1控制数据d1、第2控制数据(响应数据)d22、及第2控制数据(响应数据)d20的通信用数据d202的帧数据frmr2进行通信。

通过此处理,从机装置221将优先级不同的第2控制数据(响应数据)d20及第2控制数据(响应数据)d22,根据各自的优先级来进行通信控制。

由此,从机装置221在存在分割通信中的第2控制数据(响应数据)d20的状态下,获取了优先级更高的第2控制数据(响应数据)d22时,能够优先地对优先级高的第2控制数据(响应数据)d22进行通信,且也能够切实地对分割通信已暂停的第2控制数据(响应数据)d20进行通信。

在进行此种处理的情况下,包含多个第2控制数据的各帧数据例如具有图7所示的数据结构。

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

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

格式id、事务id、总数据大小、片段id及片段数据大小是与图6所示的帧数据相同的定义,因而省略说明。

响应数据包含命令类型、命令id、优先级及自变量am等,且是从先头比特开始依此顺序排列的数据。自变量am包含与所述请求数据中所含的自变量an等对应的响应信息。例如,响应信息包含数据容量大的日志数据、数据容量小的位置信息或状态信息等。命令类型及命令id是用于识别自变量an中记载的响应信息的数据。优先级是与所述请求数据相同的定义。

遵照此种数据结构,帧数据frmr1及帧数据frmr2具有图7所示的数据结构。

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

通信用数据d201包含格式id、事务id(=m)、总数据大小(=vm)、片段id(=pp)、片段数据大小(=vmpp)及响应数据,且依此顺序排列的数据结构。响应数据包含命令类型、命令id、优先级(=低(low))及自变量amp,且依此顺序排列的数据结构。

帧数据frmr2具有第1控制数据d1、第2控制数据d22及第2控制数据d20的通信用数据d202依此顺序排列的数据结构。

第2控制数据d22包含格式id、事务id(=k)、总数据大小(=vkk)及响应数据,且依此顺序排列的数据结构。响应数据包含命令类型、命令id、优先级(=高(hi))及自变量akk,且依此顺序排列的数据结构。

通信用数据d202包含格式id、事务id(=m)、总数据大小(=vm)、片段id(=qq)、片段数据大小(=vnqq)及响应数据,且依此顺序排列的数据结构。响应数据包含命令类型、命令id、与通信用数据d201相同的优先级(=低(low))及自变量amq,且依此顺序排列的数据结构。

此种数据结构中,由于通信用数据d201与通信用数据d212的事务id同为n,因此收到它们的控制装置10能够容易且切实地检测出通信用数据d201及通信用数据d212均为构成第2控制数据(响应数据)d20的数据。

而且,由于通信用数据d201的片段id为pp,通信用数据d202的片段id为qq,因此收到它们的控制装置10能够容易且切实地检测出:在第2控制数据d20中,通信用数据d201的自变量amp与通信用数据d202的自变量amq依此顺序而排列。

而且,根据片段数据大小vmpp,收到它们的控制装置10能够检测通信用数据d201的缺损等通信错误,根据片段数据大小vmqq,能够检测通信用数据d202的缺损等通信错误。

而且,根据总数据大小vm,收到它们的控制装置10能够检测包含通信用数据d201及通信用数据d202的第2控制数据d20的缺损等通信错误,根据总数据大小vkk,能够检测第2控制数据d22的缺损等通信错误。

(具体的通信处理流程)

如上所述的响应数据的通信控制是通过执行以下所示的处理来实现。图8是表示响应数据的通信方法的流程图。另外,以下表示从机装置221的处理,但从机装置222也执行同样的处理。

从机装置221在收到来自控制装置10的请求数据,即,响应请求时(s11:是),检测是否存在未处理的响应数据(s12)。

若存在未处理的响应数据(s12:是),则从机装置221检测是否存在多个未处理的响应数据(s13)。

若存在多个响应数据(s13:是),则从机装置221对多个响应数据的优先级进行比较。从机装置221插入优先级高的响应数据(s16)。若插入了优先级高的响应数据后的帧无空余(s17:否),则从机装置221发送插入有优先级高的响应数据的帧数据(s15)。

若插入了优先级高的响应数据后的帧有空余(s17:是),则从机装置221返回步骤s12。

而且,若响应数据只有一个(s13:否),则从机装置221插入响应数据(s14),并发送插入有所述响应数据的帧数据(s15)。

并且,若无未处理的响应数据(s12:否),且无新的响应请求(s11:否),则从机装置221结束处理。

通过进行此种通信控制,若在响应数据的通信中存在更具有紧急性的响应请求,则从机装置221能够迅速地对与具有所述紧急性的响应请求对应的响应数据进行通信。

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