(57)【要約】      （修正有）【課題】データ収集機能を搭載した制御装置において、事後的に分析や解析を効率的に行うための仕組みを提供する。【解決手段】制御装置１０は、時系列に格納されたプロセス値５０が予め定められたイベント条件の成立の有無を制御周期毎に判断する。制御装置は、イベント条件が成立すると、成立したイベント条件に関連付けられたチャプタ４０を、制御周期を特定する時刻情報と対応付けて格納する。制御装置は、抽出条件を満たすチャプタに対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値の時系列データを抽出する。【選択図】図１
2020135213.tif 000002
【特許請求の範囲】
【請求項１】
制御装置で利用可能な１または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部と、
前記１または複数のプロセス値の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、前記制御周期を特定する時刻情報と対応付けて格納する条件監視部と、
前記１または複数のチャプタのうち少なくとも１つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタに対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値の時系列データを抽出する抽出部とを備える、制御装置。
【請求項２】
前記抽出条件は、１または複数のチャプタの指定と、当該１または複数のチャプタに対応付けられた時刻情報を基準とした前記対象区間の開始位置および／または終了位置を特定するための範囲の指定とを含む、請求項１に記載の制御装置。
【請求項３】
前記抽出条件は、複数のチャプタの組み合わせを含む、請求項１または２に記載の制御装置。
【請求項４】
前記抽出条件は、前記複数のチャプタの組み合わせを複数含む、請求項３に記載の制御装置。
【請求項５】
前記抽出条件は、前記対象区間を決定する複数の前記抽出条件間の論理演算として規定される、請求項１または２に記載の制御装置。
【請求項６】
前記イベント条件に関連付けられた前記チャプタの値は、ユーザによって任意の値に設定される、請求項１〜５のいずれか１項に記載の制御装置。
【請求項７】
前記抽出部により抽出されたプロセス値の時系列データを、任意のデータ形式により出力可能な出力部をさらに備える、請求項１〜６のいずれか１項に記載の制御装置。
【請求項８】
制御対象を制御するための制御装置で実行される制御プログラムであって、
前記制御プログラムは、
前記制御装置で利用可能な１または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納するステップと、
前記１または複数のプロセス値の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、前記制御周期を特定する時刻情報と対応付けて格納するステップと、
前記１または複数のチャプタのうち少なくとも１つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタに対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値の時系列データを抽出するステップとを実行する、制御プログラム。
【請求項９】
制御対象を制御する制御装置と、
プロセス値の時系列データを抽出する抽出部とを備え、
前記制御装置は、
当該制御装置で利用可能な１または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部と、
前記１または複数のプロセス値の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、前記制御周期を特定する時刻情報と対応付けて格納する条件監視部とを含み、
前記抽出部は、前記１または複数のチャプタのうち少なくとも１つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタに対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値の時系列データを抽出する、制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データを時系列に格納する機能を有する制御装置の技術に関する。
【背景技術】
【０００２】
様々な生産現場において、ＰＬＣ（プログラマブルコントローラ）等の制御装置を用いたＦＡ（Factory Automation）技術が広く普及している。このような制御装置が取り扱うデータを事後的に解析するようなニーズがある。
【０００３】
例えば、特開２０１８ー１５１９１７号公報（特許文献１）には、制御装置が制御対象から入力データを取得し、取得した入力データに基づく制御演算を実行して出力データを決定する。そして、制御装置は、入力データおよび出力データ等の少なくとも一部を時系列データベースに格納し、入力データおよび出力データ等のデータの少なくとも一部からなる観測値と、対応する製造データとを含むデータセットを外部に出力することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１５１９１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的に、データベースに収集されたデータは事後的な分析や解析等に利用される。そのため、上述したような制御装置に内蔵されたデータベースにて大量のデータを収集するような構成を採用した場合であっても、事後的な分析や解析を効率的に行える仕組みが必要である。
【０００６】
本発明は、上述したようなニーズを実現するために、データ収集機能を搭載した制御装置において、事後的に分析や解析を効率的に行うための仕組みを提供することを一つの目的としている。
【課題を解決するための手段】
【０００７】
本開示の一例では、制御装置は、制御装置で利用可能な１または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部と、上記１または複数のプロセス値の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を上記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、上記制御周期を特定する時刻情報と対応付けて格納する条件監視部と、上記１または複数のチャプタのうち少なくとも１つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタに対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる上記格納されたプロセス値の時系列データを抽出する抽出部とを備える。
【０００８】
この開示によれば、制御装置は、抽出条件に応じたプロセス値の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
【０００９】
本開示の一例では、上記抽出条件は、１または複数のチャプタの指定と、当該１または複数のチャプタに対応付けられた時刻情報を基準とした上記対象区間の開始位置および／または終了位置を特定するための範囲の指定とを含む。
【００１０】
この開示によれば、制御装置は、抽出条件において対象区間の開始位置および／または終了位置の少なくともいずれかの変更を受け付け可能となる。
【００１１】
本開示の一例では、上記抽出条件は、複数のチャプタの組み合わせを含む。
この開示によれば、制御装置は、複数の抽出条件を受け付けることで、詳細な抽出条件に基づくプロセス値の設定が可能となり、当該抽出条件に基づく抽出が可能となる。
【００１２】
本開示の一例では、上記抽出条件は、上記複数のチャプタの組み合わせを複数含む。
この開示によれば、制御装置は、複数の抽出条件を複数受け付けることで、一層詳細な抽出条件の設定が可能となり、当該抽出条件に基づくプロセス値の抽出が可能となる。
【００１３】
本開示の一例では、上記抽出条件は、上記対象区間を決定する複数の上記抽出条件間の論理演算として規定される。
【００１４】
この開示によれば、制御装置は、論理演算を用いた抽出条件を設定可能とすることで、複数の条件の組み合わせによるプロセス値の抽出範囲を任意に設定できる。
【００１５】
本開示の一例では、上記イベント条件に関連付けられた上記チャプタの値は、ユーザによって任意の値に設定される。
【００１６】
この開示によれば、制御装置は、ユーザにより任意に設定されたイベント条件に応じたチャプタを、時系列データベースに格納できる。
【００１７】
本開示の一例では、上記抽出部により抽出されたプロセス値の時系列データを、任意のデータ形式により出力可能な出力部をさらに備える。
【００１８】
この開示によれば、制御装置は、抽出するデータを外部装置で利用可能なデータ形式に変更できる。
【００１９】
本開示の一例では、制御対象を制御するための制御装置で実行される制御プログラムは、上記制御装置で利用可能な１または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納するステップと、上記１または複数のプロセス値の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を上記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、上記制御周期を特定する時刻情報と対応付けて格納するステップと、上記１または複数のチャプタのうち少なくとも１つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタに対応付けられた時刻情報を少なくとも基準として対象区間を決定するとともに、当該決定した対象区間に含まれる上記格納されたプロセス値の時系列データを抽出するステップとを実行する。
【００２０】
この開示によれば、制御装置プログラムは、抽出条件に応じたプロセス値の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
【００２１】
本開示の一例では、制御システムは、制御対象を制御する制御装置と、プロセス値の時系列データを抽出する抽出部とを備え、上記制御装置は、当該制御装置で利用可能な１または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部と、上記１または複数のプロセス値の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を上記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、上記制御周期を特定する時刻情報と対応付けて格納する条件監視部とを含み、上記抽出部は、上記１または複数のチャプタのうち少なくとも１つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタに対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる上記格納されたプロセス値の時系列データを抽出する。
【００２２】
この開示によれば、制御システムは、抽出条件に応じたプロセス値の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
【発明の効果】
【００２３】
本開示によれば、データ収集機能を搭載した制御装置において、事後的に分析や解析を効率的に行うための仕組みを提供することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】本実施の形態に従う制御装置１０の構成例を示す図である。
【図２】本実施の形態に係る制御システム１の全体構成例を示す模式図である。
【図３】本実施の形態に係る制御システム１を構成する制御装置１０のハードウェア構成例を示すブロック図である。
【図４】本実施の形態に係る制御システム１を構成する制御装置１０のソフトウェア構成例を示すブロック図である。
【図５】本実施の形態に係る制御装置１０に実装される時系列データベース２０のデータ構造を概略する模式図である。
【図６】本実施の形態に係る制御装置１０に格納されプロセス値データベース５００とチャプタデータベース４００とのレコードのデータ構造を概略する模式図である。
【図７】イベント条件を設定例について説明する図である。
【図８】イベント条件の成立によるチャプタ４０の時系列データベース２０への格納について説明する図である。
【図９】抽出条件の第１設定例について説明する図である。
【図１０】第１抽出条件および第２抽出条件に基づくプロセス値５０の時系列データの抽出例を表わす図である。
【図１１】抽出条件の第２設定例について説明する図である。
【図１２】第１オフセット条件および第２オフセット条件に基づくプロセス値５０の時系列データの抽出例を表わす図である。
【図１３】抽出条件の第３設定例について説明する図である。
【図１４】第１抽出条件〜第４抽出条件に基づくプロセス値５０の時系列データの抽出例を表わす図である。
【図１５】抽出条件の第４設定例について説明する図である。
【図１６】第１抽出条件、区間条件および割合条件に基づくプロセス値５０の時系列データの抽出例を表わす図である。
【図１７】チャプタ４０を時系列データベース２０に格納する処理について説明するフローチャートである。
【図１８】抽出条件に基づいてプロセス値５０を抽出する処理について説明するフローチャートである。
【発明を実施するための形態】
【００２５】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２６】
＜適用例＞
図１は、本実施の形態に従う制御装置１０の構成例を示す図である。制御装置１０は、時系列データベース２０と、変数管理部２１と、収集部２２と、条件監視部２３と、抽出部２４と、出力部２５と、タイマ１２５とを有する。
【００２７】
時系列データベース２０は、典型的には、後述する主記憶装置１０６または二次記憶装置１０８（図３参照）に配置される。時系列データベース２０は、収集部２２により書込まれるプロセス値と、条件監視部２３により書込まれるチャプタとを時系列に格納する。時系列データベース２０に格納されるプロセス値およびチャプタには、制御装置１０における制御周期を特定する時刻情報が付与される。制御周期は、例えば、数１００μｓｅｃオーダ〜数１０ｍｓｅｃオーダのごく短い期間である。時刻情報は、タイマ１２５により付与される。タイマ１２５は、計時機能を有する一種のカウンタである。
【００２８】
プロセス値は、制御装置１０と後述するフィールド装置群８（図２参照）との間で制御周期毎に遣り取りされるフィールド値を含む。
【００２９】
チャプタは、いずれかのイベント条件が成立すると、上述のように制御周期を特定する時刻情報と対応付けて時系列データベース２０に格納される。チャプタは、イベント条件が成立したプロセス値を指し示すデータである。
【００３０】
イベント条件は、後述するサポート装置２００（図２参照）を用いたユーザ操作により設定される条件である。イベント条件は、例えば、フィールド装置群８による作業の「開始」を示す値を含む。また、イベント条件は、例えば、フィールド装置群８による作業の「終了」を示す値を含む。さらに、イベント条件は、例えば、作業対象のワーク（図示せず）が予め定められた条件を温度以上（例えば、５００℃以上）となったこと（「マーク」）示す値を含む。なお、ワークの温度は、フィールド装置群８に含まれる温度センサ（図示せず）によって検出される。イベント条件が成立したチャプタを時系列データベース２０に格納する処理の具体例については後述する。
【００３１】
変数管理部２１は、制御装置１０において利用可能な値を変数の形で管理する。変数管理部２１は、例えば、フィールド値を取得して、後述するデバイス変数１６４（図４参照）の形で管理する。変数管理部２１は、制御装置１０におけるその他の値を、システム変数１６２およびユーザ変数１６６（図４参照）の形で管理する。より具体的には、変数管理部２１は、制御装置１０の状態を示す値をシステム変数１６２の形で管理する。また、変数管理部２１は、後述するユーザプログラム１５２（図４参照）が保持する値をユーザ変数１６６の形で管理する。以下では、フィード値、制御装置１０の状態を示す値およびユーザプログラム１５２が保持する値を総称して「プロセス値」と称する。
【００３２】
収集部２２は、１または複数のプロセス値のうち少なくとも一部を、予め定められた制御周期毎に時系列データベース２０に格納する。格納される１または複数のプロセス値にはタイマ１２５により時刻情報が付与される。時系列データベース２０には、例えば、第１プロセス値５１、第２プロセス値５２、第３プロセス値５３および第４プロセス値５４を含む複数のプロセス値が格納される。以下、これらのプロセス値を総称してプロセス値５０とも称する。
【００３３】
条件監視部２３は、１または複数のプロセス値の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を制御周期毎に判断する。格納される１または複数のチャプタにはタイマ１２５により時刻情報が付与される。時系列データベース２０には、例えば、第１チャプタ４１、第２チャプタ４２および第３チャプタ４３が格納される。以下、これらのチャプタを総称してチャプタ４０とも称する。
【００３４】
条件監視部２３は、あるプロセス値５０があるイベント条件を満たすことで、チャプタ４０を時系列データベース２０に格納する。格納されたチャプタ４０に付与された時刻情報と、当該プロセス値５０の時刻情報とは同一の時刻を表わす情報であり、同期した情報である。
【００３５】
より具体的には、条件監視部２３は、例えば第１プロセス値５１に関して、いずれかのイベント条件が成立すると第１チャプタ４１を時系列データベースに２０に格納する。第１チャプタ４１は、いずれかのイベント条件に関連付けられるとともに第１プロセス値５１の制御周期を特定する時刻情報が対応付けられたチャプタである。また、条件監視部２３は、第１チャプタ４１と同様に、第２チャプタ４２を第２プロセス値５２の制御周期を特定する時刻情報に対応付けて時系列データベース２０に格納する。さらに、条件監視部２３は、第３チャプタ４３を第３プロセス値５３の制御周期を特定する時刻情報に対応付けて時系列データベース２０に格納する。
【００３６】
抽出部２４は、抽出条件を満たすプロセス値５０の時系列データを時系列データベース２０から抽出する。抽出条件は、１または複数のチャプタ４０のうち少なくとも１つを含んで定義される条件である。
【００３７】
より具体的には、抽出部２４は、抽出条件に含まれるチャプタ４０に対応付けられた時刻情報を基準としてプロセス値５０を抽出するための対象区間を決定する。そして、抽出部２４は、決定した対象区間に含まれるプロセス値５０の時系列データを抽出する。抽出条件は、例えば、図１に示すように第３チャプタ４３と当該第３チャプタ４３を基準とする条件である。当該抽出条件は、第３チャプタ４３に対応付けられた時刻情報に対応するプロセス値５０と、当該プロセス値５０を基準として±１レコードのプロセス値５０を含む区間を対象区間とする条件である。抽出部２４は、抽出条件により第３プロセス値５３を含む第２プロセス値５２〜第４プロセス値５４の区間を対象区間として決定する。そして、抽出部２４は、当該対象区間に含まれる第２プロセス値５２〜第４プロセス値５４の時系列データを抽出する。このように、制御装置１０は、抽出条件に応じたプロセス値５０の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
【００３８】
出力部２５は、第２プロセス値５２〜第４プロセス値５４の時系列データを制御装置１０とネットワークを介して接続された外部装置に出力する。外部装置は、例えば、後述する製造実行システム（ＭＥＳ：Manufacturing Execution System）６００およびクラウドサービス６５０（図２参照）等である。出力部２５は、抽出部２４により抽出された第２プロセス値５２〜第４プロセス値５４の時系列データを、任意のデータ形式により出力する。データ形式は、例えば、ＣＳＶ(Comma Separated Values)、ＳＱＬ（Structured Query Language）およびバイナリ形式の少なくともいずれかを含む。制御装置１０は、サポート装置２００からのデータ形式の変更を受け付ける。出力部２５は、サポート装置２００から受け付けたデータ形式に基づき、第２プロセス値５２〜第４プロセス値５４を外部装置に出力する。このよう出力部２５がデータ形式を決定してエクスポートすることで、制御装置１０は、抽出するデータを外部装置で利用可能なデータ形式に変更できる。
【００３９】
［Ａ．制御システム１の構成］
図２は、本実施の形態に係る制御システム１の全体構成例を示す模式図である。図２を参照して、本実施の形態に係る制御システム１は、主たる構成要素として、制御対象を制御する制御装置１０と、制御装置１０に接続されるサポート装置２００とを含む。
【００４０】
制御装置１０は、ＰＬＣ（プログラマブルコントローラ）などの、一種のコンピュータとして具現化されてもよい。制御装置１０は、第１フィールドネットワーク２を介してフィールド装置群８と接続されるとともに、第２フィールドネットワーク４を介して１または複数の表示装置３００と接続される。制御装置１０は、それぞれのネットワークを介して、接続された装置との間でデータを遣り取りする。より具体的には、制御装置１０は、例えば第１フィールドネットワーク２を介してフィールド装置群８とフィールド値の遣り取りをする。
【００４１】
制御装置１０は、設備や機械を制御するための各種演算を実行する制御ロジックを有している。制御装置１０は、フィールド装置群８にて計測され、制御装置１０へ転送されるデータ（以下、「入力データ」とも称する。）を収集する収集機能を有している。さらに、制御装置１０は、収集した入力データを監視する監視機能と、データを抽出する抽出機能およびデータを出力する出力機能を有している。
【００４２】
第１フィールドネットワーク２および第２フィールドネットワーク４は、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、ＥｔｈｅｒＣＡＴ（登録商標）、ＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）、ＤｅｖｉｃｅＮｅｔ（登録商標）、ＣｏｍｐｏＮｅｔ（登録商標）などが知られている。
【００４３】
フィールド装置群８は、制御対象または制御に関連する製造装置や生産ラインなど（以下、「フィールド」とも総称する。）から入力データを収集する装置を含む。このような入力データを収集する装置としては、入力リレーや各種センサなどが想定される。フィールド装置群８は、さらに、制御装置１０が生成する指令（以下、「出力データ」とも称する。）に基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのフィールド装置群８は、第１フィールドネットワーク２を介して、制御装置１０との間で、入力データおよび出力データを含むフィールド値を遣り取りする。
【００４４】
図２に示す構成例においては、フィールド装置群８は、リモートＩ／Ｏ（Input/Output）装置１２と、リレー群１４と、画像センサ１８およびカメラ１９と、サーボドライバ１６およびサーボモータ１７とを含む。
【００４５】
リモートＩ／Ｏ装置１２は、第１フィールドネットワーク２を介して通信を行う通信部と、入力データの取得および出力データの出力を行うための入出力部（以下、「Ｉ／Ｏユニット」とも称する。）とを含む。このようなＩ／Ｏユニットを介して、制御装置１０とフィールドとの間で入力データおよび出力データが遣り取りされる。図２には、リレー群１４を介して、入力データおよび出力データとして、デジタル信号が遣り取りされる例が示されている。
【００４６】
Ｉ／Ｏユニットは、フィールドネットワークに直接接続されるようにしてもよい。図２には、第１フィールドネットワーク２にＩ／Ｏユニット１５が直接接続されている例を示す。
【００４７】
画像センサ１８は、カメラ１９によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置１０へ送信する。
【００４８】
サーボドライバ１６は、制御装置１０からの出力データ（例えば、位置指令など）に従って、サーボモータ１７を駆動する。
【００４９】
上述のように、第１フィールドネットワーク２を介して、制御装置１０とフィールド装置群８との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数百μｓｅｃオーダ〜数十ｍｓｅｃオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理を、「Ｉ／Ｏリフレッシュ処理」と称することもある。また、第２フィールドネットワーク４を介して制御装置１０と接続される表示装置３００は、ユーザからの操作を受けて、制御装置１０に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置１０での演算結果などをグラフィカルに表示する。
【００５０】
また、外部装置として、製造実行システム６００およびクラウドサービス６５０を典型例として示す。外部装置は、制御装置１０と上位ネットワーク６を介して接続される。制御装置１０は、これらの外部システムや外部サービスに対して、プロセス値５０を送信する。外部に出力されるプロセス値５０は、上述のようにフィールド値と、システム変数１６２の値と、ユーザ変数１６６の値との少なくともいずれかを含む。
【００５１】
サポート装置２００は、制御装置１０が制御対象を制御するために必要な準備を支援する装置である。サポート装置２００は、制御装置１０で実行されるプログラムの開発環境（プログラム作成編集ツール、パーサ、コンパイラなど）を提供する。また、サポート装置２００は、制御装置１０および制御装置１０に接続される各種デバイスのパラメータ（コンフィギュレーション）を設定するための設定環境を提供する。さらに、サポート装置２００は、生成したユーザプログラム１５２を制御装置１０へ送信する機能、制御装置１０上で実行されるユーザプログラム１５２などをオンラインで修正・変更する機能等を提供する。
【００５２】
サポート装置２００は、画像を表示する表示部２０１と、ユーザ操作を受け付ける操作入力部２０２とを含む。操作入力部２０２は、例えばキーボードおよびマウスの少なくともいずれかで構成される。サポート装置２００は、操作入力部２０２を用いたユーザ操作を受け付けて、制御装置１０に対するイベント条件および抽出条件の少なくともいずれかを設定可能な機能を提供する。
【００５３】
［Ｂ．制御装置１０のハードウェア構成例］
次に、本実施の形態に係る制御システム１を構成する制御装置１０のハードウェア構成例について説明する。
【００５４】
図３は、本実施の形態に係る制御システム１を構成する制御装置１０のハードウェア構成例を示すブロック図である。図３を参照して、制御装置１０は、演算処理部および１または複数のＩ／Ｏユニット１２４−１，１２４−２，…を含む。以下の説明においては、演算処理部を「ＣＰＵユニット１００」とも称する。
【００５５】
ＣＰＵユニット１００は、プロセッサ１０２と、チップセット１０４と、主記憶装置１０６と、二次記憶装置１０８とを含む。また、ＣＰＵユニット１００は、上位ネットワークコントローラ１１０と、ＵＳＢ（Universal Serial Bus）コントローラ１１２と、メモリカードインターフェイス１１４とを含む。さらに、ＣＰＵユニット１００は、内部バスコントローラ１２２と、フィールドバスコントローラ１１８，１２０と、タイマ１２５とを含む。
【００５６】
プロセッサ１０２は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などで構成され、二次記憶装置１０８に格納された各種プログラムを読み出して、主記憶装置１０６に展開して実行する。プロセッサ１０２は、各種プログラムを主記憶装置１０６に展開することで、制御対象に応じた制御、および、各種処理を実現する。チップセット１０４は、プロセッサ１０２と各デバイスを制御することで、制御装置１０全体としての処理を実現する。
【００５７】
二次記憶装置１０８には、後述するＰＬＣエンジン１５０（図４参照）を実現するためのシステムプログラムに加えて、ＰＬＣエンジン１５０を利用して実行されるユーザプログラム１５２が格納される。さらに、二次記憶装置１０８には、時系列データベース２０が格納される。
【００５８】
上位ネットワークコントローラ１１０は、上位ネットワークを介した他の装置との間のデータの遣り取りを制御する。より具体的には、上位ネットワークコントローラ１１０は、例えば、外部装置にプロセス値を送信する。
【００５９】
ＵＳＢコントローラ１１２は、ＵＳＢ接続を介してサポート装置２００との間のデータの遣り取りを制御する。
【００６０】
メモリカードインターフェイス１１４は、メモリカード１１６を着脱可能に構成されており、メモリカード１１６に対してデータを書込み、メモリカード１１６から各種データ（ユーザプログラム１５２やトレースデータなど）を読出すことが可能になっている。
【００６１】
内部バスコントローラ１２２は、制御装置１０に搭載されるＩ／Ｏユニット１２４−１，１２４−２，…との間でデータを遣り取りするインターフェイスである。
【００６２】
フィールドバスコントローラ１１８は、第１フィールドネットワーク２を介した他の装置との間のフィード値の遣り取りを制御する。同様に、フィールドバスコントローラ１２０は、第２フィールドネットワーク４を介した他の装置との間のフィールド値の遣り取りを制御する。
【００６３】
図３には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、制御装置１０の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００６４】
［Ｃ．制御装置１０のソフトウェア構成例］
次に、本実施の形態に係る制御システム１を構成する制御装置１０のソフトウェア構成例について説明する。
【００６５】
図４は、本実施の形態に係る制御システム１を構成する制御装置１０のソフトウェア構成例を示すブロック図である。図４を参照して、制御装置１０は、ＰＬＣエンジン１５０と、時系列データベース２０と、抽出プログラム１５５と、上位接続プログラム１９２と、ゲートウェイプログラム１９４とを含む。
【００６６】
ＰＬＣエンジン１５０は、典型的には、制御装置１０のプロセッサ１０２が、二次記憶装置１０８に格納されているシステムプログラムを読出して主記憶装置１０６に展開して実行することで各種プログラムの実行環境が提供され、当該実行環境下において、各種プログラムを実行することができる。
【００６７】
より具体的には、ＰＬＣエンジン１５０は、制御プログラム１５１と、収集プログラム１５３と、条件監視プログラム１５４と、変数管理プログラム１６０と、スケジューラプログラム１７０と、入力プログラム１７２と、出力プログラム１７４とを含む。
【００６８】
変数管理プログラム１６０と、スケジューラプログラム１７０と、入力プログラム１７２と、出力プログラム１７４とについては、システムプログラムの一部として実装されてもよい。この場合には、これらのプログラムが提供するそれぞれの機能を単一のシステムプログラムが提供するようにしてもよい。
【００６９】
制御プログラム１５１は、典型的には、ユーザプログラム１５２を含む。ユーザプログラム１５２は、制御演算機能を提供する主たる部分に相当し、制御装置１０の制御対象の製造装置や設備などに応じて任意に構成することができる。ユーザプログラム１５２は、例えば、ファンクションブロックなどを利用したラダーロジックなどで規定することができる。
【００７０】
収集プログラム１５３は、制御装置１０の制御周期に基づき、ユーザプログラム１５２内に規定された命令によって呼び出される。収集プログラム１５３は、１または複数のプロセス値５０のうち少なくとも一部を制御周期毎に時系列データベース２０に格納する。
【００７１】
条件監視プログラム１５４は、制御装置１０の制御周期に基づき、ユーザプログラム１５２内に規定された命令によって呼び出される。条件監視プログラム１５４は、１または複数のプロセス値５０の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を制御周期毎に判断する。条件監視プログラム１５４は、いずれかのイベント条件が成立すると、当該成立したイベントに関連付けられたチャプタ４０を、制御周期を特定する時刻情報と対応付けて格納する。
【００７２】
変数管理プログラム１６０は、ＰＬＣエンジン１５０で利用可能な値を変数の形で管理する。より具体的には、変数管理プログラム１６０は、制御装置１０の状態などを示すシステム変数１６２と、各種デバイスが保持する値を示すデバイス変数１６４と、ユーザプログラム１５２が保持する値を示すユーザ変数１６６とを管理する。各種デバイスは、例えば、制御装置１０とローカルバスまたはフィールドバスを介して接続されるデバイスである。
【００７３】
スケジューラプログラム１７０は、制御装置１０で実行されるプロセスやタスクなどに対してリソース割当てや実行タイミングなどを管理する。
【００７４】
入力プログラム１７２は、制御装置１０とローカルバスまたはフィールドバスを介して接続される各種デバイスから入力データを取得する機能を提供する。
【００７５】
出力プログラム１７４は、制御装置１０において実行されるユーザプログラム１５２によって算出される指令値（出力データ）をローカルバスまたはフィールドバスを介して接続される対象のデバイスへ出力する。
【００７６】
時系列データベース２０は、典型的には、主記憶装置１０６または二次記憶装置１０８に配置され、データを格納する機能とともに、外部からの要求（クエリ）に応答して、指定されたデータを応答する検索機能を搭載している。時系列データベース２０は、収集プログラム１５３により書込まれるプロセス値５０を格納する。また時系列データベース２０は、条件監視プログラム１５４により書込まれるチャプタ４０を格納する。
【００７７】
抽出プログラム１５５は、抽出条件を満たすチャプタ４０に対応付けられた時刻情報を基準として対象区間を決定し、当該対象区間に含まれる１または複数のプロセス値５０を抽出する。
【００７８】
上位接続プログラム１９２は、製造実行システム６００などの上位ネットワーク６に接続された外部装置との間でプロセス値５０を遣り取りする。上位接続プログラム１９２は、抽出プログラム１５５により抽出されたプロセス値５０を、任意のデータ形式により製造実行システム６００へ出力する。製造実行システム６００はデータベースを有している。あるいは、製造実行システム６００は、自システムとは別にデータベースが配置されている場合には、上位接続プログラム１９２に代えて、あるいは、上位接続プログラム１９２の一部として、データベース接続プログラムが設けられていてもよい。このようなデータベース接続プログラムは、例えば、リレーショナルデータベースに対してＳＱＬなどのクエリを送信するとともに、応答を受信する処理を実行するようにしてもよい。
【００７９】
ゲートウェイプログラム１９４は、クラウドサービス６５０に対して時系列データを提供する。具体的には、ゲートウェイプログラム１９４は、時系列データベース２０から、指定された種類のデータを指定された周期で取得して、時系列データとして出力する。ゲートウェイプログラム１９４は、抽出プログラム１５５により抽出されたプロセス値５０を、任意のデータ形式によりクラウドサービス６５０へ出力する。プロセス値５０は、クラウドサービス６５０に設けられたデータベースに格納される。
【００８０】
制御装置１０の入力プログラム１７２は、ローカルバスおよび／またはフィールドバスを介してセンサから入力データを取得する。
【００８１】
出力プログラム１７４は、ユーザプログラム１５２の制御演算によって算出される出力データを制御出力として、ローカルバスおよび／またはフィールドバスを介してアクチュエータへ出力する。
【００８２】
［Ｄ．データ構造］
次に、時系列データベース２０を実現するためのデータ構造の一例について説明する。
【００８３】
（ｄ１：時系列データベース２０）
図５は、本実施の形態に係る制御装置１０に実装される時系列データベース２０のデータ構造を概略する模式図である。図５を参照して、時系列データベース２０が扱う時系列データの概念を「時系列（TimeSeries）」とも称する。１つの時系列は、複数レベルのデータベースで構成されてもよい。本実施の形態において、複数レベルのデータベースとしては、時系列データベース２０に格納される時系列のプロセス値５０により構成されるプロセス値データベース５００と、チャプタ４０により構成されるチャプタデータベース４００とを含む。時系列データベース２０には、複数の時系列を生成することができ、例えば、アプリケーション毎に時系列を生成するようにしてもよい。各データベースファイルは、バージョンなどの独自の属性を有するようにしてもよい。
【００８４】
プロセス値データベース５００には、プロセス値５０の時系列データが格納される。プロセス値５０は、制御周期に対応する時刻情報を含む。チャプタデータベース４００には、チャプタ４０の時系列データが格納される。チャプタ４０は、プロセス値５０の制御周期を特定するための時刻情報等が格納される。
【００８５】
プロセス値データベース５００では、データの最小単位であるレコードの単位でプロセス値５０が格納される。プロセス値データベース５００における各レコードには、例えば、Ｋｅｙ−Ｖａｌｕｅストア型が採用される。Ｋｅｙ−Ｖａｌｕｅストア型のレコードが採用された場合には、格納対象のデータ（Ｖａｌｕｅ／値）と、そのデータに対応する一意の標識（Ｋｅｙ）とが関連付けて格納される。すなわち、各レコードは、Ｋｅｙ−Ｖａｌｕｅストア型のＫｅｙとＶａｌｕｅとを含む。
【００８６】
また、チャプタデータベース４００では、データの最小単位であるレコードの単位でプロセス値５０が格納される。チャプタデータベース４００における各レコードには、例えば、Ｋｅｙ−Ｖａｌｕｅストア型が採用される。
【００８７】
次に、図５におけるプロセス値データベース５００およびチャプタデータベース４００を構成する各レコード内のより詳細なデータ構造の一例について説明する。図６は、本実施の形態に係る制御装置１０に格納されるプロセス値データベース５００とチャプタデータベース４００とのレコードのデータ構造を概略する模式図である。
【００８８】
（ｄ２：プロセス値データベース５００）
図６（ａ）を参照して、プロセス値データベース５００のレコードは、タイミングまたは時刻を特定する情報を含む標識（Ｋｅｙ）と、対応するプロセス値を含むデータ（Ｖａｌｕｅ）とを対応付けたデータである。プロセス値データベース５００のレコードは、Ｋｅｙとして、ＩＤ５０１およびタイムスタンプ５０２を含む。ＩＤ５０１として、格納対象のデータに関連付けられる任意の識別情報が用いられてもよい。タイムスタンプ５０２は、時刻またはタイミングを特定する情報に相当し、例えば、任意のプロセス値５０を格納する際のＣＰＵユニット１００で管理している時刻情報またはカウンタ情報が用いられる。図６（ａ）に示したプロセス値５０におけるＫｅｙは一例であり、当該Ｋｅｙは、ＩＤ５０１およびタイムスタンプ５０２のうち少なくとも１つを含んでもよい。また、当該Ｋｅｙは、ＩＤ５０１およびタイムスタンプ５０２以外を含んでもよい。
【００８９】
プロセス値データベース５００のレコードは、Ｖａｌｕｅとして、インデックス５０３およびプロセス値５０を含む。インデックス５０３は、データの格納動作に応じて所定値だけインクリメント／デクリメントされる値である。典型的には、１つのレコードが格納される毎に１ずつカウントアップされるような値が用いられる。プロセス値５０は、ユーザプログラム１５２内に規定された命令によって収集プログラム１５３が呼び出され、当該収集プログラム１５３に指定されたプロセス値５０を含むレコードが時系列データベースに順次書込まれる。
【００９０】
（ｄ３：チャプタデータベース４００）
図６（ｂ）を参照して、チャプタデータベース４００のレコードは、Ｋｅｙとして、ＡｕｔｏＩＤ４０１と、識別子４０２と、情報種類４０３とを含む。なお、本実施の形態では、ＡｕｔｏＩＤ４０１、識別子４０２および情報種類４０３がチャプタ４０に相当する。図６（ｂ）に示したチャプタ４０におけるＫｅｙは一例であり、ＡｕｔｏＩＤ４０１、識別子４０２および情報種類４０３のうち少なくとも１つを含んでもよい。また、当該Ｋｅｙは、チャプタ４０は、ＡｕｔｏＩＤ４０１、識別子４０２および情報種類４０３以外を含んでもよい。
【００９１】
ＡｕｔｏＩＤ４０１は、予め定められた規則に従って順次更新される識別情報に相当し、レコードの登録に応じて所定値だけインクリメント／デクリメントされる値が用いられる。典型的には、１つのレコードが格納される毎に１ずつカウントアップされるような値が用いられる。
【００９２】
識別子４０２は、チャプタ４０を特定するための識別情報に相当し、チャプタ４０の検索に用いられる任意の値が用いられる。例えば、識別子４０２として、文字列、数値、日付情報、時刻情報などが用いられてもよい。識別子４０２として格納される値は、ユーザプログラム１５２にて規定されるようにしてもよい。
【００９３】
情報種類４０３は、チャプタ４０の種類を示す情報に相当する。より具体的には、情報種類４０３は、対象のチャプタ４０がイベント条件を満たすか否かを判断するための指標となる。情報種類４０３は、例えば、作業工程の「開始」を示す値（例えば、「ＣＳ」）を有する。情報種類４０３は、例えば、作業工程の「終了」を示す値（例えば、「ＣＥ」）を有する。情報種類４０３は、例えば、ワークの温度が予め定められた閾値（例えば、５００℃）以上となったことを示す値（例えば「ＭＡ」）を有する。これらの値は一例であり、他の値であってもよい。このようにチャプタ４０の値（情報種類４０３の値）は、ユーザによって任意の値に設定される。そして、チャプタ４０の値はイベント条件に関連付けられており、イベント条件についても後述するようにユーザによる設定が可能となる。チャプタ４０の値およびイベント条件の設定は、例えば、サポート装置２００を用いて行われる。これにより、制御装置１０は、ユーザにより任意に設定されたイベント条件に応じたチャプタ４０を、時系列データベース２０に格納できる。
【００９４】
また、チャプタデータベース４００のレコードは、Ｖａｌｕｅとして、プロセス値データベースのレコードのＫｅｙ４０４（以下、「レコードＫｅｙ４０４」とも称する。）を含む。レコードＫｅｙ４０４の値は、プロセス値データベース５００におけるタイムスタンプ５０２に対応する値である。レコードＫｅｙ４０４は、プロセス値データベース５００に含まれる複数のレコードから、対象のプロセス値５０を含むレコードを検索して抽出するための検索キーとして用いられる。
【００９５】
［Ｅ．イベント条件の設定］
次に、イベント条件の設定例について具体的に説明する。
【００９６】
図７は、イベント条件を設定例について説明する図である。図７を参照して、サポート装置２００の表示部２０１は、イベント条件設定画像２０９を表示する。サポート装置２００は、ユーザの操作入力部２０２の操作によるイベント条件の設定を受け付ける。イベント条件設定画像２０９には一例として５つの条件（第１条件〜第５条件）を示す。各条件は、条件名と、条件式と、種類とを含む。条件名は、プロセス値５０における時刻情報と同一の時刻情報が対応付けられたチャプタ４０の識別子４０２の値を決定するための情報である。当該プロセス値５０は、後述する条件式に関して、設定された条件を満たしたプロセス値５０である。条件名は、例えば、作業工程を識別可能な情報である。条件式は、プロセス値５０が設定された条件を満たすか否かを判定するための判定式である。種類は、プロセス値５０における時刻情報と同一の時刻情報が対応付けられたチャプタ４０の情報種類４０３の値を決定するための情報である。当該プロセス値５０は、設定された条件を満たしたプロセス値５０である。
【００９７】
図７では、例えば第１条件における第１条件名２１０には「Ｅｖｅｎｔ１」、第１条件式２１２には「ＳｔａｒｔＦｌａｇ１＝＝ＴＲＵＥ」、第１種類２１４には「開始」が入力される。第１種類２１４では種類選択欄２１５に表示された複数の値のうち任意の値が選択されて第１種類２１４の値が入力される。プロセッサ１０２は、条件監視プログラム１５４を実行する。プロセッサ１０２は、第１条件式２１２における条件（例えば、第１作業工程の「開始」）を満たすプロセス値５０が格納されると、イベント条件（第１条件）が成立したと判断する。プロセッサ１０２は、後述する図８に示すチャプタ４０を時系列データベース２０に格納する。当該チャプタ４０には、プロセス値５０と同じ時刻の時刻情報が対応付けられ、識別子４０２に「Ｅｖｅｎｔ１」の値が登録され、情報種類４０３に「ＣＳ」の値が登録される。
【００９８】
第２条件における第２条件名２２０には「Ｅｖｅｎｔ１」、第２条件式２２２には「ＳｔａｒｔＦｌａｇ１＝＝ＦＡＬＳＥ」、第２種類２２４には「終了」が入力される。プロセッサ１０２は、条件監視プログラム１５４を実行する。プロセッサ１０２は、第２条件式２２２における条件（例えば、第１作業工程の「終了」）を満たすプロセス値５０が格納されると、イベント条件（第２条件）が成立したと判断する。プロセッサ１０２は、後述する図８に示すチャプタ４０を時系列データベース２０に格納する。当該チャプタ４０には、プロセス値５０と同じ時刻の時刻情報が対応付けられ、識別子４０２に「Ｅｖｅｎｔ１」の値が登録され、情報種類４０３に「ＣＥ」の値が登録される。
【００９９】
第３条件における第３条件名２３０には「Ｅｖｅｎｔ２」、第３条件式２３２には「ＳｔａｒｔＦｌａｇ２＝＝ＴＲＵＥ」、第３種類２３４には「開始」が入力される。プロセッサ１０２は、条件監視プログラム１５４を実行する。プロセッサ１０２は、第３条件式２３２における条件（例えば、第２作業工程の「開始」）を満たすプロセス値５０が格納されると、イベント条件（第３条件）が成立したと判断する。プロセッサ１０２は、後述する図８に示すチャプタ４０を時系列データベース２０に格納する。当該チャプタ４０には、プロセス値５０と同じ時刻の時刻情報が対応付けられ、識別子４０２に「Ｅｖｅｎｔ２」の値が登録され、情報種類４０３に「ＣＳ」の値が登録される。
【０１００】
第４条件における第４条件名２４０には「Ｅｖｅｎｔ２」、第４条件式２４２には「ＳｔａｒｔＦｌａｇ２＝＝ＦＡＬＳＥ」、第４種類２４４には「終了」が入力される。プロセッサ１０２は、条件監視プログラム１５４を実行する。プロセッサ１０２は、第４条件式２４２における条件（例えば、第２作業工程の「終了」）を満たすプロセス値５０が格納されると、イベント条件（第４条件）が成立したと判断する。プロセッサ１０２は、後述する図８に示すチャプタ４０を時系列データベース２０に格納する。当該チャプタ４０には、プロセス値５０と同じ時刻の時刻情報が対応付けられ、識別子４０２に「Ｅｖｅｎｔ２」の値が登録され、情報種類４０３に「ＣＥ」の値が登録される。
【０１０１】
第５条件における第５条件名２５０には「Ｅｖｅｎｔ３」、第５条件式２５２には「Ｔｅｍｐｅｒａｔｕｒｅ≧５００」、第５種類２５４には「マーク」が入力される。プロセッサ１０２は、条件監視プログラム１５４を実行する。プロセッサ１０２は、第５条件式２５２における条件（例えば、第３作業工程の「開始」）を満たすプロセス値５０が格納されると、イベント条件（第５条件）が成立したと判断する。プロセッサ１０２は、後述する図８に示すチャプタ４０を時系列データベース２０に格納する。当該チャプタ４０には、プロセス値５０と同じ時刻の時刻情報が対応付けられ、識別子４０２に「Ｅｖｅｎｔ３」の値が登録され、情報種類４０３に「ＭＡ」の値が登録される。
【０１０２】
［Ｆ．イベント条件の成立によるチャプタ４０の格納］
図８は、イベント条件の成立によるチャプタ４０の時系列データベース２０への格納について説明する図である。図８を参照して、プロセッサ１０２は、条件監視プログラム１５４に基づいて、第１条件のイベント条件が成立すると、チャプタ４０を時刻情報と対応付けて格納する。より具体的には、プロセッサ１０２は、チャプタデータベース４００におけるＡｕｔｏＩＤ４０１の値が「００１」を含むチャプタを、レコードＫｅｙ４０４の値が「１０：１０：１０：０１」の時刻情報と対応付けて格納する。当該チャプタ４０は、識別子４０２の値「Ｅｖｅｎｔ１」と情報種類４０３の値「ＣＳ」とを含む。「ＣＳ」の値は、上述のとおり作業工程の「開始」を意味する値である。当該時刻情報は、プロセス値データベース５００におけるＩＤ５０１の値が「０１０１」のタイムスタンプ５０２の値（「１０：１０：１０：０１」）に対応する。
【０１０３】
プロセッサ１０２は、チャプタデータベース４００におけるＡｕｔｏＩＤ４０２の値が「００２」を含むチャプタ４０を、レコードＫｅｙ４０４の値が「１０：１０：１０：０４」の時刻情報と対応付けて格納する。当該チャプタ４０は、識別子４０２の値「Ｅｖｅｎｔ１」と情報種類４０３の値「ＣＥ」とを含む。「ＣＳ」の値は、上述のとおり作業工程の「終了」を意味する値である。当該時刻情報は、プロセス値データベース５００におけるＩＤ５０１の値が「０１０４」のタイムスタンプ５０２の値（「１０：１０：１０：０４」）に対応する。
【０１０４】
プロセッサ１０２は、チャプタデータベース４００におけるＡｕｔｏＩＤ４０２の値が「００３」を含むチャプタを、レコードＫｅｙ４０４の値が「１０：１０：１０：０５」の時刻情報と対応付けて格納する。当該チャプタ４０は、識別子４０２の値「Ｅｖｅｎｔ２」と情報種類４０３の値「ＣＳ」とを含む。当該時刻情報は、プロセス値データベース５００におけるＩＤ５０１の値が「０１０６」のタイムスタンプ５０２の値（「１０：１０：１０：０５」）に対応する。
【０１０５】
プロセッサ１０２は、チャプタデータベース４００におけるＡｕｔｏＩＤ４０２の値が「００４」を含むチャプタ４０を、レコードＫｅｙ４０４の値が「１０：１０：１０：０６」の時刻情報と対応付けて格納する。当該チャプタ４０は、識別子４０２の値「Ｅｖｅｎｔ３」と情報種類４０３の値「ＭＡ」とを含む。「ＭＡ」の値は、上述のとおりワークの温度が閾値以上となったことを意味する値である。当該時刻情報は、プロセス値データベース５００におけるＩＤ５０１の値が「１０６」のタイムスタンプ５０２の値（「１０：１０：１０：０６」）に対応する。
【０１０６】
プロセッサ１０２は、チャプタデータベース４００におけるＡｕｔｏＩＤ４０２の値が「００５」を含むチャプタ４０を、レコードＫｅｙ４０４の値が「１０：１０：１０：０７」の時刻情報と対応付けて格納する。当該チャプタ４０は、識別子４０２の値「Ｅｖｅｎｔ２」と情報種類４０３の値「ＣＥ」とを含む。当該時刻情報は、プロセス値データベース５００におけるＩＤ５０１の値が「１０７」のタイムスタンプ５０２の値（「１０：１０：１０：０７」）に対応する。
【０１０７】
なお、プロセス値データベース５００には、上述のチャプタ４０に対応する時刻情報を有するプロセス値５０以外のプロセス値５０も含まれる。プロセス値データベース５００は、例えば、ＩＤ５０１の値が「０１００」、「０１０２」、「０１０３」および「０１０８」のプロセス値５０を含む。
【０１０８】
［Ｇ．抽出条件の設定（作業工程１における開始〜終了）］
次に、抽出条件の設定の一例について説明する。抽出条件は、時系列データベース２０に格納された複数のプロセス値５０のうち条件を満たす１または複数のプロセス値５０を抽出するための条件である。このようなプロセス値５０の抽出は、イベント条件が満たされたことでチャプタ４０が時系列データベース２０に格納された後に実施することができるため、事後的に分析や解析を効率的に行える。
【０１０９】
図９は、抽出条件の第１設定例について説明する図である。図９を参照して、サポート装置２００の表示部２０１は、条件設定画像３０１と対象区間画像３０２とを表示する。条件設定画像３０１は、２つの条件（第１条件〜第２条件）を設定するための画像である。各条件は、条件名を入力するための項目（例えば、第１条件名項目３１０）と種類を入力するための項目（例えば、第１種類項目３１２）とを含む。条件名を入力するための項目の値は、プロセス値５０がイベント条件の条件式を満たした場合に、チャプタ４０における識別子４０２に登録された値に対応する。種類を入力するための項目は、プロセス値５０がイベント条件の条件式を満たした場合に、チャプタ４０における情報種類４０３に登録された値に対応する。条件設定画像３０１は、設定された抽出条件によりプロセス値５０の抽出を開始するための抽出開始ボタン３６０を含む。
【０１１０】
サポート装置２００は、操作入力部２０２を用いたユーザ操作により抽出条件の設定を受け付ける。設定が受け付けられた後に操作入力部２０２を用いたユーザ操作により抽出開始ボタン３６０が押下されると、プロセッサ１０２は抽出プログラム１５５を実行する。プロセッサ１０２は、抽出条件の設定内容に基づき、時系列データベース２０に格納されたプロセス値５０を抽出するための対象区間を特定する。
【０１１１】
図９を参照して抽出条件の設定の一例について説明する。第１抽出条件における第１条件名項目３１０では、例えば、条件名選択欄３１１に表示された複数の値のうち「Ｅｖｅｎｔ１」の値が入力される。「Ｅｖｅｎｔ１」は、例えば作業工程１に対応する。また、第１種類項目３１２では、種類選択欄３１３に示された複数の値のうち「開始」の値が入力される。次に、第２抽出条件における第２条件名項目３１４では、「Ｅｖｅｎｔ１」の値が入力される。また、第２種類項目３１６では「終了」の値が入力される。
【０１１２】
第１抽出条件および第２抽出条件の設定後、ユーザ操作により抽出開始ボタン３６０が押下されると、プロセッサ１０２は、抽出プログラム１５５を実行して抽出の対象区間を特定する。より具体的には、プロセッサ１０２は、Ｅｖｅｎｔ１の開始の条件を満たすプロセス値５０と、Ｅｖｅｎｔ１の終了の条件を満たすプロセス値との間の区間を特定する。
【０１１３】
なお、第１抽出条件および第２抽出条件の設定が行われると、対象区間画像３０２が表示される。対象区間画像３０２は、Ｅｖｅｎｔ１の開始の値を有するチャプタ４０に対応する時刻情報を有するプロセス値５０と、Ｅｖｅｎｔ１の終了の値を有するチャプタ４０に対応する時刻情報を有するプロセス値５０との間における抽出の対象区間を表わす画像を含む。対象区間に含まれるプロセス値５０の数が多くなると対象区間の長さは長くなり、プロセス値の数が少なくなると対象区間の長さは短くなる。チャプタ４０に対応する時刻情報を有するプロセス値５０は、例えば、チャプタ４０と同じ時刻情報を有する。このように、制御装置１０は、第１抽出条件に含まれるチャプタ４０と第２抽出条件に含まれるチャプタ４０との複数のチャプタの組み合わせにより対象区間を特定する。これにより、制御装置１０は、ユーザが事後的に分析や解析を効率的に行うことが可能なデータを抽出可能な抽出条件を受け付け可能となる。
【０１１４】
図１０は、第１抽出条件および第２抽出条件に基づくプロセス値５０の時系列データの抽出例を表わす図である。なお、図１０に示すチャプタデータベース４００に含まれる複数のチャプタ４０と、プロセス値データベース５００に含まれる複数のプロセス値５０とは、図８で説明した内容と同じ内容である。
【０１１５】
図１０を参照して、プロセッサ１０２は、抽出プログラム１５５を実行する。より具体的には、プロセッサ１０２は、１または複数のチャプタ４０を指定する。プロセッサ１０２は、例えば、図９で説明した第１抽出条件と第２抽出条件との２つの抽出条件によりチャプタ４０を指定する。プロセッサ１０２は、第１抽出条件が成立するチャプタ４０を指定する。第１抽出条件は、第１条件名項目３１０における設定値「Ｅｖｅｎｔ１」と第１種類項目３１２における設定値「開始」とを含む。プロセッサ１０２は、第１抽出条件を満たすチャプタ４０として、例えば、ＡｕｔｏＩＤ４０１の値が「００１」のチャプタ４０を指定する。ＡｕｔｏＩＤ４０１の値が「００１」のチャプタ４０は、識別子４０２において「Ｅｖｅｎｔ１」と、情報種類４０３において「ＣＳ」とを含む。
【０１１６】
また、プロセッサ１０２は、第２抽出条件が成立するチャプタ４０を指定する。第２抽出条件は、第２条件名項目３１４における設定値「Ｅｖｅｎｔ１」と第２種類項目３１６における設定値「終了」とを含む。プロセッサ１０２は、第２抽出条件を満たすチャプタ４０として、例えば、ＡｕｔｏＩＤ４０１の値が「００２」のチャプタ４０を指定する。ＡｕｔｏＩＤ４０１の値が「００２」のチャプタ４０は、識別子４０２において「Ｅｖｅｎｔ１」と、情報種類４０３において「ＣＥ」とを含む。
【０１１７】
次にプロセッサ１０２は、指定された２つのチャプタ４０に対応付けられた時刻情報を基準とした開始位置と終了位置を含む対象区間を決定する。より具体的には、プロセッサ１０２は、ＡｕｔｏＩＤ４０１の値が「００１」のチャプタ４０のレコードＫｅｙ４０４「１０：１０：１０：０１」の値を基準として、当該チャプタ４０と同じ時刻情報（タイムスタンプ５０２の値）を有するプロセス値５０を特定する。プロセッサ１０２は、ＡｕｔｏＩＤ４０１の値が「００４」のチャプタ４０のレコードＫｅｙ４０４「１０：１０：１０：０４」の値を基準として、当該チャプタ４０と同じ時刻情報（タイムスタンプ５０２の値）を有するプロセス値５０を特定する。プロセッサ１０２は、ＩＤ５０１の値が「０１０１」のプロセス値５０からＩＤ５０１の値が「０１０４」のプロセス値５０までの区間（ＩＤ５０１の値が「０１０１」〜「０１０４」の区間）を抽出の対象区間に決定する。このように、制御装置１０は、複数の抽出条件を受け付けることで、詳細な抽出条件に基づくプロセス値の設定が可能となり、当該抽出条件に基づく抽出が可能となる。
【０１１８】
［Ｈ．抽出条件の設定（オフセットを含む開始〜終了）］
次に、抽出条件の設定の別の例について説明する。
【０１１９】
図１１は、抽出条件の第２設定例について説明する図である。図１１を参照して、サポート装置２００の表示部２０１は、条件設定画像３０１と対象区間画像３０２とを表示する。図１１における条件設定画像３０１と対象区間画像３０２との構成は、図９で説明した構成と一部が同一であり、その他の構成が異なる。以下では、異なる構成について説明する。
【０１２０】
条件設定画像３０１は、図９において説明した２つの条件（第１抽出条件および第２抽出条件）に加えて、オフセット条件を設定するための画像である。
【０１２１】
第１オフセット条件における第１オフセット項目３１８は、開始の値を有するチャプタ４０に対応する時刻情報を有するプロセス値５０からオフセットさせるレコード数を表わす。また、第２オフセット条件における第２オフセット項目３２０は、終了の値を有するチャプタ４０に対応する時刻情報を有するプロセス値５０からオフセットさせるレコード数を表わす。
【０１２２】
図１１の第１抽出条件における第１条件名項目３１０では、第１オフセット項目３１８のオフセット選択欄３１９に表示された複数の値のうち「−１」が入力される。次に、第２オフセット項目３２０では「０」が入力される。
【０１２３】
このように第１抽出条件、第２抽出条件、第１オフセット条件および第２オフセット条件において設定が行われる。その後、ユーザ操作により抽出開始ボタン３６０が押下されると、プロセッサ１０２は、抽出プログラム１５５を実行して抽出の対象区間を決定する。より具体的には、プロセッサ１０２は、Ｅｖｅｎｔ１の開始の条件を満たすプロセス値５０から１レコード分オフセットしたプロセス値５０と、Ｅｖｅｎｔ１の終了の条件を満たすプロセス値との間の区間を対象区間として決定する。このように、プロセッサ１０２は、１または複数のチャプタに対応付けられた時刻情報を基準とした対象区間の開始位置および／または終了位置を特定するための範囲の指定を行う。
【０１２４】
なお、第１抽出条件、第２抽出条件、第１オフセット条件および第２オフセット条件において設定が行われると、対象区間画像３０２が表示される。対象区間画像３０２は抽出の対象区間を表わす画像を含む。当該画像は、Ｅｖｅｎｔ１の開始の値を有するチャプタ４０に対応する時刻情報を有するプロセス値５０から−１レコード分オフセットしたプロセス値５０の画像である。また当該画像は、Ｅｖｅｎｔ１の終了の値を有するチャプタ４０に対応する時刻情報を有するプロセス値５０との間の画像である。開始の値を有するチャプタ４０に対応する時刻情報を有するプロセス値５０からプロセス値５０が−１レコード分オフセットする。したがって、図９の対象区間画像３０２における対象区間と比べて、図１１の対象区間画像３０２における対象区間の長さは長くなる。
【０１２５】
図１２は、第１オフセット条件および第２オフセット条件に基づくプロセス値５０の時系列データの抽出例を表わす図である。なお、図１２におけるチャプタ４０に対応付けられた時刻情報を基準としたプロセス値５０の抽出の内容は、図１０で説明した内容と同一であり、一部の内容が異なる。以下では、異なる内容について説明する。
【０１２６】
図１２を参照して、プロセッサ１０２は、指定されたチャプタ４０に対応付けられた時刻情報を基準として、開始位置と終了位置を特定するための範囲を指定する。前述の図１０では、ＩＤ５０１の値が「０１０１」のプロセス値５０を開始位置とし、ＩＤ５０１の値が「０１０４」のプロセス値５０を終了位置とする範囲（ＩＤ５０１の値が「０１０１」〜「０１０４」の範囲）を抽出の対象範囲とした。
【０１２７】
これに対して、プロセッサ１０２は、タイムスタンプ５０２の値が「１０：１０：１０：００」となるＩＤ５０１の値が「０１００」のプロセス値５０を開始位置として特定する。ＩＤ５０１の値が「０１００」のプロセス値５０は、ＩＤ５０１の値が「０１０１」のプロセス値５０から−１レコード分オフセットしたものである。
【０１２８】
またプロセッサ１０２は、タイムスタンプ５０２の値が「１０：１０：１０：０４」となるＩＤ５０１の値が「０１０４」のプロセス値５０を終了位置として特定する。その結果、プロセッサ１０２は、ＩＤ５０１の値が「０１００」〜「０１０４」の範囲を抽出の対象区間として決定する。これにより、制御装置１０は、抽出条件において対象区間の開始位置および／または終了位置の少なくともいずれかの変更を受け付け可能となる。
【０１２９】
［Ｉ．抽出条件の設定（作業工程１および作業工程２における開始〜終了）］
次に、抽出条件の設定の別の例について説明する。
【０１３０】
図１３は、抽出条件の第３設定例について説明する図である。図１３を参照して、サポート装置２００の表示部２０１は、条件設定画像３０１と対象区間画像３０２とを表示する。図１３における条件設定画像３０１と対象区間画像３０２との構成は、図９で説明した構成と一部が同一であり、その他の構成が異なる。以下では、異なる構成について説明する。
【０１３１】
条件設定画像３０１は、図９において説明した２つの条件（第１抽出条件および第２抽出条件）に加えて、第３抽出条件および第４抽出条件と、論理演算を設定するための画像である。
【０１３２】
図１３を参照して、第３抽出条件における第３条件名項目３２４では、「Ｅｖｅｎｔ２」の値が入力される。「Ｅｖｅｎｔ２」は例えば作業工程２に対応する。また、第３種類項目３２６では「開始」の値が入力される。次に、第４抽出条件における第４条件名項目３２８では、「Ｅｖｅｎｔ２」の値が入力される。また、第４種類項目３３０では「終了」の値が入力される。さらに、論理演算条件における演算設定項目３２２では、演算選択欄３２３に表示された複数の値のうち論理和を示す「ＯＲ」の値が入力される。
【０１３３】
このように第１抽出条件〜第４抽出条件と論理演算条件とにおいて設定が行われる。設定が行われた後に操作入力部２０２を用いたユーザ操作により抽出開始ボタン３６０が押下されると、プロセッサ１０２は、抽出プログラム１５５を実行する。プロセッサ１０２は、抽出条件の設定内容に基づき、プロセス値５０を抽出するための対象区間を決定する。より具体的には、プロセッサ１０２は、Ｅｖｅｎｔ１の開始の条件を満たすチャプタ４０に対応する時刻情報を有するプロセス値５０と、Ｅｖｅｎｔ１の終了の条件を満たすチャプタ４０に対応する時刻情報を有するプロセス値との間の区間を特定する。また、プロセッサ１０２は、Ｅｖｅｎｔ２の開始の条件を満たすチャプタ４０に対応する時刻情報を有するプロセス値５０と、Ｅｖｅｎｔ２の終了の条件を満たすチャプタ４０に対応する時刻情報を有するプロセス値の５０との間の区間を特定する。プロセッサ１０２は、２つの抽出条件間の論理和により規定される区間を対象区間として決定する。
【０１３４】
このように、抽出条件は、対象区間を決定する複数の抽出条件間の論理演算として規定される。複数の抽出条件の各々は対象区間を決定する。以下では複数の抽出条件の各々を「単位抽出条件」とも称する。また、以下では単位抽出条件により決定された区間を「単位区間」とも称する。
【０１３５】
第１抽出条件〜第４抽出条件において設定が行われると、対象区間画像３０２が表示される。対象区間画像３０２は、Ｅｖｅｎｔ１の開始の値を有するチャプタ４０に対応する時刻情報を有するプロセス値５０と、Ｅｖｅｎｔ２の終了の値を有するチャプタ４０に対応する時刻情報を有するプロセス値５０との間における抽出の対象区間を表わす画像を含む。このように、制御装置１０は、第１抽出条件〜第４抽出条件のそれぞれの条件に含まれる複数のチャプタの組み合わせにより対象区間を決定する。また、制御装置１０は、複数の抽出条件を受け付けることで、詳細な抽出条件に基づくプロセス値５０の設定が可能となり、当該抽出条件に基づく抽出が可能となる。さらに、制御装置１０は、論理演算を用いた抽出条件を設定可能とすることで、複数の条件の組み合わせによるプロセス値５０の抽出範囲を任意に設定できる。
【０１３６】
図１４は、第１抽出条件〜第４抽出条件に基づくプロセス値５０の時系列データの抽出例を表わす図である。なお、図１４におけるチャプタ４０に対応付けられた時刻情報を基準としたプロセス値５０の抽出の内容は、図１０で説明した内容と同一であり、一部の内容が異なる。以下では、異なる内容について説明する。
【０１３７】
図１４を参照して、プロセッサ１０２は、指定されたチャプタ４０に対応付けられた時刻情報を基準として、開始位置と終了位置を特定するための範囲を指定する。図１０では、ＩＤ５０１の値が「０１０１」のプロセス値５０を開始位置とし、ＩＤ５０１の値が「０１０４」のプロセス値５０を終了位置とする範囲（ＩＤ５０１の値が「０１０１」〜「０１０４」の範囲）を抽出の対象範囲とした。
【０１３８】
これに対して、プロセッサ１０２は、複数の単位抽出条件を含む抽出条件に基づいて対象区間を決定して当該対象区間に含まれるプロセス値５０を抽出する。複数の単位抽出条件の各条件により単位区間が決定される。当該抽出条件は、論理演算（例えば、論理和）として規定される条件である。
【０１３９】
より具体的には、プロセッサ１０２は、当該抽出条件により、タイムスタンプ５０２の値が「１０：１０：１０：０１」となるＩＤ５０１の値が「０１０１」のプロセス値５０を開始位置として特定する。またプロセッサ１０２は、タイムスタンプ５０２の値が「１０：１０：１０：０７」となるＩＤ５０１の値が「０１０４」のプロセス値５０を終了位置として特定する。プロセッサ１０２は、ＩＤ５０１の値が「０１０１」〜「０１０４」のプロセス値５０を対象区間に含まれる区間（単位区間）のプロセス値５０として特定する。また、プロセッサ１０２は、ＩＤ５０１の値が「０１０５」〜「０１０７」のプロセス値５０を対象区間に含まれる区間（単位区間）のプロセス値５０として決定する。
【０１４０】
その結果、プロセッサ１０２は、ＩＤ５０１の値が「０１０１」のプロセス値５０を開始位置とし、ＩＤ５０１の値が「０１０７」のプロセス値５０を終了位置とする範囲（ＩＤ５０１の値が「０１０１」〜「０１０７」の範囲）を抽出の対象区間として決定する。これにより、制御装置１０は、複数の抽出条件の組み合わせを複数設定可能とすることで、ユーザが目的とするデータの抽出を一層容易に行える。
【０１４１】
なお、プロセッサ１０２は、上述の対象区間の決定について、論理和を用いた処理により対象区間を特定したが、論理積を用いた処理により抽出の対象区間を特定してもよい。
【０１４２】
［Ｊ．抽出条件の設定（閾値）］
次に、抽出条件の設定の別の例について説明する。
【０１４３】
図１５は、抽出条件の第４設定例について説明する図である。図１５を参照して、サポート装置２００の表示部２０１は、条件設定画像３０１と対象区間画像３０２とを表示する。図１５における条件設定画像３０１と対象区間画像３０２との構成は、図９で説明した構成と一部が同一であり、その他の構成が異なる。以下では、異なる構成について説明する。
【０１４４】
条件設定画像３０１は、図９において説明した２つの条件（第１抽出条件および第２抽出条件）のうち、１つの条件（例えば、第１抽出条件）を設定するための画像である。さらに、条件設定画像３０１は、区間条件と割合条件とを設定するための画像である。図１５の第１抽出条件における第１条件名項目３１０では、条件名選択欄３１１に表示された複数の値のうち「Ｅｖｅｎｔ３」が選択される。「Ｅｖｅｎｔ３」は、例えば作業工程３に対応する。また、第１種類項目３１２では種類選択欄３１３に示された複数の値のうち「マーク」が選択される。「マーク」は、例えば、ワークが予め定められた温度以上（例えば、５００℃以上）の条件を満たしたことを示す情報種類４０３を有するチャプタ４０を検索するための値である。
【０１４５】
区間条件における、区間項目３３２は、マークの条件を満たすプロセス値５０を含む対象区間のレコード数を示す値を入力するための項目である。また、割合条件における割合項目３３４は、マークの条件を満たすプロセス値５０における対象区間内の位置を特定する値を入力するための項目である。区間項目３３２に入力された値が、例えば「５」の場合に、割合項目３３４に入力された値が「±５０％」のときは、マークの条件を満たすプロセス値の位置は、中央のレコードの位置となる。中央のレコードは、５レコード中の３レコード目である。言い換えると、マークの条件を満たすプロセス値５０と、当該プロセス値５０に対して±２レコード分のプロセス値５０とが抽出の対象区間に含まれる。
【０１４６】
図１５に示す区間条件における区間項目３３２では、区間選択欄３３３に表示された複数の値のうち「５」が入力される。割合条件における割合項目３３４では、割合選択欄３３５に表示された複数の値のうち「±５０」が入力される。
【０１４７】
このように第１抽出条件、区間条件および割合条件において設定が行われる。その後、ユーザ操作により抽出開始ボタン３６０が押下されると、プロセッサ１０２は、抽出プログラム１５５を実行して抽出の対象区間を特定する。より具体的には、プロセッサ１０２は、Ｅｖｅｎｔ３のマークの条件を満たすチャプタ４０に対応する時刻情報を有するプロセス値５０を基準として、レコード数がマイナスのプロセス値５０と、レコード数がプラスのプロセス値５０との間の区間を対象区間として決定する。レコード数がマイナスのプロセス値５０は、例えば、マークの条件を満たすプロセス値５０から−２レコードのプロセス値５０である。レコード数がマイナスのプロセス値５０は、例えば、マークの条件を満たすプロセス値５０から＋２レコードのプロセス値５０である。
【０１４８】
なお、第１抽出条件、区間条件および割合条件において設定が行われると、対象区間画像３０２が表示される。対象区間画像３０２は、マークの条件を満たすプロセス値５０と当該プロセス値５０を基準として区間項目３３２および割合項目３３４により設定された範囲のプロセス値５０を含む区間を対象区間とする画像を含む。より具体的には、対象区間画像３０２は、マークの条件を満たすプロセス値５０から−２レコード分のプロセス値５０と、マークの条件を満たすプロセス値５０から＋２レコード分とプロセス値５０と間を抽出の対象区間とする画像を含む。
【０１４９】
図１６は、第１抽出条件、区間条件および割合条件に基づくプロセス値５０の時系列データの抽出例を表わす図である。図１６を参照して、プロセッサ１０２は、指定されたチャプタ４０に対応付けられた時刻情報を基準として、マークの条件を満たすプロセス値５０を特定し、特定されたプロセス値５０を含む抽出のための範囲を指定する。プロセッサ１０２は、識別子４０２が「Ｅｖｅｎｔ３」および情報種類４０３が「ＭＡ」を含むチャプタ４０に対応付けられた時刻情報「１０：１０：１０：０６」を基準として対象区間を決定する。より具体的には、プロセッサ１０２は、タイムスタンプ５０２の値が「１０：１０：１０：０６」となるＩＤ５０１の値が「０１０６」のプロセス値５０を特定する。また、プロセッサ１０２は、ＩＤ５０１の値が「０１０６」のプロセス値５０に対する−２レコード分のＩＤ５０１の値が「０１０４」および「０１０５」のプロセス値５０を特定する。プロセッサ１０２は、ＩＤ５０１の値が「０１０６」のプロセス値５０に対する＋２レコード分のＩＤ５０１の値が「０１０７」および「０１０８」のプロセス値５０を特定する。このように、プロセッサ１０２は、ＩＤ５０１の値が「０１０４」〜「０１０８」のプロセス値５０の区間を対象区間として決定する。そして、プロセッサは、ＩＤ５０１の値が「０１０４」〜「０１０８」のプロセス値５０の時系列データベースを抽出する。これにより、制御装置１０は、制御装置１０は、事後的に分析や解析を効率的に行うための対象範囲の設定を閾値に基づいて容易に行える。
【０１５０】
［Ｋ．画像処理装置の処理手順］
図１７および図１８を参照して制御装置１０におけるプロセッサ１０２の処理手順について説明する。図１７における制御は、プロセッサ１０２が収集プログラム１５３および条件監視プログラム１５４を実行することによって実現される。また、図１８における制御は、プロセッサ１０２が抽出プログラム１５５と、上位接続プログラム１９２またはゲートウェイプログラム１９４とを実行することによって実現される。
【０１５１】
図１７は、チャプタ４０を時系列データベース２０に格納する処理について説明するフローチャートである。ステップＳ１０１において、プロセッサ１０２は、プロセス値５０を制御周期毎に時系列データベース２０に格納する。プロセス値５０は、時系列データベース２０に時系列に格納される。
【０１５２】
ステップＳ１０２において、プロセッサ１０２は、イベント条件が成立するチャプタ４０が存在するか否かを判断する。イベント条件が成立するチャプタ４０が存在する場合（ステップＳ１０２においてＹＥＳ）には、プロセッサ１０２は、制御をステップＳ１０３に切り替える。そうでない場合には（ステップＳ１０２においてＮＯ）、プロセッサ１０２は、本フローチャートの処理を終了する。
【０１５３】
ステップＳ１０３において、プロセッサ１０２は、イベント条件が成立したチャプタ４０を、制御装置１０の制御周期を特定する時刻情報と対応付けて、時系列データベース２０に格納する。
【０１５４】
図１８は、抽出条件に基づいてプロセス値５０を抽出する処理について説明するフローチャートである。ステップＳ２０１において、プロセッサ１０２は、抽出条件の設定を受け付けて、抽出プログラム１５５を実行する。
【０１５５】
ステップＳ２０２において、プロセッサ１０２は、抽出条件を満たすチャプタ４０の有無を判断する。抽出条件を満たすチャプタ４０が存在する場合（ステップＳ２０２においてＹＥＳ）には、プロセッサ１０２は、制御をステップＳ２０３に切り替える。そうでない場合には（ステップＳ２０２においてＮＯ）、プロセッサ１０２は、本フローチャートの処理を終了する。
【０１５６】
ステップＳ２０３において、プロセッサ１０２は、チャプタ４０に対応付けられた時刻情報を基準として対象区間を決定するとともに、決定した対象区間に含まれるプロセス値５０の時系列データを時系列データベース２０から抽出する。
【０１５７】
ステップＳ２０４において、プロセッサ１０２は、抽出したプロセス値５０を外部装置に出力するデータ形式を決定する。プロセッサ１０２は、例えば、ＣＳＶ、ＳＱＬおよびバイナリ形式を含むいずれかの形式のうち出力するデータ形式を決定する。
【０１５８】
ステップＳ２０５において、プロセッサ１０２は、決定したデータ形式で表わされた、プロセス値５０を含むデータを出力する。これにより、制御装置１０は、抽出条件に応じたプロセス値５０の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
【０１５９】
［Ｌ．変形例］
本実施の形態では、時系列データベース２０は、典型的には、主記憶装置１０６または二次記憶装置１０８に配置されることについて説明した。これに対して、時系列データベース２０は、メモリカード１１６に配置されてもよい。より具体的には、時系列データベース２０は、メモリカード１１６のみに配置されてもよいし、メモリカード１１６と主記憶装置１０６または二次記憶装置１０８とに配置されてもよい。また、主記憶装置１０６または二次記憶装置１０８に配置された時系列データベース２０が、メモリカードインターフェイス１１４を介して、メモリカード１１６に出力されるようにしてもよい。
【０１６０】
本実施の形態では、抽出プログラム１５５は、制御装置１０内において実行されることについて説明した。これに対して、抽出プログラム１５５は、ＰＬＣエンジン１５０内に設けられて実行されてもよい。
【０１６１】
また、抽出プログラム１５５は、制御装置１０の制御周期に基づくタイミングで実行される必要はなく、任意のタイミングで実行されてもよい。したがって、抽出プログラム１５５は、制御装置１０内の時系列データベース２０にアクセスできる他の装置内に設けられて、当該装置内で実行されてもよい。抽出プログラム１５５は、例えば、サポート装置２００を含む他の装置内に設けられて実行されてもよい。抽出プログラム１５５が設けられた他の装置は、抽出プログラム１５５を実行する。他の装置は、抽出条件に応じた対象区間のプロセス値５０を抽出する命令を制御装置１０に送信する。抽出する命令を受け付けた制御装置１０は、抽出条件に従って対象区間のプロセス値５０を抽出し、任意のデータ形式により出力するようにしてもよい。このように、対象区間のプロセス値５０を抽出する命令を送信する処理と、対象区間のプロセス値５０を抽出する処理とが別々の装置により実行されてもよい。
【０１６２】
本実施の形態では、抽出条件は、２つの単位抽出条件間の論理演算として規定されることについて説明した。これに対して、抽出条件は、３つ以上の単位抽出条件間の論理演算として規定されてもよい。また、抽出条件は、１つのみの単位抽出条件により規定されてもよい。
【０１６３】
本実施の形態では、プロセッサ１０２は、時刻情報としてチャプタ４０におけるレコードＫｅｙ４０４の値と、プロセス値５０におけるタイムスタンプ５０２の値とを対応付けることについて説明した。これに対して、時刻情報として、その他の値を対応付けてもよい。より具体的には、インデックス５０３をプロセス値５０における時刻情報としてもよい。この場合、チャプタ４０におけるレコードＫｅｙ４０４の値は、タイムスタンプ５０２の値に替えて、インデックス５０３の値が設定される。
【０１６４】
本実施の形態では、第１オフセット条件における第１オフセット項目３１８および第２オフセット条件における第２オフセット項目３２０では、レコード数の設定が受け付けられることについて説明した。これに対して、第１オフセット項目３１８および第２オフセット項目３２０では、制御周期の長さに応じた時刻の設定を受け付けるようにしてもよい。
【０１６５】
本実施の形態では、区間条件における区間項目３３２では、レコード数の設定が受け付けられることについて説明した。これに対して、区間項目３３２では、制御周期の長さに応じた時刻の設定を受け付けるようにしてもよい。
【０１６６】
＜付記＞
以上のように、本実施の形態は以下のような開示を含む。
【０１６７】
［構成１］
制御装置（１０）で利用可能な１または複数のプロセス値（５０）のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部（２２）と、
前記１または複数のプロセス値（５０）の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタ（４０）を、前記制御周期を特定する時刻情報と対応付けて格納する条件監視部（２３）と、
前記１または複数のチャプタ（４０）のうち少なくとも１つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタ（４０）に対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値（５０）の時系列データを抽出する抽出部（２４）とを備える、制御装置。
【０１６８】
［構成２］
前記抽出条件は、１または複数のチャプタ（４０）の指定と、当該１または複数のチャプタ（４０）に対応付けられた時刻情報を基準とした前記対象区間の開始位置および／または終了位置を特定するための範囲の指定とを含む、構成１に記載の制御装置。
【０１６９】
［構成３］
前記抽出条件は、複数のチャプタ（４０）の組み合わせを含む、構成１または２に記載の制御装置。
【０１７０】
［構成４］
前記抽出条件は、前記複数のチャプタ（４０）の組み合わせを複数含む、構成３に記載の制御装置。
【０１７１】
［構成５］
前記抽出条件は、前記対象区間を決定する複数の前記抽出条件間の論理演算として規定される、構成１または２に記載の制御装置。
【０１７２】
［構成６］
前記イベント条件に関連付けられた前記チャプタ（４０）の値は、ユーザによって任意の値に設定される、構成１〜５のいずれか１項に記載の制御装置。
【０１７３】
［構成７］
前記抽出部（２４）により抽出されたプロセス値（５０）の時系列データを、任意のデータ形式により出力可能な出力部（２５）をさらに備える、構成１〜６のいずれか１項に記載の制御装置。
【０１７４】
［構成８］
制御対象を制御するための制御装置（１０）で実行される制御プログラムであって、
前記制御プログラムは、
前記制御装置（１０）で利用可能な１または複数のプロセス値（５０）のうち少なくとも一部を予め定められた制御周期毎に時系列に格納するステップ（Ｓ１０１）と、
前記１または複数のプロセス値（５０）の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタ（４０）を、前記制御周期を特定する時刻情報と対応付けて格納するステップ（Ｓ１０３）と、
前記１または複数のチャプタ（４０）のうち少なくとも１つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタ（４０）に対応付けられた時刻情報を少なくとも基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値（５０）の時系列データを抽出するステップ（Ｓ２０３）とを実行する、制御プログラム。
【０１７５】
［構成９］
制御対象を制御する制御装置（１０）と、
プロセス値の時系列データを抽出する抽出部（２４）とを備え、
前記制御装置（１０）は、
当該制御装置（１０）で利用可能な１または複数のプロセス値（５０）のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部（２２）と、
前記１または複数のプロセス値（５０）の少なくとも一部に関する、予め定められた１または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタ（４０）を、前記制御周期を特定する時刻情報と対応付けて格納する条件監視部（２３）とを含み、
前記抽出部（２４）は、前記１または複数のチャプタ（４０）のうち少なくとも１つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタ（４０）に対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値（５０）の時系列データを抽出する、制御システム。
【０１７６】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１７７】
１  制御システム、２  第１フィールドネットワーク、４  第２フィールドネットワーク、６  上位ネットワーク、８  フィールド装置群、１４  リレー群、１６  サーボドライバ、１７  サーボモータ、１８  画像センサ、１９  カメラ、２０  自系列データベース、２１  変数管理部、２２  収集部、２３  条件監視部、２４  抽出部、２５  出力部、４０  チャプタ、４１  第１チャプタ、４２  第２チャプタ、４３  第３チャプタ、５０  プロセス値、５１  第１プロセス値、５２  第２プロセス値、５３  第３プロセス値、５４  第４プロセス値、１００  制御装置、１０２  プロセッサ、１０４  チップセット、１０６  主記憶装置、１０８  二次記憶装置、１１０  上位ネットワークコントローラ、１１２  ＵＳＢコントローラ、１１４  メモリカードインターフェイス、１１６  メモリカード、１１８，１２０  フィールドバスコントローラ、１２２  内部バスコントローラ、１２５  タイマ、１５０  ＰＬＣエンジン、１５１  制御プログラム、１５２  ユーザプログラム、１５３  収集プログラム、１５４  条件監視プログラム、１５５  抽出プログラム、１６０  変数管理プログラム、１６２  システム変数、１６４  デバイス変数、１６６  ユーザ変数、１７０  スケジューラプログラム、１７２  入力プログラム、１７４  出力プログラム、１９２  上位接続プログラム、１９４  ゲートウェイプログラム、２００  サポート装置、２０１  表示部、２０２  操作入力部、２０９  イベント条件設定画像、２１０  第１条件名、２１２  第１条件式、２１４  第１種類、２１５，３１３  種類選択欄、２２０  第２条件名、２２２  第２条件式、２２４  第２種類、２３０  第３条件名、２３２  第３条件式、２３４  第３種類、２４０  第４条件名、２４２  第４条件式、２４４  第４種類、２５０  第５条件名、２５２  第５条件式、２５４  第５種類、３００  表示装置、３０１  条件設定画像、３０２  対象区間画像、３１０  第１条件名項目、３１１  条件名選択欄、３１２  第１種類項目、３１４  第２条件名項目、３１６  第２種類項目、３１８  第１オフセット項目、３１９  オフセット選択欄、３２０  第２オフセット項目、３２２  演算設定項目、３２３  演算選択欄、３２４  第３条件名項目、３２６  第３種類項目、３２８  第４条件名項目、３３０  第４種類項目、３３２  区間項目、３３３  区間選択欄、３３４  割合項目、３３５  割合選択欄、３６０  抽出開始ボタン、４００  チャプタデータベース、４０２  識別子、４０３  情報種類、５００  プロセス値データベース、５０２  タイムスタンプ、５０３  インデックス、６００  製造実行システム、６５０  クラウドサービス。
【図１】
2020135213.tif 000003
【図２】
2020135213.tif 000004
【図３】
2020135213.tif 000005
【図４】
2020135213.tif 000006
【図５】
2020135213.tif 000007
【図６】
2020135213.tif 000008
【図７】
2020135213.tif 000009
【図８】
2020135213.tif 000010
【図９】
2020135213.tif 000011
【図１０】
2020135213.tif 000012
【図１１】
2020135213.tif 000013
【図１２】
2020135213.tif 000014
【図１３】
2020135213.tif 000015
【図１４】
2020135213.tif 000016
【図１５】
2020135213.tif 000017
【図１６】
2020135213.tif 000018
【図１７】
2020135213.tif 000019
【図１８】
2020135213.tif 000020