JP7441006B2 - 制御装置、制御プログラム、および制御システム - Google Patents

制御装置、制御プログラム、および制御システム Download PDF

Info

Publication number
JP7441006B2
JP7441006B2 JP2019025704A JP2019025704A JP7441006B2 JP 7441006 B2 JP7441006 B2 JP 7441006B2 JP 2019025704 A JP2019025704 A JP 2019025704A JP 2019025704 A JP2019025704 A JP 2019025704A JP 7441006 B2 JP7441006 B2 JP 7441006B2
Authority
JP
Japan
Prior art keywords
chapter
condition
extraction
value
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019025704A
Other languages
English (en)
Other versions
JP2020135213A (ja
Inventor
政則 太田
佳秀 西山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2019025704A priority Critical patent/JP7441006B2/ja
Priority to CN202080010024.9A priority patent/CN113330382A/zh
Priority to PCT/JP2020/004106 priority patent/WO2020166432A1/ja
Priority to US17/424,763 priority patent/US11947328B2/en
Priority to EP20755733.1A priority patent/EP3926428B1/en
Publication of JP2020135213A publication Critical patent/JP2020135213A/ja
Application granted granted Critical
Publication of JP7441006B2 publication Critical patent/JP7441006B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0221Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0216Human interface functionality, e.g. monitoring system providing help to the user in the selection of tests or in its configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data

Description

本開示は、データを時系列に格納する機能を有する制御装置の技術に関する。
様々な生産現場において、PLC(プログラマブルコントローラ)等の制御装置を用いたFA(Factory Automation)技術が広く普及している。このような制御装置が取り扱うデータを事後的に解析するようなニーズがある。
例えば、特開2018ー151917号公報(特許文献1)には、制御装置が制御対象から入力データを取得し、取得した入力データに基づく制御演算を実行して出力データを決定する。そして、制御装置は、入力データおよび出力データ等の少なくとも一部を時系列データベースに格納し、入力データおよび出力データ等のデータの少なくとも一部からなる観測値と、対応する製造データとを含むデータセットを外部に出力することが記載されている。
特開2018-151917号公報
一般的に、データベースに収集されたデータは事後的な分析や解析等に利用される。そのため、上述したような制御装置に内蔵されたデータベースにて大量のデータを収集するような構成を採用した場合であっても、事後的な分析や解析を効率的に行える仕組みが必要である。
本発明は、上述したようなニーズを実現するために、データ収集機能を搭載した制御装置において、事後的に分析や解析を効率的に行うための仕組みを提供することを一つの目的としている。
本開示の一例では、制御装置は、制御装置で利用可能な1または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部と、上記1または複数のプロセス値の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を上記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、上記制御周期を特定する時刻情報と対応付けて格納する条件監視部と、上記1または複数のチャプタのうち少なくとも1つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタに対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる上記格納されたプロセス値の時系列データを抽出する抽出部とを備える。
この開示によれば、制御装置は、抽出条件に応じたプロセス値の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
本開示の一例では、上記抽出条件は、1または複数のチャプタの指定と、当該1または複数のチャプタに対応付けられた時刻情報を基準とした上記対象区間の開始位置および/または終了位置を特定するための範囲の指定とを含む。
この開示によれば、制御装置は、抽出条件において対象区間の開始位置および/または終了位置の少なくともいずれかの変更を受け付け可能となる。
本開示の一例では、上記抽出条件は、複数のチャプタの組み合わせを含む。
この開示によれば、制御装置は、複数の抽出条件を受け付けることで、詳細な抽出条件に基づくプロセス値の設定が可能となり、当該抽出条件に基づく抽出が可能となる。
本開示の一例では、上記抽出条件は、上記複数のチャプタの組み合わせを複数含む。
この開示によれば、制御装置は、複数の抽出条件を複数受け付けることで、一層詳細な抽出条件の設定が可能となり、当該抽出条件に基づくプロセス値の抽出が可能となる。
本開示の一例では、上記抽出条件は、上記対象区間を決定する複数の上記抽出条件間の論理演算として規定される。
この開示によれば、制御装置は、論理演算を用いた抽出条件を設定可能とすることで、複数の条件の組み合わせによるプロセス値の抽出範囲を任意に設定できる。
本開示の一例では、上記イベント条件に関連付けられた上記チャプタの値は、ユーザによって任意の値に設定される。
この開示によれば、制御装置は、ユーザにより任意に設定されたイベント条件に応じたチャプタを、時系列データベースに格納できる。
本開示の一例では、上記抽出部により抽出されたプロセス値の時系列データを、任意のデータ形式により出力可能な出力部をさらに備える。
この開示によれば、制御装置は、抽出するデータを外部装置で利用可能なデータ形式に変更できる。
本開示の一例では、制御対象を制御するための制御装置で実行される制御プログラムは、上記制御装置で利用可能な1または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納するステップと、上記1または複数のプロセス値の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を上記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、上記制御周期を特定する時刻情報と対応付けて格納するステップと、上記1または複数のチャプタのうち少なくとも1つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタに対応付けられた時刻情報を少なくとも基準として対象区間を決定するとともに、当該決定した対象区間に含まれる上記格納されたプロセス値の時系列データを抽出するステップとを実行する。
この開示によれば、制御装置プログラムは、抽出条件に応じたプロセス値の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
本開示の一例では、制御システムは、制御対象を制御する制御装置と、プロセス値の時系列データを抽出する抽出部とを備え、上記制御装置は、当該制御装置で利用可能な1または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部と、上記1または複数のプロセス値の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を上記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、上記制御周期を特定する時刻情報と対応付けて格納する条件監視部とを含み、上記抽出部は、上記1または複数のチャプタのうち少なくとも1つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタに対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる上記格納されたプロセス値の時系列データを抽出する。
この開示によれば、制御システムは、抽出条件に応じたプロセス値の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
本開示によれば、データ収集機能を搭載した制御装置において、事後的に分析や解析を効率的に行うための仕組みを提供することが可能となる。
本実施の形態に従う制御装置10の構成例を示す図である。 本実施の形態に係る制御システム1の全体構成例を示す模式図である。 本実施の形態に係る制御システム1を構成する制御装置10のハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システム1を構成する制御装置10のソフトウェア構成例を示すブロック図である。 本実施の形態に係る制御装置10に実装される時系列データベース20のデータ構造を概略する模式図である。 本実施の形態に係る制御装置10に格納されプロセス値データベース500とチャプタデータベース400とのレコードのデータ構造を概略する模式図である。 イベント条件を設定例について説明する図である。 イベント条件の成立によるチャプタ40の時系列データベース20への格納について説明する図である。 抽出条件の第1設定例について説明する図である。 第1抽出条件および第2抽出条件に基づくプロセス値50の時系列データの抽出例を表わす図である。 抽出条件の第2設定例について説明する図である。 第1オフセット条件および第2オフセット条件に基づくプロセス値50の時系列データの抽出例を表わす図である。 抽出条件の第3設定例について説明する図である。 第1抽出条件~第4抽出条件に基づくプロセス値50の時系列データの抽出例を表わす図である。 抽出条件の第4設定例について説明する図である。 第1抽出条件、区間条件および割合条件に基づくプロセス値50の時系列データの抽出例を表わす図である。 チャプタ40を時系列データベース20に格納する処理について説明するフローチャートである。 抽出条件に基づいてプロセス値50を抽出する処理について説明するフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<適用例>
図1は、本実施の形態に従う制御装置10の構成例を示す図である。制御装置10は、時系列データベース20と、変数管理部21と、収集部22と、条件監視部23と、抽出部24と、出力部25と、タイマ125とを有する。
時系列データベース20は、典型的には、後述する主記憶装置106または二次記憶装置108(図3参照)に配置される。時系列データベース20は、収集部22により書込まれるプロセス値と、条件監視部23により書込まれるチャプタとを時系列に格納する。時系列データベース20に格納されるプロセス値およびチャプタには、制御装置10における制御周期を特定する時刻情報が付与される。制御周期は、例えば、数100μsecオーダ~数10msecオーダのごく短い期間である。時刻情報は、タイマ125により付与される。タイマ125は、計時機能を有する一種のカウンタである。
プロセス値は、制御装置10と後述するフィールド装置群8(図2参照)との間で制御周期毎に遣り取りされるフィールド値を含む。
チャプタは、いずれかのイベント条件が成立すると、上述のように制御周期を特定する時刻情報と対応付けて時系列データベース20に格納される。チャプタは、イベント条件が成立したプロセス値を指し示すデータである。
イベント条件は、後述するサポート装置200(図2参照)を用いたユーザ操作により設定される条件である。イベント条件は、例えば、フィールド装置群8による作業の「開始」を示す値を含む。また、イベント条件は、例えば、フィールド装置群8による作業の「終了」を示す値を含む。さらに、イベント条件は、例えば、作業対象のワーク(図示せず)が予め定められた条件を温度以上(例えば、500℃以上)となったこと(「マーク」)示す値を含む。なお、ワークの温度は、フィールド装置群8に含まれる温度センサ(図示せず)によって検出される。イベント条件が成立したチャプタを時系列データベース20に格納する処理の具体例については後述する。
変数管理部21は、制御装置10において利用可能な値を変数の形で管理する。変数管理部21は、例えば、フィールド値を取得して、後述するデバイス変数164(図4参照)の形で管理する。変数管理部21は、制御装置10におけるその他の値を、システム変数162およびユーザ変数166(図4参照)の形で管理する。より具体的には、変数管理部21は、制御装置10の状態を示す値をシステム変数162の形で管理する。また、変数管理部21は、後述するユーザプログラム152(図4参照)が保持する値をユーザ変数166の形で管理する。以下では、フィード値、制御装置10の状態を示す値およびユーザプログラム152が保持する値を総称して「プロセス値」と称する。
収集部22は、1または複数のプロセス値のうち少なくとも一部を、予め定められた制御周期毎に時系列データベース20に格納する。格納される1または複数のプロセス値にはタイマ125により時刻情報が付与される。時系列データベース20には、例えば、第1プロセス値51、第2プロセス値52、第3プロセス値53および第4プロセス値54を含む複数のプロセス値が格納される。以下、これらのプロセス値を総称してプロセス値50とも称する。
条件監視部23は、1または複数のプロセス値の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を制御周期毎に判断する。格納される1または複数のチャプタにはタイマ125により時刻情報が付与される。時系列データベース20には、例えば、第1チャプタ41、第2チャプタ42および第3チャプタ43が格納される。以下、これらのチャプタを総称してチャプタ40とも称する。
条件監視部23は、あるプロセス値50があるイベント条件を満たすことで、チャプタ40を時系列データベース20に格納する。格納されたチャプタ40に付与された時刻情報と、当該プロセス値50の時刻情報とは同一の時刻を表わす情報であり、同期した情報である。
より具体的には、条件監視部23は、例えば第1プロセス値51に関して、いずれかのイベント条件が成立すると第1チャプタ41を時系列データベースに20に格納する。第1チャプタ41は、いずれかのイベント条件に関連付けられるとともに第1プロセス値51の制御周期を特定する時刻情報が対応付けられたチャプタである。また、条件監視部23は、第1チャプタ41と同様に、第2チャプタ42を第2プロセス値52の制御周期を特定する時刻情報に対応付けて時系列データベース20に格納する。さらに、条件監視部23は、第3チャプタ43を第3プロセス値53の制御周期を特定する時刻情報に対応付けて時系列データベース20に格納する。
抽出部24は、抽出条件を満たすプロセス値50の時系列データを時系列データベース20から抽出する。抽出条件は、1または複数のチャプタ40のうち少なくとも1つを含んで定義される条件である。
より具体的には、抽出部24は、抽出条件に含まれるチャプタ40に対応付けられた時刻情報を基準としてプロセス値50を抽出するための対象区間を決定する。そして、抽出部24は、決定した対象区間に含まれるプロセス値50の時系列データを抽出する。抽出条件は、例えば、図1に示すように第3チャプタ43と当該第3チャプタ43を基準とする条件である。当該抽出条件は、第3チャプタ43に対応付けられた時刻情報に対応するプロセス値50と、当該プロセス値50を基準として±1レコードのプロセス値50を含む区間を対象区間とする条件である。抽出部24は、抽出条件により第3プロセス値53を含む第2プロセス値52~第4プロセス値54の区間を対象区間として決定する。そして、抽出部24は、当該対象区間に含まれる第2プロセス値52~第4プロセス値54の時系列データを抽出する。このように、制御装置10は、抽出条件に応じたプロセス値50の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
出力部25は、第2プロセス値52~第4プロセス値54の時系列データを制御装置10とネットワークを介して接続された外部装置に出力する。外部装置は、例えば、後述する製造実行システム(MES:Manufacturing Execution System)600およびクラウドサービス650(図2参照)等である。出力部25は、抽出部24により抽出された第2プロセス値52~第4プロセス値54の時系列データを、任意のデータ形式により出力する。データ形式は、例えば、CSV(Comma Separated Values)、SQL(Structured Query Language)およびバイナリ形式の少なくともいずれかを含む。制御装置10は、サポート装置200からのデータ形式の変更を受け付ける。出力部25は、サポート装置200から受け付けたデータ形式に基づき、第2プロセス値52~第4プロセス値54を外部装置に出力する。このよう出力部25がデータ形式を決定してエクスポートすることで、制御装置10は、抽出するデータを外部装置で利用可能なデータ形式に変更できる。
[A.制御システム1の構成]
図2は、本実施の形態に係る制御システム1の全体構成例を示す模式図である。図2を参照して、本実施の形態に係る制御システム1は、主たる構成要素として、制御対象を制御する制御装置10と、制御装置10に接続されるサポート装置200とを含む。
制御装置10は、PLC(プログラマブルコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置10は、第1フィールドネットワーク2を介してフィールド装置群8と接続されるとともに、第2フィールドネットワーク4を介して1または複数の表示装置300と接続される。制御装置10は、それぞれのネットワークを介して、接続された装置との間でデータを遣り取りする。より具体的には、制御装置10は、例えば第1フィールドネットワーク2を介してフィールド装置群8とフィールド値の遣り取りをする。
制御装置10は、設備や機械を制御するための各種演算を実行する制御ロジックを有している。制御装置10は、フィールド装置群8にて計測され、制御装置10へ転送されるデータ(以下、「入力データ」とも称する。)を収集する収集機能を有している。さらに、制御装置10は、収集した入力データを監視する監視機能と、データを抽出する抽出機能およびデータを出力する出力機能を有している。
第1フィールドネットワーク2および第2フィールドネットワーク4は、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
フィールド装置群8は、制御対象または制御に関連する製造装置や生産ラインなど(以下、「フィールド」とも総称する。)から入力データを収集する装置を含む。このような入力データを収集する装置としては、入力リレーや各種センサなどが想定される。フィールド装置群8は、さらに、制御装置10が生成する指令(以下、「出力データ」とも称する。)に基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのフィールド装置群8は、第1フィールドネットワーク2を介して、制御装置10との間で、入力データおよび出力データを含むフィールド値を遣り取りする。
図2に示す構成例においては、フィールド装置群8は、リモートI/O(Input/Output)装置12と、リレー群14と、画像センサ18およびカメラ19と、サーボドライバ16およびサーボモータ17とを含む。
リモートI/O装置12は、第1フィールドネットワーク2を介して通信を行う通信部と、入力データの取得および出力データの出力を行うための入出力部(以下、「I/Oユニット」とも称する。)とを含む。このようなI/Oユニットを介して、制御装置10とフィールドとの間で入力データおよび出力データが遣り取りされる。図2には、リレー群14を介して、入力データおよび出力データとして、デジタル信号が遣り取りされる例が示されている。
I/Oユニットは、フィールドネットワークに直接接続されるようにしてもよい。図2には、第1フィールドネットワーク2にI/Oユニット15が直接接続されている例を示す。
画像センサ18は、カメラ19によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置10へ送信する。
サーボドライバ16は、制御装置10からの出力データ(例えば、位置指令など)に従って、サーボモータ17を駆動する。
上述のように、第1フィールドネットワーク2を介して、制御装置10とフィールド装置群8との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数百μsecオーダ~数十msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理を、「I/Oリフレッシュ処理」と称することもある。また、第2フィールドネットワーク4を介して制御装置10と接続される表示装置300は、ユーザからの操作を受けて、制御装置10に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置10での演算結果などをグラフィカルに表示する。
また、外部装置として、製造実行システム600およびクラウドサービス650を典型例として示す。外部装置は、制御装置10と上位ネットワーク6を介して接続される。制御装置10は、これらの外部システムや外部サービスに対して、プロセス値50を送信する。外部に出力されるプロセス値50は、上述のようにフィールド値と、システム変数162の値と、ユーザ変数166の値との少なくともいずれかを含む。
サポート装置200は、制御装置10が制御対象を制御するために必要な準備を支援する装置である。サポート装置200は、制御装置10で実行されるプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)を提供する。また、サポート装置200は、制御装置10および制御装置10に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境を提供する。さらに、サポート装置200は、生成したユーザプログラム152を制御装置10へ送信する機能、制御装置10上で実行されるユーザプログラム152などをオンラインで修正・変更する機能等を提供する。
サポート装置200は、画像を表示する表示部201と、ユーザ操作を受け付ける操作入力部202とを含む。操作入力部202は、例えばキーボードおよびマウスの少なくともいずれかで構成される。サポート装置200は、操作入力部202を用いたユーザ操作を受け付けて、制御装置10に対するイベント条件および抽出条件の少なくともいずれかを設定可能な機能を提供する。
[B.制御装置10のハードウェア構成例]
次に、本実施の形態に係る制御システム1を構成する制御装置10のハードウェア構成例について説明する。
図3は、本実施の形態に係る制御システム1を構成する制御装置10のハードウェア構成例を示すブロック図である。図3を参照して、制御装置10は、演算処理部および1または複数のI/Oユニット124-1,124-2,…を含む。以下の説明においては、演算処理部を「CPUユニット100」とも称する。
CPUユニット100は、プロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108とを含む。また、CPUユニット100は、上位ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114とを含む。さらに、CPUユニット100は、内部バスコントローラ122と、フィールドバスコントローラ118,120と、タイマ125とを含む。
プロセッサ102は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などで構成され、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行する。プロセッサ102は、各種プログラムを主記憶装置106に展開することで、制御対象に応じた制御、および、各種処理を実現する。チップセット104は、プロセッサ102と各デバイスを制御することで、制御装置10全体としての処理を実現する。
二次記憶装置108には、後述するPLCエンジン150(図4参照)を実現するためのシステムプログラムに加えて、PLCエンジン150を利用して実行されるユーザプログラム152が格納される。さらに、二次記憶装置108には、時系列データベース20が格納される。
上位ネットワークコントローラ110は、上位ネットワークを介した他の装置との間のデータの遣り取りを制御する。より具体的には、上位ネットワークコントローラ110は、例えば、外部装置にプロセス値を送信する。
USBコントローラ112は、USB接続を介してサポート装置200との間のデータの遣り取りを制御する。
メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラム152やトレースデータなど)を読出すことが可能になっている。
内部バスコントローラ122は、制御装置10に搭載されるI/Oユニット124-1,124-2,…との間でデータを遣り取りするインターフェイスである。
フィールドバスコントローラ118は、第1フィールドネットワーク2を介した他の装置との間のフィード値の遣り取りを制御する。同様に、フィールドバスコントローラ120は、第2フィールドネットワーク4を介した他の装置との間のフィールド値の遣り取りを制御する。
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置10の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
[C.制御装置10のソフトウェア構成例]
次に、本実施の形態に係る制御システム1を構成する制御装置10のソフトウェア構成例について説明する。
図4は、本実施の形態に係る制御システム1を構成する制御装置10のソフトウェア構成例を示すブロック図である。図4を参照して、制御装置10は、PLCエンジン150と、時系列データベース20と、抽出プログラム155と、上位接続プログラム192と、ゲートウェイプログラム194とを含む。
PLCエンジン150は、典型的には、制御装置10のプロセッサ102が、二次記憶装置108に格納されているシステムプログラムを読出して主記憶装置106に展開して実行することで各種プログラムの実行環境が提供され、当該実行環境下において、各種プログラムを実行することができる。
より具体的には、PLCエンジン150は、制御プログラム151と、収集プログラム153と、条件監視プログラム154と、変数管理プログラム160と、スケジューラプログラム170と、入力プログラム172と、出力プログラム174とを含む。
変数管理プログラム160と、スケジューラプログラム170と、入力プログラム172と、出力プログラム174とについては、システムプログラムの一部として実装されてもよい。この場合には、これらのプログラムが提供するそれぞれの機能を単一のシステムプログラムが提供するようにしてもよい。
制御プログラム151は、典型的には、ユーザプログラム152を含む。ユーザプログラム152は、制御演算機能を提供する主たる部分に相当し、制御装置10の制御対象の製造装置や設備などに応じて任意に構成することができる。ユーザプログラム152は、例えば、ファンクションブロックなどを利用したラダーロジックなどで規定することができる。
収集プログラム153は、制御装置10の制御周期に基づき、ユーザプログラム152内に規定された命令によって呼び出される。収集プログラム153は、1または複数のプロセス値50のうち少なくとも一部を制御周期毎に時系列データベース20に格納する。
条件監視プログラム154は、制御装置10の制御周期に基づき、ユーザプログラム152内に規定された命令によって呼び出される。条件監視プログラム154は、1または複数のプロセス値50の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を制御周期毎に判断する。条件監視プログラム154は、いずれかのイベント条件が成立すると、当該成立したイベントに関連付けられたチャプタ40を、制御周期を特定する時刻情報と対応付けて格納する。
変数管理プログラム160は、PLCエンジン150で利用可能な値を変数の形で管理する。より具体的には、変数管理プログラム160は、制御装置10の状態などを示すシステム変数162と、各種デバイスが保持する値を示すデバイス変数164と、ユーザプログラム152が保持する値を示すユーザ変数166とを管理する。各種デバイスは、例えば、制御装置10とローカルバスまたはフィールドバスを介して接続されるデバイスである。
スケジューラプログラム170は、制御装置10で実行されるプロセスやタスクなどに対してリソース割当てや実行タイミングなどを管理する。
入力プログラム172は、制御装置10とローカルバスまたはフィールドバスを介して接続される各種デバイスから入力データを取得する機能を提供する。
出力プログラム174は、制御装置10において実行されるユーザプログラム152によって算出される指令値(出力データ)をローカルバスまたはフィールドバスを介して接続される対象のデバイスへ出力する。
時系列データベース20は、典型的には、主記憶装置106または二次記憶装置108に配置され、データを格納する機能とともに、外部からの要求(クエリ)に応答して、指定されたデータを応答する検索機能を搭載している。時系列データベース20は、収集プログラム153により書込まれるプロセス値50を格納する。また時系列データベース20は、条件監視プログラム154により書込まれるチャプタ40を格納する。
抽出プログラム155は、抽出条件を満たすチャプタ40に対応付けられた時刻情報を基準として対象区間を決定し、当該対象区間に含まれる1または複数のプロセス値50を抽出する。
上位接続プログラム192は、製造実行システム600などの上位ネットワーク6に接続された外部装置との間でプロセス値50を遣り取りする。上位接続プログラム192は、抽出プログラム155により抽出されたプロセス値50を、任意のデータ形式により製造実行システム600へ出力する。製造実行システム600はデータベースを有している。あるいは、製造実行システム600は、自システムとは別にデータベースが配置されている場合には、上位接続プログラム192に代えて、あるいは、上位接続プログラム192の一部として、データベース接続プログラムが設けられていてもよい。このようなデータベース接続プログラムは、例えば、リレーショナルデータベースに対してSQLなどのクエリを送信するとともに、応答を受信する処理を実行するようにしてもよい。
ゲートウェイプログラム194は、クラウドサービス650に対して時系列データを提供する。具体的には、ゲートウェイプログラム194は、時系列データベース20から、指定された種類のデータを指定された周期で取得して、時系列データとして出力する。ゲートウェイプログラム194は、抽出プログラム155により抽出されたプロセス値50を、任意のデータ形式によりクラウドサービス650へ出力する。プロセス値50は、クラウドサービス650に設けられたデータベースに格納される。
制御装置10の入力プログラム172は、ローカルバスおよび/またはフィールドバスを介してセンサから入力データを取得する。
出力プログラム174は、ユーザプログラム152の制御演算によって算出される出力データを制御出力として、ローカルバスおよび/またはフィールドバスを介してアクチュエータへ出力する。
[D.データ構造]
次に、時系列データベース20を実現するためのデータ構造の一例について説明する。
(d1:時系列データベース20)
図5は、本実施の形態に係る制御装置10に実装される時系列データベース20のデータ構造を概略する模式図である。図5を参照して、時系列データベース20が扱う時系列データの概念を「時系列(TimeSeries)」とも称する。1つの時系列は、複数レベルのデータベースで構成されてもよい。本実施の形態において、複数レベルのデータベースとしては、時系列データベース20に格納される時系列のプロセス値50により構成されるプロセス値データベース500と、チャプタ40により構成されるチャプタデータベース400とを含む。時系列データベース20には、複数の時系列を生成することができ、例えば、アプリケーション毎に時系列を生成するようにしてもよい。各データベースファイルは、バージョンなどの独自の属性を有するようにしてもよい。
プロセス値データベース500には、プロセス値50の時系列データが格納される。プロセス値50は、制御周期に対応する時刻情報を含む。チャプタデータベース400には、チャプタ40の時系列データが格納される。チャプタ40は、プロセス値50の制御周期を特定するための時刻情報等が格納される。
プロセス値データベース500では、データの最小単位であるレコードの単位でプロセス値50が格納される。プロセス値データベース500における各レコードには、例えば、Key-Valueストア型が採用される。Key-Valueストア型のレコードが採用された場合には、格納対象のデータ(Value/値)と、そのデータに対応する一意の標識(Key)とが関連付けて格納される。すなわち、各レコードは、Key-Valueストア型のKeyとValueとを含む。
また、チャプタデータベース400では、データの最小単位であるレコードの単位でプロセス値50が格納される。チャプタデータベース400における各レコードには、例えば、Key-Valueストア型が採用される。
次に、図5におけるプロセス値データベース500およびチャプタデータベース400を構成する各レコード内のより詳細なデータ構造の一例について説明する。図6は、本実施の形態に係る制御装置10に格納されるプロセス値データベース500とチャプタデータベース400とのレコードのデータ構造を概略する模式図である。
(d2:プロセス値データベース500)
図6(a)を参照して、プロセス値データベース500のレコードは、タイミングまたは時刻を特定する情報を含む標識(Key)と、対応するプロセス値を含むデータ(Value)とを対応付けたデータである。プロセス値データベース500のレコードは、Keyとして、ID501およびタイムスタンプ502を含む。ID501として、格納対象のデータに関連付けられる任意の識別情報が用いられてもよい。タイムスタンプ502は、時刻またはタイミングを特定する情報に相当し、例えば、任意のプロセス値50を格納する際のCPUユニット100で管理している時刻情報またはカウンタ情報が用いられる。図6(a)に示したプロセス値50におけるKeyは一例であり、当該Keyは、ID501およびタイムスタンプ502のうち少なくとも1つを含んでもよい。また、当該Keyは、ID501およびタイムスタンプ502以外を含んでもよい。
プロセス値データベース500のレコードは、Valueとして、インデックス503およびプロセス値50を含む。インデックス503は、データの格納動作に応じて所定値だけインクリメント/デクリメントされる値である。典型的には、1つのレコードが格納される毎に1ずつカウントアップされるような値が用いられる。プロセス値50は、ユーザプログラム152内に規定された命令によって収集プログラム153が呼び出され、当該収集プログラム153に指定されたプロセス値50を含むレコードが時系列データベースに順次書込まれる。
(d3:チャプタデータベース400)
図6(b)を参照して、チャプタデータベース400のレコードは、Keyとして、AutoID401と、識別子402と、情報種類403とを含む。なお、本実施の形態では、AutoID401、識別子402および情報種類403がチャプタ40に相当する。図6(b)に示したチャプタ40におけるKeyは一例であり、AutoID401、識別子402および情報種類403のうち少なくとも1つを含んでもよい。また、当該Keyは、チャプタ40は、AutoID401、識別子402および情報種類403以外を含んでもよい。
AutoID401は、予め定められた規則に従って順次更新される識別情報に相当し、レコードの登録に応じて所定値だけインクリメント/デクリメントされる値が用いられる。典型的には、1つのレコードが格納される毎に1ずつカウントアップされるような値が用いられる。
識別子402は、チャプタ40を特定するための識別情報に相当し、チャプタ40の検索に用いられる任意の値が用いられる。例えば、識別子402として、文字列、数値、日付情報、時刻情報などが用いられてもよい。識別子402として格納される値は、ユーザプログラム152にて規定されるようにしてもよい。
情報種類403は、チャプタ40の種類を示す情報に相当する。より具体的には、情報種類403は、対象のチャプタ40がイベント条件を満たすか否かを判断するための指標となる。情報種類403は、例えば、作業工程の「開始」を示す値(例えば、「CS」)を有する。情報種類403は、例えば、作業工程の「終了」を示す値(例えば、「CE」)を有する。情報種類403は、例えば、ワークの温度が予め定められた閾値(例えば、500℃)以上となったことを示す値(例えば「MA」)を有する。これらの値は一例であり、他の値であってもよい。このようにチャプタ40の値(情報種類403の値)は、ユーザによって任意の値に設定される。そして、チャプタ40の値はイベント条件に関連付けられており、イベント条件についても後述するようにユーザによる設定が可能となる。チャプタ40の値およびイベント条件の設定は、例えば、サポート装置200を用いて行われる。これにより、制御装置10は、ユーザにより任意に設定されたイベント条件に応じたチャプタ40を、時系列データベース20に格納できる。
また、チャプタデータベース400のレコードは、Valueとして、プロセス値データベースのレコードのKey404(以下、「レコードKey404」とも称する。)を含む。レコードKey404の値は、プロセス値データベース500におけるタイムスタンプ502に対応する値である。レコードKey404は、プロセス値データベース500に含まれる複数のレコードから、対象のプロセス値50を含むレコードを検索して抽出するための検索キーとして用いられる。
[E.イベント条件の設定]
次に、イベント条件の設定例について具体的に説明する。
図7は、イベント条件を設定例について説明する図である。図7を参照して、サポート装置200の表示部201は、イベント条件設定画像209を表示する。サポート装置200は、ユーザの操作入力部202の操作によるイベント条件の設定を受け付ける。イベント条件設定画像209には一例として5つの条件(第1条件~第5条件)を示す。各条件は、条件名と、条件式と、種類とを含む。条件名は、プロセス値50における時刻情報と同一の時刻情報が対応付けられたチャプタ40の識別子402の値を決定するための情報である。当該プロセス値50は、後述する条件式に関して、設定された条件を満たしたプロセス値50である。条件名は、例えば、作業工程を識別可能な情報である。条件式は、プロセス値50が設定された条件を満たすか否かを判定するための判定式である。種類は、プロセス値50における時刻情報と同一の時刻情報が対応付けられたチャプタ40の情報種類403の値を決定するための情報である。当該プロセス値50は、設定された条件を満たしたプロセス値50である。
図7では、例えば第1条件における第1条件名210には「Event1」、第1条件式212には「StartFlag1==TRUE」、第1種類214には「開始」が入力される。第1種類214では種類選択欄215に表示された複数の値のうち任意の値が選択されて第1種類214の値が入力される。プロセッサ102は、条件監視プログラム154を実行する。プロセッサ102は、第1条件式212における条件(例えば、第1作業工程の「開始」)を満たすプロセス値50が格納されると、イベント条件(第1条件)が成立したと判断する。プロセッサ102は、後述する図8に示すチャプタ40を時系列データベース20に格納する。当該チャプタ40には、プロセス値50と同じ時刻の時刻情報が対応付けられ、識別子402に「Event1」の値が登録され、情報種類403に「CS」の値が登録される。
第2条件における第2条件名220には「Event1」、第2条件式222には「StartFlag1==FALSE」、第2種類224には「終了」が入力される。プロセッサ102は、条件監視プログラム154を実行する。プロセッサ102は、第2条件式222における条件(例えば、第1作業工程の「終了」)を満たすプロセス値50が格納されると、イベント条件(第2条件)が成立したと判断する。プロセッサ102は、後述する図8に示すチャプタ40を時系列データベース20に格納する。当該チャプタ40には、プロセス値50と同じ時刻の時刻情報が対応付けられ、識別子402に「Event1」の値が登録され、情報種類403に「CE」の値が登録される。
第3条件における第3条件名230には「Event2」、第3条件式232には「StartFlag2==TRUE」、第3種類234には「開始」が入力される。プロセッサ102は、条件監視プログラム154を実行する。プロセッサ102は、第3条件式232における条件(例えば、第2作業工程の「開始」)を満たすプロセス値50が格納されると、イベント条件(第3条件)が成立したと判断する。プロセッサ102は、後述する図8に示すチャプタ40を時系列データベース20に格納する。当該チャプタ40には、プロセス値50と同じ時刻の時刻情報が対応付けられ、識別子402に「Event2」の値が登録され、情報種類403に「CS」の値が登録される。
第4条件における第4条件名240には「Event2」、第4条件式242には「StartFlag2==FALSE」、第4種類244には「終了」が入力される。プロセッサ102は、条件監視プログラム154を実行する。プロセッサ102は、第4条件式242における条件(例えば、第2作業工程の「終了」)を満たすプロセス値50が格納されると、イベント条件(第4条件)が成立したと判断する。プロセッサ102は、後述する図8に示すチャプタ40を時系列データベース20に格納する。当該チャプタ40には、プロセス値50と同じ時刻の時刻情報が対応付けられ、識別子402に「Event2」の値が登録され、情報種類403に「CE」の値が登録される。
第5条件における第5条件名250には「Event3」、第5条件式252には「Temperature≧500」、第5種類254には「マーク」が入力される。プロセッサ102は、条件監視プログラム154を実行する。プロセッサ102は、第5条件式252における条件(例えば、第3作業工程の「開始」)を満たすプロセス値50が格納されると、イベント条件(第5条件)が成立したと判断する。プロセッサ102は、後述する図8に示すチャプタ40を時系列データベース20に格納する。当該チャプタ40には、プロセス値50と同じ時刻の時刻情報が対応付けられ、識別子402に「Event3」の値が登録され、情報種類403に「MA」の値が登録される。
[F.イベント条件の成立によるチャプタ40の格納]
図8は、イベント条件の成立によるチャプタ40の時系列データベース20への格納について説明する図である。図8を参照して、プロセッサ102は、条件監視プログラム154に基づいて、第1条件のイベント条件が成立すると、チャプタ40を時刻情報と対応付けて格納する。より具体的には、プロセッサ102は、チャプタデータベース400におけるAutoID401の値が「001」を含むチャプタを、レコードKey404の値が「10:10:10:01」の時刻情報と対応付けて格納する。当該チャプタ40は、識別子402の値「Event1」と情報種類403の値「CS」とを含む。「CS」の値は、上述のとおり作業工程の「開始」を意味する値である。当該時刻情報は、プロセス値データベース500におけるID501の値が「0101」のタイムスタンプ502の値(「10:10:10:01」)に対応する。
プロセッサ102は、チャプタデータベース400におけるAutoID402の値が「002」を含むチャプタ40を、レコードKey404の値が「10:10:10:04」の時刻情報と対応付けて格納する。当該チャプタ40は、識別子402の値「Event1」と情報種類403の値「CE」とを含む。「CS」の値は、上述のとおり作業工程の「終了」を意味する値である。当該時刻情報は、プロセス値データベース500におけるID501の値が「0104」のタイムスタンプ502の値(「10:10:10:04」)に対応する。
プロセッサ102は、チャプタデータベース400におけるAutoID402の値が「003」を含むチャプタを、レコードKey404の値が「10:10:10:05」の時刻情報と対応付けて格納する。当該チャプタ40は、識別子402の値「Event2」と情報種類403の値「CS」とを含む。当該時刻情報は、プロセス値データベース500におけるID501の値が「0106」のタイムスタンプ502の値(「10:10:10:05」)に対応する。
プロセッサ102は、チャプタデータベース400におけるAutoID402の値が「004」を含むチャプタ40を、レコードKey404の値が「10:10:10:06」の時刻情報と対応付けて格納する。当該チャプタ40は、識別子402の値「Event3」と情報種類403の値「MA」とを含む。「MA」の値は、上述のとおりワークの温度が閾値以上となったことを意味する値である。当該時刻情報は、プロセス値データベース500におけるID501の値が「106」のタイムスタンプ502の値(「10:10:10:06」)に対応する。
プロセッサ102は、チャプタデータベース400におけるAutoID402の値が「005」を含むチャプタ40を、レコードKey404の値が「10:10:10:07」の時刻情報と対応付けて格納する。当該チャプタ40は、識別子402の値「Event2」と情報種類403の値「CE」とを含む。当該時刻情報は、プロセス値データベース500におけるID501の値が「107」のタイムスタンプ502の値(「10:10:10:07」)に対応する。
なお、プロセス値データベース500には、上述のチャプタ40に対応する時刻情報を有するプロセス値50以外のプロセス値50も含まれる。プロセス値データベース500は、例えば、ID501の値が「0100」、「0102」、「0103」および「0108」のプロセス値50を含む。
[G.抽出条件の設定(作業工程1における開始~終了)]
次に、抽出条件の設定の一例について説明する。抽出条件は、時系列データベース20に格納された複数のプロセス値50のうち条件を満たす1または複数のプロセス値50を抽出するための条件である。このようなプロセス値50の抽出は、イベント条件が満たされたことでチャプタ40が時系列データベース20に格納された後に実施することができるため、事後的に分析や解析を効率的に行える。
図9は、抽出条件の第1設定例について説明する図である。図9を参照して、サポート装置200の表示部201は、条件設定画像301と対象区間画像302とを表示する。条件設定画像301は、2つの条件(第1条件~第2条件)を設定するための画像である。各条件は、条件名を入力するための項目(例えば、第1条件名項目310)と種類を入力するための項目(例えば、第1種類項目312)とを含む。条件名を入力するための項目の値は、プロセス値50がイベント条件の条件式を満たした場合に、チャプタ40における識別子402に登録された値に対応する。種類を入力するための項目は、プロセス値50がイベント条件の条件式を満たした場合に、チャプタ40における情報種類403に登録された値に対応する。条件設定画像301は、設定された抽出条件によりプロセス値50の抽出を開始するための抽出開始ボタン360を含む。
サポート装置200は、操作入力部202を用いたユーザ操作により抽出条件の設定を受け付ける。設定が受け付けられた後に操作入力部202を用いたユーザ操作により抽出開始ボタン360が押下されると、プロセッサ102は抽出プログラム155を実行する。プロセッサ102は、抽出条件の設定内容に基づき、時系列データベース20に格納されたプロセス値50を抽出するための対象区間を特定する。
図9を参照して抽出条件の設定の一例について説明する。第1抽出条件における第1条件名項目310では、例えば、条件名選択欄311に表示された複数の値のうち「Event1」の値が入力される。「Event1」は、例えば作業工程1に対応する。また、第1種類項目312では、種類選択欄313に示された複数の値のうち「開始」の値が入力される。次に、第2抽出条件における第2条件名項目314では、「Event1」の値が入力される。また、第2種類項目316では「終了」の値が入力される。
第1抽出条件および第2抽出条件の設定後、ユーザ操作により抽出開始ボタン360が押下されると、プロセッサ102は、抽出プログラム155を実行して抽出の対象区間を特定する。より具体的には、プロセッサ102は、Event1の開始の条件を満たすプロセス値50と、Event1の終了の条件を満たすプロセス値との間の区間を特定する。
なお、第1抽出条件および第2抽出条件の設定が行われると、対象区間画像302が表示される。対象区間画像302は、Event1の開始の値を有するチャプタ40に対応する時刻情報を有するプロセス値50と、Event1の終了の値を有するチャプタ40に対応する時刻情報を有するプロセス値50との間における抽出の対象区間を表わす画像を含む。対象区間に含まれるプロセス値50の数が多くなると対象区間の長さは長くなり、プロセス値の数が少なくなると対象区間の長さは短くなる。チャプタ40に対応する時刻情報を有するプロセス値50は、例えば、チャプタ40と同じ時刻情報を有する。このように、制御装置10は、第1抽出条件に含まれるチャプタ40と第2抽出条件に含まれるチャプタ40との複数のチャプタの組み合わせにより対象区間を特定する。これにより、制御装置10は、ユーザが事後的に分析や解析を効率的に行うことが可能なデータを抽出可能な抽出条件を受け付け可能となる。
図10は、第1抽出条件および第2抽出条件に基づくプロセス値50の時系列データの抽出例を表わす図である。なお、図10に示すチャプタデータベース400に含まれる複数のチャプタ40と、プロセス値データベース500に含まれる複数のプロセス値50とは、図8で説明した内容と同じ内容である。
図10を参照して、プロセッサ102は、抽出プログラム155を実行する。より具体的には、プロセッサ102は、1または複数のチャプタ40を指定する。プロセッサ102は、例えば、図9で説明した第1抽出条件と第2抽出条件との2つの抽出条件によりチャプタ40を指定する。プロセッサ102は、第1抽出条件が成立するチャプタ40を指定する。第1抽出条件は、第1条件名項目310における設定値「Event1」と第1種類項目312における設定値「開始」とを含む。プロセッサ102は、第1抽出条件を満たすチャプタ40として、例えば、AutoID401の値が「001」のチャプタ40を指定する。AutoID401の値が「001」のチャプタ40は、識別子402において「Event1」と、情報種類403において「CS」とを含む。
また、プロセッサ102は、第2抽出条件が成立するチャプタ40を指定する。第2抽出条件は、第2条件名項目314における設定値「Event1」と第2種類項目316における設定値「終了」とを含む。プロセッサ102は、第2抽出条件を満たすチャプタ40として、例えば、AutoID401の値が「002」のチャプタ40を指定する。AutoID401の値が「002」のチャプタ40は、識別子402において「Event1」と、情報種類403において「CE」とを含む。
次にプロセッサ102は、指定された2つのチャプタ40に対応付けられた時刻情報を基準とした開始位置と終了位置を含む対象区間を決定する。より具体的には、プロセッサ102は、AutoID401の値が「001」のチャプタ40のレコードKey404「10:10:10:01」の値を基準として、当該チャプタ40と同じ時刻情報(タイムスタンプ502の値)を有するプロセス値50を特定する。プロセッサ102は、AutoID401の値が「004」のチャプタ40のレコードKey404「10:10:10:04」の値を基準として、当該チャプタ40と同じ時刻情報(タイムスタンプ502の値)を有するプロセス値50を特定する。プロセッサ102は、ID501の値が「0101」のプロセス値50からID501の値が「0104」のプロセス値50までの区間(ID501の値が「0101」~「0104」の区間)を抽出の対象区間に決定する。このように、制御装置10は、複数の抽出条件を受け付けることで、詳細な抽出条件に基づくプロセス値の設定が可能となり、当該抽出条件に基づく抽出が可能となる。
[H.抽出条件の設定(オフセットを含む開始~終了)]
次に、抽出条件の設定の別の例について説明する。
図11は、抽出条件の第2設定例について説明する図である。図11を参照して、サポート装置200の表示部201は、条件設定画像301と対象区間画像302とを表示する。図11における条件設定画像301と対象区間画像302との構成は、図9で説明した構成と一部が同一であり、その他の構成が異なる。以下では、異なる構成について説明する。
条件設定画像301は、図9において説明した2つの条件(第1抽出条件および第2抽出条件)に加えて、オフセット条件を設定するための画像である。
第1オフセット条件における第1オフセット項目318は、開始の値を有するチャプタ40に対応する時刻情報を有するプロセス値50からオフセットさせるレコード数を表わす。また、第2オフセット条件における第2オフセット項目320は、終了の値を有するチャプタ40に対応する時刻情報を有するプロセス値50からオフセットさせるレコード数を表わす。
図11の第1抽出条件における第1条件名項目310では、第1オフセット項目318のオフセット選択欄319に表示された複数の値のうち「-1」が入力される。次に、第2オフセット項目320では「0」が入力される。
このように第1抽出条件、第2抽出条件、第1オフセット条件および第2オフセット条件において設定が行われる。その後、ユーザ操作により抽出開始ボタン360が押下されると、プロセッサ102は、抽出プログラム155を実行して抽出の対象区間を決定する。より具体的には、プロセッサ102は、Event1の開始の条件を満たすプロセス値50から1レコード分オフセットしたプロセス値50と、Event1の終了の条件を満たすプロセス値との間の区間を対象区間として決定する。このように、プロセッサ102は、1または複数のチャプタに対応付けられた時刻情報を基準とした対象区間の開始位置および/または終了位置を特定するための範囲の指定を行う。
なお、第1抽出条件、第2抽出条件、第1オフセット条件および第2オフセット条件において設定が行われると、対象区間画像302が表示される。対象区間画像302は抽出の対象区間を表わす画像を含む。当該画像は、Event1の開始の値を有するチャプタ40に対応する時刻情報を有するプロセス値50から-1レコード分オフセットしたプロセス値50の画像である。また当該画像は、Event1の終了の値を有するチャプタ40に対応する時刻情報を有するプロセス値50との間の画像である。開始の値を有するチャプタ40に対応する時刻情報を有するプロセス値50からプロセス値50が-1レコード分オフセットする。したがって、図9の対象区間画像302における対象区間と比べて、図11の対象区間画像302における対象区間の長さは長くなる。
図12は、第1オフセット条件および第2オフセット条件に基づくプロセス値50の時系列データの抽出例を表わす図である。なお、図12におけるチャプタ40に対応付けられた時刻情報を基準としたプロセス値50の抽出の内容は、図10で説明した内容と同一であり、一部の内容が異なる。以下では、異なる内容について説明する。
図12を参照して、プロセッサ102は、指定されたチャプタ40に対応付けられた時刻情報を基準として、開始位置と終了位置を特定するための範囲を指定する。前述の図10では、ID501の値が「0101」のプロセス値50を開始位置とし、ID501の値が「0104」のプロセス値50を終了位置とする範囲(ID501の値が「0101」~「0104」の範囲)を抽出の対象範囲とした。
これに対して、プロセッサ102は、タイムスタンプ502の値が「10:10:10:00」となるID501の値が「0100」のプロセス値50を開始位置として特定する。ID501の値が「0100」のプロセス値50は、ID501の値が「0101」のプロセス値50から-1レコード分オフセットしたものである。
またプロセッサ102は、タイムスタンプ502の値が「10:10:10:04」となるID501の値が「0104」のプロセス値50を終了位置として特定する。その結果、プロセッサ102は、ID501の値が「0100」~「0104」の範囲を抽出の対象区間として決定する。これにより、制御装置10は、抽出条件において対象区間の開始位置および/または終了位置の少なくともいずれかの変更を受け付け可能となる。
[I.抽出条件の設定(作業工程1および作業工程2における開始~終了)]
次に、抽出条件の設定の別の例について説明する。
図13は、抽出条件の第3設定例について説明する図である。図13を参照して、サポート装置200の表示部201は、条件設定画像301と対象区間画像302とを表示する。図13における条件設定画像301と対象区間画像302との構成は、図9で説明した構成と一部が同一であり、その他の構成が異なる。以下では、異なる構成について説明する。
条件設定画像301は、図9において説明した2つの条件(第1抽出条件および第2抽出条件)に加えて、第3抽出条件および第4抽出条件と、論理演算を設定するための画像である。
図13を参照して、第3抽出条件における第3条件名項目324では、「Event2」の値が入力される。「Event2」は例えば作業工程2に対応する。また、第3種類項目326では「開始」の値が入力される。次に、第4抽出条件における第4条件名項目328では、「Event2」の値が入力される。また、第4種類項目330では「終了」の値が入力される。さらに、論理演算条件における演算設定項目322では、演算選択欄323に表示された複数の値のうち論理和を示す「OR」の値が入力される。
このように第1抽出条件~第4抽出条件と論理演算条件とにおいて設定が行われる。設定が行われた後に操作入力部202を用いたユーザ操作により抽出開始ボタン360が押下されると、プロセッサ102は、抽出プログラム155を実行する。プロセッサ102は、抽出条件の設定内容に基づき、プロセス値50を抽出するための対象区間を決定する。より具体的には、プロセッサ102は、Event1の開始の条件を満たすチャプタ40に対応する時刻情報を有するプロセス値50と、Event1の終了の条件を満たすチャプタ40に対応する時刻情報を有するプロセス値との間の区間を特定する。また、プロセッサ102は、Event2の開始の条件を満たすチャプタ40に対応する時刻情報を有するプロセス値50と、Event2の終了の条件を満たすチャプタ40に対応する時刻情報を有するプロセス値の50との間の区間を特定する。プロセッサ102は、2つの抽出条件間の論理和により規定される区間を対象区間として決定する。
このように、抽出条件は、対象区間を決定する複数の抽出条件間の論理演算として規定される。複数の抽出条件の各々は対象区間を決定する。以下では複数の抽出条件の各々を「単位抽出条件」とも称する。また、以下では単位抽出条件により決定された区間を「単位区間」とも称する。
第1抽出条件~第4抽出条件において設定が行われると、対象区間画像302が表示される。対象区間画像302は、Event1の開始の値を有するチャプタ40に対応する時刻情報を有するプロセス値50と、Event2の終了の値を有するチャプタ40に対応する時刻情報を有するプロセス値50との間における抽出の対象区間を表わす画像を含む。このように、制御装置10は、第1抽出条件~第4抽出条件のそれぞれの条件に含まれる複数のチャプタの組み合わせにより対象区間を決定する。また、制御装置10は、複数の抽出条件を受け付けることで、詳細な抽出条件に基づくプロセス値50の設定が可能となり、当該抽出条件に基づく抽出が可能となる。さらに、制御装置10は、論理演算を用いた抽出条件を設定可能とすることで、複数の条件の組み合わせによるプロセス値50の抽出範囲を任意に設定できる。
図14は、第1抽出条件~第4抽出条件に基づくプロセス値50の時系列データの抽出例を表わす図である。なお、図14におけるチャプタ40に対応付けられた時刻情報を基準としたプロセス値50の抽出の内容は、図10で説明した内容と同一であり、一部の内容が異なる。以下では、異なる内容について説明する。
図14を参照して、プロセッサ102は、指定されたチャプタ40に対応付けられた時刻情報を基準として、開始位置と終了位置を特定するための範囲を指定する。図10では、ID501の値が「0101」のプロセス値50を開始位置とし、ID501の値が「0104」のプロセス値50を終了位置とする範囲(ID501の値が「0101」~「0104」の範囲)を抽出の対象範囲とした。
これに対して、プロセッサ102は、複数の単位抽出条件を含む抽出条件に基づいて対象区間を決定して当該対象区間に含まれるプロセス値50を抽出する。複数の単位抽出条件の各条件により単位区間が決定される。当該抽出条件は、論理演算(例えば、論理和)として規定される条件である。
より具体的には、プロセッサ102は、当該抽出条件により、タイムスタンプ502の値が「10:10:10:01」となるID501の値が「0101」のプロセス値50を開始位置として特定する。またプロセッサ102は、タイムスタンプ502の値が「10:10:10:07」となるID501の値が「0104」のプロセス値50を終了位置として特定する。プロセッサ102は、ID501の値が「0101」~「0104」のプロセス値50を対象区間に含まれる区間(単位区間)のプロセス値50として特定する。また、プロセッサ102は、ID501の値が「0105」~「0107」のプロセス値50を対象区間に含まれる区間(単位区間)のプロセス値50として決定する。
その結果、プロセッサ102は、ID501の値が「0101」のプロセス値50を開始位置とし、ID501の値が「0107」のプロセス値50を終了位置とする範囲(ID501の値が「0101」~「0107」の範囲)を抽出の対象区間として決定する。これにより、制御装置10は、複数の抽出条件の組み合わせを複数設定可能とすることで、ユーザが目的とするデータの抽出を一層容易に行える。
なお、プロセッサ102は、上述の対象区間の決定について、論理和を用いた処理により対象区間を特定したが、論理積を用いた処理により抽出の対象区間を特定してもよい。
[J.抽出条件の設定(閾値)]
次に、抽出条件の設定の別の例について説明する。
図15は、抽出条件の第4設定例について説明する図である。図15を参照して、サポート装置200の表示部201は、条件設定画像301と対象区間画像302とを表示する。図15における条件設定画像301と対象区間画像302との構成は、図9で説明した構成と一部が同一であり、その他の構成が異なる。以下では、異なる構成について説明する。
条件設定画像301は、図9において説明した2つの条件(第1抽出条件および第2抽出条件)のうち、1つの条件(例えば、第1抽出条件)を設定するための画像である。さらに、条件設定画像301は、区間条件と割合条件とを設定するための画像である。図15の第1抽出条件における第1条件名項目310では、条件名選択欄311に表示された複数の値のうち「Event3」が選択される。「Event3」は、例えば作業工程3に対応する。また、第1種類項目312では種類選択欄313に示された複数の値のうち「マーク」が選択される。「マーク」は、例えば、ワークが予め定められた温度以上(例えば、500℃以上)の条件を満たしたことを示す情報種類403を有するチャプタ40を検索するための値である。
区間条件における、区間項目332は、マークの条件を満たすプロセス値50を含む対象区間のレコード数を示す値を入力するための項目である。また、割合条件における割合項目334は、マークの条件を満たすプロセス値50における対象区間内の位置を特定する値を入力するための項目である。区間項目332に入力された値が、例えば「5」の場合に、割合項目334に入力された値が「±50%」のときは、マークの条件を満たすプロセス値の位置は、中央のレコードの位置となる。中央のレコードは、5レコード中の3レコード目である。言い換えると、マークの条件を満たすプロセス値50と、当該プロセス値50に対して±2レコード分のプロセス値50とが抽出の対象区間に含まれる。
図15に示す区間条件における区間項目332では、区間選択欄333に表示された複数の値のうち「5」が入力される。割合条件における割合項目334では、割合選択欄335に表示された複数の値のうち「±50」が入力される。
このように第1抽出条件、区間条件および割合条件において設定が行われる。その後、ユーザ操作により抽出開始ボタン360が押下されると、プロセッサ102は、抽出プログラム155を実行して抽出の対象区間を特定する。より具体的には、プロセッサ102は、Event3のマークの条件を満たすチャプタ40に対応する時刻情報を有するプロセス値50を基準として、レコード数がマイナスのプロセス値50と、レコード数がプラスのプロセス値50との間の区間を対象区間として決定する。レコード数がマイナスのプロセス値50は、例えば、マークの条件を満たすプロセス値50から-2レコードのプロセス値50である。レコード数がマイナスのプロセス値50は、例えば、マークの条件を満たすプロセス値50から+2レコードのプロセス値50である。
なお、第1抽出条件、区間条件および割合条件において設定が行われると、対象区間画像302が表示される。対象区間画像302は、マークの条件を満たすプロセス値50と当該プロセス値50を基準として区間項目332および割合項目334により設定された範囲のプロセス値50を含む区間を対象区間とする画像を含む。より具体的には、対象区間画像302は、マークの条件を満たすプロセス値50から-2レコード分のプロセス値50と、マークの条件を満たすプロセス値50から+2レコード分とプロセス値50と間を抽出の対象区間とする画像を含む。
図16は、第1抽出条件、区間条件および割合条件に基づくプロセス値50の時系列データの抽出例を表わす図である。図16を参照して、プロセッサ102は、指定されたチャプタ40に対応付けられた時刻情報を基準として、マークの条件を満たすプロセス値50を特定し、特定されたプロセス値50を含む抽出のための範囲を指定する。プロセッサ102は、識別子402が「Event3」および情報種類403が「MA」を含むチャプタ40に対応付けられた時刻情報「10:10:10:06」を基準として対象区間を決定する。より具体的には、プロセッサ102は、タイムスタンプ502の値が「10:10:10:06」となるID501の値が「0106」のプロセス値50を特定する。また、プロセッサ102は、ID501の値が「0106」のプロセス値50に対する-2レコード分のID501の値が「0104」および「0105」のプロセス値50を特定する。プロセッサ102は、ID501の値が「0106」のプロセス値50に対する+2レコード分のID501の値が「0107」および「0108」のプロセス値50を特定する。このように、プロセッサ102は、ID501の値が「0104」~「0108」のプロセス値50の区間を対象区間として決定する。そして、プロセッサは、ID501の値が「0104」~「0108」のプロセス値50の時系列データベースを抽出する。これにより、制御装置10は、制御装置10は、事後的に分析や解析を効率的に行うための対象範囲の設定を閾値に基づいて容易に行える。
[K.画像処理装置の処理手順]
図17および図18を参照して制御装置10におけるプロセッサ102の処理手順について説明する。図17における制御は、プロセッサ102が収集プログラム153および条件監視プログラム154を実行することによって実現される。また、図18における制御は、プロセッサ102が抽出プログラム155と、上位接続プログラム192またはゲートウェイプログラム194とを実行することによって実現される。
図17は、チャプタ40を時系列データベース20に格納する処理について説明するフローチャートである。ステップS101において、プロセッサ102は、プロセス値50を制御周期毎に時系列データベース20に格納する。プロセス値50は、時系列データベース20に時系列に格納される。
ステップS102において、プロセッサ102は、イベント条件が成立するチャプタ40が存在するか否かを判断する。イベント条件が成立するチャプタ40が存在する場合(ステップS102においてYES)には、プロセッサ102は、制御をステップS103に切り替える。そうでない場合には(ステップS102においてNO)、プロセッサ102は、本フローチャートの処理を終了する。
ステップS103において、プロセッサ102は、イベント条件が成立したチャプタ40を、制御装置10の制御周期を特定する時刻情報と対応付けて、時系列データベース20に格納する。
図18は、抽出条件に基づいてプロセス値50を抽出する処理について説明するフローチャートである。ステップS201において、プロセッサ102は、抽出条件の設定を受け付けて、抽出プログラム155を実行する。
ステップS202において、プロセッサ102は、抽出条件を満たすチャプタ40の有無を判断する。抽出条件を満たすチャプタ40が存在する場合(ステップS202においてYES)には、プロセッサ102は、制御をステップS203に切り替える。そうでない場合には(ステップS202においてNO)、プロセッサ102は、本フローチャートの処理を終了する。
ステップS203において、プロセッサ102は、チャプタ40に対応付けられた時刻情報を基準として対象区間を決定するとともに、決定した対象区間に含まれるプロセス値50の時系列データを時系列データベース20から抽出する。
ステップS204において、プロセッサ102は、抽出したプロセス値50を外部装置に出力するデータ形式を決定する。プロセッサ102は、例えば、CSV、SQLおよびバイナリ形式を含むいずれかの形式のうち出力するデータ形式を決定する。
ステップS205において、プロセッサ102は、決定したデータ形式で表わされた、プロセス値50を含むデータを出力する。これにより、制御装置10は、抽出条件に応じたプロセス値50の時系列データを抽出することで、事後的に分析や解析を効率的に行うためのデータの抽出を容易に行える。
[L.変形例]
本実施の形態では、時系列データベース20は、典型的には、主記憶装置106または二次記憶装置108に配置されることについて説明した。これに対して、時系列データベース20は、メモリカード116に配置されてもよい。より具体的には、時系列データベース20は、メモリカード116のみに配置されてもよいし、メモリカード116と主記憶装置106または二次記憶装置108とに配置されてもよい。また、主記憶装置106または二次記憶装置108に配置された時系列データベース20が、メモリカードインターフェイス114を介して、メモリカード116に出力されるようにしてもよい。
本実施の形態では、抽出プログラム155は、制御装置10内において実行されることについて説明した。これに対して、抽出プログラム155は、PLCエンジン150内に設けられて実行されてもよい。
また、抽出プログラム155は、制御装置10の制御周期に基づくタイミングで実行される必要はなく、任意のタイミングで実行されてもよい。したがって、抽出プログラム155は、制御装置10内の時系列データベース20にアクセスできる他の装置内に設けられて、当該装置内で実行されてもよい。抽出プログラム155は、例えば、サポート装置200を含む他の装置内に設けられて実行されてもよい。抽出プログラム155が設けられた他の装置は、抽出プログラム155を実行する。他の装置は、抽出条件に応じた対象区間のプロセス値50を抽出する命令を制御装置10に送信する。抽出する命令を受け付けた制御装置10は、抽出条件に従って対象区間のプロセス値50を抽出し、任意のデータ形式により出力するようにしてもよい。このように、対象区間のプロセス値50を抽出する命令を送信する処理と、対象区間のプロセス値50を抽出する処理とが別々の装置により実行されてもよい。
本実施の形態では、抽出条件は、2つの単位抽出条件間の論理演算として規定されることについて説明した。これに対して、抽出条件は、3つ以上の単位抽出条件間の論理演算として規定されてもよい。また、抽出条件は、1つのみの単位抽出条件により規定されてもよい。
本実施の形態では、プロセッサ102は、時刻情報としてチャプタ40におけるレコードKey404の値と、プロセス値50におけるタイムスタンプ502の値とを対応付けることについて説明した。これに対して、時刻情報として、その他の値を対応付けてもよい。より具体的には、インデックス503をプロセス値50における時刻情報としてもよい。この場合、チャプタ40におけるレコードKey404の値は、タイムスタンプ502の値に替えて、インデックス503の値が設定される。
本実施の形態では、第1オフセット条件における第1オフセット項目318および第2オフセット条件における第2オフセット項目320では、レコード数の設定が受け付けられることについて説明した。これに対して、第1オフセット項目318および第2オフセット項目320では、制御周期の長さに応じた時刻の設定を受け付けるようにしてもよい。
本実施の形態では、区間条件における区間項目332では、レコード数の設定が受け付けられることについて説明した。これに対して、区間項目332では、制御周期の長さに応じた時刻の設定を受け付けるようにしてもよい。
<付記>
以上のように、本実施の形態は以下のような開示を含む。
[構成1]
制御装置(10)で利用可能な1または複数のプロセス値(50)のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部(22)と、
前記1または複数のプロセス値(50)の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタ(40)を、前記制御周期を特定する時刻情報と対応付けて格納する条件監視部(23)と、
前記1または複数のチャプタ(40)のうち少なくとも1つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタ(40)に対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値(50)の時系列データを抽出する抽出部(24)とを備える、制御装置。
[構成2]
前記抽出条件は、1または複数のチャプタ(40)の指定と、当該1または複数のチャプタ(40)に対応付けられた時刻情報を基準とした前記対象区間の開始位置および/または終了位置を特定するための範囲の指定とを含む、構成1に記載の制御装置。
[構成3]
前記抽出条件は、複数のチャプタ(40)の組み合わせを含む、構成1または2に記載の制御装置。
[構成4]
前記抽出条件は、前記複数のチャプタ(40)の組み合わせを複数含む、構成3に記載の制御装置。
[構成5]
前記抽出条件は、前記対象区間を決定する複数の前記抽出条件間の論理演算として規定される、構成1または2に記載の制御装置。
[構成6]
前記イベント条件に関連付けられた前記チャプタ(40)の値は、ユーザによって任意の値に設定される、構成1~5のいずれか1項に記載の制御装置。
[構成7]
前記抽出部(24)により抽出されたプロセス値(50)の時系列データを、任意のデータ形式により出力可能な出力部(25)をさらに備える、構成1~6のいずれか1項に記載の制御装置。
[構成8]
制御対象を制御するための制御装置(10)で実行される制御プログラムであって、
前記制御プログラムは、
前記制御装置(10)で利用可能な1または複数のプロセス値(50)のうち少なくとも一部を予め定められた制御周期毎に時系列に格納するステップ(S101)と、
前記1または複数のプロセス値(50)の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタ(40)を、前記制御周期を特定する時刻情報と対応付けて格納するステップ(S103)と、
前記1または複数のチャプタ(40)のうち少なくとも1つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタ(40)に対応付けられた時刻情報を少なくとも基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値(50)の時系列データを抽出するステップ(S203)とを実行する、制御プログラム。
[構成9]
制御対象を制御する制御装置(10)と、
プロセス値の時系列データを抽出する抽出部(24)とを備え、
前記制御装置(10)は、
当該制御装置(10)で利用可能な1または複数のプロセス値(50)のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部(22)と、
前記1または複数のプロセス値(50)の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタ(40)を、前記制御周期を特定する時刻情報と対応付けて格納する条件監視部(23)とを含み、
前記抽出部(24)は、前記1または複数のチャプタ(40)のうち少なくとも1つを含んで定義される抽出条件に応じて、当該抽出条件に含まれるチャプタ(40)に対応付けられた時刻情報を基準として対象区間を決定するとともに、当該決定した対象区間に含まれる前記格納されたプロセス値(50)の時系列データを抽出する、制御システム。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
1 制御システム、2 第1フィールドネットワーク、4 第2フィールドネットワーク、6 上位ネットワーク、8 フィールド装置群、14 リレー群、16 サーボドライバ、17 サーボモータ、18 画像センサ、19 カメラ、20 自系列データベース、21 変数管理部、22 収集部、23 条件監視部、24 抽出部、25 出力部、40 チャプタ、41 第1チャプタ、42 第2チャプタ、43 第3チャプタ、50 プロセス値、51 第1プロセス値、52 第2プロセス値、53 第3プロセス値、54 第4プロセス値、100 制御装置、102 プロセッサ、104 チップセット、106 主記憶装置、108 二次記憶装置、110 上位ネットワークコントローラ、112 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,120 フィールドバスコントローラ、122 内部バスコントローラ、125 タイマ、150 PLCエンジン、151 制御プログラム、152 ユーザプログラム、153 収集プログラム、154 条件監視プログラム、155 抽出プログラム、160 変数管理プログラム、162 システム変数、164 デバイス変数、166 ユーザ変数、170 スケジューラプログラム、172 入力プログラム、174 出力プログラム、192 上位接続プログラム、194 ゲートウェイプログラム、200 サポート装置、201 表示部、202 操作入力部、209 イベント条件設定画像、210 第1条件名、212 第1条件式、214 第1種類、215,313 種類選択欄、220 第2条件名、222 第2条件式、224 第2種類、230 第3条件名、232 第3条件式、234 第3種類、240 第4条件名、242 第4条件式、244 第4種類、250 第5条件名、252 第5条件式、254 第5種類、300 表示装置、301 条件設定画像、302 対象区間画像、310 第1条件名項目、311 条件名選択欄、312 第1種類項目、314 第2条件名項目、316 第2種類項目、318 第1オフセット項目、319 オフセット選択欄、320 第2オフセット項目、322 演算設定項目、323 演算選択欄、324 第3条件名項目、326 第3種類項目、328 第4条件名項目、330 第4種類項目、332 区間項目、333 区間選択欄、334 割合項目、335 割合選択欄、360 抽出開始ボタン、400 チャプタデータベース、402 識別子、403 情報種類、500 プロセス値データベース、502 タイムスタンプ、503 インデックス、600 製造実行システム、650 クラウドサービス。

