控制装置、控制方法及程序与流程

文档序号:12811166阅读:237来源:国知局
控制装置、控制方法及程序与流程

本发明涉及从外部取得数据,对所取得的数据进行运算而输出对仪器进行控制的信号的控制装置、控制方法及在控制装置的存储器安装的程序。



背景技术:

现有的控制装置中的plc(programmablelogiccontroller)是能够编程的控制装置,从外部传感器取得高速、大容量的数据,按照由梯形图语言等记述的定序控制程序而对数据进行运算,输出对外部仪器进行控制的信号。

另外,近年来,在使plc等控制装置与mes(manufacturingexecutionsystem)或者erp(enterpriseresourceplanning)等上级信息系统软件进行协同,或通过被称为scada(supervisorycontrolanddataacquisition)的专用软件实现的对高速、大容量的过程数据进行处理的监视控制系统中进行下述动作,即,将控制装置与车间内的传感器或者致动器等仪器连接,通过控制装置对该仪器进行控制,并且,scada对控制装置的存储器所储存的仪器的测定数据进行读取,对车间实时地进行监视,或将数据按照时间序列保存,或将收集到的数据在hmi(humanmachineinterface)图形化地显示等。

对现有的控制装置进行说明。现有的控制装置使用在某个事件发生时执行特定处理的模型,将与事件的发生相对应的条件定义为启动条件,将根据事件的发生而执行的处理定义为行动(action)。启动条件和与其相关的行动以称为任务(job)的单位进行管理。现有的控制装置在任务信息中对启动条件、根据该启动条件而执行的全部行动、及这些行动的启动模式进行定义,如果某个启动条件成立,则按照在与该启动条件相对应的任务信息中所定义的启动模式,执行这些行动(例如,参照专利文献1)。

专利文献1:日本特开2006-243936号公报(0002、0024段,图1及图11)



技术实现要素:

现有的控制装置在用于与上级信息系统软件进行协同的系统的情况下,为了执行所谓的统计运算,需要按照与数据的收集期间的长度相应的量而对相同内容的行动进行设定,其中,该统计运算是指,为了求出收集到的数据的最大、最小、总和等而对按照时间序列排列的多个数据集中地进行处理。例如,在以1秒为单位从控制装置的存储器提取数据的情况下,如果将收集期间设为1小时,则需要设定3600个行动,设定作业繁琐。另外,收集期间越长,行动的调用次数越多,因此控制装置必须执行运算量庞大的处理,存在无法高速地进行统计运算的课题。

本发明就是鉴于上述情况而提出的,其目的在于得到一种能够高速地进行统计运算的控制装置、控制方法及在控制装置的存储器安装的程序。

本发明所涉及的控制装置,其具有:存储器,其对由外部传感器取得的数据进行储存;数据提取部,其对在所述存储器储存的数据中的预先确定的种类的数据定期地进行提取;数据分配部,其将由所述数据提取部提取出的数据,在对应于所述预先确定的种类而设置的多个缓冲器中的相对应的缓冲器进行储存;以及数据统计部,其在所述缓冲器储存了预先确定的期间的量的数据的情况下,进行在所述缓冲器储存的数据的运算处理。

本发明所涉及的控制方法,其具有下述步骤:数据储存步骤,将由外部传感器取得的数据在存储器进行储存;数据提取步骤,对在所述数据储存步骤中储存的数据中的预先确定的种类的数据定期地进行提取;数据分配步骤,将在所述数据提取步骤中提取出的数据,在对应于所述预先确定的种类而设置的多个缓冲器中的相对应的缓冲器进行储存;以及数据统计步骤,在所述缓冲器储存了预先确定的期间的量的数据的情况下,进行在所述缓冲器储存的数据的运算处理。

本发明所涉及的程序,其安装在控制装置的存储器,该控制装置具有对所述程序进行储存的所述存储器和执行所述程序的处理器,该控制装置针对由外部传感器取得的数据中的预先确定的期间的量的数据每一者进行运算处理,该程序的特征在于,使所述控制装置的所述处理器执行下述步骤:数据提取步骤,对由所述外部传感器取得且储存于存储器的数据中的预先确定的种类的数据定期地进行提取;数据分配步骤,将在所述数据提取步骤中提取出的数据,在对应于所述预先确定的种类而设置的多个缓冲器中的相对应的缓冲器进行储存;以及数据统计步骤,在所述缓冲器储存了所述预先确定的期间的量的数据的情况下,进行在所述缓冲器储存的数据的所述运算处理。

发明的效果

根据本发明,能够提供一种可高速地进行统计运算的控制装置、控制方法及在控制装置的存储器安装的程序。

附图说明

图1是表示实施方式1中的信息协同系统的概略结构的示意图。

图2是表示实施方式1中的plc的软件结构的示意图。

图3是表示实施方式1中的主机及插件的例子的图。

图4是表示实施方式1中的信息协同系统启动而进行初始化时的plc的动作顺序的流程图。

图5是表示实施方式1中的对温度传感器的测定数据进行收集的情况下的主机及插件的例子的图。

图6是表示实施方式1中的数据提取部所提取的数据的例子的图。

图7是表示实施方式1中的收集列表的例子的图。

