本技术涉及使包含控制装置的控制系统中的控制周期最优化的技术。
背景技术:
在各种生产现场,使用plc(programmablecontroller,可编程控制器)等控制装置的fa(factoryautomation:工厂自动化)技术广泛普及。例如,如日本特开2010-170536号公报(专利文献1)所公开那样,这种控制装置反复执行输入输出更新(refresh)处理、共用处理、用户程序执行处理、周边服务处理这样的一系列处理。
但是,伴随近年来的信息通信技术(ict:informationandcommunicationtechnology:信息和通信技术)的发展,这种控制装置也正在更加智能化。伴随这样的智能化,控制装置中执行更多的处理(任务或过程(processes))。用于执行这样的处理的控制装置的资源是有限的,所以要求资源的有效使用。
专利文献1:日本特开2010-170536号公报
上述专利文献1与用户程序的执行所需时间的变动等因素无关,着眼于使前后紧接的输入输出更新处理的执行间隔恒定,未考虑有如上述那样的课题。
技术实现要素:
本技术针对根据状况变更在控制装置中反复执行一系列处理的周期的方法。
根据本发明的一个方面,提供一种包含控制装置的控制系统,该控制装置按照第1控制周期反复执行包含i/o更新处理和程序执行处理在内的一系列处理。控制系统包括:第1取得构件,其取得通过按照第1控制周期反复执行i/o更新处理而收集的第1采样值组;第2取得构件,其取得在按照长于第1控制周期的第2控制周期反复执行i/o更新处理的情况下能够收集到的第2采样值组;判断构件,其判断第1采样值组中包含的第1频率成分与第2采样值组中包含的第2频率成分是否实质上相同;以及变更构件,其以第1频率成分与第2频率成分实质上相同为条件,将第1控制周期变更为第2控制周期。
变更构件提供用户接口,该用户接口提示与从第1控制周期向第2控制周期的变更有关的信息。
优选的是,变更构件向用户通知第1频率成分与第2频率成分是否实质上相同。
优选的是,变更构件受理用户操作,将第1控制周期变更为第2控制周期。
优选的是,第2取得构件针对多个第2控制周期分别取得第2采样值组,判断构件通过对各第2采样值组中包含的第2频率成分进行比较,决定与第1频率成分实质上相同的第2频率成分中的、最长的第2控制周期。
优选的是,第2控制周期被设定为第1控制周期的整数倍。
优选的是,控制系统还包含变换构件,该变换构件通过对采样值组进行高速傅立叶变换而生成频率成分。
优选的是,控制系统还具有监视构件,该监视构件判断在按照第2控制周期反复执行一系列处理的状态下,是否按照第2控制周期确切地成功收集到通过i/o更新处理收集的采样值。
本发明的另一方面的控制装置包含:执行构件,其按照第1控制周期反复执行包含i/o更新处理和程序执行处理在内的一系列处理;第1取得构件,其取得通过按照第1控制周期反复执行i/o更新处理而收集的第1采样值组;第2取得构件,其取得在按照长于第1控制周期的第2控制周期反复执行i/o更新处理的情况下能够收集到的第2采样值组;判断构件,其判断第1采样值组中包含的第1频率成分与第2采样值组中包含的第2频率成分是否实质上相同;以及变更构件,其以第1频率成分与第2频率成分实质上相同为条件,将第1控制周期变更为第2控制周期。
根据本技术的控制装置,能够根据状况而变更反复执行一系列处理的周期。
附图说明
图1是示出包含本实施方式的控制装置的控制系统的结构例的示意图。
图2是示出本实施方式的控制装置的硬件结构例的框图。
图3是说明本实施方式的控制装置提供的控制周期的最优化处理的概要的示意图。
图4是说明本实施方式的控制装置中的控制周期的最优化处理的效果的示意图。
图5是示出本实施方式的控制周期的最优化处理(用户主导)涉及的处理步骤的流程图。
图6是示出与图5的步骤s4相关联的用户接口画面的一例的图。
图7是说明与图5的步骤s8和s10相关联的采样值组的生成处理的安装例的示意图。
图8是示出与图5的步骤s14相关联的用户接口画面的一例的图。
图9是示出本实施方式的控制周期的最优化处理(自动)涉及的处理步骤的流程图。
图10是示出本实施方式的控制装置的软件结构的一例的示意图。
图11是示出本实施方式的控制装置的功能结构的一例的示意图。
图12是说明本实施方式的控制周期的最优化处理涉及的评价方法的一例的示意图。
图13是说明本实施方式的控制周期的最优化处理涉及的监视功能的一例的示意图。
标号说明
1:控制系统;10、11、182、250、252、254:采样值组;100:控制装置;102:处理器;104:芯片组;106:主存储器;108:闪存;110:网络控制器;112:存储卡接口;114:存储卡;116:内部总线控制器;118:现场总线控制器;120:串行通信接口;130:i/o单元;150:远程输入输出装置(远程i/o装置);152:连接管理单元;154:输入输出单元;156:网络;160:用户接口模块;162:用户程序;164:设定参数;166:最优化程序;168:对象变量列表;170:plc引擎;172:i/o变量;174:系统变量;176:用户变量;178:功能模块;180:数据存储部;184:频率变换结果;200:支持装置;1661:采样值组收集模块;1662:采样值组生成模块;1663:频率变换模块;1664:评价模块。
具体实施方式
参照附图对本发明的实施方式详细进行说明。另外,对图中相同或对应部分标注相同标号并且不重复其说明。
<a.控制系统的结构例>
首先,对包含本实施方式的控制装置的控制系统1的结构例进行说明。
图1是示出包含本实施方式的控制装置的控制系统1的结构例的示意图。参照图1,本实施方式的控制系统1包含控制装置100、经由网络156与控制装置100连接的远程输入输出装置(以下,也称作“远程i/o(input/output,输入/输出)装置”。)150、及与控制装置100连接的支持装置200。控制装置100经由安装于控制装置100的输入输出单元和安装于远程i/o装置150的输入输出单元,从控制对象或与控制相关的制造装置或生产线等(以下,称作“现场(field)”)收集输入数据(i/o更新处理)。
作为一例,远程i/o装置150包含连接管理单元152、及1个或多个输入输出单元154。连接管理单元152经由网络156,与控制装置100之间交换数据。具体而言,连接管理单元152向控制装置100转发输入输出单元154取得的输入数据,并且向作为对象的输入输出单元154转发来自控制装置100的输出数据。典型的是,输入输出单元154具有取得来自现场的信号作为输入数据的功能和根据来自控制装置100的输出数据来向现场输出作为指令的信号的功能中的至少一方。
控制装置100通过根据收集到的输入数据来执行预先登记的用户程序(例如包含用于实现序列控制的序列程序(sequenceprogram)、用于控制机器人等的位置的运动程序(motionprogram)、用于实现各种数据处理的处理程序等),计算输出数据(程序执行处理)。最后,控制装置100根据计算出的输出数据,输出用于驱动作为对象的制造装置或生产线(典型的是,继电器或伺服等致动器)的信号(i/o更新处理)。
控制装置100基本上按照预先设定的周期反复执行包含i/o更新处理和程序执行处理的一系列处理。
在以下的说明中,主要着眼于来自现场的输入数据的收集处理进行说明,但本实施方式的处理同样还能够应用于作为基于输出数据的指令的信号的输出。
支持装置200是支援控制装置100为了控制控制对象所需的准备的装置。具体而言,支持装置200提供由控制装置100执行的程序的开发环境(程序生成编辑工具、解析器、编译器等)、用于设定控制装置100和与控制装置100连接的各种设备的参数(配置)的设定环境、向控制装置100发送生成的用户程序的功能、在线修正/变更在控制装置100上执行的用户程序等的功能等。
<b.控制装置100的硬件结构例>
接着,对本实施方式的控制装置100的硬件结构例进行说明。图2是示出本实施方式的控制装置100的硬件结构例的框图。参照图2,控制装置100通过使处理器执行预先生成的用户程序,实现与控制对象对应的控制。更具体而言,控制装置100包含cpu(centralprocessingunit:中央处理单元)或mpu(microprocessingunit:微处理单元)等处理器102、芯片组104、主存储器106、闪存108、网络控制器110、存储卡接口112、内部总线控制器116、现场总线控制器118和串行通信接口120。
处理器102读出闪存108所存储的系统程序和用户程序等(均未图示),展开到主存储器106执行,由此实现与控制对象对应的控制。系统程序包含命令码,该命令码用于提供数据的输入输出处理或执行定时控制等控制装置100的基本功能。用户程序根据控制对象而任意设计,包含用于执行序列控制的序列程序和用于执行动作控制的运动程序等。
芯片组104通过控制各构件,实现作为控制装置100全体的处理。内部总线控制器116是与i/o单元130交换数据的接口,该i/o单元130通过内部总线与控制装置100连结。现场总线控制器118是与远程i/o装置150(更具体而言,远程i/o装置150中包含的输入输出单元154)交换数据的接口,该远程i/o装置150通过现场总线与控制装置100连结。
内部总线控制器116和现场总线控制器118收集输入到各输入输出单元的输入数据,并且向各输入输出单元输出处理器102中的运算结果(输出数据)。输入输出单元产生与输出数据对应的输出信号。
存储卡接口112构成为能够拆装存储卡114,能够对存储卡114写入数据,并从存储卡114读出各种数据(用户程序或跟踪数据等)。
网络控制器110控制通过各种有线网络或无线网络的数据的交换。
可以使用专用的硬件电路(例如,asic(applicationspecificintegratedcircuit:特定用途集成电路)或fpga(fieldprogrammablegatearray:现场可编程门阵列)来安装由控制装置100执行程序而提供的功能的一部分或全部。
<c.支持装置200的硬件结构例>
接着,作为一例,本实施方式的支持装置200通过在通用计算机上执行用于实现支持功能的程序而实现。即,使用具有通用架构的个人计算机等通用计算机,作为支持装置200的硬件结构例。这样的通用计算机的具体结构是众所周知的,所以这里不进行其详细的说明。
<d.控制周期的最优化处理的概要>
接着,对本实施方式的控制装置提供的控制周期的最优化处理的概要进行说明。图3是说明本实施方式的控制装置100提供的控制周期的最优化处理的概要的示意图。
参照图3,典型的是,在控制装置(plc)中,具有按照规定控制周期使共用处理(步骤s1)、i/o更新处理(步骤s2)、程序执行处理(步骤s3)、周边服务处理(步骤s4)反复的处理循环。也将共用处理、i/o更新处理、程序执行处理和周边服务处理的执行所需的时间称作循环时间(cycletime)。
共用处理(步骤s1)包含诊断处理器或存储器等资源的处理、及检测各部件中的异常产生的处理。
i/o更新处理(步骤s2)包含i/o单元收集对来自现场的信号进行变换而生成的输入数据的处理、及向对象的i/o单元送出通过程序的执行而计算出的输出数据的处理。在i/o更新处理中,可以设为收集输入数据的周期和送出输出数据的周期能够按照每个数据进行设定。
程序执行处理(步骤s3)基本上执行预先准备的用户程序。该用户程序实现控制对象的控制所需的运算处理。典型的是,用户程序具有多个任务,各任务的执行周期(处理开始周期/任务起动周期)以控制周期为基准而设定。例如,各任务的执行周期可以设定为控制周期的整数倍。由于不将这样的各任务的执行周期和控制周期设定为相同,所以既存在按照每个控制周期而执行的任务,又例如存在按照4个控制周期而执行的任务。如后者那样的任务,还存在1次执行跨及多个控制周期的情况。
周边服务处理(步骤s4)包含不与控制对象的控制具有直接关系的附加处理。例如,周边服务处理包含表示日志数据或运行状况的信息向服务器的送出、针对来自支持装置200的访问的处理、来自其他装置的各种参数设定等。
图3所示的周期性反复的4个处理是典型的处理,可以省略一部分的处理,也可以一体执行多个处理,也可以在任意一个处理之间调换执行顺序。
一般而言,要求在控制装置中,按照固定周期反复执行共用处理(步骤s1)、i/o更新处理(步骤s2)和程序执行处理(步骤s3)。在处理循环的1个周期(控制周期)内,优先执行i/o更新处理和程序执行处理,在剩余的时间中,执行周边服务处理(步骤s4)。
另一方面,伴随控制装置100的智能化,周边服务处理中包含的处理内容正在复杂和多样化,同时如想要对周边服务处理分配更多的执行时间的期望增加。因此,在本实施方式的控制装置100中,评价变更了收集输入数据的周期(以下,也称作“采样周期”)的情况下的变化,判断当前设定的控制周期的冗余性的有无和程度,在判断为控制周期的冗余性充分高时,使控制周期最优化。更具体而言,作为控制周期的最优化,包含使控制周期向更长的方向变更的处理。
作为控制周期的冗余性的具体评价方法,虚拟地延长采样周期,并且判断在此时可能收集的输入数据是否具有有意义的变化。采样周期依存于控制周期,在确认了即使延长采样周期,输入数据也未产生有意义的变化时,能够判断为控制周期具有冗余性、即能够延长控制周期。
更具体而言,如图3所示,在按照当前的控制周期t0反复处理的状态下,通过i/o更新处理,收集针对输入数据的每个采样周期ts0的值(采样值组10)。提取每个采样周期ts0的采样值组10的一部分,生成在按照采样周期ts1虚拟地进行采样时可能得到的采样值组11。例如,在采样周期ts1为采样周期ts0的2倍的情况下,通过从按照时间序列排列的采样值组10中每隔1个提取采样值,能够生成采样周期ts1的采样值组11。以下同样,能够分别生成使采样周期虚拟地发生变化时的采样值组。
对针对不同采样周期的采样值组相互进行比较,判断各采样值组中包含的信息有无缺失。作为判断各采样值组中包含的信息有无缺失的方法之一,可以采用使用了通过对各采样值组进行频率变换而得到的频率成分的比较。
典型的是,可以通过高速傅立叶变换(fft:fastfouriertransform)或离散傅立叶变换(dft:discretefouriertransform)等,根据各采样值组的信息(时域的信息)生成每个频率的系数值组(即,频谱)等频域的信息,对这些频域的信息相互进行比较。
例如,意味着,如果在关于采样周期ts0的频谱与关于采样周期ts1(ts1>ts0)的频谱之间不具有实质差异,则能够将控制周期延长至与采样周期ts1对应的时间。例如,如果作为对象的2个频谱大致相同,则能够判断为两个频谱之间不具有实质差异。即,能够判断为与评价对象的输入数据的时间变化相比,采样周期过短,进行了冗余的采样。在该情况下,即使将采样周期延长至与该评价对象的数据中产生的时间变化对应的时间,收集的输入数据中包含的信息量也不会发生实质改变。
这样,通过使采样周期虚拟地发生变化而评价可能收集的输入数据,由此能够判断当前的控制周期的冗余性的有无以及程度,使控制周期的长度最优化。
<e.控制周期的最优化的效果>
接着,对本实施方式的控制周期的最优化的效果进行说明。图4是说明本实施方式的控制装置100中的控制周期的最优化的效果的示意图。
作为当前的状态,如图4(a)所示,假设在控制周期t0中反复处理循环。即,在各控制周期中,首先执行共用处理、i/o更新处理、程序执行处理,之后,在剩余的时间中,执行周边服务处理。
在设从如图4(a)所示的状态使控制周期为原来的控制周期t0的2倍时,各处理的执行状态成为如图4(b)所示的状态。即,执行共用处理、i/o更新处理、程序执行处理的周期成为控制周期t0的2倍。由此,执行这些处理循环的频率成为1/2,伴随于此,会对周边服务处理分配更多的执行时间。
通过对周边服务处理分配更多的执行时间,能够使处理附加的各种信息变得容易,能够促进控制装置100的智能化。
为了方便说明,图4中示出将原来的控制周期设为2倍的例子,但只要能够变更为比原来的控制周期更长的控制周期,该变更后的长度可以是任意长度。
<f.处理步骤(用户主导)>
接着,对本实施方式的控制周期的最优化处理涉及的由用户主导的处理步骤进行说明。图5是示出本实施方式的控制周期的最优化处理涉及的处理步骤(用户主导)的流程图。图5所示的各步骤通过由构成控制系统1的控制装置100和支持装置200相互协作来实现。能够任意设计控制装置100和支持装置200执行哪个处理。即,各步骤可以利用控制装置100和支持装置200中的、更适当一方的装置来执行。
在以下的说明中,在控制装置100和支持装置200中,假设提供变量编程环境,能够以变量的形式参照这些装置可处理的输入数据、输出数据、任意内部数据等值(实体值)。因此,在以下的说明中,还有时将任意的数据统称作“变量”。
参照图5,在指示了本实施方式的控制周期的最优化处理的开始时(步骤s102中的“是”的情况下),控制系统1从用户受理控制周期的最优化处理中使用的变量(以下,也称作“对象变量”)的选择(步骤s104)。
图6是示出与图5的步骤s104相关联的用户接口画面的一例的图。图6所示的用户接口画面典型地显示在与支持装置200连接的显示器上。后述图8所示的用户接口画面也同样如此。图6和图8例示的用户接口画面包含从原来的控制周期向新控制周期的变更所涉及的信息,并且受理用户操作。
在图5的步骤s104中,例如,例如图6所示的用户接口画面210显示在支持装置200上。用户接口画面210中一栏显示有控制系统1中包含的输入输出单元处理的输入数据(变量)。该一栏显示中针对各输入数据包含:收集该输入数据的输入输出单元的编号(图6中的参考标号214)、输入输入输出单元的该输入数据的信道编号(端口编号)(图6中的参考标号216)、为了参照该输入数据而分配的变量名(图6中的参考标号218)、收集该输入数据的输入输出单元的类别(图6中的参考标号220)和针对该输入数据的建议(图6中的参考标号222)。
用户选择被一栏显示的输入数据中的、基本上其时间变化最早的变量,作为对象变量。具体而言,勾选用户接口画面210中包含的对应的复选框(图6中的参考标号212)。而且,用户通过按下ok按钮224,完成对象变量的选择。对象变量可以不是1个,而能够选择多个。
这样,在控制系统1中提供用于选择通过i/o更新处理从而对值被更新的变量中的、为了决定最佳控制周期而使用的变量(对象变量)的功能。
再次参照图5,控制装置100执行针对所选择的对象变量的采样,收集规定时间范围内的值的变化(步骤s106)。根据收集到的对象变量的值(即,当前的控制周期的采样值组),生成1个或多个不同采样周期的采样值组(步骤s108)。而且,分别针对采样周期的采样值组进行频率变换,生成每个采样周期的频率变换结果(典型的是,fft结果)(步骤s110)。频率变换结果包含对应的采样值组中包含的频率成分。
图7是说明与图5的步骤s108和s110相关联的采样值组的生成处理的安装例的示意图。参照图7,通过按照当前的控制周期中的采样周期ts0对输入数据进行采样,取得采样值组250。通过部分提取采样值组250,生成采样周期ts1(=采样周期ts0×2)、采样周期ts2(=采样周期ts0×3)……的采样值组252、254。
例如,针对当前的控制周期中的采样周期ts0的2倍的采样周期ts1,每隔1个对采样周期ts0的采样值组250中包含的采样值d1、d2、d3、……(在图7所示的例子中为奇数)进行部分提取,由此能够生成采样周期ts1的采样值组252。同样,针对当前的控制周期中的采样周期ts0的3倍的采样周期ts2,每隔2个对采样周期ts0的采样值组250中包含的采样值d1、d2、d3、……进行部分提取,由此能够生成采样周期ts2的采样值组254。而且,对各采样周期的采样值组执行频率变换处理,分别生成频率变换结果(频率成分)。
另外,也可以不通过对如图7所示的采样值组中包含的采样值进行部分提取的方法,而是通过延长i/o更新处理的现实的执行周期,生成不同采样周期的采样值组。
再次参照图5,对分别生成的频率变换结果(频率成分)相互进行比较,评价控制周期的冗余性的程度(步骤s112)。具体而言,判断各采样周期的频率变换结果是否实质上相同。即,确定得到了与关于采样周期ts0的频率变换结果实质上相同的频率变换结果的最大采样周期。而且,向用户输出关于控制周期的冗余性的程度的评价结果和控制周期的可否变更等(步骤s114)。
图8是示出与图5的步骤s114相关联的用户接口画面的一例的图。在步骤s114中,例如图8所示的用户接口画面230显示在支持装置200上。在用户接口画面230上显示针对控制周期的冗余性的程度的评价结果(图8中的参考标号232)。并且,除当前的控制周期(图8中的参考标号234)以外,还显示可变更的控制周期的列表(图8中的参考标号236)。
用户能够一边确认用户接口画面230的内容,一边根据状况,从可选择的列表中选择控制周期。用户选择新的控制周期,通过按下ok按钮238,完成控制周期的变更。
再次参照图5,在用户指示控制周期的变更时(步骤s116中的“是”的情况下),遵循指示变更控制周期(步骤s118)。即,在图5所示的控制周期的最优化处理中,以变更前的控制周期中的频率成分与变更后的控制周期中的频率成分相同为条件,受理用户操作,由此变更控制周期。伴随该控制周期的变更,还更新用户程序中包含的各任务的执行周期。如果用户不指示控制周期的变更(步骤s116中的“否”的情况),则维持当前的控制周期。
通过如以上那样的处理步骤,完成控制周期的最优化处理。
<g.处理步骤(自动)>
在上述用户主导中的处理步骤中,例示了如下方法:在根据对象变量的频率变换结果等,使控制装置100和支持装置200向用户提示了控制周期的变更的可能性后,用户给出变更控制周期的指示。可以设为使控制装置100自动进行这样的功能。
例如,也可以在如控制对象的举动根据动作模式或动作状况而发生变化的情况下,根据状况,使控制周期自动变化。
图9是示出本实施方式的控制周期的最优化处理涉及的处理步骤(自动)的流程图。图9所示的各步骤基本上假设通过构成控制系统1的控制装置100来实现,但也可以是由控制装置100和支持装置200协作地执行全体处理。另外,对执行与图5所示的控制步骤的步骤实质上相同的处理的步骤赋予相同的步骤编号。
在图9所示的处理步骤中,假设预先选择了控制周期的最优化处理中使用的变量(对象变量)。
参照图9,控制装置100执行针对对象变量的采样,收集规定时间范围内的值的变化(步骤s106)。根据收集到的对象变量的值(当前的控制周期的采样值组),生成1个或多个不同采样周期的采样值组(步骤s108)。而且,分别针对采样周期的采样值组进行频率变换,生成每个采样周期的频率变换结果(典型的是,fft结果)(步骤s110)。频率变换结果包含对应的采样值组中包含的频率成分。
对分别生成的频率变换结果(频率成分)相互进行比较,评价控制周期的冗余性的程度是否为预先确定的值以上(步骤s111)。在控制周期的冗余性的程度小于预先确定的值的情况下(步骤s111中的否的情况下),反复步骤s106以下的处理。
在控制周期的冗余性的程度为预先确定的值以上的情况下(步骤s111中的“是”的情况下),控制装置100确定得到了与对采样周期ts0的频率变换结果实质上相同的频率变换结果的最大采样周期,决定变更后的控制周期(步骤s113)。控制装置100在预先确定的条件成立的定时,变更为在步骤s113中决定出的控制周期(步骤s115)。即,在图9所示的控制周期的最优化处理中,以变更前的控制周期中的频率成分和变更后的控制周期中的频率成分相同为条件,变更控制周期。而且,反复步骤s106以后的处理。
通过如以上那样的处理步骤,将控制周期维持为最佳值。
<h.软件结构和功能结构>
接着,对本实施方式的控制系统1中的软件结构和功能结构进行说明。图10是示出本实施方式的控制装置100的软件结构的一例的示意图。
参照图10,在控制装置100中,执行实时os(operatingsystem:操作系统)(rt-os)190,在该执行环境下,安装plc引擎170、用户程序162、最优化程序166等。
plc引擎170是用于执行用户程序162的基本处理或执行i/o处理等的模块,包含按照每个控制周期更新的变量(例如,i/o变量172、系统变量174、用户变量176)、及从用户程序162调用的功能模块178等。i/o变量172表示控制装置100可利用的i/o单元收集或输出的输入数据和输出数据。作为i/o变量172,可以包含其他控制装置管理的输入数据和输出数据。系统变量174表示控制装置100的硬件或软件的状态等值。用户变量176表示在用户程序162中使用的变量的实际值。
用户程序162是根据控制对象而任意设计的一系列命令的集合。用户程序162可以包含1个或多个任务。设定参数164包含控制周期、每个任务的执行周期和优先级、变量的采样数等值。这样,提供i/o更新涉及的采样数的设定和保存的功能。
最优化程序166由用于实现本实施方式的控制周期的最优化处理的程序模块构成。最优化程序166关于对象变量列表168中指定的对象变量,执行控制周期的最优化处理。利用最优化程序166生成的数据(采样值组182和频率变换结果184等)被保存到数据存储部180。
对象变量列表168包含用于确定由用户选择的对象变量的信息。即,提供了本实施方式的控制周期的最优化处理涉及的对象变量的选择和保存的功能。
还安装有用于进行如上述那样的模块和程序与用户的对话的用户接口模块160。用户接口模块160通过与支持装置200之间交换信息,实现如上述那样的处理。典型的是,用户接口模块160向模块或程序传输来自支持装置200的信息(用户操作或用户设定),并且向支持装置200输出来自模块或程序的响应。
通过采用如图10所示的软件结构,控制装置100实现如下这样的功能结构。
图11是示出本实施方式的控制装置100的功能结构的一例的示意图。参照图11,控制装置100的最优化程序166包含采样值组收集模块1661、采样值组生成模块1662、频率变换模块1663和评价模块1664。
采样值组收集模块1661提供用于使控制周期最优化的数据收集功能,取得按照当前的控制周期反复执行i/o更新处理而收集的采样值组。具体而言,采样值组收集模块1661针对对象变量列表168中指定的对象变量,依照设定参数164,对plc引擎170每次更新的i/o变量172(参照图10)的值进行周期性采样,由此生成采样周期ts0中的采样值组。
采样值组生成模块1662取得在按照长于当前的控制周期的控制周期反复执行i/o更新处理的情况下可能收集的采样值组。即,采样值组生成模块1662生成除采样周期ts0以外的采样周期(>ts0)中的采样值组(参照上述图7等)。可以使用采样周期ts0的整数倍,作为除采样周期ts0以外的采样周期。即,可以使用当前的控制周期的整数倍的值,作为控制周期的最优化的候选的控制周期。
例如是采样周期ts0的2倍、或者采样周期ts0的3倍这样的情形。这样,采样值组生成模块1662可以针对长于控制周期的多个控制周期,分别取得采样值组。
为了使控制周期最优化,频率变换模块1663提供计算频率成分的功能和存储计算出的频率成分的功能。这里,频率变换模块1663针对收集到的对象变量涉及的采样值组,在延长了采样周期以后,计算它们中包含的频率成分。即,频率变换模块1663通过分别针对采样值组收集模块1661和采样值组生成模块1662分别生成的采样值组进行频率变换,生成表示频率成分的频率变换结果184。通过这样的步骤,频率变换模块1663根据收集到的采样值组,计算频率成分。频率变换结果184存储到数据存储部180。
典型的是,频率变换模块1663通过对对象的采样值组进行高速傅立叶变换(fft)或离散傅立叶变换(dft),生成频率成分。
评价模块1664是提供对频率成分进行比较的功能的模块,判断与当前的控制周期对应的采样值组中包含的频率成分和与更长的控制周期对应的采样值组中包含的频率成分是否实质上相同。即,评价模块1664对计算出的频率变换结果184相互进行比较,如果二者不存在实质差异,则评价为当前设定的控制周期具有冗余性。评价模块1664判断到哪个采样周期为止维持实质的相同性,计算能够维持实质的相同性的采样周期与当前的采样周期ts0之间的比率,作为冗余性的程度。即,如果计算出的2个频率变换结果184之间不具有实质差异,则能够延长设定参数164所规定的控制周期。
如上述图8所示,在对与当前的控制周期对应的采样周期ts0和与比该采样周期ts0长的1个控制周期对应的采样周期ts1进行比较的情况下,评价模块1664判断是否相同。而且,评价模块1664向用户通知针对采样周期ts0的频率成分和针对采样周期ts1的频率成分是否实质上相同。另一方面,在针对多个控制周期评价频率成分的情况下,评价模块1664可以通过对各采样值组中包含的频率成分进行比较,决定与对应于当前的控制周期的频率成分实质上相同的频率成分中的、最长的控制周期。
评价模块1664经由用户接口模块160,向支持装置200输出这些评价结果。即,在与当前的控制周期对应的频率成分和与更长的控制周期对应的频率成分实质上相同的情况下,用户接口模块160提供用于将当前的控制周期变更为更长的控制周期的用户接口。根据来自用户的控制周期的变更指令,延长控制装置100的控制周期。而且,用户接口模块160受理用户操作(来自用户的控制周期的变更指令),更新设定参数164所存储的控制周期的值。
另外,在判断为能够通过上述控制周期的最优化处理延长控制周期时,可以不等待用户操作,而自动变更控制周期。
通过这样的功能结构,实现了本实施方式的控制周期的最优化处理。
<i.评价方法>
接着,对评价是否能够延长控制周期的几种方法进行例示。
(i1:频谱)
如上述图3所示,能够对作为针对采样值组的频率变换结果的频谱(波形)相互进行比较,评价是否实质上相同。在该情况下,可以计算波形之间的相关值(典型的是,多维相关值),根据该计算出的相关值的大小,评价是否实质上相同、或者类似性。波形之间的相关值例如能够使用主要成分分析等方法来计算。另外,关于相关值的计算方法,能够采用公知的任意方法。
(i2:峰值波长的频率)
可以根据对采样值组进行了频率变换的结果中包含的波长成分,评价相同性的有无。图12是说明本实施方式的控制周期的最优化处理涉及的评价方法的一例的示意图。
参照图12,提取针对各采样周期ts0、ts1、ts2、……的频率变换结果中包含的峰值频率。可以通过对针对各采样频率的峰值频率的组进行比较,评价相同性的有无或类似性。
在图12所示的例子中,从针对采样周期ts0和ts1的频率变换结果中均提取了峰值频率f1、f2、f3,评价为二者实质上相同。另一方面,从针对采样周期ts2的频率变换结果中仅提取了峰值频率f1、f2,能够判断为产生了不同。
这样,能够根据生成的频率变换结果中包含的峰值频率的数量和/或频率本身,评价相同性或类似性。
或者,随着采样周期变长,可采样的频率的上限受到制限,所以可以根据频率变换结果中包含的高频成分,评价相同性或类似性。
在图12所示的例子中,从针对采样周期ts0和ts1的频率变换结果中提取了f3,作为最大峰值频率,与此相对,从针对采样周期ts2的频率变换结果仅提取了f2(<f3),作为最大峰值频率。
可以根据这样的采样的原理发现,着眼于各频率变换结果中包含的最大频率,评价两者的相同性或类似性。
(i3:时域)
替代上述使用频域的信息的处理,可以对时域的波形本身彼此进行比较。在该情况下,例如,可以在调整了时间轴以后,计算时域中的波形之间的相关值(典型的是,多维相关值),根据该计算出的相关值的大小,评价是否实质上相同、或者类似性。
另外,上述方法是一例,不限于这些。对2个时间波形或频率变换结果进行比较,如果能够评价是否实质上相同,则可以采用任意方法。
<j.监视功能(附加功能)>
接着,在通过本实施方式的控制系统1中的控制周期的最优化处理变更了控制周期的情况下,可以附加如下功能:监视按照该变更后的控制周期反复执行处理循环的健全性。以下,对作为这样的附加功能的监视功能进行说明。
在延长了控制周期的情况下,i/o更新处理的执行周期也变长。因此,来自现场的输入数据的更新周期也变长,另一方面,与执行了最优化处理时相比,输入数据的时间变化也有可能变快。因此,作为监视功能,在这样的输入数据的特性发生了改变的情况下,优选安装更加缩短控制周期或者通知输入数据的特性发生了变化这样的监视功能。
附加安装于本实施方式的控制系统1的监视功能判断在按照变更后的控制周期反复执行了包含i/o更新处理和程序执行处理的一系列处理的状态下,是否按照变更后的控制周期确切地成功收集到通过i/o更新处理收集的采样值。
作为这样的监视功能,与如上述那样的控制周期的最优化处理同样,能够通过按照每个规定周期评价使采样周期不同的各个采样值组的相同性或类似性,监视当前设定的(变更后的)控制周期的妥当性。作为监视对象的变量,可以与之前的最优化处理中使用的对象变量相同,也可以是其他变量。基本上能够将作为i/o更新处理的对象的全部变量中的、任意选择出的变量作为监视对象。
但是,伴随控制周期变长,i/o更新处理的执行周期也变长,所以也有时无法确保充分短的采样周期。在这样的情况下,可以确保在输入输出单元侧所需的采样周期,并且在i/o更新处理中,收集多次的采样结果。
图13是说明本实施方式的控制周期的最优化处理涉及的监视功能的一例的示意图。参照图13,例如考虑在将原来的控制周期t0延长为了2倍的状态下执行处理循环的状态。在该情况下,本来按照当前的控制周期收集输入数据,但例如也可以利用输入输出单元按照短于当前的控制周期的周期进行输入数据的采样,并且在i/o更新处理中,取得在前次的i/o更新处理以后收集到的多个输入数据。
在图13所示的例子中,按照相当于变更前的控制周期t0的一半的时间周期,利用输入输出单元进行采样,在各i/o更新处理中,能够收集到通过4次采样得到的输入数据d1、d2、d3、d4。使用按照更短的采样周期收集到的输入数据组,进行与上述最优化处理相同的处理,由此能够监视当前的控制周期是否适当。
这时,可以将针对之前的最优化处理中使用的对象变量的变更前的控制周期而生成的频率变换结果作为基准进行评价。
可以通过如上述那样的监视处理,在检测出监视对象的频率变换结果的变化时,将该消息通知给用户。而且,可以进行如受理用户操作而使控制周期返回原样的处理,或者也可以使控制周期自动返回原样。通过安装这样的监视功能,即使控制对象中产生任意状态变化,也能够维持主体的控制功能。
<k.其他安装方式>
在上述图10所示的安装方式中,控制装置100中存在的最优化程序166实现主要的功能和处理。但是,不限于这样的方式,也可以将处理的全部或一部分安装于支持装置200或者未图示的外部装置(例如,窗口上的处理功能)。在该情况下,典型的是,通过依照当前设定的控制周期对对象变量进行采样,利用控制装置100收集采样值组。该收集到的采样值组被发送到安装于控制装置100、支持装置200或者外部装置等的处理主体。而且,利用处理主体进行包含如上述那样的评价处理的所需处理,在判断为当前的控制周期具有冗余性时,从该处理主体返回该判断结果和变更后的控制周期。
即,本实施方式的控制周期的最优化处理能够使用与各时代相应的技术,适当安装。
<l.优点>
一般而言,多数情况下考虑包含i/o更新处理和程序执行处理的处理循环的循环时间来设定控制周期,但控制周期的设定还存在设定者的个人差异,也存在变得过度冗余的情况。即,本来还存在设定了过度短的控制周期的可能性,在这样的情况下,分配给周边服务处理的时间受到限制。
与此相对,根据本实施方式的控制系统1和由此实现的控制周期的最优化处理,根据通过i/o更新处理而取得的对象变量的状态,判断控制周期的冗余性的有无和程度,在判断为具有充分的冗余性的情况下,通过延长控制周期,能够使分配给周边服务处理的执行时间增加。
此外,在延长了控制周期以后,通过i/o更新处理收集的输入数据产生某种变化,在判断为应更加缩短控制周期时,还能够根据该判断结果,进行如使控制周期返回原样的监视处理。通过组合这样的处理,能够实现有效且安全的控制周期的设定。
应该认为此次公开的实施方式在所有方面都是例示,而不是限制性内容。本发明的范围不通过上述说明来表示,而通过权利要求来表示,是指包含与权利要求同等的意思和范围内的所有变更。