(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-27
(45)【発行日】2024-06-04
(54)【発明の名称】コントローラ、システム、方法及びプログラム
(51)【国際特許分類】
G05B 19/418 20060101AFI20240528BHJP
G05B 23/02 20060101ALI20240528BHJP
【FI】
G05B19/418 Z
G05B23/02 V
(21)【出願番号】P 2020102296
(22)【出願日】2020-06-12
【審査請求日】2023-03-08
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】杉原 哲朗
【審査官】大古 健一
(56)【参考文献】
【文献】特開2011-221642(JP,A)
【文献】特開2015-018389(JP,A)
【文献】特表2009-536407(JP,A)
【文献】特開平11-161318(JP,A)
【文献】特開2017-187820(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/418
G05B 23/00 -23/02
(57)【特許請求の範囲】
【請求項1】
制御対象の装置によって処理される対象の状態を検知するコントローラであって、
前記対象の状態を監視するセンサの出力信号から生成された時系列の数値を、逐次取得する取得部と、
前記取得部により新たに取得された前記数値を評価関数に入力して得られた演算結果に基づいて、前記対象の異常を逐次検知する検知部と、
前記取得部により新たに取得された前記数値に基づいて、前記評価関数を逐次更新する更新部と、
記憶部に記憶された判定方法であって前記評価関数の演算結果を用いて判定する判定方法により、前記評価関数の妥当性を判定する判定部と、を備え、
前記判定部は、前記検知部が前記対象を異常と検知する前記演算結果が設定された回数連続して得られた場合に、前記評価関数の妥当性がないと判定し、
前記更新部は
、
前記判定部が前記評価関数の妥当性がないと判定した場合、前記評価関数を初期化し、
前記判定部の判定に基づいて前記評価関数を初期化した後に、設定された回数連続して前記対象を異常と検知した前記演算結果が得られたそれぞれの前記数値に基づいて、前記初期化した後の前記評価関数を再更新する、
コントローラ。
【請求項2】
前記評価関数は、前記数値を標準化する関数である、
請求項1に記載のコントローラ。
【請求項3】
前記検知部は、前記取得部において前記時系列の数値がその取得開始から前記評価関数の評価を安定させるために設定された安定数を超えて取得されるまで、前記評価関数を利用しない、
請求項1又は2に記載のコントローラ。
【請求項4】
前記記憶部は、前記判定部における複数の判定方法を記憶し、
前記記憶部を参照して、前記複数の判定方法それぞれをユーザから選択可能に出力する第1出力部と、
前記出力された判定方法の選択を、前記ユーザから受け付ける第1受付部と、を備え、
前記判定部は、前記選択された判定方法により前記更新された評価関数の妥当性を判定する、
請求項1から
3のいずれか一項に記載のコントローラ。
【請求項5】
前記評価関数における初期化の実行タイミングを、ユーザから選択可能に出力する第2出力部と、
前記出力された実行タイミングの選択を、前記ユーザから受け付ける第2受付部と、を備え、
前記更新部は、前記選択された実行タイミングに基づいて前記評価関数の初期化を行う、
請求項1から
4のいずれか一項に記載のコントローラ。
【請求項6】
制御対象の装置によって処理される対象の状態を検知するコントローラに、
前記対象の状態を監視するセンサの出力信号から生成された時系列の数値を、逐次取得することと、
新たに取得された前記数値を評価関数に入力して得られた演算結果に基づいて、前記対象の異常を逐次検知することと、
新たに取得された前記数値に基づいて、前記評価関数を逐次更新することと、
記憶部に記憶された判定方法であって前記評価関数の演算結果を用いて判定する判定方法により、前記更新された評価関数の妥当性を判定することと、
前記対象を異常と検知する前記演算結果が設定された回数連続して得られた場合に、前記評価関数の妥当性がないと判定することと、
前記評価関数の妥当性がないと判定した場合、前記評価関数を初期化することと、
前記判定に基づいて前記評価関数を初期化した後に、設定された回数連続して前記対象を異常と検知した前記演算結果が得られたそれぞれの前記数値に基づいて、前記初期化した後の前記評価関数を再更新することと、
を実行させる方法。
【請求項7】
制御対象の装置によって処理される対象の状態を検知するコントローラに、
前記対象の状態を監視するセンサの出力信号から生成された時系列の数値を逐次取得することと、
新たに取得された前記数値を評価関数に入力して得られた演算結果に基づいて、前記対象の異常を逐次検知することと、
新たに取得された数値に基づいて前記評価関数を逐次更新することと、
記憶部に記憶された判定方法であって前記評価関数の演算結果を用いて判定する判定方法により、前記更新された評価関数の妥当性を判定することと、
前記対象を異常と検知する前記演算結果が設定された回数連続して得られた場合に、前記評価関数の妥当性がないと判定することと、
前記評価関数の妥当性がないと判定した場合、前記評価関数を初期化することと、
前記判定に基づいて前記評価関数を初期化した後に、設定された回数連続して前記対象を異常と検知した前記演算結果が得られたそれぞれの前記数値に基づいて、前記初期化した後の前記評価関数を再更新することと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コントローラ、システム、方法及びプログラムに関する。
【背景技術】
【0002】
従来、製品の品質保証や工程管理の改善のために、各製造工程のデータを統計的に演算して対象の状態を評価する方法、例えば統計的品質管理や統計的工程管理などの手法(以下、「統計的管理手法」という)が知られている。統計的管理手法では、この評価結果に基づいて品質や工程の異常を検知する。
【0003】
統計的管理手法では、各製造工程のデータに基づいて、統計的手法を用いた管理図が作成される。管理図では、例えば、管理限界線(標準偏差)が上下に引かれ、この管理限界線を閾値としてその間を群ごとの品質特性(例えば、製品の厚さや長さ、又は重さ等)の統計値(例えば、平均値、最大値、最小値等)がプロットされる。また管理図では、例えば、総平均値を示す中心線が引かれ、中心線の上側下側の両側に、群ごとの品質の統計値がプロットされる。そして、統計値が管理境界線を超えたり、中心線に対して一方向側だけに連続したりする場合、管理対象の品質は、異常と判断される。
【0004】
例えば、下記特許文献1には、品質特性に関連するデータを収集し、蓄積する品質管理装置が開示されている。この品質管理装置では、蓄積されたデータのうち品質特性が所定の範囲内にあるデータの分布に基づいて品質管理の閾値(管理限界)を更新することが記載されている。このような構成によれば、品質管理の閾値は、蓄積された検査データのうち品質特性が所定の範囲から外れた検査データを除いて更新される。このため、例えば、品質特性が所定の範囲を外れた検査データによって品質管理の管理限界が緩和されてしまうということを抑制し、適切な閾値を維持することができる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記のような統計的管理手法において、過去に収集されたデータに基づいて閾値を維持するため、対象の品質特性が途中で変わるとその直後は、変わる前の対象のデータで閾値が維持されている。このため、上記のような統計的管理手法において、対象の品質に問題がないのにも関わらず異常と誤検知してしまうという課題がある。
【0007】
そこで、本発明は、上記のような統計的管理手法において、対象の品質特性が変わっても、変わる前の数値の影響を受けずに異常を検知することができるコントローラ、システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一態様に係るコントローラは、対象の状態を監視するセンサの出力信号から生成された時系列の数値を、逐次取得する取得部と、取得部により新たに取得された数値を評価関数に入力して得られた演算結果に基づいて、対象の異常を逐次検知する検知部と、取得部により新たに取得された数値に基づいて、評価関数を逐次更新する更新部と、評価関数の演算結果に基づいて、評価関数の妥当性を判定する判定部と、を備え、更新部は、判定部が評価関数の妥当性がないと判定した場合、評価関数を初期化する。
【0009】
この態様によれば、逐次更新する評価関数の妥当性を判定し、妥当性がないと判定した場合には評価関数を初期化することができる。このため、対象の品質特性が変わっても変わる前の数値の影響を受けずに対象の状態を評価し、異常を検知することができる。
【0010】
上記態様において、評価関数は、数値を標準化する関数であってもよい。
【0011】
この態様によれば、時系列の数値ごとに管理値や中心値等の異常を検知するための閾値を変更せずに対象の異常を検知することができる。
【0012】
上記態様において、検知部は、取得部において時系列の数値がその取得開始から評価関数の評価を安定させるために設定された安定数を超えて取得されるまで、評価関数を利用しなくてもよい。
【0013】
この態様によれば、統計的管理手法において、評価関数の評価が安定する数を超えて初めて評価関数を利用するため、精度よく対象の状態を評価することができる。
【0014】
上記態様において、判定部は、検知部が対象を異常と検知する演算結果が設定された回数連続して得られた場合に、評価関数の妥当性がないと判定し、更新部は、判定部の判定に基づいて評価関数を初期化した後に、設定された回数連続して対象を異常と検知した演算結果が得られたそれぞれの数値に基づいて、初期化後の評価関数を再更新してもよい。
【0015】
統計的管理手法において、初期化の直後の評価関数は入力する時系列の数値の数が足りないため不安定な評価となり得る。この態様によれば、異常と検知した演算結果が得られたそれぞれの数値、すなわち品質特性が変わった後の時系列の数値で再更新することで評価関数の評価を安定させることができる。
【0016】
上記態様において、判定部における複数の判定方法を記憶する記憶部を参照して、複数の判定方法それぞれをユーザから選択可能に出力する第1出力部と、出力された判定方法の選択を、ユーザから受け付ける第1受付部と、をさらに備え、判定部は、選択された判定方法により更新された評価関数の妥当性を判定してもよい。
【0017】
この態様によれば、一つの判定方法によらずに、ユーザの意思を反映した判定方法で評価関数の妥当性を判定することができる。
【0018】
上記態様において、評価関数における初期化の実行タイミングを、ユーザから選択可能に出力する第2出力部と、出力された実行タイミングの選択を、ユーザから受け付ける第2受付部と、更新部は、選択された実行タイミングに基づいて評価関数の初期化を行ってもよい。
【0019】
この態様によれば、ユーザの意思を反映した実行タイミングで評価関数の初期化を行うことができる。
【0020】
本開示の他の態様に係る方法は、コントローラに、対象の状態を監視するセンサの出力信号から生成された時系列の数値を、逐次取得することと、取得部により新たに取得された数値を評価関数に入力して得られた演算結果に基づいて、対象の異常を逐次検知することと、取得部により新たに取得された数値に基づいて、評価関数を逐次更新することと、評価関数の演算結果に基づいて、更新された評価関数の妥当性を判定することと、判定部が評価関数の妥当性がないと判定した場合、評価関数を初期化することと、を実行させる。
【0021】
この態様によれば、逐次更新する評価関数の妥当性を判定し、妥当性がないと判定した場合には評価関数を初期化することができる。このため、対象の品質特性が変わっても変わる前の数値の影響を受けずに対象の状態を評価し、異常を検知することができる。
【0022】
本開示の他の態様に係るプログラムは、コントローラに、対象の状態を監視するセンサの出力信号から生成された時系列の数値を逐次取得することと、取得部により新たに取得された数値を評価関数に入力して得られた演算結果に基づいて、対象の異常を逐次検知することと、時系列の数値に基づいて評価関数を逐次更新することと、評価関数の演算結果に基づいて、更新された評価関数の妥当性を判定することと、評価関数の妥当性がないと判定した場合、評価関数を初期化することと、を実行させる。
【0023】
この態様によれば、逐次更新する評価関数の妥当性を判定し、妥当性がないと判定した場合には評価関数を初期化することができる。このため、対象の品質特性が変わっても変わる前の数値の影響を受けずに対象の状態を評価し、異常を検知することができる。
【発明の効果】
【0024】
本発明によれば、本発明は、上記のような統計的管理手法において、対象の品質特性が変わっても変わる前の数値の影響を受けずに異常を検知することができるコントローラ、システム、方法及びプログラムを提供することを目的とする。
【図面の簡単な説明】
【0025】
【
図1】本発明の実施形態に係るシステムの概要を示す図である。
【
図2】本実施形態に係るコントローラの機能ブロックを示す図である。
【
図3】本実施形態に係るコントローラにより取得される時系列の数値と1変数の評価関数による評価の結果を示す図である。
【
図4】本実施形態に係るコントローラにより実行される1変数の評価関数を用いた処理のフローチャートである。
【
図5】本実施形態に係るコントローラにより実行される処理のフローチャートである。
【
図6】本実施形態に係るコントローラにより実行される2変数の評価関数を用いた処理のフローチャートである。
【
図7】本実施形態に係るコントローラにより取得される時系列の数値と2変数の評価関数による評価の結果を示す図である。
【
図8】本実施形態に係るコントローラにより取得される時系列の数値と2変数の評価関数による評価の結果を示す図である。
【発明を実施するための形態】
【0026】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0027】
図1は、本発明の実施形態に係るシステム1の概要を示す図である。本実施形態に係るシステム1は、コントローラ10、センサ20、コンピュータ30及び搬送装置50を備える。
【0028】
図1に示すように、コントローラ10は、センサ20、コンピュータ30及び搬送装置50に接続されており、搬送装置50上を次々に搬送される対象100をセンサ20が監視している。コントローラ10は、センサ20の監視結果として出力される出力信号から生成された時系列の数値を逐次取得し、当該数値に基づいて対象100の状態を逐次検知する。コントローラ10による検知結果は、コンピュータ30に出力されたり、搬送装置50の制御に用いられたりする。
【0029】
本実施形態に係るコントローラ10は、他の装置や機械の動きを制御する装置である。コントローラ10は、例えば、プログラムで定められた順序や条件などに従ってこれらの動きを制御するPLC(Programmable Logic Controller)であってもよい。コントローラ10は、少なくともCPU(Central Processing Unit)等の演算装置と、メモリと、入力装置と、出力装置とを有する。コントローラ10は、センサ20の出力信号から生成された時系列の数値(以下、単に「時系列の数値」ともいう)から対象100の状態(例えば、正常か異常か)を検知する。またコントローラ10は、時系列の数値に基づいて後述の評価関数を逐次更新し、更新された評価関数の妥当性がないと判定された場合は評価関数を初期化することで、対象100の状態をより精度良く検知することができる。
【0030】
センサ20は、所定の物理量を測定するセンサであり、例えば、受光量に基づいて対象100の有無を測定する光センサであったり、磁界の変化に基づいて対象100の有無を測定する近接センサであったり、光を用いて対象100までの距離を測定する測距センサであったり、搬送装置50の状態を測定するセンサであったり、温度センサであったり、圧力センサであったりしてよい。
【0031】
コンピュータ30は、汎用のコンピュータであり、少なくともCPU等の演算装置と、メモリと、表示装置と、入力装置とを有する。コンピュータ30は、コントローラ10から受信した情報を表示したり、入力装置を介して入力された情報をコントローラ10に送信したりする。
【0032】
搬送装置50は、対象100を搬送する装置であり、例えばベルトコンベアやローラーコンベアであってよい。なお、搬送装置50は、対象100を操作する装置の一例であり、システム1には、搬送装置50以外の装置が含まれてもよい。例えば、システム1には、対象100を操作するロボットや、対象100を製造する工作機械が含まれてもよい。その場合、ロボットや工作機械は、コントローラ10によって制御されてよい。
【0033】
図2は、本実施形態に係るコントローラ10の機能ブロックを示す図である。コントローラ10は、取得部11、検知部12、更新部13、判定部14、記憶部15、出力部16及び受付部17を備える。
【0034】
取得部11は、対象100の状態を監視するセンサ20の出力信号から生成された時系列の数値(以下、単に「時系列の数値」又は「数値」ともいう)を、逐次取得する。時系列の数値は、所定の時間間隔で取得されてもよいし、不定期に取得されてもよい。取得された時系列の数値は、一時的に記憶部15に記憶されてもよい。
【0035】
検知部12は、取得部11により取得された数値を評価関数に入力して得られた演算結果に基づいて、対象100の状態を検知する。検知部12は、取得部11により新たに取得された数値を評価関数に入力して得られた演算結果に基づいて、対象100の異常を逐次検知する。検知部12は、例えば、上記演算結果が設定された閾値を超えた場合に、対象100の異常を検知してもよい。また、検知部12は、例えば、設定された回数連続して設定された閾値を上記演算結果が上回る又は下回る場合に、すなわち連が発生した場合に対象100の異常を検知してもよい。
【0036】
「評価関数」とは、対象100の状態を評価する関数である。評価関数は、例えば、数式(1)で示すように、時系列の数値(Xn:n番目の数値)を、取得された時系列の数値の平均値(Aven-1)と、標準偏差(STDn-1)により標準化(正規化)する関数であってもよい。なお数式(1)~(3)において、Ave0=0、Std0=0、Std1=0とする。なお本実施形態では、「n」は、各時系列の数値の順番、ひいてはコントローラ10が取得した時系列の数値の数を示すものとする。
【0037】
【0038】
【0039】
【0040】
検知部12は、例えば、標準化された数値に基づいて対象100の異常を逐次検知してもよい。検知部12は、例えば、評価関数を用いた演算結果が(ア)標準化された数値NLnが管理上限値や管理下限値を超えること、(イ)標準化された時系列の数値NLnが所定数連続して管理中心値を超える又は下回ること、等の条件(以下、「異常条件」ともいう)を満たす場合、対象100の異常を検知してもよい。
【0041】
ここで
図3(a)を参照して、検知部12における異常の検知処理の一例を説明する。
図3(a)は、対象100の品質を管理するための管理図であり、時系列の数値X
nとX
nを標準化した値NL
n(数式(1))とがプロットされた管理図である。この管理図では、横軸を数値の番号「n」、縦軸を数値(計量値)とする。
【0042】
本例では、管理図において、上限管理値(UCL:Upper Control Limit)を「+3」とし、下限管理値(LCL:Lower Control Limit)を「-3」とする。また、管理図において、管理中心値(CL)を「0」とする。
【0043】
図3(a)に示すように、100番目の数値であるX
100が外れ値としてプロットされると、NL
100も上限管理値を超えた管理値外れ(OOC:Out of Control)としてプロットされる。このようにX(n)の異常をNLの大きさで評価することができる。
【0044】
連の長さが設定された上限値(本例では「7」とする)以上となる場合、後述の更新部13が、評価関数を初期化する。初期化後のNLnにおいて連の発生が解消し、対象の異常を示す状態が解消されている。このように評価関数を初期化することで、評価関数における変化前の品質特性の影響を取り除くことができる。
【0045】
検知部12は、例えば、取得部11において時系列の数値がその取得開始から安定数を超えて取得されるまで評価関数を利用しなくてもよい。安定数とは、評価関数の評価を安定させるために設定された数であり、例えば「3」などの数であってもよい。安定数は、例えば、評価関数により標準化した数値が一定範囲に収束するまでの数値の数の実績を設定してもよい。
【0046】
例えば評価関数が平均値や標準偏差等の統計量を使用する場合、時系列の数値の数が一定程度取得できるまでは、値0になったり極端に大きな値になったりする場合がある。上記構成によれば、検知部12は、評価関数の評価が安定する数を超えて初めて評価関数を利用するため、精度よく対象の状態を評価することができる。
【0047】
更新部13は、取得部11により新たに取得された時系列の数値に基づいて評価関数を逐次更新する。更新部13は、例えば、取得部11により新たに取得された時系列の数値を評価関数に逐次入力して、当該評価関数を逐次更新してもよい。また更新部13は、後述の判定部14が評価関数の妥当性がないと判定した場合、評価関数を初期化する。
【0048】
従来、対象100の異常検知を行う際に、事前にデータを取得して異常検知を行うモデルを作成することがあった。そのため、モデルの数が多い場合や、モデルの更新が必要な場合において、効率的なデータの取得を含めたモデル作成の方法が課題となっていた。上記構成によれば、リアルタイムかつ自動的に、時系列の数値を取得して評価関数を更新することができる。このため、上記構成によれば、データの取得のために工場の操業を停止させたり、データ取得のために人が従事したりする必要がない。従って、上記構成によれば、効率的に異常検知を行う仕組みを構築することができる。
【0049】
ここで
図3(b)を参照して、検知部12における異常の検知処理及び更新部13における初期化処理の一例を説明する。
図3(b)は、
図3(a)と同様に、対象100の品質を管理するための管理図である。
図3(b)における上限管理値(UCL)や下限管理値(LCL)及び管理中心値(CL)等の条件は、
図3(a)と同様である。
【0050】
図3(b)に示すように、NL
nにおいて、時系列の数値に変化が生じた点(以下、「変化点」ともいう)、すなわち対象100の品質特性が変わった点であるX
1000に対応するNL
1000を起点として連が生じている。この連とは、管理図にプロットされている連続する点であって、管理中心値(CL)の上又は下等の一方向側だけに点が連続している点である。また管理図において、連の長さが所定数(例えば、「7」や「8」)を超えると対象の品質が異常であると判断することができる。
【0051】
設定回数は、例えば、連の長さの上限値(本例では、「7」とする)であってもよい。この際、更新部13は、上限管理値(+3)を超えるNL1000からNL1006までに対応する7つの異常の候補となる数値を連続して検知部12が検知した場合、評価関数を初期化する。すなわち、更新部13は、評価関数におけるnを「1」にして、また1からカウントし直して評価関数を逐次更新していく。
【0052】
更新部13は、例えば、後述の第2受付部17bが受け付けた実行タイミングであってユーザにより選択された実行タイミングに基づいて、評価関数の初期化を行ってもよい。
【0053】
更新部13は、例えば、判定部14の判定に基づいて評価関数を初期化した後に、設定された回数連続して対象100を異常と検知した演算結果が得られたそれぞれの数値に基づいて、初期化後の評価関数を再更新してもよい。更新部13は、例えば、
図3(b)に示すようにNL
1000からNL
1006までの7つの異常と検知された演算結果が得られたそれぞれの数値X
1000からX
1006の値を(1)式に代入して、初期化後の評価関数を再更新してもよい。
【0054】
判定部14は、評価関数の演算結果に基づいて、更新された評価関数の妥当性を判定する。判定部14は、例えば、管理中心値を超える評価関数の演算結果(NLnの値)が連続して検知された場合、評価関数の妥当性がないと判定してもよい。
【0055】
上記構成によれば、判定部14は、自動的に評価関数の妥当性を判定して、妥当性がない場合においては更新部13により自動的に評価関数を初期化することができる。このため上記構成によれば、ユーザが随時妥当性を判定する必要がなく、ユーザの負荷を低減できる。
【0056】
判定部14は、例えば、検知部12が対象100を異常と検知する演算結果が設定された回数(以下、「設定回数」ともいう)連続して得られた場合に、評価関数の妥当性がないと判定してもよい。判定部14は、例えば、連の数が設定された回数となった場合に、評価関数の妥当性がないと判定してもよい。
【0057】
ここで
図4を参照して、
図3の管理図を利用した、本実施形態に係るコントローラ10により実行される評価関数の逐次更新及び初期化の具体的な処理の一例を説明する。本例では、管理中心値を「0」として、管理値の絶対値(NL
max)を「3」とする。また本例では、連の数の上限値(SPC
max)を「7」とする。
【0058】
図4に示すように、コントローラ10は、対象100の状態を示す時系列の数値(X
n)を取得する(S10)。
【0059】
次にコントローラ10は、数式(1)を用いて時系列の数値を標準化した値(NLn)を算出する(S11)。
【0060】
今回標準化した値(NLn)と前回標準化した値(NLn-1)の符号が同じ場合(S12のYes)、コントローラ10は、連の数(SPC)をインクリメントする(S13)。
【0061】
インクリメントした連の数(SPC)が設定された上限値(SPCmax)以上の場合(S14のYes)、コントローラ10は、nを「1」で初期化する(S15)。これにより、コントローラ10は、評価関数を初期化する。すなわちコントローラ10は、連の数(SPC)が上限値(SPCmax)以上となった場合に、評価関数の妥当性がないと判定して、評価関数を初期化する。
【0062】
コントローラ10は、数式(2)を用いて平均値(Aven)を算出する(S16)。次にコントローラ10は、数式(3)を用いて標準偏差(Stdn)を算出する(S17)。
【0063】
今回標準化した値(NLn)と前回標準化した値(NLn-1)の符号が異なる場合(S12のYes)、コントローラ10は、連の数(SPC)を「0」で初期化する(S18)。
【0064】
インクリメントした連の数(SPC)が設定された上限値(SPCmax)より小さい場合(S14のNo)、かつ標準化した値の絶対値(|NL(n)|)が管理限界の上限値(NLmax)より小さい場合、フローはステップS16の前に遷移する。
【0065】
インクリメントした連の数(SPC)が設定された上限値(SPCmax)より小さい場合(S14のNo)、かつ標準化した値の絶対値(|NL(n)|)が管理限界の上限値(NLmax)以上の場合、コントローラ10は、今回の平均値(Aven)には前回の平均値(Aven-1)を設定する(S21)。次に、コントローラ10は、今回の標準偏差(Stdn)にも前回の標準偏差(Stdn-1)を設定する(S22)。
【0066】
上記方法によれば、標準化した値(|NL(n)|)が管理上限値(NLmax)以上の場合、すなわちNLnが外れ値の場合、対応する時系列の数値による値(平均値、標準偏差)をこれまで逐次更新してきた統計量に含めないようにすることができる。
【0067】
コントローラ10は、nをインクリメントする(S18)。フローは、ステップS10の前に戻る。そして次のn+1番目の数値(X(n+1))に関する処理に移る。このような方法により、コントローラ10は、評価関数を逐次更新し、標準化した値等を求めていくことができる。
【0068】
判定部14は、例えば、後述の第1受付部17aが受け付けた判定方法であってユーザにより選択された判定方法により更新された評価関数の妥当性を判定してもよい。このような構成によれば、ユーザの意思を反映した判定方法により評価関数の妥当性を判定することができる。このため、このような構成によれば、現場の実状に合わせた評価関数の利用が可能になる。
【0069】
記憶部15は、判定部14における複数の判定方法を記憶する。
【0070】
出力部16は、第1出力部16aと、第2出力部16bとを備える。出力部16は、検知部12が対象100の異常を検知した場合、対象100の異常を出力する。出力部16は、例えば、対象100の異常を検知した場合、検知結果としてこの異常を検知した旨をコンピュータ30の表示装置等に出力するための出力情報を生成してもよい。出力部16は、コンピュータ30にこの出力情報を出力する。
【0071】
第1出力部16aは、複数の判定部14における判定方法を記憶する記憶部を参照して、複数の判定方法それぞれをユーザから選択可能に出力する。この記憶部は、コントローラ10の記憶部15であってもよいし、コンピュータ30等の外部機器の記憶部であってもよい。
【0072】
第1出力部16aは、例えば、上記複数の判定方法をリストアップした画面であってこのリストから採用する判定方法の選択を受け付ける画面をコンピュータ30の表示装置等に出力するための第1出力情報を生成してもよい。第1出力部16aはこの第1出力情報をコンピュータ30に出力する。
【0073】
第2出力部16bは、評価関数における初期化の実行タイミングを、ユーザから選択可能に出力する。初期化の実行タイミングは、上記の「評価関数の妥当性がないと判定した場合」の他に、例えば、「即時」、「ユーザが指定した日時」等が考えられる。
【0074】
第2出力部16bは、例えば、初期化の実行タイミングを指定するフォームを含む画面であってこのフォームからユーザの実行タイミングの指定を受け付ける画面をコンピュータ30の表示装置等に出力するための第2出力情報を生成してもよい。第1出力部16aはこの第2出力情報をコンピュータ30に出力する。
【0075】
受付部17は、第1受付部17aと、第2受付部17bと、を備える。
【0076】
第1受付部17aは、第1出力部16aにより出力された判定方法の選択を、ユーザから受け付ける。
【0077】
第2受付部17bは、例えば、第2出力部16bにより出力された実行タイミングの選択を、ユーザから受け付けてもよい。
【0078】
図5を参照して、本実施形態に係るコントローラ10により実行される処理の一例を説明する。
【0079】
図5に示すように、取得部11は、対象100の状態を監視するセンサ20の出力信号から生成された時系列の数値を、逐次取得する(S30)。次に検知部12は、取得部11により新たに取得された数値を評価関数に入力して得られた演算結果に基づいて、対象100の状態を逐次検知する(S31)。
【0080】
検知部12が対象100の異常を検知した場合(S32のYes)、出力部16は、対象の異常をコンピュータ30等に出力する(S33)。
【0081】
更新部13は、取得部11により新たに取得された数値に基づいて評価関数を逐次更新する(S34)。判定部14は、評価関数の演算結果に基づいて、更新部13により更新された評価関数の妥当性を判定する(S35)。
【0082】
判定部14が評価関数の妥当性がないと判定した場合(S36のNo)、更新部13は、評価関数を初期化する(S37)。
【0083】
コントローラ10が処理を続ける場合(S38のNo)、フローはステップS30の前に戻って、コントローラ10は次の時系列の数値を処理する。
【0084】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【0085】
[変形例]
なお、本発明を上記実施形態に基づいて説明してきたが、以下のような場合も本発明に含まれる。
(1)上記実施形態では、時系列の数値として1変数(Xn)を用いる、すなわち対象の一つの品質の状態を評価する例を説明したが、これに限定されない。例えば、評価関数は2変数(本例では、X1n、X2n)を用いてもってもよい。
【0086】
図7を参照して、
図8~9の管理図における、本実施形態に係るコントローラ10により実行される2変数での評価関数の逐次更新及び初期化の具体的な処理の一例を説明する。
【0087】
図7に示すように、コントローラ10は、対象100の状態を示す時系列の二つの数値(X1
n、X2
n)を取得する(S50)。
【0088】
次にコントローラ10は、時系列の二つの数値を標準化した値(NL1n、NL2n)を算出する(S51)。
【0089】
今回標準化した値(NL1n)と前回標準化した値(NL1n-1)の符号が同じ場合(S52のYes)、コントローラ10は、連の数(SPC1)をインクリメントする(S53)。今回標準化した値(NL1n)と前回標準化した値(NL1n-1)の符号が異なる場合(S52のNo)、コントローラ10は、連の数(SPC)を「0」で初期化する(S54)。
【0090】
今回標準化した値(NL2n)と前回標準化した値(NL2n-1)の符号が同じ場合(S55のYes)、コントローラ10は、連の数(SPC2)をインクリメントする(S56)。今回標準化した値(NL2n)と前回標準化した値(NL2n-1)の符号が異なる場合(S55のNo)、コントローラ10は、連の数(SPC2)を「0」で初期化する(S57)。
【0091】
インクリメントしたそれぞれの連の数のうち最大値(Max(SPC1、SPC2))が設定された上限値(SPCmax)以上の場合(S58のYes)、コントローラ10は、nを「1」で初期化する(S59)。これにより、コントローラ10は、評価関数(数式(1))を初期化する。
【0092】
インクリメントしたそれぞれの連の数のうち最大値(Max(SPC1、SPC2))が設定された上限値(SPCmax)より小さい場合(S58のNo)、かつ「n」が7より小さい場合(S60のYes)、ステップS59の後に遷移する。
【0093】
なお、このステップ60では、後述のマハラノビス距離の2乗値(MDn)において、原理的にはn≧4から算出することができる。しかしながらnの値が小さい場合、MDnは不安定なため、本例ではnが「7」から算出するように判断分岐している。
【0094】
ここで上記「原理的にはn≧4から算出することができる」について補足する。nが「1」の場合、前の周期のデータがないためMDnが算出できない。またnが「2」の場合、前の周期までのデータが1サンプル分となり相関関係が計算できないので、MDnが算出できない。またnが3の場合、前の周期までのデータが2サンプル分となり相関係数は1となるので逆行列(数式(5))が計算できず、MDnが算出できない。このようにn<4までは、MDnを算出することができない。
【0095】
インクリメントしたそれぞれの連の数のうち最大値(Max(SPC1、SPC2))が設定された上限値(SPCmax)より小さい場合(S58のNo)、かつ「n」が7以上の場合(S60のNo)、数式(4)~(7)で示すように、マハラノビス距離の2乗値(MDn)を算出する(S61)。なお数式(6)において、Cov0=0とする。
【0096】
【0097】
【0098】
【0099】
【0100】
マハラノビス距離の2乗(MD(n))が設定した管理値(MDmax)より小さい場合、コントローラ10は、式(2)を用いてそれぞれの平均値(Ave1n、Ave2n)を算出する(S63)。またコントローラ10は、式(3)を用いてそれぞれの標準偏差(Std1n、Std2n)を算出する(S63)。
【0101】
マハラノビス距離の2乗(MDn)が設定した管理値(MDmax)以上の場合、コントローラ10は、今回のそれぞれの平均値(Ave1n、Ave2n)には前回のそれぞれの平均値(Aven-1、Ave2n-1)を、設定する(S64)。また、この場合、コントローラ10は、今回のそれぞれの標準偏差(Std1n、Std2n)にも前回の標準偏差(Std1n-1、Std2n-1)を設定する(S64)。ステップS65の前に遷移する。
【0102】
上記方法によれば、マハラノビス距離の2乗(MDn)が管理値(MDmax)以上の場合、すなわちMDnが外れ値の場合、対応する時系列の数値により算出された値(平均値、標準偏差、共分散)をこれまで逐次更新してきた統計量に含めないようにすることができる。
【0103】
コントローラ10は、式(7)を用いて時系列の二つの数値の相関関係(Corrn)を算出する(S65)。コントローラ10は、nをインクリメントする(S66)。フローは、ステップS50の前に戻る。そして次のn+1番目の数値(X1n+1、X2n+1)に関する処理に移る。このような方法により、コントローラ10は、時系列の二つの数値であっても評価関数を逐次更新し、標準化した値等を求めていくことができる。
【0104】
図7~8を参照して、2変数における検知部12における異常の検知処理の一例を説明する。
図7は、
図3と同様に対象100の二つの品質を管理するための管理図であり、時系列の数値X1
nと数値X2
nと式(4)のマハラノビス距離の2乗(MD
n)とがプロットされた管理図である。
図8(a)は、
図7とは異なるパターンの管理図である。
図8(b)は、
図8(a)が示す時系列の数値をプロットした散布図である。これらの管理図では、横軸を時系列の数値の番号「n」、縦軸を時系列の数値(計量値)とマハラノビス距離の2乗とする。
【0105】
図7(a)に示すように、例えば、100番目の時系列の数値であるX1
100とX2
100が外れ値としてプロットされると、MD
100も上限管理値を超えた管理値外れ(OOC)としてプロットされる。このようにX1
n及びX2
nの異常をMD
nの大きさで評価することができる。
【0106】
図7(b)に示すように、例えば、時系列の数値それぞれの変化点、すなわち対象100の品質特性が変わった点であるX1
57及びX2
57に対応するMD
57を起点として連が生じている。連の長さが設定された上限値以上となる場合、更新部13は、評価関数を初期化する。
【0107】
図8(a)に示すように、X1とX2それぞれの時系列の数値を個別に状態を評価して異常を検知していると、それぞれは管理限界線の範囲内に入っているので正常と評価されることがある。しかしながらそのような場合でも、これらの2変数のマハラノビス距離においては上限管理値を超えた管理値外れ(MD
137)がプロットされる。このように1変数の評価関数では検知できない異常を2変数の評価関数により検知できることが分かる。
【0108】
図8(b)は、
図8(a)の時系列の2つの数値を散布図にプロットしたものである。
図8(b)に示すように、時系列の2つの数値、すなわち2変数間の相関関係を考慮して中心からどの程度離れているかを示すMD
137の値が異常に高くなって分布から外れているのが分かる。
【0109】
(2)上記実施形態では、時系列の数値の標準化にあたって、数式(2)及び(3)に示すようにn(データ数)で除算する例を説明したが、これに限定されない。時系列の数値の標準化にあたって、他の例として、(ア)nに上限を設ける、(イ)nを一定値にして使用する、(ウ)nによる除算ではなく、0.1等の小さな値をパラメタとして用意しこの値を乗算する、等の方法も考えられる。
【0110】
本実施形態における態様は、以下のような開示を含む。
【0111】
[付記1]
対象(100)の状態を監視するセンサ(20)の出力信号から生成された時系列の数値を、逐次取得する取得部(11)と、
取得部(11)により新たに取得された数値を評価関数に入力して得られた演算結果に基づいて、対象(100)の異常を逐次検知する検知部(12)と、
取得部(11)により新たに取得された数値に基づいて、評価関数を逐次更新する更新部(13)と、
評価関数の演算結果に基づいて、評価関数の妥当性を判定する判定部(14)と、を備え、
更新部(13)は、判定部(14)が評価関数の妥当性がないと判定した場合、評価関数を初期化する、
コントローラ(10)。
【0112】
[付記2]
コントローラ(10)に、
対象(100)の状態を監視するセンサ(20)の出力信号から生成された時系列の数値を、逐次取得することと、
新たに取得された前記数値を評価関数に入力して得られた演算結果に基づいて、対象(100)の異常を逐次検知することと、
新たに取得された前記数値に基づいて、前記評価関数を逐次更新することと、
前記評価関数の演算結果に基づいて、前記更新された評価関数の妥当性を判定することと、
前記評価関数の妥当性がないと判定した場合、前記評価関数を初期化することと、
を実行させる方法。
【0113】
[付記3]
コントローラ(10)に、
対象(100)の状態を監視するセンサ(20)の出力信号から生成された時系列の数値を、逐次取得することと、
新たに取得された前記数値を評価関数に入力して得られた演算結果に基づいて、対象(100)の異常を逐次検知することと、
新たに取得された前記数値に基づいて、前記評価関数を逐次更新することと、
前記評価関数の演算結果に基づいて、前記更新された評価関数の妥当性を判定することと、
前記評価関数の妥当性がないと判定した場合、前記評価関数を初期化することと、
を実行させるプログラム。
【符号の説明】
【0114】
1…システム、10…コントローラ、11…取得部、12…検知部、13…更新部、14…判定部、15…記憶部、16…出力部、16a…第1出力部、16b…第2出力部、17…受付部、17a…第1受付部、17b…第2受付部、20…センサ、30…コンピュータ、50…搬送装置、100…対象