图8是表示实施方式1中的运算缓冲器的例子的图。

图9是表示实施方式1中的信息协同系统启动而开始动作时的plc的处理顺序的流程图。

图10是表示实施方式1中的信息协同系统的启动后的动作的示意图。

图11是表示实施方式1中的用于对最大值进行运算的统计函数的源代码的例子的图。

图12是表示实施方式1中的用于对总和进行运算的统计函数的源代码的例子的图。

具体实施方式

实施方式1.

图1是表示实施方式1中的信息协同系统的概略结构的示意图。使用图1,对实施方式1中的使用了控制装置的信息协同系统进行说明。此外,下面对使用了控制装置的信息协同系统进行说明,但即使对于使用了控制装置的监视控制系统,也能够同样地实现。另外,本发明并不由该实施方式1限定。

实施方式1中的信息协同系统将plc1用作控制装置。如图1所示,向plc1连接外部传感器2和外部仪器3。外部传感器2例如是温度传感器、流量计、或者压力计等。外部仪器3例如是泵或者阀等。这些仪器作为外部传感器2或者外部仪器3而向plc1连接多个。

plc1构成为,作为硬件结构而具有存储器11和处理器12。存储器11是ram、闪存存储器等存储器。处理器12是对plc1的整体的动作进行控制的中央处理装置(cpu:centralprocessingunit)。

plc1从维护终端4所具有的设计工具将用户程序加载至存储器11。plc1通过由处理器12执行在存储器11储存的用户程序,从而从外部传感器2读入测定数据,或向外部仪器3输出控制信号而对外部仪器3进行控制。plc1中的主机21及插件22的详细内容将在后面记述,是通过执行用户程序而实现的软件处理。

在实施方式1中,plc1通过控制网络5而与其他plc1a及plc1b连接。控制网络5并不限定于图1所示的例子,能够连接任意数量的plc。在图1所示的例子中,在多个plc之间,使用对在存储器储存的数据周期性地进行通信而使数据同步的、被称为共享存储器(也称为周期存储器)的方式等,能够实时地相互进行数据的交换。

信息网络6将plc1和监视终端7连接。信息网络6例如是局域网(lan:localareanetwork)等介质。plc1使用与控制网络5不同的通信端口而与信息网络6连接。

监视终端7是pc(personalcomputer),能够使用tcp/ip(transmissioncontrolprotocol/internetprotocol)等通信协议而经由信息网络6与plc1相互通信。用户能够通过监视终端7,对用户程序所具有的数据进行监视,或对用户程序发送用于进行控制的信号。此外,将监视终端7和plc1相连的信息网络6并不限定于局域网,也可以是互联网等云网络。

在信息网络6还连接了外部系统8。外部系统8例如是数据库,能够使用tcp/ip等通信协议而与plc1相互通信。

图2是表示实施方式1中的plc的软件结构的示意图。使用图2,对实施方式1中的plc1的结构进行说明。

plc1具有主机21、多个插件22a及插件22b。主机21是安装有操作系统、scada功能等共通功能的软件,插件22a及插件22b是对该功能进行扩展的软件。

此外,在图2中,图示的是相对于主机21仅登记有2个插件22a及插件22b,但实际上,在主机21进一步登记有多个插件22。下面,将这些插件22a及插件22b等汇总而称为插件22。图2的插件22a及插件22b等在图1中与汇总而图示出的插件22相对应。

另外,关于后面记述的插件22的提取函数121a和提取函数121b、运算算法122a和运算算法122b、统计函数123a和统计函数123b等,也同样地汇总而分别称为提取函数121、运算算法122、统计函数123等。

主机21具有:设备存储器111、数据提取部112、运算缓冲器113、数据分配部114、数据变换部115、数据统计部116和数据输入输出部117。

此外,在图2中,对多个运算缓冲器113a、运算缓冲器113b及运算缓冲器113c进行了图示,但实际上,如后面记述所示,进一步生成多个运算缓冲器113。下面,将生成的多个运算缓冲器113a、运算缓冲器113b及运算缓冲器113c等汇总而称为运算缓冲器113。

设备存储器111对外部传感器2所取得的数据进行储存、累积。设备存储器111通过地址予以管理。一般来说,从外部传感器2输入的输入值被分配至设备存储器111中的x000~x9999这样的以x作为设备名的地址,向外部仪器3输出的输出值被分配至设备存储器111中的y000~y9999这样的以y作为设备名的地址。除此以外的临时数据被分配至设备存储器111中的被称为寄存器的区域。寄存器根据特性而存在多个种类,但为了将例子变得简单,在这里寄存器以将d(数据)作为设备名的d000~d9999的地址表示。

数据提取部112对在设备存储器111储存的数据中的、需要收集的数据进行提取。数据提取部112在提取时,使用后面记述的插件22的提取函数121,取得需要收集的数据的种类、数据的收集期间、数据的收集周期及收集条件等信息。

另外,数据提取部112生成需要收集的数据的种类、数据的收集期间等的一览即收集列表。收集列表是对与从设备存储器111提取的数据相关的条件进行一览的列表。数据提取部112按照收集列表,针对每个需要收集的数据的种类、数据的收集期间、数据的收集周期及收集条件,生成相对应的运算缓冲器113。

