〔実施形態1〕
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図1から図14に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。本実施の形態においては、例えばPLC(Programmable Logic Controller)10をマスタ装置の典型例として説明を行う。本発明の一態様に係るPLC10についての理解を容易にするため、先ず、PLC10を含む制御システム1の概要を、図2を用いて説明する。
§1.適用例
図2は、制御システム1の全体概要を示す図である。図2に示すように、制御システム1は、マスタ装置としてのPLC10と、マスタ装置にネットワークを介して接続される1つ以上のスレーブ装置としてのサーボドライバ30とを含むマスタスレーブ制御システムである。
PLC10は、サーボモータ40などの制御機器を制御するためのユーザプログラムを実行するプログラマブルコントローラであり、下位コントローラとしてのサーボドライバ30に対する上位コントローラである。PLC10は、制御システム1において、ネットワークを介したデータ伝送を管理しているという意味で「マスタ装置」と呼ばれ、一方、サーボドライバ30は「スレーブ装置」と呼ばれる。すなわち、制御システム1は、マスタ装置としてのPLC10と、マスタ装置にネットワークを介して接続される1つ以上のスレーブ装置としてのサーボドライバ30とを含むマスタスレーブ制御システムである。PLC10とサーボドライバ30とをつなぐネットワークとしては、例えば、EtherCAT(登録商標)を使用することができる。
PLC10は、サーボドライバ30に対して、制御指示を制御周期ごとに出力し、また、サーボドライバ30から、サーボモータ40の出力(トルク、速度、および位置など)に係るデータを制御周期ごとに取得する。
サーボドライバ30は、サーボモータ40の制御装置であり、PLC10からの制御指示を制御周期ごとに受信し、受信した制御指示に従ってサーボモータ40を駆動する。また、サーボドライバ30は、サーボモータ40の軸に接続されている位置センサおよびトルクセンサなどから、位置、速度、トルクといったサーボモータ40の出力に係る実測値を取得し、これら実測値に係るデータを制御周期ごとにPLC10に出力する。なお、サーボドライバ30は、サーボモータアンプと称されることもある。
マスタ装置としてのPLC10に接続されるスレーブ装置としては、サーボドライバ30以外にも、各種のデバイス通信管理ユニットなどが含まれ得る。デバイス通信管理ユニットには、デバイス通信ケーブルを介して、1つ以上のデバイスが接続される。デバイス通信管理ユニットに接続されるデバイスは、例えば、センサなどの入力機器であり、または、アクチュエータ(Actuator)などの出力機器である。PLC10は、ネットワークを介してデバイス通信管理ユニットから、デバイス通信管理ユニットに接続される1つ以上のデバイスの各々からの情報(例えば、センサなどのからの検知情報)を取得することができる。
なお、「マスタ装置」および「スレーブ装置」は、ネットワーク上のデータ伝送の制御機能に着目して定義されるものであり、各装置間でどのような情報が送受信されるかについては、特に限定されない。PLC10は、マスタ装置として、サーボドライバ30等のスレーブ装置が出力するデータを、制御周期ごとに取得する。
ここで、「PLC10がサーボドライバ30から制御周期ごとに取得するデータ」は、そのデータの利用目的に応じて、「利用に際しての重要度および必要性」等を示す「優先度」が、高かったり低かったりする。
例えば、「サーボモータ40に異常が発生したか否か、異常が発生した場合にその原因は何か」を検討する際、「異常の発生を示すデータ」および「異常の発生の前後に取得したデータ」は、一般に、利用が必須であり、重要度も高い。したがって、異常発生の有無判定、および、異常発生時の原因究明を利用目的とする場合、「異常の発生を示すデータ」および「異常の発生の前後に取得したデータ」は、「優先度が高い」データである。つまり、「PLC10がサーボドライバ30から制御周期ごとに取得するデータ」を利用して「異常発生の有無および原因」を検討する場合、「異常の発生を示すデータ」および「異常の発生の前後に取得したデータ」の重要度および必要性は、一般に高い。これに対し、「異常の発生の前後ではない時期に取得した、異常の発生を示していないデータ」は、「異常発生の有無および原因」の検討に際して必ずしも必要でも重要でもなく、つまり、優先度が低い。PLC10がサーボドライバ30から取得するデータは、そのデータの利用目的に応じて、「利用が必須であり、利用目的からみて重要性が高い」優先度の高いデータと、「利用が必須ではなく、利用目的からみて重要性が低い」優先度の低いデータと、を含む。
そこで、PLC10は、サーボドライバ30から制御周期ごとに取得するデータについて、そのデータに対する複数の利用目的ごとの優先度(=後述する「評価方式ごとの優先度Pe」)を算出する。そして、PLC10は、算出した複数の優先度を調停する。具体的には、PLC10は、複数の利用目的ごとの優先度を用いて、複数の優先度の全体に対応する優先度である調停済優先度Paを算出する優先度調停処理を実行する。PLC10は、優先度調停処理を実行して算出した調停済優先度Paに従って、サーボドライバ30から制御周期ごとに取得するデータを、データベース20の所定のテーブルに格納する。
データベース20は、ユーザからのアクセスの容易性が互いに異なる複数のテーブルを備えている。「PLC10がサーボドライバ30から制御周期ごとに取得するデータ」は、そのデータの調停済優先度Paに従って、データベース20の複数のテーブルのいずれかに格納される。
(従来までのデータ管理)
サーボモータ40などの生産設備の多様なデータを収集・蓄積する場面において、データベース20の保存領域が不足すると、従来は、古いデータから削除していくことが多かった。例えば、保存が必須ではないとされている特定の種類の、優先度の低いデータについて、古い順に削除していくといった対応がとられていた。
(制御システム1におけるデータ管理)
しかし、前述の通り、残しておきたいデータの種類と優先度とは、データを使う人の立場によって、つまり、データの利用目的によって異なる。そこで、制御システム1では、利用目的によって異なる「データの優先度」を自動的に調停して、調整した「データの優先度(つまり、後述する「調停済優先度Pa」)」に従って、データを管理する。
具体的には、PLC10は、サーボドライバ30から制御周期ごとに取得するデータの各々に、先ず、複数の利用目的ごとの優先度(=「評価方式ごとの優先度Pe」)をリアルタイムに付与する。PLC10は、次に、複数の利用目的ごとの優先度を調停した調停済優先度Paを、制御周期ごとに取得するデータに付与する。そして、PLC10は、この調停済優先度Paに従って、そのデータを、データベース20の備える「ユーザからのアクセスの容易性が互いに異なる複数のテーブル」のいずれかに、格納する。
また、PLC10は、この調停済優先度Paに従って自動的・段階的に、データベース20に格納されているデータについて、「アーカイブ化(=不図示の、長期保存用データベースへのデータ退避)処理」と、「削除処理」と、を実行する。
したがって、制御システム1において、ユーザから参照される可能性の高いデータは、可能な限り直ぐに参照可能な形でデータベース20または長期保存用データベースに格納・保存される。また、PLC10が、複数の利用目的の全体からみた優先度(=調停済優先度Pa)の低い、保存の必要性のないデータを適宜削除することにより、サーボモータ40などの生産設備に係るデータについて、複数の利用目的を考慮しつつ、効率的な管理が実現される。
§2.構成例
(PLCの概要)
これまでに図2を用いて概要を説明してきた制御システム1に含まれるPLC10について、次に、その構成および処理の内容等を、図1等を用いて説明していく。図1を参照して詳細を説明する前に、PLC10についての理解を容易にするため、その概要について以下のように整理しておく。
PLC10(マスタ装置)は、マスタスレーブ制御システムにおけるマスタ装置であって、サーボドライバ30などのスレーブ装置から周期的に取得するデータについて、前記データの複数の利用目的の各々に対応する複数の評価方式の各々を適用して、評価方式ごとの優先度Peを算出する第1算出部102と、第1算出部102により算出された評価方式ごとの優先度Peを用いて、前記複数の評価方式の全体に対応する優先度である調停済優先度Paを算出する第2算出部103と、第2算出部103により算出された前記調停済優先度Paに従って、前記データを、ユーザからのアクセスの容易性が互いに異なる複数の格納先(具体的には、データベース20のデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23)のいずれかに格納する格納部105と、を備える。
前記の構成によれば、PLC10は、サーボドライバ30(スレーブ装置)から周期的に取得するデータについて、前記利用目的に対応する前記評価方式ごとの「優先度Pe」を算出する。PLC10は、算出した「優先度Pe」を用いて、前記評価方式の全体に対応する優先度である調停済優先度Paを算出する。そして、PLC10は、前記データを、調停済優先度Paに従って、データベース20のデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のいずれかに格納する。
PLC10は、前記データの格納先を、前記評価方式の全体に対応する調停済優先度Paに従って決定し、つまり、前記データに対する、前記複数の利用目的の全体からみた優先度を示す調停済優先度Paに従って、前記データの格納先を決定する。例えば、PLC10は、調停済優先度Paが高いデータを、ユーザにとってアクセスが容易な格納先であるデータテーブル(優先度A)21に格納する。例えば、PLC10は、調停済優先度Paが低いデータを、ユーザにとってアクセスの容易性が劣る格納先であるデータテーブル(優先度C)23に格納する。
以上に説明した通り、PLC10は、前記データの複数の利用目的を考慮して、ユーザからのアクセスの容易性が互いに異なるデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のいずれかに、前記データを格納する。したがって、PLC10は、生産設備等に係るデータについて、複数の利用目的を考慮しつつ、効率的な管理を行なうことができるとの効果を奏する。
PLC10において、第1算出部102はさらに、前記データの保存要否を示す情報であるアーカイブ要求Aeを、前記評価方式ごとに算出する。PLC10において、第2算出部はさらに、第1算出部102により算出されたアーカイブ要求Aeを用いて、前記複数の評価方式の全体に対応する保存要否を示す情報である調停済アーカイブ要求Aa(調停済保存要否情報)を算出する。格納部105は、データベース20に格納するデータに、第2算出部103により算出された「調停済優先度Paおよび調停済アーカイブ要求Aa」により決定されるID(=データID、識別情報)を付与する。
前記の構成によれば、PLC10は、サーボドライバ30から周期的に取得するデータについて、前記利用目的に対応する前記評価方式ごとに、アーカイブ要求Aeを算出する。さらに、PLC10は、算出した「評価方式ごとのアーカイブ要求Ae」を用いて、前記評価方式の全体に対応する保存要否を示す情報である調停済アーカイブ要求Aaを算出する。そして、PLC10は、前記調停済優先度Paと調停済アーカイブ要求Aaとにより決定されるIDを、前記データに付与して、データテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のいずれかに格納する。
つまり、PLC10は、複数の前記利用目的の全体に対応する優先度である前記調停済優先度Paと、複数の前記利用目的の全体に対応する保存要否を示す情報である調停済アーカイブ要求Aaと、に対応するIDを、前記データに付与する。
したがって、PLC10は、生産設備等に係るデータに、そのデータに対する複数の利用目的ごとの優先度および保存要否の全体を考慮した情報であるIDを付与して管理することで、そのデータを効率的に管理することができるとの効果を奏する。
PLC10は、データベース20に格納されている前記データの合計量が所定の警告量以上となると、データベース20に格納されている前記データの合計量が、前記所定の警告量よりも小さな値である目標量以下になるまで、データベース20に格納されている前記データであって、調停済アーカイブ要求Aaにおいて保存要否が否であるデータを、調停済優先度Paの低いデータから順に削除する容量制御部106をさらに備えてもよい。
前記の構成によれば、PLC10は、データベース20に格納されている前記データの合計量が所定の警告量以上となると、データベース20に格納されている前記データの合計量が、前記目標量以下になるまで、データベース20に格納されているデータであって、調停済アーカイブ要求Aaにおいて保存要否が否であるデータを、調停済優先度Paの低いデータから順に削除する。つまり、PLC10は、複数の前記利用目的の全体を考慮して保存が不要とされる前記データを、複数の前記利用目的の全体を考慮して優先度が低いとされる順に削除する。
したがって、PLC10は、複数の前記利用目的の全体からみて優先度が高く、かつ、複数の前記利用目的の全体からみて保存が必要とされる前記データが削除されないようにして、格納されているデータの合計量を調整することができるとの効果を奏する。
PLC10において、前記複数の評価方式には、連続する所定数の周期において取得する、前記所定数のデータを用いる評価方式である時系列評価方式が含まれており、PLC10は、前記所定数のデータの各々を格納する、前記所定数の評価用バッファ111をさらに備えてもよい。
前記の構成によれば、PLC10において、前記複数の評価方式には、連続する所定数の周期において取得する、前記所定数のデータを用いる評価方式である時系列評価方式が含まれている。傾向評価方式の一例としては、「n」を「2以上の整数」として、連続するn周期の各々において取得するn個のデータにおける所定のパラメータが、全て所定の基準を満たすかを判定する評価方式を挙げることができる。そして、PLC10は、前記所定数のデータの各々を格納する、前記所定数の評価用バッファ111を備えている。
したがって、PLC10は、前記所定数のデータの各々を評価用バッファ111の各々に格納することにより、前記時系列評価方式を適用した場合の優先度Peを、前記所定数のデータについて算出できるとの効果を奏する。
PLC10において、第2算出部103は、(1)全ての前記評価方式について、第1算出部102により算出された「評価方式ごとの優先度Pe」を示す値に、「評価方式ごとの重み付け係数」を乗じた値の和、または、(2)第1算出部102により算出された「評価方式ごとの優先度Pe」の中で、最も高い優先度Peを用いて、調停済優先度Paを算出してもよい。
前記の構成によれば、PLC10は、例えば、(1)「『評価方式ごとの優先度Pe』を示す値に、『評価方式ごとの重み付け係数』を乗じた値」の、全ての前記評価方式分の和を用いて、調停済優先度Paを算出する。または、PLC10は、例えば、(2)「『評価方式ごとの優先度Pe』の中で最も高い『優先度Pe』」を、調停済優先度Paとして算出する。
したがって、PLC10は、例えば、(1)複数の利用目的の各々の重要性を、「評価方式ごとの重み付け係数」の値に反映させつつ、複数の利用目的の全体からみた前記データの優先度である調停済優先度Paを算出することができるとの効果を奏する。また、PLC10は、例えば、(2)複数の利用目的の各々からみた前記データに対する優先度のうち、最も高い優先度を、複数の利用目的の全体からみた前記データの優先度である調停済優先度Paとして算出することができるとの効果を奏する。
(PLC等の詳細)
図1は、PLC10およびデータベース20の要部構成を示すブロック図である。図1に示すPLC10は、取得部101、第1算出部102、第2算出部103、ID決定部104、格納部105、容量制御部106、および、記憶部107を備える構成である。なお、記載の簡潔性を担保するため、本実施の形態に直接関係のない構成は、説明およびブロック図から省略している。ただし、実施の実情に則して、PLC10は、当該省略された構成を備えてもよい。上述の取得部101、第1算出部102、第2算出部103、ID決定部104、格納部105、および、容量制御部106などの各機能ブロックは、例えば、CPU(central processing unit)などが、ROM(read only memory)、NVRAM(non-Volatile random access memory)等で実現された記憶装置(記憶部107)に記憶されているプログラムを不図示のRAM(random access memory)等に読み出して実行することで実現できる。以下、PLC10における各機能ブロックについて説明する。
(PLCの記憶部以外の機能ブロック)
取得部101は、サーボドライバ30などのスレーブ装置から、スレーブ装置の出力するデータを制御周期ごとに取得し、取得したデータを、評価用バッファ111に格納する。取得部101は、制御周期ごとに取得するデータを順次、例えばFIFO(First In First Out、先入れ先出し)方式で、評価用バッファ111のn個のバッファに格納する。なお、「n」は「2以上の整数」とする。
ただし、取得部101は、以下の場合には、制御周期ごとに取得したデータを評価用バッファ111に格納せずに、直接、第1算出部102に出力してもよい。すなわち、評価方法テーブル112に格納されている評価方式の中に「複数の連続するn個の制御周期の各々において取得したデータの全体」を用いるものが無い場合、取得部101は、取得したデータを、評価用バッファ111に格納しなくともよい。「複数の連続するn個の制御周期の各々において取得したデータの全体」を用いる評価方式が無い場合、評価用バッファ111は不要となり、取得部101は、制御周期ごとに取得したデータを、第1算出部102に直接出力すればよい。
第1算出部102は、評価用バッファ111に格納されているデータ(=スレーブ装置から制御周期ごとに取得したデータ)について、評価方式ごとの「優先度Pe」および「アーカイブ要求Ae」を算出する。
すなわち、第1算出部102は、評価用バッファ111に格納されているデータに対し、評価方法テーブル112に格納されている複数の評価方式の各々を適用して、「評価方式ごとの優先度Pe」を算出する。「優先度Pe」は、評価方式ごとの、そのデータの利用価値の大きさを示す情報であり、利用に際しての必要性(=利用に際して必須であるか)、および、重要性(=そのデータが、他のデータに比べて、利用に際してどの程度重要であるか)等を示す情報である。例えば、データを用いて何らかの検討を行なう際、検討結果の正確性などに及ぼす影響が、他のデータに比べて大きいデータは、利用の際しての重要性が高いデータであり、優先度Peが高く設定される。制御システム1において、「優先度Pe」は「A/B/C」の3段階であり、Aが「最高」であり、Cが「最低」である。
第1算出部102は、評価方式ごとに、「評価用バッファ111に格納されている、評価方式ごとの所定の周期分のデータ」に対して、優先度Peを算出する。例えば、或る評価方式fxが連続するn周期分のデータを用いる場合、第1算出部102は、評価用バッファ111に格納された「連続するn周期分のデータ」に、評価方式fxを適用して、その「連続するn周期分のデータ」の優先度Pe(fx)を算出する。
第1算出部102は、評価用バッファ111に格納されているデータについて算出した「評価方式ごとの優先度Pe」を、つまり、スレーブ装置から制御周期ごとに取得したデータに対する「評価方式ごとの優先度Pe」を、第1算出値テーブル113に格納する。
なお、以下の説明において、「評価方式ごとの優先度Pe」について、「複数の評価方式のうち、どの評価方式に対応する優先度であるのか」を示す場合には、「Pe」の後ろにカッコして評価方式を識別する情報を付加する。例えば、「優先度Pe(オペレータ)」は、オペレータの評価方式を適用して算出された優先度を示しており、「優先度Pe(管理者)」は、管理者の評価方式を適用して算出された優先度を示している。同様に、「優先度Pe(保全者)」は、保全者の評価方式を適用して算出された優先度を示しており、「優先度Pe(解析者)」は、解析者の評価方式を適用して算出された優先度を示している。「優先度Pe」に評価方式を識別する情報が付加されていない場合には、「どの評価方式に対応するのか」を特に区別せずに、単に「評価方式ごとの優先度」を示すものとする。
また、第1算出部102は、評価用バッファ111に格納されているデータに対し、評価方法テーブル112に格納されている複数の評価方式の各々を適用して、「評価方式ごとのアーカイブ要求Ae」を算出する。「アーカイブ要求Ae」は、評価方式ごとの、そのデータの保存(特に、長期保存)の要否(有無)を示す情報であり、制御システム1において、「アーカイブ要求Ae」は「有(アーカイブ化が必要)」または「無(アーカイブ化が不要)」である。第1算出部102は、評価用バッファ111に格納されているデータについて算出した「評価方式ごとのアーカイブ要求Ae」を、つまり、スレーブ装置から制御周期ごとに取得したデータに対する「評価方式ごとのアーカイブ要求Ae」を、第1算出値テーブル113に格納する。
なお、「評価方式ごとのアーカイブ要求Ae」について、「評価方式ごとの優先度Pe」と同様に、「複数の評価方式のうち、どの評価方式に対応するアーカイブ要求Aeであるのか」を示す場合、「Ae」の後ろにカッコして評価方式を識別する情報を付加する。
第2算出部103は、「評価方式ごとの優先度Pe」を用いて、複数の評価方式の全体に対応する優先度である調停済優先度Paを算出する。また、第2算出部103は、「評価方式ごとのアーカイブ要求Ae」を用いて、複数の評価方式の全体に対応するアーカイブ要求である調停済アーカイブ要求Aaを算出する。
すなわち、第2算出部103は、評価用バッファ111に格納されているデータ(=スレーブ装置から制御周期ごとに取得したデータ)について、第1算出値テーブル113に格納されている「評価方式ごとの優先度Pe」から、調停済優先度Paを算出する。例えば、第2算出部103は、複数の「評価方式ごとの優先度Pe」を用いて、選択されているモード毎に、スコアテーブル114、係数テーブル115、および、調停テーブル116を参照して、調停済優先度Paを算出する。調停済優先度Paは、優先度Peと同様に、「A/B/C」の3段階であり、Aが「最高」であり、Cが「最低」である。
また、第2算出部103は、評価用バッファ111に格納されているデータ(=スレーブ装置から制御周期ごとに取得したデータ)について、「評価方式ごとのアーカイブ要求Ae」から、調停済アーカイブ要求Aaを算出する。例えば、第2算出部103は、複数の「評価方式ごとのアーカイブ要求Ae」を用いて、選択されているモード毎に、スコアテーブル114、係数テーブル115、および、調停テーブル116を参照して、調停済アーカイブ要求Aaを算出する。調停済アーカイブ要求Aaは、アーカイブ要求Aeと同様に、「有(アーカイブ化が必要)」または「無(アーカイブ化が不要)」である。
第2算出部103による調停済優先度Paおよび調停済アーカイブ要求Aaの算出処理(調停ルーチンS200)について、詳細は図7および図8を用いて後述する。第2算出部103は、評価用バッファ111に格納されているデータについて算出した「調停済優先度Paおよび調停済アーカイブ要求Aa」を、ID決定部104に通知する。つまり、第2算出部103は、「スレーブ装置から制御周期ごとに取得したデータ」に対する「調停済優先度Paおよび調停済アーカイブ要求Aa」を、ID決定部104に通知する。
ID決定部104は、評価用バッファ111に格納されているデータ(=スレーブ装置から制御周期ごとに取得したデータ)の「調停済優先度Paおよび調停済アーカイブ要求Aa」に対応する識別情報(=ID)を、優先度テーブル117を参照して、決定する。ID決定部104は、決定したIDを、格納部105に通知する。
格納部105は、ID決定部104から通知されたID(「データID」とも称する)を、評価用バッファ111に格納されているデータ(=スレーブ装置から制御周期ごとに取得したデータ)に付与する。そして、格納部105は、IDを付与したデータを、そのデータの調停済優先度Paに従って、データベース20のデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のいずれかに格納する。
容量制御部106は、データベース20に格納されているデータの容量を、データベース20から取得し、取得した容量が、所定の警告量よりも多くなっているかを判定する。容量制御部106は、データベース20から、データベース20に格納されているデータの容量が、所定の警告量よりも多くなっているかを示す情報を取得してもよい。
容量制御部106は、「データベース20に格納されているデータの容量が、所定の警告量よりも多くなっている」と判定すると、データの「アーカイブ化(=不図示の、長期保存用データベースへのデータ退避)処理」または「削除処理」を実行する。具体的には、容量制御部106は、データベース20に格納されているデータの合計量が、目標量以下になるまで、データベース20に格納されているデータについて、調停済優先度Paが低いデータから順に、アーカイブ化処理または削除処理を実行する。容量制御部106は、データテーブル(優先度C)23、データテーブル(優先度B)22、データテーブル(優先度A)21の順に、格納されているデータの調停済アーカイブ要求Aaに従って、アーカイブ化処理または削除処理を実行する。容量制御部106が実行するアーカイブ化処理と削除処理とを併せて「容量制御ルーチン」と称し、容量制御部106による容量制御ルーチンについて、詳細は図9を用いて後述する。
(PLCの記憶部)
記憶部107は、PLC10が使用する各種データを格納する記憶装置である。なお、記憶部107は、PLC10が実行する(1)制御プログラム、(2)OSプログラム、(3)PLC10が有する各種機能を実行するためのアプリケーションプログラム、および、(4)該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶してもよい。上記の(1)〜(4)のデータは、例えば、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶される。
PLC10は、図示しない一時記憶部を備えていてもよい。一時記憶部は、PLC10が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、RAM(Random Access Memory)などの揮発性記憶装置で構成される。
どのデータをどの記憶装置に記憶するのかについては、PLC10の使用目的、利便性、コスト、または、物理的な制約などから適宜決定される。記憶部107はさらに、評価用バッファ111、評価方法テーブル112、第1算出値テーブル113、スコアテーブル114、係数テーブル115、調停テーブル116、および、優先度テーブル117を格納している。
評価用バッファ111は、評価用第1バッファ111(1)、評価用第2バッファ111(2)、評価用第3バッファ111(3)、・・・評価用第nバッファ111(n)のn個のバッファを含んでいる。評価用第1バッファ111(1)から評価用第nバッファ111(n)までのn個のバッファの各々には、取得部101が連続するn個の制御周期の各々において取得したデータが、例えばFIFO(First In First Out、先入れ先出し)方式で、格納される。
評価方法テーブル112には、取得部101が取得するデータに対する、「複数の利用目的」の各々に対応する「複数の評価方式(以下、「評価ルーチン」と称することもある)」が格納されている。評価方法テーブル112に格納される複数の評価方式の各々は、オペレータ、管理者、保全者、および、解析者といった、「スレーブ装置の出力するデータ」に対する、複数の利用者・ユーザの各々の利用目的に対応するものである。評価方法テーブル112に格納されるデータについて、詳細は図6を用いて後述する。
第1算出値テーブル113には、第1算出部102によって、評価用バッファ111に格納されているデータ(=スレーブ装置から制御周期ごとに取得したデータ)の「評価方式ごとの優先度Pe」および「評価方式ごとのアーカイブ要求Ae」が格納される。
例えば、第1算出値テーブル113には、「評価方式ごとの優先度Pe」である優先度Pe(オペレータ)、優先度Pe(管理者)、優先度Pe(保全者)、および、優先度Pe(解析者)が格納される。また、第1算出値テーブル113には、「評価方式ごとのアーカイブ要求Ae」であるアーカイブ要求Ae(オペレータ)、アーカイブ要求Ae(管理者)、アーカイブ要求Ae(保全者)、および、アーカイブ要求Ae(解析者)が格納される。
スコアテーブル114は、優先度スコアテーブル114Pと、アーカイブ要求スコアテーブル114Aと、を含む。優先度スコアテーブル114Pは、「評価方式ごとの優先度Pe」と、数値である「スコア(優先度スコア)」と、を対応付けて格納しており、図7には、優先度スコアテーブル114Pの一例が図示されている。アーカイブ要求スコアテーブル114Aは、「評価方式ごとのアーカイブ要求Ae」と、数値である「スコア(アーカイブ要求スコア)」と、を対応付けて格納しており、図7には、アーカイブ要求スコアテーブル114Aの一例が図示されている。
係数テーブル115は、評価方式(評価ルーチン)ごとの係数(重みづけ係数)を定義しており、図7には、係数テーブル115の一例が図示されている。係数テーブル115に格納されている「評価方式ごとの係数」は、ユーザにより変更可能であってもよい。
調停テーブル116は、優先度調停テーブル116Pと、アーカイブ要求調停テーブル116Aと、を含む。優先度調停テーブル116Pは、数値である「優先度調停スコア」と、「調停済優先度Pa」と、を対応付けて格納しており、図7には、優先度調停テーブル116Pの一例が図示されている。アーカイブ要求調停テーブル116Aは、数値である「アーカイブ要求調停スコア」と、「調停済アーカイブ要求Aa」と、を対応付けて格納しており、図7には、アーカイブ要求調停テーブル116Aの一例が図示されている。
優先度テーブル117は、「調停済優先度Pa」と「調停済アーカイブ要求Aa」との組合せに対応する「識別情報(データID)」を定義しており、図3には、優先度テーブル117の一例が図示されている。
(データベースの詳細)
図1に示すデータベース20は、ユーザからのアクセスの容易性が互いに異なるデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23を備える。データベース20においては、例えば、以下に説明する仕組みにより、「優先度が高いデータに対して、ユーザがより速くアクセスすることが可能なデータ構造」が実現されている。
すなわち、一般に、テーブル上のデータ件数が少ないほど、データベースへのクエリ処理は速くなる。ここで、「優先度が高い状況」とは、「異常など、何らかの事象が一時的に発生した状況」であることから、データ件数について一般に、下記の状態となる。つまり、「(優先度が高いデータの件数)<(優先度が低いデータの件数)」となる。
よって、PLC10は、データベース20において「データの保存領域を、優先度により分離する」ことによって、データベース20について、「優先度が高いデータほど、ユーザがより速くアクセスすることができる」データ構造を実現している。つまり、データベース20において、データの保存領域は、優先度によって、データテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23に分けられている。そして、優先度が高いデータが格納されるテーブルほど、格納しているデータ件数は少なくなり、また、格納しているデータ件数が少ないテーブルほど、ユーザからのアクセスを高速化することができる。したがって、PLC10は、データベース20において、データの優先度(具体的には、調停済優先度Pa)によってデータの保存領域を区別することで、「優先度が高いデータほど、ユーザがより速くアクセスすることができる」データ構造を実現している。
ただし、データベース20におけるデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のアクセスの容易性の違いを実現する方法は、上述の方法に限られるものではない。データベース20においては、優先度の高いデータほどユーザからのアクセス容易性が高くなるように、既知の任意のデータ構造、データ管理手法(例えば、インデックスの付与など)等が採用されてもよい。
データテーブル(優先度A)21には、調停済優先度Paが最も高い「A」であるデータが格納される。データテーブル(優先度A)21は、データテーブル(優先度B)22、および、データテーブル(優先度C)23よりも、ユーザにとってアクセスが容易である。
前述の通り、「優先度が高い状況」とは、「異常など、何らかの事象が一時的に発生した状況」であり、「(優先度が高いデータの件数)<(優先度が低いデータの件数)」となる。したがって、一般に、「データテーブル(優先度A)21に格納されているデータの件数は、データテーブル(優先度B)22またはデータテーブル(優先度C)23に格納されているデータの件数よりも少ない」状態となる。つまり、ユーザは、データテーブル(優先度B)22、または、データテーブル(優先度C)23に格納されるデータに比べて、データテーブル(優先度A)21に格納されるデータに、より容易に、より早く、アクセスすることができる。
データテーブル(優先度B)22には、調停済優先度Paが「B」であるデータが格納される。前述の通り、「B」は「A」よりも低いが、「C」よりも高い。データテーブル(優先度B)22は、ユーザにとって、データテーブル(優先度A)21よりもアクセスが困難だが、データテーブル(優先度C)23よりもアクセスが容易である。
前述の通り、一般に、「データテーブル(優先度B)22に格納されているデータの件数は、データテーブル(優先度C)23に格納されているデータの件数よりも少ない」状態となる。つまり、ユーザは、データテーブル(優先度C)23に格納されるデータに比べて、データテーブル(優先度B)22に格納されるデータに、より容易に、より早く、アクセスすることができる。
データテーブル(優先度C)23には、調停済優先度Paが最も低い「C」であるデータが格納される。前述の通り、一般に、「データテーブル(優先度C)23に格納されているデータの件数は、データテーブル(優先度A)21またはデータテーブル(優先度B)22に格納されているデータの件数よりも多い」状態となる。したがって、データテーブル(優先度C)23は、データテーブル(優先度A)21、および、データテーブル(優先度B)22よりも、ユーザにとってアクセスが困難である。
§3.動作例
図3は、データに対する各ユーザの利用目的とPLC10との関係を説明する図である。図3に示すように、データに対する優先度は、そのデータの利用目的によって異なり、利用目的はユーザにより様々である。例えば、オペレータであれば、「現場異常」の発生有無の判定を、データの主たる利用目的とするかもしれないし、ライン管理者であれば、「生産性および生産物の品質」の判定を、データの主たる利用目的とするかもしれない。
また、保全担当者であれば、「異常の兆候、および、バスタブ曲線」の判定を、データの主たる利用目的とするかもしれないし、特に、「保全作業前後」の時期に取得したデータへの関心が高いかもしれない。解析担当者であれば、「良/不良まんべんなく」取得する、定時性の(つまり、所定期間ごとに取得した)データへの関心が高いかもしれず、例えば、四季ごとに取得するデータへの関心が高いかもしれない。
データに対する優先度は、利用目的ごとに異なるため、同じデータに対する、或る利用目的からみた優先度と、その或る利用目的とは別の利用目的からみた優先度とは、矛盾したり、衝突したりすることがあり得る。例えば、或る利用目的にとっては優先度が低く、削除しても構わないデータが、その或る利用目的とは別の利用目的にとっては、必須の、極めて優先度の高いデータであるかもしれない。
そこで、PLC10は、データ(制御周期ごとに取得するデータ)に対する、これら複数の「利用目的ごとの優先度(=評価方式ごとの優先度Pe)」を自動調停し、「調停した優先度(=調停済優先度Pa)」を、そのデータに付与する。そして、PLC10は、「調停した優先度」に基づいて、そのデータを、データベース20のデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のいずれかに格納する。
(PLCの実行する処理の全体概要)
図4は、PLC10が実行する処理の概要を説明する図である。図4に示すように、PLC10は、スレーブ装置から取得したデータについて、評価ルーチンS100、調停ルーチンS200、および、格納ルーチンS300を、定周期(例えば、100ms)で実行する。
(評価ルーチンの概要)
評価ルーチンS100は、第1算出部102によって実行され、サーボドライバ30などのスレーブ装置から制御周期(例えば、100ms)ごとに取得したデータについて、利用目的ごとの優先度(=評価方式ごとの優先度Pe)を算出する。また、評価ルーチンS100において、サーボドライバ30などのスレーブ装置から制御周期ごとに取得されたデータには、利用目的ごとのアーカイブ要求(=評価方式ごとのアーカイブ要求Ae)が算出される。
評価ルーチンS100は、人(ユーザ)の判断をプログラムロジック化したものであり、図3に例示した複数のユーザの各々のデータ利用目的の各々に対応する複数の評価方式を含んでいる。すなわち、制御システム1では、ユーザとして、オペレータ、管理者、保全者、および、解析者を想定する。これに合わせて、第1算出部102が実行する評価ルーチンS100は、上記複数のユーザの各々の利用目的に対応する評価方式として、オペレータルーチン、管理者ルーチン、保全者ルーチン、および、解析者ルーチンを含んでいる。
具体的には、オペレータルーチンは、「現場異常」への関心が高いオペレータのデータ利用目的に対応し、例えば、「異常指標値」に係るデータの優先度を高く設定し、「異常指標値」に係るデータについて、「アーカイブ要求:有」を設定する。管理者ルーチンは、「生産性および生産物の品質」への関心が高い管理者のデータ利用目的に対応する。管理者ルーチンは、例えば、「生産性指標値および品質指標値」に係るデータの優先度を高く設定し、「生産性指標値および品質指標値」に係るデータについて、「アーカイブ要求:有」を設定する。保全者ルーチンは、「異常の兆候、および、バスタブ曲線」への関心が高い保全担当者のデータ利用目的に対応する。保全者ルーチンは、例えば、「稼働時間および負荷指標値」に係るデータの優先度を高く設定し、「稼働時間および負荷指標値」に係るデータについて、「アーカイブ要求:有」を設定する。解析者ルーチンは、「良/不良まんべんなく」、定時的に(例えば、四季ごとに)データを取得しようとする解析担当者のデータ利用目的に対応し、例えば、「稼働時間/日時」および「解析値」に従って、データの優先度およびアーカイブ要求を設定する。
ここで、評価ルーチンS100の中には、連続する複数の制御周期の各々で取得したデータの全てを用いて、特定の傾向などを判定しようとする評価方式(以下、「時系列評価方式」ともいう)が含まれる。例えば、保全者ルーチンは、保全担当者の「異常の兆候」の発見という利用目的に対応して、連続するn周期分のデータについて、各データの所定のパラメータが全て所定値(例えば、予兆監視しきい値)を超えると、そのn周期分のデータの優先度を高く設定する。
そこで、PLC10は、評価用第1バッファ111(1)から評価用第nバッファ111(n)までのn個のバッファを備えている。PLC10は、連続する制御周期の各々において取得したデータを、例えばFIFO(First In First Out、先入れ先出し)方式で、n個のバッファに順次格納する。そして、PLC10は、連続するn周期分のデータを用いる時系列評価方式を、評価用第1バッファ111(1)から評価用第nバッファ111(n)までのn個のバッファに格納されているデータに対して、例えば制御周期ごとに実行し、その優先度を算出する。つまり、PLC10は、優先度判定をリアルタイムに(例えば、制御周期ごとに、または、制御周期のn倍の周期で)実行するとともに、バッファを経由させることによって、連続する複数の周期の各々において取得したデータに、時間を遡って優先度を付与する。
例えば、時系列評価方式fyが、「連続するn周期分のデータについて、各データの所定のパラメータが全て所定値を超えると、それらのデータの優先度を高く設定する」場合、PLC10は、時系列評価方式fyの優先度Pe(fy)を、以下のように算出する。すなわち、「m」を「1以上の整数」として、PLC10は、「m」周期目から「m+n−1」周期目までの各々の制御周期に取得したデータに対し、「m+n−1」周期目の制御周期において、時系列評価方式fyを適用する。そして、PLC10は、時系列評価方式fyを適用することによって算出した「時系列評価方式fyの優先度Pe(fy)」を、「m」周期目から「m+n−1」周期目までに取得したn個のデータの各々に付与する。
PLC10は、「m」周期目の制御周期に取得したデータ単体に対しては、時系列評価方式fyを正しく適用することはできない。また、「m−n+1」周期目から「m」周期目までの各々の制御周期に取得したデータについて、PLC10は、「m」周期目の制御周期において、時系列評価方式fyを適用する。そして、PLC10は、それらのデータにおける前記所定のパラメータが1つでも前記所定値以下であると、「m−n+1」周期目の制御周期において取得したデータの優先度Pe(fy)を「CまたはB(つまり、低い)」に設定する。
これに対し、「m」周期目から「m+n−1」周期目までの各々の制御周期に取得したデータにおける前記所定のパラメータが全て所定値を超えていると判定すると、PLC10は、それらのデータの優先度Pe(fy)を「A(つまり、高い)」に設定する。より正確には、PLC10は、「m+n−1」周期目の制御周期において、「m」周期目から「m+n−1」周期目までの各々の制御周期に取得したデータの全てについて、優先度Pe(fy)を「A(つまり、高い)」に設定する。つまり、PLC10は、「m+n−1」周期目の制御周期において、「m+n−1」周期目の制御周期よりも前の制御周期において取得したデータについて時系列評価方式fyを適用し、それらのデータについて適切な優先度Pe(fy)を付与する。
したがって、PLC10は、リアルタイムに評価ルーチンS100を実施するとともに、評価ルーチンS100を実施する制御周期よりも前の制御周期に取得したデータについて、時間を遡って、適切な優先度を付与することができる。
また、評価ルーチンS100は、時系列評価方式ではない評価方式、つまり、制御周期ごとのデータ単体に対して優先度を算出する評価方式(以下、「瞬時評価方式」ともいう)を含む。瞬時評価方式は、連続する複数の制御周期の各々において取得したデータ(つまり、複数個のデータ)ではなく、或る制御周期において取得したデータ(つまり、1個のデータ)を用いて、その単一のデータの優先度Peおよびアーカイブ要求Aeを算出する。時系列評価方式は、複数周期分のデータを用いて、それら複数周期分のデータの「優先度Peおよびアーカイブ要求Ae」を算出する。これに対し、瞬時評価方式は、1周期分のデータを用いて、その1周期分のデータの「優先度Peおよびアーカイブ要求Ae」を算出する。
PLC10は、或る制御周期において取得したデータについて、その或る制御周期内で、瞬時評価方式である評価ルーチンS100、調停ルーチンS200、および、格納ルーチンS300を、実行する。つまり、PLC10は、制御周期ごとに、データ取得、瞬時評価方式を適用した「優先度Peおよびアーカイブ要求Ae」の算出、「調停済優先度Paおよび調停済アーカイブ要求Aa」の算出、データベース20への格納を実行する。
(マニュアル指示の受付)
PLC10は、オペレータルーチン、管理者ルーチン、保全者ルーチン、および、解析者ルーチンといった評価ルーチンS100を定周期で実行するのに加えて、さらに、以下の処理を実行する。すなわち、PLC10は、「品質検査、保全作業、および、実験」等のためのデータ取得を指示するユーザ操作(=マニュアル指示)を、不定期に受け付ける。
(調停ルーチンの概要)
調停ルーチンS200は、第2算出部103によって実行され、サーボドライバ30などのスレーブ装置から制御周期ごとに取得したデータについて、利用目的の全体に対応する優先度(=調停済優先度Pa)を算出する。また、調停ルーチンS200において、サーボドライバ30などのスレーブ装置から制御周期ごとに取得されたデータには、利用目的の全体に対応するアーカイブ要求(=調停済アーカイブ要求Aa)が算出される。つまり、調停ルーチンS200は、評価方式ごとの優先度Peを調停する。
(格納ルーチンの概要)
格納ルーチンS300は、格納部105によって実行され、サーボドライバ30などのスレーブ装置から制御周期ごとに取得したデータについて、調停済優先度Paに基づいて、データベース20に格納する。つまり、格納ルーチンS300は、調停済優先度Paに基づいて、データを、データベース20のデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のいずれかに格納する。
以上に説明した通り、PLC10は、ユーザによる「データの優先度」に係る判断をプログラムロジック化した評価ルーチンS100によって、データの利用目的ごとの(つまり、評価方式ごとの)優先度を算出する(評価ルーチンS100)。そして、PLC10は、複数の「利用目的ごとの優先度」を調停する(調停ルーチンS200)。PLC10は、調停結果に基づいて、データをデータベース20に格納する(格納ルーチンS300)。
これまで図4を用いて説明してきた「PLC10が実行する処理」の全体は、以下のように整理することができる。すなわち、「PLC10が実行する処理(制御方法)」は、マスタスレーブ制御システムにおけるマスタ装置の制御方法であって、サーボドライバ30などのスレーブ装置から周期的に取得するデータについて、前記データの複数の利用目的の各々に対応する複数の評価方式の各々を適用して、評価方式ごとの優先度Peを算出する第1算出ステップ(評価ルーチンS100)と、前記第1算出ステップにて算出された前記評価方式ごとの優先度Peを用いて、前記複数の評価方式の全体に対応する優先度である調停済優先度Paを算出する第2算出ステップ(調停ルーチンS200)と、前記第2算出ステップにて算出された前記調停済優先度Paに従って、前記データを、ユーザにとってのアクセスの容易性が互いに異なる複数の格納先のいずれかに格納する格納ステップ(格納ルーチンS300)と、を含む。
前記の構成によれば、「PLC10が実行する処理」は、サーボドライバ30などのスレーブ装置から周期的に取得するデータについて、先ず、前記利用目的に対応する前記評価方式ごとの優先度Peを算出する。そして、「PLC10が実行する処理」は、算出した優先度Peを用いて、前記評価方式の全体に対応する優先度である調停済優先度Paを算出する。「PLC10が実行する処理」は、前記データを、調停済優先度Paに従って、ユーザからのアクセスの容易性が互いに異なる複数の格納先のいずれかに格納する。具体的には、データベース20のデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のいずれかに格納する。
「PLC10が実行する処理」は、前記データの格納先を、前記評価方式の全体に対応する調停済優先度Paに従って決定し、つまり、前記データに対する、前記複数の利用目的の全体からみた優先度を示す調停済優先度Paに従って、前記データの格納先を決定する。例えば、「PLC10が実行する処理」は、調停済優先度Paが高いデータを、ユーザにとってアクセスが容易なデータテーブル(優先度A)21に格納する。また、「PLC10が実行する処理」は、調停済優先度Paが低いデータを、ユーザにとってアクセスの容易性が劣るデータテーブル(優先度C)23に格納する。
以上に説明した通り、「PLC10が実行する処理」は、前記データの複数の利用目的を考慮して、ユーザからのアクセスの容易性が互いに異なるデータテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のいずれかに、前記データを格納する。したがって、前記制御方法は、生産設備等に係るデータについて、複数の利用目的を考慮しつつ、効率的な管理を行なうことができるとの効果を奏する。
(格納ルーチン)
図5は、PLC10が実行する格納ルーチンS300の概要を説明する図である。図5に示すように、先ず、PLC10のID決定部104が、「調停済優先度Paおよび調停済アーカイブ要求Aa」に対応する識別情報(=ID、データID)を、優先度テーブル117を参照して、決定する。格納部105は、「ID決定部104により決定されたID」を付与したデータを、そのデータの調停済優先度Paに従って、データテーブル(優先度A)21、データテーブル(優先度B)22、および、データテーブル(優先度C)23のいずれかに格納する。
(評価ルーチン)
図6は、PLC10が評価ルーチンS100において実行する複数のルーチン(=評価方式)等の概要を説明する図である。特に、図6には、評価方法テーブル112に格納されている「複数の評価方式(=複数のルーチン)」の各々について、「優先度Peを高くする」タイミングの具体例が示されている。評価方法テーブル112に格納されている「複数の評価方式」の各々は、図6に例示されている各ルーチンに対応する。つまり、PLC10が評価ルーチンS100において実行する各ルーチンは、複数の担当者(ユーザ)による「データの優先度」についての判断の各々に対応するものであり、図6の(A)には、各ルーチンが優先度を上げる状況例が示されている。
図6の(A)に示すように、オペレータルーチンは、瞬時値データ(1時点での、つまり、1制御周期分のデータ)が「異常しきい値を超えた」と判定すると、その瞬時値データについて、「優先度Pe(オペレータ):A(つまり、高い)」を算出する。
管理者ルーチンは、時系列データ(所定の傾向を判定するための、連続する複数の制御周期の各々で取得したデータの全体)について、「生産性指標値の低下」が発生したと判定すると、その時系列データについて、「優先度Pe(管理者):A」を算出する。「生産性指標値の低下」は、例えば、「ロット当たりの生産時間」などを用いて判定する。また、管理者ルーチンは、瞬時値データについて、「品質指標値の低下(例えば、部品寸法が規格外など)」が発生したと判定すると、その瞬時値データについて、「優先度Pe(管理者):A」を算出する。さらに、管理者ルーチンは、時系列データについて、「品質指標値の低下(良品率の低下など)」が発生したと判定すると、その時系列データについて、「優先度Pe(管理者):A」を算出する。
保全者ルーチンは、時系列データについて、「指標値が管理範囲の限界に近づいた(トラブルの予兆がある)」と判定すると、その時系列データについて、「優先度Pe(保全者):A」を算出する。また、保全者ルーチンは、「設備稼働初期(バスタブ曲線の開始)」における瞬時値データについて、「優先度Pe(保全者):A」を算出する。「設備稼働初期」であるか否かは、例えば、そのデータを取得した日付および時刻などから判断する。さらに、保全者ルーチンは、時系列データについて、「予兆検出の頻度が増えた(つまり、バスタブ曲線の終わりに近づいている)」と判定すると、その時系列データについて、「優先度Pe(保全者):A」を算出する。
解析者ルーチンは、「良いとき、不良のとき、まんべんなく」、所定のタイミングで、時系列データの優先度Pe(解析者)を「A」に上げる。解析者ルーチンは、例えば、「前回、優先度Pe(解析者)を『A』に上げた」日時を記憶しておき、その日時から所定期間経過すると、所定期間経過時後の時系列データの優先度Pe(解析者)を「A」に上げる。また、解析者ルーチンは、定期的に(例えば、1ヶ月ごと、または、春/夏/秋/冬に1回など)、時系列データの優先度Pe(解析者)を「A」に上げてもよい。
図6の(B)には、PLC10がマニュアル指示(=ユーザからの、データ取得またはデータ保存の指示)を受け付けて、マニュアル指示を受け付けた時点におけるデータの優先度を上げる例が示されている。「保全作業の前後」の期間において、PLC10はマニュアル指示を受け付けると、その「保全のタイミング」でのデータの優先度Pe(マニュアル指示)を「A」に上げる。同様に「抜き取り品質検査をした」時点において、PLC10はマニュアル指示を受け付けると、その「検査のタイミング」でのデータの優先度Pe(マニュアル指示)を「A」に上げる。また、「解析のための実験をした」時点で、PLC10はマニュアル指示を受け付けると、その「実験のタイミング」でのデータの優先度Pe(マニュアル指示)を「A」に上げる。
なお、PLC10(例えば、第1算出部102)は、評価ルーチンS100における各ルーチン(およびマニュアル指示)を適用して「優先度Pe:A」を算出したデータについて、そのデータの「アーカイブ要求Ae」として「有」を算出するものとする。
(調停ルーチン)
以下、PLC10が実行する調停ルーチンS200について、図7および図8を用いて、その詳細を説明する。調停ルーチンS200は、評価ルーチンS100における各ルーチンの判定結果(優先度Peおよびアーカイブ要求Ae)を調停するものであり、第2算出部103によって実行される。調停ルーチンS200は、「重み付け」モード、「最高位優先」モード、および、「マニュアル指示強制」モードという3種類のモードのいずれかにおいて実行される。なお、ユーザからの「データ取得またはデータ保存に係る指示(=マニュアル指示)」があると、「マニュアル指示強制」モードとなる。PLC10は、マニュアル指示が無い状態においては、ユーザの選択に従って、「重み付け」モード、または、「最高位優先」モードのいずれかで、調停ルーチンS200を実行する。
(重み付けモード)
図7は、PLC10が実行する調停ルーチンS200について、重み付けモードの概要を説明する図である。「重み付け」モードが選択されている場合、第2算出部103は、以下の順で、調停ルーチンS200を実行し、つまり、調停済優先度Paおよび調停済アーカイブ要求Aaを算出する。
すなわち、第2算出部103は、先ず、各ルーチン(=各評価ルーチン)の判定結果を、スコアテーブル114を参照して、スコアに変換する(S201)。具体的には、第2算出部103は、「評価方式ごとの優先度Pe」について、スコアテーブル114の「優先度スコアテーブル114P」を参照して、「評価方式ごとの優先度スコア(=優先度Peに対応する数値)」を算出する。また、第2算出部103は、「評価方式ごとのアーカイブ要求Ae」について、スコアテーブル114の「アーカイブ要求スコアテーブル114A」を参照して、「評価方式ごとのアーカイブ要求スコア(=アーカイブ要求Aeに対応する数値)」を算出する。なお、「アーカイブ要求スコア」は、「要求スコア」と略記することがある。
次に、第2算出部103は、S201で算出した「評価方式ごとのスコア」に、係数テーブル115を参照して取得する「評価方式ごとの係数」を乗じて、合計値としての調停スコア(優先度調停スコアおよびアーカイブ要求調停スコア)を計算する(S202)。
具体的には、第2算出部103は、係数テーブル115を参照して「評価方式ごとの係数」を取得する。そして、第2算出部103は、取得した「評価方式ごとの係数」を、S201で算出した「評価方式ごとの優先度スコア」に乗じた値(=「評価方式ごとの、係数×優先度スコア」)を算出する。第2算出部103は、算出した「評価方式ごとの、係数×優先度スコア」を、全ての評価方式分合計して、優先度調停スコアを得る。
すなわち、優先度調停スコアは、「優先度調停スコア=『係数(オペレータ)×優先度スコア(オペレータ)』+『係数(管理)×優先度スコア(管理)』+『係数(保全)×優先度スコア(保全)』+『係数(解析)×優先度スコア(解析)』」(以下、「優先度調停スコア算出式」と称する)となる。
また、第2算出部103は、係数テーブル115を参照して取得した「評価方式ごとの係数」を、S201で算出した「評価方式ごとのアーカイブ要求スコア」に乗じた値(=「評価方式ごとの、係数×アーカイブ要求スコア」)を算出する。第2算出部103は、算出した「評価方式ごとの、係数×アーカイブ要求スコア」を、全ての評価方式分合計して、アーカイブ要求調停スコアを得る。
すなわち、アーカイブ要求調停スコアは、「アーカイブ要求調停スコア=『係数(オペレータ)×要求スコア(オペレータ)』+『係数(管理)×要求スコア(管理)』+『係数(保全)×要求スコア(保全)』+『係数(解析)×要求スコア(解析)』」(以下、「アーカイブ要求調停スコア算出式」と称する)となる。
そして、第2算出部103は、調停テーブル116を参照して、優先度調停スコアおよびアーカイブ要求調停スコアの各々を、調停済優先度Paおよび調停済アーカイブ要求Aaの各々に変換する(S203)。具体的には、第2算出部103は、調停テーブル116の「優先度調停テーブル116P」を参照して、優先度調停スコアに対応する調停済優先度Paを得る。また、第2算出部103は、調停テーブル116の「アーカイブ要求調停テーブル116A」を参照して、アーカイブ要求調停スコアに対応する調停済アーカイブ要求Aaを得る。
(最高位優先モードおよびマニュアル強制指示モード)
図8は、PLC10が実行する調停ルーチンS200について、最高位優先モードおよびマニュアル強制指示モードの概要を説明する図である。「最高位優先」モードが選択されていると、第2算出部103は、図8の(A)に示すように調停ルーチンS200を実行し、つまり、調停済優先度Paおよび調停済アーカイブ要求Aaを算出する。
すなわち、「最高位優先」モードにおいて、第2算出部103は、調停済優先度Paを、「『評価方式ごとの優先度Pe』のうち、最も高い優先度」とする。また、「最高位優先」モードにおいて、第2算出部103は、調停済アーカイブ要求Aaについて、「評価方式ごとのアーカイブ要求Ae」のうち、1つでも「アーカイブ要求Ae:有」であれば、「調停済アーカイブ要求Aa:有」とする。
マニュアル指示(=データ取得またはデータ保存を指示するユーザ操作)を受け付けたPLC10は、「マニュアル指示強制」モードに遷移する。「マニュアル指示強制」モードにおいて、第2算出部103は、図8の(B)に示すように調停ルーチンS200を実行し、つまり、調停済優先度Paおよび調停済アーカイブ要求Aaを算出する。
すなわち、「マニュアル指示」モードにおいて、第2算出部103は、調停済優先度Paを、「マニュアル指示の優先度」とする。前述の通り、マニュアル指示を受け付けた時点におけるデータについて、「優先度Pe(マニュアル指示):A」であるから、第2算出部103は、そのデータについて、「調停済優先度Pa:A」とする。また、「マニュアル指示」モードにおいて、第2算出部103は、調停済アーカイブ要求Aaを、「マニュアル指示のアーカイブ要求」とする。前述の通り、マニュアル指示を受け付けた時点におけるデータについて、「アーカイブ要求Ae(マニュアル指示):有」であるから、第2算出部103は、そのデータについて、「調停済アーカイブ要求Aa:有」とする。
(容量制御ルーチン)
図9は、PLC10(特に、容量制御部106)が実行する容量制御ルーチンの流れを示すフロー図である。容量制御部106は、「データベース20に格納されているデータの容量が、所定の警告量よりも多くなっている」と判定すると、優先度(具体的には、調停済優先度Pa)の低いデータから段階的に、容量制御ルーチンを実行する。図9には、制御システム1における調停済優先度Paが「A/B/C」の3段階であるのに併せて、3段階構成の容量制御ルーチンの例が示されている。
目標空き容量と優先度(図9に示す例では「調停済優先度Pa:C」)とが指定されると、「データベース20に格納されているデータの容量が、所定の警告量よりも多くなっている」と判定した容量制御部106は、容量制御ルーチンを開始する。なお、以下の説明においては、例えば、警告量を「データベース20の許容格納量の80%」とし、目標空き容量を「データベース20の許容格納量の60%」とするが、これは一例にすぎない。容量制御部106は、データベース20に格納されているデータの合計量が、警告量よりも小さな目標量以下になるまで、データベース20に格納されているデータについて、調停済優先度Paが低い順に、アーカイブ化または削除を実行すればよい。
容量制御部106は、データベース20に格納されているデータのうち、「調停済優先度Pa:C」であるデータについて、「アーカイブ(保存要否)」が「要」であるかを判定する(S110)。つまり、容量制御部106は、データテーブル(優先度C)23に格納されている複数のデータの各々について、調停済アーカイブ要求Aaが「有」であるかを判定する。
データテーブル(優先度C)23に格納されているデータのうち、「調停済アーカイブ要求Aa:有」であるデータ(S110でYesのデータ)について、容量制御部106は、「アーカイブ化」を実行する(S120)。つまり、容量制御部106は、データベース20に格納されている「優先度C(=「調停済優先度Pa:C」)」のデータのうち、「アーカイブ:要」のデータを、データベース20から、データベース20以外の長期保存用データベースへと、移動させる。
データテーブル(優先度C)23に格納されているデータのうち、「調停済アーカイブ要求Aa:無」であるデータ(S110でNoのデータ)について、容量制御部106は、「削除」を実行する(S130)。つまり、容量制御部106は、データベース20に格納されている「優先度C」のデータのうち、「アーカイブ:否」のデータを、データベース20から削除する。
データベース20に格納されている、全ての「優先度C(=「調停済優先度Pa:C」)」のデータについて、S110の処理を完了すると、容量制御部106は、データベース20の空き容量が確保されたかを判定する(S140)。つまり、データテーブル(優先度C)23に格納されている全てのデータを「アーカイブ化」または「削除」すると、容量制御部106は、データベース20の空き容量が、例えば「データベース20の許容格納量の60%」となったかを判定する。
「データベース20の空き容量が確保された」と判定すると(S140でYes)、容量制御部106は容量制御ルーチンを終了する。「データベース20の空き容量が確保されていない」と判定すると(S140でNo)、容量制御部106は、データベース20に、「優先度がB以下であるデータ(つまり、「調停済優先度Pa:B」であるデータ)」が格納されているかを判定する(S200)。
「優先度がB以下であるデータが、データベース20に格納されている(S200でYes)」と判定すると、容量制御部106は、「優先度がB以下であるデータ」について、「アーカイブ(保存要否)」が「要」であるかを判定する(S210)。つまり、容量制御部106は、データテーブル(優先度B)22に格納されている複数のデータの各々について、調停済アーカイブ要求Aaが「有」であるかを判定する。
データテーブル(優先度B)22に格納されているデータのうち、「調停済アーカイブ要求Aa:有」であるデータ(S210でYesのデータ)について、容量制御部106は、「アーカイブ化」を実行する(S220)。つまり、容量制御部106は、データベース20に格納されている「優先度B(=「調停済優先度Pa:B」)」のデータのうち、「アーカイブ:要」のデータを、データベース20から、データベース20以外の長期保存用データベースへと、移動させる。
データテーブル(優先度B)22に格納されているデータのうち、「調停済アーカイブ要求Aa:無」であるデータ(S210でNoのデータ)について、容量制御部106は、「削除」を実行する(S230)。つまり、容量制御部106は、データベース20に格納されている「優先度B」のデータのうち、「アーカイブ:否」のデータを、データベース20から削除する。
データベース20に格納されている、全ての「優先度B(=「調停済優先度Pa:B」)」のデータについて、S210の処理を完了すると、容量制御部106は、データベース20の空き容量が確保されたかを判定する(S240)。つまり、データテーブル(優先度B)22に格納されている全てのデータを「アーカイブ化」または「削除」すると、容量制御部106は、データベース20の空き容量が、例えば「データベース20の許容格納量の60%」となったかを判定する。
「データベース20の空き容量が確保された」と判定すると(S240でYes)、容量制御部106は容量制御ルーチンを終了する。「データベース20の空き容量が確保されていない」と判定すると(S240でNo)、容量制御部106は、データベース20に、「優先度がA以下であるデータ(つまり、「調停済優先度Pa:A」であるデータ)」が格納されているかを判定する(S300)。
「優先度がA以下であるデータが、データベース20に格納されている(S300でYes)」と判定すると、容量制御部106は、「優先度がA以下であるデータ」について、「アーカイブ(保存要否)」が「要」であるかを判定する(S310)。つまり、容量制御部106は、データテーブル(優先度A)21に格納されている複数のデータの各々について、調停済アーカイブ要求Aaが「有」であるかを判定する。
データテーブル(優先度A)21に格納されているデータのうち、「調停済アーカイブ要求Aa:有」であるデータ(S310でYesのデータ)について、容量制御部106は、「アーカイブ化」を実行する(S320)。つまり、容量制御部106は、データベース20に格納されている「優先度A(=「調停済優先度Pa:A」)」のデータのうち、「アーカイブ:要」のデータを、データベース20から、データベース20以外の長期保存用データベースへと、移動させる。
データテーブル(優先度A)21に格納されているデータのうち、「調停済アーカイブ要求Aa:無」であるデータ(S310でNoのデータ)について、容量制御部106は、「削除」を実行する(S330)。つまり、容量制御部106は、データベース20に格納されている「優先度A」のデータのうち、「アーカイブ:否」のデータを、データベース20から削除する。
容量制御部106は、データベース20に格納されている、全ての「優先度A(=「調停済優先度Pa:B」)」のデータについて、つまり、データテーブル(優先度A)21に格納されている全てのデータについて、「アーカイブ化」または「削除」を実行する。優先度Aの、全てのデータに対する、「アーカイブ化」または「削除」を完了すると、容量制御部106は容量制御ルーチンを終了する。
以上に説明したように、容量制御部106は、データベース20に格納されているデータについて、調停済優先度Paが低いデータから順に、調停済アーカイブ要求Aaが「有」であるデータについて、アーカイブ化を実行する。また、容量制御部106は、データベース20に格納されているデータについて、調停済優先度Paが低いデータから順に、調停済アーカイブ要求Aaが「否」であるデータを削除する。
(データの調停済優先度および調停済アーカイブ要求の具体例)
図10は、モータのトルク値(特に、締付トルクの値)に係るデータと生産物に発生している状況等との関係を説明する図である。被締結物を締結物にネジを用いて締結させるネジ締め工程では、生産物等に発生している異常は、図10に例示するように、ネジを締め付ける際のトルクである「締付トルク(「ネジ締めトルク」ともいう)」に現れることが多い。
例えば、「着座不良(締付高さ不適)」が発生している場合、「締付トルクの値が過小となる」傾向があり、その原因としては、「下穴径過小/異物」および「ネジ径過大/キズ有」等が考えられる。締付トルクの値によって、ネジが斜めに進入したり、締結物が斜めになったりする「着座不良(斜め締め)」が発生していることを検知することができる。また、「ネジ十字潰れ、または、ネジ穴潰れ」が発生している場合、「締付トルクの値が過大となる」傾向があり、その原因としては、「下穴径過小/異物」および「ネジ径過大/キズ有」等が考えられる。さらに、「ネジ頭飛び」が発生している場合、「締付トルクの値が過大となる」傾向があり、また、締付トルクの値によって、「ネジ未供給」および「ネジ脱落」等を原因とする「ネジ無」が発生していることを検知することができる。このように、ネジ締めトルク(以下、単に「トルク」と略記する)の値を監視することで、異常、および、異常の予兆などを検知することができる。
(異常値を含むデータの調停済優先度および調停済アーカイブ要求)
図11は、トルク値が異常閾値を超えているデータの、調停済優先度Pa等を説明する図である。図11の(A)に例示する、「ネジ締めトルク値が異常しきい値を超えた」という状況において取得するデータは、ネジ締めについて、「異常」の発生を示すデータであり、生産物の「品質」に係るデータである。図11の(A)の状況において取得するデータに対し、第1算出部102は、各評価ルーチンを適用して、図11の(B)に示す通り、「優先度(評価方式ごとの優先度Pe)」および「保存要否(評価方式ごとのアーカイブ要求Ae)」を算出する。
すなわち、図11の(A)のデータは「異常あり」を示しているため、第1算出部102は、オペレータルーチンを適用して、「優先度Pe(オペレータ):A」および「アーカイブ要求Ae(オペレータ):有」を算出する。図11の(A)のデータは「(生産物の)品質問題あり」を示しているため、第1算出部102は、管理者ルーチンを適用して、「優先度Pe(管理者):A」および「アーカイブ要求Ae(管理者):有」を算出する。図11の(A)のデータは「(生産設備等への)負荷上昇」を示しているため、第1算出部102は、保全者ルーチンを適用して、「優先度Pe(保全者):A」および「アーカイブ要求Ae(保全者):有」を算出する。図11の(A)のデータは「異常値」を示しており、異常値を示すデータは保持(アーカイブ化)しておくべきだから、第1算出部102は、解析者ルーチンを適用して、「優先度Pe(解析者):A」および「アーカイブ要求Ae(解析者):有」を算出する。なお、図11の(A)の状況において取得するデータについて、マニュアル指示はないものとする。
第2算出部103は、第1算出部102が算出した上述の「優先度(評価方式ごとの優先度Pe)」および「保存要否(評価方式ごとのアーカイブ要求Ae)」から、「調停済優先度Pa」および「調停済アーカイブ要求Aa」を算出する。例えば「重み付け」モードが選択されている場合、第2算出部103は、図7を参照して説明した「優先度調停スコア算出式」および「アーカイブ要求調停スコア算出式」を用いて、以下の優先度調停スコアおよびアーカイブ要求調停スコアを得る。
すなわち、
優先度調停スコア=「係数(オペレータ)×スコア(オペレータ)」+「係数(管理)×スコア(管理)」+「係数(保全)×スコア(保全)」+「係数(解析)×スコア(解析)」=4×3+3×2+3×3+2×3=33
を得る。したがって、「ネジ締めトルク値が異常しきい値を超えた」データの調停済優先度Paは、優先度調停テーブル116Pにより、「A」となる。
同様に、
アーカイブ要求調停スコア=「係数(オペレータ)×要求(オペレータ)」+「係数(管理)×要求(管理)」+「係数(保全)×要求(保全)」+「係数(解析)×要求(解析)」=4×1+3×1+3×1+2×1=12
であるから、「ネジ締めトルク値が異常しきい値を超えた」データの調停済アーカイブ要求Aaは、アーカイブ要求調停テーブル116Aにより、「有」となる。
したがって、格納部105は、図11の(A)に例示する「ネジ締めトルク値が異常しきい値を超えた」データを、データベース20のデータテーブル(優先度A)21に格納する。
(要注意値を含むデータの調停済優先度および調停済アーカイブ要求)
図12は、トルク値が予兆監視閾値を超えているデータの、調停済優先度Pa等を説明する図である。図12の(A)に例示する、「ネジ締めトルク最大値が予兆監視しきい値を連続6回超えた」という状況において取得するデータは、ネジ締めについて、「(問題発生の)予兆」を示すデータである。図12の(A)の状況において取得するデータに対し、第1算出部102は、各評価ルーチンを適用して、図12の(B)に示す通り、「評価方式ごとの優先度Pe」および「評価方式ごとのアーカイブ要求Ae」を算出する。
すなわち、図12の(A)のデータは「異常なし」を示しているため、第1算出部102は、オペレータルーチンを適用して、「優先度Pe(オペレータ):C」および「アーカイブ要求Ae(オペレータ):無」を算出する。図12の(A)のデータは「(生産物の)品質問題なし」を示しているため、第1算出部102は、管理者ルーチンを適用して、「優先度Pe(管理者):C」および「アーカイブ要求Ae(管理者):無」を算出する。図12の(A)のデータは「(生産設備等の)異常の兆候あり」を示しているため、第1算出部102は、保全者ルーチンを適用して、「優先度Pe(保全者):A」および「アーカイブ要求Ae(保全者):有」を算出する。図12の(A)のデータは予兆データであり、予兆データは保持(アーカイブ化)しておくべきだから、第1算出部102は、解析者ルーチンを適用して、「優先度Pe(解析者):A」および「アーカイブ要求Ae(解析者):有」を算出する。なお、図12の(A)の状況において取得するデータについて、マニュアル指示はないものとする。
第2算出部103は、第1算出部102が算出した上述の「評価方式ごとの優先度Pe」および「評価方式ごとのアーカイブ要求Ae」から、「調停済優先度Pa」および「調停済アーカイブ要求Aa」を算出する。例えば「重み付け」モードが選択されている場合、第2算出部103は、図7を参照して説明した「優先度調停スコア算出式」および「アーカイブ要求調停スコア算出式」を用いて、以下の優先度調停スコアおよびアーカイブ要求調停スコアを得る。
すなわち、
優先度調停スコア=「係数(オペレータ)×スコア(オペレータ)」+「係数(管理)×スコア(管理)」+「係数(保全)×スコア(保全)」+「係数(解析)×スコア(解析)」=4×1+3×1+3×3+2×3=22
を得る。したがって、「ネジ締めトルク最大値が予兆監視しきい値を連続6回超えた」データの調停済優先度Paは、優先度調停テーブル116Pにより、「B」となる。
同様に、
アーカイブ要求調停スコア=「係数(オペレータ)×要求(オペレータ)」+「係数(管理)×要求(管理)」+「係数(保全)×要求(保全)」+「係数(解析)×要求(解析)」=4×0+3×0+3×1+2×1=5
であるから、「ネジ締めトルク最大値が予兆監視しきい値を連続6回超えた」データの調停済アーカイブ要求Aaは、アーカイブ要求調停テーブル116Aにより、「有」となる。
したがって、格納部105は、図12の(A)に例示する「ネジ締めトルク最大値が予兆監視しきい値を連続6回超えた」データ(=6制御周期分のデータ)を、データベース20のデータテーブル(優先度B)22に格納する。
(定期収集時におけるデータの調停済優先度および調停済アーカイブ要求)
図13は、定期収集時期におけるデータの、調停済優先度Pa等を説明する図である。図13の(A)に例示する、定期収集時期に取得するデータは、ネジ締めについての「異常なし」を示すデータであって、「解析用データの定期収集時期となった」ことを示すデータである。図13の(A)の状況において取得するデータに対し、第1算出部102は、各評価ルーチンを適用して、図13の(B)に示す通り、「評価方式ごとの優先度Pe」および「評価方式ごとのアーカイブ要求Ae」を算出する。
すなわち、図13の(A)のデータは定期収集時期となった「異常なし」のデータであるため、第1算出部102は、オペレータルーチンを適用して、「優先度Pe(オペレータ):C」および「アーカイブ要求Ae(オペレータ):無」を算出する。図13の(A)のデータは「(生産物の)生産性および品質に問題なし」を示しているため、第1算出部102は、管理者ルーチンを適用して、「優先度Pe(管理者):C」および「アーカイブ要求Ae(管理者):無」を算出する。図13の(A)のデータは「異常兆候なし」のデータだから、第1算出部102は、保全者ルーチンを適用して、「優先度Pe(保全者):C」および「アーカイブ要求Ae(保全者):無」を算出する。図13の(A)のデータは定期収集時期におけるデータであるため、第1算出部102は、解析者ルーチンを適用して、「優先度Pe(解析者):A」および「アーカイブ要求Ae(解析者):有」を算出する。なお、図13の(A)の状況において取得するデータについて、マニュアル指示はないものとする。
第2算出部103は、第1算出部102が算出した上述の「評価方式ごとの優先度Pe」および「評価方式ごとのアーカイブ要求Ae」から、「調停済優先度Pa」および「調停済アーカイブ要求Aa」を算出する。例えば「重み付け」モードが選択されている場合、第2算出部103は、図7を参照して説明した「優先度調停スコア算出式」および「アーカイブ要求調停スコア算出式」を用いて、以下の優先度調停スコアおよびアーカイブ要求調停スコアを得る。
すなわち、
優先度調停スコア=「係数(オペレータ)×スコア(オペレータ)」+「係数(管理)×スコア(管理)」+「係数(保全)×スコア(保全)」+「係数(解析)×スコア(解析)」=4×1+3×1+3×1+2×3=16
を得る。したがって、「異常なし」を示す、定期収集時期に取得するデータの調停済優先度Paは、優先度調停テーブル116Pにより、「C」となる。
同様に、
アーカイブ要求調停スコア=「係数(オペレータ)×要求(オペレータ)」+「係数(管理)×要求(管理)」+「係数(保全)×要求(保全)」+「係数(解析)×要求(解析)」=4×0+3×0+3×0+2×1=2
であるから、「異常なし」を示す、定期収集時期に取得するデータの調停済アーカイブ要求Aaは、アーカイブ要求調停テーブル116Aにより、「無」となる。
したがって、格納部105は、図13の(A)に例示する「異常なし」を示す、定期収集時期に取得するデータを、データベース20のデータテーブル(優先度C)23に格納する。
(取得指示を受け付けた場合の調停済優先度および調停済アーカイブ要求)
図14は、ユーザからの取得指示を受け付けた時点におけるデータの、調停済優先度Pa等を説明する図である。図14の(A)に例示する、「抜き取り品質検査を実施した」際の「検査時のマニュアル指示」に基づいて取得するデータに対し、第1算出部102は、図14の(B)に「評価方式ごとの優先度Pe」および「評価方式ごとのアーカイブ要求Ae」を算出する。
すなわち、図14の(A)のデータはマニュアル指示に基づいて取得する、「異常なし」のデータだから、第1算出部102は、オペレータルーチンを適用して、「優先度Pe(オペレータ):C」および「アーカイブ要求Ae(オペレータ):無」を算出する。図14の(A)のデータはマニュアル指示に基づいて取得する、「(生産物の)生産性および品質に問題なし」のデータだから、第1算出部102は、管理者ルーチンを適用して、「優先度Pe(管理者):C」および「アーカイブ要求Ae(管理者):無」を算出する。図14の(A)のデータはマニュアル指示に基づいて取得する、「異常兆候なし」のデータだから、第1算出部102は、保全者ルーチンを適用して、「優先度Pe(保全者):C」および「アーカイブ要求Ae(保全者):無」を算出する。図14の(A)のデータはマニュアル指示に基づいて取得する、特に特徴のないデータだから、第1算出部102は、解析者ルーチンを適用して、「優先度Pe(解析者):C」および「アーカイブ要求Ae(解析者):無」を算出する。
「検査の証拠を保存しておきたい」ユーザからのマニュアル指示を受け付けたPLC10は、「マニュアル指示強制」モードに遷移する。マニュアル指示を受け付けた時点のデータについて、第1算出部102は、「マニュアル指示」ルーチンを適用して、「優先度Pe(マニュアル指示):A」および「アーカイブ要求Ae(マニュアル指示):有」を算出する。
「マニュアル指示強制」モードにおいて、第2算出部103は、マニュアル指示を強制して、調停済優先度Paを、「マニュアル指示の優先度」とし、つまり、「優先度Pe(マニュアル指示):A」とし、したがって、「調停済優先度Pa:A」とする。
同様に、「マニュアル指示強制」モードにおいて、第2算出部103は、マニュアル指示を強制して、調停済アーカイブ要求Aaを、「マニュアル指示のアーカイブ要求」とし、つまり、「アーカイブ要求Ae(マニュアル指示):有」とする。したがって、第2算出部103は、「調停済アーカイブ要求Aa:有」とする。
§4.変形例
これまでに説明してきた実施形態においては、本発明に係るマスタ装置として、PLC10について説明を行なってきた。しかしながら、本発明の一態様に係るマスタ装置がPLCであることは必須ではなく、例えば、産業用コンピュータ(IPC、Industrial PC)等であってもよい。同様に、PLC10は、サーボドライバ30の代わりに、インバータ等のモータ制御装置を介して、サーボモータ40の出力(トルク、速度、および位置など)に係るデータを取得してもよい。さらに、サーボモータ40に代えて、ステッピングモータ(ブラシレスモータ)を用いてもよい。制御システム1においては、マスタスレーブ制御システムにおけるマスタ装置が、スレーブ装置から取得するデータについて、そのデータに対する複数の利用目的を調停し、調停結果に基づいて、そのデータをデータベース20に格納できればよい。マスタ装置およびスレーブ装置をどのような装置として構成するかについて、制御システム1は特に限定していない。
これまでに説明してきた実施形態においては、「優先度Pe」および「アーカイブ要求Ae」を算出する評価方式として、オペレータルーチン、管理者ルーチン、保全者ルーチン、解析者ルーチン、および、マニュアル指示(マニュアル指示ルーチン)を例示した。しかしながら、制御システム1における評価方式はこれらのルーチンに限られるものではなく、マスタ装置がスレーブ装置から取得するデータに対する利用目的に応じて、任意の評価方式を用いることができる。
これまでに説明してきた実施形態において、優先度Peおよび調停済優先度Paは、「A/B/C」という3段階の値となる例を説明してきたが、優先度Peおよび調停済優先度Paの取る値が3段階であることは必須ではなく、複数の段階であればよい。同様に、これまでに説明してきた実施形態において、アーカイブ要求Aeおよび調停済アーカイブ要求Aaは、「有」または「無」となる例を説明してきたが、アーカイブ要求Aeおよび調停済アーカイブ要求Aaの値は、3つ以上の変数の中から選択されてもよい。
〔ソフトウェアによる実現例〕
PLC10の制御ブロック(特に、取得部101、第1算出部102、第2算出部103、ID決定部104、格納部105、および、容量制御部106)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、PLC10は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。