控制系统、开发支持装置、控制装置及控制方法与流程

文档序号:11142870阅读:579来源:国知局
控制系统、开发支持装置、控制装置及控制方法与制造工艺

本发明涉及用于对控制对象进行控制的控制系统以及适合该控制系统的开发支持装置、控制装置和控制方法。



背景技术:

多数生产现场中使用的机械和设备由控制系统控制,该控制系统代表性地由可编程控制器(Programmable Logic Controller,以下也称为“PLC”)等构成。在这样的控制系统中,在现场的各处配置远程装置,对各个远程装置发出指令值,并且从各个远程装置收集现场信息。这样的指令值和现场信息的传送是通过现场网络进行的。

优选的是,在控制系统内存在提供彼此不同的功能的远程装置,使用于更新指令值的周期等也适合于各种功能。

已公开了如下的技术:在这样经由网络的数据的传递中,与频带宽度对应地,按照其优先度优化数据的数组等(例如,日本特开2012-094944号公报(专利文献1))。

现有技术文献

专利文献

专利文献1:日本特开2012-094944号公报



技术实现要素:

发明要解决的问题

在上述日本特开2012-094944号公报(专利文献1)所公开的通信频带控制装置中,在通信驱动器(driver)和任务(task)这样一对多关系的数据传递中,根据发送请求的重要度实现极其细致的频带的指定。与此相对,在如上所述的控制系统中,采用预先设定了控制周期和频带的网络。因此,无法应用按照每个数据动态地指定频带的现有技术的技术思想。

本发明正是鉴于这样的问题而完成的,其目的在于提供如下的结构:在包括通过 网络而连接的主装置及多个从装置的控制系统中,能够以适合各个从装置的周期来发送数据。

用于解决问题的手段

本发明的某个方面的用于对控制对象进行控制的控制系统包括主装置、和通过网络与主装置连接的多个从装置。主装置构成为按照每一个或多个预先设定的控制周期在所述网络上发送分组,并且多个从装置中的各个从装置依次转发来自主装置的分组。主装置包括执行单元,该执行单元反复执行包括与从装置的输入输出相关联的处理的程序,所述执行单元通过执行程序而计算第1数据和第2数据。主装置包括分配单元,该分配单元根据第1发送周期的设定和第2发送周期的设定,按照每个第1发送周期将第1数据分配到分组中,并且按照每个第2发送周期将第2数据分配到分组中,其中所述第1发送周期针对第1数据,是控制周期的整数倍,所述第2发送周期针对第2数据,是控制周期的整数倍,且比第1发送周期长。主装置将第1数据和第2数据分别与表示发送目的地的从装置的信息一起存储在分组中,多个从装置各自仅提取来自主装置的分组所包含的数据中的、以本装置为收信方的数据。

优选的是,分配单元以不超过对各个分组所允许的最大数据尺寸的方式,决定将第1数据和第2数据分别分配到哪个分组中。

优选的是,分配单元从被设定了发送周期的作为发送对象的多个数据中的、发送周期短的数据开始顺序地决定分配至分组的分配方法。

优选的是,第2数据包括多个数据要素。分配单元以如下方式决定把第2数据分配至分组的分配方法:在对第2数据设定了同步发送的情况下,将第2数据中包含的多个数据要素分配在同一个分组中,在没有对第2数据设定同步发送的情况下,将第2数据中包含的多个数据要素分配在同一个分组中。

更优选的是,分配单元将作为发送对象的多个数据中被设定了同步发送的数据优先于其它数据而决定分配至分组的分配方法。

优选的是,分配单元包括通知各个分组中的所分配的数据的占有状态的单元。

优选的是,分配单元包括如下的单元:在无法按照包括控制周期、第1发送周期、第2发送周期在内的预先设定的通信参数,对第1数据和第2数据决定分配方法的情况下,该单元进行催促该通信参数的变更的通知。

根据本发明的另一个方面提供面向用于对控制对象进行控制的控制系统的开发支持装置。控制系统包括主装置、和经由网络与主装置连接的多个从装置。主装置构成为按照每个预先设定的控制周期在网络上发送分组,并且多个从装置中的各个从装置依次转发来自主装置的分组。开发支持装置包括:接收单元,在主装置被设定成通过反复执行包括与从装置的输入输出相关联的处理的程序来计算第1数据和第2数据的情况下,该接收单元接收通信参数,该通信参数包括第1发送周期的设定和第2发送周期的设定,其中所述第1发送周期针对第1数据,是控制周期的整数倍,所述第2发送周期针对第2数据,是控制周期的整数倍,且比第1发送周期长;以及分配决定单元,其以如下方式决定分配方法:按照每个第1发送周期将第1数据分配到分组中、并且按照每个第2发送周期将第2数据分配到分组中的方式决定分配方法。

根据本发明的另一个方面提供经由网络与多个从装置连接的控制装置,该控制装置构成为按照每一个或者多个预先设定的控制周期在所述网络上发送分组,并且多个从装置中的各个从装置依次转发来自控制装置的分组。控制装置包括执行单元,该执行单元反复执行包括与从装置的输入输出相关联的处理的程序。执行单元通过执行程序而计算第1数据和第2数据。控制装置包括分配单元,该分配单元根据第1发送周期的设定和第2发送周期的设定,按照每个第1发送周期将第1数据分配到分组中,并且按照每个第2发送周期将第2数据分配到分组中,其中所述第1发送周期针对第1数据,是控制周期的整数倍,所述第2发送周期针对第2数据,是控制周期的整数倍,且比第1发送周期长。控制装置将第1数据和第2数据分别与表示发送目的地的从装置的信息一起存储在分组中,多个从装置各自仅提取来自控制装置的分组所包含的数据中的、以本装置为收信方的数据。