并且,数据提取部112使用提取函数121,对在设备存储器111储存的数据中的、与作为需要收集的数据的种类而预先确定的种类相对应的数据进行提取。

运算缓冲器113由数据提取部112针对提取函数121所指定的每个数据的种类、数据的收集期间等而相对应地生成多个。此外,在图2中,作为例子,对所生成的多个运算缓冲器113a、运算缓冲器113b及运算缓冲器113c进行了图示,但生成的多个运算缓冲器113的数量并不限定于图2所示的例子。多个运算缓冲器113的详细内容将在后面记述,但是,是以与在插件22的提取函数121中记述的需要收集的数据的种类、数据的收集期间、数据的收集周期及收集条件相对应的数量生成的。

数据分配部114将由数据提取部112提取出的数据,储存于与数据的种类、数据的收集期间等相对应地设置的多个运算缓冲器113中的对应的运算缓冲器113。

数据变换部115在运算缓冲器113储存了预先确定的数据收集期间的量的数据的情况下,针对在运算缓冲器113储存的数据,执行后面记述的插件22的运算算法122而进行数据的变换处理,将运算结果回写至运算缓冲器113。

数据统计部116在运算缓冲器113储存有预先确定的数据的收集期间的量的数据的情况下,针对在运算缓冲器113储存的数据变换部115的运算结果,使用后面记述的插件22的统计函数123而进行统计运算,回写至运算缓冲器113。

此外,下面,将通过数据变换部115进行的数据的变换处理及通过数据统计部116进行的统计运算汇总而称为运算或者各运算等。

数据输入输出部117将在运算缓冲器113储存的数据统计部116的统计结果读出,输出至外部系统8或者设备存储器111。另外,数据输入输出部117基于从外部系统8接收到的检索指令,使数据提取部112对在设备存储器111储存的数据进行检索,或接收由数据提取部112从设备存储器111提取出的数据而输出至外部系统8。

插件22具有:提取函数121、运算算法122和统计函数123。

提取函数121是在数据提取部112生成运算缓冲器113时以及数据提取部112从设备存储器111提取数据时使用的、记述有用于对需要提取的数据进行筛选的算法的函数。在提取函数121中记述有需要收集的数据的种类、数据的收集期间、数据的收集周期及收集条件等。

运算算法122是在数据变换部115针对运算缓冲器113所储存的值进行运算时使用的记述有与标准化、偏差(bias)、比例等运算相关的算法的函数。

统计函数123是在数据统计部116对数据变换部115的运算结果的值进行统计时使用的记述有与用于求出最大、最小、总和等的统计运算相关的算法的函数。

提取函数121a和提取函数121b、运算算法122a和运算算法122b、统计函数123a和统计函数123b通常记述有各自不同的函数。

另外,插件22a的提取函数121a、运算算法122a及统计函数123a通过提取函数121a而关联起来,插件22b的提取函数121b、运算算法122b及统计函数123b通过提取函数121b而关联起来。这些提取函数121、运算算法122及统计函数123被以相关联的提取函数121为单位作为插件22登记于主机21。

图3是表示实施方式1中的主机及插件的例子的图。此外,图3的左端的数字表示的是处在程序的第几行,是为了对程序进行说明出于方便而附加的数字,与程序的内容无关。

在图3所示的程序中,从第7行至第33行为止是插件22,从第35行至第50行为止是主机21。另外,在图3所示的程序中,从第11行至第15行为止是插件22的提取函数121,从第16行至第22行为止是插件22的运算算法122,从第23行至第31行为止是插件22的统计函数123。

此外,在本申请的说明书等中,全部程序都是通过c语言(c++)记述的。

在图3所示的程序中,作为提取函数121的收集条件的例子,记述有下述内容,即,对从设备存储器111提取出的数据中的被2除尽的数据进行收集。另外,在图3的程序中示出的是,主机21的数据提取部112调用插件22的提取函数121,主机21的数据变换部115调用插件22的运算算法122,主机21的数据统计部116调用插件22的统计函数123。

如上所述,实施方式1的plc1中的主机21和插件22,通过图3所示的程序等而构成为软件。plc1的主机21和插件22是通过由plc1的处理器12执行图3所示的程序等而实现的。此外,实施方式1的plc1中的主机21和插件22并不限定于此,也可以通过硬件实现。

接下来,对实施方式1的信息协同系统的应用例和使用信息协同系统实施的数据的收集及统计运算进行说明。

近年,使plc1等控制装置与诸如mes或者erp这样的上级信息系统软件进行协同的信息协同系统得到了实用化。在信息协同系统中,控制装置能够对与控制装置相连的仪器的数据进行运算而累积于外部的数据库,或发送至hmi软件而图形化地显示。另外,在控制装置中存在如下这样的控制装置,即,内部具有数据库,设置与外部通信用的专用cpu不同的专用于进行定序控制的控制cpu,由此高效地对用于向上级信息系统软件提供的数据进行收集的控制装置,或者,将收集到的数据与要求相对应地变换为xml(extensiblemarkuplanguage)或者html(hypertextmarkuplanguage)而向上级信息系统软件发送的控制装置。

