(57)【要約】【課題】制御対象での異常の有無を判断できる制御装置および制御システムにおける挙動を事後的に解析および検証できる構成を提供する。【解決手段】データ送信部は、第１のプロセス値および第２のプロセス値の時系列データを含む第１のデータと、特徴量算出部によりフレーム毎に算出される特徴量の時系列データを含む第２のデータと、異常監視部により出力される監視結果の時系列データを含む第３のデータとを送信可能に構成されている。第２のデータにおいては、特徴量と、各特徴量に対応するフレームを規定する第１のプロセス値とが関連付けられている。第３のデータにおいては、監視結果と、各監視結果に対応するフレームを規定する第１のプロセス値とが関連付けられている。【選択図】図１
2020047041.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御する制御装置であって、
前記制御対象に関連する第１のプロセス値に基づいて規定されるフレーム毎に、前記制御対象での異常の有無を判断する異常監視部と、
各フレームにおける前記制御対象に関連する第２のプロセス値に基づいてフレーム毎に特徴量を算出して前記異常監視部へ出力する特徴量算出部と、
前記異常監視部および前記特徴量算出部による処理に係るデータを格納する記憶部と、
前記記憶部に格納されるデータを外部へ送信するデータ送信部とを備え、
前記異常監視部は、前記特徴量算出部からフレーム毎の特徴量が入力されると、前記制御対象での異常の有無の判断結果を含む監視結果をフレーム毎に出力するように構成されており、
前記データ送信部は、
前記第１のプロセス値および前記第２のプロセス値の時系列データを含む第１のデータと、
前記特徴量算出部によりフレーム毎に算出される前記特徴量の時系列データを含む第２のデータと、
前記異常監視部により出力される前記監視結果の時系列データを含む第３のデータとを送信可能に構成されており、
前記第２のデータにおいては、前記特徴量と、各特徴量に対応するフレームを規定する前記第１のプロセス値とが関連付けられており、
前記第３のデータにおいては、前記監視結果と、各監視結果に対応するフレームを規定する前記第１のプロセス値とが関連付けられている、制御装置。
【請求項２】
前記異常監視部は、フレーム毎の特徴量に基づいて異常の可能性を示す度合いである監視スコアを算出し、当該算出した監視スコアの大きさに基づいて前記制御対象での異常の有無を判断する、請求項１に記載の制御装置。
【請求項３】
前記第３のデータの前記監視結果は、前記監視スコアと、前記監視スコアに基づく異常の有無を示す値とを含む、請求項２に記載の制御装置。
【請求項４】
前記データ送信部は、特定の１または複数のプロセス値の時系列データを含む第４のデータをさらに送信可能に構成されている、請求項１〜３のいずれか１項に記載の制御装置。
【請求項５】
前記特徴量算出部は、各フレーム内の前記制御対象に関連する第３のプロセス値に基づいて規定されるサブフレームにおける前記第２のプロセス値の時間変化に基づいて前記特徴量を算出するように構成されており、
前記第１のデータは、前記第３のプロセス値の時系列データをさらに含む、請求項１〜４のいずれか１項に記載の制御装置。
【請求項６】
前記第１のデータ、前記第２のデータ、前記第３のデータの各々は、各レコードに共通のタイマで管理されるタイムスタンプが付与されている、請求項１〜５のいずれか１項に記載の制御装置。
【請求項７】
前記第１のデータ、前記第２のデータ、前記第３のデータの各々は、レコード毎にインクリメントまたはデクリメントされるインデックスが各レコードに付与されている、請求項１〜６のいずれか１項に記載の制御装置。
【請求項８】
前記データ送信部は、ＨＴＴＰ（Hypertext Transfer Protocol）、ＨＴＴＰＳ（Hypertext Transfer Protocol Secure）、ＦＴＰ（File Transfer Protocol）、および、ＳＭＢ（Server Message Block）のうち、少なくとも１つの通信プロトコルでデータを送信する、請求項１〜７のいずれか１項に記載の制御装置。
【請求項９】
前記データ送信部は、前記第１のデータ、前記第２のデータ、前記第３のデータをＣＳＶ（Comma-Separated Values）形式で送信する、請求項１〜８のいずれか１項に記載の制御装置。
【請求項１０】
制御対象を制御する制御装置と、
前記制御装置からのデータを受付けるサーバ装置とを備え、
前記制御装置は、
前記制御対象に関連する第１のプロセス値に基づいて規定されるフレーム毎に、前記制御対象での異常の有無を判断する異常監視部と、
各フレームにおける前記制御対象に関連する第２のプロセス値に基づいてフレーム毎に特徴量を算出して前記異常監視部へ出力する特徴量算出部と、
前記異常監視部および前記特徴量算出部による処理に係るデータを格納する記憶部と、
前記記憶部に格納されるデータを外部へ送信するデータ送信部とを備え、
前記異常監視部は、前記特徴量算出部からフレーム毎の特徴量が入力されると、前記制御対象での異常の有無の判断結果を含む監視結果をフレーム毎に出力するように構成されており、
前記データ送信部は、
前記第１のプロセス値および前記第２のプロセス値の時系列データを含む第１のデータと、
前記特徴量算出部によりフレーム毎に算出される前記特徴量の時系列データを含む第２のデータと、
前記異常監視部により出力される前記監視結果の時系列データを含む第３のデータとを送信可能に構成されており、
前記第２のデータにおいては、前記特徴量と、各特徴量に対応するフレームを規定する前記第１のプロセス値とが関連付けられており、
前記第３のデータにおいては、前記監視結果と、各監視結果に対応するフレームを規定する前記第１のプロセス値とが関連付けられている、制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、制御対象での異常の有無を判断できる制御装置および制御システムに関する。
【背景技術】
【０００２】
様々な生産現場において、ＰＬＣ（プログラマブルコントローラ）などの制御装置を用いたＦＡ（Factory Automation）技術が広く普及している。近年の情報通信技術（ＩＣＴ：Information and Communication Technology）の発展に伴って、このようなＦＡ分野における制御装置もますます高性能化および高機能化している。
【０００３】
このような技術発展に伴って、より多くの製造現場からの情報を活用することが提案されている。例えば、特開２００４−０６２２７６号公報（特許文献１）は、工作機械・製造装置などの機器稼動情報、機器内部情報および工作機械の必要な測定を行うセンサなどの測定装置の測定情報等の機器情報の監視、機器のメンテナンスや生産管理などの効率化を目的とする機器情報収集配信装置などを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−０６２２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の特許文献１に開示される構成は、データセンタなどに収集される情報に基づいて、工作機械や製造装置自体の異常を判断する構成である。このような構成に対して、生産現場で生じる異常を即座に検知したいというニーズがある。
【０００６】
このようなニーズに対して、制御装置自体で制御対象での異常の有無を判断可能な構成が提案されている。このような異常の有無を判断可能な制御装置を実現した場合には、事後的に制御装置での挙動を検証したい場合も生じ得る。上述の特許文献１に開示される構成では、このような挙動の検証を行うという目的を達することはできない。
【０００７】
本技術は、制御対象での異常の有無を判断できる制御装置および制御システムにおける挙動を事後的に解析および検証できる構成を提供する。
【課題を解決するための手段】
【０００８】
本発明のある局面によれば、制御対象を制御する制御装置が提供される。制御装置は、制御対象に関連する第１のプロセス値に基づいて規定されるフレーム毎に、制御対象での異常の有無を判断する異常監視部と、各フレームにおける制御対象に関連する第２のプロセス値に基づいてフレーム毎に特徴量を算出して異常監視部へ出力する特徴量算出部と、異常監視部および特徴量算出部による処理に係るデータを格納する記憶部と、記憶部に格納されるデータを外部へ送信するデータ送信部とを含む。異常監視部は、特徴量算出部からフレーム毎の特徴量が入力されると、制御対象での異常の有無の判断結果を含む監視結果をフレーム毎に出力するように構成されている。データ送信部は、第１のプロセス値および第２のプロセス値の時系列データを含む第１のデータと、特徴量算出部によりフレーム毎に算出される特徴量の時系列データを含む第２のデータと、異常監視部により出力される監視結果の時系列データを含む第３のデータとを送信可能に構成されている。第２のデータにおいては、特徴量と、各特徴量に対応するフレームを規定する第１のプロセス値とが関連付けられている。第３のデータにおいては、監視結果と、各監視結果に対応するフレームを規定する第１のプロセス値とが関連付けられている。
【０００９】
この局面によれば、第１のデータ、第２のデータ、第３のデータの各々においては、フレームを規定する第１のプロセス値が共通に関連付けられているので、それぞれのデータに含まれる特定のフレームに関連付けられる時系列データを容易に特定できる。
【００１０】
好ましくは、異常監視部は、フレーム毎の特徴量に基づいて異常の可能性を示す度合いである監視スコアを算出し、当該算出した監視スコアの大きさに基づいて制御対象での異常の有無を判断する。
【００１１】
この局面によれば、数値化された監視スコアの大きさおよび変化などに基づいて、制御装置による異常の発生との判断の事後的な評価を容易化できる。
【００１２】
好ましくは、第３のデータの監視結果は、監視スコアと、監視スコアに基づく異常の有無を示す値とを含む。
【００１３】
この局面によれば、監視スコアと、監視スコアに基づく異常の有無を示す値とが関連付けられているので、制御装置による異常の発生との判断の事後的な評価を容易化できる。
【００１４】
好ましくは、データ送信部は、特定の１または複数のプロセス値の時系列データを含む第４のデータをさらに送信可能に構成されている。
【００１５】
この局面によれば、特徴量を算出するために用いられたプロセス値の時系列データを確認することが容易化する。
【００１６】
好ましくは、特徴量算出部は、各フレーム内の制御対象に関連する第３のプロセス値に基づいて規定されるサブフレームにおける第２のプロセス値の時間変化に基づいて特徴量を算出するように構成されている。第１のデータは、第３のプロセス値の時系列データをさらに含む。
【００１７】
この局面によれば、フレーム内の特に異常の有無を判断するのに適したサブフレームで判断でき、その判断結果を事後的に評価することが容易化する。
【００１８】
好ましくは、第１のデータ、第２のデータ、第３のデータの各々は、各レコードに共通のタイマで管理されるタイムスタンプが付与されている。
【００１９】
この局面によれば、共通の時間軸で、第１のデータ、第２のデータ、第３のデータの間を比較できる。
【００２０】
好ましくは、第１のデータ、第２のデータ、第３のデータの各々は、レコード毎にインクリメントまたはデクリメントされるインデックスが各レコードに付与されている。
【００２１】
この局面によれば、各データのレコードのうち、欠落しているレコードの有無を判断できる。
【００２２】
好ましくは、データ送信部は、ＨＴＴＰ（Hypertext Transfer Protocol）、ＨＴＴＰＳ（Hypertext Transfer Protocol Secure）、ＦＴＰ（File Transfer Protocol）、および、ＳＭＢ（Server Message Block）のうち、少なくとも１つの通信プロトコルでデータを送信する。
【００２３】
この局面によれば、汎用的な通信プロトコルを利用できるので、各種の情報処理装置との間でデータを容易に遣り取りできる。
【００２４】
好ましくは、データ送信部は、第１のデータ、第２のデータ、第３のデータをＣＳＶ（Comma-Separated Values）形式で送信する。
【００２５】
この局面によれば、汎用的なデータ形式を利用できるので、各種の情報処理装置において汎用的なアプリケーションを利用できる。
【００２６】
本発明の別の局面によれば、制御システムは、制御対象を制御する制御装置と、制御装置からのデータを受付けるサーバ装置とを含む。制御装置は、制御対象に関連する第１のプロセス値に基づいて規定されるフレーム毎に、制御対象での異常の有無を判断する異常監視部と、各フレームにおける制御対象に関連する第２のプロセス値に基づいてフレーム毎に特徴量を算出して異常監視部へ出力する特徴量算出部と、異常監視部および特徴量算出部による処理に係るデータを格納する記憶部と、記憶部に格納されるデータを外部へ送信するデータ送信部とを含む。異常監視部は、特徴量算出部からフレーム毎の特徴量が入力されると、制御対象での異常の有無の判断結果を含む監視結果をフレーム毎に出力するように構成されている。データ送信部は、第１のプロセス値および第２のプロセス値の時系列データを含む第１のデータと、特徴量算出部によりフレーム毎に算出される特徴量の時系列データを含む第２のデータと、異常監視部により出力される監視結果の時系列データを含む第３のデータとを送信可能に構成されている。第２のデータにおいては、特徴量と、各特徴量に対応するフレームを規定する第１のプロセス値とが関連付けられている。第３のデータにおいては、監視結果と、各監視結果に対応するフレームを規定する第１のプロセス値とが関連付けられている。
【００２７】
この局面によれば、第１のデータ、第２のデータ、第３のデータの各々においては、フレームを規定する第１のプロセス値が共通に関連付けられているので、それぞれのデータに含まれる特定のフレームに関連付けられる時系列データを容易に特定できる。
【発明の効果】
【００２８】
本技術によれば、制御対象での異常の有無を判断できる制御装置および制御システムにおける挙動を事後的に解析および検証できる。
【図面の簡単な説明】
【００２９】
【図１】本実施の形態に係る制御システムを構成する制御装置の機能構成の概要を示す模式図である。
【図２】本実施の形態に係る制御システムの全体構成例を示す模式図である。
【図３】本実施の形態に係る制御システムを構成する制御装置のハードウェア構成例を示すブロック図である。
【図４】本実施の形態に係る制御システムを構成する制御装置の機能構成例を示すブロック図である。
【図５】本実施の形態に係る制御装置の異常監視機能の応用例を示す模式図である。
【図６】図５に示される包装機に設定されるフレームおよびサブフレームの一例を示す模式図である。
【図７】本実施の形態に係る制御装置の異常監視機能の処理内容を示す模式図である。
【図８】本実施の形態に係る制御装置におけるデータ収集およびデータ管理の概要を説明するための模式図である。
【図９】本実施の形態に係る制御装置におけるデータ管理の構造を模式的に示す図である。
【図１０】本実施の形態に係る制御装置における異常監視機能に係るデータ処理の概要を説明するための模式図である。
【図１１】本実施の形態に係る制御装置から送信される実績結果の一例を示す模式図である。
【図１２】本実施の形態に係る制御装置から送信されるデータを用いた解析手順の一例を説明するための図である。
【発明を実施するための形態】
【００３０】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００３１】
＜Ａ．適用例＞
まず、本発明が適用される場面の一例について説明する。図１は、本実施の形態に係る制御システム１を構成する制御装置１００の機能構成の概要を示す模式図である。図１を参照して、制御装置１００は、任意の設備または機械を含む制御対象を制御する。制御装置１００は、ＰＬＣ（プログラマブルコントローラ）などを採用できる。
【００３２】
制御装置１００は、制御対象での異常の有無を判断できる。このような機能を提供するための機能構成として、制御装置１００は、異常監視モジュール１７０と、特徴量算出モジュール１７６とを含む。
【００３３】
異常監視モジュール１７０は、異常監視部に相当し、制御対象に関連する第１のプロセス値に基づいて規定されるフレーム毎に、制御対象での異常の有無を判断する。特徴量算出モジュール１７６は、特徴量算出部に相当し、各フレームにおける制御対象に関連する第２のプロセス値に基づいてフレーム毎に特徴量を算出して異常監視モジュール１７０へ出力する。異常監視モジュール１７０は、特徴量算出モジュール１７６からフレーム毎の特徴量が入力されると、制御対象での異常の有無の判断結果を含む監視結果をフレーム毎に出力するように構成されている。
【００３４】
さらに、制御装置１００は、内部データベース（以下、「内部ＤＢ１３０」とも記す。）およびデータ送信モジュール１３４を有している。
【００３５】
内部ＤＢ１３０は、記憶部に相当し、異常監視モジュール１７０および特徴量算出モジュール１７６による処理に係るデータを格納する。データ送信モジュール１３４は、データ送信部に相当し、内部ＤＢ１３０に格納されるデータを外部へ送信する。
【００３６】
より具体的には、内部ＤＢ１３０には、分析用データ１８２と、特徴量データ１８４と、監視結果データ１８６とが格納される。データ送信モジュール１３４は、内部ＤＢ１３０に格納されるこれらのデータを送信可能になっている。
【００３７】
分析用データ１８２は、第１のデータに相当し、第１のプロセス値および第２のプロセス値の時系列データを含む。特徴量データ１８４は、第２のデータに相当し、特徴量算出モジュール１７６によりフレーム毎に算出される特徴量の時系列データを含む。監視結果データ１８６は、異常監視モジュール１７０により出力される監視結果の時系列データを含む。
【００３８】
特徴量データ１８４においては、特徴量と、各特徴量に対応するフレームを規定する第１のプロセス値とが関連付けられている。同様に、監視結果データ１８６においては、監視結果と、各監視結果に対応するフレームを規定する第１のプロセス値とが関連付けられている。
【００３９】
このように、それぞれのデータの間で、共通の第１のプロセス値が関連付けられているので、第１のプロセス値を用いて、各フレームに対応する第２のプロセス値、特徴量、監視結果を互いに関連付けることができる。
【００４０】
本明細書において、「プロセス値」は、制御装置１００で扱われるデータを総称する湯王後であり、制御対象から取得される入力情報、制御対象へ出力される出力情報、制御装置の動作状態を示す状態情報、制御装置での制御演算に使用される内部情報などを包含する。典型例として、本実施の形態に係る制御装置１００では、変数プログラミングの環境を採用しており、「変数」は、いずれかのプロセス値を参照するものとして説明を行う。但し、本発明の技術的範囲は、変数プログラミングの環境に限られず、プロセス値が格納されるメモリアドレスなどを直接指定するような形式であってもよい。
【００４１】
＜Ｂ．制御システムの全体構成例＞
まず、本実施の形態に係る制御装置を含む制御システム１の全体構成例について説明する。
【００４２】
図２は、本実施の形態に係る制御システム１の全体構成例を示す模式図である。図２を参照して、本実施の形態に係る制御システム１は、主たる構成要素として、制御対象を制御する制御装置１００と、サーバ装置２００と、表示装置３００とを含む。
【００４３】
制御装置１００は、ＰＬＣなどの一種のコンピュータとして具現化されてもよい。制御装置１００は、フィールドネットワーク２を介してフィールド装置群１０と接続されるとともに、フィールドネットワーク４を介して１または複数の表示装置３００と接続される。さらに、制御装置１００は、ローカルネットワーク６を介してサーバ装置２００に接続される。制御装置１００は、それぞれのネットワークを介して、接続された装置との間でデータを遣り取りする。
【００４４】
制御装置１００は、制御対象である設備や機械を制御するための制御演算を実行する。制御装置１００は、制御演算を実行するにあたって、フィールド装置群１０にて計測され、制御装置１００へ転送されるプロセス値を収集する収集機能を有している。さらに、制御装置１００は、収集したプロセス値に基づく異常の有無を監視する異常監視機能を有している。
【００４５】
具体的には、制御装置１００に実装される内部ＤＢ１３０が収集機能を提供し、制御装置１００に実装される機械学習エンジン１４０が異常監視機能を提供する。内部ＤＢ１３０および機械学習エンジン１４０の詳細については後述する。
【００４６】
フィールドネットワーク２およびフィールドネットワーク４は、産業用ネットワークを採用することが好ましい。このような産業用ネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。
【００４７】
フィールド装置群１０は、制御対象である設備や機械など（以下、「フィールド」とも総称する。）からプロセス値を収集する装置を含む。このようなプロセス値を収集する装置としては、入力リレーや各種センサなどが想定される。フィールド装置群１０は、さらに、制御装置１００にて生成される指令値に基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのフィールド装置群１０は、フィールドネットワーク２を介して、制御装置１００との間で、プロセス値および指令値を含むデータを遣り取りする。
【００４８】
図２に示す構成例においては、フィールド装置群１０は、リモートＩ／Ｏ（Input/Output）装置１２と、リレー群１４と、画像センサ１８およびカメラ２０と、サーボドライバ２２およびサーボモータ２４とを含む。但し、これらのフィールド装置のすべてを配置する必要はない。
【００４９】
リモートＩ／Ｏ装置１２は、フィールドネットワーク２を介して通信を行う通信部と、プロセス値の取得および指令値の出力を行うための入出力部（以下、「Ｉ／Ｏユニット」とも称す。）とを含む。このようなＩ／Ｏユニットを介して、制御装置１００とフィールドとの間でプロセス値および指令値が遣り取りされる。図２には、リレー群１４を介して、プロセス値および指令値として、デジタル信号が遣り取りされる例が示されている。
【００５０】
Ｉ／Ｏユニットは、フィールドネットワークに直接接続されるようにしてもよい。図２には、フィールドネットワーク２にＩ／Ｏユニット１６が直接接続されている例を示す。
【００５１】
画像センサ１８は、カメラ２０によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置１００へ送信する。
【００５２】
サーボドライバ２２は、制御装置１００からの指令値（例えば、位置指令など）に従って、サーボモータ２４を駆動する。
【００５３】
上述のように、フィールドネットワーク２を介して、制御装置１００とフィールド装置群１０との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数百μｓｅｃオーダ〜数十ｍｓｅｃオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理を、「Ｉ／Ｏリフレッシュ処理」と称することもある。
【００５４】
フィールドネットワーク４を介して制御装置１００と接続される表示装置３００は、ユーザからの操作を受けて、制御装置１００に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置１００での演算結果などをグラフィカルに表示する。
【００５５】
サーバ装置２００は、制御装置１００とローカルネットワーク６を介して接続され、制御装置１００との間で必要なデータを遣り取りする。本実施の形態に係る制御システム１においては、制御装置１００からサーバ装置２００へ実績結果が送信される。すなわち、サーバ装置２００は、制御装置１００からのデータを受付ける。
【００５６】
ローカルネットワーク６には、イーサネット（登録商標）などの汎用プロトコルが実装されてもよい。すなわち、ローカルネットワーク６におけるデータの送信周期または更新周期は、フィールドネットワーク（フィールドネットワーク２およびフィールドネットワーク４）におけるデータの送信周期または更新周期より遅くてもよい。但し、ローカルネットワーク６は、フィールドネットワークに比較して、一度により多くのデータを送信することができるようにしてもよい。
【００５７】
＜Ｃ．制御装置１００のハードウェア構成例＞
次に、本実施の形態に係る制御システム１を構成する制御装置１００のハードウェア構成例について説明する。
【００５８】
図３は、本実施の形態に係る制御システム１を構成する制御装置１００のハードウェア構成例を示すブロック図である。図３を参照して、制御装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１０２と、チップセット１０４と、主記憶装置１０６と、二次記憶装置１０８と、ローカルネットワークコントローラ１１０と、ＵＳＢ（Universal Serial Bus）コントローラ１１２と、メモリカードインターフェイス１１４と、内部バスコントローラ１２２と、フィールドバスコントローラ１１８，１２０と、ローカルＩ／Ｏユニット１２４−１，１２４−２，…と、タイマ１２６とを含む。
【００５９】
プロセッサ１０２は、二次記憶装置１０８に格納された各種プログラムを読み出して、主記憶装置１０６に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。チップセット１０４は、プロセッサ１０２と各コンポーネントを制御することで、制御装置１００全体としての処理を実現する。
【００６０】
二次記憶装置１０８には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。さらに、二次記憶装置１０８には、内部ＤＢ１３０および機械学習エンジン１４０を実現するためのシステムプログラムも格納される。
【００６１】
ローカルネットワークコントローラ１１０は、ローカルネットワーク６を介した他の装置との間のデータの遣り取りを制御する。ＵＳＢコントローラ１１２は、ＵＳＢ接続を介してサポート装置との間のデータの遣り取りを制御する。
【００６２】
メモリカードインターフェイス１１４は、メモリカード１１６を着脱可能に構成されており、メモリカード１１６に対してデータを書込み、メモリカード１１６から各種データ（上述の実績結果を含む）を読出すことが可能になっている。
【００６３】
フィールドバスコントローラ１１８は、フィールドネットワーク２を介した他の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ１２０は、フィールドネットワーク４を介した他の装置との間のデータの遣り取りを制御する。
【００６４】
内部バスコントローラ１２２は、制御装置１００に搭載されるローカルＩ／Ｏユニット１２４−１，１２４−２，…との間でデータを遣り取りするインターフェイスである。
【００６５】
タイマ１２６は、ローカルＩ／Ｏユニット１２４−１，１２４−２，…、ならびに、フィールドネットワーク２またはフィールドネットワーク４を介して接続されるデバイスとの間で処理を同期させるためのタイミングを管理する。また、タイマ１２６は、後述するような時刻情報を管理するようにしてもよい。
【００６６】
図３には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、制御装置１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００６７】
＜Ｄ．制御装置１００の機能構成例＞
次に、本実施の形態に係る制御システム１を構成する制御装置１００の機能構成例について説明する。
【００６８】
図４は、本実施の形態に係る制御システム１を構成する制御装置１００の機能構成例を示すブロック図である。図４を参照して、制御装置１００は、ＯＳ１５０およびＯＳ１５０上に実行されるスケジューラ１５２を含む。スケジューラ１５２は、制御装置１００が有する機能の実行タイミングなどを制御する。より具体的には、スケジューラ１５２は、変数マネジャ１５４による変数のサイクリック更新、および、制御プログラム１６０のサイクリック実行を管理する。
【００６９】
変数マネジャ１５４は、制御装置１００によりサイクリック実行されるＩ／Ｏリフレッシュ処理によって更新されるデータを変数として管理する。変数マネジャ１５４により管理される変数としては、制御装置１００の各部の動作状態を示すデータ群を含むシステム変数１５６、ならびに、制御プログラム１６０が管理する変数および制御対象のプロセス値を含むユーザ変数・デバイス変数１５８を含む。
【００７０】
制御プログラム１６０は、ユーザが任意に作成可能なユーザプログラムに相当し、典型的には、シーケンスプログラム１６２およびモーションプログラム１６４を含む。制御プログラム１６０を構成するプログラムの命令は、一体のプログラムとして記述されてもよいし、複数のプログラムにそれぞれ分離して記述されてもよい。
【００７１】
制御装置１００は、機械学習エンジン１４０に関して、異常監視モジュール１７０と、特徴量算出モジュール１７６とを含む。
【００７２】
特徴量算出モジュール１７６は、予め指定された特徴量の算出手法に従って、ユーザ変数・デバイス変数１５８の指定された変数を用いて特徴量をサイクリックに算出する。
【００７３】
異常監視モジュール１７０は、フレーム毎の特徴量に基づいて異常の可能性を示す度合いである監視スコアを算出し、当該算出した監視スコアの大きさに基づいて制御対象での異常の有無を判断する。より具体的には、異常監視モジュール１７０は、予め用意された学習データ１７２を参照して、特徴量算出モジュール１７６により算出される特徴量に基づいて、異常の可能性を示す度合い（以下、「監視スコア」とも称す。）を算出する。異常監視モジュール１７０は、算出される監視スコアと予め用意された異常監視の判定値であるしきい値１７４とを比較して、異常の有無を判断する。異常監視モジュール１７０は、異常を検知すると、その旨を制御プログラム１６０およびデータ書込モジュール１３２へ通知する。
【００７４】
本実施の形態に係る制御システム１において、学習データ１７２は、異常監視の対象となる設備や機械の正常時の特徴量を含む。異常監視モジュール１７０は、特徴量算出モジュール１７６により算出される特徴量と、学習データ１７２に含まれる正常時の特徴量との乖離の度合いに基づいて、監視スコアを算出する。
【００７５】
制御装置１００は、内部ＤＢ１３０に関して、データ書込モジュール１３２およびデータ送信モジュール１３４を含む。
【００７６】
データ書込モジュール１３２は、制御装置１００の内部で生成される各種データを内部ＤＢ１３０に書込む。内部ＤＢ１３０は、制御装置１００の主記憶装置１０６（図３参照）が提供するデータ領域の一部を用いて実現されてもよいし、制御装置１００の二次記憶装置１０８（図３参照）が提供するデータ領域の一部を用いて実現されてもよいし、メモリカードインターフェイス１１４に装着されるメモリカード１１６（図３参照）が提供するデータ領域の一部を用いて実現されてもよい。さらに、図示しない別の記憶媒体が提供するデータ領域の一部を用いて実現してもよい。
【００７７】
典型的には、内部ＤＢ１３０には、生データ１８０と、分析用データ１８２と、特徴量データ１８４と、監視結果データ１８６とが格納される。生データ１８０は、特定の１または複数のプロセス値（典型的には、デバイス変数）の時系列データを含む。生データ１８０は、特徴量算出モジュール１７６が特徴量を算出するための用いる変数の時系列データを含めることが好ましい。生データ１８０に含まれる時系列データは、Ｉ／Ｏリフレッシュ処理の周期毎のデータであることが好ましい。
【００７８】
分析用データ１８２は、異常監視の対象となる期間を特定するためのイベント発生時刻などの情報を含む。
【００７９】
特徴量データ１８４は、特徴量算出モジュール１７６により算出される特徴量の時系列データを含む。特徴量データ１８４に含まれる時系列データは、生データ１８０に含まれる時系列データと同様に、Ｉ／Ｏリフレッシュ処理の周期毎のデータであることが好ましい。
【００８０】
監視結果データ１８６は、異常監視モジュール１７０による異常の有無の判断結果を含む。
【００８１】
データ送信モジュール１３４は、予め定められた条件に従って、あるいは、何らかの要求に応答して、内部ＤＢ１３０に格納されている生データ１８０、分析用データ１８２、特徴量データ１８４、および、監視結果データ１８６のうち一部または全部を実績結果として外部（典型的には、図２に示すサーバ装置２００）へ送信する。
【００８２】
データ送信モジュール１３４が外部へ実績結果を送信することで、制御装置１００における異常監視機能の動作状態や適性などを事後的に評価できる。
【００８３】
図２に示すように、表示装置３００に送信される実績結果は、解析装置４００などを用いて解析することができる。解析装置４００による解析によって、異常監視に用いられる特徴量の種別、しきい値の値、学習データの更新なども可能になる。
【００８４】
＜Ｅ．制御装置１００のデータ送信モジュール１３４＞
次に、制御装置１００のデータ送信モジュール１３４について説明する。
【００８５】
データ送信モジュール１３４は、内部ＤＢ１３０に格納されている生データ１８０、分析用データ１８２、特徴量データ１８４、および監視結果データ１８６などを、サーバ装置２００などの外部へ送信する。
【００８６】
生データ１８０、分析用データ１８２、特徴量データ１８４、および監視結果データ１８６は、所定時間長毎あるいは所定サイズ毎にファイルとして格納されるようにしてもよい。このような場合、データ送信モジュール１３４は、各ファイルを順次または一括して外部へ送信する。
【００８７】
生データ１８０、分析用データ１８２、特徴量データ１８４、および監視結果データ１８６を格納するファイルとしては、例えば、ＣＳＶ（Comma-Separated Values）形式やＸＭＬ（extensible markup language）形式などのテキスト形式を採用してもよいし、バイナリ形式を採用してもよい。バイナリ形式を採用する場合には、公知の圧縮方式で圧縮したデータを採用してもよい。
【００８８】
すなわち、データ送信モジュール１３４は、典型的には、生データ１８０、分析用データ１８２、特徴量データ１８４、および監視結果データ１８６をＣＳＶ形式で送信するようにしてもよい。
【００８９】
データ送信モジュール１３４が外部へデータを送信するための通信プロトコルとしては、ＨＴＴＰ（Hypertext Transfer Protocol）、ＨＴＴＰＳ（Hypertext Transfer Protocol Secure）、ＦＴＰ（File Transfer Protocol）、ＳＭＢ（Server Message Block）などの公知の通信プロコトルを採用できる。すなわち、データ送信モジュール１３４は、ＨＴＴＰ、ＨＴＴＰＳ、ＦＴＰ、および、ＳＭＢのうち、少なくとも１つの通信プロトコルでデータを送信する。
【００９０】
なお、データ送信モジュール１３４が採用する通信プロトコルは上述したものに限られず、データを送信さえできれば、どのような通信プロトコルであってもよい。また、将来的に開発される通信プロトコルを採用することも、本願発明の技術的範囲に含まれ得る。
【００９１】
なお、例えば、通信プロトコルとしてＨＴＴＰＳを採用した場合には、セキュア通信を実現するために必要な証明書を事前に取得、あるいは、認証サーバなどから取得するようにしてもよい。
【００９２】
データ送信モジュール１３４は、予め定められた条件または設定に従って、外部へ対象のデータを送信するようにしてもよいし（アクティブ送信）、外部からの要求に応答して、要求されたデータを送信するようにしてもよい（パッシブ送信／オンデマンド送信）。
【００９３】
予め定められた条件または設定としては、ファイルが生成されることを送信開始条件としてもよいし、予め定められた数または累積サイズのファイルが生成されることを送信開始条件としてもよい。複数のファイルを送信する場合には、所定規則に従って、対象のファイルを順次送信するようにしてもよいし、一括して送信するようにしてもよい。
【００９４】
外部からの要求に応答してデータを送信する場合には、データ送信モジュール１３４は、ＷｅｂサーバあるいはＦＴＰサーバのようなサーバ機能が実装されていてもよい。
【００９５】
制御装置１００においては制御プログラム１６０が予め定められた周期でサイクリック実行されており、データ送信モジュール１３４は、制御プログラム１６０のサイクリック実行を妨げないようなタイミングおよび頻度でデータを送信するようにしてもよい。
【００９６】
＜Ｆ．応用例＞
次に、本実施の形態に係る制御装置１００の異常監視機能の応用例について説明する。
【００９７】
図５は、本実施の形態に係る制御装置１００の異常監視機能の応用例を示す模式図である。図５には、異常監視の対象として包装機６００を示す。
【００９８】
図５を参照して、包装機６００は、所定の搬送方向に搬送される包装体６０４を、一対のロータによりシールおよび切断の少なくとも一方を順次行う。包装機６００は、一対のロータ６１０，６２０を有しており、ロータ６１０，６２０は、同期して回転する。各ロータは、包装体６０４に接する位置での外周の接線方向が搬送方向と一致するように配置されている。各ロータには、予め定められた位置にヒータおよびカッターが配置されており、これらのヒータおよびカッターが包装体６０４に接触することで、包装体６０４に対するシール処理および切断処理が実現される。
【００９９】
包装機６００のロータ６１０，６２０は、２つのサーボモータ２４によって、それぞれ回転軸６１２，６２２を中心に同期して回転駆動される。ロータ６１０，６２０の表面には、それぞれ処理機構６１４，６２４が設けられており、処理機構６１４は、円周方向（回転方向）に前後して配置されたヒータ６１５，６１６と、ヒータ６１５とヒータ６１６との間に配置されたカッター６１７とを含む。同様に、処理機構６２４は、円周方向に前後して配置されたヒータ６２５，６２６と、ヒータ６２５とヒータ６２６との間に配置されたカッター６２７とを含む。ロータ６１０，６２０は、その外周面上に配置された、包装体６０４を切断するためのカッター６１７，６２７を含む。
【０１００】
ロータ６１０，６２０が包装体６０４の搬送速度と同期して回転することで、ヒータ６１５とヒータ６２５とによって、包装体６０４の紙面右側の位置において対向する面同士（上面と下面）がシール（接着）されるとともに、ヒータ６１６とヒータ６２６とによって、包装体６０４の紙面左側の位置において対向する面同士（上面と下面）がシール（接着）される。これらのシール処理と並行して、カッター６１７とカッター６２７とによって包装体６０４が切断される。このような一連の処理が繰返されることで、被包装物６０５を含む包装体６０４に対して、シールおよび切断が繰返し実行されて、個別包装体６０６が順次製造される。
【０１０１】
ロータ６１０，６２０を回転駆動する２つのサーボモータ２４は、それぞれのサーボドライバ２２によって回転速度やトルクなどが制御される。制御装置１００は、サーボドライバ２２から、サーボモータ２４のプロセス値、すなわちロータ６１０，６２０の実績値を収集することができる。サーボドライバ２２のプロセス値（または、ロータ６１０，６２０の実績値）としては、（１）回転位置（位相／回転角度）、（２）速度、（３）加速度、（４）トルク値、（５）電流値、（６）電圧値、などを含む。
【０１０２】
包装機６００に生じる異常としては、異物の噛み込みなどが想定される。異物の噛み込みは、包装体６０４自体の位置ずれや、包装体６０４に包含される被包装物６０５の位置ずれなどによって生じ得る。異物噛み込みが発生することで、ロータ６１０，６２０を回転駆動する２つのサーボモータ２４にはより大きなトルクが発生することになる。このようなトルク変化の関連するプロセス値から算出される特徴量を監視することで、異物噛み込みの発生を検知する。
【０１０３】
図６は、図５に示される包装機６００に設定されるフレームおよびサブフレームの一例を示す模式図である。図６には、ロータ６１０，６２０の回転角度の時間変化を示す。包装機６００においては、包装体６０４毎に異物の噛み込みが発生したか否かが判断される。ここで、ロータ６１０，６２０の１回転毎に包装体６０４が製造されるので、ロータ６１０，６２０の１回転分を１つの監視対象を規定する時間区間（以下、「フレーム」とも称す。）に設定できる。
【０１０４】
監視対象の時間区間（フレーム）において、異物の噛み込みの発生有無を判断するには、フレームの全時間区間のプロセス値ではなく、ヒータおよびカッターが包装体６０４に接触する部分区間のプロセス値が重要である。そのため、異常監視に用いられるプロセス値を収集すべき時間区間（包装機６００においては、ヒータおよびカッターが最下点に到達する前後の時間区間）をフレーム内に設定できる。このような部分区間を「サブフレーム」とも称す。
【０１０５】
このように、本明細書において、「フレーム」との用語を、異常監視の対象となる単位時間区間（あるいは、単位期間）を示す用語として用いる。「サブフレーム」との用語を、対応する「フレーム」内において、異常監視に用いられる特徴量を算出する部分的な時間区間（あるいは、部分的な期間）を示す用語として用いる。
【０１０６】
なお、フレーム内には複数の異なるサブフレームを設定することもできる。すなわち、異常監視に複数のプロセス値を用いる場合には、各プロセス値に応じたサブフレームを設定することで、より監視精度を高めることができる。
【０１０７】
図７は、本実施の形態に係る制御装置１００の異常監視機能の処理内容を示す模式図である。図７を参照して、何らかの監視対象に対して設定されたフレーム毎に、フレーム内に設定されたサブフレームのプロセス値の時間変化に基づいて特徴量が算出される。図７に示す例では、２つのプロセス値の時間変化に対してそれぞれ設定されたサブフレーム１およびサブフレーム２のプロセス値の時間変化に基づいて、特徴量１および特徴量２がそれぞれ算出される。このように、制御装置１００の特徴量算出モジュール１７６は、各フレーム内の制御対象に関連する別のプロセス値に基づいて規定されるサブフレームにおける１または複数のプロセス値の時間変化に基づいて特徴量を算出する。
【０１０８】
特徴量１および特徴量２がいずれもスカラ量（１次元の値）であるとすれば、特徴量１および特徴量２からなる２次元座標上に対応する位置（特徴量ベクトル）をプロットできる。
【０１０９】
学習データ１７２は、正常時の特徴量（特徴量ベクトル）の群を含んでおり、これらの特徴量の群からの乖離の度合いに基づいて、監視スコアが算出される。そして、算出される監視スコアと予め用意されたしきい値１７４との比較によって、異常の有無が判断される。
【０１１０】
＜Ｇ．データ構造＞
次に、制御装置１００のデータ送信モジュール１３４により送信されるデータの詳細について説明する。制御装置１００は上述したような異常監視機能を有しており、データ送信モジュール１３４により送信されるデータについても、制御装置１００の異常監視機能による監視結果を事後的に評価できる形のデータ構造が採用される。
【０１１１】
図８は、本実施の形態に係る制御装置１００におけるデータ収集およびデータ管理の概要を説明するための模式図である。図８を参照して、「装置イベント」は、異常監視の対象を特定する識別情報である。例えば、最大１２８個の装置イベントが設定できるとする。なお、装置イベントの最大設定数は、制御装置１００のリソースなどに応じて、適宜設計できる。
【０１１２】
各装置イベントには、予め設定されたいずれかの「フレーム」が関連付けられる。すなわち、各装置イベントにおいては、特定のフレーム毎に異常の有無が判断されることになる。
【０１１３】
各装置イベントには、複数のプロセス値（図８に示す例では、複数のプロセス値１，２，・・・，１６）が関連付けられる。各プロセス値に対しては、対応するフレームに関連付けられる特定のサブフレームが設定される。なお、同一のフレームに対して、プロセス値毎に異なるサブフレームが設定されてもよい。
【０１１４】
図９は、本実施の形態に係る制御装置１００におけるデータ管理の構造を模式的に示す図である。図９を参照して、制御装置１００においては、装置イベント毎にデータ定義セット５１０が設定される。
【０１１５】
装置イベント毎のデータ定義セット５１０は、フレーム変数５１２と、特徴量の出力フレーム変数５１４と、監視結果の出力フレーム変数５３０との定義を含む。
【０１１６】
フレーム変数５１２は、異常監視機能の対象となるフレームを特定するために用いる情報の参照先となる変数名を特定する。制御装置１００の異常監視機能においては、フレーム変数５１２として規定された変数の値（プロセス値）またはその変化に基づいて、対象となるフレームの開始および終了が特定される。
【０１１７】
特徴量の出力フレーム変数５１４は、算出される特徴量とフレームとの関連付けに用いられる変数である。特徴量の出力フレーム変数５１４として規定される変数には、特徴量の算出に併せて、対応するフレーム変数５１２の値が格納される。
【０１１８】
監視結果の出力フレーム変数５３０は、監視結果（算出される監視スコアなど）とフレームとの関連付けに用いられる変数である。監視結果の出力フレーム変数５３０として規定される変数には、監視結果の出力に併せて、対応するフレーム変数５１２の値が格納される。
【０１１９】
装置イベント毎のデータ定義セット５１０は、複数の特徴量定義セット５２０をさらに含む。特徴量定義セット５２０の各々は、監視スコアを算出するために用いられる特徴量の算出方法を規定する。より具体的には、特徴量定義セット５２０の各々は、特徴量定義５２２と、プロセス値５２４と、サブフレーム変数５２６の定義を含む。
【０１２０】
特徴量定義５２２は、算出される特徴量の種類（例えば、フレーム内の最大値、最小値、平均値など）を規定する。プロセス値５２４は、特徴量の算出に用いられるプロセス値を示す変数名を規定する。サブフレーム変数５２６は、特徴量を算出するためのサブフレームを特定するために用いる情報の参照先となる変数名を特定する。
【０１２１】
これらの特徴量定義セット５２０によって、監視スコアを算出するための特徴量の算出対象および算出方法が規定される。
【０１２２】
装置イベント毎のデータ定義セット５１０は、監視結果定義５４０をさらに含む。監視結果定義５４０は、算出される複数の特徴量に基づいて算出される監視スコアおよび当該監視スコアに対する判定結果の出力先に関する定義を含む。より具体的には、監視結果定義５４０は、判定結果定義５４２および監視スコア定義５４４を含む。
【０１２３】
判定結果定義５４２は、算出される監視スコアとしきい値との比較によって得られる判定結果が格納される先を規定する。監視スコア定義５４４は、複数の特徴量に基づいて算出される監視スコアが格納される先を規定する。
【０１２４】
図１０は、本実施の形態に係る制御装置１００における異常監視機能に係るデータ処理の概要を説明するための模式図である。図１０を参照して、（ａ）フレーム変数が示す値の変化（「ＡＡＡＡＡ」、「ＢＢＢＢＢ」、・・・など）に基づいて、フレームが特定される。（ａ）フレーム変数としては、例えば、操業管理サーバなどから通知されるワーク識別情報などを用いるようにしてもよいし、あるいは、特定のワークの処理開始時にラッチされる時刻情報などを用いるようにしてもよい。
【０１２５】
各フレームにおいて、（ｃ）サブフレーム変数に基づく収集条件が有効化されている期間（典型的には、（ｃ）サブフレーム変数がＴＲＵＥの期間）において、（ｂ）プロセス値がサイクリックに収集される。
【０１２６】
各フレームが終了すると、当該フレームにおいて収集されたプロセス値に基づいて（ｅ）特徴量が算出される。この特徴量の算出に併せて、（ｄ）特徴量の出力フレーム変数には、対応するフレームに関連付けられた（ａ）フレーム変数が示す値（「ＡＡＡＡＡ」、「ＢＢＢＢＢ」、・・・など）が格納される。
【０１２７】
さらに、特徴量の算出が完了すると、監視スコアが算出されるとともに、算出される監視スコアの値としきい値との比較によって、（ｇ）監視結果が出力される。この監視結果の出力に併せて、（ｆ）監視結果の出力フレーム変数には、対応するフレームに関連付けられた（ａ）フレーム変数が示す値（「ＡＡＡＡＡ」、「ＢＢＢＢＢ」、・・・など）が格納される。
【０１２８】
このように、（ｅ）特徴量および（ｇ）監視結果には、プロセス値を収集したフレームに対応付けられる（ａ）フレーム変数が示す値と同じ値が対応付けられる（（ｄ）特徴量の出力フレーム変数、および、（ｆ）監視結果の出力フレーム変数）。（ｅ）特徴量および（ｇ）監視結果は、対応するフレームの時間が経過した後に算出されることになるが、対応するフレームを特定するための情報が付加されているので、事後的な解析および評価を容易に実現できる。
【０１２９】
図８〜図１０に示すような装置イベント、プロセス値、フレーム、サブフレームの関係を事後的に解析できるように、以下に説明するようなデータ構造が採用される。
【０１３０】
図１１は、本実施の形態に係る制御装置１００から送信される実績結果の一例を示す模式図である。図１１（Ａ）には生データ１８０のデータ構造の一例を示し、図１１（Ｂ）には分析用データ１８２のデータ構造の一例を示し、図１１（Ｃ）には特徴量データ１８４のデータ構造の一例を示し、図１１（Ｄ）には監視結果データ１８６のデータ構造の一例を示す。
【０１３１】
図１１（Ａ）に示される生データ１８０は、インデックス１８０１およびタイムスタンプ１８０２に関連付けられた、収集周期（Ｉ／Ｏリフレッシュ処理周期）毎に収集されるプロセス値の時系列データ１８０３を含む。
【０１３２】
インデックス１８０１は、各レコードを特定するための情報であり、制御装置１００において任意に付与されるユニークな値である。典型的には、インデックス１８０１は、収集周期毎にインクリメントまたはデクリメントされる。インクリメントまたはデクリメントされる値を用いることで、データの欠落の有無を判断できる。
【０１３３】
タイムスタンプ１８０２は、制御装置１００のタイマ１２６（図３）が管理する時刻情報である。タイムスタンプ１８０２として格納される値は、他のデータと共通化されている。そのため、タイムスタンプ１８０２に格納される値を共通のキーとして、他の時系列データと対応付けることができる。
【０１３４】
図１１（Ｂ）に示される分析用データ１８２は、インデックス１８２１およびタイムスタンプ１８２２に関連付けられた、収集周期（Ｉ／Ｏリフレッシュ処理周期）毎に収集される、フレーム変数が示す値の時系列データ１８２３と、サブフレーム変数が示す値の時系列データ１８２４と、ラベル変数が示す値の時系列データ１８２５と、ラベル変数が示す値の時系列データ１８２５と、プロセス値の時系列データ１８２６とを含む。
【０１３５】
インデックス１８２１は、各レコードを特定するための情報であり、制御装置１００において任意に付与されるユニークな値である。
【０１３６】
タイムスタンプ１８２２は、図１１（Ａ）の生データ１８０に含まれるタイムスタンプ１８０２と同じソースの情報が用いられる。
【０１３７】
フレーム変数が示す値の時系列データ１８２３およびサブフレーム変数が示す値の時系列データ１８２４としては、いずれかの装置イベントで利用されるものが対象とされる。このように、分析用データ１８２は、フレームを規定するプロセス値の時系列データ（フレーム変数が示す値の時系列データ１８２３）、および、サブフレームを規定するプロセス値の時系列データ（サブフレーム変数が示す値の時系列データ１８２４）を含む。
【０１３８】
ラベル変数が示す値の時系列データ１８２５は、事後的な解析および評価を容易にするための付加的な情報であり、ユーザが任意に選択した変数が示す値の時間変化を含む。
【０１３９】
プロセス値の時系列データ１８２６は、いずれかの装置イベントで特徴量の算出に用いられるものが対象とされる。
【０１４０】
図１１（Ｃ）に示される特徴量データ１８４は、インデックス１８４１およびタイムスタンプ１８４２に関連付けられた、装置イベント毎の特徴量算出結果１８４３を含む。
【０１４１】
インデックス１８４１は、各レコードを特定するための情報であり、制御装置１００において任意に付与されるユニークな値である。
【０１４２】
タイムスタンプ１８４２は、図１１（Ａ）の生データ１８０に含まれるタイムスタンプ１８０２と同じソースの情報が用いられる。
【０１４３】
装置イベント毎の特徴量算出結果１８４３は、特徴量インデックス１８４４と、特徴量の出力フレーム変数が示す値の時系列データ１８４５と、監視スコアの算出に用いられる各特徴量の時系列データ１８４６とを含む。
【０１４４】
特徴量インデックス１８４４には、算出される特徴量を識別するための情報が格納される。典型的には、各特徴量を用いる装置イベントを特定するための識別情報が格納される。
【０１４５】
特徴量の出力フレーム変数が示す値の時系列データ１８４５は、特徴量を算出するために用いたプロセス値の収集対象区間を特定するための値（対応するフレーム変数の値）を含む。
【０１４６】
監視スコアの算出に用いられる各特徴量の時系列データ１８４６は、特徴量ベクトルに含まれる各特徴量の時系列データを含む。
【０１４７】
図１１（Ｄ）に示される監視結果データ１８６は、インデックス１８６１およびタイムスタンプ１８６２に関連付けられた、装置イベント毎の監視結果１８６３を含む。
【０１４８】
インデックス１８６１は、各レコードを特定するための情報であり、制御装置１００において任意に付与されるユニークな値である。
【０１４９】
タイムスタンプ１８６２は、図１１（Ａ）の生データ１８０に含まれるタイムスタンプ１８０２と同じソースの情報が用いられる。
【０１５０】
装置イベント毎の監視結果１８６３は、装置イベントインデックス１８６４と、監視結果の出力フレーム変数が示す値の時系列データ１８６５と、判定結果の時系列データ１８６６と、監視スコアの時系列データ１８６７とを含む。
【０１５１】
装置イベントインデックス１８６４には、対象となる装置イベントを特定するための識別情報が格納される。
【０１５２】
監視結果の出力フレーム変数が示す値の時系列データ１８６５は、監視スコアを算出するために用いたプロセス値の収集対象区間を特定するための値（対応するフレーム変数の値）を含む。
【０１５３】
判定結果の時系列データ１８６６は、監視スコアとしきい値との比較によって決定される判定結果（監視スコアに基づく異常の有無を示す値）の時系列データを含む。監視スコアの時系列データ１８６７は、対象の特徴量を用いてサイクリックに算出される監視スコアの時系列データを含む。このように、監視結果データ１８６は、監視スコアと、監視スコアに基づく異常の有無を示す値とを含む。
【０１５４】
本実施の形態に係る制御装置１００において、生データ１８０、分析用データ１８２、特徴量データ１８４、および、監視結果データ１８６の各々は、レコード毎にインクリメントまたはデクリメントされるインデックス１８０１，１８２１，１８４１，１８６１が各レコードに付与されている。
【０１５５】
また、本実施の形態に係る制御装置１００において、生データ１８０、分析用データ１８２、特徴量データ１８４、および、監視結果データ１８６の各々は、各レコードに共通のタイマ１２６で管理されるタイムスタンプ１８０２，１８２２，１８４２，１８６２が付与されている。すなわち、制御装置１００は、共通のタイマ１２６により管理されるタイムスタンプ１８０２，１８２２，１８４２，１８６２を各レコードに付与した、生データ１８０、分析用データ１８２、特徴量データ１８４、および、監視結果データ１８６を出力する。タイムスタンプ１８０２，１８２２，１８４２，１８６２を参照することで、各データに含まれる時系列データの時間軸を合せることができる。
【０１５６】
また、特徴量データ１８４および監視結果データ１８６は、対象となるフレームを特定するための情報として、分析用データ１８２に含まれるフレーム変数が対象となるフレームにおいて示していた値を含む。このような情報を採用することで、時間的に遅れて算出される特徴量および監視結果を元のプロセス値と対応付けた解析が容易化する。
【０１５７】
＜Ｈ．解析手順例＞
次に、上述したようなデータを用いた解析手順の一例について説明する。
【０１５８】
図１２は、本実施の形態に係る制御装置１００から送信されるデータを用いた解析手順の一例を説明するための図である。
【０１５９】
図１２を参照して、例えば、制御装置１００の異常監視機能があるタイミングで異常の発生と判断したとする。この異常であるとの判断が生じた原因および適否などを解析する例について説明する。
【０１６０】
まず、監視結果データ１８６に含まれる、判定結果の時系列データ１８６６を参照して、「ＴＲＵＥ」（図１２の例では、「ＴＲＵＥ」が異常発生を示すものとする）になっている時間区間を検証対象として特定する（（１）検証対象の特定）。併せて、監視スコアの時系列データ１８６７の対応する時間区間の値を取得してもよい。そして、監視結果の出力フレーム変数が示す値の時系列データ１８６５の検証対象として特定された時間区間に対応する値を取得する（（２）対応するフレーム変数の値の取得）。この例では、「ＣＣＣＣＣ」であるとする。
【０１６１】
続いて、特徴量データ１８４を参照し、特徴量データ１８４に含まれる、特徴量の出力フレーム変数が示す値の時系列データ１８４５のうち、取得されたフレーム変数と同一の値を示す時間区間を特定する（（３）同一の値を示す時間区間の特定）。そして、監視スコアの算出に用いられる各特徴量の時系列データ１８４６のうち、特定された時間区間に対応する値を取得する（（４）対応する特徴量の取得）。
【０１６２】
続いて、分析用データ１８２を参照し、分析用データ１８２に含まれる、フレーム変数が示す値の時系列データ１８２３のうち、先に取得されているフレーム変数と同一の値を示す時間区間を特定する（（５）同一の値を示す時間区間の特定）。そして、ラベル変数が示す値の時系列データ１８２５のうち、特定された時間区間に対応する値を取得する（（６）対応するプロセス値の取得）。
【０１６３】
以上のような手順によって、異常監視機能の動作状態や適性などを事後的に評価できる。
【０１６４】
＜Ｉ．付記＞
［構成１］
制御対象を制御する制御装置（１００）であって、
前記制御対象に関連する第１のプロセス値（１８２３）に基づいて規定されるフレーム毎に、前記制御対象での異常の有無を判断する異常監視部（１７０）と、
各フレームにおける前記制御対象に関連する第２のプロセス値（１８２６）に基づいてフレーム毎に特徴量を算出して前記異常監視部へ出力する特徴量算出部（１７６）と、
前記異常監視部および前記特徴量算出部による処理に係るデータを格納する記憶部（１３０）と、
前記記憶部に格納されるデータを外部へ送信するデータ送信部（１３４）とを備え、
前記異常監視部は、前記特徴量算出部からフレーム毎の特徴量が入力されると、前記制御対象での異常の有無の判断結果を含む監視結果をフレーム毎に出力するように構成されており、
前記データ送信部は、
前記第１のプロセス値および前記第２のプロセス値の時系列データを含む第１のデータ（１８２）と、
前記特徴量算出部によりフレーム毎に算出される前記特徴量の時系列データを含む第２のデータ（１８４）と、
前記異常監視部により出力される前記監視結果の時系列データを含む第３のデータ（１８６）とを送信可能に構成されており、
前記第２のデータにおいては、前記特徴量（１８４６）と、各特徴量に対応するフレームを規定する前記第１のプロセス値（１８４５）とが関連付けられており、
前記第３のデータにおいては、前記監視結果（１８６６，１８６７）と、各監視結果に対応するフレームを規定する前記第１のプロセス値（１８６５）とが関連付けられている、制御装置。
［構成２］
前記異常監視部は、フレーム毎の特徴量に基づいて異常の可能性を示す度合いである監視スコアを算出し、当該算出した監視スコアの大きさに基づいて前記制御対象での異常の有無を判断する、構成１に記載の制御装置。
［構成３］
前記第３のデータの前記監視結果は、前記監視スコア（１８６７）と、前記監視スコアに基づく異常の有無を示す値（１８６６）とを含む、構成２に記載の制御装置。
［構成４］
前記データ送信部は、特定の１または複数のプロセス値の時系列データを含む第４のデータ（１８０）をさらに送信可能に構成されている、構成１〜３のいずれか１項に記載の制御装置。
［構成５］
前記特徴量算出部は、各フレーム内の前記制御対象に関連する第３のプロセス値（１８２４）に基づいて規定されるサブフレームにおける前記第２のプロセス値の時間変化に基づいて前記特徴量を算出するように構成されており、
前記第１のデータは、前記第３のプロセス値の時系列データをさらに含む、構成１〜４のいずれか１項に記載の制御装置。
［構成６］
前記第１のデータ、前記第２のデータ、前記第３のデータの各々は、各レコードに共通のタイマで管理されるタイムスタンプ（１８２２，１８４２，１８６２）が付与されている、構成１〜５のいずれか１項に記載の制御装置。
［構成７］
前記第１のデータ、前記第２のデータ、前記第３のデータの各々は、レコード毎にインクリメントまたはデクリメントされるインデックス（１８２１，１８４１，１８６１）が各レコードに付与されている、構成１〜６のいずれか１項に記載の制御装置。
［構成８］
前記データ送信部は、ＨＴＴＰ（Hypertext Transfer Protocol）、ＨＴＴＰＳ（Hypertext Transfer Protocol Secure）、ＦＴＰ（File Transfer Protocol）、および、ＳＭＢ（Server Message Block）のうち、少なくとも１つの通信プロトコルでデータを送信する、構成１〜７のいずれか１項に記載の制御装置。
［構成９］
前記データ送信部は、前記第１のデータ、前記第２のデータ、前記第３のデータをＣＳＶ（Comma-Separated Values）形式で送信する、構成１〜８のいずれか１項に記載の制御装置。
［構成１０］
制御対象を制御する制御装置（１００）と、
前記制御装置からのデータを受付けるサーバ装置（２００）とを備え、
前記制御装置は、
前記制御対象に関連する第１のプロセス値（１８２３）に基づいて規定されるフレーム毎に、前記制御対象での異常の有無を判断する異常監視部（１７０）と、
各フレームにおける前記制御対象に関連する第２のプロセス値（１８２６）に基づいてフレーム毎に特徴量を算出して前記異常監視部へ出力する特徴量算出部（１７６）と、
前記異常監視部および前記特徴量算出部による処理に係るデータを格納する記憶部（１３０）と、
前記記憶部に格納されるデータを外部へ送信するデータ送信部（１３４）とを備え、
前記異常監視部は、前記特徴量算出部からフレーム毎の特徴量が入力されると、前記制御対象での異常の有無の判断結果を含む監視結果をフレーム毎に出力するように構成されており、
前記データ送信部は、
前記第１のプロセス値および前記第２のプロセス値の時系列データを含む第１のデータ（１８２）と、
前記特徴量算出部によりフレーム毎に算出される前記特徴量の時系列データを含む第２のデータ（１８４）と、
前記異常監視部により出力される前記監視結果の時系列データを含む第３のデータ（１８６）とを送信可能に構成されており、
前記第２のデータにおいては、前記特徴量（１８４６）と、各特徴量に対応するフレームを規定する前記第１のプロセス値（１８４５）とが関連付けられており、
前記第３のデータにおいては、前記監視結果（１８６６，１８６７）と、各監視結果に対応するフレームを規定する前記第１のプロセス値（１８６５）とが関連付けられている、制御システム。
【０１６５】
＜Ｊ．利点＞
本実施の形態に係る制御装置によれば、制御装置１００から出力される、分析用データ１８２、特徴量データ１８４、および、監視結果データ１８６の間には、フレームを規定する変数が示す値が共通に格納されており、そのようなフレームを規定する変数を共通のキーとすることで、監視結果、当該監視結果を出力されるために用いられた特徴量、当該特徴量を算出するためのプロセス値の各時系列データを容易に関連付けることができる。
【０１６６】
これによって、制御装置１００の異常監視機能の挙動に対する事後的な評価を容易化できる。
【０１６７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１６８】
１  制御システム、２，４  フィールドネットワーク、６  ローカルネットワーク、１０  フィールド装置群、１２  リモートＩ／Ｏ装置、１４  リレー群、１６  Ｉ／Ｏユニット、１８  画像センサ、２０  カメラ、２２  サーボドライバ、２４  サーボモータ、１００  制御装置、１０２  プロセッサ、１０４  チップセット、１０６  主記憶装置、１０８  二次記憶装置、１１０  ローカルネットワークコントローラ、１１２  ＵＳＢコントローラ、１１４  メモリカードインターフェイス、１１６  メモリカード、１１８，１２０  フィールドバスコントローラ、１２２  内部バスコントローラ、１２４  ローカルＩ／Ｏユニット、１２６  タイマ、１３０  内部ＤＢ、１３２  データ書込モジュール、１３４  データ送信モジュール、１４０  機械学習エンジン、１５０  ＯＳ、１５２  スケジューラ、１５４  変数マネジャ、１５６  システム変数、１５８  デバイス変数、１６０  制御プログラム、１６２  シーケンスプログラム、１６４  モーションプログラム、１７０  異常監視モジュール、１７２  学習データ、１７４  きい値、１７６  特徴量算出モジュール、１８０  生データ、１８２  分析用データ、１８４  特徴量データ、１８６  監視結果データ、２００  サーバ装置、３００  表示装置、４００  解析装置、５１０  データ定義セット、５１２  フレーム変数、５１４  特徴量の出力フレーム変数、５２０  特徴量定義セット、５２２  特徴量定義、５２４  プロセス値、５２６  サブフレーム変数、５３０  監視結果の出力フレーム変数、５４０  監視結果定義、５４２  判定結果定義、５４４  監視スコア定義、６００  包装機、６０４  包装体、６０５  被包装物、６０６  個別包装体、６１０，６２０  ロータ、６１２，６２２  回転軸、６１４，６２４  処理機構、６１５，６１６，６２５，６２６  ヒータ、６１７，６２７  カッター、１８０１，１８２１，１８４１，１８６１  インデックス、１８０２，１８２２，１８４２，１８６２  タイムスタンプ、１８０３，１８２６  プロセス値の時系列データ、１８２３  フレーム変数が示す値の時系列データ、１８２４  サブフレーム変数が示す値の時系列データ、１８２５  ラベル変数が示す値の時系列データ、１８４３  特徴量算出結果、１８４４  特徴量インデックス、１８４５  特徴量の出力フレーム変数が示す値の時系列データ、１８４６  特徴量の時系列データ、１８６３  監視結果、１８６４  装置イベントインデックス、１８６５  監視結果の出力フレーム変数が示す値の時系列データ、１８６６  判定結果の時系列データ、１８６７  監視スコアの時系列データ。
【図１】
2020047041.tif 000003
【図２】
2020047041.tif 000004
【図３】
2020047041.tif 000005
【図４】
2020047041.tif 000006
【図５】
2020047041.tif 000007
【図６】
2020047041.tif 000008
【図７】
2020047041.tif 000009
【図８】
2020047041.tif 000010
【図９】
2020047041.tif 000011
【図１０】
2020047041.tif 000012
【図１１】
2020047041.tif 000013
【図１２】
2020047041.tif 000014