JP7141939B2 - industrial controller - Google Patents

industrial controller Download PDF

Info

Publication number
JP7141939B2
JP7141939B2 JP2018233916A JP2018233916A JP7141939B2 JP 7141939 B2 JP7141939 B2 JP 7141939B2 JP 2018233916 A JP2018233916 A JP 2018233916A JP 2018233916 A JP2018233916 A JP 2018233916A JP 7141939 B2 JP7141939 B2 JP 7141939B2
Authority
JP
Japan
Prior art keywords
data set
information
memory area
control
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018233916A
Other languages
Japanese (ja)
Other versions
JP2020095549A (en
Inventor
隆 天野
光洋 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2018233916A priority Critical patent/JP7141939B2/en
Priority to PCT/JP2019/035994 priority patent/WO2020121614A1/en
Publication of JP2020095549A publication Critical patent/JP2020095549A/en
Application granted granted Critical
Publication of JP7141939B2 publication Critical patent/JP7141939B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors

Description

本発明は、概して、産業用コントローラに関する。 The present invention relates generally to industrial controllers.

一般に、産業用コントローラの役割は、制御プログラムを周期的に実行することで、制御対象装置を遅延無く制御することにある。産業用コントローラは、プロセッサ及びメモリといったハードウェア資源を有するが、役割を担うのに必要なハードウェア資源は、一般的な計算機のハードウェア資源に比べて少なくて済むため、通常、産業用コントローラのハードウェア資源の量は、一般的な計算機に比べて少ない。 In general, the role of an industrial controller is to control a device to be controlled without delay by periodically executing a control program. Industrial controllers have hardware resources such as processors and memories, but the hardware resources required to play a role are less than those of general computers. The amount of hardware resources is smaller than that of general computers.

ハードウェア資源の一つとして、メモリがある。メモリの使用に関する技術として、例えば特許文献1に開示の技術が知られている。特許文献1に開示の技術は、空き容量が少ない場合には、データ属性に基づき、保存されているデータから削除すべきデータを削除する。 Memory is one of the hardware resources. For example, the technology disclosed in Patent Document 1 is known as a technology related to the use of memory. The technique disclosed in Patent Document 1 deletes data to be deleted from the stored data based on the data attribute when the free space is small.

特開2005-18539号公報JP-A-2005-18539

制御プログラムの他に、制御対象装置の制御と異なる処理を含んだ情報処理を行う情報プログラム(典型的には複数の情報プログラム)も実行する産業用コントローラが検討される。 An industrial controller that executes, in addition to a control program, an information program (typically a plurality of information programs) that performs information processing including processing different from control of a controlled device is considered.

この種の産業用コントローラでは、資源節約の観点から、制御プログラムと情報プログラムにメモリが共有されることが望ましい。具体的には、例えば、制御プログラムは、一定の周期で動作し、当該動作において、制御対象装置に関するデータセットをメモリ内のメモリ領域に書き込む。情報プログラムは、所定の読込み頻度で、読込み頻度に従う範囲に属するデータセット(すなわち、今回の読込み対象のデータセット)をメモリ領域から読み込む(読み込まれたデータセットは、例えば、情報プログラムによる所定の演算において使用される、或いは、分析サーバのような上位システムへ送信される)。 In this type of industrial controller, it is desirable to share memory between the control program and the information program from the viewpoint of resource saving. Specifically, for example, the control program operates at regular intervals, and in the operation writes a data set related to the controlled device into a memory area within the memory. The information program reads, at a predetermined reading frequency, a data set belonging to a range according to the reading frequency (i.e., the data set to be read this time) from the memory area (the read data set is read, for example, by a predetermined calculation by the information program). or sent to a higher system such as an analysis server).

この種の産業用コントローラでは、通常、制御プログラムの実行が、情報プログラムの実行よりも優先される。なぜなら、上述したように、産業用コントローラの役割は、制御対象装置を遅延無く制御することにあるから(つまり、リアルタイム性の維持が重要であるから)である。各周期において、制御プログラムは、メモリ領域の空き容量が不足している場合、メモリ領域におけるいずれかのデータセットに、新たなデータセットを上書きする。 In this kind of industrial controller, the execution of the control program is usually prioritized over the execution of the information program. This is because, as described above, the role of the industrial controller is to control the device to be controlled without delay (that is, it is important to maintain the real-time property). In each cycle, the control program overwrites any data set in the memory area with a new data set if the free space in the memory area is insufficient.

情報プログラムは、制御プログラムに比べて優先度が低い。このため、情報処理におけるデータ読込み処理が遅延する可能性がある。このため、メモリ領域のデータセットが上書きされ欲しいデータセットを取得することができない場合がある。少なくともデータ読込み処理まで読込み対象のデータセットが保存されていることが望ましいが、メモリ領域の空き容量が不足している場合、制御プログラムは、新たなデータセットを上書きせざるを得ない。 Information programs have a lower priority than control programs. Therefore, data reading processing in information processing may be delayed. For this reason, the data set in the memory area may be overwritten and the desired data set may not be obtained. It is desirable that the data set to be read is saved at least until the data read process, but if the free space in the memory area is insufficient, the control program has no choice but to overwrite the new data set.

特許文献1に開示の技術を利用すれば、データ削除によりメモリ領域に空き容量を増やすことができ、以って、上書きがされる可能性を低減できる。しかし、データ削除は、データそれ自体の属性を基に行われるため、データセットの属性によっては、読込み頻度に従う範囲に属する全てのデータセットが、データ読込み処理の前に削除されてしまう可能性がある。 By using the technique disclosed in Patent Document 1, it is possible to increase the free space in the memory area by deleting data, thereby reducing the possibility of overwriting. However, since data deletion is performed based on the attributes of the data itself, depending on the attributes of the dataset, all datasets belonging to the range that follows the read frequency may be deleted before the data read process. be.

なお、「メモリ領域のデータセットが上書きされ欲しいデータセットを取得することができない場合がある」という問題は、メモリ容量の多寡に関わらずに生じ得る。例えば、一般に、制御プログラムは、産業用コントローラに共存する情報プログラムに依存すること無しに作成される。そのような制御プログラムは、メモリにデータセットを書き込んでも、当該データセットが当該制御プログラムにとって不要であれば、メモリ消費量を節約する等の目的から、情報プログラムが当該データセットを取得したか否かに関わらず、メモリにおける当該データセットに新たなデータセットを上書きすることを行い得る。 Note that the problem that "the data set in the memory area may be overwritten and the desired data set may not be obtained" may occur regardless of the amount of memory capacity. For example, control programs are typically written without reliance on information programs coexisting on the industrial controller. Even if such a control program writes a data set to the memory, if the data set is not necessary for the control program, for the purpose of saving memory consumption, etc., it is necessary to determine whether the information program has acquired the data set. Regardless, overwriting the data set in memory with a new data set may be done.

制御対象装置を制御しプロセッサ及びメモリを有する産業用コントローラにおいて、プロセッサが、OS(Operating System)を実行し、メモリが、制御対象装置に関するデータセットが書き込まれるメモリ領域を含む。OS上の複数のプログラムは、制御プログラムと情報プログラムとを含む。制御プログラムは、制御対象装置の制御と、当該制御対象装置に関するデータセットの取得と、当該データセットをメモリ領域に書き込むこととを含んだ処理である制御処理を行い、当該制御処理において、当該データセットをメモリ領域の他のデータセットが格納された領域及び空き領域に書き込み可能である。情報プログラムは、データセットをメモリ領域から読み込んで情報処理を行う。制御プログラムのメモリ領域への書き込みは、所定の周期で実行される。産業用コントローラが、情報プログラムが処理するデータセットを、その処理前にメモリ領域上で管理する管理部を備える。 In an industrial controller that controls a device to be controlled and has a processor and memory, the processor executes an OS (Operating System) and the memory includes a memory area in which data sets relating to the device to be controlled are written. The multiple programs on the OS include control programs and information programs. The control program performs control processing including control of the controlled device, acquisition of a data set related to the controlled device, and writing of the data set in a memory area. A set can be written to a memory area in which other data sets are stored and in an empty area. The information program reads the data set from the memory area and performs information processing. Writing of the control program to the memory area is executed at a predetermined cycle. The industrial controller has a management unit that manages the data set processed by the information program on the memory area before the processing.

本発明によれば、制御プログラムと情報プログラムの両方が実行される産業用コントローラのメモリに情報プログラムの情報処理において読込み対象のデータセットが存在する可能性を高めることができる。 According to the present invention, it is possible to increase the possibility that a data set to be read in the information processing of the information program exists in the memory of the industrial controller in which both the control program and the information program are executed.

実施例1に係る産業用コントローラを含むシステムのハードウェア構成を示す。1 shows a hardware configuration of a system including an industrial controller according to Example 1; 実施例1に係る産業用コントローラのソフトウェア構成を示す。4 shows the software configuration of the industrial controller according to the first embodiment; データ管理テーブルの構成を示す。4 shows the structure of a data management table; 頻度データの構成を示す。4 shows the structure of frequency data; 制御APの処理の流れを示す。4 shows the processing flow of the control AP. 情報APの処理の流れを示す。4 shows the flow of processing of the information AP. スケジューラの処理の流れを示す。4 shows the flow of scheduler processing. 管理部の処理の流れを示す。4 shows the processing flow of the management unit. 選別処理の一例を模式的に示す。An example of sorting processing is shown schematically. 加工処理の一例を模式的に示す。An example of processing is shown schematically. ウィンドウに属するデータセットのチェックの一例を模式的に示す。An example of checking a data set belonging to a window is shown schematically. 読込み不可通知の一例を模式的に示す。An example of read-impossible notification is shown schematically. 頻度調整を模式的に示す。Schematically illustrates frequency adjustment. 枯渇時刻の推定と出力を模式的に示す。Schematic representation of depletion time estimation and output. 実施例2に係る産業用コントローラのソフトウェア構成を示す。4 shows the software configuration of an industrial controller according to a second embodiment;

以下の説明では、「インターフェース装置」は、一つ以上のインターフェースデバイスでよい。当該一つ以上のインターフェースデバイスは、一つ以上の同種の通信インターフェースデバイスであってもよいし二つ以上の異種の通信インターフェースデバイスであってもよい。 In the following description, an "interface device" may be one or more interface devices. The one or more interface devices may be one or more of the same type of communication interface device or two or more of different types of communication interface devices.

また、以下の説明では、「メモリ」は、一つ以上のメモリデバイスであり、典型的には主記憶デバイスでよい。メモリにおける少なくとも一つのメモリデバイスは、揮発性メモリデバイスであってもよいし不揮発性メモリデバイスであってもよい。 Also, in the following description, "memory" may be one or more memory devices, typically a main memory device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.

また、以下の説明では、「永続記憶装置」は、一つ以上の永続記憶デバイスである。永続記憶デバイスは、典型的には、不揮発性の記憶デバイス(例えば補助記憶デバイス)であり、具体的には、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)である。 Also, in the following description, a "persistent storage device" is one or more persistent storage devices. A permanent storage device is typically a non-volatile storage device (for example, an auxiliary storage device), and more specifically, for example, an HDD (Hard Disk Drive) or SSD (Solid State Drive).

また、以下の説明では、「記憶装置」は、メモリと永続記憶装置の少なくともメモリでよい。 Also, in the following description, "storage" may be at least memory of memory and persistent storage.

また、以下の説明では、「プロセッサ」は、一つ以上のプロセッサモジュールである。少なくとも一つのプロセッサモジュールは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサデバイスであるが、GPU(Graphics Processing Unit)のような他種のプロセッサデバイスでもよい。少なくとも一つのプロセッサデバイスは、シングルコアでもよいしマルチコアでもよい。少なくとも一つのプロセッサモジュールは、プロセッサコアでもよい。 Also, in the following description, a "processor" is one or more processor modules. The at least one processor module is typically a microprocessor device such as a CPU (Central Processing Unit), but may be another type of processor device such as a GPU (Graphics Processing Unit). At least one processor device may be single-core or multi-core. At least one processor module may be a processor core.

また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサによって実行されることで、定められた処理を、適宜に記憶装置及び/又はインターフェース装置等を用いながら行うため、処理の主語が、プロセッサ(或いは、そのプロセッサを有するコントローラのようなデバイス)とされてもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な(例えば非一時的な)記録媒体であってもよい。また、以下の説明において、二つ以上のプログラムが一つのプログラムとして実現されてもよいし、一つのプログラムが二つ以上のプログラムとして実現されてもよい。 Further, in the following explanation, the processing may be explained with the subject of "program". As it occurs while in use, the subject of processing may be a processor (or a device, such as a controller, having that processor). A program may be installed on a device, such as a computer, from a program source. The program source may be, for example, a program distribution server or a computer-readable (eg, non-temporary) recording medium. Also, in the following description, two or more programs may be implemented as one program, and one program may be implemented as two or more programs.