另外,在如水处理、化学类车间这样对高速、大容量的过程数据进行处理的监视控制系统中,通常,由专用的仪器执行被称为scada的专用软件。在车间内,传感器、致动器等仪器与控制装置连接,控制装置执行定序控制算法而向仪器发送控制信号。scada能够对在控制装置的存储器储存的仪器的测定数据进行读取,对车间实时地进行监视,或将数据按照时间序列保存。另外,也存在具有hmi的scada,也能够将收集到的数据在hmi图形化地显示。

在实施方式1的信息协同系统中,外部传感器2取得温度或者流量等数据,plc1使用用户程序而从外部传感器2读入测定数据,将测定数据作为输入值而写入至设备存储器111,其中,外部传感器2是温度传感器或者流量计等。但是,如以上说明所述,设备存储器111将输入值储存至预先分配的地址。因此,在plc1新取得外部传感器2的值的情况下,已经在设备存储器111储存的该外部传感器2的旧值被plc1新取得的输入值覆盖,旧值丢失。因此,实施方式1的信息协同系统通过scada而将设备存储器111的值定期地读出,对读出的数据附加读出的时刻(时间戳),保存于scada软件内的数据库即外部系统8。

此外,无需从设备存储器111读出全部值。另外,也不限定于对设备存储器111的各地址的值以相同周期进行调用。数据提取部112只要从设备存储器111在任意的定时将任意的数据读出即可。例如,数据提取部112也可以是将在设备存储器111储存的值中的温度传感器的值以60秒为单位进行读出,由于流量计的值变化大,因此以1秒为单位读出流量计的值。

另一方面,在信息协同系统中,在对从工厂、车间大量地收集的数据进行利用时,为了求出收集到的数据的最大、最小、总和等,有时针对按照时间序列排列的多个数据而集中地进行处理,即,执行所谓的统计运算。但是,在控制装置采用以任务为单位对行动进行定义的方式的情况下,控制装置为了执行统计运算,需要以所收集的数据的数量对相同内容的行动进行记述。因此,设定作业繁琐,并且运算算法的调用次数变得庞大,因此控制装置的运算量变得庞大,无法高速地进行统计运算。另外,为了执行复杂的运算,需要将1个运算分割为多个行动,对上述多个行动单独地进行定义,因此运算量增加,处理速度进一步降低。由此,在如上所述的情况下为了执行统计运算,需要除了控制装置以外,还准备具有进行统计运算的数据库的专用的个人计算机。

并且,在将执行scada的监视控制系统在诸如车间这样的要求可靠性及高品质的环境中使用的情况下,需要使用诸如耐环境性及耐故障性高的fa个人计算机这样的高价的专用机,成本增加。

因此,在实施方式1的信息协同系统中,在plc1将设备存储器111所储存的数据输出至外部系统8前,能够使plc1高速地执行统计运算。由此,提供不另外使用专用的个人计算机就能够构成的信息协同系统。

接下来,对实施方式1中的信息协同系统的动作进行说明。图4是表示实施方式1中的信息协同系统启动而进行初始化时的plc的动作顺序的流程图。使用图4,对实施方式1中的信息协同系统的初始化时的动作进行说明。

此外,下面,特别地,说明将温度传感器a作为外部传感器2与plc1的输入输出单元连接,对温度传感器a测定出的数据进行监视的例子。

在信息协同系统的初始化时,在图4的步骤st1中,plc1对登记于主机21的插件22进行加载,执行处理。

图5是示出实施方式1中的对温度传感器的测定数据进行收集的情况下的主机及插件的例子的图,且示出的是与图3不同的例子。此外,图5的左端的数字表示的是处在程序的第几行,是为了对程序进行说明出于方便而附加的数字,与程序的内容无关。

在图5所示的程序中,从第1行至第10行为止是插件22a的提取函数121a。另外,从第12行至第58行为止是主机21,其中的从第12行至第25行为止是数据分配部114,从第27行至第58行为止是数据提取部112。

在本次进行说明的例子中,提取函数121a将数据的收集期间设为1分钟,如图5的第4行所示的test_function_per_day这样进行定义。图5中的提取函数121a表示的是,从开始时刻即每天的00时00分00秒至结束时刻即00时00分59秒为止,从设备存储器111的地址x1234以1000ms为周期读出数据。

此外,图5所示的提取函数121a记述的是仅仅是单纯地将值返回,但并不限定于此。提取函数121由于是作为函数而实现的,因此例如仅在表示处于运转过程中的信号为on时对数据进行提取等,也可以将其他信号的值成为on作为条件加入。即,提取函数121由于是作为函数而实现的,因此即使是复杂的逻辑,也能够容易地记述。

在图4的步骤st2中,数据提取部112使用插件22的提取函数121,取得需要收集的数据的种类、数据的收集期间、数据的收集周期及收集条件等信息。

图6是表示实施方式1中的数据提取部所提取的数据的例子的图。就plc1而言,数据提取部112及数据分配部114使用提取函数121而对图6所示的数据进行收集。此外,在图6中示出的是,例如,信号id为001/kl002的数据即温度传感器a的测定数据由图5所示的提取函数121a从设备存储器111的地址x1234以1000ms为周期进行提取。