根据本发明的又另一个方面提供面向用于对控制对象进行控制的控制系统的开发支持装置。控制系统包括主装置、和经由网络与主装置连接的多个从装置。主装置构成为按照每一个或者多个预先设定的控制周期在所述网络上发送分组,并且多个从装置中的各个从装置依次转发来自主装置的分组。主装置包括执行单元,该执行单元反复执行包括与从装置的输入输出相关联的处理的程序。执行单元通过执行程序而计算第1数据和第2数据。开发支持装置根据第1发送周期的设定和第2发送周期的设定,以如下的方式决定分配方法:按照每个第1发送周期将第1数据分配到分组中,并且按照每个第2发送周期将第2数据分配到分组中,其中所述第1发送周期针对第 1数据,是控制周期的整数倍,所述第2发送周期针对第2数据,是控制周期的整数倍,且比第1发送周期长。

根据本发明的又另一个方面提供对控制对象进行控制的控制系统的控制方法。控制系统包括主装置、和经由网络与主装置连接的多个从装置。控制方法包括以下步骤:主装置按照每一个或者多个预先设定的控制周期在网络上发送分组,并且多个从装置中的各个从装置依次转发来自主装置的分组;主装置反复执行包括与从装置的输入输出相关联的处理的程序。通过程序的执行,计算第1数据和第2数据。控制方法包括以下步骤:根据第1发送周期的设定和第2发送周期的设定,按照每个第1发送周期将第1数据分配到分组中,并且按照每个第2发送周期将第2数据分配到分组中,其中所述第1发送周期针对第1数据,是控制周期的整数倍,所述第2发送周期针对第2数据,是控制周期的整数倍,且比第1发送周期长;主装置将第1数据和第2数据分别与表示发送目的地的从装置的信息一起存储在分组中;多个从装置各自仅提取来自主装置的分组所包含的数据中的、以本装置为收信方的数据。

发明效果

根据本发明的某个方面的控制系统,能够以适合各个从装置的周期发送数据。

附图说明

图1是示出本实施方式的PLC系统的整体结构的示意图。

图2是示出本实施方式的PLC系统中包含的CPU单元的装置结构的示意图。

图3是示出本实施方式的PLC系统中包含的远程装置的装置结构的一例的示意图。

图4是用于说明本实施方式的PLC系统的处理的概要的图。

图5是用于说明本实施方式的PLC系统中包含的分组生成的处理的图。

图6是示出在本实施方式的PLC系统中使用的通信参数的一例的图。

图7是用于说明按照图6所示的通信参数进行的分组的生成处理的一例的图。

图8是示出将图7(c)所示的输出信息分配到分组中的状态下的分组占有时间的合计及占有率的图。

图9是示出本实施方式的PLC系统的处理步骤的流程图。

图10是示出本实施方式的PLC系统的分组的数据结构例的图。

图11是示出本实施方式的变形例的PLC系统的整体结构的示意图。

具体实施方式

参照附图详细说明本发明的实施方式。另外,对于附图中相同或者相当的部分标注相同的标号,不重复其说明。

在本实施方式中,作为控制系统的一例,示例以PLC为中心的系统。但是,作为这样的控制系统,不仅能够采用PLC,而且也能够采用以各种产业用计算机为中心的结构。另外,随着技术的发展,在开发出了新的处理装置(运算装置)的情况下,也能够采用这样新的处理装置。

<A.PLC系统的整体结构>

首先,对控制系统的一种方式即本实施方式的PLC系统1的整体结构进行说明。图1是示出本实施方式的PLC系统1的整体结构的示意图。

参照图1,PLC系统1是用于对控制对象进行控制的控制系统,包括主处理装置2和多个远程装置40_1、40_2、40_3、…、40_N(以下,也存在统称为“远程装置40”的情况)。主处理装置2和远程装置40是构成PLC系统1的至少一部分的控制装置,经由现场网络4相连接。

经由现场网络4的通信由主处理装置2主体进行控制。具体而言,主处理装置2按照预先设定的定时或者规则,发送在现场网络4上依次传输的数据。在下面的说明中,将在现场网络4上依次传输的数据也称为“分组”。从这种意义上讲,将主处理装置2称为“主装置”,将各个远程装置40_1、40_2、40_3、…、40_N称为“从装置”。即,作为控制系统的PLC系统1包括主处理装置2(主装置)、和经由现场网络4与主处理装置2(主装置)连接的多个远程装置40(从装置)。

主处理装置2通过执行对控制对象进行控制所需要的程序(如后面所述,包括用户程序和系统程序等),实现收集来自远程装置40的输入信号(以下也称为“现场信息”)的处理、根据所收集的现场信息进行控制运算的处理、将通过控制运算而计算出的指令值输出给远程装置40的处理等。

主处理装置2包括作为其装置结构的CPU单元10、一个以上的IO单元20、电源单元30。CPU单元10和IO单元20经由未图示的内部总线以能够进行数据通信的 方式相互连接。电源单元30向CPU单元10和IO单元20供给合适的电压的电力。

CPU单元10包括:运算部,其执行对控制对象进行控制所需要的程序;通信处理部110,其控制通过现场网络4进行的与远程装置40的通信。

CPU单元10也可以与开发支持装置500连接,开发支持装置500进行各种程序的安装、调试、程序执行状态的监视等。开发支持装置500典型地讲通过在通用计算机上执行支持程序而实现。有时支持程序中也包含模仿CPU单元10而能够模拟地执行各种程序的功能等的情况。

远程装置40接收来自外部的开关或传感器的现场信息,将接收到的现场信息经由现场网络4发送给主处理装置2。并且,远程装置40将从主处理装置2经由现场网络4接收到的指令值,向外部的继电器和致动器输出。或者,远程装置40也可以按照经由现场网络4接收到的指令值自己进行动作。例如,假定远程装置40是包括不具备运算功能的单纯的IO单元、具有运算功能的IO单元、如伺服驱动器那样的致动器的装置等。

在图1中示出了远程装置40是伺服驱动器的情况,远程装置40_1、40_2、40_3、…、40_N分别与伺服电机42_1、42_2、42_3、…、42_N(以下,有时也统称为“伺服电机42”)连接,按照来自主处理装置2的指令,通过各个远程装置控制对应的伺服电机。