また、以下の説明では、「kkk部」の表現にて機能を説明することがあるが、機能は、一つ以上のコンピュータプログラムがプロセッサによって実行されることで実現されてよい。プログラムがプロセッサによって実行されることで機能が実現される場合、定められた処理が、適宜に記憶装置及び/又はインターフェース装置等を用いながら行われるため、機能はプロセッサの少なくとも一部とされてもよい。機能を主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。各機能の説明は一例であり、複数の機能が一つの機能にまとめられたり、一つの機能が複数の機能に分割されたりしてもよい。 Also, in the following description, the function may be described using the expression “kkk unit”, but the function may be realized by executing one or more computer programs by a processor. When a function is realized by executing a program by a processor, the defined processing is performed using a storage device and/or an interface device as appropriate, so the function may be at least part of the processor. good. A process described with a function as the subject may be a process performed by a processor or a device having the processor. The description of each function is an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions.

また、以下の説明では、「xxxテーブル」といった表現にて、情報を説明することがあるが、当該情報は、どのような構造のデータでもよい。従って、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、一つのテーブルは、二つ以上のテーブルに分割されてもよいし、二つ以上のテーブルの全部又は一部が一つのテーブルであってもよい。 Also, in the following description, information may be described using an expression such as "xxx table", but the information may be data of any structure. Therefore, the "xxx table" can be called "xxx information". Also, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of two or more tables may be one table. may

また、以下の説明では、「データセット」とは、アプリケーションプログラムのようなプログラムから見た一つの論理的な電子データの塊であり、例えば、レコード、ファイル、キーバリューペア及びタプルのうちのいずれでもよい。 Also, in the following description, a "dataset" is a single logical chunk of electronic data seen from a program such as an application program, for example, any of records, files, key-value pairs and tuples. It's okay.

また、以下の説明では、制御プログラムの一例が、制御APであり、情報プログラムの一例が、情報APである。「AP」は、アプリケーションプログラムの略である。 Also, in the following description, an example of a control program is a control AP, and an example of an information program is an information AP. "AP" is an abbreviation for application program.

図1は、実施例1に係る産業用コントローラを含むシステムのハードウェア構成を示す。 FIG. 1 shows the hardware configuration of a system including an industrial controller according to the first embodiment.

分析サーバ101及び産業用コントローラ109が、情報ネットワーク108に接続されている。また、産業用コントローラ109及び一つ以上のI/Oモジュール119(I/Oポートの一例)が制御ネットワーク118に接続されている。情報ネットワーク108は、情報APが行う情報通信処理(つまり、制御情報の送信とは異なる通信処理)の際に使用される通信ネットワークである。制御ネットワーク118は、制御APが行う制御情報送信の際に使用される通信ネットワークである。情報ネットワーク108及び制御ネットワーク118は、異種のネットワークでもよいし、同種のネットワーク(例えばいずれもLAN(Local Area Network))でもよい。また、情報ネットワーク108の少なくとも一部と制御ネットワーク118の少なくとも一部が一体であってもよい。 Analysis server 101 and industrial controller 109 are connected to information network 108 . Also connected to control network 118 are industrial controller 109 and one or more I/O modules 119 (an example of an I/O port). The information network 108 is a communication network used for information communication processing performed by the information AP (that is, communication processing different from transmission of control information). The control network 118 is a communication network used when control information is transmitted by the control AP. The information network 108 and the control network 118 may be networks of different types or networks of the same type (for example, both may be LANs (Local Area Networks)). Also, at least part of the information network 108 and at least part of the control network 118 may be integrated.

一つ以上のI/Oモジュール119に一つ以上の周辺機器120が接続されている。周辺機器120は、センサ及びドライブなどの少なくとも1つの機器である。I/Oモジュール119は、周辺機器120が必要に応じて着脱可能に装着されるバススロットとして機能する。制御対象装置は、周辺機器120経由又は非経由でI/Oモジュール119に接続される。制御対象装置とI/Oモジュール119は、1:1、1:多、多:1及び多:多のいずれでもよい。また、一部のI/Oモジュール119は、制御ネットワーク118に加えて情報ネットワーク108に接続されてもよい、すなわち、当該一部のI/Oモジュール119は、制御APと情報APに共有のデバイスであってもよい。 One or more peripherals 120 are connected to one or more I/O modules 119 . Peripherals 120 are at least one device such as a sensor and a drive. The I/O module 119 functions as a bus slot into which the peripheral device 120 is detachably mounted as required. A device to be controlled is connected to the I/O module 119 either through the peripheral device 120 or not. Controlled devices and I/O modules 119 can be 1:1, 1:many, many:1 and many:many. Also, some I/O modules 119 may be connected to the information network 108 in addition to the control network 118, i.e., some I/O modules 119 may be devices shared by the control AP and the information AP. may be

分析サーバ101は、産業用コントローラ109の上位システムの一例である。分析サーバ101は、EPROM201、CPU202、メインメモリ203、周辺制御装置205、不揮発性記憶装置206及びネットワークインターフェース(図示のネットワークI/Fに相当)207を備える。分析サーバ101は、ネットワークインターフェース207を介して情報ネットワーク108に接続されている。 The analysis server 101 is an example of a host system of the industrial controller 109 . The analysis server 101 comprises an EPROM 201 , a CPU 202 , a main memory 203 , a peripheral control device 205 , a nonvolatile storage device 206 and a network interface (corresponding to the illustrated network I/F) 207 . Analysis server 101 is connected to information network 108 via network interface 207 .

産業用コントローラ109は、メモリ169(例えば、EPROM208及びメインメモリ210)、周辺制御装置212、I/O制御装置214、不揮発性記憶装置215、ネットワークインターフェース(図示のネットワークI/Fに相当)213、及び、それらに接続されたCPU209を備えている。I/O制御装置214及びネットワークI/F213が、インターフェース装置の一例である。CPU209がプロセッサの一例である。 The industrial controller 109 includes a memory 169 (e.g., EPROM 208 and main memory 210), a peripheral control device 212, an I/O control device 214, a non-volatile storage device 215, a network interface (corresponding to the illustrated network I/F) 213, and a CPU 209 connected thereto. The I/O control device 214 and network I/F 213 are examples of interface devices. The CPU 209 is an example of a processor.

周辺制御装置212は、ネットワークI/F213、I/O制御装置214、不揮発性記憶装置215及びバス211に接続されている。このバス211には、その他にもメモリ169及びCPU209が接続されている。 A peripheral controller 212 is connected to a network I/F 213 , an I/O controller 214 , a nonvolatile memory device 215 and a bus 211 . A memory 169 and a CPU 209 are also connected to the bus 211 .

EPROM208には、予め制御AP及び情報APの少なくとも一つが格納されていてもよいし、プログラム配布サーバ(図示せず)のようなプログラムソースからダウンロードされたプログラムが格納されてもよい。産業用コントローラ109に搭載される制御APと情報APはそれぞれひとつずつだけでなく、産業用コントローラ109が使用できるリソースをプログラムごとに設定することにより、複数の制御AP及び/又は複数の情報APを搭載することができる。 The EPROM 208 may store at least one of a control AP and an information AP in advance, or may store a program downloaded from a program source such as a program distribution server (not shown). Not only one control AP and one information AP installed in the industrial controller 109, but also a plurality of control APs and/or a plurality of information APs can be provided by setting resources that can be used by the industrial controller 109 for each program. can be installed.

CPU209は、EPROM208に格納されている制御AP及び情報APをメインメモリ210に読み出して実行し、これら制御AP及び情報APの動作を制御する。例えば、CPU209は、制御APを実行することで、周辺制御装置212、I/O制御装置214及び複数のI/Oモジュール119を介して複数の周辺機器120を制御する。周辺機器120は、I/Oモジュール119に1:1で対応付けられていてよい。 The CPU 209 reads the control AP and the information AP stored in the EPROM 208 into the main memory 210 and executes them to control the operation of these control AP and information AP. For example, the CPU 209 controls the plurality of peripheral devices 120 via the peripheral controller 212 , the I/O controller 214 and the plurality of I/O modules 119 by executing the control AP. Peripherals 120 may be mapped 1:1 to I/O modules 119 .

図2は、産業用コントローラ109のソフトウェア構成を示す。 FIG. 2 shows the software configuration of the industrial controller 109. As shown in FIG.

まず、産業用コントローラ109の概要は、以下の通りである。 First, the outline of the industrial controller 109 is as follows.

産業用コントローラ109において、上述したように、CPU209が、制御AP114及び情報AP115を実行するが、具体的には、CPU209が、OS(Operating System)286を実行し、当該OS286が、制御AP114及び情報AP115を実行する。メモリ169のメモリ領域の一例として、データ管理テーブル281がある。また、メモリ169には、データ管理テーブル281の他に、読込み頻度、例えば、読込み頻度が記述された頻度データ282も格納される。 In the industrial controller 109, the CPU 209 executes the control AP 114 and the information AP 115 as described above. Execute AP115. A data management table 281 is an example of the memory area of the memory 169 . In addition to the data management table 281, the memory 169 also stores frequency data 282 describing the frequency of reading, for example, the frequency of reading.

制御AP114は、制御処理を行う。制御処理は、制御対象装置の制御と、当該制御対象装置に関する測定データセット(制御対象装置に関するデータセットの一例)の取得と、当該測定データセットをデータ管理テーブル281に書き込むこととを含んだ処理である。測定データセットは、制御対象装置に関する一つ以上の測定項目(例えば、温度、電流)にそれぞれ対応した一つ以上の測定値(例えば、温度値、電流値)を含んだデータセットである。制御対象装置に関する一つ以上の測定値の各々は、I/Oモジュール119及びI/O制御装置214経由で取得される。取得される測定データセットに含まれる少なくとも一つの測定値は、典型的には、センサ等によって計測された値であるが、少なくとも一つの測定項目については、計測された値の時系列を基に推定された値でもよい。制御処理において、制御AP114は、当該データセットをデータ管理テーブル281のうち他のデータセットが格納された領域及び空き領域に書き込むことができるようになっている。例えば、制御処理において、データ管理テーブル281の空き容量が第一の容量未満の場合には(或いは、空き容量の多寡に関わらずに)、制御AP114は、取得された測定データセットを、データ管理テーブル281に既存のいずれかの測定データセット(例えば最も古い測定データセット)に上書きする。「データ管理テーブル281の空き容量が第一の容量未満」とは、例えば、空きのレコードの数が1未満(つまりゼロ)のことである。 The control AP 114 performs control processing. The control process includes controlling a controlled device, acquiring a measurement data set (an example of a data set related to the controlled device) related to the controlled device, and writing the measured data set to the data management table 281. is. A measurement data set is a data set that includes one or more measured values (eg, temperature value, current value) respectively corresponding to one or more measurement items (eg, temperature, current) related to the control target device. Each of the one or more measurements for the controlled device is obtained via I/O module 119 and I/O controller 214 . At least one measured value included in the acquired measurement data set is typically a value measured by a sensor or the like, but for at least one measurement item, based on the time series of the measured values It may be an estimated value. In the control process, the control AP 114 can write the data set in the area where other data sets are stored and the empty area in the data management table 281 . For example, in the control process, if the free space of the data management table 281 is less than the first capacity (or regardless of the amount of free space), the control AP 114 transfers the obtained measurement data set to the data management table 281. Any measurement data set existing in the table 281 (for example, the oldest measurement data set) is overwritten. “The free space of the data management table 281 is less than the first capacity” means, for example, that the number of free records is less than 1 (that is, zero).

情報AP115は、データセットをデータ管理テーブル281から読み込んで情報処理を行う。例えば、情報AP115は、頻度データ282が示す読込み頻度に従う範囲に属する測定データセットをデータ管理テーブル281から読み込み、制御対象装置の制御と異なる処理としての情報処理を行う。「制御対象装置の制御と異なる処理」としては、例えば、頻度データ282を登録又は更新することであってもよいし、その他の処理であってもよい。また、「読込み頻度に従う範囲に属する測定データセット」とは、例えば、読込み頻度が“p秒”の場合、p秒間隔に属する少なくとも一つの測定データセットである。具体的には、例えば、周期Cが0.5秒であり、読込み頻度が1秒の場合、或る読込みから次の読込みの間に二つの測定データセットがデータ管理テーブル281に書き込まれることになるが、「読込み頻度に従う範囲に属する測定データセット」は、その二つの測定データセットのうち最も先に取得され書き込まれた測定データセットでよい。また、本実施例では、情報処理は、読み込まれた測定データセットを分析サーバ101に送信することも含む。 The information AP 115 reads data sets from the data management table 281 and performs information processing. For example, the information AP 115 reads from the data management table 281 a measurement data set belonging to a range according to the reading frequency indicated by the frequency data 282, and performs information processing as processing different from control of the control target device. The “processing different from control of the controlled device” may be, for example, registering or updating the frequency data 282, or other processing. Also, "measured data set belonging to a range according to the read frequency" is, for example, when the read frequency is "p seconds", at least one measured data set belonging to an interval of p seconds. Specifically, for example, when the cycle C is 0.5 seconds and the reading frequency is 1 second, two measurement data sets are written to the data management table 281 between one reading and the next reading. However, the “measurement data set belonging to the range according to the read frequency” may be the measurement data set that was acquired and written first among the two measurement data sets. In this embodiment, the information processing also includes sending the loaded measurement data set to the analysis server 101 .