在这里,所谓需要收集的数据的种类,是在设备存储器111储存的数据中的、被指定为通过插件22的提取函数121收集的数据的种类。例如,在图5所示的提取函数121a的情况下,需要收集的数据的种类如图6所示,是温度传感器a的测定数据。

所谓数据的收集期间,是对需要收集的数据进行收集的期间。例如,在图5所示的提取函数121a的情况下,数据的收集期间如图6所示,是从开始时刻即2014年4月29日的00时00分00秒至结束时刻即2014年4月29日的00时00分59秒为止。

所谓数据的收集周期,是数据提取部112从设备存储器111提取需要收集的数据的周期。例如,在图5所示的提取函数121a的情况下,数据的收集周期如图6所示,是1000ms。

此外,在图5中没有进行图示,但在提取函数121中还记述有需要收集的数据的名称、信号id、分配的设备的地址等。数据提取部112从登记于主机21中的插件22的提取函数121,取得如图6所示的需要收集的数据的名称、信号id、分配的设备的地址、数据的收集周期、收集的开始时刻、结束时刻等信息。数据提取部112针对全部插件22,从提取函数121取得数据的名称、信号id等信息。

在图4的步骤st3中,数据提取部112生成将需要收集的数据的种类、数据的收集期间等汇总为一览的收集列表。

图7是表示实施方式1中的收集列表的例子的图。收集列表如图7所示,是对与从设备存储器111提取的数据相关的条件进行一览的列表,且除了整理有对相同信号以相同周期及定时进行收集的情形以外,还整理有数据的收集周期为若干倍的情形等。在图7中,例如,no.1的数据与图6中的信号id为001/kl002的数据相对应。此外,收集列表并不限定于图7所示,只要能够高效地对数据进行收集,则可以是任何形式。

在图4的步骤st4中,plc1判定是否全部插件22都被进行了处理,如果全部插件22都被进行了处理,则进入步骤st5,否则返回至步骤st1而重复处理。

在步骤st5中,数据提取部112按照收集列表,针对每个需要收集的数据的种类、数据的收集期间、数据的收集周期及收集条件,生成对应的运算缓冲器113。

生成的运算缓冲器113的要素数由通过插件22的提取函数121指定出的开始时刻、结束时刻及数据的收集周期决定。在图7所示的例子中,例如,如果是no.1的数据,则开始时刻为2014年4月29日的00时00分00秒,结束时刻是从开始时刻起的59秒后,数据的收集周期为1000ms=1秒,因此要素数为((59+1)-0)÷1[秒]=60个。

图8是表示实施方式1中的运算缓冲器的例子的图。在图8的例子中,对后面记述的运算缓冲器113a进行了图示。在图8(a)中,示出通过数据提取部112生成的运算缓冲器113a对从数据分配部114传送的值进行了储存的状态。在图8(b)中,示出该运算缓冲器113a对数据变换部115的运算结果的值进行了储存的状态。在图8(c)中,示出该运算缓冲器113a对数据统计部116的统计运算的结果的值进行了储存的状态。

在图7所示的no.1的例子中,数据提取部112生成如图8(a)所示要素数为60个的运算缓冲器113a。

作为其他的例子,例如在针对图7中未图示的任意的信号,以1天为周期对从2014年1月1日至2014年1月31为止的期间的数据进行收集的情况下,数据提取部112生成能够对31个日数据进行储存的运算缓冲器113。

即,运算缓冲器113生成为能够正好对上述的数据的收集期间及数据的收集周期的量的数据进行储存。运算缓冲器113针对由提取函数121指定的每个数据的种类、数据的收集期间等,对应地被生成多个。

以上是实施方式1中的信息协同系统的初始化时的动作的说明。

图9是表示实施方式1中的信息协同系统启动而开始动作时的plc的处理顺序的流程图。图10是表示实施方式1中的信息协同系统启动后的动作的示意图。使用图9、10,对实施方式1中的启动后的信息协同系统的动作进行说明。

此外,在图10中,多个运算缓冲器113a、运算缓冲器113b、运算缓冲器113c及运算缓冲器113d是与图2中图示的运算缓冲器113a、运算缓冲器113b、运算缓冲器113c相对应的,即表示与图2的运算缓冲器113相同的运算缓冲器。另外,在图10中,分别将运算缓冲器113a、运算缓冲器113b、运算缓冲器113c及运算缓冲器113d图示了多个,但这仅仅是在对动作进行图示时为了方便起见进行了多次记载,在图10中相同标号的运算缓冲器113表示相同的运算缓冲器。

并且,在图10中,仅对插件22a和其附带的提取函数121a、运算算法122a及统计函数123a进行了图示,但如上所述,在主机21进一步登记有多个插件22。

此外,在下面进行说明的例子中,plc1将温度传感器a的测定数据适当读入,写入至图10所示的设备存储器111。