CPU单元10的通信处理部110构成为管理包括由主处理装置2(主装置)及多个远程装置40(从装置)处理的数据的数据串(分组)在现场网络4上的循环传输。该分组以预先设定的一个控制周期或者多个控制周期中的各个控制周期进行发送。即构成为,主处理装置2(主装置)以预先设定的一个控制周期或者多个控制周期中的各个控制周期在现场网络4上发送分组,并且多个远程装置40(从装置)中的各个远程装置40(从装置)依次转发来自主处理装置2(主装置)的分组。

在本说明书中,“控制周期”是指用户程序的处理时间,有时指预先设定的固定周期,有时根据执行的用户程序的量等动态地变化。

在图1中示意地示出了所谓环形式的现场网络,但也可以是雏菊链(daisy chain)连接的现场网络。即,作为本实施方式的现场网络,只要是能够以预先设定的一个控制周期或者多个控制周期中的各个控制周期传输数据串(分组)的结构,则可以采用任何结构。

<B.CPU单元10的装置结构>

下面,对本实施方式的PLC系统1中包含的CPU单元10的装置结构进行说明。图2是示出本实施方式的PLC系统1中包含的CPU单元10的装置结构的示意图。

参照图2,CPU单元10除通信处理部110外,还包括作为运算部的处理器100、主存储器102、非易失性存储器104、和内部总线控制器108。这些部件构成为能够经由内部总线109相互进行数据通信。

处理器100执行与控制有关的程序。处理器100从非易失性存储器104等读出必要的程序,并且展开到主存储器102中进行执行。非易失性存储器104存储用户程序105和系统程序106作为与控制有关的程序。与处理器100的程序的执行有关的数据被存储在主存储器102内的工作区域103中。

内部总线控制器108经由未图示的内部总线与IO单元20连接,对处理器100和IO单元20之间的数据(现场信息和指令值)交换进行中介(仲介する)。

通信处理部110经由现场网络4与远程装置40连接,对CPU单元10和远程装置40之间的数据(现场信息和指令值)交换进行中介。更具体地讲,通信处理部110包括通信控制器112、共用存储器114、发送缓冲器120、发送电路122、接收缓冲器130、接收电路132。

发送缓冲器120及发送电路122实现与从通信处理部110向外部装置的帧发送有关的处理,接收缓冲器130及接收电路132实现与从外部装置向通信处理部110的帧发送有关的处理。通信处理部110具有共用存储器114,处理器100将计算出的指定值写入共用存储器114中,并且从共用存储器114读出现场信息。即,被写入共用存储器114的指定值被转发至发送缓冲器120,从发送缓冲器120被发送至远程装置40。并且,从远程装置40取得的现场信息由接收缓冲器130接收后,被转发至共用存储器114。

通信处理部110中的一系列的处理由通信控制器112执行。更具体地讲,通信控制器112按照来自处理器100等的指令生成分组并发送,并且从接收到的分组中提取需要的信息。

通信处理部110的一部分或者全部也可以使用软件实现。或者,其中一部分或者全部也可以使用ASIC(Application Specific Integrated Circuit:专用集成电路)、FPGA(Field Programmable Gate Array:现场可编程门阵列)等硬件电路实现。

<C.远程装置40的装置结构>

下面,对本实施方式的PLC系统1中包含的远程装置40的装置结构进行说明。图3是示出本实施方式的PLC系统1中包含的远程装置40的装置结构的一例的示意图。

作为本实施方式的远程装置40,可以采用各种结构,但在图3中示出具有运算功能及IO功能的结构例。参照图3,远程装置40包括运算处理部400、输入电路402、输出电路404、通信处理部410。

运算处理部400根据经由现场网络4发送的分组执行预先设定的处理,并且经由现场网络4发送处理的结果所得到的分组。

输入电路402将从现场侧输入的信号(现场信息)输出至运算处理部400。输出电路将与运算处理部400提供的指令值对应的信号输出至现场侧。

通信处理部410经由现场网络4与CPU单元10连接,对远程装置40和CPU单元10之间的数据(现场信息和指令值)的交换进行中介。更具体地讲,通信处理部410包括通信控制器412、共用存储器414、发送缓冲器420、发送电路422、接收缓冲器430、接收电路432。这些部件具有与上述的通信控制器112、共用存储器114、发送缓冲器120、发送电路122、接收缓冲器130及接收电路132(均参见图2)相同的功能,因而不重复详细的说明。但是,在作为从装置的一部分的通信处理部410中接收到分组时的处理以及发送分组时的处理,与在作为主装置的一部分的CPU单元10的通信处理部110中的处理不同。

关于远程装置40(运算处理部400、输入电路402、输出电路404及通信处理部410)的功能,也可以使用软件实现其全部或者一部分的功能,但优选使用ASIC和FPGA等硬件电路实现其一部分或者全部功能。

<D.现场网络4>

下面,对现场网络4中的通信处理进行说明。

作为现场网络4中的通信方式,优选能够以预先设定的一个控制周期或者多个控制周期中的各个控制周期进行分组传输(即,能够实时通信)的方式。作为一例,现场网络4能够使用各种的产业用以太网(注册商标)。作为产业用以太网(注册商标)的具体例,例如有EtherCAT(注册商标)、PROFINET IRT、MECHATRO LINK(注册商标)-III、Powerlink、SERCOS(注册商标)-III、CIP Motion等。另外,也可以 使用产业用以太网(注册商标)以外的现场网络。例如,也可以使用DeviceNet、CompoNet(注册商标)等。

<E.概要>

下面,对本实施方式的PLC系统1的处理的概要进行说明。图4是用于说明本实施方式的PLC系统1的处理的概要的图。图4(a)是示出关联技术的分组的数据结构的图,图4(b)是示出本实施方式的分组的数据结构的图。