OS286の中に、情報AP115が処理するデータセットをその処理前にデータ管理テーブル281について管理する管理部294が存在する。管理部294は、例えば、カーネルである。なお、「管理部」は、OS286の外にあってもよい。 The OS 286 includes a management unit 294 that manages the data set processed by the information AP 115 with respect to the data management table 281 before processing. The management unit 294 is, for example, a kernel. Note that the “management section” may be outside the OS 286 .

OS286により、下記の制御が行われる。
・制御AP114は、所定の周期で実行される。なお、制御AP114の実行周期を、以下、「周期C」と言い、x番目(xは自然数)の周期Cを、「周期Cx」と言う。
・情報AP115は、各周期Cにおいて、制御AP114の実行終了後に実行された場合、次の周期までに情報処理が完了するか否かに関わらずに当該次の周期までに終了される。
・管理部294は、各周期Cにおいて、制御AP114の実行終了から情報AP115の実行開始までの間に実行される。
The following controls are performed by the OS 286 .
- The control AP 114 is executed at a predetermined cycle. The execution cycle of the control AP 114 is hereinafter referred to as "cycle C", and the x-th (x is a natural number) cycle C is referred to as "cycle Cx".
If the information AP 115 is executed in each cycle C after the execution of the control AP 114 ends, it will end by the next cycle regardless of whether the information processing will be completed by the next cycle.
The management unit 294 is executed in each cycle C from the end of execution of the control AP 114 to the start of execution of the information AP 115 .

各周期Cにおいて、管理部294は、管理処理を行う。管理処理は、情報AP115が処理するデータセットをその処理前にデータ管理テーブル281から無くならないよう管理する処理である。例えば、管理処理は、下記のうちの少なくとも一つを含んでよい。
・情報AP115が処理するデータセットを、その処理前にデータ管理テーブル281上に格納位置を変更すること(例えば、情報AP115の処理開始までに所定の領域に退避しておき情報AP115の処理開始直前までにデータ管理テーブル281に戻すこと)。
・制御AP114がデータ管理テーブル281の空き領域に優先的にデータセットを書き込むようになっていれば(データ管理テーブル281に空き領域が無い場合に限り上書きをするようになっていれば)、少なくともデータ管理テーブル281の空き容量が第二の容量未満の場合に、頻度データ282が示す読込み頻度に従う範囲に属する複数のデータセットのうち対象とされたデータセットを削除すること。なお、「データ管理テーブル281の空き容量が第二の容量未満」とは、例えば、空きのレコードの数が1未満(つまりゼロ)のことである。第二の容量は、第一の容量と同じでも異なっていてもよい。
In each cycle C, the management unit 294 performs management processing. The management process is a process of managing the data set processed by the information AP 115 so as not to disappear from the data management table 281 before the data set is processed. For example, management processing may include at least one of the following.
・Change the storage position of the data set processed by the information AP 115 on the data management table 281 before the processing (for example, save it to a predetermined area before the start of the processing of the information AP 115 and store it immediately before the start of processing of the information AP 115). be returned to the data management table 281 by ).
・If the control AP 114 preferentially writes data sets in the free space of the data management table 281 (overwrites only when there is no free space in the data management table 281), at least When the free space of the data management table 281 is less than the second capacity, deleting the target data set from among the plurality of data sets belonging to the reading frequency indicated by the frequency data 282 . Note that "the free space of the data management table 281 is less than the second capacity" means, for example, that the number of free records is less than one (that is, zero). The second volume may be the same as or different from the first volume.

このように、産業用コントローラ109では、例えば或る周期Cnにおいて、制御AP114の実行終了から情報AP115の実行開始までの間に管理処理を行う。これにより、情報AP115による読込みが次の周期C(n+1)へ遅延したとしても、当該次の周期C(n+1)において、未だ読み込まれていない測定データセットの読み込みの前に、制御AP114により当該測定データセットに新たな測定データセットが上書きされることは無い。このため、制御AP114と情報AP115の両方が実行される産業用コントローラ109のデータ管理テーブル281に情報AP115の情報処理において読込み対象の測定データセットが存在する可能性が高まる。 In this way, the industrial controller 109 performs management processing between the end of execution of the control AP 114 and the start of execution of the information AP 115, for example, in a certain cycle Cn. As a result, even if the reading by the information AP 115 is delayed to the next cycle C(n+1), in the next cycle C(n+1), the control AP 114 can read the measurement data set that has not yet been read. A dataset is never overwritten by a new measurement dataset. Therefore, there is a high possibility that the data management table 281 of the industrial controller 109 in which both the control AP 114 and the information AP 115 are executed contains the measurement data set to be read in the information processing of the information AP 115 .

以下、産業用コントローラ109の詳細を説明する。なお、以下の説明では、説明の簡単化のために、一つの制御AP114と一つの情報AP115を例に取る。一つの制御AP114につき、複数の情報AP115が存在してもよいし、一つの情報AP115につき、複数の制御AP114が存在してもよい。また、産業用コントローラ109は、例えば、SDC(Software-Defined Controller)である。SDCは、制御対象装置の「制御」に影響を与えずに上位システム(本実施例では分析サーバ101)に応じて機能(ここでは情報AP115)を柔軟に追加、変更又は削除できるコントローラである。また、管理処理は、データ管理テーブル281からデータセットを削除することで空き容量を増やすことを含む必要は無いが、制御AP114がデータ管理テーブル281の空き領域に優先的にデータセットを書き込むようになっていれば、データ管理テーブル281からデータセットを削除することを管理処理が含むことは有効である。 Details of the industrial controller 109 will be described below. In the following description, one control AP 114 and one information AP 115 are taken as an example for simplification of description. A plurality of information APs 115 may exist for one control AP 114 , and a plurality of control APs 114 may exist for one information AP 115 . Also, the industrial controller 109 is, for example, an SDC (Software-Defined Controller). The SDC is a controller that can flexibly add, change, or delete functions (here, the information AP 115) according to the host system (the analysis server 101 in this embodiment) without affecting the "control" of the controlled device. Also, the management process does not need to include increasing the free space by deleting data sets from the data management table 281, but the control AP 114 preferentially writes data sets in the free space of the data management table 281. If so, it is useful for the management process to include deleting the data set from the data management table 281 .

産業用コントローラ109のCPU209は、OS286を実行する。OS286上で、制御AP実行部111及び情報AP実行部112が動作する。制御AP実行部111は、例えばランタイムライブラリであり、制御AP114からの呼び出しに応じて制御AP114とともに動作する。情報AP実行部112は、例えばいわゆるライブラリであり、情報AP115からの呼び出しに応じて情報AP115とともに動作する。 CPU 209 of industrial controller 109 executes OS 286 . A control AP execution unit 111 and an information AP execution unit 112 operate on the OS 286 . The control AP execution unit 111 is, for example, a runtime library, and operates together with the control AP 114 in response to calls from the control AP 114 . Information AP execution unit 112 is, for example, a so-called library, and operates together with information AP 115 in response to a call from information AP 115 .

産業用コントローラ109では、制御AP114の優先度が情報AP115の優先度よりも高い。すなわち、制御AP114の実行が、情報AP115の実行よりも優先される。なぜなら、産業用コントローラ109の役割は、制御対象装置を遅延無く制御することにあるから(つまり、リアルタイム性の維持が重要であるから)である。 In the industrial controller 109, the priority of the control AP 114 is higher than the priority of the information AP 115. That is, execution of the control AP 114 has priority over execution of the information AP 115 . This is because the role of the industrial controller 109 is to control the device to be controlled without delay (that is, it is important to maintain the real-time property).

OS286が、一つ以上のAPI(Application Programming Interface)、管理部294及びスケジューラ295を含む。一つ以上のAPIのうちの少なくとも一つは、OS286の外に存在してもよい。 OS 286 includes one or more APIs (Application Programming Interfaces), manager 294 and scheduler 295 . At least one of the one or more APIs may exist outside of OS 286 .

一つ以上のAPIは、例えば、共有API289及び頻度API293を含む。共有API289は、メモリインターフェースの一例であり、制御AP114及び情報AP115の共有メモリ領域(本実施例では、データ管理テーブル281が存在するメモリ領域)に対するI/OのためのAPIである。本実施例では、共有API289は、書込みの際に使用される書込みAPI291と、読込みの際に使用される読込みAPI292とで構成される。書込みAPI291は、全ての制御AP114に共通でよく、読込みAPI292は、全ての情報AP115に共通でよい。頻度API293は、頻度データ282の登録又は更新や読込みの際に使用される。また、いずれのAPIも、制御AP114及び情報AP115のうちの少なくとも一つのためのAPIでよいが、管理部294により使用されてもよい。また、管理部294からメモリ169へのアクセスは、共有API289及び頻度API293経由とは違う経路でよい。 One or more APIs include, for example, shared API 289 and frequency API 293 . The shared API 289 is an example of a memory interface, and is an API for I/O to the shared memory area of the control AP 114 and the information AP 115 (in this embodiment, the memory area where the data management table 281 exists). In this embodiment, the shared API 289 consists of a write API 291 used for writing and a read API 292 used for reading. A write API 291 may be common to all control APs 114 and a read API 292 may be common to all information APs 115 . The frequency API 293 is used when registering, updating, or reading the frequency data 282 . Also, any API may be an API for at least one of the control AP 114 and the information AP 115 and may be used by the management section 294 . Also, the access from the management unit 294 to the memory 169 may be through a route other than the shared API 289 and the frequency API 293 .

管理部294は、上述した管理処理を行うカーネルである。つまり、管理部294は、OS286のカーネルとして実装される。 The management unit 294 is a kernel that performs the management processing described above. That is, the management unit 294 is implemented as a kernel of the OS286.

スケジューラ295は、制御AP114、情報AP115及び管理部294の実行を制御する。また、スケジューラ295は、APIの実行も制御する。 A scheduler 295 controls execution of the control AP 114 , the information AP 115 and the manager 294 . Scheduler 295 also controls the execution of APIs.

メモリ169は、上述したように、データ管理テーブル281及び頻度データ282を格納する。 The memory 169 stores the data management table 281 and frequency data 282 as described above.

分析サーバ101は、測定データベース(図示の測定DBに相当)104、DB処理部102及び分析部103を備える。 The analysis server 101 includes a measurement database (corresponding to the illustrated measurement DB) 104 , a DB processing section 102 and an analysis section 103 .

測定DB104は、測定データセットを格納するデータベースである。 The measurement DB 104 is a database that stores measurement data sets.

DB処理部102は、情報AP115から測定データセットを受信し、当該測定データセットを測定DB104に格納する。 The DB processing unit 102 receives the measurement data set from the information AP 115 and stores the measurement data set in the measurement DB 104 .

分析部103は、測定DB104から分析対象範囲に属する測定データセットを読み込み、当該測定データセットを用いた分析を行う。 The analysis unit 103 reads a measurement data set belonging to the analysis target range from the measurement DB 104 and performs analysis using the measurement data set.

図3は、データ管理テーブル281の構成を示す。 FIG. 3 shows the structure of the data management table 281. As shown in FIG.

データ管理テーブル281が有する各レコードに、一つの測定データセットが格納される。各レコードが、取得ID、及び、一つ以上の測定項目にそれぞれ対応した一つ以上の測定値を格納する。 Each record of the data management table 281 stores one measurement data set. Each record stores an acquisition ID and one or more measured values respectively corresponding to one or more measurement items.

取得IDは、周期と測定時刻とのうちの少なくとも一つに従うIDである。例えば、取得IDは、周期ID(例えば、Cx)と、測定時刻との組み合わせでもよい。取得IDを参照することで、或る情報処理において、いずれの測定データセットが、読込み頻度の範囲に従う測定データセットであるかを特定することができる。 Acquisition ID is an ID according to at least one of period and measurement time. For example, an acquisition ID may be a combination of a period ID (eg, Cx) and a measurement time. By referring to the acquisition ID, in certain information processing, it is possible to specify which measurement data set is the measurement data set according to the reading frequency range.

各レコードにおいて、一つ以上の測定値の各々が、測定データセットの構成要素である。 In each record, each of the one or more measurements is a member of the measurement data set.

図4は、頻度データ282の構成を示す。 FIG. 4 shows the configuration of the frequency data 282. As shown in FIG.

頻度データ282は、読込み頻度を示す。なお、本実施例では、頻度データ282は、全ての情報AP115について共通であるが、情報AP115毎に異なる頻度データ282が用意されてもよいし、測定項目毎に用意されてもよい。 Frequency data 282 indicates the read frequency. In this embodiment, the frequency data 282 is common to all information APs 115, but different frequency data 282 may be prepared for each information AP 115, or may be prepared for each measurement item.

