本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.適用例>
まず、図4を参照して、本発明が適用される場面の一例について説明する。図4は、本実施の形態に係る制御システム1の適用場面の一例を示す模式図である。本実施の形態に係る制御システム1は、任意の制御対象(たとえば、製造装置や設備)を制御する。
図4では、制御システム1は、たとえばPLCなどの制御装置100と、制御装置100とデータを遣り取りする表示装置200とを備える。表示装置200は、据え置き型またはタブレット端末などのような携帯型の汎用のパソコンを含み得る。表示装置200は、ユーザ操作を受付けるマウス、キーボードなどの入力デバイスとユーザに情報を画面で提示するディスプレイなどの出力デバイスを備える。
図4に示すように、制御システム1は、制御対象に関連付けられたデータを時系列でファイルに格納する時系列格納手段と、時系列格納手段から、時系列のデータを格納するファイルを予め定められた読出周期で読出す読出手段と、読出手段により読出されたファイルの中の時系列のデータを、視覚化して表示する表示データを生成する視覚化手段と、を備える。
この開示では、制御対象に関連付けられたデータは、制御対象の挙動(モーション)を観測して得られたデータ、または制御対象の状態を観測して得られたデータを含み得る。「観測」は、たとえばセンサなどによる計測を含み得る。また、「時系列」は、制御対象の挙動または状態の時間的変化を連続的に観測して得たデータも系列を含む。なお、連続的には、一定間隔で不連続に観測する概念も含み得る。
また、この開示では、「ファイル」は、たとえばCSV(comma-separated values)などであるが、ファイルのタイプはCSVに限定されない。また、「表示データ」は、ファイルの中の時系列のデータを、モニタ画面として表示するようにディスプレイなどを駆動するための表示制御データを含む。たとえば、表示データは、時系列のデータを表形式、またはグラフ(トレングラフを含む)で表示するようにディスプレイを駆動するための表示制御データに含む。なお、表示の態様は、表またはグラフに限定されない。
制御装置100の時系列DB(Data Base)131と、時系列DB131にデータを書込む時系列DBプログラム163は、「時系列格納手段」の一実施である。時系列DB131は、例えば、SDカードなどの記憶媒体を含む。
また、表示装置200のデータ収集ツール227は、「読出手段」の一実施例である。また、表示装置200の視覚化ツール230および視覚化アプリ(アプリケーションの略)231は、「視覚化手段」の一実施例である。この開示では「ツール」は、アプリケーションに相当する。アプリケーションは、制御装置100または表示装置200などで実行され得るプログラムまたはプログラムとデータの組合せを含み得る。
制御装置100は、制御プログラム160などのユーザプログラムと、システムプログラムをOS(Operating System)190のもとで実行する。システムプログラムは、制御対象などのフィールド機器から観測されたデータを、制御周期に同期して収集する変数マネジャ154と、スケジューラ152を含む。
スケジューラ152は、制御プログラムおよび変数マネジャ154などのシステムプログラムを、OS190のもとで、制御周期に基づき周期的に実行させる。制御プログラム160は、制御対象の制御に係る制御演算のためのシーケンス/モーションプログラム162を含む。したがって、スケジューラ152とシーケンス/モーションプログラム162は、制御対象の制御に係る制御演算を周期的に実行する「周期実行手段」の一実施例である。
このように、制御装置100では、制御周期に基づき周期的にシーケンス/モーションプログラム162が実行する制御演算に従い制御対象が制御され、その制御結果から観測されるデータが、当該制御周期に同期して変数マネジャ154により収集される。時系列DBプログラム163は、この収集されるデータを時系列で時系列DB131のCSVファイル132に格納する。これにより、制御装置100は、現在の観測データ〜過去に遡る観測データを時系列DB131の時系列でCSVファイル132に格納することができる。
表示装置200のデータ収集ツール227は、時系列DB131からCSVファイル132を読出し、視覚化ツール230および視覚化アプリ231は、読出されたCSVファイル132の中の時系列のデータを、視覚化してディスプレイなどに表示させる表示データを生成する。
したがって、表示装置200は、制御対象に関連付けられたデータについて現在から過去に遡るデータをファイルとして取得することで、制御装置100とデータ単位で通信しながらデータを収集する方法に比較して、通信によるデータの喪失なくデータを収集できる。これにより、制御対象に関連付けられたデータから制御対象を精度よくモニタすることを可能にする表示データの生成が可能となる。
データ収集ツール227の読出周期は、制御装置100において1つのCSVファイル132を、たとえばFIFO(First in, First out)とリングバッファの仕組みで繰返し利用することができるように、予め定められる。すなわち、この読出周期は、CSVファイル132のデータ上書きがなされる前に、データ収集ツール227によるCSVファイル132(データ)の読出しがなされるような周期に定められる。たとえば、読出周期は、1制御周期あたりの書込みデータ量が予め定められている場合は、制御演算を実施する周期と、CSVファイル132のサイズ(より特定的には容量)に基づき、予め定められ得る。
なお、図4では、制御システム1は、制御装置100とは、別に表示装置200を含むが、制御装置100が表示装置200を一体的に備えてもよい。
以下、本発明のより具体的な応用例として、本実施の形態に係る制御システム1のより詳細な構成および処理について説明する。
<B.制御システムの全体構成例>
本実施の形態に係る制御システム1の全体構成例について説明する。
図1は、本実施の形態に係る制御システム1の全体構成例を示す模式図である。図1を参照して、本実施の形態に係る制御システム1は、主たる構成要素として、制御対象を制御する制御装置100と、制御装置100に接続され得る表示装置200とを含む。表示装置200は、通信または記憶媒体を介して、制御装置100とデータを遣り取りする。
制御装置100は、PLC(プログラマブルコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、第1フィールドネットワーク2を介してフィールド装置群10と接続されるとともに、第2フィールドネットワーク4を介して1または複数の装置400と接続される。さらに、制御装置100は、ローカルネットワーク6を介してデータロギング装置600に接続される。制御装置100は、それぞれのネットワークを介して、接続された装置との間でデータを遣り取りする。なお、データロギング装置600および装置400はオプショナルな構成であり、制御システム1の必須の構成ではない。
制御装置100は、設備や機械を制御するための各種演算を実行する制御ロジック(以下、「PLCエンジン」とも称す。)を有している。PLCエンジンに加えて、制御装置100は、フィールド装置群10にて計測され、制御装置100へ転送されるデータ(以下、「入力データ」とも称す。)を収集するモジュールを有している。さらに、制御装置100は、収集した入力データを監視するモジュールも有している。これらのモジュールが制御装置100に実装されることで、制御装置100は制御対象に生じている現象を監視することができる。
具体的には、制御装置100に実装される内部データベース(以下、「内部DB」とも記す。)130が収集モジュールを提供し、制御装置100に実装される異常検知エンジン140が監視モジュールを提供する。内部DB130および異常検知エンジン140の詳細については後述する。
第1フィールドネットワーク2および第2フィールドネットワーク4は、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
フィールド装置群10は、制御対象または制御に関連する製造装置や生産ラインなど(以下、「フィールド」とも総称する。)から入力データを収集する装置を含む。このような入力データを収集する装置としては、入力リレーや各種センサなどが想定される。フィールド装置群10は、さらに、制御装置100にて生成される指令(以下、「出力データ」とも称す。)に基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのフィールド装置群10は、第1フィールドネットワーク2を介して、制御装置100との間で、入力データおよび出力データを含むデータを遣り取りする。
図1に示す構成例においては、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、画像センサ18およびカメラ20と、サーボドライバ22およびサーボモータ24とを含む。
リモートI/O装置12は、第1フィールドネットワーク2を介して通信を行う通信部と、入力データの取得および出力データの出力を行うための入出力部(以下、「I/Oユニット」とも称す。)とを含む。このようなI/Oユニットを介して、制御装置100とフィールドとの間で入力データおよび出力データが遣り取りされる。図1には、リレー群14を介して、入力データおよび出力データとして、デジタル信号が遣り取りされる例が示されている。
I/Oユニットは、フィールドネットワークに直接接続されるようにしてもよい。図1には、第1フィールドネットワーク2にI/Oユニット16が直接接続されている例を示す。
画像センサ18は、カメラ20によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置100へ送信する。
サーボドライバ22は、制御装置100からの出力データ(たとえば、位置指令など)に従って、サーボモータ24を駆動する。
上述のように、第1フィールドネットワーク2を介して、制御装置100とフィールド装置群10との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数百μsecオーダ〜数十msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理を、「I/Oリフレッシュ処理」と称することもある。
また、第2フィールドネットワーク4を介して制御装置100と接続される装置400は、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置100での演算結果などをグラフィカルに表示する。
データロギング装置600は、制御装置100とローカルネットワーク6を介して接続され、制御装置100との間で必要なデータを遣り取りする。データロギング装置600は、たとえば、データベースを有しており、制御装置100が発生するイベントログなどを時系列に収集する。ローカルネットワーク6には、イーサネット(登録商標)などの汎用プロトコルが実装されてもよい。すなわち、典型的には、ローカルネットワーク6におけるデータの送信周期または更新周期は、フィールドネットワーク(第1フィールドネットワーク2および第2フィールドネットワーク4)におけるデータの送信周期または更新周期より遅くてもよい。但し、ローカルネットワーク6は、フィールドネットワークに比較して、一度により多くのデータを送信することができるようにしてもよい。
表示装置200は、制御装置100が制御対象を制御するために必要な準備を支援する装置である。表示装置200は、例えば、制御装置100および制御装置100に接続される各種デバイス(制御対象を含み得る)のデータをモニタする環境、モニタに関するパラメータを含む各種パラメータ(コンフィギュレーション)を設定するための設定環境などを提供する。
また、表示装置200は、生成したユーザプログラムを制御装置100へ送信する環境、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更する環境をなども提供し得る。
さらに、本実施の形態に係る表示装置200は、制御装置100に実装される内部DB130の後述する時系列のデータを用いて異常検知パラメータ136などを決定する環境も提供する。
<B-1.各装置のハードウェア構成例>
次に、本実施の形態に係る制御システム1を構成する主要な装置のハードウェア構成例について説明する。
(b1:制御装置100のハードウェア構成例)
図2は、本実施の形態に係る制御システム1を構成する制御装置100のハードウェア構成例を示すブロック図である。図2を参照して、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、ローカルネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ122と、フィールドバスコントローラ118,120と、I/Oユニット124−1,124−2,…とを含む。
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。チップセット104は、プロセッサ102と各コンポーネントを制御することで、制御装置100全体としての処理を実現する。
二次記憶装置108には、PLCエンジンを実現するためのシステムプログラムに加えて、PLCエンジンを利用して実行されるユーザプログラムが格納される。さらに、二次記憶装置108には、内部DB130および異常検知エンジン140を実現するためのプログラムも格納される。
ローカルネットワークコントローラ110は、ローカルネットワーク6を介した他の装置との間のデータの遣り取りを制御する。USBコントローラ112は、USB接続を介して表示装置200との間のデータの遣り取りを制御する。
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124−1,124−2,…との間でデータを遣り取りするインターフェイスである。
フィールドバスコントローラ118は、第1フィールドネットワーク2を介した他の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ120は、第2フィールドネットワーク4を介した他の装置との間のデータの遣り取りを制御する。
図2には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(b2:表示装置200のハードウェア構成例)
次に、本実施の形態に係る表示装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコン)を用いてプログラムを実行することで実現される。
図3は、本実施の形態に係る制御システム1を構成する表示装置200のハードウェア構成例を示すブロック図である。図3を参照して、表示装置200は、CPUやMPUなどのプロセッサ202と、ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、ローカルネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するような各種処理を実現する。
二次記憶装置208は、比較的大きな記憶容量を有する。二次記憶装置208は、たとえば、HDD(Hard Disk Drive)またはSSD(Flash Solid State Drive)などを含む。二次記憶装置208には、典型的には、表示装置200において実行されるユーザプログラムを含む各種のプログラムおよびデータが格納される。具体的には、二次記憶装置208には、データ収集ツール227、視覚化ツール230、後述するデータマイニングツール226、および後述する画面作成ツール229を含む設定ツール228、および関連のデータが格納される。関連データには、後述する変数テーブル2281が含まれる。二次記憶装置208には、OSおよび他の必要なプログラムが格納されてもよい。
ドライブ204は、メモリカード116または記憶媒体205を着脱可能に構成される。ドライブ204は、メモリカード116または記憶媒体205に対してデータを書込み、メモリカード116または記憶媒体205から各種データ(ユーザプログラム、トレースデータまたは時系列データなど)を読出すことが可能になっている。記憶媒体205は、たとえばコンピュータ読取可能なプログラムを非一過的に格納する記憶媒体205(たとえば、DVD(Digital Versatile Disc)などの光学記憶媒体)を含む。メモリカード116または記憶媒体205から、その中に格納されたプログラムまたはデータが読取られて二次記憶装置208などの内部の記憶領域にインストールされる。
表示装置200で実行される各種プログラムは、コンピュータ読取可能なメモリカード116または記憶媒体205を介してインストールされてもよいが、ネットワーク上のサーバー装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係る表示装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
USBコントローラ212は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。ローカルネットワークコントローラ214は、任意ネットワークを介した他の装置との間のデータの遣り取りを制御する。USBコントローラ212が、制御装置100と遣り取りするデータは、たとえば時系列DB131のCSVファイル132、後述する異常検知パラメータ136および学習データ134を含む。なお、表示装置200が制御装置100とデータを遣り取りするためのツールは、USBコントローラ212に限定されず、イーサネット(登録商標)であってもよい。
入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部218は、ディスプレイ、各種インジケータなどで構成され、プロセッサ202からの処理結果などの情報を出力する。表示装置200にはプリンタが接続されてもよい。表示装置200は、入力部216と表示部218を一体的に備えるタッチパッド217を備えてもよい。
図3には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
(b3:データロギング装置600のハードウェア構成例)
次に、本実施の形態に係る制御システム1を構成するデータロギング装置600は、一例として、汎用的なファイルサーバまたはデータベースサーバを用いて実現できる。このような装置のハードウェア構成については公知であるので、ここでは、その詳細な説明は行わない。
(b4:装置400のハードウェア構成例)
次に、本実施の形態に係る制御システム1を構成する装置400は、HMI(Human Machine Interface)装置と称されるものであり、専用機として実装された構成を採用してもよいし、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。
<C.制御システム1が提供する環境>
再び図4を参照して、本実施の形態に係る制御システム1の各装置が提供する環境を説明する。本実施の形態では、表示装置200は、例えば汎用のOS(例えば、Windows(登録商標))のもとで各プログラムを実行する。
<C−1.表示装置200が提供する環境>
図4を参照して、表示装置200は、制御装置100と通信するための通信ミドルウェア238、データ収集ツール227、大容量のメモリ107、AI(Artificial Intelligence)アプリ232を備える視覚化アプリ231、データマイニングツール226、視覚化ツール230、および制御装置100の情報を設定するための設定ツール228を備える。
メモリ107は、HDDなどの二次記憶装置208の一部の領域に対応する。データ収集ツール227は、上記の読出周期に従い、CSVファイル132の要求コマンドを出力する。制御装置100の内部DBアクセスプログラム164は、データ収集ツール227から要求コマンドを受付けると、時系列DB131からCSVファイル132を読出し、表示装置200で送信する。これにより、データ収集ツール227は、制御装置100の時系列DB131からCSVファイル132を読出すことができる。
また、データ収集ツール227は、制御装置100から受付けたCSVファイル132をメモリ107に格納する。データ収集ツール227は、メモリ107において、CSVファイル132をフォルダ単位で管理する。管理において、データ収集ツール227は、各フォルダに制御装置100から当該フォルダを受付けた順番に従う名前(識別子)を付して管理する。これにより、メモリ177では、制御装置100の制御対象に関連付けされたデータは、観測の順番に従う時系列で管理される。
データマイニングツール226は、例えば、CSVファイル132の内容から、機械学習を実行することにより、実行結果に基づき、制御対象に生じる異常を検知するのに適した異常検知パラメータ136および学習データ134を生成する。データマイニングツール226による異常検知パラメータ136および学習データ134の生成は、異常検知パラメータ136および学習データ134の決定と、調整(変更)の概念を含み得る。
設定ツール228は、画面作成ツール229および操作受付ツール234を含む。操作受付ツール234は、制御システム1に対するユーザの操作を受ける「操作受付手段」の一実施例である。操作受付ツール234は、例えば入力部216の操作内容(キーボード操作、マウス操作など内容)を指令に変換する。画面作成ツール229は、例えば表示部218に表示される画面のデータを作成する。
設定ツール228は、制御装置100に設定するべき情報を、通信ミドルウェア238を介して転送する。このような情報は、制御装置100の設定ファイル135に設定(格納)される。設定ツール228が設定する設定ファイル135に内容は、ユーザ操作に基づく、サンプリング(収集)したいデータの種類を含む。また、設定ファイル135には、サンプリングしたいデータの種類について収集周期が含まれてもよい。また、設定ファイル135には、モニタするべきイベントの種類を表す情報が含まれてもよい。また、設定ファイル135には、機械学習の結果である学習データ134および異常検知パラメータ136などが含まれてもよい。
また、本実施の形態では、設定ファイル135には、モニタするべきデータを指定する情報が含まれる。モニタするべきデータとしては、制御装置100の動作状態を表すデータ(後述するシステム変数1542)が含まれてもよい。
視覚化ツール230は、CSVファイル132の内容に基づき、当該内容を視覚可能な情報(例えば画像)を生成する。視覚化ツール230は、第1視覚化ツール2301および第2視覚化ツール2302を備える。第1視覚化ツール2301は、制御対象で発生するイベントに関連した情報を視覚化して表示する表示データを生成する。第2視覚化ツール2302は、制御装置100において、学習データ134および異常検知パラメータ136に基づき、制御対象に関連付けされたデータが異常検知条件を満たすと判断された場合に、CSVファイル132の時系列のデータから、当該異常検知条件を満たす時間に対応する部分データを抽出して視覚化して表示する。
視覚化ツール230は、表示データを作成する場合に、AIアプリ232を備える視覚化アプリ231を起動する。視覚化アプリ231は起動されると、CSVファイル132の内容から表示データを作成する。このとき、視覚化アプリ231は、視覚化ツール230の設定に従い、且つ画面作成ツール229のライブラリを参照しながら、CSVファイル132の内容から表示データを作成する。視覚化ツール230および視覚化アプリ231が生成する表示データは、設定ツール228を介して表示部218に出力される。
表示装置200の上記に述べた各部は、プログラムまたは回路(ASIC,FPGAなど)を含んで提供され得る。
<C−2.制御装置100が提供する環境>
制御装置100は、内部DB130、異常検知エンジン140およびPLCエンジン150を備える。これらは、基本的には、制御装置100のプロセッサ102(図2)が、OS190の制御のもとでプログラムを実行することで実現される。
内部DB130が格納する情報は、CSVファイル132を格納する時系列DB131、学習データ134、および設定ファイル135を含む。設定ファイル135の内容の詳細は後述するが、学習データ134は、設定ファイル135の中に含まれてもよい。
PLCエンジン150は、典型的には、OS190上でシステムプログラムおよび制御プログラム160などのユーザプログラムが実行されることで提供される。より具体的には、PLCエンジン150は、カウンタ153、スケジューラ152、変数マネジャ154および制御プログラム160を含む。
スケジューラ152は、PLCエンジン150を構成する各プログラム(あるいは、それに対応するタスク)の実行タイミングや実行順序などを制御する。カウンタ153は、表示装置200の図示しないタイマの出力に同期して値をカウントする。表示装置200のタイマは、制御装置100の図示しないタイマと時刻合わせを行うので、カウンタ153は、制御装置100のタイマと同期したカウント値を出力することができる。
変数マネジャ154は、PLCエンジン150で利用可能な値を変数の形で管理する。より具体的には、PLCエンジン150において周期的に実行されるI/Oリフレッシュ処理によって更新されるデータを変数として管理する。変数マネジャ154が管理する変数は、制御装置100の状態などを示すシステム変数1542とユーザ変数・デバイス変数1544を含む。ユーザ変数・デバイス変数1544は、制御装置100とローカルバスまたはフィールドバスを介して接続される各種デバイスが保持する値を示すデバイス変数、および制御装置100で実行される制御プログラム(ユーザプログラム)160が保持する値を示すユーザ変数の両方を含む。
本実施の形態では、制御対象に関連付けされるデータは、主に、ユーザ変数・デバイス変数1544として収集され得る。また、上記に述べたモニタするべきイベントのデータは、システム変数1542として収集され得る。
制御プログラム160は、ユーザが任意に作成可能なユーザプログラムに相当し、典型的には、シーケンス/モーションプログラム162、内部DBアクセスプログラム164、時系列DBプログラム163、異常検知エンジンインターフェイス166、および特徴量生成プログラム174を含む。制御プログラム160を構成するプログラムの命令は、一体のプログラムとして記述されてもよいし、複数のプログラムにそれぞれ分離して記述されてもよい。
シーケンス/モーションプログラム162は、制御対象を制御するための論理演算および/または数値演算を行う命令を含む。内部DBアクセスプログラム164は、表示装置200から受信した設定を、内部DB130の設定ファイルに135に設定(格納)する。また、内部DBアクセスプログラム164は、表示装置200からの読出要求に応じて、CSVファイル132を読出し、表示装置200へ転送する。
時系列DBプログラム163は、ユーザ変数・デバイス変数1544に含まれる変数のうち、予め指定された変数のデータ(すなわち、設定ファイル135に設定されたI/Oデータ)を選択し、時系列DB131のCSVファイル132に書込む。また、時系列DBプログラム163は、システム変数1542に含まれる変数のうち、予め指定された変数のデータ(すなわち、設定ファイル135に設定されたイベントのデータ)を選択し、時系列DB131のCSVファイル132に書込んでもよい。また、時系列DBプログラム163は、設定ファイル135の内容に従い、異常検知エンジン140から出力される特徴量148およびスコア値147を、時系列DB131のCSVファイル132に書込んでもよい。
時系列DB131は、CSVファイル132に書込まれるべきデータを、タイムスタンプを付して時系列DB131に書込む。このタイムスタンプの値は、典型的には、カウンタ153から出力されるカウンタ値である。
また、時系列DBプログラム163は、例えば、周期格納プログラム1631を備えてもよい。周期格納プログラム1631は、ユーザ変数・デバイス変数1544に含まれる変数のうち、予め指定された変数のデータ(設定ファイル135に設定されたI/Oデータ)を、設定ファイル135で指定される異なる周期でサンプリングし、サンプリングされた各周期のデータを、タイムスタンプを付してCSVファイル132に格納してもよい。
異常検知エンジンインターフェイス166は、異常検知エンジン140を操作するための命令を含む。具体的には、異常検知エンジンインターフェイス166は、異常検知エンジン140に対して、異常検知パラメータ136を用いた特徴量の抽出を指示する命令と、異常検知パラメータ136を用いて特徴量を監視し、異常検知を指示する命令を含む。
特徴量生成プログラム174は、予め指定された特徴量の生成手法に従って、ユーザ変数・デバイス変数1544の指定された変数を用いて特徴量を生成する命令を含む。表示装置200により、制御対象に応じて適切な特徴量の生成手法が決定される。すなわち、特徴量生成プログラム174は、制御対象に関連するデータから制御対象に生じる異常を検知するのに適した特徴量を生成する。
異常検知エンジン140では、特徴量抽出部142は、特徴量生成プログラム174の実行により生成される特徴量から、異常検知パラメータ136のフレームパラメータ1363が示すフレーム内において、指定特徴量1362が示す種類の特徴量を抽出する。本実施の形態では、フレームは、異常検知エンジン140による異常検知を実施する時間(期間)である。特定的には、異常検知エンジンインターフェイス166は、このフレームの時間において、異常検知エンジン140を操作するための上記の命令を出力する。これにより、フレームにおいて、異常検知エンジン140による異常検知を実施され得る。
異常検知部144は、特徴量抽出部142が抽出した特徴量を、学習データ134と比較し、比較結果から学習データ134からの乖離の度合の評価値であるスコア値147を出力する。また、異常検知部144は、スコア値147が、異常検知パラメータ136のしきい値1361を超えるか否かに基づき、異常の有無を検知する。また、異常検知部144は、異常の検知に用いた特徴量148とスコア値147を出力するとともに、何らかの異常を検知すると、検知した内容を示すイベントログ146を出力する。なお、時系列DBプログラム163は、イベントログ146をCSVファイル132に格納してもよい。
<D.データマイニングツール>
次に、本実施の形態に係る制御システム1が提供するデータマイニングツールについて説明する。本実施の形態では、表示装置200が備えるデータマイニングツール226を用いて、制御装置100で収集した制御対象に関連付けられたデータを格納したCSVファイル132をもとに、異常検知を含む監視処理に必要な設定、例えば異常検知パラメータ136および学習データ134の設定がなされる。
図5は、本実施の形態に係るデータマイニング工程とその関連工程を説明するための模式図である。図5では、データマイニングツール226の工程(1)〜(4)に関連付けて、制御装置100の異常検知エンジン140が実施する監視処理の工程(5)が示される。
図5では、例えば、制御装置100からのCSVファイル132の制御対象に関連付けられた時系列データ、すなわち設定ファイル135により予め指定されたユーザ変数・デバイス変数1544の時系列データについてデータマイニングを実施するが、データマインング対象はCSVファイル132のデータに限定されない。例えば、データマインング対象には、入力部216からのユーザ操作により指定されるデータを加えてもよい。
まず、(1)データ収集工程が実施される。(1)データ収集工程では、表示装置200は、制御装置100からCSVファイル132を受信し、例えば二次記憶装置208などに格納する。
次に、(2)データマイニング工程が実施される。(2)データマイニング工程においては、表示装置200は、二次記憶装置208に書込まれた時系列データが読込まれ、異常検知手法を決定する。具体的には、データマイニングツール226を用いてユーザが表示装置200の入力部216を操作し、CSVファイル132からデータを読出して解析することで、特徴量の生成手法および異常検知手法を決定する。
次に、(3)特徴量生成工程が実施される。(3)特徴量生成工程においては、(2)データマイニング工程で決定された特徴量の生成手法が適用されることで、CSVファイル132のデータから特徴量が生成される。
(3)特徴量生成工程は、表示装置200は、例えば、制御装置100の特徴量生成プログラム174と同様の特徴量生成プログラムを用いて、CSVファイル132のデータから特徴量を生成する。
次に、(4)特徴量学習工程が実施される。(4)特徴量学習工程においては、データマイニングツール226は、(3)特徴量生成工程において生成された特徴量に対して機械学習を実行し、この機械学習の結果から、入力部216からのユーザ操作に基づき、異常検知パラメータ136(しきい値1361、指定特徴量1362、フレームパラメータ1363)および学習データ134を決定する。
上記に述べた(1)〜(4)の工程によって、表示装置200は、異常検知に用いる特徴量の定義、および、異常であると判断するための異常検知パラメータ136および学習データ134などを決定することができる。データマイニングツール226が決定した学習データ134および異常検知パラメータ136は、制御装置100に転送されて設定ファイル135に設定(格納)される。
制御装置100では、表示装置200のデータマイニングツール226が決定した学習データ134および異常検知パラメータ136を用いて、(5)特徴量監視工程を実施する。(5)特徴量監視工程では、上記に述べた特徴量生成プログラム174による特徴量の生成と、異常検知エンジン140によるスコア値147および判定に用いた特徴量148が出力される。また、異常検知の内容を示すイベントログ146が出力される。
<E.設定ツール>
表示装置200の設定ツール228を説明する。図6は、本実施の形態に係る設定ツールによる表示画面の一例を模式的に示す図である。図7は、本実施の形態に係る設定ツールによる表示画面の他の例を模式的に示す図である。本実施の形態では、設定ツール228は、二次記憶装置208の変数テーブル2281から、CSVファイル132を用いて収集するべきデータをユーザが選択するためのUI(User Interface)を提供する。UIは、表示部218に表示される画面であって、画面作成ツール229により作成される画面を含む。
変数テーブル2281は、ユーザ変数・デバイス変数1544とシステム変数1542が示すデータのリストを含む。設定ツール228は起動されると、変数テーブル2281の内容を読出す。画面作成ツール229は、読出された内容のリストを表す画面の表示データを作成する。設定ツール228は、作成された表示データを表示部218に出力する。
ユーザ変数・デバイス変数1544のためのUIとして、表示部218には、例えば図6の画面が表示される。図6の画面を参照して、画面はタブ1281、タブ1282、アイコン1284、タブ1290、タブ1291およびタブ1292、リスト1283およびウィンドウ1289を含む。タブ1281とタブ1282により、当該画面は、ユーザ変数・デバイス変数1544のうちから収集すべきデータの変数を登録するための画面であることの通知がユーザに提示される。また、リスト1283は、ユーザ変数・デバイス変数1544とシステム変数1542が示すデータのリスト(変数名、データ型、収集の周期)の一覧を示す。ユーザはリスト1283から収集対象として登録したい変数を、例えば入力部216を操作することにより指定する。また、ユーザーは、各変数について収集周期を設定する。
収集周期は、例えば、制御装置100の制御周期(T)を基本として設定することができる。したがって、ユーザは、頻繁に収集しなくてすむ変数には、制御周期よりも長い周期(2T、3Tなど)を設定することができる。
なお、基本となる周期は制御周期に限定されず、例えば、制御周期(T)より長いフレームに基づく周期、またはタクトタイムに基づく周期であってもよい。本実施の形態では、フレームとなる時間間隔は、例えばタクトタイムに依存した時間幅に相当する。例えば制御対象となる機器が包装機器の場合であれば、フレームは、包装材を切るカッタのアームの動作周期などのタクトタイムに依存した時間幅に相当する。
アイコン1284は、制御装置100から表示装置200へCSVファイル132を転送(インポート)する場合に操作される。アイコン1284が操作されると、データ収集ツール227は、上記の読出要求を制御装置100に送信する。
ウィンドウ1289は、CSVファイル132を用いたデータの収集の開始と終了の時間が示される。この時間は、上記に述べたような読出周期に相当する。読出周期は、スケジューラ152が制御プログラム160のシーケンス/モーションプログラム162による制御演算を実行する周期と、CSVファイル132のサイズに基いている。
タブ1292は、リスト1283で指定された変数のデータの収集開始または収集終了を制御装置100に対して指令するために操作される。したがって、タブ1292を操作することでも、制御装置100に対して、ウィンドウ1289に基づく時間で、リスト1283で指定された変数のデータの収集開始と収集終了を指令することができる。
また、システム変数1542のためのUIとして、表示部218には、例えば図7の画面が表示される。図7の画面を参照して、タブ1281、リスト1293、リスト1294、ウィンドウ1295、ウィンドウ1289、タブ1290、タブ1291およびタブ1292およびを含む。タブ1281により、当該画面は、システム変数1542のうち収集すべきイベントの変数を登録するための画面であることの通知が、ユーザに提示される。また、リスト1293は、ユーザが操作して選択されたイベントの種類(イベント名、ID)の一覧を示す。
図7の画面では、設定ツール228は、リスト1293でイベントの登録の操作を受付けると、操作されたイベントの種類に関連するシステム変数1542およびユーザ変数・デバイス変数1544を変数テーブル2281から検索し、リスト1294で表示する。また、ユーザは、当該イベントの種類に関連するユーザ変数・デバイス変数1544のデータを収集する期間を、フレーム変数としてウィンドウ1295に設定することができる。
設定ツール228は、図6または図7のUIでユーザ操作により設定された内容を、制御装置100の設定ファイル135に設定する。制御装置100は、図6または図7のUIで設定された設定ファイル135を用いることで、時系列DBプログラム163(または周期格納プログラム1631)に、制御対象に関連付けられたデータを異なる周期でサンプリングさせて、サンプリングされた各周期のデータを時系列でCSVファイル132に格納させることができる。この異なる周期は、例えば、フレームの周期、フレームよりも短い制御周期、制御周期、制御周期よりも長い周期などを含み得る。
また、図6または図7のUIで設定された設定ファイル135を用いることで、時系列DBプログラム163(または周期格納プログラム1631)に、制御対象に関連付けられた同じ種類のデータを、上記の異なる周期でサンプリングさせて、サンプリングされた各周期のデータを時系列でCSVファイル132に格納させることもできる。
<F.設定ファイル>
図8は、本実施の形態に係る設定ファイル135の内容の一例を模式的に示す図である。図8を参照して、設定ファイル135は、図6または図7のUIにより設定された、ユーザ変数・デバイス変数1544とシステム変数1542の複数の変数名1461を含む。設定ファイル135は、さらに、各変数名1461に関連付けて、データ収集の周期1462、イベントの種類に対応するイベント変数1463、異常検知パラメータ136、学習データ134およびフレームの周期を示すフレーム設定1465を含む。
なお、図8では、フレーム設定1465には、サブフレームの設定が含まれてもよい。また、学習データ134は比較的サイズの大きいデータである場合は、設定ファイル135は学習データ134に代えて、二次記憶装置108に予め格納された学習データ134へのポインタを含んでもよい。
<G.CSVファイル>
図9は、本実施の形態に係るCSVファイル132の一例を模式的に示す図である。図9を参照して、CSVファイル132は、複数のレコード1324を含む。レコード1324は、カウンタ153が出力するカウンタ値1321をタイムスタンプとして有する。さらにレコード1324は、カウンタ値1321の時間で収集されたデータ1322とデータ1323を含む。データ1322は、設定ファイル135の変数名1461で指定されたユーザ変数・デバイス変数1544またはシステム変数1542のデータを含む。データ1323は、設定ファイル135のイベント変数1463で指定されたシステム変数1542のデータを含む。
本実施の形態では、イベント変数の値は、イベントが発生したことを示す「1」または発生していないことを示す「0」を含む。図9のデータ1322により、各変数のデータは、設定ファイル135の対応の周期1462で収集されていることが示される。
また、図9のCSVファイル132のレコード1324には、異常検知エンジン140による異常検知結果のデータがリンクされる。このリンクは、同じカウンタ値1321を有する(すなわち、同じ時間になされた)異常検知の結果と収集データのレコード1324とを関連付ける。異常検知の結果は、カウンタ値1321と、判断に用いられた特徴量148、スコア値147およびイベントログ146を含む。
図9のCSVファイル132の構造によれば、上記のリンクがなされることで、イベントログ146が「異常あり」を示す場合に、当該異常検知の判断に用いられた特徴量148とスコア値147と、当該異常検知時に収集されたデータ1322および1323を関連付けて収集することができる。
<H.CSVファイルの表示例>
図10は、本実施の形態に係るCSVファイル132の表示の一例を模式的に示す図である。視覚化ツール230は、視覚化アプリ231を用いて、CSVファイル132を視覚化するための画像を生成し、生成した画像の表示データを表示部218に出力する。例えば、視覚化の画面は、図10に示すように、収集されたデータは、収集時間を示すカウンタ値1321で関連付けされて表形式で表示される。また、アイコン2810により、当該データが収集された期間も表示される。なお、CSVファイル132の表示は表形式に限定されず、トレンドグラフであってもよい。
図11は、本実施の形態に係るCSVファイル132の表示の他の例を模式的に示す図である。第1視覚化ツール2301は、CSVファイル132の時系列のデータを検索して、時系列のデータから、イベントが検知された時間に対応する部分データを抽出して視覚化して表示する表示データを生成する。この表示データにより、表示部218には、例えば図11の画面が表示され得る。
図11の画面は、イベント発生時の分析のための情報も提供し得る。具体的には、図11の画面では、イベントのデータ1323の値の変化と、当該イベントのデータに関連した変数のデータ1322の変化を示すトレンドグラフが、同一時間軸で表示されている。図11のデータ1322は、イベントのデータ1312の値の変化の間において収集されたデータを含む。
ユーザは、図11の画面において、イベントを解析するために、アイコン126を操作する。設定ツール228は、アイコン126を用いたユーザーの操作内容から、データ1322の変化を示すトレンドグラフの部分T2を指定する。設定ツール228は操作内容に従い、トレンドグラフの指定された部分T2の時間を、特徴量を生成する時間、すなわちフレームパラメータ1363として設定する。
このように、イベント発生時に、ユーザに提供されるデータ1322の時系列の変化を示すトレンドグラフから、ユーザはイベント発生の原因を分析するための支援情報を得ることができる。ここでは、支援情報として、フレームパラメータ1363の設定を支援する情報としたが、支援情報は、フレームパラメータ1363の設定を支援する情報に限定されない。
また、フレームパラメータ1363の他の設定方法として、ユーザは、イベント発生からの経過時間T1を用いて設定してもよい。これにより、イベント発生からの経過時間T1が経過したときに、異常検知エンジン140による異常検知を開始することを指示するフレームパラメータ1363を設定することができる。この場合、設定ツール228は、設定ファイル135に設定されるように、図11の画面における変更後の期間(部分T2)を示すフレームパラメータ1363を制御装置100に転送する。
また、ユーザがアイコン126を操作して、データ1322の時系列の変化を示すトレンドグラフの一部を指定した場合、視覚化ツール230は、指定された部分の時間に該当するデータ133のみをCSVファイル132から検索して、表示部218に、例えば拡大表示などさせるとしてもよい。
また、視覚化ツール230の第2視覚化ツール2302は、CSVファイル132のイベントログ146は「異常有り」を示す場合、すなわちスコア値147が予め定められた異常検知条件(例えば、スコア値147>しきい値1361)を満たす場合に、CSVファイル132を検索して、データ1322の時系列のデータから、当該異常検知条件を満たす時間に対応する部分データを抽出する。そして、第2視覚化ツール2302は、抽出した部分データを視覚化して表示する表示データを生成し、表示部218に出力する。例えば、この表示データは、時系列のトレンドグラフとして表示されてもよい。
これにより、ユーザーに対して、異常有りと判断された時に収集された変数のデータ1322の時系列の変化を提示することができる。
また、第1視覚化ツール2301または第2視覚化ツール2302により抽出されるデータは、判断に用いた特徴量148であってもよい。この場合は、イベント発生時、または異常検知時に、異常検知エンジン140が異常検知の判断に用いた特徴量148の時系列の変化を提示することができる。
<I.データ収集のシナリオ>
本実施の形態における、時系列DBプログラム163によるCSVファイル132を用いて収集されるデータは、制御装置100の異常検知エンジン140のための機械学習(学習データ134および異常検知パラメータ136の取得)に使用され得る。
このようなデータの収集は、ユーザがイベント(制御装置100で発生していている事象)を把握している場合のデータ収集と、イベントの把握をしていないまま「とりあえず」するデータ収集とを含み得る。この2つのデータ収集のシナリオを説明する。
図12は、本実施の形態に係るデータ収集のシナリオの一例を模式的に示す図である。図12は、上記の「とりあえず」のデータ収集の一例である。図12のステップS2とステップS3は、ユーザ操作による処理を示す。
図12を参照して、ユーザの操作内容に基づき、設定ツール228は収集する変数または収集周期を受付ける(ステップS1)。ユーザは入力部216を操作して指定特徴量1362およびフレームパラメータ1363を入力する(ステップS2とステップS3)。また、設定ツール228は、収集時間(収集開始時間と終了時間)を登録する(ステップS4)。設定ツール228は、ステップS1〜ステップS3で受付けた内容を、制御装置100に送信する(ステップS5)。これにより、制御装置100の設定ファイル135には、ステップS1〜ステップS3で設定された内容が設定される。
データ収集ツール227は、ステップS4で登録されたデータ収集時間を設定する(ステップS10)。また、時系列DBプログラム163は、設定ファイル135に内容に基づき、収集すべき変数、周期などのパラメータを内部DB130に設定する(ステップS15)。また、制御装置100は、ユーザ操作の内容に基づき、異常検知パラメータ136および学習データ134などのパラメータを内部DB130に設定する(ステップS18)。
データ収集ツール227が、ステップS10で設定されたデータ収集時間に基づきデータ収集開始と終了の指令を制御装置100に出力する(ステップS11)。稼働中の制御装置100において、時系列DBプログラム163は、指令されたデータ収集開始時間〜終了時間において、設定ファイル135で設定された変数について、設定された周期でデータを収集し(ステップS16)、異常検知エンジン140が出力するスコア値147および判定に用いた特徴量148を収集する(ステップS19)。時系列DBプログラム163は、これら収集したデータを時系列でCSVファイル132に格納する。
制御装置100は、表示装置200のデータ収集ツール227から読出要求を受付けたとき、CSVファイル132をエクスポート(制御装置100へ送信)する(ステップS17)。また、データ収集ツール227は、制御装置100からCSVファイル132を受付けて、メモリ107に格納する(ステップS12)。その後、視覚化ツール230には、制御装置100から受付けたCSVファイル132の中の時系列のデータを、視覚化して表示する表示データを生成する視覚化処理を実施する(ステップS41)。
図13は、本実施の形態に係るデータ収集のシナリオの他の例を模式的に示す図である。図13は、ユーザがイベント(制御装置100で発生していている事象)を把握している場合のデータ収集のシナリオを示す。なお、図13のシナリオは、「とりあえず」のデータ収集が実施された後のケースを示す場合もある。
図13では、ステップS21〜S24の処理は、ユーザの操作内容に基づき実施される。具体的には、設定ツール228は、上記で述べたように、図6または図7のUI画面を介してユーザ操作を受付けて、受付けた操作内容に基づく設定を、制御装置100の設定ファイル135に設定する。これにより、設定ファイル135には、収集する変数、収集の周期、異常検知パラメータ136、学習データ134などが、例えば図8のように設定される(ステップS35)。
また、データ収集ツール227は、収集開始時間と終了時間において指令を出力する(ステップS30、ステップS31)。時系列DBプログラム163は、データ収集の開始と終了に指令に従い、設定ファイル135の設定内容に従いデータを収集し、時系列でCSVファイル132に格納する(ステップS36)。
データ収集終了のとき、データ収集ツール227は読出要求を制御装置100に送信する。時系列DBプログラム163は、読出要求に応じて、CSVファイル132を表示装置200にエクスポート(送信)する(ステップS37)。データ収集ツール227は、制御装置100からCSVファイル132を受付けて、メモリ107に格納する(ステップS32)。その後、視覚化ツール230により、制御装置100から受付けたCSVファイル132の中の時系列のデータを、視覚化して表示する表示データを生成する視覚化処理が実施される(ステップS41)。
<J.変形例>
図14は、本実施の形態に係る制御システム1の変形例を示す模式図である。上記の実施の形態では、制御システム1は、制御装置100と、制御装置100から独立した表示装置200を含むが、制御装置100が表示装置200を一体的に備えてもよい。この一体的な構成を備える制御装置105を、図14を参照して説明する。
図14を参照して、制御装置105が提供する環境を実現するためのソフトウェア構成について説明する。これらのソフトウェアに含まれる命令コードは、適切なタイミングで読み出され、プロセッサ102によって実行される。
制御装置105は、スケジューラを備えるリアルタイムOS1045(例えば、OS190に相当)の元で実行されるPLCエンジン1043と、OS1046の元で実行されるモニタエンジン1044を含む。OS1046の元でモニタエンジン1044を実行する環境は、制御装置105が備える仮想計算機として提供される。
PLCエンジン1043は、変数マネジャ154を有するシステムプログラム1049と、ユーザプログラム1050を含む。ユーザプログラム1050は、制御プログラム160および異常検知エンジン140を含む。PLCエンジン1043の各プログラム(またはタスク)は、リアルタイムOS1045のスケジューラにより、制御周期に基づき、予め定められた優先度に従いスケジューリングされながら、実行される。
また、仮想計算機におけるモニタエンジン1044は、図4に示した表示装置200のデータ収集ツール227、視覚化ツール230、データマイニングツール226、および設定ツール228を備える。モニタエンジン1044の各ツールは、OS1046のもとで実行される。OS1046は、例えばWindows(登録商標)などのOSを適用することができるが、仮想計算機のためのOS1046の種類はWindowsに限定されない。
図14の制御装置105においては、PLCエンジン1043およびモニタエンジン1044が、対応のOSの元で実行されることにより、図4の制御システム1と同様の環境が提供される。PLCエンジン1043および仮想計算機において実行されるモニタエンジン1044は、対応のOSを介して、ハードウェアリソース1042を共有する。このようにハードウェアリソース1042を共用するために、制御装置105には、ハイパーバイザ1047がインストールされている。PLCエンジン1043および仮想計算機において実行されるモニタエンジン1044の各OSは、ハイパーバイザ1047を介して、ハードウェアリソース1042に格納されたCSVファイル132のアクセスおよび設定ファイル135のアクセスを実施する。また、収集開始指令および収集終了指令、ならびに読出要求も、ハイパーバイザ1047を介して、PLCエンジン1043とモニタエンジン1044との間で遣り取りされる。また、ハイパーバイザ1047は、ハードウェアリソース1042の通信I/F(Interface)1048を用いて、外部の入力部216から制御装置105に対するユーザ操作を受付けるとともに、モニタエンジン1044からの表示データを外部の表示部218に出力する。
このように、制御装置105が、表示装置200の各ツールを実行する仮想計算機を備えることで、制御装置100が表示装置200を一体的に備える構成を実現することができる。
<K.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
制御対象を制御する制御システム(1)であって、
制御対象に関連付けられたデータを時系列でファイル(132)に格納する時系列格納手段(163)と、
前記時系列格納手段から、前記時系列のデータを格納する前記ファイルを予め定められた読出周期で読出す読出手段(227)と、
前記読出手段により読出された前記ファイルの中の前記時系列のデータを、視覚化して表示する表示データを生成する視覚化手段(230)と、を備える、制御システム。
[構成2]
前記制御システムは、
前記制御対象の制御に係る制御演算を周期的に実行する周期実行手段(152)を、さらに備え、
前記読出周期は、前記制御演算を実行する周期と、前記ファイルのサイズに基いている、構成1に記載の制御システム。
[構成3]
前記時系列格納手段は、
予め設定される情報(135)に従い、前記制御対象に関連付けられたデータを異なる周期でサンプリングし、サンプリングされた各周期のデータを前記時系列でファイルに格納する周期格納手段(1631)を含む、構成1または2に記載の制御システム。
[構成4]
前記時系列格納手段は、
予め設定される情報に従い、前記制御対象に関連付けられた同じ種類のデータを異なる周期でサンプリングし、サンプリングされた各周期のデータを前記時系列でファイルに格納する周期格納手段(1631)を含む、構成1または2に記載の制御システム。
[構成5]
前記制御対象に関連付けられたデータは、当該制御対象で発生するイベントを検知したことを示すデータを含み、
前記視覚化手段は、前記時系列のデータから、前記イベントが検知された時間に対応する部分データを抽出して視覚化して表示する表示データを生成する第1視覚化手段(2301)を含む、構成1から4のいずれか1項に記載の制御システム。
[構成6]
前記制御対象に関連付けられたデータの種類は、当該制御対象の観測値(1322)を含む、構成1から5のいずれか1項に記載の制御システム。
[構成7]
前記制御対象に関連付けられたデータの種類は、当該制御対象の観測値から算出される特徴量(148)を含む、構成6に記載の制御システム。
[構成8]
前記制御対象に関連付けられたデータの種類は、当該制御対象の観測値から算出される特徴量と予め設定された学習結果との比較に基づく当該特徴量の評価値(147)を含む、構成6または7に記載の制御システム。
[構成9]
前記視覚化手段は、前記評価値が予め定められた異常検知条件(136)を満たす場合に、前記時系列のデータから、当該異常検知条件を満たす時間に対応する部分データを抽出して視覚化して表示する表示データを生成する第2視覚化手段(2362)を含む、構成8に記載の制御システム。
[構成10]
前記制御システムに対するユーザの操作を受付ける操作受付手段(234)を、さらに備え、
前記予め設定される情報は、前記操作受付手段が受付けた操作内容に基づいている、構成1から9のいずれか1項に記載の制御システム。
[構成11]
制御対象を制御する制御装置(105)であって、
制御対象に関連付けられたデータを時系列でファイルに格納する時系列格納手段(132)と、
前記時系列格納手段から、前記時系列のデータを格納する前記ファイルを予め定められた読出周期で読出す読出手段(163)と、
前記読出手段により読出された前記ファイルの中の前記時系列のデータを、視覚化して表示する表示データを生成する視覚化手段(230)と、を備える、制御装置。
[構成12]
制御対象を制御する制御装置(100)とデータを遣り取り可能な表示装置(200)であって、
前記制御装置は、制御対象に関連付けられたデータを時系列でファイル(132)に格納する時系列格納部(163)を備え、
前記表示装置は、
前記制御装置の前記時系列格納部から、前記時系列のデータを格納する前記ファイルを予め定められた読出周期で読出す読出手段(227)と、
前記周期読出手段により読出された前記ファイルの中の前記時系列のデータを、視覚化して表示する表示データを生成する視覚化手段(230)と、を備える、表示装置。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。