在信息协同系统开始动作时,在图9的步骤st11中,数据提取部112使用提取函数121,以由提取函数121指定出的周期从设备存储器111提取由提取函数121指定出的种类的数据。在图10所示的插件22a的提取函数121a中,例如,如图5的从第1行至第10行为止所示的例子这样,在指定了设备存储器111的地址x1234的情况下,数据提取部112从设备存储器111的地址x1234定期地提取图6所示的信号id为001/kl002的数据,即温度传感器a的测定数据。如上所述,数据提取部112执行登记于主机21的全部插件22,定期地对由各个提取函数121指定出的种类的数据进行提取。

在这里,如果在不同的插件22指定有相同地址,则数据提取部112视为重复而忽略。在图6中,例如,信号001/kl006是与信号001/kl003相同的地址x2011的数据,数据的收集周期也成为001/kl003的2倍的周期,因此使用重复的数据。因此,数据提取部112将信号001/kl006和信号001/kl003中的一方视为重复的数据而忽略。由此,能够减少数据提取部112从设备存储器111提取数据的次数,能够高效地对数据进行收集。

另外,数据提取部112如图10所示,将提取出的数据传送至数据分配部114。

在图9的步骤st12中,数据分配部114如图10所示,将从数据提取部112接收到的数据储存于数据的种类、数据的收集期间、数据的收集周期及收集条件对应的运算缓冲器113。

作为对运算缓冲器113进行确定的方法而想到下述方法,即,例如,创建如图6所示的对要收集的数据的条件进行了储存的表格,根据其要素值进行哈希运算,将哈希值与运算缓冲器113相关联等。但是,并不限定于此,即使是除此以外的方法,只要是将运算缓冲器113与要收集的数据的条件有效地关联的方法即可。

另外,在图9的步骤st12中,数据分配部114基于需要收集的数据的种类、数据的收集期间、数据的收集周期及收集条件,将数据提取部112提取出的数据储存于相对应的运算缓冲器113。例如,数据分配部114基于从插件22a的提取函数112a取得的设备存储器111的地址、周期及开始时刻,将数据提取部112提取出的温度传感器a的测定数据以按照时间序列排列的方式不断储存于相对应的运算缓冲器113a。运算缓冲器113a将从数据分配部114传送的值,例如,如图8(a)所示,以1000ms为单位如{x|100,200,300,400,···,6000}这样进行储存。

此外,所谓收集条件是指,用于针对由数据提取部112使用提取函数121而从设备存储器111提取出的数据,判断是否需要收集的条件。收集条件例如是,在从设备存储器111提取出的数据为温度传感器b的测定数据的情况下,在提取出的测定数据表示大于或等于40℃时将该测定数据储存于相对应的运算缓冲器113。因此,例如,在提取函数121b中,作为需要收集的数据的种类、数据的收集周期及收集条件,指定为以60秒为周期对温度传感器b的测定数据中大于或等于40℃的数据进行收集,在温度传感器b的测定数据以{10℃,20℃,40℃,50℃,10℃,0℃,10℃,···}的样子依次不断储存于设备存储器111的情况下,数据分配部114将由数据提取部112从设备存储器111以60秒为单位读出的温度传感器b的测定数据中的、40℃及50℃这2个值储存于相对应的运算缓冲器113b。

在这里,在对要进行收集的数据的条件即数据的收集期间、数据的收集周期及收集条件中的任意者不同的数据进行收集的情况下,数据分配部114将数据提取部112从设备存储器111的相同地址提取出的相同种类的数据储存于各个不同运算缓冲器113。例如,假设存在插件22c,该插件22c从每天00时00分00秒至00时59分00秒为止,以1分钟为单位合计收集60个温度传感器a的测定数据。即,插件22c与图5及图10所示的插件22a同样地,对温度传感器a的测定数据进行收集,但是,是在与插件22a不同的数据的收集期间,通过不同的数据的收集周期进行收集。在该情况下,如上所述,在图4的步骤st5中,作为与运算缓冲器113a不同的相对应的运算缓冲器113,例如,还另外生成图10所示的运算缓冲器113c。因此,在执行插件22c的情况下,数据分配部114在图9的步骤st12中,将与通过插件22a收集到的温度传感器a的测定数据相同的数据储存于与运算缓冲器113a不同的相对应的运算缓冲器113c。由此,即使是相同种类的数据,在对数据的收集期间、数据的收集周期及收集条件中的任意者不同的数据进行收集的情况下,实施方式1中的plc1如图10所示,能够将各不同的数据的收集期间、不同的数据的收集周期及不同的收集条件的运算并行地执行。

在这里,各运算缓冲器113如上所述,是与数据的收集期间及数据的收集周期相对应地生成的。因此,各运算缓冲器113能够对数据进行储存的容量是已经决定的。由此,在图9的步骤st13中,在对运算缓冲器113的全部要素都写入了数据的情况下,即运算缓冲器113对数据进行累积而将其容量存满的情况下,数据分配部114如图10所示,结束向运算缓冲器113的数据写入,对数据变换部115进行通知。

在图9的步骤st14中,数据变换部115执行插件22的运算算法122。数据变换部115将在容量存满的运算缓冲器113储存的值作为输入而进行运算算法122的运算。