在一般的现场网络中,如图4(a)所示,在各个分组中存储的数据类型是一样的。即,各个分组具有相同的数据结构,以预先设定的一个控制周期或者多个控制周期中的各个控制周期发送同一类型的数据集。在图4(a)所示的例子中,各个分组都包含适合于各个从机1~从机6的数据。

例如,如果使用如图1所示的多个伺服电机42进行多轴控制,则需要将有关各个轴的指令值存储在各个分组中,其数据长度变长。即,控制对象的轴数越多,控制周期T1(即远程装置40的控制周期)与其轴数成比例地变长。

但是,实际上往往是需要高速响应的轴和不需要高速响应的轴混合存在的。在这样的轴数较多的系统中,即使是对不需高速响应的轴,也以与需要高速响应的轴大致相同的控制周期发送指令值,反而对需要高速响应的轴产生制约。

在如图4(a)所示的轴数比较多的结构中,由针对所有轴的指令值的集构成一个分组进行转发,因而与轴数成比例地控制周期为T1。换言之,在各伺服电机42中,不能实现比控制周期T1更高速的响应。

与此相对,在本实施方式中,按照各远程装置40的速度请求,使控制周期实质上可以变化。即,在控制多个伺服电机42的结构中,对每个轴设定与所请求的响应时间对应的控制周期,生成与该设定的控制周期对应的分组。因此,实现所设定的各个控制周期。

例如,在图4(b)的例子中,在将各个分组的控制周期设为T2的情况下,将针对从机1和从机2的控制周期设定为T2,将针对从机3~从机6的控制周期设定为T2×2。各个分组均包含针对从机1和从机2的指令值,但针对从机3~从机6的指令值仅包含在两次中的一次的分组中。即,针对从机3和从机4的指令值仅包含在奇数号的分组中,针对从机5和从机6的指令值仅包含在偶数号的分组中。

通过生成这样的分组,在从机1和从机2能够实现与控制周期T2相同的控制周 期,在从机3~从机6能够实现控制周期T2的2倍的控制周期。即,在图4(b)所示的例子中,需要高速响应的轴按照每控制周期T进行通信,不需要高速响应的轴多次中进行一次通信,由此能够减小每一次的分组的数据尺寸,由此能够缩短控制周期,实现高速的响应。

如以下说明的那样,在本实施方式中,按照控制系统内的从装置的数量和各个从装置的控制周期的请求,使在各个分组中存储的数据结构在每周期动态地变化,由此实现满足要求的控制。

<F.分组生成处理>

下面,对本实施方式的PLC系统1的分组生成的处理进行说明。图5是用于说明本实施方式的PLC系统1中包含的分组生成的处理的图。

参照图5,用户程序105包括多个处理A、B、C、D,各个处理彼此独立地以预先设定的控制周期反复执行。在此,假设多个处理A、B、C、D的发送周期分别是As、Bs、Cs、Ds。各个处理A、B、C、D使用从远程装置40等收集的现场信息作为输入,并且通过执行计算出输出信息A(n)、B(n)、C(n)、D(n)(其中,n为1以上的整数)。另外,为了便于说明,以数组形式定义输出信息,但不一定需要以数组形式进行存储,也可以按照任意的配置及形式进行存储。输出信息A(n)、B(n)、C(n)、D(n)被存储在主存储器102内的工作区域103中,并以对应的处理的控制周期被逐次更新。即,主处理装置2(主装置)包括反复执行用户程序105的处理器100(执行单元),用户程序105包含与远程装置40(从装置)的输入输出有关的处理。处理器100(执行单元)通过执行用户程序105,计算多种类型的数据。

按照预先设定的分配设定150选择被存储在工作区域103中的输出信息,并依次生成分组Nt1、Nt2、Nt3、Nt4、…。在图5所示的例子中,将通过处理A计算出的输出信息A(n)分配到所生成的各个分组中。即,按照分组的控制周期发送输出信息A(n)。与此相对,将输出信息B(n)、C(n)、D(n)的通信频度(控制周期/发送周期)设定为输出信息A(n)的1/3。即,按照每3次中1次的比率发送输出信息B(n)、C(n)、D(n)。换言之,输出信息B(n)、C(n)、D(n)以相当于分组的控制周期的3倍的周期被更新。

这样,通过按照处理的类别及/或输出信息的内容优化提供给远程装置40的数据的通信频度(周期),能够避免各个分组的数据尺寸过度增大而不能缩短控制周期的 情况。即,现场网络4有效利用预先准备的通信频带,即使是远程装置40的数量较多的情况下,也能够以较短的控制周期向需要高速响应的远程装置40提供指令值。

在上述的说明中,对于从主处理装置2向多个远程装置40发送通过用户程序105中包含的处理而计算出的输出信息A(n)、B(n)、C(n)、D(n)的处理例进行了说明,该处理例同样能够适用于主处理装置2从各个远程装置40收集现场信息的处理。在从远程装置40收集现场信息的情况下,向对象的远程装置40发送用于取得现场信息的命令(以下也称为“数据更新命令”)。因此,按照以上所述的处理的类别及/或所需要的现场信息等,以合适的控制周期发送该数据更新命令,由此现场网络4能够有效利用预先准备的通信频带,实现也能应对高速响应的数据通信。

<G.向分组进行分配的处理的具体例>

下面,使用具体例说明向分组进行分配的处理的一例。将发送对象的输出信息分配给分组的分配处理、即决定分配设定150的处理,典型地讲由CPU单元10的处理器100执行。但是,也可以在与CPU单元10连接的开发支持装置500等的离线环境下执行。

(g1:通信参数)

图6是示出在本实施方式的PLC系统1中使用的通信参数的一例的图。参照图6,例如假设反复执行多个处理A、B、C、D,各个处理的执行周期即发送周期As、Bs、Cs、Ds分别是250μsec、500μsec、1000μsec、1000μsec。