Claims (7)

  1. 制御装置で利用可能な1または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部と、
    前記1または複数のプロセス値の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、前記制御周期を特定する時刻情報と対応付けて格納する条件監視部とを備え、前記チャプタは、当該チャプタを示す文字列を含む第1の情報と、当該イベントの状態を示す第2の情報とを含み、前記第2の情報は、イベントの開始、および、イベントの終了を含む複数の状態から選択された1つの状態であり、
    複数の抽出条件をそれぞれ満たす複数のチャプタに対応付けられた時刻情報に基づいて対象区間を決定するとともに、当該決定した対象区間に対応するプロセス値の時系列データを抽出する抽出部をさらに備え、
    前記複数の抽出条件の各々は、チャプタを示す文字列を指定する第1の指定と、前記複数の状態のうち1つの状態を指定する第2の指定と、オフセットさせるレコード数を示す第3の指定とを含み、
    前記抽出部は、前記複数の抽出条件のうち一対の抽出条件について、
    一方の抽出条件に基づいて、前記第1の情報が前記第1の指定に合致するとともに、前記第2の情報が前記第2の指定に合致するチャプタを特定した上で、当該特定されたチャプタから前記第3の指定に対応するレコード数をオフセットしたレコードを前記対象区間の開始位置として決定し、
    他方の抽出条件に基づいて、前記第1の情報が前記第1の指定に合致するとともに、前記第2の情報が前記第2の指定に合致するチャプタを特定した上で、当該特定されたチャプタから前記第3の指定に対応するレコード数をオフセットしたレコードを前記対象区間の終了位置として決定する、制御装置。
  2. 前記抽出条件は、前記一対の抽出条件を複数含む、請求項に記載の制御装置。
  3. 前記抽出条件は、複数の前記一対の抽出条件の間の論理演算条件を含む、請求項に記載の制御装置。
  4. 前記イベント条件に関連付けられた前記チャプタを示す文字列は、ユーザによって任意に設定される、請求項1~のいずれか1項に記載の制御装置。
  5. 前記抽出部により抽出されたプロセス値の時系列データを、任意のデータ形式により出力可能な出力部をさらに備える、請求項1~のいずれか1項に記載の制御装置。
  6. 制御対象を制御するための制御装置で実行される制御プログラムであって、
    前記制御プログラムは、
    前記制御装置で利用可能な1または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納するステップと、
    前記1または複数のプロセス値の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、前記制御周期を特定する時刻情報と対応付けて格納するステップとを実行し、前記チャプタは、当該チャプタを示す文字列を含む第1の情報と、当該イベントの状態を示す第2の情報とを含み、前記第2の情報は、イベントの開始、および、イベントの終了を含む複数の状態から選択された1つの状態であり、
    複数の抽出条件をそれぞれ満たす複数のチャプタに対応付けられた時刻情報に基づいて対象区間を決定するとともに、当該決定した対象区間に対応するプロセス値の時系列データを抽出するステップをさらに実行し、
    前記複数の抽出条件の各々は、チャプタを示す文字列を指定する第1の指定と、前記複数の状態のうち1つの状態を指定する第2の指定と、オフセットさせるレコード数を示す第3の指定とを含み、
    前記抽出するステップは、前記複数の抽出条件のうち一対の抽出条件について
    一方の抽出条件に基づいて、前記第1の情報が前記第1の指定に合致するとともに、前記第2の情報が前記第2の指定に合致するチャプタを特定した上で、当該特定されたチャプタから前記第3の指定に対応するレコード数をオフセットしたレコードを前記対象区間の開始位置として決定し、
    他方の抽出条件に基づいて、前記第1の情報が前記第1の指定に合致するとともに、前記第2の情報が前記第2の指定に合致するチャプタを特定した上で、当該特定されたチャプタから前記第3の指定に対応するレコード数をオフセットしたレコードを前記対象区間の終了位置として決定するステップを含む、制御プログラム。
  7. 制御対象を制御する制御装置と、
    プロセス値の時系列データを抽出する抽出部とを備え、
    前記制御装置は、
    当該制御装置で利用可能な1または複数のプロセス値のうち少なくとも一部を予め定められた制御周期毎に時系列に格納する収集部と、
    前記1または複数のプロセス値の少なくとも一部に関する、予め定められた1または複数のイベント条件の成立の有無を前記制御周期毎に判断するとともに、いずれかのイベント条件が成立すると、当該成立したイベント条件に関連付けられたチャプタを、前記制御周期を特定する時刻情報と対応付けて格納する条件監視部とを含み、前記チャプタは、当該チャプタを示す文字列を含む第1の情報と、当該イベントの状態を示す第2の情報とを含み、前記第2の情報は、イベントの開始、および、イベントの終了を含む複数の状態から選択された1つの状態であり、
    前記抽出部は、複数の抽出条件をそれぞれ満たす複数のチャプタに対応付けられた時刻情報に基づいて対象区間を決定するとともに、当該決定した対象区間に対応するプロセス値の時系列データを抽出し、
    前記複数の抽出条件の各々は、チャプタを示す文字列を指定する第1の指定と、前記複数の状態のうち1つの状態を指定する第2の指定と、オフセットさせるレコード数を示す第3の指定とを含み、
    前記抽出部は、前記複数の抽出条件のうち一対の抽出条件について、
    一方の抽出条件に基づいて、前記第1の情報が前記第1の指定に合致するとともに、前記第2の情報が前記第2の指定に合致するチャプタを特定した上で、当該特定されたチャプタから前記第3の指定に対応するレコード数をオフセットしたレコードを前記対象区間の開始位置として決定し、
    他方の抽出条件に基づいて、前記第1の情報が前記第1の指定に合致するとともに、前記第2の情報が前記第2の指定に合致するチャプタを特定した上で、当該特定されたチャプタから前記第3の指定に対応するレコード数をオフセットしたレコードを前記対象区間の終了位置として決定する、制御システム。