在这里,作为通过数据变换部115实现的运算算法122的运算的例子,针对用于进行标准化的运算算法122a进行说明。一般来说,传感器等的模拟输入值在向plc1写入时成为数字值。例如,存在能够对从10℃至70℃为止进行测定的温度传感器a,在分辨率为0~40000的情况下,在设备存储器111中写入0~40000的值。在该情况下,在设备存储器111储存的0的值表示10℃,40000的值表示70℃。

数据变换部115执行图10所示的运算算法122a,根据在运算缓冲器113a储存的值而对温度进行运算。在上述的例子的情况下,在将来自温度传感器a的输入值设为x[i]时,数据变换部115通过下面的式(1)而求出温度t。

[式1]

t=(x[i]-0)/40000×(70[℃]-10[℃])+10[℃]式(1)

例如,在运算缓冲器113a储存的值为24000时,数据变换部115通过上述的式(1),将温度t求出为(24000-0)/40000×60+10=46℃。数据变换部115针对在图8(a)所示的运算缓冲器113a储存的值而进行上述的式(1)的运算,将对应的温度如图8(b)所示,求出为{temp|10.15,10.30,10.45,11.00,···,19.00}。

如上所述,数据变换部115在各运算缓冲器113被存满的定时,执行相对应的运算算法122。此外,数据变换部115不仅执行上述所示的标准化,还可以执行与偏差、比例等运算相关的运算算法122。

在图9的步骤st14中,数据变换部115如图10所示,将运算结果回写至相同的运算缓冲器113。在运算结束后,例如,在上述的式(1)的情况下运算算法122a结束了所有图8(b)所示的值的计算时,数据变换部115对数据统计部116进行通知。

在图9的步骤st15中,数据统计部116对在运算缓冲器113储存的数据变换部115的运算结果的值进行统计。数据统计部116如图10所示,使用插件22的统计函数123,执行最大、最小、总和等统计运算。

图11是表示对用于求出最大值的函数max进行运算的统计函数的源代码的例子的图。图12是表示对用于求出总和的函数sum进行运算的统计函数的源代码的例子的图。此外,图11及图12的左端的数字表示的是处在程序的第几行,是为了对程序进行说明出于方便而附加的数字,与程序的内容无关。

图10所示的统计函数123a例如是如图11或者图12所示的程序。另外,在图11及图12中,对在统计函数123a的第1行记载的value_array传送图8(b)所示的值,对在第1行记载的length传送图8(a)或者图8(b)所示的运算缓冲器113a的要素数即60。数据统计部116使用如图11或者图12所示的统计函数123a,针对在运算缓冲器113a储存的运算算法122a的运算结果而执行统计运算。

另外,数据统计部116将执行通过统计函数123实现的统计运算后得到的统计值覆盖至相同的运算缓冲器113。例如,数据统计部116将针对在运算缓冲器113a储存的运算算法122a的运算结果而执行通过统计函数123a实现的统计运算后得到的统计值,如图8(c)所示,覆盖至相同的运算缓冲器113a。在图8(c)所示的例子中,在运算缓冲器113a中,对第0个要素写入最大值,对第1个要素写入最小值,接下来写入有平均、总和等。

此外,对运算缓冲器113的哪个要素写入哪个统计值,是与上述的专利文献1同样地,预先使用定义文件等而指定出的。另外,经常使用的统计函数123也可以不安装于插件22而是安装于主机21侧。并且,由于统计函数123也是插件22,因此统计运算的种类并不限定于最大、最小、总和,也可以进行除此以外的统计运算。

在图9的步骤st16中,数据输入输出部117如图10所示,从运算缓冲器113将统计值读出,将读出的统计值回写至设备存储器111,或使用tcp/ip等通信协议而输出至外部系统8。例如,数据输入输出部117将图8(c)所示的统计结果中的总和即843.60输出至外部系统8。

此外,对统计结果中的哪个统计值进行发送、进行回写,是与上述的专利文献1同样地,预先记述于定义文件的。

在图9的步骤st16中,在没有检测到将系统停止的指令的情况下,plc1返回至步骤st11而重复处理。在检测到将系统停止的指令的情况下,plc1将处理停止。

如以上说明所述,实施方式1中的plc1在执行通过运算算法122实现的运算、通过统计函数123实现的统计运算等各运算前,预先从设备存储器111提取数据,在将提取出的数据预先分配给相对应的运算缓冲器113后,执行各运算。因此,实施方式1中的plc1能够针对每个运算缓冲器113而并行地执行各运算,能够实现高速的处理。

另外,实施方式1中的plc1以运算缓冲器113被存满作为条件,针对在该运算缓冲器113储存的值而执行各运算,因此能够针对每个运算缓冲器113而独立地进行各运算。由此,实施方式1中的plc1无需进行等待某个运算的结束等的同步动作,能够将各运算非同步地执行,能够实现高速的处理。

另外,在实施方式1中,数据提取部112针对每个数据的种类、数据的收集期间、数据的收集周期及收集条件,生成相对应的运算缓冲器113,数据分配部114将由数据提取部112提取出的数据,在即使数据的种类相同,但数据的收集期间、数据的收集周期及收集条件中的任意者不同的情况下,储存至不同的运算缓冲器113。因此,就实施方式1中的plc1而言,关于收集到的数据,不仅在数据的种类不同的情况下,在针对数据的收集期间、数据的收集周期及收集条件的任意者不同的数据进行运算的情况下,也能够针对每个不同的运算缓冲器113而并行地执行各运算,并且,能够针对每个运算缓冲器113而独立地进行各运算,因此能够将各运算非同步地执行,能够高速地进行运算处理。