図5は、制御AP114の処理の流れを示す。S501~S503が、制御処理に含まれる処理である。S501~S503のうちの少なくともS501が、後述のスキャン動作に該当する処理である。 FIG. 5 shows the flow of processing of the control AP 114 . S501 to S503 are processes included in the control process. At least S501 out of S501 to S503 is processing corresponding to a scanning operation, which will be described later.

制御AP114は、スケジューラ295により起動されると、制御対象装置を制御する(S501)。制御AP114は、制御対象装置に関する測定データセットを取得す(S502)。制御AP114は、書込みAPI291を呼び出し(S503)、それにより、取得した測定データセットをデータ管理テーブル281に書込む。 The control AP 114, when activated by the scheduler 295, controls the controlled device (S501). The control AP 114 acquires a measurement data set related to the controlled device (S502). The control AP 114 calls the write API 291 (S 503 ), thereby writing the acquired measurement data set to the data management table 281 .

制御AP114は、S503を終えると、次の周期の開始まで(スケジューラ295により次に起動されるまで)停止する(S504)。 After completing S503, the control AP 114 stops until the start of the next period (until the scheduler 295 next activates) (S504).

図6は、情報AP115の処理の流れを示す。 FIG. 6 shows the processing flow of the information AP 115 .

情報AP115は、スケジューラ295により起動されると、制御対象装置の制御と異なる所定の処理を行う。本実施例では、当該処理として、情報AP115は、頻度API293を呼び出し(S601)、それにより、頻度データ282を登録又は更新する。なお、S601では、頻度API293の呼出しに代えて又は加えて、別の処理が行われてよい。 When activated by the scheduler 295, the information AP 115 performs predetermined processing different from control of the controlled device. In this embodiment, as the processing, the information AP 115 calls the frequency API 293 (S601), thereby registering or updating the frequency data 282. FIG. Note that in S601, another process may be performed instead of or in addition to calling the frequency API 293. FIG.

情報AP115は、読込みAPI292を呼び出し(S602)、それにより、S601において登録又は更新された頻度データ282が示す読込み頻度に従う範囲に属する測定データセット(つまり、読込み対象の測定データセット)をデータ管理テーブル281から読み込む。測定データセットの読込みは、今回の情報処理の開始時刻と、データ管理テーブル281における取得IDとを基に行われる。S602では、読込み対象の測定データセットは、例えば、読込み頻度(例えばp秒)と周期C(例えばq秒(典型的にはq≦p))との関係に従う測定データセット(例えば、p秒間に取得された一つ以上の測定データセットのうちの最新の測定データセット)である。 The information AP 115 calls the read API 292 (S602), whereby the measured data set belonging to the range according to the read frequency indicated by the frequency data 282 registered or updated in S601 (that is, the measured data set to be read) is added to the data management table. Read from 281. Reading of the measurement data set is performed based on the start time of the current information processing and the acquisition ID in the data management table 281 . In S602, the measurement data set to be read is, for example, a measurement data set that follows the relationship between the reading frequency (for example, p seconds) and the period C (for example, q seconds (typically q≤p)) (for example, for p seconds). the most recent of the one or more acquired measurement data sets).

情報AP115は、S602で読み込まれた測定データセットを分析サーバ101へ送信する。 The information AP 115 transmits the measurement data set read in S602 to the analysis server 101 .

情報AP115は、S603を終えると、スケジューラ295により次に起動されるまで停止する(S604)。 After completing S603, the information AP 115 stops until it is next activated by the scheduler 295 (S604).

S602では、今回の情報処理での読込み対象の測定データセットに加えて、当該測定データセット以外の測定データセットのうちの過去の未読込みの測定データセット(例えば、前回の情報処理での読込み対象の測定データセット)が読み込まれていなかった場合には、今回の情報処理での読込み対象の測定データセットに加えて当該過去の未読込みの測定データセットも読み込まれてよい。この場合、S603では、読み込まれた全ての測定データセットが分析サーバ101へ送信される。 In S602, in addition to the measurement data set to be read in the current information processing, past unread measurement data sets among the measurement data sets other than the current information processing (for example, the read target in the previous information processing). ) has not been read, the past unread measurement data set may be read in addition to the measurement data set to be read in the current information processing. In this case, all read measurement data sets are sent to the analysis server 101 in S603.

また、S602では、読込みAPI292により読み込まれた測定データセットは、情報AP115又は読込みAPI292により、新たな測定データセットが書き込まれてよい状態とされてよい(例えば、無効化、又は、データ管理テーブル281から削除されてよい)。 In addition, in S602, the measurement data set read by the read API 292 may be brought into a state in which a new measurement data set may be written by the information AP 115 or the read API 292 (for example, invalidation or may be deleted from).

また、例えば、複数の情報AP115が存在する場合、各情報AP115について、当該情報AP115により読み込まれるデータセットは、測定データセットのうちの一部、つまり、所定の測定項目に対応した測定値でよい。複数の情報AP115の各々が情報処理を行うことで測定データセットにおける全ての測定値が読み込まれてもよい。なお、この場合、測定データセットは、複数のデータセットの集合でよく、個々のデータセットは、一つ(又は複数)の測定値でよい。 Further, for example, when a plurality of information APs 115 exist, the data set read by the information AP 115 for each information AP 115 may be a part of the measurement data set, that is, the measured value corresponding to the predetermined measurement item. . All the measured values in the measurement data set may be read by each of the plurality of information APs 115 performing information processing. In this case, the measurement data set may be a collection of multiple data sets, and each data set may be one (or more) measurement values.

図7は、スケジューラ295の処理の流れを示す。 FIG. 7 shows the processing flow of the scheduler 295 .

スケジューラ295は、周期Cの開始であれば(S701:Yes)、制御AP114を実行(起動)する(S702)。 If the cycle C has started (S701: Yes), the scheduler 295 executes (activates) the control AP 114 (S702).

スケジューラ295は、制御AP114が終了したら(S703:Yes)、管理部294を実行(起動)する(S704)。 When the control AP 114 ends (S703: Yes), the scheduler 295 executes (activates) the management unit 294 (S704).

スケジューラ295は、管理部294が終了し(S705:Yes)、頻度データ282が示す読込み頻度に従うタイミングの場合(S706:Yes)、情報AP115を実行(起動)する(S707)。スケジューラ295は、情報AP115実行中もある間隔で周期Cかどうかを判定し、周期Cの場合は一旦情報AP115の処理を停止してから制御APを実行する(S702)。停止した情報AP115は、管理部294の実行(S705)後に処理を再開する。 The scheduler 295 executes (activates) the information AP 115 when the management unit 294 is terminated (S705: Yes) and the timing corresponds to the reading frequency indicated by the frequency data 282 (S706: Yes) (S707). The scheduler 295 determines whether or not it is the cycle C at certain intervals even during the execution of the information AP 115, and if it is the cycle C, once stops the processing of the information AP 115 and then executes the control AP (S702). The stopped information AP 115 resumes processing after execution of the management unit 294 (S705).

情報AP115が終了したら(S703:Yes)、処理が、S701に戻る。周期Cの開始でなく(S701:No)、且つ、実行対象の別の情報AP115があれば(S706:Yes)、スケジューラ295は、当該別の情報AP115を実行する(S707)。 When the information AP 115 ends (S703: Yes), the process returns to S701. If it is not the start of cycle C (S701: No) and there is another information AP 115 to be executed (S706: Yes), the scheduler 295 executes the other information AP 115 (S707).

なお、情報AP115が終了していないが(S708:No)、周期Cの開始であれば(S709:Yes)、スケジューラ295は、当該情報AP115を停止して制御AP114を実行する(S702)。 If the information AP 115 has not ended (S708: No) but cycle C has started (S709: Yes), the scheduler 295 stops the information AP 115 and executes the control AP 114 (S702).

図8は、管理部294の処理の流れを示す。S801及びS802が、管理処理に含まれる処理である。 FIG. 8 shows the processing flow of the management unit 294 . S801 and S802 are processes included in the management process.

管理部294は、スケジューラ295により起動されると、データ管理テーブル281に空きがあるか否かを判断する(S801)。S801の判断の結果が真の場合(S801:Yes)、管理部294は、選別処理又は加工処理を行う(S802)。結果として、データ管理テーブル281に、次の周期Cで新たな測定データセットが書き込まれることが可能な空きが生じる。言い換えれば、次の周期Cで新たな測定データセットの上書きが生じることを回避することができる。なお、管理部294は、制御AP114が固定メモリ領域に書き込んだデータセットを他のメモリ領域へコピーしてもよい。 When activated by the scheduler 295, the management unit 294 determines whether there is space in the data management table 281 (S801). If the result of determination in S801 is true (S801: Yes), the management unit 294 performs sorting processing or processing processing (S802). As a result, there is space in the data management table 281 in which a new measurement data set can be written in the next cycle C. FIG. In other words, overwriting of new measurement data sets in the next cycle C can be avoided. Note that the management unit 294 may copy the data set written in the fixed memory area by the control AP 114 to another memory area.

本実施例では、管理部294及び情報AP115は、周期的実行され、管理部294は、情報AP115よりも実行頻度が高い。 In this embodiment, the management unit 294 and the information AP 115 are periodically executed, and the management unit 294 is executed more frequently than the information AP 115 .

また、本実施例では、管理部294、制御AP114及び情報AP115は、同時に実行される場合の優先度が定められており、管理部294及び制御AP114は、情報AP115よりも優先度が高い。 In this embodiment, the management unit 294, the control AP 114, and the information AP 115 are prioritized when they are executed at the same time, and the management unit 294 and the control AP 114 have higher priority than the information AP 115. FIG.

図9は、選別処理の一例を模式的に示す。 FIG. 9 schematically shows an example of sorting processing.

例えば周期Cnにおいて、選別処理は、読込み頻度に従う範囲に属する複数の測定データセットから測定データセットを選別する処理(例えば、選別した測定データセットについて、制御AP114による上書きの禁止を意味するフラグを立てる処理)である。なお、選別処理は、当該複数の測定データセットのうち当該選別された測定データセット以外の測定データセットをデータ管理テーブル281から削除することを含んでもよい(例えば、制御AP114がデータ管理テーブル281の空き領域に優先的にデータセットを書き込むようになっている場合)。 For example, in cycle Cn, the selection process is a process of selecting a measurement data set from a plurality of measurement data sets belonging to a range according to the reading frequency (for example, for the selected measurement data set, a flag indicating prohibition of overwriting by the control AP 114 is set. processing). Note that the selection process may include deleting from the data management table 281 measurement data sets other than the selected measurement data set among the plurality of measurement data sets (for example, the control AP 114 may If the data set is preferentially written to free space).

図9を参照して、一具体例を説明する。 A specific example will be described with reference to FIG.

読込み頻度は周期Cの2倍であるとする。この場合、或る読込みが終了し次の読込みが行われるまでの間に、二つの周期が存在し、故に、二つの測定データセットが書き込まれることになる。 Assume that the read frequency is twice the cycle C. In this case, there will be two cycles between the end of one reading and the next reading, and thus two measurement data sets will be written.

周期C1で測定データセットが書き込まれ、次の周期C2で測定データセットが書き込まれたとする。この場合、読込み対象となる最新の測定データセットは、周期C2で書き込まれた測定データセットである。しかし、情報処理の遅延(又は他の理由)により、周期C2で書き込まれた測定データセットの読込みは失敗であったとする。周期C2での制御処理によって、データ管理テーブル281に空きが無くなったとする。 Assume that the measurement data set is written in cycle C1 and the measurement data set is written in the next cycle C2. In this case, the latest measurement data set to be read is the measurement data set written in cycle C2. However, due to a delay in information processing (or some other reason), reading of the measurement data set written in cycle C2 fails. Assume that the data management table 281 has no free space due to the control processing in cycle C2.

一比較例では、このまま周期C3及びC4に入ることになる。この場合、周期C3では、周期C1で書き込まれた測定データセットに新たな測定データセットが上書きされることになるが、周期C1で書き込まれた測定データセットは読込み対象とならないため差し支えない。しかし、周期C4では、周期C2で書き込まれた測定データセットに新たな測定データセットが上書きされることになるため、読込み対象が無くなることになる。故に、本実施例では、分析サーバ101へ送付されるべき測定データセットが無くなることとなり、結果として、分析に使用する測定データセットが減ることとなる。 In a comparative example, the cycles C3 and C4 are entered as they are. In this case, in cycle C3, the measurement data set written in cycle C1 is overwritten with a new measurement data set, but there is no problem since the measurement data set written in cycle C1 is not read. However, in cycle C4, the measurement data set written in cycle C2 is overwritten with a new measurement data set, so there is no object to be read. Therefore, in this embodiment, there are no measurement data sets to be sent to the analysis server 101, and as a result, the number of measurement data sets used for analysis is reduced.