假设处理A、B、C、D分别输出输出信息A(n)、B(n)、C(n)、D(n)。假设各输出信息中包含的数据数Ac、Bc、Cc、Dc分别是3、4、4、1。即,输出信息A(n)包括3个数据要素A(1)、A(2)、A(3),输出信息B(n)及C(n)均分别包括4个数据要素B(1)、B(2)、B(3)、B(4)及数据要素C(1)、C(2)、C(3)、C(4),输出信息D(n)包括1个数据要素D(1)。

与输出信息A(n)、B(n)、C(n)、D(n)分别对应的分组占有时间Ap、Bp、Cp、Dp表示将对应的数据要素分配到分组中时所需要的占有时间,能够与各个数据要素的长度和类型对应地变化。即,分组占有时间是指对应的数据要素的数据尺寸,控制周期Tc是指每1个分组能够发送的最大数据尺寸。

另外,也可以直接使用数据要素的数据尺寸替代分组占有时间进行评价。即,也可以使用控制周期Tc先决定能够对各个分组分配的数据尺寸(最大数据尺寸),并且 使用分配对象的各个数据要素的数据尺寸决定分配方法。

在图6所示的例子中,有关输出信息A(n)及D(n)的分组占有时间Ap及Dp均是30μsec,有关输出信息B(n)及C(n)的分组占有时间Bp及Cp均是35μsec。

控制周期Tc表示分组的生成周期。有关各个处理A、B、C、D的通信频度Af、Bf、Cf、Df是表示以控制周期Tc为基准、对分组分配何种程度对应的输出信息的值。例如,有关处理A的通信频度Af是0.5,表示每当发送两次分组时复制与任意一次的分组对应的输出信息A(n)。并且,有关处理B的通信频度Bf是0.25,表示每当发送四次分组时复制与任意一次的分组对应的输出信息B(n)。并且,有关处理C及D的通信频度Cf及Df均是0.125,表示每当发送八次分组时分别复制与任意一次的分组对应的输出信息C(n)及D(n)。因此,需要以如下方式将数据要素分配给分组,即,输出信息A(n)的发送周期是控制周期Tc×2,输出信息B(n)的发送周期是控制周期Tc×4,输出信息C(n)及D(n)的发送周期是控制周期Tc×8。

图6所示的通信参数中的栏目“同步”表示是否需要在同一个分组中发送对应的输出信息内的数据集。例如,对于输出信息A(n)及D(n),将“同步”指定为“需要”,将这些输出信息内的数据集分配给同一个分组。即,设定成同步发送这些输出信息内的数据集。与此相对,对于输出信息B(n)及C(n),将“同步”指定为“不需要”,对于这些输出信息内的数据集,允许将一部分数据和剩余数据分配给不同的分组。例如,在3轴的运动控制等中,需要同时更新针对各轴的指令,对于在这样的应用中使用的输出信息,设定成需要同步。与此相对,如果是在彼此独立的控制中使用的输出信息,不需要在相同的定时进行更新,在这样的情况下设定成不需要同步。

(g2:分组的生成处理)

图7是用于说明按照图6所示的通信参数进行的分组的生成处理的一例的图。参照图7(a)~(c)说明按照图6所示的通信参数怎样决定分配设定。

另外,在最高的通信频度(控制周期/最短的发送周期)>1的情况下,以现状的控制周期不能满足要求,因而需要重新审视发送周期、分组占有时间、控制周期等。

首先,根据图6所示的通信参数,对于所要求的通信频度较高(即,所要求的发送周期较短)的输出信息优先决定分配方法。但是,在包含需要同步的输出信息的情况下,这些输出信息优先。

在图6所示的通信参数中,对输出信息A(n)及D(n)设定成需要同步,对这些需要同步的输出信息中的输出信息A(n)设定更高的通信频度。因此,第一,是以如下的方式决定分配方法:以通信频度Af(=控制周期Tc/发送周期)的倒数进行一次的频度,分配需要同步而且通信频度最高的输出信息A(n)的整个数据集。在图6所示的例子中,输出信息A(n)的通信频度是0.5,因而以两个控制周期Tc进行一次的频度将输出信息A(n)分配到分组中。即,将输出信息A(n)中包含的3个数据要素A(1)、A(2)、A(3)分配在一个数据分组中。

并且,在对各个分组分配数据要素时进行优化,使得该分组中的分组占有时间的合计不超过控制周期Tc。

在图7(a)中示出了将输出信息A(n)中包含的3个数据要素A(1)、A(2)、A(3)分配到奇数号的分组即各个分组Nt1、Nt3、Nt5、Nt7、Nt9、Nt11、Nt13、…中的示例。

在图7(a)所示的状态下,有关奇数号的各个分组中的输出信息A(n)的分组占有时间的合计达到分组占有时间Ap×数据数Ac=90μsec,满足分组占有时间Ap×数据数Ac<控制周期Tc(125μsec)的条件。

第二,对于另一个需要同步的输出信息D(n)的整个数据集,以通信频度Df的倒数进行一次的频度进行分配的方式决定分配方法。由于输出信息D(n)的通信频度为0.125,因而以每八个控制周期Tc进行一次的频度将输出信息D(n)分配到分组中。在图7(a)所示的状态下,奇数号的分组尚有富余,因而示出了将输出信息D(n)中包含的一个数据要素D(1)分配到各个分组Nt1、Nt9、…中的示例。

在该状态下,第1、9、17、…号的各个分组中的分组占有时间的合计达到分组占有时间Ap×数据数Ac+分组占有时间Dp×数据数Dc=120μsec,满足控制周期Tc(125μsec)的条件。

在如上所述分配需要同步的输出信息的时刻,在有关分组占有时间的合计的条件不成立的情况下,需要重新考虑发送周期、分组占有时间、控制周期等。