并且,运算中使用的数据是在运算前预先储存于运算缓冲器113的。因此,实施方式1中的plc1无需从例如作为外部系统8而设置于plc1的外部的数据库等暂时地储存的数据区域进行检索。关于数据的检索所需的时间,要进行处理的数据量越大,则检索时间越会变得无法忽略。但是,实施方式1中的plc1针对每个数据的种类、数据的收集期间等而将数据分别储存于各个不同的运算缓冲器113,因此不需要进行数据的检索,能够省略检索时间,能够实现高速的处理。

在此基础上,使提取函数121、运算算法122及统计函数123以提取函数121为单位而关联,将提取函数121、运算算法122及统计函数123以相关联的提取函数121为单位而作为插件22登记于主机21。因此,在希望使用新的提取函数121、运算算法122及统计函数123的情况下,即在希望通过新的条件对数据进行收集的情况下,实施方式1中的plc1只要将新的插件22追加于主机21即可,能够更灵活地构成可并行且非同步地执行各运算、可高速地进行运算的plc1。

此外,如以上说明所述,也能够独立于plc1,准备具有进行统计运算的数据库的专用的个人计算机,使该个人计算机执行统计运算,但在该情况下需要另外准备高价的专用机。与此相对,实施方式1的信息协同系统能够使plc1执行统计运算,因此能够构成系统而不另外使用专用的个人计算机。

此外,在实施方式1中,是在运算缓冲器113对数据进行累积而将其容量存满的情况下,结束数据的写入,针对在运算缓冲器113储存的值进行运算,但并不限定于此。

如上所述,运算缓冲器113生成为,正好能够对数据的收集期间及数据的收集周期的量的数据进行储存。另外,如上所述,运算缓冲器113是由数据提取部112针对每个收集条件而生成的。因此,数据分配部114针对从设备存储器111提取出的数据,即使存在数据的种类、数据的收集期间及数据的收集周期对应的运算缓冲器113,但在不满足收集条件的情况下也不将数据储存于该运算缓冲器113。由此,在存在不满足收集条件的数据的情况下,该数据不储存于相对应的运算缓冲器113,因此即使经过了数据的收集期间,该运算缓冲器113也没有被存满。因此,除了在运算缓冲器113对数据进行累积而将其容量存满的情况下,结束数据的写入,针对在运算缓冲器113储存的值而进行运算以外,也可以将经过了数据的收集期间作为条件,针对在运算缓冲器113储存的值而执行运算。

此外,例如,数据提取部112在生成各运算缓冲器113时,也可以生成除了与数据的收集期间及数据的收集周期相对应的容量以外,还具有追加容量的运算缓冲器113。而且,在运算缓冲器113储存了与数据的收集期间及数据的收集周期相对应的量的数据的情况下,即在运算缓冲器113的剩余容量仅为该追加容量的情况下,检测出这一情况而结束数据的写入,针对在运算缓冲器113储存的值而进行运算。在这些情况下,也能够针对每个运算缓冲器113而并行地执行各运算,并且无需进行等待某个运算的结束等而的同步动作,因此能够将各运算非同步地执行,能够实现高速的处理。

另外,在实施方式1中,是数据提取部112针对每个需要收集的数据的种类、数据的收集期间、数据的收集周期及收集条件,生成相对应的运算缓冲器113,数据分配部114基于需要收集的数据的种类、数据的收集期间、数据的收集周期及收集条件,将数据提取部112从设备存储器111提取出的数据储存于相对应的运算缓冲器113,但并不限定于此。

例如,也可以设为数据提取部112针对每个需要收集的数据的种类、数据的收集期间、数据的收集周期及提取条件,生成相对应的运算缓冲器113,数据分配部114基于需要收集的数据的种类、数据的收集期间、数据的收集周期及提取条件,将数据提取部112从设备存储器111提取出的数据储存于相对应的运算缓冲器113。这里的提取条件是指,在数据提取部112通过提取函数121从设备存储器111提取数据时,被提取的数据应该满足的条件。在该情况下,数据提取部112仅对在设备存储器111储存的数据中的、满足由提取函数121指定出的提取条件的数据进行提取。另外,数据分配部114将从数据提取部112传送出的数据储存于相对应的运算缓冲器113。在如上所述的情况下,也能够针对每个运算缓冲器113而并行地执行各运算,并且,无需进行等待某个运算的结束等的同步动作,因此能够将各运算非同步地执行,能够实现高速的处理。

标号的说明

1plc,2外部传感器,3外部仪器,4维护终端,5控制网络,6信息网络,7监视终端,8外部系统,11存储器,12处理器,21主机,111设备存储器,112数据提取部,113运算缓冲器,114数据分配部,115数据变换部,116数据统计部,117数据输入输出部,22插件,121提取函数,122运算算法,123统计函数。

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