一方、本実施例では、各周期Cにおいて、制御AP114が終了すると管理処理が走る。周期C2での管理処理における選別処理では、周期C2で書き込まれた測定データセットが選別される(更に、周期C1で書き込まれた測定データセットが削除されてもよい)。周期C3での管理処理における選別処理では、周期C2で書き込まれた測定データセットが選別される(更に、周期C3で書き込まれた測定データセットが削除されてもよい)。故に、周期C4では、周期C2で書き込まれた測定データセットに新たな測定データセットが上書きされることが無い。 On the other hand, in this embodiment, in each period C, when the control AP 114 ends, the management process runs. In the sorting process in the management process in cycle C2, the measurement data set written in cycle C2 is sorted out (furthermore, the measurement data set written in cycle C1 may be deleted). In the sorting process in the management process in cycle C3, the measurement data set written in cycle C2 is sorted out (furthermore, the measurement data set written in cycle C3 may be deleted). Therefore, in cycle C4, the measurement data set written in cycle C2 is not overwritten with a new measurement data set.

このように、管理処理は、情報AP115の読込み頻度に従う範囲に属する複数のデータセットからデータセットを選別する処理である選別処理を含み、選別されたデータセットは、情報AP115が読み込みこむまでに制御AP114に上書きされないように管理部294により管理される。これにより、情報AP115による読込みが遅延して読込み対象の測定データセットが読み込まれずにデータ管理テーブル281に増えても、当該未読込みの読込み対象の測定データセットが上書きされる可能性を低減することができる。 In this way, the management process includes a selection process that selects a data set from a plurality of data sets belonging to a range according to the reading frequency of the information AP 115, and the selected data set is controlled until the information AP 115 reads it. It is managed by the management unit 294 so that the AP 114 is not overwritten. As a result, even if the reading by the information AP 115 is delayed and the measurement data set to be read is not read and increases in the data management table 281, the possibility that the unread measurement data set to be read is overwritten can be reduced. can be done.

図10は、加工処理の一例を模式的に示す。 FIG. 10 schematically shows an example of processing.

加工処理は、読込み頻度に従う範囲に属する複数のデータセットのうちの二つ以上のデータセットを加工し、当該加工後のデータセットをデータ管理テーブル281に書き込む処理である。加工処理は、当該二つ以上のデータセットをデータ管理テーブル281から削除することを含んでもよい(例えば、制御AP114がデータ管理テーブル281の空き領域に優先的にデータセットを書き込むようになっている場合)。 The processing process is a process of processing two or more data sets among a plurality of data sets belonging to a range according to the reading frequency and writing the processed data sets into the data management table 281 . The processing may include deleting the two or more data sets from the data management table 281 (for example, the control AP 114 preferentially writes the data sets in the free space of the data management table 281). case).

図10を参照して、一具体例を説明する。なお、ここでは、説明の簡単化のために、一つの測定項目(測定項目A)に着目するものとする。また、図10において、測定項目Aに対応したブロック内の数値は、測定項目Aに対応した測定値であるとする。 A specific example will be described with reference to FIG. Here, for the sake of simplification of explanation, attention is paid to one measurement item (measurement item A). Also, in FIG. 10, it is assumed that the numerical values in the block corresponding to the measurement item A are the measured values corresponding to the measurement item A. In FIG.

読込み頻度に従う範囲に、六つの測定値(六つの測定データセット)が存在するとする。この場合、管理部294は、読込み頻度に従う範囲に属する六つの測定値の平均の算出(加工の一例)を行い、当該算出された平均値をデータ管理テーブル281に書き込む。この例によれば、六つの測定データセットに従う一つの加工後の測定データセットがデータ管理テーブル281に書き込まれる。当該加工後の測定データセットが、読込み頻度に従う範囲に属する読込み対象としての測定データセットである。なお、上述したように、加工の基になった六つの測定データセットはデータ管理テーブル281から削除されてもよい。 Suppose there are 6 measurements (6 measurement data sets) in the range according to the reading frequency. In this case, the management unit 294 calculates the average of the six measured values belonging to the range according to the read frequency (an example of processing), and writes the calculated average value to the data management table 281 . According to this example, one post-processing measurement data set according to six measurement data sets is written to the data management table 281 . The processed measurement data set is the measurement data set to be read belonging to the range according to the reading frequency. Incidentally, as described above, the six measurement data sets that have been processed may be deleted from the data management table 281 .

このようにして、情報処理が遅延して読込み対象の測定データセットが読み込まれずにデータ管理テーブル281に増えても、当該未読込みの読込み対象の測定データセットが上書きされる可能性を低減することができる。 In this way, even if the measurement data set to be read is not read due to a delay in information processing and is added to the data management table 281, the possibility that the unread measurement data set to be read is overwritten can be reduced. can be done.

なお、加工は、平均値の算出に限らない。また、加工の基になる測定データセットは、読込み頻度に従う範囲に属する全ての測定データセットでもよいし一部の測定データセットでもよい。また、全ての測定項目について、同一の加工が行われてもよいし、異なる加工が行われてもよい。後者の一例は、例えば以下の通りでよい。
・測定項目Aについては、六つの測定値の平均値が算出されてもよい。
・測定項目Bについては、六つの測定値のうちの最大値が選別されそれ以外の測定は削除されてもよい。
・測定項目Cについては、六つの測定値のうちの最小値が選別されそれ以外の測定は削除されてもよい。
・加工後の測定データセットは、測定項目Aについては算出された平均値を含み、測定項目Bについては選別された最大値を含み、測定項目Cについては選別された最小値を含んだデータセットでよい。
Note that the processing is not limited to the calculation of the average value. Further, the measurement data sets that are the basis of processing may be all measurement data sets belonging to the range according to the reading frequency, or may be a part of the measurement data sets. Further, the same processing may be performed for all measurement items, or different processing may be performed. An example of the latter may be, for example, the following.
- For measurement item A, an average value of six measurement values may be calculated.
- For measurement item B, the maximum value of the six measurements may be selected and the other measurements may be deleted.
- For measurement item C, the minimum value of the six measurements may be selected and the other measurements may be deleted.
・The measurement data set after processing includes the calculated average value for measurement item A, the selected maximum value for measurement item B, and the selected minimum value for measurement item C. OK.

本実施例では、更に、図11~図14を参照して説明する処理のうちの少なくとも一つの処理が行われてもよい。 Further, in this embodiment, at least one of the processes described with reference to FIGS. 11 to 14 may be performed.

図11は、ウィンドウに属するデータセットのチェックを模式的に示す。 FIG. 11 shows schematically the checking of datasets belonging to a window.

例えば、単位時間範囲であるウィンドウが指定される。ウィンドウの指定の受け付ける指定受付部が産業用コントローラ109に備えられてよい。指定受付部は、管理部294に含まれていてもよいし、ウィンドウの指定の受付けのために用意されたインターフェース(例えばAPI)でもよい。ウィンドウは、ユーザ(例えば、情報AP115のユーザ)から指定されてもよい。ウィンドウは、全ての情報AP115に共通でもよいし、情報AP115毎に異なっていてもよいし、測定項目毎に異なっていてもよい。ウィンドウのサイズは、読込み頻度と同じでもよいし異なっていてもよい。ウィンドウのサイズは、例えば、読込み頻度と同じかそれもよりも小さい。 For example, a window that is a unit time range is specified. The industrial controller 109 may be provided with a designation reception unit that receives the designation of the window. The designation receiving unit may be included in the management unit 294, or may be an interface (for example, API) prepared for receiving designation of windows. The window may be specified by a user (eg, a user of Information AP 115). The window may be common to all information APs 115, may be different for each information AP 115, or may be different for each measurement item. The window size may be the same as or different from the loading frequency. The window size is, for example, the same or smaller than the read frequency.

管理処理は、読込み頻度に従う範囲のうちのウィンドウに属する測定データセットが所定の異常条件を満たしているか否かをチェックすることを含んでよい。チェック結果が真の場合、管理処理は、当該管理処理後の情報処理において測定データセットと共に読み込まれる情報として、異常フラグON(異常を示す異常情報の一例)を設定することを含んでよい。結果として、情報処理では、読込み対象の測定データセットと共に異常フラグONが情報AP115に送られる。異常フラグONは、測定データセットと共に、分析サーバ101へ送られてもよい。 The management process may include checking whether the measurement data set belonging to the window of the range according to the reading frequency satisfies a predetermined anomaly condition. If the check result is true, the management process may include setting an abnormality flag ON (an example of abnormality information indicating an abnormality) as information read together with the measurement data set in information processing after the management process. As a result, in the information processing, an abnormality flag ON is sent to the information AP 115 together with the measurement data set to be read. The anomaly flag ON may be sent to the analysis server 101 together with the measurement data set.

これにより、周期Cの割に読込み頻度が低いが故に読込み対象とならない測定データセットが読込み対象となる測定データセットより多くても、情報AP115及び上位システム(本実施例では分析サーバ101)の少なくとも一つに、制御対象装置に関する状況を知らしめることができる。 As a result, even if the number of measurement data sets that are not to be read because the reading frequency is low relative to the cycle C is larger than the number of measurement data sets that are to be read, at least the information AP 115 and the host system (analysis server 101 in this embodiment) For one thing, it is possible to inform the situation about the device to be controlled.

図12は、読込み不可通知の一例を模式的に示す。 FIG. 12 schematically shows an example of a read impossibility notification.