这样,主处理装置2(主装置)具有以如下方式决定分配方法的功能:根据第1发送周期的设定和第2发送周期的设定,以使不超过各个分组所允许的最大数据尺寸(控制周期Tc)的方式,按照每个第1发送周期将输出信息D(n)(第1数据)分配到以每控制周期发送的分组的任意一个中,并且按照每个第2发送周期将输出信息 D(n)(第2数据)分配到以每控制周期Tc1发送的分组的任意一个中,其中,所述第1发送周期针对输出信息A(n)(第1数据),是控制周期Tc的整数倍(×2),所述第2发送周期是针对输出信息D(n)(第2数据),是控制周期Tc的整数倍(×8)且比第1发送周期长。此时,分配功能是在被设定了发送周期的发送对象的多个数据中,从该发送周期较短的数据开始顺序地进行向分组中的分配。

然后,在不需要同步的输出信息中按照通信频度从高到低的顺序依次分配到分组中。在图6所示的通信参数中,第三是决定用于分配不需要同步且通信频度最高的输出信息B(n)中包含的数据要素B(1)、B(2)、B(3)、B(4)的分配方法。在此,决定以通信频度Bf(=控制周期Tc/发送周期)的倒数进行一次的频度来分配各个数据要素B(1)、B(2)、B(3)、B(4)的分配方法。但是,也可以将各个数据要素分配到不同的分组中。此时,以满足以下两个条件的方式进行分配:使可分配的频度达到所指定的值,以及各个分组的分组占有时间的合计不超过控制周期。即,以使各个分组的占有率(分组占有时间的合计/控制周期Tc)不超过1的方式,依次分配输出信息B。另外,由于输出信息B不需要同步,因而只要能够确保所要求的通信频度即可,不需要将所有的数据要素配置在同一个分组中。

例如,在图7(a)所示的状态下,在将数据要素B(1)分配到分组Nt1中时,分组占有时间的合计为分组占有时间Ap×数据数Ac+分组占有时间Dp×数据数Dc+分组占有时间Bp×(数据数Bc-3)=155μsec>控制周期Tc,不满足条件。因此,数据要素B(1)被分配到下一个分组Nt2中。

图7(b)示出了输出信息B(n)中包含的数据要素B(1)、B(2)、B(3)、B(4)全部被分配的状态。在该状态下,数据要素B(1)、B(2)、B(3)被分配到各个分组Nt2、Nt6、Nt10、…中。

在图7(b)所示的状态下,第2、6、10、…个分组各自的分组占有时间的合计达到分组占有时间Bp×(数据数Bc-1)=105μsec,满足分组占有时间Bp×(数据数Bc-1)<控制周期Tc(125μsec)的条件。

其中,分组占有时间Bp×数据数Bc=140>控制周期Tc(125μsec),因而不能将数据要素B(4)分配给与数据要素B(1)、B(2)、B(3)相同的分组Nt2。另外,关于奇数号的分组Nt3,其分组占有时间的合计接近限制值,因而数据要素B(4)必然被分配在分组Nt4中。以后同样地,将数据要素B(4)分配在各个分组Nt4、 Nt8、Nt12、…中。

然后,决定输出信息C(n)中包含的数据要素C(1)、C(2)、C(3)、C(4)的分配方法。在此,决定以通信频度Cf(=控制周期Tc/发送周期)的倒数作为一次的频度分配各个数据要素C(1)、C(2)、C(3)、C(4)的分配方法。但是,也可以将各个数据要素分配到不同的分组中。此时,以满足以下两个条件的方式进行分配:使可分配的频度达到所指定的值,以及各个分组的分组占有时间的合计不超过控制周期。即,以使各个分组的占有率(分组占有时间的合计/控制周期Tc)不超过1的方式,依次分配输出信息C。另外,由于输出信息C不需要同步,因而只要能够确保所要求的通信频度即可,不需要将所有的数据要素配置在同一个分组中。

在图7(b)所示的状态下,关于分组Nt1、Nt2、Nt3,其分组占有时间的合计接近限制值,因而输出信息C(n)必然被分配给分组Nt4。此时,如果输出信息C(n)的可分配的数据要素是两个,则分组占有时间Bp×(数据数Bc-3)+分组占有时间Cp×(数据数Cc-2)=105<控制周期Tc成立,但在输出信息C(n)的可分配的数据要素达到三个时,分组占有时间Bp×数据数Bc+分组占有时间Cp×(数据数Cc-1)=140>控制周期Tc,因而只能分配两个数据要素。

关于分组Nt5、Nt6、Nt7,其分组占有时间的合计接近限制值,因而输出信息C(n)的剩余数据要素被分配给分组Nt8。在分组Nt8中,分组占有时间Bp×(数据数Bc-3)+分组占有时间Cp×(数据数Cc-2)=105<控制周期Tc成立。

图7(c)示出了输出信息A(n)、输出信息B(n)、输出信息C(n)、输出信息D(n)中包含的数据要素全部被分配的状态。分配设定150(图5)定义该分配状态。

另外,在如上所述分配不需要同步的任意一个输出信息的时刻,在有关分组占有时间的合计的条件不成立的情况下,需要重新考虑发送周期、分组占有时间、控制周期等。

图8是示出将图7(c)所示的输出信息分配给分组的状态下的分组占有时间的合计及占有率的图。如图8所示,无论在哪个分组中,分组占有时间的合计都是合计未超过控制周期Tc(125μsec),其结果是,可知占有率都小于1。

如上所述,优选根据应用对输出信息中包含的多个数据要素设定是否需要同步。即,在输出信息包括多个数据要素的情况下,分配功能以如下方式决定分配方法:在对该输出信息设定了同步发送的情况下,将该输出信息中包含的多个数据要素分配在 同一分组(即一个分组或者共同的分组)中。另一方面,分配功能以如下方式决定分配方法:在对该输出信息没有设定同步发送的情况下,在不能将该输出信息中包含的多个数据要素分配在同一分组中时,将多个数据要素分配在多个分组中。在此,分配功能使发送对象的多个输出信息中被设定了同步发送的输出信息优先于其它数据,进行向分组的分配。

根据如上所述的步骤,以所指定的通信频度发送各个输出信息,并且以满足分组占有时间的合计等条件的方式适当分配各个输出信息。