JP2019025704A 2019-02-15 2019-02-15 制御装置、制御プログラム、および制御システム Active JP7441006B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019025704A JP7441006B2 (ja) 2019-02-15 2019-02-15 制御装置、制御プログラム、および制御システム
CN202080010024.9A CN113330382A (zh) 2019-02-15 2020-02-04 控制装置、控制程序以及控制系统
PCT/JP2020/004106 WO2020166432A1 (ja) 2019-02-15 2020-02-04 制御装置、制御プログラムおよび制御システム
US17/424,763 US11947328B2 (en) 2019-02-15 2020-02-04 Control device, control program, and control system
EP20755733.1A EP3926428B1 (en) 2019-02-15 2020-02-04 Control device, control program, and control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019025704A JP7441006B2 (ja) 2019-02-15 2019-02-15 制御装置、制御プログラム、および制御システム

Publications (2)

Publication Number Publication Date
JP2020135213A JP2020135213A (ja) 2020-08-31
JP7441006B2 true JP7441006B2 (ja) 2024-02-29

Family

ID=72044683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019025704A Active JP7441006B2 (ja) 2019-02-15 2019-02-15 制御装置、制御プログラム、および制御システム

Country Status (5)

Country Link
US (1) US11947328B2 (ja)
EP (1) EP3926428B1 (ja)
JP (1) JP7441006B2 (ja)
CN (1) CN113330382A (ja)
WO (1) WO2020166432A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114424231A (zh) * 2019-09-25 2022-04-29 夏普Nec显示器解决方案株式会社 电子设备、电子设备的管理方法及程序

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1296211A1 (en) 2000-06-30 2003-03-26 Mori Seiki Co., Ltd. System for supporting nc machining
JP2003241830A (ja) 2002-02-18 2003-08-29 Mitsubishi Electric Corp プロセスデータ管理装置
JP2004185077A (ja) 2002-11-29 2004-07-02 Mitsubishi Electric Corp データ管理装置
JP2010282246A (ja) 2009-06-02 2010-12-16 Hitachi Ltd プラント運転監視装置
JP2013171348A (ja) 2012-02-17 2013-09-02 Toshiba Corp 制御装置、及びその自己診断方法
JP2018133037A (ja) 2017-02-17 2018-08-23 オムロン株式会社 制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4297010B2 (ja) * 2004-08-13 2009-07-15 ソニー株式会社 情報処理装置および情報処理方法、並びに、プログラム
JP2011028654A (ja) * 2009-07-28 2011-02-10 Panasonic Electric Works Co Ltd 人と共同して稼動する生産設備
US20110295761A1 (en) 2010-05-31 2011-12-01 Kabushiki Kaisha Toshiba Business form management system, method and program
CN105900092B (zh) * 2014-03-26 2019-05-14 株式会社日立制作所 时序数据管理方法以及时序数据管理系统
JP6327234B2 (ja) 2015-11-06 2018-05-23 横河電機株式会社 イベント解析装置、イベント解析システム、イベント解析方法、およびイベント解析プログラム
JP2018151917A (ja) 2017-03-14 2018-09-27 オムロン株式会社 制御装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1296211A1 (en) 2000-06-30 2003-03-26 Mori Seiki Co., Ltd. System for supporting nc machining
JP2003241830A (ja) 2002-02-18 2003-08-29 Mitsubishi Electric Corp プロセスデータ管理装置
JP2004185077A (ja) 2002-11-29 2004-07-02 Mitsubishi Electric Corp データ管理装置
JP2010282246A (ja) 2009-06-02 2010-12-16 Hitachi Ltd プラント運転監視装置
JP2013171348A (ja) 2012-02-17 2013-09-02 Toshiba Corp 制御装置、及びその自己診断方法
JP2018133037A (ja) 2017-02-17 2018-08-23 オムロン株式会社 制御装置