データ管理テーブル281内の未読込みの読込み対象のデータセットに新たなデータセットが制御AP114により上書きされた場合に当該読込み対象のデータセットの読み込みが不可であることを示す情報である読込み不可情報を出力する出力部が産業用コントローラ109に備えられてよい。これにより、もし読込み対象の測定データセットが上書きされた場合にはそのことを知らしめることができる。なお、当該出力部は、管理部294に含まれていてもよいし、共有API289に含まれていてもよい。また、読込み不可情報は、情報AP115及び上位システム(本実施例では分析サーバ101)の少なくとも一つに出力されてもよいし、図示しないユーザ端末(例えば管理者の情報処理端末)に表示されてもよい。また、出力部は、ユーザ(例えば管理者)からの問合せ(読込み不可となった測定データセットが存在するか否かの問合せ)に応答して、読込み不可情報があれば当該情報を返してもよい。 When a new data set is overwritten by the control AP 114 on an unread data set to be read in the data management table 281, read-impossible information indicating that the data set to be read cannot be read. An output may be provided in the industrial controller 109 to output. This makes it possible to indicate if the measurement data set to be read has been overwritten. Note that the output unit may be included in the management unit 294 or may be included in the shared API 289 . In addition, the unreadable information may be output to at least one of the information AP 115 and the host system (the analysis server 101 in this embodiment), or may be displayed on a user terminal (not shown) (for example, an administrator's information processing terminal). good too. In addition, the output unit may respond to an inquiry from a user (for example, an administrator) (inquiry as to whether or not there is a measurement data set that has become unreadable) and return unreadable information if any. good.

図12を参照して、一具体例を説明する。 A specific example will be described with reference to FIG.

或る周期C5での制御処理においていずれかの未読込みの読込み対象の測定データセット(例えば、周期C2及び周期C4の各々において書き込まれた測定データセット)に新たな測定データセットを上書きしなければならない場合(例えば、データ管理テーブル281に存在する全ての測定データセットが未読込みの読込み対象の測定データセットであるといったことが生じた場合)、データ管理テーブル281内のいずれかの未読込みの読込み対象の測定データセット(例えば、周期C2で書き込まれた測定データセット)に新たなデータセットが周期C5において制御AP114により上書きされることになる。この場合、当該読込み対象の測定データセットの読み込みが不可であることを示す情報である読込み不可情報が出力される。 In the control process in a certain cycle C5, any unread measurement data set to be read (for example, the measurement data set written in each of the cycles C2 and C4) must be overwritten with a new measurement data set. If not (for example, if all the measurement data sets existing in the data management table 281 are unread measurement data sets to be read), any unread reading in the data management table 281 The target measurement data set (eg, the measurement data set written in period C2) will be overwritten by the control AP 114 in period C5 with a new data set. In this case, read-impossible information, which is information indicating that the read target measurement data set cannot be read, is output.

なお、読込み不可情報が、情報AP115による読み込みに対する応答に付随して当該情報AP115に出力されてよい(また、当該読込み不可情報は、情報AP115から分析サーバ101へ送られてよい)。具体的には、例えば、読込み不可情報は、新たな測定データセットが上書きされた読込み対象の測定データセットに対応した取得IDと共にメモリ169に格納されてよい。情報AP115による読み込みがあり、当該読み込みでの読込み対象が、当該取得IDに対応した測定データセットの場合、読込み不可情報が、情報AP115による読み込みに対する応答に付随して出力される。このように、読込み不可情報を別途出力する必要が無く、読み込みに対する応答として出力することができる。 Note that read-disabled information may be output to the information AP 115 along with a response to reading by the information AP 115 (and the read-disabled information may be sent from the information AP 115 to the analysis server 101). Specifically, for example, the unreadable information may be stored in the memory 169 together with the acquisition ID corresponding to the measurement data set to be read overwritten with the new measurement data set. When there is reading by the information AP 115 and the target to be read in the reading is the measurement data set corresponding to the acquisition ID, the unreadable information is output along with the response to the reading by the information AP 115 . In this way, there is no need to separately output the unreadable information, and it can be output as a response to the reading.

図13は、頻度調整を模式的に示す。 FIG. 13 schematically shows frequency adjustment.

データ管理テーブル281の空き容量を基に読込み頻度を変更することである頻度調整を行う頻度調整部が産業用コントローラ109に備えられてよい。これにより、データ管理テーブル281の空き容量、周期C及び読込み頻度の関係を適切に維持し、以って、未読込みの読込み対象の測定データセットが上書きされる可能性を低減できる。なお、頻度調整部は、管理部294に含まれていてもよいし、頻度API293に含まれてもよい。また、頻度調整部による頻度調整を行うか否かの設定をユーザ(例えば管理者)から受け付けるインターフェースが産業用コントローラ109に備えられてもよい。また、頻度調整は、図13に例示するように、図8のS801:Noの後又はS802の後に、管理部294により行われてもよい。 The industrial controller 109 may be provided with a frequency adjusting unit that adjusts the frequency by changing the reading frequency based on the free space in the data management table 281 . As a result, the relationship between the free space of the data management table 281, the period C, and the reading frequency can be appropriately maintained, thereby reducing the possibility of overwriting an unread measurement data set to be read. Note that the frequency adjustment unit may be included in the management unit 294 or may be included in the frequency API 293 . Further, the industrial controller 109 may be provided with an interface that accepts from a user (for example, an administrator) a setting as to whether or not to perform frequency adjustment by the frequency adjustment unit. Further, frequency adjustment may be performed by the management unit 294 after S801: No in FIG. 8 or after S802, as illustrated in FIG.

頻度調整については、下記のうちの少なくとも一つが適用されてよい。
・頻度調整は、データ管理テーブル281の空き容量の時系列から、データ管理テーブル281の空き容量が第一の容量未満になる時刻(例えば、データ管理テーブル281に空きが無くなる時刻)である枯渇時刻を推定し、当該枯渇時刻よりも前に、読込み頻度を低くすること、を含んでよい。読込み頻度が低くなることで、読込みを含んだ情報処理が単位時間当たりに発生する頻度が低くなるので、未読込みの読込み対象の測定データセットが増える速度が低減し、以って、未読込みの読込み対象の測定データセットが上書きされる可能性を低減できる。なお、データ管理テーブル281の空き容量の時系列は、例えば、管理部294によりメモリ169に蓄積されてよい。
・頻度調整は、データ管理テーブル281の空き容量が第三の容量以上の場合に、読込み頻度を高くすること、を含んでよい。データ管理テーブル281の空き容量が第三の容量以上であれば、未読込みの読込み対象の測定データセットが増えていっても差支えがなく、このような場合に読込み頻度が高くなることで、未読込みの読込み対象の測定データセットが減る速度を向上でき、以って、データ管理テーブル281の使用効率を向上することができる。なお、第三の容量は、上述の第一の容量と第二の容量のうちの少なくとも一つと同じでもよいし、第一の容量と第二の容量のいずれとも異なる容量であってもよい。例えば、第三の容量は、第一の容量及び第二の容量よりも大きな容量でよい。
For frequency adjustment, at least one of the following may be applied.
The frequency adjustment is the exhaustion time, which is the time when the free space of the data management table 281 becomes less than the first capacity from the time series of the free space of the data management table 281 (for example, the time when there is no free space in the data management table 281). and lowering the frequency of reading prior to the exhaustion time. By reducing the reading frequency, information processing including reading occurs less frequently per unit time. It is possible to reduce the possibility that the read target measurement data set will be overwritten. Note that the time series of free space in the data management table 281 may be accumulated in the memory 169 by the management unit 294, for example.
- The frequency adjustment may include increasing the reading frequency when the free space of the data management table 281 is equal to or greater than the third capacity. If the free space of the data management table 281 is equal to or larger than the third capacity, there is no problem even if the number of unread measurement data sets to be read increases. It is possible to improve the speed at which the number of measurement data sets to be read decreases, thereby improving the usage efficiency of the data management table 281 . The third capacity may be the same as at least one of the first capacity and the second capacity, or may be a capacity different from both the first capacity and the second capacity. For example, the third volume can be a larger volume than the first volume and the second volume.

図14は、枯渇時刻の推定と出力を模式的に示す。 FIG. 14 schematically shows estimation and output of exhaustion time.

データ管理テーブル281の空き容量の時系列から枯渇時刻を推定する時刻推定部と、推定された枯渇時刻をユーザ向けに出力する時刻出力部とが、産業用コントローラ109に備えられてもよい。「枯渇時刻をユーザ向けに出力する」とは、枯渇時刻を表示又は音声出力することでもよいし、ユーザ(例えば管理者)の情報処理端末(例えば計算機)に枯渇時刻を示す情報を送信することでもよい。これにより、ユーザは、推定された枯渇時刻を知ることができ、以って、読込み頻度を調整する等の対策をとることができる。なお、時刻推定部及び時刻出力部の少なくとも一つは、管理部294に含まれてもよいし、頻度調整部に含まれてもよいし、いずれかのAPIに含まれてもよい。 The industrial controller 109 may include a time estimating unit that estimates the exhaustion time from the time series of the free space in the data management table 281 and a time output unit that outputs the estimated exhaustion time to the user. "Outputting the depletion time to the user" may mean displaying or outputting the depletion time by voice, or transmitting information indicating the depletion time to the information processing terminal (e.g., computer) of the user (e.g., administrator). It's okay. Thereby, the user can know the estimated exhaustion time, and accordingly can take countermeasures such as adjusting the reading frequency. At least one of the time estimation unit and the time output unit may be included in the management unit 294, may be included in the frequency adjustment unit, or may be included in any API.

実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略又は簡略する。 Example 2 will be described. At that time, the points of difference from the first embodiment will be mainly explained, and the explanations of the points in common with the first embodiment will be omitted or simplified.

図15は、実施例2に係る産業用コントローラのソフトウェア構成を示す。 FIG. 15 shows the software configuration of the industrial controller according to the second embodiment.

産業用コントローラ1509において、制御AP実行部111及び情報AP実行部112の各々は、コンテナ型仮想化に従うコンテナである。管理部1501は、管理処理を実行するプログラムを含んだコンテナである。つまり、本実施例では、管理処理は、OS286の外に存在する管理部1501により行われ、管理部1501は、OS286上でコンテナとして稼働する。 In the industrial controller 1509, each of the control AP executor 111 and the information AP executor 112 is a container following container-based virtualization. A management unit 1501 is a container containing a program for executing management processing. That is, in this embodiment, management processing is performed by the management unit 1501 that exists outside the OS 286, and the management unit 1501 operates as a container on the OS 286. FIG.

以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。 Although several embodiments have been described above, these are examples for explaining the present invention, and are not meant to limit the scope of the present invention only to these embodiments. The invention can also be implemented in various other forms.

例えば、実施例1及び2に関して、次のようなことが言える。すなわち、管理機能(選別又は加工)が情報AP115から分離され、管理機能の優先度は、制御AP114よりも低いが情報AP115よりも高い。具体的には、例えば、管理機能は、情報AP115よりも優先して実行される(例えば管理AP114の終了直後に実行される)。管理機能は、カーネルとして実装されてもよいし、優先度の高いコンテナとして実装されてもよい。スケジューラ295が制御AP114の処理後に管理機能を動作させることで、情報AP115が必要な測定データセットを効率的に保存できる。 For example, with respect to Examples 1 and 2, the following can be said. That is, the management function (sorting or processing) is separated from the information AP 115 and the priority of the management function is lower than the control AP 114 but higher than the information AP 115 . Specifically, for example, the management function is executed with priority over the information AP 115 (for example, executed immediately after the end of the management AP 114). Management functions may be implemented as a kernel or as a high priority container. The scheduler 295 operates the management function after the processing of the control AP 114 so that the information AP 115 can efficiently save the necessary measurement data sets.

また、例えば、書込みAPI291が、測定データセットの圧縮可否を指定し、データ管理テーブル281の各レコードが、測定データセットの圧縮可否を示す情報(例えばフラグ)を格納してもよい。圧縮可の場合、書込みAPI291が、測定データセットを圧縮し、圧縮された測定データセットがデータ管理テーブル281に書込まれてよい。また、この場合、読込みAPI292は、読込み対象の測定データセットを格納したレコードに、圧縮可を示す情報が格納されていれば、当該レコード内の圧縮されている測定データセットを解凍し、解凍された測定データセットを情報AP115へ送る。圧縮が行われることで、共有メモリ領域の空き容量の減少を低減することができ、結果として、測定データセットの上書きが行われてしまう可能性を低減することができる。 Also, for example, the write API 291 may specify whether or not the measurement data set is compressible, and each record of the data management table 281 may store information (for example, a flag) indicating whether or not the measurement data set is compressible. If compressible, the write API 291 may compress the measurement data set and the compressed measurement data set may be written to the data management table 281 . Also, in this case, if the record storing the measurement data set to be read contains information indicating that compression is possible, the read API 292 decompresses the compressed measurement data set in the record, The measurement data set obtained is sent to the information AP 115 . By performing compression, it is possible to reduce the decrease in the free space of the shared memory area, and as a result, it is possible to reduce the possibility that the measurement data set will be overwritten.

また、例えば、下記のうちの少なくとも一部が、例えば、少なくとも一つの実施例に適用されてもよい。 Also, for example, at least some of the following may apply, for example, to at least one embodiment.

産業用コントローラ109は、シーケンス制御装置、モーション制御装置、又はプログラマブル・ロジック・コントローラ(PLC)とも呼ばれることがある。ラダー・ロジック(LD言語)、シーケンシャル・ファンクション・チャート(SFC言語)、ファンクション・ブロック(FBD言語)、ストラクチャード・テキスト(ST言語)、インストラクション・リスト(IL言語)のような制御特有のプログラミング言語で制御内容が記述される。また、場合により、C言語等の汎用プログラミング言語での記述が、ラダー言語等での記述の一部又は全部に差し替えられてもよい。 Industrial controller 109 may also be referred to as a sequence controller, motion controller, or programmable logic controller (PLC). In control-specific programming languages such as ladder logic (LD language), sequential function chart (SFC language), function block (FBD language), structured text (ST language), instruction list (IL language) Control contents are described. In some cases, the description in general-purpose programming language such as C language may be replaced with part or all of the description in ladder language or the like.

このような産業用コントローラ109に接続される制御対象を制御する制御AP114は、ラダー言語を代表とする制御特有のプログラミング言語を用いることが有効である。ラダーの表示が可能であり、制御対象装置の状態の監視等に有効である。一方、情報AP115は、このような産業用コントローラ109における情報処理(例えば、複雑な算術演算や、SCADA、MES、クラウドシステムとの情報の送受信のような情報通信処理)に有効である。このような情報処理は、制御特有の言語でプログラミングすることが困難な場合があり、いわゆるC言語又はJava(登録商標)言語などの情報通信分野で使われるプログラミング言語を用いて記述する場合がある。 For the control AP 114 that controls the controlled object connected to the industrial controller 109, it is effective to use a control-specific programming language such as a ladder language. A ladder can be displayed, which is effective for monitoring the status of the device to be controlled. On the other hand, the information AP 115 is effective for information processing in such an industrial controller 109 (for example, complex arithmetic operations and information communication processing such as transmission/reception of information with SCADA, MES, and cloud systems). Such information processing may be difficult to program in a control-specific language, and may be described using a programming language used in the information communication field such as the so-called C language or Java (registered trademark) language. .

制御AP114は、I/Oモジュール119等を介して実際にモータ等を含む周辺機器120を操作し、生産システム等を適切に動作させる必要がある。そのため、制御AP114は、処理を設定された時間内に確実に実行すること(リアルタイム性)が求められる。制御AP114は、制御内容が記述された命令によって制御対象装置(例えば、装置部品のようなハードウェアモジュール、一つ以上のハードウェアモジュールを備えた装置、又は、複数の装置を備えたシステム)を制御する。例えば、「I/Oモジュール119等を介して実際にモータ等を含む周辺機器120を操作し、生産システム等を適切に動作させる」といった制御では、「生産システム」、又は、「生産システムを構成する少なくとも1つの装置」が、「制御対象装置」である。制御対象装置は、典型的には、産業用コントローラ109におけるI/O制御装置214(インターフェース部の一例)経由で接続された装置である。制御対象装置は、制御AP114から直接的に(例えば、I/Oモジュール119や周辺機器120を介さずに)制御されてもよいし、制御AP114から間接的に(例えば、I/Oモジュール119や周辺機器120を介して)制御されてもよい。制御対象装置を制御する言語は、ラダー言語等の制御特有のプログラミング言語に限らず、C言語等の汎用プログラミング言語で記述される場合もあるため、制御対象装置(典型的にはハードウェア)を制御するプログラムが、制御AP114である。 The control AP 114 needs to actually operate the peripheral device 120 including the motor etc. via the I/O module 119 etc., and operate the production system etc. appropriately. Therefore, the control AP 114 is required to reliably execute processing within a set time (real-time performance). The control AP 114 controls a device to be controlled (for example, a hardware module such as a device component, a device including one or more hardware modules, or a system including a plurality of devices) according to a command describing control details. Control. For example, in a control such as "actually operating a peripheral device 120 including a motor or the like via an I/O module 119 or the like to appropriately operate a production system or the like", a "production system" or a "production system configuration "at least one device" is a "controlled device". A device to be controlled is typically a device connected via an I/O control device 214 (an example of an interface unit) in the industrial controller 109 . The control target device may be controlled directly from the control AP 114 (for example, without going through the I/O module 119 or the peripheral device 120), or indirectly from the control AP 114 (for example, by controlling the I/O module 119 or the peripheral device 120). (via peripheral device 120). The language for controlling the controlled device is not limited to a programming language specific to control such as a ladder language, but may be written in a general-purpose programming language such as C language. A controlling program is the control AP 114 .

ラダー言語等で記述された制御APは、当該ラダー言語等の記述において指定された制御対象装置の状態を読み込み又は書き込み(取得又は更新)をする「スキャン動作」を行う。このスキャン動作は所定間隔で行う必要があり、この所定間隔を「スキャンタイム」と呼ぶ。スキャンタイムは、制御APの演算時間に関するものであり、制御に関する演算周期又は制御に関する演算を繰り返し所定間隔で行うことから「サイクルタイム」とも呼ばれることもある。スキャンタイムが、周期Cに相当する。 A control AP written in a ladder language or the like performs a "scan operation" that reads or writes (obtains or updates) the state of a control target device specified in the description in the ladder language or the like. This scanning operation must be performed at predetermined intervals, and this predetermined interval is called "scan time". The scan time relates to the calculation time of the control AP, and is sometimes called a "cycle time" because the calculation period for control or the calculation for control is repeatedly performed at predetermined intervals. A scan time corresponds to the period C.

スキャンタイムは、産業用コントローラ109が制御する制御対象装置の数や種類の増加に応じて長くなるが、スキャンタイム内で制御対象装置のスキャン動作をすることが重要である。 The scan time increases as the number and types of controlled devices controlled by the industrial controller 109 increase, but it is important to scan the controlled devices within the scan time.

産業用コントローラ109に、I/Oポートが内蔵又は接続される。I/Oポートは、I/Oモジュール119又はI/Oユニット等が有する場合がある。以下、I/Oポートそれ自体、又は、I/Oポートを有する装置(I/Oモジュール又はI/Oユニット等)を、「I/Oポート」と総称する場合がある。I/Oポートは、制御対象装置、例えば、生産設備におけるベルトコンベア、リミットスイッチ、アクチュエータ(例えばモータ)に接続され、制御対象装置の動作に関する制御に使用されるものである。I/Oポートは、デジタル又はアナログのI/Oポートである。例えば、アナログI/Oポートは、産業用コントローラ109の制御対象装置の電圧、電流、温度等を含んだ測定データセットの読み書きに使用される。 I/O ports are built into or connected to the industrial controller 109 . An I/O port may have an I/O module 119, an I/O unit, or the like. Hereinafter, an I/O port itself or a device having an I/O port (such as an I/O module or an I/O unit) may be collectively referred to as an "I/O port". The I/O port is connected to a device to be controlled, such as a belt conveyor, a limit switch, and an actuator (for example, a motor) in production equipment, and is used to control the operation of the device to be controlled. An I/O port is a digital or analog I/O port. For example, analog I/O ports are used to read and write measurement data sets containing voltages, currents, temperatures, etc. of devices controlled by industrial controller 109 .

制御AP114に基づいて産業用コントローラ109のI/Oポートから送信される制御情報を有線又は無線で受信するインバータユニットやCNC(Computerized Numerical Control)はインバータやCNC自体がアクチュエータのモーション制御を行うため、リアルタイム性が求められる。 An inverter unit or a CNC (Computerized Numerical Control) that receives control information transmitted from the I/O port of the industrial controller 109 based on the control AP 114 by wire or wirelessly controls the motion of the actuator. Real-time performance is required.

また、制御対象装置の制御とは、制御対象装置が接続されている状態のI/Oポートの動作を制御することをいう。つまり、制御AP114とは、制御対象装置が接続されたI/Oポートの制御を行うプログラム、言い換えれば、制御対象装置が接続されたI/Oポートに当該制御対象装置の制御情報を出力する(具体的には、例えば、当該制御情報の出力を含むスキャン動作を行う)プログラムである。 Controlling a controlled device means controlling the operation of an I/O port to which a controlled device is connected. In other words, the control AP 114 is a program that controls an I/O port to which a device to be controlled is connected, in other words, outputs control information of the device to be controlled to the I/O port to which the device to be controlled is connected ( Specifically, for example, it is a program that performs a scanning operation including output of the control information.

このような産業用コントローラ109において、制御対象装置の制御に加えて、情報処理(例えば、複雑な算術演算やSCADA、MES、クラウドシステムとの情報の送受信のような情報通信処理)を行うことを検討する。このような情報処理は、上述の制御特有の言語でプログラミングすることが困難な場合があり、C言語又はJava(登録商標)言語などの情報処理分野で使われるプログラミング言語を用いて記述することがある。このような情報処理を実行するプログラムが、情報AP115である。 In such an industrial controller 109, in addition to controlling the device to be controlled, information processing (for example, complex arithmetic operations, information communication processing such as transmission and reception of information with SCADA, MES, and cloud systems) can be performed. think about. Such information processing may be difficult to program in the language specific to control described above, and can be described using a programming language used in the information processing field such as C language or Java (registered trademark) language. be. A program that executes such information processing is the information AP 115 .

制御AP114と情報AP115の違いの一例について説明する。 An example of the difference between the control AP 114 and the information AP 115 will be described.

上記したように制御AP114は、産業用コントローラ109のI/Oポートの制御に関係したプログラムであり、情報AP115は、情報処理(例えば、上述のように、算術演算や、クラウドとの通信)を行うプログラムである。制御AP114は、ラダーやST言語等で記述され、java(登録商標)やpython等に代表される汎用言語に比べてリアルタイム性が高い。情報AP115は、java(登録商標)やpython等に代表される言語で記述され、ラダー等よりも情報処理に適している。C言語等のリアルタイム性が高く、ハードウェアの制御にも適しており、また、情報処理にも適した言語は制御AP114と情報AP115のいずれにも利用可能な場合がある。制御対象装置がI/Oポートを介して産業用コントローラ109に接続されるが、制御AP114は、制御対象装置に接続されるアナログやデジタルのI/Oポートに制御対象装置の制御情報を送信することを含むスキャン動作を行うプログラムであるが。一方、情報AP115は、制御対象装置に接続されるアナログやデジタルのI/Oポート(但し、情報AP115との共有が許容されているI/Oポートを除く)へアクセスしないプログラムである。別の言い方をすれば、情報APは、スキャン動作を含まない(スキャン動作とは異なる)情報処理を行うプログラム(つまり、スキャン動作を行うことがないプログラム)である。 As described above, the control AP 114 is a program related to control of the I/O port of the industrial controller 109, and the information AP 115 performs information processing (for example, arithmetic operations and communication with the cloud, as described above). It is a program to do. The control AP 114 is written in a ladder, ST language, or the like, and has a higher real-time capability than general-purpose languages represented by java (registered trademark), python, and the like. The information AP 115 is written in a language represented by java (registered trademark), python, or the like, and is more suitable for information processing than ladder or the like. A language such as the C language, which has high real-time capability, is suitable for hardware control, and is also suitable for information processing, may be used for both the control AP 114 and the information AP 115 . A device to be controlled is connected to the industrial controller 109 via an I/O port, and the control AP 114 transmits control information of the device to be controlled to an analog or digital I/O port connected to the device to be controlled. Although it is a program that performs a scanning operation, including On the other hand, the information AP 115 is a program that does not access analog or digital I/O ports (excluding I/O ports that are permitted to be shared with the information AP 115) connected to the controlled device. In other words, the information AP is a program that performs information processing that does not include a scan operation (different from a scan operation) (that is, a program that does not perform a scan operation).

制御に関しては、一般に、高いリアルタイム性が求められ、情報処理に関しては、一般に、高いスループットが求められる。そして、OSとして、一般に、制御向けのOSとしての専用OS(リアルタイムOS)と、情報処理向けのOSとしての汎用OSとがある。 Control generally requires high real-time performance, and information processing generally requires high throughput. As the OS, there are generally a dedicated OS (real-time OS) as an OS for control and a general-purpose OS as an OS for information processing.

ここで、仮に、昨今の汎用計算機分野の技術を考慮すると、制御APは専用OS上で実行され、情報APは汎用OS上で実行されることが考えられる。このため、制御APと情報APの共存は、通常、計算機における計算リソース集合(物理的な計算リソースの集合としてのハードウェア)をエミュレートする仮想マシン技術を採用することになると考えられる。具体的には、例えば、ハイパバイザが、制御AP用に、ゲストOSとして専用OSを搭載した仮想マシンを生成し、情報AP用に、ゲストOSとして汎用OSを搭載した仮想マシンを生成し、制御APと情報APが、OSが異なる別々の仮想マシンで実行されることが考えられる。 Here, hypothetically, considering recent technology in the general-purpose computer field, it is conceivable that the control AP is executed on a dedicated OS and the information AP is executed on a general-purpose OS. For this reason, the coexistence of control APs and information APs is usually considered to adopt virtual machine technology that emulates a set of computational resources in a computer (hardware as a set of physical computational resources). Specifically, for example, the hypervisor creates a virtual machine with a dedicated OS as a guest OS for the control AP, and creates a virtual machine with a general-purpose OS as a guest OS for the information AP. and the information AP may be executed in separate virtual machines with different OSs.

しかし、仮想マシン技術では、仮想マシンにおけるゲストOSの他に、仮想マシンのベースとなるホストOSが存在する。結果として、管理対象が多く、管理が煩雑となることが考えられる。 However, in the virtual machine technology, in addition to the guest OS in the virtual machine, there is a host OS that is the base of the virtual machine. As a result, it is conceivable that there are many objects to be managed and the management becomes complicated.

また、計算機に機器が接続されても、当該計算機における全ての制御APや情報APが容易に当該機器を認識できるわけではない。仮想マシン別に、ゲストOSを介して、当該機器を認識するための処理が必要となる。 Even if a device is connected to a computer, not all control APs and information APs in the computer can easily recognize the device. For each virtual machine, processing for recognizing the device is required via the guest OS.

そこで、汎用OSの系統ではあるものの必要とされるリアルタイム性を提供できるリアルタイム機能を持ったOS(以下、便宜上、「リアルタイム汎用OS」と呼ぶ)を、OS286として採用することが考えられる。 Therefore, it is conceivable to adopt as the OS 286 an OS having a real-time function capable of providing the required real-time performance (hereinafter referred to as a “real-time general-purpose OS” for convenience), although it is a system of general-purpose OS.

109…産業用コントローラ 109... industrial controller

Claims (12)

制御対象装置を制御しプロセッサ及びメモリを有する産業用コントローラであって、
前記プロセッサが、OS(Operating System)を実行し、
前記メモリが、前記制御対象装置に関するデータセットが書き込まれるメモリ領域を含み、
前記OS上の複数のプログラムは、
前記制御対象装置の制御と、当該制御対象装置に関するデータセットの取得と、当該データセットを前記メモリ領域に書き込むこととを含んだ処理である制御処理を行い、当該制御処理において、前記メモリ領域の空き容量が第一の容量未満の場合には当該データセットを前記メモリ領域における既存のいずれかのデータセットに上書きする制御プログラムと、
読込み頻度に従う範囲に属するデータセットを前記メモリ領域から読み込むことと、前記制御対象装置の制御と異なる処理とを含んだ処理である情報処理を行う情報プログラムと
を含み、
前記OSにより、
前記制御プログラムの前記メモリ領域への書き込みは、所定の周期で実行され、
前記情報プログラムは、各周期において、前記制御プログラムの実行終了後に実行された場合、次の周期までに前記情報処理が完了するか否かに関わらずに当該次の周期までに終了され、
前記各周期において前記制御プログラムの実行終了から前記情報プログラムの実行開始までの間に前記OSにより実行される管理部が存在し、
前記各周期において、前記管理部は、少なくとも前記メモリ領域の空き容量が第二の容量未満の場合には、前記読込み頻度に従う範囲に属する複数のデータセットのうち対象とされたデータセットを削除することを含んだ管理処理を行う
ことを特徴とする産業用コントローラ。
An industrial controller that controls a controlled device and has a processor and memory,
The processor executes an OS (Operating System),
the memory includes a memory area in which a data set relating to the controlled device is written;
A plurality of programs on the OS are
performing a control process including control of the controlled device, acquisition of a data set related to the controlled device, and writing of the data set in the memory area; a control program for overwriting any existing data set in the memory area with the data set when the free space is less than the first capacity ;
an information program that performs information processing, which is processing including reading a data set belonging to a range according to the reading frequency from the memory area , and processing different from control of the controlled device ;
According to the OS,
Writing the control program to the memory area is executed at a predetermined cycle,
When the information program is executed in each cycle after the execution of the control program is completed, the information program is terminated by the next cycle regardless of whether the information processing is completed by the next cycle,
a management unit that is executed by the OS from the end of execution of the control program to the start of execution of the information program in each cycle ;
In each cycle, at least when the free space of the memory area is less than a second capacity, the management unit deletes the target data set among the plurality of data sets belonging to the range according to the reading frequency. management process including
An industrial controller characterized by:
前記管理処理は、前記情報プログラムの読込み頻度に従う範囲に属する複数のデータセットからデータセットを選別し、当該複数のデータセットのうち当該選別されたデータセット以外のデータセットを前記メモリ領域から削除する処理である選別処理を含み、
前記対象とされたデータセットは、前記選別されたデータセット以外のデータセットである
ことを特徴とする請求項1に記載の産業用コントローラ。
The management process selects a data set from a plurality of data sets belonging to a range according to the reading frequency of the information program, and deletes data sets other than the selected data set among the plurality of data sets from the memory area. including a sorting process that is a process,
the targeted dataset is a dataset other than the screened dataset
The industrial controller according to claim 1, characterized in that:
前記管理処理は、前記読込み頻度に従う範囲に属する複数のデータセットのうちの二つ以上のデータセットを加工し、当該二つ以上のデータセットを前記メモリ領域から削除し、当該加工後のデータセットを前記メモリ領域に書き込む加工処理を含み、
前記対象とされたデータセットは、加工の基になった前記二つ以上のデータセットである
ことを特徴とする請求項1に記載の産業用コントローラ。
The management process processes two or more data sets among a plurality of data sets belonging to a range according to the read frequency, deletes the two or more data sets from the memory area, and processes the processed data sets. to the memory area ,
The targeted datasets are the two or more datasets on which the processing was based.
The industrial controller according to claim 1, characterized in that:
単位時間範囲の指定を受け付ける指定受付部を更に備え、
前記管理処理は、前記情報プログラムの読込み頻度に従う範囲のうち、指定された単位時間範囲に属するデータセットが所定の異常条件を満たしている場合、当該管理処理後の前記情報処理においてデータセットと共に読み込まれる情報として、異常を示す異常情報を設定することを含む
ことを特徴とする請求項1に記載の産業用コントローラ。
further comprising a designation reception unit that receives designation of a unit time range,
In the management process, when a data set belonging to a specified unit time range within a range according to the reading frequency of the information program satisfies a predetermined abnormal condition, the data set is read together with the data set in the information processing after the management process. The industrial controller according to claim 1, further comprising setting abnormality information indicating an abnormality as information to be received.
前記メモリ領域の空き容量を基に前記読込み頻度を変更することである頻度調整を行う頻度調整部を更に備える further comprising a frequency adjustment unit that adjusts the frequency by changing the frequency of reading based on the free space of the memory area
ことを特徴とする請求項1に記載の産業用コントローラ。 The industrial controller according to claim 1, characterized in that:
前記頻度調整は、前記メモリ領域の空き容量の時系列から、前記メモリ領域の空き容量が前記第一の容量未満になる時刻を推定し、当該時刻よりも前に、前記読込み頻度を低くすること、を含む The frequency adjustment includes estimating a time when the free space of the memory area becomes less than the first capacity from the time series of the free space of the memory area, and lowering the reading frequency before the time. ,including
ことを特徴とする請求項5に記載の産業用コントローラ。 6. The industrial controller according to claim 5, characterized in that:
前記頻度調整は、前記メモリ領域の空き容量が第三の容量以上の場合に、前記読込み頻度を高くすること、を含む The frequency adjustment includes increasing the read frequency when the free space of the memory area is equal to or greater than a third capacity.
ことを特徴とする請求項5に記載の産業用コントローラ。 6. The industrial controller according to claim 5, characterized in that:
前記メモリ領域の空き容量の時系列から、前記メモリ領域の空き容量が前記第一の容量未満になる時刻を推定する時刻推定部と a time estimation unit for estimating a time when the free space of the memory area becomes less than the first capacity from the time series of the free space of the memory area;
前記推定された時刻をユーザ向けに出力する時刻出力部と a time output unit that outputs the estimated time to a user;
を更に備えることを特徴とする請求項1に記載の産業用コントローラ。 The industrial controller of claim 1, further comprising: a.
前記メモリ領域内の前記情報プログラムが未読込みの読込み対象のデータセットに、新たなデータセットが前記制御プログラムにより上書きされた場合、当該読込み対象のデータセットの読み込みが不可であることを示す情報である読込み不可情報を出力する出力部を更に備える
ことを特徴とする請求項1に記載の産業用コントローラ。
Information indicating that when a new data set is overwritten by the control program on a data set to be read that has not been read by the information program in the memory area, the data set to be read cannot be read. The industrial controller of claim 1, further comprising an output unit that outputs certain unreadable information.
前記読込み不可情報が、前記情報プログラムによる読み込みに対する応答に付随して当該情報プログラムに出力される
ことを特徴とする請求項に記載の産業用コントローラ。
10. The industrial controller according to claim 9 , wherein said unreadable information is output to said information program accompanying a response to reading by said information program.
前記メモリ領域に書き込まれるデータセットは、前記メモリ領域に対するインターフェースであるメモリインターフェースによって、圧縮されたデータセットであり、
前記メモリ領域から読み込まれ前記情報プログラムに送られるデータセットは、前記メモリインターフェースによって、解凍されたデータセットである
ことを特徴とする請求項1に記載の産業用コントローラ。
the data set written to the memory area is a compressed data set by a memory interface that is an interface to the memory area;
The industrial controller according to claim 1, wherein the data set read from said memory area and sent to said information program is a data set decompressed by said memory interface.
制御対象装置を制御しプロセッサ及びメモリを有する産業用コントローラにより実行されるデータ管理方法であって、
前記プロセッサが、OS(Operating System)を実行し、
前記メモリが、前記制御対象装置に関するデータセットが書き込まれるメモリ領域を含み、
OS上の複数のプログラムは、
前記制御対象装置の制御と、当該制御対象装置に関するデータセットの取得と、当該データセットを前記メモリ領域に書き込むこととを含んだ処理である制御処理を行い、当該制御処理において、前記メモリ領域の空き容量が第一の容量未満の場合には当該データセットを前記メモリ領域における既存のいずれかのデータセットに上書きする制御プログラムと、
読込み頻度に従う範囲に属するデータセットを前記メモリ領域から読み込むことと、前記制御対象装置の制御と異なる処理とを含んだ処理である情報処理を行う情報プログラムと
を含み、
前記データ管理方法が、
前記制御プログラムの前記メモリ領域への書き込みを、所定の周期で実行し、
前記情報プログラムが、各周期において、前記制御プログラムの実行終了後に実行された場合、次の周期までに前記情報処理が完了するか否かに関わらずに当該次の周期までに前記情報プログラムを終了し、
前記各周期において前記制御プログラムの実行終了から前記情報プログラムの実行開始までの間に前記OSにより実行される管理部を実行することにより、前記各周期において、少なくとも前記メモリ領域の空き容量が第二の容量未満の場合には、前記読込み頻度に従う範囲に属する複数のデータセットのうち対象とされたデータセットを削除することを含んだ管理処理を行う
ことを特徴とするデータ管理方法。
A data management method performed by an industrial controller controlling a controlled device and having a processor and a memory, comprising:
The processor executes an OS (Operating System),
the memory includes a memory area in which a data set relating to the controlled device is written;
Multiple programs on the OS
performing a control process including control of the controlled device, acquisition of a data set related to the controlled device, and writing of the data set in the memory area; a control program for overwriting any existing data set in the memory area with the data set when the free space is less than the first capacity ;
an information program that performs information processing, which is processing including reading a data set belonging to a range according to the reading frequency from the memory area , and processing different from control of the controlled device ;
The data management method includes:
writing the control program to the memory area at a predetermined cycle;
When the information program is executed in each cycle after the execution of the control program is completed, the information program is terminated by the next cycle regardless of whether the information processing is completed by the next cycle. death,
By executing the management unit executed by the OS from the end of execution of the control program to the start of execution of the information program in each cycle, at least the free space of the memory area is reduced to the second If the capacity is less than the capacity of the above, perform management processing including deleting the target data set among the plurality of data sets belonging to the range according to the read frequency
A data management method characterized by:
JP2018233916A 2018-12-13 2018-12-13 industrial controller Active JP7141939B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018233916A JP7141939B2 (en) 2018-12-13 2018-12-13 industrial controller
PCT/JP2019/035994 WO2020121614A1 (en) 2018-12-13 2019-09-12 Industrial controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018233916A JP7141939B2 (en) 2018-12-13 2018-12-13 industrial controller

Publications (2)

Publication Number Publication Date
JP2020095549A JP2020095549A (en) 2020-06-18
JP7141939B2 true JP7141939B2 (en) 2022-09-26

Family

ID=71077163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018233916A Active JP7141939B2 (en) 2018-12-13 2018-12-13 industrial controller

Country Status (2)

Country Link
JP (1) JP7141939B2 (en)
WO (1) WO2020121614A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7413183B2 (en) * 2020-07-31 2024-01-15 株式会社日立産機システム control system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057109A (en) 1998-08-11 2000-02-25 Hitachi Ltd Distributed system and its operation managing method
JP2005018539A (en) 2003-06-27 2005-01-20 Alpine Electronics Inc Digital device with data storage function and data management method of digital device
JP2006202233A (en) 2005-01-24 2006-08-03 Fuji Electric Fa Components & Systems Co Ltd Controller and program for same
JP2012198606A (en) 2011-03-18 2012-10-18 Yokogawa Electric Corp Field instrument
JP2018084994A (en) 2016-11-24 2018-05-31 株式会社日立産機システム Control system and control method
JP2018185772A (en) 2017-04-27 2018-11-22 株式会社日立産機システム Industrial controller and data sharing method for industrial controller

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244605A (en) * 1996-03-12 1997-09-19 Toshiba Corp Computer device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057109A (en) 1998-08-11 2000-02-25 Hitachi Ltd Distributed system and its operation managing method
JP2005018539A (en) 2003-06-27 2005-01-20 Alpine Electronics Inc Digital device with data storage function and data management method of digital device
JP2006202233A (en) 2005-01-24 2006-08-03 Fuji Electric Fa Components & Systems Co Ltd Controller and program for same
JP2012198606A (en) 2011-03-18 2012-10-18 Yokogawa Electric Corp Field instrument
JP2018084994A (en) 2016-11-24 2018-05-31 株式会社日立産機システム Control system and control method
JP2018185772A (en) 2017-04-27 2018-11-22 株式会社日立産機システム Industrial controller and data sharing method for industrial controller

Also Published As

Publication number Publication date
JP2020095549A (en) 2020-06-18
WO2020121614A1 (en) 2020-06-18

Similar Documents

Publication Publication Date Title
US9959313B2 (en) Database management system and method capable of dynamically issuing inputs/outputs and executing operations in parallel
US7975112B2 (en) Switch apparatus
CN110058958B (en) Method, apparatus and computer program product for managing data backup
US9529809B2 (en) Managing log data using a circular fixed size file
CN112799606B (en) Scheduling method and device of IO (input/output) request
CN110609807B (en) Method, apparatus and computer readable storage medium for deleting snapshot data
JP7141939B2 (en) industrial controller
US11561843B2 (en) Automated performance tuning using workload profiling in a distributed computing environment
CN108829345B (en) Data processing method of log file and terminal equipment
CN106708481B (en) Method for controlling task execution
CN116089477B (en) Distributed training method and system
CN113220650A (en) Data storage method, device, apparatus, storage medium, and program
CN112470088A (en) Control device
JP2020035243A (en) Storage system and storage control method
US11189003B2 (en) Graphics processing method and related apparatus, and device for unidirectionally transmitting calling information of a graphics API to a client
US10795726B2 (en) Processing requests received online and dividing processing requests for batch processing
CN109634784B (en) Spark application program control method and device
CN111090627A (en) Log storage method and device based on pooling, computer equipment and storage medium
US20200151001A1 (en) Accelerator control device, accelerator control method, and recording medium with accelerator control program stored therein
US20190179571A1 (en) Computer, computer system, and data quantity restriction method
US20220342579A1 (en) Memory migration method, apparatus, and computing device
JP7067781B2 (en) Dynamic link management device, dynamic link management method, and program
CN115982068A (en) Data processing method and related device
US20170147408A1 (en) Common resource updating apparatus and common resource updating method
JP6369069B2 (en) Information processing apparatus, information processing method, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220912

R150 Certificate of patent or registration of utility model

Ref document number: 7141939

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150