<H.处理步骤>

下面,对本实施方式的PLC系统1的处理步骤进行说明。图9是示出本实施方式的PLC系统1的处理步骤的流程图。另外,在图9中仅示例地示出与如上所述的数据发送相关联的处理。图9所示的各步骤典型地讲是由主处理装置2的CPU单元10的处理器100执行。但是,在开发支持装置500中也能够假想地离线执行以下各个步骤。即,开发支持装置500具有与主处理装置2的CPU单元10基本相同的功能。

首先,处理器100接收用户程序105和各种设定,并存储在非易失性存储器104中(步骤S2)。然后,处理器100执行用于以所指定的通信频度来发送通过用户程序105中包含的各个处理而计算出的输出信息的分配处理(以下说明的步骤S10~S34)。

更具体地讲,处理器100读出由用户等指定的通信参数(参照图6等),确定发送对象的输出信息(步骤S10)。然后,处理器100参照所读出的通信参数,判定在发送对象的输出信息中是否存在被设定为需要同步的输出信息(步骤S12)。当存在被设定为需要同步的输出信息的情况下(步骤S12:是),处理器100在被设定为需要同步的输出信息中选择通信频度最高的输出信息(步骤S14)。并且,处理器100以满足如下两个条件的方式尝试将所选择的输出信息中的任意一个分配至分组:可分配的频度与所指定的通信频度一致,以及各个分组中的分组占有时间的合计不超过控制周期(步骤S16)。处理器100判定是否所选择的输出信息向分组的分配全部成功(步骤S18)。

在不能将所选择的输出信息全部分配到分组中的情况下(步骤S18:否),通知用户不能实现所指定的通信参数、以及需要重新考虑发送周期、分组占有时间、控制周期等(步骤S32)。然后,处理结束。

与此相对,在所选择的输出信息向分组中的分配全部成功的情况下(步骤S18: 是),处理器100判定在被设定为需要同步的输出信息中是否存在尚未完成向分组中的分配的输出信息(步骤S20)。当在被设定为需要同步的输出信息中存在尚未完成向分组中的分配的输出信息的情况下(步骤S20:是),在尚未完成向分组中的分配的输出信息选择通信频度最高的输出信息(步骤S22)。并且,处理器100反复自步骤S16以后的处理。

与此相对,在对于被设定为需要同步的输出信息全部完成了向分组中的分配的情况下(步骤S20:否)、或者不存在被设定为需要同步的输出信息的情况下(步骤S12:否),处理器100判定是否存在尚未完成向分组中的分配的输出信息(步骤S24)。

当存在尚未完成向分组中的分配的输出信息的情况下(步骤S24:是),处理器100选择尚未完成向分组中的分配的输出信息中通信频度最高的输出信息(步骤S26)。并且,处理器100以满足如下两个条件的方式尝试所选择的输出信息中的任意一个输出信息向分组中的分配:可分配的频度与所指定的通信频度一致,以及各个分组中的分组占有时间的合计不超过控制周期(步骤S28)。处理器100判定是否所选择的输出信息向分组中的分配全部成功(步骤S30)。

在所选择的输出信息向分组中的分配尚未全部成功的情况下(步骤S30:否),处理进入步骤S32。

与此相对,在不能将所选择的输出信息全部向分组中分配的情况下(步骤S30:是),处理器100反复自步骤S24以后的处理。

最后,在对输出信息全部完成了向分组中的分配的情况下(步骤S24:否),处理器100生成表示分配完成的状态的分配设定150并进行存储(步骤S34)。

然后,响应任意明确的或者隐含的指示,处理器100开始执行对控制对象进行控制所需的程序(包括用户程序105和系统程序106)(步骤S40)。并且,处理器100按照在步骤S34存储的分配设定150,对通过程序的执行而计算出的信息决定分配方法,由此按照每个控制周期生成分组(步骤S42)。以后,反复步骤S40及S42的处理。

<I.用户支持功能>

在上述的向分组中的分配处理中,说明了基本上按照所设定的通信参数自动将各个输出信息分配到各个分组中的处理。对在此基础上对分配后的结果支持进一步优化的功能进行说明。具体而言,说明当利用预先设定的通信参数不能进行设定的情况下 引导如何进行修正的功能。并且,说明对用户通知是否能够对预先设定的通信参数进一步缩短控制周期这样的功能。优选根据用户支持和用户安全方面安装这些功能。

例如,对于暂且分配的结果,计算如图8所示的各个分组的分组占有时间的合计。也可以将如图8所示的各个分组的分组占有时间的合计以任意形式(列表形式和曲线图显示)提示给用户。即,本实施方式的分配处理包括用于通知各个分组中的所分配的数据的占有状态(例如占有率和占有时间)的处理。

在使输出信息同步而决定向分组中的分配方法的情况下,当在任意一个分组中其分组占有时间的合计超过控制周期时,判定为错误。即,本实施方式的分配处理包括在不能按照包括控制周期和发送周期在内的预先设定的通信参数对分配对象的数据要素进行分配的情况下,进行用于催促该通信参数的变更的通知的处理。

在这样的情况下,也可以利用如下所述的方法以不产生错误的方式进行调整。

(1)以适合于各个分组的分组占有时间的合计的方式延长控制周期。在这种情况下,也可以向用户通知将控制周期延长何种程度可消除错误的消息。即,提示所计算出的各个分组的分组占有时间的合计的最大值,并进行引导使控制周期比该最大值长。或者,也可以自动延长控制周期。

(2)以适合控制周期的方式缩短各个分组的分组占有时间的合计。在这种情况下,减少分配到各个分组中的输出信息,缩短分组占有时间的合计。或者,能够采取变更成为同步的对象的输出信息的设定的措施。

并且,在考虑到有效利用现场网络4时,能够参照图8所示的结果并采取如下的近似处理,该结果表示输出信息被分配到分组中的状态下的分组占有时间的合计及占有率。