Also Published As

Publication number Publication date
EP3926428B1 (en) 2024-03-27
US11947328B2 (en) 2024-04-02
CN113330382A (zh) 2021-08-31
JP2020135213A (ja) 2020-08-31
WO2020166432A1 (ja) 2020-08-20
EP3926428A4 (en) 2022-11-16
US20220137581A1 (en) 2022-05-05
EP3926428A1 (en) 2021-12-22

Similar Documents

Publication Publication Date Title
CN108572613B (zh) 控制装置、信息处理方法
JP6901243B2 (ja) プロセス環境のための制御システムを最適化するためのシステムおよび方法
JP6926539B2 (ja) 制御装置およびプログラム
JP2018133037A (ja) 制御装置
US11144534B2 (en) Control device, time stamp modification method, computer program, and data structure
JP2019159697A (ja) 制御システムおよび制御方法
JP2018173883A (ja) 制御装置、制御プログラム、制御システム、および制御方法
EP3376320A1 (en) Control device
JP7441006B2 (ja) 制御装置、制御プログラム、および制御システム
EP3422214B1 (en) Control system, coupling method, and computer program
JP7102801B2 (ja) 制御システム、制御装置および表示装置
JP6972565B2 (ja) 情報処理装置、情報処理装置の制御方法、および、制御プログラム
US11520302B2 (en) Control system and control device
WO2021199519A1 (ja) 制御装置、プログラムおよび制御方法
JP6793881B1 (ja) 管理装置、管理システム、管理方法及びプログラム
JP6746003B2 (ja) 管理装置、管理方法及びプログラム
WO2022162957A1 (ja) 情報処理装置、制御システムおよびレポート出力方法
JP2023151933A (ja) データ収集装置、制御システム、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221118

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20221118

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20221128

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20221129

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20221223

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240216

R150 Certificate of patent or registration of utility model

Ref document number: 7441006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150