·能够使被分配了被设定为需要同步的输出信息的奇数号的分组Nt1、Nt3、Nt5、Nt7…的分组占有率中最高的值接近1。

·能够延长各输出信息的分组占有时间和缩短控制周期。

·能够追加输出信息(例如输出信息E),直到分组占有率接近1为止。

·能够延长分组占有时间使要发送的信息量增加,直到分组占有率接近1为止。

<J.从装置中的数据接收处理>

如上所述在本实施方式的PLC系统1中,在以每控制周期发送的分组中存储的数据的结构并非一样,而是动态地变化的。因此,各个分组中包含的各个数据的收信 方也不一样。为此,对接收这种其存储的数据随时间而变化的分组的各个从装置的数据接收处理进行说明。

图10是示出本实施方式的PLC系统1中的分组的数据结构例的图。图10(a)示出了一般的数据结构的一例。图10(a)所示的数据结构的分组包括报头(header)302、数据区域组304、和报尾(footer)306。数据区域组304按照收信方的从装置进行区分地存储有发送对象的数据。接收到图10(a)所示的分组的各个从装置已经知道数据区域组304中分配给本站的数据区域,因而从该分配的数据区域中提取发给本站的数据。

图10(b)示出了在本实施方式的PLC系统1中使用的分组的数据结构。如上所述,在本实施方式中,各个分组所存储的数据的收信方随着时间一起变化,因而在各个分组的报头302中存储有用于指定有效的从装置作为收信方的识别信息303。

接收到图10(b)所示的分组的各个从装置参照报头302中的识别信息303,判定在数据区域组304中是否存在分配给本站的数据区域,并且确定哪里是分配给本站的数据区域。在图10(b)所示的例子中,识别信息303采用由“0”和“1”构成的标志,表示存储有发给位于从开头起第1个及第2个位置的从装置即从机1及从机2的数据。与此相对,第3个及第4个的标志都被设定为“0”,因而表示存储有发给位于第3个及第4个位置的从装置即从机3及从机4的数据。因此,从机3及从机4即使接收到如图10(b)所示的分组,也不提取任何数据,而直接向下一段的从装置转发。

另一方面,位于第5个及第6个位置的从装置即从机5及从机6确定存储有发给本站的数据的情况,从对应的数据区域中提取发给本站的数据。

这样,通过使用识别信息303,即使是各个分组中包含的数据的收信方与时间一起变化的情况下,也能够可靠地向目标从装置发送对象的数据。即,主处理装置2(主装置)将各个数据与表示发送目的地的远程装置40(从装置)的识别信息303一起存储在分组中。而且,各个远程装置40(从装置)从来自主处理装置2(主装置)的分组中包含的数据中仅提取以本装置为收信方的数据。

图10(c)示出了在本实施方式的PLC系统1中使用的分组的另一数据结构。图10(c)所示的数据结构与图10(a)所示的数据结构相似,然而能够动态地变更数据区域组304的各个数据区域的尺寸。即,对于没有应该发送的数据的从装置,在其 对应的数据区域中输入表示无效的数据(例如空(null)码)。各个从装置如果在分配给本站的数据区域中输入了null码,则判定为不存在发给本站的数据,也不提取任何数据,而直接向下一段的从装置进行转发。

另外,也可以将数据的收信方存储在数据区域组304的各个数据区域中,而不是各个分组的报头302中。

通过采用这样的数据结构,能够在维持数据区域组304的框架结构的状态下动态地变化分组尺寸,实现符合要求的控制周期。

<K.变形例>

在上述的实施方式中示例了所谓环形式的现场网络,但也能够适用于雏菊链形式的现场网络。关于这样的雏菊链形式的现场网络,参照图11进行示例。

图11是示出本实施方式的变形例的PLC系统1A的整体结构的示意图。参照图11,PLC系统1A包括主处理装置2(主装置)和一个以上的远程装置40(从装置),它们通过雏菊链形式的现场网络相连接。在现场网络中,从主装置向各个从装置依次转发分组(下行分组),在末端部折返,然后从各个从装置向主装置依次转发分组(上行分组)。

在采用这样的雏菊链形式的情况下,CPU单元10具有适合雏菊链形式的通信处理部110A。关于其它的结构和处理等,与上述的实施方式相同,因而不重复详细的说明。

并且,在上述实施方式及其变形例中,示例了现场网络中的数据传输,但也能够适用于PLC内的连接CPU单元10和IO单元20的内部总线。

<L.其它方式>

关于本发明的分配功能的安装方式,不限于上述的结构例,能够实现各种结构。也可以在作为控制装置的主处理装置2(主装置)安装分配功能的全部功能,也可以在开发支持装置500安装分配功能的几乎全部功能。或者,也可以构成为,主处理装置2(主装置)和开发支持装置500相互通信而实现分配功能。根据应用对象的系统结构和成本因素等,采用合适的安装方式。

<M.优点>

根据本实施方式,能够以与各个从装置担当的功能或处理对应的更新频度,从主装置向与同一网络连接的多个从装置分别发送所需要的数据,因而能够有效利用预先 设定的网络的频带。并且,不需要在网络上发送不必要的数据,因而能够缩短控制周期,实现更高速的通信。

应该理解到此次公开的实施方式在所有方面都是示例性的而非限制性。本发明的范围不在于上述的说明,而是通过权利要求书进行公开,且包含与权利要求书均等的意义及范围内的所有变更。

标号说明

1、1A PLC系统;2主处理装置;4现场网络;10 CPU单元;20 IO单元;30电源单元;40远程装置;42伺服电机;100处理器;102主存储器;103工作区域;104非易失性存储器;105用户程序;106系统程序;108内部总线控制器;109内部总线;110、110A、410通信处理部;112、412通信控制器;114、414共用存储器;120、420发送缓冲器;122、422发送电路;130、430接收缓冲器;132、432接收电路;150分配设定;400运算处理部;402输入电路;404输出电路;500开发支持装置。

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