(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-22
(45)【発行日】2024-05-01
(54)【発明の名称】工程解析装置、工程解析方法、及び工程解析プログラム
(51)【国際特許分類】
G05B 19/418 20060101AFI20240423BHJP
G06N 7/01 20230101ALI20240423BHJP
【FI】
G05B19/418 Z
G06N7/01
(21)【出願番号】P 2020191815
(22)【出願日】2020-11-18
【審査請求日】2023-09-07
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100124039
【氏名又は名称】立花 顕治
(72)【発明者】
【氏名】服部 玲子
(72)【発明者】
【氏名】太田 雄也
(72)【発明者】
【氏名】柴垣 早映子
(72)【発明者】
【氏名】峯本 俊文
【審査官】石田 宏之
(56)【参考文献】
【文献】特許第6551565(JP,B2)
【文献】特許第4239932(JP,B2)
【文献】特開2019-49940(JP,A)
【文献】特開平7-114601(JP,A)
【文献】特開平11-90793(JP,A)
【文献】特開2016-122332(JP,A)
【文献】特開2018-181158(JP,A)
【文献】特開2020-149303(JP,A)
【文献】特開2011-81697(JP,A)
【文献】特表2019-528426(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/418
G06N 7/01
(57)【特許請求の範囲】
【請求項1】
製造ラインを構成する複数の機構の正常時の状態に関する複数件の第1状態データを取得する正常データ取得部と、
前記複数の機構の異常発生時の状態に関する複数件の第2状態データを取得する異常データ取得部と、
取得した前記複数件の第1状態データを解析することにより、前記複数の機構間の接続状態を、第1接続状態として特定する正常時解析部と、
取得した前記複数件の第2状態データを解析することにより、前記複数の機構間の接続状態を、第2接続状態として特定する異常時解析部と、
前記第1接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、正常時因果関係として特定する正常時関係特定部と、
前記第2接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、異常時因果関係として特定する異常時関係特定部と、
前記正常時因果関係と前記異常時因果関係とを比較し、異常の発生に関連する複数の前記機構間の因果関係を、特別因果関係として特定する特別因果関係特定部と、
を備える、工程解析装置。
【請求項2】
前記正常時解析部及び前記異常時解析部は、それぞれ、(1)前記各件の状態データから特徴量を算出し、(2)当該各特徴量間の相関係数又は偏相関係数を算出する、ことによって、前記複数の機構間の接続状態を特定し、
前記特別因果関係特定部は、
前記正常時因果関係の前記各機構における前記特徴量と、前記異常時因果関係の前記各機構における前記特徴量との乖離度を算出し、
当該乖離度が所定値よりも大きい機構をノードとして選択し、
前記正常時因果関係と前記異常時因果関係とを比較したときに、前記機構間の接続状態が所定条件を充足するときに、当該機構間の接続をエッジとして選択し、
前記選択したノード及びエッジにより、前記特別因果関係を特定する、
請求項1に記載の工程解析装置。
【請求項3】
前記製造ラインの動作を制御するための制御プログラムを取得する制御プログラム取得部と、
取得した前記制御プログラムを解析することにより、前記複数の機構の順序関係を特定する、制御プログラム解析部と、
前記複数の機構の順序関係に基づいて、前記複数の機構の制約モデルを生成する、制約モデル生成部と、
をさらに備え、
前記特別因果関係特定部は、前記制約モデルに基づいて、前記特別因果関係を特定する、
請求項1または2に記載の工程解析装置。
【請求項4】
前記複数の機構のそれぞれに含まれる装置の相対的な位置関係及び前記装置が前記工程に関与する順序の少なくとも一方に関する機構データを取得する、機構データ取得部と、
取得した前記機構データを解析し、前記製造ラインで実施される前記工程をモデル化することで、前記複数の機構の順序関係を示す工程モデルを特定する、機構データ解析部と、
をさらに備え、
前記制約モデル生成部は、前記複数の機構の順序関係及び前記工程モデルに基づいて、前記制約モデルを生成する、
請求項3に記載の工程解析装置。
【請求項5】
前記制御プログラム解析部は、前記制御プログラムを利用して前記製造ラインを稼働させることで得られるログデータに基づいて、前記複数の機構の順序関係を特定する、
請求項3または4に記載の工程解析装置。
【請求項6】
前記制御プログラム解析部は、(1)前記制御プログラムから抽象構文木を構築し、(2)構築した当該抽象構文木から前記各機構に関する変数と条件分岐とを抽出し、(3)前記制御プログラムを利用して前記製造ラインを正常に稼働させたときのログデータを取得し、(4)取得した前記ログデータを参照して、前記条件分岐の実行結果に基づいた、前記各変数の順番付けを行う、ことによって、前記複数の機構の順序関係を特定する、
請求項5に記載の工程解析装置。
【請求項7】
前記製造ラインの稼働に当たって、所定の品質を達成するための前記製造ラインの調整項目の調整量を決定するための第1実験計画データを取得する第1実験計画データ取得部と、
前記第1実験計画データ及び前記制約モデルに基づいて、前記調整項目と前記機構との因果関係、及び前記複数の機構間の因果関係を、制御因果関係として生成する制御因果関係生成部と、
をさらに備えている、請求項3から6のいずれかに記載の工程解析装置。
【請求項8】
前記制御因果関係と前記特別因果関係とを比較することで、異常の発生に関連する複数の前記機構間の因果関係と、当該機構と前記調整項目との因果関係とを含む、品質調整因果関係を特定する、品質調整因果関係特定部を、さらに備えている、請求項7に記載の工程解析装置。
【請求項9】
前記品質調整因果関係で特定された前記調整項目の調整量と、前記品質との関係を決定するための第2実験計画データを取得する、第2実験計画データ取得部と、
前記第2実験計画データに基づいて、前記製造ラインにおける前記調整項目の調整量と前記品質との関係を特定する、品質予測モデルを生成する、品質予測モデル生成部を、さらに備えている、請求項8に記載の工程解析装置。
【請求項10】
前記品質予測モデルに基づいて、所望の品質を達成するための前記調整項目の調整量を算出する、調整量算出部を、さらに備えている、請求項9に記載の工程解析装置。
【請求項11】
前記各件の状態データは、トルク、速度、加速度、温度、電流、電圧、空圧、圧力、流量、位置、寸法、面積、光量、ON/OFF状態の少なくともいずれかを示す、
請求項1から10のいずれかに記載の工程解析装置。
【請求項12】
コンピュータが、
製造ラインを構成する複数の機構の正常時の状態に関する複数件の第1状態データを取得すステップと、
前記複数の機構の異常発生時の状態に関する複数件の第2状態データを取得するステップと、
取得した前記複数件の第1状態データを解析することにより、前記複数の機構間の接続状態を、第1接続状態として特定するステップと、
取得した前記複数件の第2状態データを解析することにより、前記複数の機構間の接続状態を、第2接続状態として特定するステップと、
前記第1接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、正常時因果関係として特定するステップと、
前記第2接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、異常時因果関係として特定するステップと、
前記正常時因果関係と前記異常時因果関係とを比較し、異常の発生に関連する複数の前記機構間の因果関係を、特別因果関係として特定するステップと、
を実行する工程解析方法。
【請求項13】
コンピュータに、
製造ラインを構成する複数の機構の正常時の状態に関する複数件の第1状態データを取得すステップと、
前記複数の機構の異常発生時の状態に関する複数件の第2状態データを取得するステップと、
取得した前記複数件の第1状態データを解析することにより、前記複数の機構間の接続状態を、第1接続状態として特定するステップと、
取得した前記複数件の第2状態データを解析することにより、前記複数の機構間の接続状態を、第2接続状態として特定するステップと、
前記第1接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、正常時因果関係として特定するステップと、
前記第2接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、異常時因果関係として特定するステップと、
前記正常時因果関係と前記異常時因果関係とを比較し、異常の発生に関連する複数の前記機構間の因果関係を、特別因果関係として特定するステップと、
を実行させるための工程解析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工程解析装置、工程解析方法、及び工程解析プログラムに関する。
【背景技術】
【0002】
工場等における製造ラインは、コンベア、ロボットアーム等の複数の機構で構成されている。この製造ラインのいずれかの機構で異常が発生すると、製品の製造が停止してしまい、大きな損害をもたらす可能性がある。そのため、工場等では、保全員が、製造ラインを定期的に巡回して、異常の発生又はその予兆の有無の確認を行っている。
【0003】
製造ライン内で異常の発生又はその予兆を検知したとき、異常が検知された機構よりも前の機構に真の異常の原因が存在する場合がある。したがって、真の異常の原因を特定するためには、製造ライン内の各機構の因果関係を把握することが重要である。しかしながら、製造ラインを構成する機構の数が多くなり、かつ各機構の動作条件が日々変化し得ることから、全ての機構の因果関係を正確に把握するのは困難である。
【0004】
そのため、従来、熟練の保全員が、自身の経験及び勘に基づいて、製造ラインを構成する複数の機構間の因果関係を把握して、製造ライン内で生じた異常又はその予兆の検知を行っていた。このような保全業務を非熟練の保全員が行うことができるようにするため、製造ラインを構成する複数の機構の因果関係を可視化する技術の開発が望まれていた。
【0005】
例えば、特許文献1に開示されているシステムでは、因果関係モデルを構築するに当たって、ドメイン知識を取得している。そして、構築した因果関係モデルとドメイン知識とを比較し、両者の間に矛盾がある場合には、因果関係モデルを再構築するようにしている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載のシステムでは、ドメイン知識を活用することが前提になっているため、非熟練者が利用することは難しく、また新規に発生した現象に対しても利用が難しいと考えられる。本発明は、上記問題を解決するためになされたものであり、例えば、非熟練者であっても、製造ラインで生じた異常の要因を容易に特定することが可能な工程解析装置、工程解析方法、及び工程解析プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る工程解析装置は、製造ラインを構成する複数の機構の正常時の状態に関する複数件の第1状態データを取得する正常データ取得部と、前記複数の機構の異常発生時の状態に関する複数件の第2状態データを取得する異常データ取得部と、取得した前記複数件の第1状態データを解析することにより、前記複数の機構間の接続状態を、第1接続状態として特定する正常時解析部と、取得した前記複数件の第2状態データを解析することにより、前記複数の機構間の接続状態を、第2接続状態として特定する異常時解析部と、前記第1接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、正常時因果関係として特定する正常時関係特定部と、前記第2接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、異常時因果関係として特定する異常時関係特定部と、前記正常時因果関係と前記異常時因果関係とを比較し、異常の発生に関連する複数の前記機構間の因果関係を、特別因果関係として特定する特別因果関係特定部と、を備える。
【0009】
上記工程解析装置において、前記正常時解析部及び前記異常時解析部は、それぞれ、(1)前記各件の状態データから特徴量を算出し、(2)当該各特徴量間の相関係数又は偏相関係数を算出する、ことによって、前記複数の機構間の接続状態を特定し、前記特別因果関係特定部は、前記正常時因果関係の前記各機構における前記特徴量と、前記異常時因果関係の前記各機構における前記特徴量との乖離度を算出し、当該乖離度が所定値よりも大きい機構をノードとして選択し、前記正常時因果関係と前記異常時因果関係とを比較したときに、前記機構間の接続状態が所定条件を充足するときに、当該機構間の接続をエッジとして選択し、前記選択したノード及びエッジにより、前記特別因果関係を特定する、ように構成することができる。
【0010】
上記工程解析装置においては、前記製造ラインの動作を制御するための制御プログラムを取得する制御プログラム取得部と、取得した前記制御プログラムを解析することにより、前記複数の機構の順序関係を特定する、制御プログラム解析部と、前記複数の機構の順序関係に基づいて、前記複数の機構の制約モデルを生成する、制約モデル生成部と、をさらに備えることができ、前記特別因果関係特定部は、前記制約モデルに基づいて、前記特別因果関係を特定するように構成できる。
【0011】
上記工程解析装置においては、前記複数の機構のそれぞれに含まれる装置の相対的な位置関係及び前記装置が前記工程に関与する順序の少なくとも一方に関する機構データを取得する、機構データ取得部と、取得した前記機構データを解析し、前記製造ラインで実施される前記工程をモデル化することで、前記複数の機構の順序関係を示す工程モデルを特定する、機構データ解析部と、をさらに備えることができ、前記制約モデル生成部は、前記複数の機構の順序関係及び前記工程モデルに基づいて、前記制約モデルを生成することができる。
【0012】
上記工程解析装置において、前記制御プログラム解析部は、前記制御プログラムを利用して前記製造ラインを稼働させることで得られるログデータに基づいて、前記複数の機構の順序関係を特定するように構成できる。
【0013】
上記工程解析装置において、前記制御プログラム解析部は、(1)前記制御プログラムから抽象構文木を構築し、(2)構築した当該抽象構文木から前記各機構に関する変数と条件分岐とを抽出し、(3)前記制御プログラムを利用して前記製造ラインを正常に稼働させたときのログデータを取得し、(4)取得した前記ログデータを参照して、前記条件分岐の実行結果に基づいた、前記各変数の順番付けを行う、ことによって、前記複数の機構の順序関係を特定する、ように構成できる。
【0014】
上記工程解析装置においては、前記製造ラインの稼働に当たって、所定の品質を達成するための前記製造ラインの調整項目の調整量を決定するための第1実験計画データを取得する第1実験計画データ取得部と、前記第1実験計画データ及び前記制約モデルに基づいて、前記調整項目と前記機構との因果関係、及び前記複数の機構間の因果関係を、制御因果関係として生成する制御因果関係生成部と、をさらに備えることができる。
【0015】
上記工程解析装置においては、前記制御因果関係と前記特別因果関係とを比較することで、異常の発生に関連する複数の前記機構間の因果関係と、当該機構と前記調整項目との因果関係とを含む、品質調整因果関係を特定する、品質調整因果関係特定部を、さらに備えることができる。
【0016】
上記工程解析装置においては、前記品質調整因果関係で特定された前記調整項目の調整量と、前記品質との関係を決定するための第2実験計画データを取得する、第2実験計画データ取得部と、前記第2実験計画データに基づいて、前記製造ラインにおける前記調整項目の調整量と前記品質との関係を特定する、品質予測モデルを生成する、品質予測モデル生成部を、さらに備えることができる。
【0017】
上記工程解析装置においては、前記品質予測モデルに基づいて、所望の品質を達成するための前記調整項目の調整量を算出する、調整量算出部を、さらに備えることができる。
【0018】
上記工程解析装置において、前記各件の状態データは、トルク、速度、加速度、温度、電流、電圧、空圧、圧力、流量、位置、寸法、面積、光量、ON/OFF状態の少なくともいずれかを示すことができる。
【0019】
本発明に係る工程解析方法は、コンピュータが、製造ラインを構成する複数の機構の正常時の状態に関する複数件の第1状態データを取得すステップと、前記複数の機構の異常発生時の状態に関する複数件の第2状態データを取得するステップと、取得した前記複数件の第1状態データを解析することにより、前記複数の機構間の接続状態を、第1接続状態として特定するステップと、取得した前記複数件の第2状態データを解析することにより、前記複数の機構間の接続状態を、第2接続状態として特定するステップと、前記第1接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、正常時因果関係として特定するステップと、前記第2接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、異常時因果関係として特定するステップと、前記正常時因果関係と前記異常時因果関係とを比較し、異常の発生に関連する複数の前記機構間の因果関係を、特別因果関係として特定するステップと、を実行する。
【0020】
本発明に係る工程解析プログラムは、コンピュータに、製造ラインを構成する複数の機構の正常時の状態に関する複数件の第1状態データを取得すステップと、前記複数の機構の異常発生時の状態に関する複数件の第2状態データを取得するステップと、取得した前記複数件の第1状態データを解析することにより、前記複数の機構間の接続状態を、第1接続状態として特定するステップと、取得した前記複数件の第2状態データを解析することにより、前記複数の機構間の接続状態を、第2接続状態として特定するステップと、前記第1接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、正常時因果関係として特定するステップと、前記第2接続状態に基づいて、前記製造ラインで実施される工程における前記複数の機構間の因果関係を、異常時因果関係として特定するステップと、前記正常時因果関係と前記異常時因果関係とを比較し、異常の発生に関連する複数の前記機構間の因果関係を、特別因果関係として特定するステップと、を実行させる。
【発明の効果】
【0021】
本発明によれば、例えば、非熟練者であっても、製造ラインで生じた異常の要因を容易に特定することが可能となる。
【図面の簡単な説明】
【0022】
【
図1】本発明の一実施形態に係る工程解析装置の適用場面の一例を示す概略図である。
【
図2】工程解析装置のハードウェア構成を示すブロック図の例である。
【
図3】PLCのハードウェア構成を示すブロック図の例である。
【
図4】工程解析装置のソフトウェア構成を示すブロック図の例である。
【
図5】制約モデル生成モジュールの機能構成を示すブロック図の例である。
【
図6】制約モデル生成モジュールの処理手順を示すフローチャートの例である。
【
図7】制御プログラムの解析処理を示すフローチャートの例である。
【
図8】制御プログラムから構築される抽象構文木の一例である。
【
図9A】各変数の順序付けの初期化を行った場面の一例である。
【
図9B】制御プログラムの解析により特定される複数の機構間の順序関係の一例である。
【
図11】イベント因果関係生成モジュールの機能構成を示すブロック図の例である。
【
図12】イベント因果関係生成モジュールの処理手順を示すフローチャートの例である。
【
図13】状態データを解析する際の処理手順を示すフローチャートの例である。
【
図14】正常時の状態データを解析する過程の一例である。
【
図15】正常時の複数の機構間の因果関係を示す有向グラフ情報の一例である。
【
図16】異常時の状態データを解析する過程の一例である。
【
図17】正常時の複数の機構間の因果関係を示す有向グラフ情報の一例である。
【
図18】イベント因果関係の生成の処理手順を示すフローチャートの例である。
【
図21】制御因果関係生成モジュールの機能構成を示すブロック図の例である。
【
図22】制御因果関係生成モジュールの処理手順を示すフローチャートの例である。
【
図24】品質調整因果モデル生成モジュールの機能構成を示すブロック図の例である。
【
図25】品質調整因果モデル生成モジュールの処理手順を示すフローチャートである。
【
図26】対応するイベント因果モデルと制御因果関係モデルとから品質調整因果モデルを作成する手順を示す図である。
【
図27】対応するイベント因果モデルと制御因果関係モデルとから品質調整因果モデルを作成する手順を示す図である。
【
図28】対応するイベント因果モデルと制御因果関係モデルとから品質調整因果モデルを作成する手順を示す図である。
【
図29】対応するイベント因果モデルと制御因果関係モデルとから品質調整因果モデルを作成する手順を示す他の例の図である。
【
図30】対応するイベント因果モデルと制御因果関係モデルとから品質調整因果モデルを作成する手順を示す他の例の図である。
【
図31】品質予測モデル生成モジュールの機能構成を示すブロック図の例である。
【
図32】品質予測モデル生成モジュールの処理手順を示すフローチャートの例である。
【
図33】イベント因果関係の生成の他の例を示す図である。
【発明を実施するための形態】
【0023】
以下、本発明に係る工程解析装置の一実施形態について、図面を参照しつつ説明する。
<1.適用例>
まず、
図1を用いて、本発明が適用される場面の一例について説明する。
図1は、本実施形態に係る工程解析装置1の利用場面の一例を模式的に例示する。
【0024】
図1に示すように、本実施形態に係る工程解析装置1は、製造ライン3を構成する複数の機構31の状態に関する複数件の状態データ222及び機構データ223を取得する。製造ライン3は、何らかの物を製造可能であればよく、複数の装置で構成されてもよいし、包装機等の1つの装置で構成されてもよい。また、各機構31は、製造工程の何らかの処理を実施可能であればよく、1又は複数の装置で構成されてもよいし、装置の一部で構成されてもよい。1つの機構31が装置の一部で構成される場合、複数の機構31は、1つの装置で構成されてもよい。また、同一の装置が複数の処理を実施する場合には、それぞれを別の機構31とみなしてもよい。例えば、同一の装置が第1の処理と第2の処理とを実施する場合に、第1の処理をする当該装置を第1の機構31とみなし、第2の処理をする当該装置を第2の機構31とみなしてもよい。更に、状態データ222は、製造ライン3を構成する各機構31の状態に関するあらゆる種類のデータを含んでよい。
【0025】
また、本実施形態に係る工程解析装置1は、製造ライン3の動作を制御するための制御プログラム221を取得する。制御プログラム221は、製造ライン3を構成する各機構31の動作を制御するあらゆる種類のプログラムを含んでよい。制御プログラム221は、1件のプログラムで構成されてもよいし、複数件のプログラムで構成されてもよい。なお、本実施形態では、製造ライン3の動作は、PLC(programmable logic controller)2によって制御される。そのため、工程解析装置1は、複数件の状態データ222、機構データ223、及び制御プログラム221をPLC2から取得する。
【0026】
次に、本実施形態に係る工程解析装置1は、取得した複数件の状態データ222を統計的に解析することにより、製造ライン3内における複数の機構31間の関係の強さを特定する。関係の強さは、本発明の「接続状態」の一例である。また、本実施形態に係る工程解析装置1は、取得した制御プログラム221及び機構データ223を解析することにより、製造ライン3内における複数の機構31の順序関係を特定する。そして、本実施形態に係る工程解析装置1は、それぞれ特定した関係の強さ及び順序関係に基づいて、製造ライン3で実行される工程における複数の機構31間の因果関係を特定する。
【0027】
以上のとおり、本実施形態では、複数の機構31間の因果関係を解析する過程において、複数の機構31間の順序関係を特定するために、制御プログラム221を利用している。制御プログラム221は各機構31の動作を規定しているため、制御プログラム221を利用することで、各機構31の順序関係をより正確に特定可能である。したがって、本実施形態によれば、製造ライン3を構成する複数の機構31間の因果関係を正確にモデル化することができる。
【0028】
さらに、後述するが、状態データ222を用いた機構31間の関係の強さを特定する際には、製造ライン3が正常に稼働しているときの状態データ222を用いたときと、製造ライン3に異常が発生した状態で稼働しているときの状態データ222を用いたときの2つの因果関係を求め、これらの因果関係の比較により、異常の発生に関連する機構31のみを抽出したイベント因果関係モデルを生成することを特徴としている。
【0029】
<2.工程解析装置のハードウェア構成>
次に、
図2を用いて、本実施形態に係る工程解析装置1のハードウェア構成の一例について説明する。
図2は、本実施形態に係る工程解析装置1のハードウェア構成の一例を模式的に例示する。
【0030】
図2に示されるとおり、本実施形態に係る工程解析装置1は、制御部11、記憶部12、通信インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、
図2では、通信インタフェースを「通信I/F」と記載している。
【0031】
制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御を行う。記憶部12は、例えば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置であり、制御部11で実行される工程解析プログラム121等を記憶する。
【0032】
工程解析プログラム121は、複数件の状態データ222、機構データ223、及び制御プログラム221を利用して、製造ライン3の実施する製造工程における複数の機構31間の因果関係を解析する後述の処理(
図5)を工程解析装置1に実行させるためのプログラムである。詳細は後述する。
【0033】
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。工程解析装置1は、この通信インタフェース13により、PLC2との間でネットワークを介したデータ通信を行うことができる。なお、ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。
【0034】
入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を介して、工程解析装置1を操作することができる。
【0035】
ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記工程解析プログラム121は、この記憶媒体91に記憶されていてもよい。
【0036】
記憶媒体91は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。工程解析装置1は、この記憶媒体91から、上記工程解析プログラム121を取得してもよい。
【0037】
ここで、
図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
【0038】
なお、工程解析装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のプロセッサを含んでもよい。工程解析装置1は、複数台の情報処理装置で構成されてもよい。また、工程解析装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
【0039】
<3.PLC>
次に、
図3を用いて、製造ライン3の動作を制御するPLC2のハードウェア構成の一例を説明する。
図3は、本実施形態に係るPLC2のハードウェア構成の一例を模式的に例示する。
【0040】
図3に示されるとおり、PLC2は、制御部21、記憶部22、入出力インタフェース23、及び通信インタフェース24が電気的に接続されたコンピュータである。これにより、PLC2は、製造ライン3の各機構31の動作を制御するように構成される。なお、
図3では、入出力インタフェース及び通信インタフェースをそれぞれ「入出力I/F」及び「通信I/F」と記載している。
【0041】
制御部21は、CPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、RAM、ROM等で構成され、制御プログラム221、状態データ222、機構データ223、及びログデータ224等を記憶する。制御プログラム221は、製造ライン3の動作を制御するためのプログラムである。状態データ222は、各機構31の状態に関するデータである。機構データ223は、複数の機構31それぞれに含まれる装置の相対的な位置関係、及びその装置が工程に関与する順序の少なくとも一方に関するデータである。その他、機構データ223としては、例えば、装置のリスト、装置の動作を監視するセンサのリスト、工程の順序を示す情報、センサの設置位置を示す情報等を用いることができる。また、ログデータ223は、製造ライン3の動作のログを示すデータである。
【0042】
入出力インタフェース23は、外部装置と接続するためのインタフェースであり、接続する外部装置に応じて適宜構成される。本実施形態では、PLC2は、入出力インタフェース23を介して、製造ライン3に接続される。なお、単一の装置について異なる状態データを取得可能な場合、当該対象の単一の装置は、複数の機構31とみなされてもよいし、単一の機構31とみなされてもよい。そのため、入出力インタフェース23の数は、製造ライン3を構成する機構31の数と同じであってもよいし、製造ライン3を構成する機構31の数と相違していてもよい。
【0043】
通信インタフェース24は、例えば、有線LANモジュール、無線LANモジュール等であり、有線又は無線通信を行うためのインタフェースである。PLC2は、通信インタフェース24により、工程解析装置1との間でデータ通信を行うことができる。
【0044】
なお、PLC2の具体的なハードウェア構成に関して、実施の形態に応じて、適宜、構成要素の省略、置換、及び追加が可能である。例えば、制御部21は、複数のプロセッサを含んでもよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。記憶部22は、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置で構成されてもよい。また、PLC2は、提供されるサービス専用に設計された情報処理装置の他、制御する対象に応じて、汎用のデスクトップPC、タブレットPC等に置き換えられてもよい。
【0045】
<4.工程解析装置のソフトウェア構成>
次に、
図4を用いて、本実施形態に係る工程解析装置1のソフトウェア構成の一例を説明する。
図4は、本実施形態に係る工程解析装置1のソフトウェア構成の一例を模式的に例示する。
【0046】
工程解析装置1の制御部11は、記憶部12に記憶された工程解析プログラム121をRAMに展開する。そして、制御部11は、RAMに展開された工程解析プログラム121をCPUにより解釈及び実行して、各構成要素を制御する。これによって、
図4に示されるとおり、本実施形態に係る工程解析装置1は、ソフトウェアモジュールとして、制約モデル生成モジュール101、イベント因果モデル生成モジュール102、制御因果モデル生成モジュール103、品質調整因果モデル生成モジュール104、及び品質予測モデル生成モジュール105、を備えるコンピュータとして構成される。以下、これらを順に説明する。
【0047】
<4-1.制約モデル生成モジュール>
<4-1-1.制約モデル生成モジュールの構成>
まず、制約モデル生成モジュール101について説明する。
図5に示すように、制約モデル生成モジュール101は、機能ブロックとして、さらに、第1取得部(制御プログラム取得部)111、第2取得部(機構データ取得部)112、第1解析部(制御プログラム解析部)113、第2解析部(機構データ解析部)114、及び第1関係特定部(制約モデル生成部)115を有している。
【0048】
第1取得部111は、製造ライン3の動作を制御するための制御プログラム221を取得する。第1解析部113は、取得した制御プログラム221を解析することにより、複数の機構31の順序関係を特定する。本実施形態では、第1解析部113は、制御プログラム221を実行して得られるログデータ224を利用して、複数の機構31の順序関係を特定する。第2取得部112は、上述したとおり、複数の機構31それぞれに含まれる装置の相対的な位置関係等に関するデータを取得する。第2解析部114は、取得した機構データ223を解析することで、工程モデルを特定する。そして、第1関係特定部115は、それぞれ特定した順序関係及び工程モデルに基づいて、製造ライン3で実施される工程における複数の機構31間の因果関係を特定する。
【0049】
工程解析装置1の各機能構成111~115に関しては後述する動作例で詳細に説明する。なお、本実施形態では、工程解析装置1の各ソフトウェアモジュールがいずれも汎用のCPUにより実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のハードウェアプロセッサにより実現されてもよい。また、工程解析装置1のソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。この点は、後述する各モジュール102~105においても同様である。
【0050】
<4-1-2.制約モデル生成モジュールの動作>
次に、
図6を用いて、制約モデル生成モジュール101の動作例を説明する。
図6は、制約モデル生成モジュールの処理手順の一例を例示する。ただし、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてもよい。また、以下で説明する処理手順について、実施形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。この点は、後述する各モジュール102~105の動作においても同様である。
【0051】
[ステップS101]
次のステップS101では、制御部11は、第1取得部111として動作し、制御プログラム221をPLC2から取得する。制御プログラム221は、PLC2で実行可能なように、例えば、ラダー・ダイアグラム言語、ファンクション・ブロック・ダイアグラム言語、ストラクチャード・テキスト言語、インストラクション・リスト言語、及びシーケンシャル・ファンクション・チャート言語、C言語の少なくともいずれかを利用して記述されていてもよい。制御プログラム221の取得が完了すると、制御部11は、次のステップS102に処理を進める。
【0052】
[ステップS102]
次のステップS102では、制御部11は、第2取得部112として動作し、上述した機構データ223をPLC2から取得する。機構データ223の取得が完了すると、制御部11は、次のステップS103に処理を進める。なお、本ステップS102は、上記ステップS101と並列に実行されてもよいし、上記ステップS101の前に実行されてもよい。
【0053】
[ステップS103]
ステップS103では、制御部11は、第1解析部113として動作し、ステップS101で取得した制御プログラム221を解析することにより、製造ライン3内における複数の機構31の順序関係を特定する。本実施形態では、制御部11は、制御プログラム221を利用して製造ライン3を稼働させることで得られるログデータ223に基づいて、複数の機構31の順序関係を特定する。制御プログラム221の解析処理が完了すると、制御部11は、次のステップS104に処理を進める。なお、本ステップS103は、上記ステップS101の後であれば、いかなるタイミングに実行されてもよい。例えば、上記ステップS102が上記ステップS101よりも先に実行される場合には、本ステップS103は、上記ステップS102の前に実行されてもよい。
【0054】
<制御プログラムの解析処理>
ここで、
図7を更に用いて、制御プログラム221を解析する処理について詳細に説明する。
図7は、制御プログラム221を解析する処理の手順の一例を例示する。以下の説明では、説明の便宜のため、上記と同様に、製造ライン3は、複数の機構31として、4つの機構F1~F4を備えており、上記ステップS101では、制御部11は、4つの機構F1~F4に対応する変数v1~v4が使用された制御プログラム221を取得したものと仮定する。
【0055】
(ステップS1401)
まず、ステップS1401では、制御部11は、取得した制御プログラム221の構文解析を行い、当該制御プログラム221から抽象構文木を構築する。抽象構文木の構築には、トップダウン構文解析又はボトムアップ構文解析による公知の構文解析方法が用いられてもよい。例えば、抽象構文木の構築には、特定の形式文法に従った文字列を扱う構文解析器が用いられてもよい。抽象構文木の構築が完了すると、制御部11は、次のステップS1402に処理を進める。
【0056】
図8は、制御プログラム221内の「if(a>0)[v1=a;]else[v2=-a;]」という構文から得られる抽象構文木2211を例示する。
図8に例示するとおり、抽象構文木は、プログラムの意味を解釈するために、当該プログラムの構造を木構造で表現したデータ構造である。
【0057】
具体的には、制御部11は、プログラムに使用されているトークン(字句)のうち、当該プログラムの意味の解釈に不要な括弧等のトークンを省略し、当該プログラムの意味の解釈に関係あるトークンを抽出する。そして、制御部11は、条件分岐等の演算子を節点に対応付けて、変数等のオペランドを葉に対応付ける。制御部11は、このように制御プログラム221の構文解析を行うことにより、
図8に例示する抽象構文木を構築することができる。なお、このように構成される抽象構文木は、変数、演算子、及びノード間の関係(演算と被演算との関係等)を表わす。この抽象構文木の構成について、その示す内容が変わらない範囲で適宜表記の修正、変更、省略等がなされてよい。
【0058】
(ステップS1402)
次のステップS1402では、制御部11は、ステップS1401により構築した抽象構文木から各機構31に関する変数(v1~v4)と条件分岐及び代入演算を含む演算子とを抽出する。例えば、
図8に示す抽象構文木2211が得られた場合、制御部11は、当該抽象構文木2211から(「if」、「v1」、「=」、「a」、「v2」、「=」、及び「-a」)を抽出する。当該抽出が完了すると、制御部11は、次のステップS1403に処理を進める。
【0059】
(ステップS1403及びステップS1404)
次のステップS1403では、制御部11は、ステップS1402で抽出した変数及び演算子を順番に並べて、因果関係を特定する対象となる各機構31に対応する変数(v1~v4)に関連する部分に実行順序を監視する対象を限定する。上記の例では、制御部11は、(「if」、「v1」、「=」、「a」、「v2」、「=」、及び「-a」)から(「if」、「v1」、及び「v2」)を更に抽出する。
【0060】
そして、次のステップS1404では、条件分岐をランダムに選択して、制御プログラム221の実行を試行することで、限定した各変数の順序付けの初期化を行う。具体的には、制御部11は、当該制御プログラム221の実行の試行において、限定した各変数の利用される順序を監視することで、当該各変数の順序付けの初期化を行うことができる。
【0061】
図9Aは、当該初期化の一例を例示する。
図9Aのグラフ2212は、初期化の結果として、以下の(1)~(5)の順序関係を示す。
(1)変数「v1」~「v4」のうち、変数「v1」が最初に利用される。
(2)変数「v1」の次には、0.5の確率で変数「v2」が利用され、0.5の確率で変数「v3」が利用される。
(3)変数「v2」の次には、1の確率で変数「v3」が利用される。
(4)変数「v3」の次には、1の確率で変数「v4」が利用される。
(5)変数「v1」~「v4」のうち、変数「v4」が最後に利用される。
このような初期化が完了すると、制御部11は、次のステップS1405に処理を進める。
【0062】
(ステップS1405)
次のステップS1405では、制御部11は、制御プログラム221を利用して製造ライン3を正常に稼働させたときの実行結果を示すログデータ223をPLC2から取得する。PLC2は、例えば、上記状態データ222を収集する際に、併せて制御プログラム221の実行結果を示すログデータ223を作成してもよい。この場合、ログデータ223には、タイムスタンプ、利用された変数の値等が記録される。また、例えば、制御プログラム221には、各コード行が実行される頻度、実行されたコード行、コードの各セクションが消費する計算時間等の情報を収集するためのデバッグモードが設けられてもよい。この場合、PLC2は、制御プログラム221をデバッグモードで実行することで、各情報を記録したログデータ223を作成することができる。制御部11は、このように作成されたログデータ223をPLC2から取得してもよい。ログデータ223の取得が完了すると、制御部11は、次のステップS1406に処理を進める。
【0063】
(ステップS1406)
次のステップS1406では、制御部11は、ステップS1405で取得したログデータ223を参照して、条件分岐の実行結果に基づいた、上記各変数(v1~v4)の順番付けを行うことで、製造ライン3内における各機構31の順序関係を特定する。
【0064】
図9Bは、当該順序付けの結果の一例を例示する。
図9Bのグラフ2213は、ログデータ223を利用して順番付けを行った結果として、以下の(A)~(E)の順序関係を示す。
(A)変数「v1」~「v4」のうち、変数「v1」が最初に利用される。
(B)変数「v1」の次には、0.01の確率で変数「v2」が利用され、0.99の確率で変数「v3」が利用される。
(C)変数「v2」の次には、1の確率で変数「v3」が利用される。
(D)変数「v3」の次には、1の確率で変数「v4」が利用される。
(E)変数「v1」~「v4」のうち、変数「v4」が最後に利用される。
以上により、複数の機構31の順序関係の特定が完了すると、本実施形態に係る制御プログラム221の解析処理は完了し、制御部11は、次のステップS104に処理を進める。
【0065】
[ステップS104]
ステップS104では、制御部11は、第2解析部114として動作し、例えば、
図10に示すように、ステップS102で取得した機構データ223を解析することにより、工程モデル252を特定する。例えば、制御部11は、機構データ223を参照して、2つの機構31間の順序関係を特定し、2つの機構31間の関係を示す表251の対応するセルに特定した結果を入力する。この表251を完成させることで、制御部11は、有向グラフである工程モデル252を特定することができる。制御プログラム221の解析処理が完了すると、制御部11は、次のステップS105に処理を進める。なお、本ステップS104は、上記ステップS102の後であれば、いかなるタイミングに実行されてもよい。例えば、上記ステップS102が上記ステップS101よりも先に実行される場合には、本ステップS104は、上記ステップS101の前に実行されてもよい。
【0066】
[ステップS105]
図6に戻り、次のステップS105では、制御部11は、第1関係特定部115として動作する。すなわち、制御部11は、ステップS103及びS104それぞれにより特定した製造ライン3内における複数の機構31間の順序関係及び工程モデル252に基づいて、当該製造ライン3で実施される工程における複数の機構31間の因果関係を特定する。
【0067】
本実施形態では、制御部11は、上記ステップS1406で特定した各機構31の順序関係、及び上記ステップS104で特定した工程モデル252に基づいて、製造ライン3で実施される工程における複数の機構31間の因果関係を特定する。例えば、各機構31の順序関係と工程モデル252との積により、各機構31間の関係の有無を特定することができる。そして、この関係の有無に基づいてノードを階層化し、順序づけを行うことで、制約モデルが生成される。
【0068】
[ステップS106]
次のステップS106では、制御部11は、ステップS105で作成した制約モデルを出力する。例えば、制御部11は、ディスプレイ等の出力装置15に作成した制約モデルを画像形式で出力する。以上により、制御部11は、本動作例に係る処理を終了する。
【0069】
<4-2.イベント因果関係生成モジュール>
<4-2-1.イベント因果関係生成モジュールの構成>
次に、イベント因果関係生成モジュール102について説明する。
図11に示すように、イベント因果生成モジュールは、機能ブロックとして、さらに、第3取得部116、第4取得部117、第3解析部118、第4解析部119、第2関係特定部120、第3関係特定部121、及び第4関係特定部122を有している。
【0070】
第3取得部116は、製造ライン3を構成する複数の機構31の状態に関する複数件の状態データ222を取得する。このとき、取得される状態データ222は、製造ライン3が正常に稼働しているときのデータである。第4取得部117も、第3取得部116と同様に、複数の機構31の状態に関する複数件の状態データ222を取得するが、第4取得部117では、製造ライン3に異常が発生しているときの状態データを取得する。第3解析部118及び第4解析部119は、ともに取得した複数件の状態データ222を統計的に解析することにより、複数の機構31間の関係の強さを特定する。
【0071】
第2関係特定部120は、第3解析部118での解析結果、及び上述した制約モデルに基づいて、製造ライン3で実施される工程における複数の機構31間の正常時の因果関係を特定する。第3関係特定部120は、第4解析部119での解析結果、及び上述した制約モデルに基づいて、製造ライン3で実施される工程における複数の機構31間の異常時の因果関係を特定する。第4関係特定部122は、第2関係特定部120及び第3関係特定部121で生成された正常時の因果関係及び異常時の因果関係から、発生した異常(イベント)の要因の特定に特化した因果関係、つまり、イベント因果モデルを生成する。
【0072】
<4-2-2.イベント因果関係生成モジュールの動作例>
次に、
図12を用いて、イベント因果関係生成モジュール102の動作例を説明する。
図12は、イベント因果関係生成モジュールの処理手順の一例を例示する。
【0073】
[ステップS201]
まず、ステップS201では、制御部11は、第3取得部116として動作し、各機構31の状態に関する複数件の状態データ222をPLC2から取得する。各機構31は、例えば、コンベア、ロボットアーム、サーボモータ、シリンダ(成形機等)、吸着パッド、カッター装置、シール装置等の装置又はその装置の一部で構成されてよい。また、各機構31は、例えば、印刷機、実装機、リフロー炉、基板検査装置等の複合装置であってもよい。更に、各機構31は、上記のような何らかの物理的な動作を伴う装置の他に、例えば、各種センサにより何らかの情報を検知する装置、各種センサからデータを取得する装置、取得したデータから何らかの情報を検知する装置、取得したデータを情報処理する装置等の内部処理を行う装置を含んでもよい。具体例として、コンベアを流れる対象物に付与されたマークを検知する光学センサを備える製造ラインにおいて、当該光学センサ及び光学センサにより検知した情報を利用する装置が各機構31として取り扱われてよい。また、各件の状態データ222は、例えば、トルク、速度、加速度、温度、電流、電圧、空圧、圧力、流量、位置、寸法(高さ、長さ、幅)面積、光量、ON/OFF状態の少なくともいずれかを示すデータであってよい。このような状態データ222は、公知のセンサ、カメラ等の計測装置によって得ることができる。例えば、流量は、フロートセンサにより得ることができる。また、位置、寸法、及び面積は、画像センサにより得ることができる。
【0074】
なお、状態データ222は、1又は複数の計測装置から得られるデータで構成されてもよい。また、状態データ222は、計測装置から得られるデータそのままであってもよいし、画像データから取得される位置データ等のように計測装置から得られたデータに何らかの処理を適用することで取得可能なデータであってもよい。各件の状態データ222は、各機構31に対応して取得される。
【0075】
各計測装置は、製造ライン3の各機構31を監視可能に適宜配置される。PLC2は、製造ライン3を稼働させて、各計測装置から各件の状態データ222を収集する。制御部11は、PLC2から、製造ライン3が正常に稼働しているときの各機構31の状態に関する状態データ222を取得する。これにより、制御部11は、複数件の状態データ222を取得することができる。複数件の正常状態で、状態データ222の取得が完了すると、制御部11は、次のステップS202に処理を進める。
【0076】
[ステップS202]
ステップS202では、制御部11は、第4取得部117として動作し、各機構31の状態に関する複数件の状態データ222をPLC2から取得する。ステップS201における第3取得部116の動作と相違するのは、異常が生じた製造ライン3を稼働させたときの各機構31の状態に関する状態データ222を取得する点である。複数件の異常状態での状態データ222の取得が完了すると、制御部11は、次のステップS203に処理を進める。
【0077】
[ステップS203]
ステップS203では、制御部11は、第3解析部118として動作し、ステップS201で取得した複数件の状態データ222を統計的に解析することにより、製造ライン3内における複数の機構31間の関係の強さを特定する。複数件の状態データ222の解析処理が完了すると、制御部11は、次のステップS204に処理を進める。なお、本ステップS203は、上記ステップS201の後であれば、いかなるタイミングに実行されてもよい。例えば、本ステップS203は、上記ステップS202の前に実行されてもよい。
【0078】
<状態データの解析処理>
ここで、
図13及び
図14を更に用いて、複数件の状態データ222を統計的に解析する処理について詳細に説明する。
図13は、正常状態の状態データ222を解析する処理の手順の一例を例示する。
図14は、
図13により示される手順により状態データ222を解析する過程の一例を模式的に例示する。以下の説明では、説明の便宜のため、製造ライン3は、複数の機構31として、4つの機構(例えば、4つのサーボモータ)F1~F4を備えており、上記ステップS101では、制御部11は、各機構F1~F4の状態データ222を取得したものと仮定する。
【0079】
(ステップS2301)
まず、ステップS2301では、制御部11は、ステップS201で取得した各件の状態データ222から特徴量2221を算出する。特徴量2221の種類は、特に限定されなくてもよく、実施形態に応じて適宜選択されてもよい。また、特徴量2221を算出する方法は、実施形態に応じて適宜決定可能である。
【0080】
具体例として、本実施形態では、制御部11は、次のような方法で、状態データ222から特徴量2221を算出する。まず、制御部11は、特徴量2221を算出する処理範囲を規定するため、取得した各件の状態データ222をフレーム毎に分割する。各フレームの長さは、実施の形態に応じて適宜設定されてよい。
【0081】
制御部11は、例えば、各件の状態データ222を一定時間長のフレーム毎に分割してもよい。ただし、製造ライン3は必ずしも一定時間間隔で動作しているとは限らない。そのため、各件の状態データ222を一定時間長のフレーム毎に分割すると、各フレームに反映される各機構31の動作がずれてしまう可能性がある。
【0082】
そこで、制御部11は、状態データ222をタクト時間毎にフレーム分割してもよい。タクト時間は、製造ライン3が製品を所定個数分生産するのにかかる時間である。このタクト時間は、製造ライン3を制御する信号、例えば、PLC2が製造ライン3の各機構31の動作を制御する制御信号に基づいて特定することができる。
【0083】
図15を用いて、制御信号とタクト時間との関係について説明する。
図15は、制御信号とタクト時間との関係を模式的に例示する。
図15に示されるとおり、製品の生産を繰り返す製造ライン3に対する制御信号は、所定個数分の製品の生産に応じて「on」と「off」とが周期的に表れるパルス信号になっている。
【0084】
そのため、制御部11は、この制御信号をPLC2から取得し、取得した制御信号の立ち上がり(「on」)から次の立ち上がり(「on」)までの時間をタクト時間とすることができる。そして、制御部11は、
図15に例示されるように、タクト時間毎に状態データ222をフレームに分割することができる。
【0085】
次に、制御部11は、状態データ222の各フレームから特徴量2221の値を算出する。状態データ222が計測データ等のような連続値データである場合には、制御部11は、例えば、フレーム内の振幅、最大値、最小値、平均値、分散値、標準偏差、瞬時値(1点サンプル)等を特徴量2221として算出してもよい。また、状態データ222が検出データ等のような離散値データである場合には、制御部11は、例えば、各フレーム内の「on」時間、「off」時間、Duty比、「on」回数、「off」回数等を特徴量2221として算出してもよい。これにより、各特徴量2221の算出が完了すると、制御部11は、次のステップS2302に処理を進める。
【0086】
(ステップS2302)
図13及び
図14に戻って説明を続ける。ステップS2302では、制御部11は、各特徴量2221間の相関係数又は偏相関係数を算出する。相関係数は、以下の数1の計算式により算出することができる。また、偏相関係数は、以下の数2の計算式により算出することができる。
【0087】
【数1】
なお、r
ijは、行列2222のi行目j列目の要素を示す。x
i及びx
jは、各件の状態データ222から算出された特徴量2221を示すデータに対応する。X
i及びX
jはそれぞれ、x
i及びx
jの標本平均を示す。nは、相関の計算に利用する各特徴量2221の数を示す。
【0088】
【数2】
なお、行列R(r
ij)の逆行列をR
-1(r
ij)と表現し、r
ijは行列2222の逆行列のi行目j列目の要素を示す。
【0089】
これにより、制御部11は、相関係数又は偏相関係数を各要素とする行列2222を得ることができる。各特徴量2221間の相関係数及び偏相関係数は、対応する機構31間の関係の強さを示す。すなわち、行列2222の各要素により、対応する機構31間の関係の強さが特定される。各特徴量2221間の相関係数又は偏相関係数の算出が完了すると、制御部11は、次のステップS2303に処理を進める。
【0090】
(ステップS2303)
次のステップS2303では、制御部11は、各特徴量2221間の相関係数又は偏相関係数に基づいて、対応する機構31間の関係の強さを示す無向グラフ情報2223を構築する。
【0091】
例えば、制御部11は、各機構31に対応するノードを作成する。そして、2つの機構31間に対して算出した相関係数又は偏相関係数の値が閾値以上である場合に、制御部11は、対応する両ノード間をエッジで連結する。一方、2つの機構31間に対して算出した相関係数又は偏相関係数の値が閾値未満である場合には、制御部11は、対応する両ノード間をエッジで連結しない。なお、閾値は、工程解析プログラム121内で規定された固定値であってもよいし、オペレータ等により変更可能な設定値であってもよい。また、エッジの太さは、対応する相関係数又は偏相関係数の値の大きさに対応して決定されてもよい。
【0092】
これにより、
図14で例示するような無向グラフ情報2223を作成することができる。
図14の例では、4つの機構F1~F4に対応する4つのノードが作成されている。そして、機構F1及びF2のノード間、機構F1及びF3のノード間、機構F2及びF3のノード間、並びに機構F3及びF4のノード間にそれぞれエッジが形成されている。また、機構F1及びF3の間並びに機構F3及びF4の間の相関が他の機構間の相関よりも大きいことに対応して、機構F1及びF3のノード間並びに機構F3及びF4のノード間のエッジが他のエッジに比べて太く形成されている。以上により、複数の機構31間の関係の強さを示す無向グラフ情報2223の構築が完了すると、本実施形態に係る状態データ222の解析処理は完了し、制御部11は、次のステップS204に処理を進める。
【0093】
なお、
図14の例では、無向グラフ情報2223は、形成された無向グラフを画像により表現している。しかしながら、無向グラフ情報2223の出力形式は、画像に限定されなくてもよく、テキスト等により表現されてもよい。また、上記の例では、相関係数又は偏相関係数と閾値との比較により、関係の弱いノード(機構31)間にエッジを形成しないようにしている。しかしながら、関係の弱いノード間のエッジを除去する方法は、このような例に限られなくてもよい。例えば、全てのノードをエッジで連結したグラフを形成した後、制御部11は、逸脱度を表わす適合度指標(GFI、SRMR等)が閾値を超えないように、相関係数又は偏相関係数の小さいエッジから順に、形成したグラフのエッジを削除してもよい。
【0094】
[ステップS204]
図12に戻って、ステップS204では、制御部11は、第2関係特定部120として動作する。すなわち、制御部11は、上述した制約モデル、及びステップS2303により特定した製造ライン3内における複数の機構31間の関係の強さに基づいて、当該製造ライン3で実施される工程における複数の機構31間の正常時の因果関係を特定する。
【0095】
本実施形態では、制御部11は、上記ステップS2303で構築した無向グラフ情報2223に、上記制約モデルで特定した各機構31の順序関係を適用することにより、各機構31間の因果関係を示す有向グラフ情報を作成する。このとき、制御部11は、各機構31の順序関係において発生する確率が閾値よりも低い順序(遷移)を特定し、無向グラフ情報2223を構成するエッジから特定した順序に対応するエッジを削除してもよい。なお、閾値は、工程解析プログラム121内で規定された固定値であってもよいし、オペレータ等により変更可能な設定値であってもよい。
【0096】
図15は、作成される有向グラフ情報の一例を例示する。
図15の有向グラフ122は、以下の(a)~(d)の因果関係を示す。
(a)機構「F1」~「F4」のうち、機構「F1」又は「F2」が最初に利用される。
(b)機構「F1」及び「F2」の次には、機構「F3」が利用される。
(c)機構「F3」の次には、機構「F4」が利用される。
(d)機構「F1」~「F4」のうち、機構「F4」が最後に利用される。
なお、
図15の例では、変数「v1」から「v2」への順序の発生確率が低いことに対応して、無向グラフ情報2223では存在した機構「F1」及び「F2」間のエッジが削除されている。また、有向グラフ122の各エッジの太さは、無向グラフ情報2223の各エッジの太さに対応して設定されている。以上により、有向グラフ情報の作成が完了すると、制御部11は、次のステップS206に処理を進める。
【0097】
なお、
図15の例では、有向グラフ情報は、有向グラフ(有向グラフ122)を画像により表現している。しかしながら、有向グラフ情報の出力形式は、画像に限定されなくてもよく、テキスト等により表現されてもよい。また、上記の例では、ノード(機構31)間の関係の強さをエッジの太さで表現している。しかしながら、ノード間の関係の強さを表現する方法は、このような例に限定されなくてもよい。各エッジの近傍に数字を付すことにより、各ノード間の関係の強さを表現してもよい。
【0098】
[ステップS205]
ステップS205では、制御部11は、第4解析部119として動作し、ステップS202で取得した複数件の異常時の状態データ222を統計的に解析することにより、製造ライン3内における複数の機構31間の関係の強さを特定する。利用する状態データ222が第3解析部118と相違する以外は、ステップS205での処理は、ステップS203と同様であるため、詳しい説明は省略する。第4解析部119では、異常時の状態データが利用されるため、例えば、
図16に示すような無向グラフ情報2226生成される。
【0099】
[ステップS206]
ステップS206では、制御部11は、第3関係特定部121として動作する。すなわち、制御部11は、上述した制約モデル、及びステップS205により特定した製造ライン3内における複数の機構31間の関係の強さに基づいて、当該製造ライン3で実施される工程における複数の機構31間の異常時の因果関係を特定する。処理手順は、ステップS204で示した方法と同じであるため、詳しい説明を省略する。例えば、
図17に示すような有向グラフ情報123が生成される。
【0100】
[ステップS207]
ステップS207では、制御部11は、第4関係特定部122として動作する。すなわち、制御部11は、
図15に示す正常時の有向グラフ情報122と、
図17に示す異常時の有向グラフ情報123からイベント因果モデルを生成する。
【0101】
(イベント因果モデルの生成処理)
ここで、
図18~
図20を更に用いて、イベント因果モデルの生成方法について詳細に説明する。
図18は、イベント因果モデルの生成手順の一例を示す図、
図19及び
図20はイベント因果モデルの例である。
【0102】
(ステップS2701)
まず、ステップS2701では、制御部11は、ステップS203で取得した正常時の特徴量と、ステップS205で取得した異常時の特徴量との乖離度を算出する。乖離度とは、正常時及び異常時の各状態において対応する特徴量の相違の度合いを示すものである。乖離度は、例えば、平均の差、中央値の差、KL距離などを用いて算出することができる。例えば、
図19に示すような乖離度が算出される。
【0103】
(ステップS2702)
ステップS2702では、制御部11は、ステップS204で取得した正常時の有向グラフ情報122と、ステップS206で取得した異常時の特徴量の有向グラフ情報123と比較処理により、エッジを選定する。例えば、両グラフ情報122,123間で、強さが大きく変化したエッジや、一方には存在するが他方には存在しないエッジを選定することができる。
【0104】
(ステップS2703)
ステップS2703では、制御部11は、ノードの選定を行う。ここでは、ステップS2701で算出した乖離度が所定の閾値よりも大きいノードを選択する。こうして、選択されたエッジとノードから、例えば、
図19に示すような、異常が発生したときのイベント因果モデル125が生成される。このイベント因果モデル125により、異常が発生した原因となる機構がF1,F3,F4であることが分かる。なお、ステップS2702に先立って、ステップS2703の処理を行うこともできる。
【0105】
(ステップS2704)
ステップS2704では、制御部11は、S2703で生成したイベント因果モデルから、異常の要因候補の順序づけを行う。この要因順序の例を
図19に示す。したがって、
図19に示すイベント因果モデル125では、エッジの向きにしたがって、F1,F3,F4の順にメンテナンスを行うことで、異常を解消することができる。このように、異常の要因順序は、イベント因果モデル125に現れるノードとエッジの向きにしたがって算出することができる。但し、イベント因果モデルにおいて、エッジによって接続されていないノードが存在する場合には、上述した制約モデルに基づいた順序、または乖離度と制約モデルに基づいた順序により、要因順序を算出することができる。例えば、
図20に示すようなイベント因果モデルを生成することができる。
【0106】
<4-3.制御因果モデル生成モジュール>
<4-3-1.制御因果関係生成モジュールの構成>
次に、制御因果関係性モジュール103について説明する。制御因果関係モデル103は、製造ライン3を立ち上げる際の条件決めを行うときの実験計画データを、上述した制約モデルに適用することで、新たな因果関係を作成するものである。ここでは、この新たな因果関係を制御因果関係モデルと称することとする。
図21に示すように、制御因果モデル生成モジュール103は、機能ブロックとして、さらに、第5取得部123、第5解析部124、及び第5関係特定部125を有している。
【0107】
第5取得部123は、製造ライン3を立ち上げるときの第1実験計画データ225を取得する。第1実験計画データ225とは、製造ライン3を稼働させるための条件決めを行うときの実験計画に関するデータであり、例えば、目的となる品質を達成するために、種々の調整項目の調整量を変化させながら、製造ライン3の立ち上げを行うためのデータである。このような第1実験計画データは、例えば、工程解析装置1内、またはその外部のデータベースに記憶されている。第1実験計画データ225は、例えば、各機構31の製造ライン3を稼働させたときの各機構の状態データ、品質データ、及び調整項目データなどが該当するが、これらの中には、調整項目データを複数の変化させた結果が含まれている。ここで、品質データは、例えば、画像検査結果、抵抗値などの特性検査結果が該当する。調整項目データは、例えば、設定速度、設定温度、アーム角度などが該当する。なお、ここでいう第1実験計画データ225は、必ずしも実験計画を製造ライン3を稼働して実施して取得しなくてもよく、過去に複数の条件下で稼働させた製造ラインのデータを用いることもできる。
【0108】
第5解析部124は、取得した第1実験計画データ225を統計的に解析することにより、複数の機構31間の関係の強さを特定する。第5関係特定部125は、第5解析部124での解析結果、及び上述した制約モデルに基づいて、製造ライン3で実施される工程における複数の機構31間の因果関係を特定する。
【0109】
<4-3-2.制御因果関係生成モジュールの動作例>
次に、
図22を用いて、制御因果関係生成モジュールの動作例を説明する。
図22は、制御因果モデル生成モジュールの処理手順の一例を例示する。
【0110】
[ステップS301]
まず、ステップS301では、制御部11は、第5取得部123として動作し、上述した第1実験計画データ225から各状態の特徴量を取得する。特徴量の取得が完了すると、制御部11は、次のステップS302に処理を進める。
【0111】
[ステップS302]
ステップS302及びステップS303では、制御部11は、第5解析部124として動作し、ステップS301で取得した特徴量を統計的に解析することにより、製造ライン3内における複数の機構31間の関係の強さを特定する。すなわち、有向辺の有無を判断し、無向グラフを生成する。有向辺の有無の判断に当たっては、偏相関係数の導出と閾値処理を行い、条件付き独立性の有無を判断する。ここで行われる解析は、上述した状態データ222の解析処理と同様の手法で行うことができる。
【0112】
[ステップS303]
ステップS304では、制御部11は、第5関係特定部125として動作する。すなわち、制御部11は、上述した制約モデル、及びステップS302により特定した製造ライン3内における複数の機構31間等の関係の強さに基づいて、当該製造ライン3で実施される工程における複数の機構31間の因果関係を特定する。
【0113】
本実施形態では、制御部11は、上記ステップS302で構築した無向グラフ情報に、上記制約モデルで特定した各機構31の順序関係を適用することにより、例えば、
図23に示すような各機構31間等の因果関係を示す有向グラフ情報2227を作成する。この有向グラフ情報2227には、上述した調整項目データA及び品質データQが含まれている。この有向グラフ情報2227の作成方法は、上述したとおりである。
【0114】
[ステップS304]
最後に、必要に応じて、オリエンテーションルールに基づき、有向辺を付加する。オリエンテーションルールとは、例えば、ある部分的有向グラフが与えられたとき、次の3つのルールにより、エッジを付加する。
(1)部分的有向グラフでの3つのノードX,Y,Zにおいて、XからYに向かうエッジがあり、YとZが無向のエッジで隣接し、且つXとZとの間にエッジがないとき、YからZへ向かうエッジを付加する。
(2)部分的有向グラフでの3つのノードX,Y,Zにおいて、XからY、YからZに向かうエッジがあり、XとZが無向のエッジで隣接しているときには、XからZへ向かうエッジを付加する。
(3)部分的有向グラフでの3つのノードX,Y,Z,Wにおいて、YとWからそれぞれZに向かうエッジがあり、XとY,Z,Wが無向のエッジで隣接しているときには、XからZへ向かうエッジを付加する。
こうして、制御因果関係モデルが生成される。
【0115】
<4-4.品質調整因果モデル生成モジュール>
<4-4-1.品質調整因果モデル生成モジュールの構成>
次に、品質調整因果関係モジュール103について説明する。品質調整因果関係モデルは、上述した制御因果関係モデルとイベント因果関係モデルから作成されるものであり、異常が生じたときの調整項目の絞り込みを行う機能を有する。
図24に示すように、品質調整因果生成モジュール103は、機能ブロックとして、さらに、第6取得部126、及び第6関係特定部127を有している。
【0116】
<4-4-2.品質調整因果関係生成モジュールの動作例>
次に、
図25を用いて、品質調整因果関係生成モジュールの動作例を説明する。
図25は、品質因果モデル生成モジュールの処理手順の一例を例示する。
【0117】
[ステップS401]
ステップS401では、制御部11は、第6取得部126として動作し、上述した制御因果関係モデルとイベント因果関係モデルを記憶部12から取得する。これらのモデルの取得が完了すると、制御部11は、次のステップS402に処理を進める。
【0118】
[ステップS402]
ステップS402では、制御部11は、第6関係特定部127として動作し、制御因果関係モデルとイベント因果関係モデルとから品質調整因果関係モデルを生成する。この点について、
図26~
図28を参照しつつ説明する。
図26には、制御因果関係モデルとイベント因果モデルが示されている。そして、制御因果関係モデルのノードの中で、イベント因果関係モデルと共通するノードを選択する。例えば、
図26の例では、機構F1,機構F3及び機構F4が共通のノードである。すなわち、機構F1,機構F3及び機構F4が、異常の発生しているノードである。ここでは、例として、機構F4が、品質を監視するためのセンサであり、その特徴量が品質Q1に関するものであるとする。
【0119】
次に、
図27に示すように、イベント因果関係モデルの状態データに影響する調整項目データを、因果関係を遡りつつ選択する。例えば、
図27の制御因果関係モデルでは、機構F1に接続されるエッジのうち、機構F1の上流側につながる調整項目はA1である。同様に、機構F2に接続されるエッジのうち、機構F2の上流側につながる調整項目はA2である。これに続いて、
図28に示すように、
図26及び
図27で選択されたノードとエッジを抽出する。これにより、品質の異常に対する調整項目が明示される。すなわち、調整項目A1,A2を調整することで、品質に関する機構F4の特徴量に影響を及ぼし、品質が改善されることが明示されている。
【0120】
その他の例として、例えば、
図29のようなイベント因果関係モデルと制御因果関係モデルが生成されたときには、
図30のような品質調整因果関係モデルが生成される。
【0121】
<4-5.品質予測モデル生成モジュール>
<4-5-1.品質予測モデル生成モジュールの構成>
次に、品質予測モデルモジュールについて説明する。品質予測モデルモジュール105は、上述した品質調整因果関係モデルにより特定された調整項目に基づいて品質予測モデルを生成するモジュールである。
図31に示すように、品質予測モデルモジュール105は、機能ブロックとして、さらに、第2実験計画生成部128、第2実験データ取得部129、及び品質予測モデル生成部130を有している。
【0122】
<4-5-2.品質予測モデルモジュールの動作例>
次に、
図32を用いて、品質予測モデルモジュールの動作例を説明する。
図32は、品質予測モデル生成モジュールの処理手順の一例を例示する。
【0123】
[ステップS501]
ステップS501では、制御部11は、実験計画生成部128として動作する。ここでは、まず、上述した品質調整因果モデル生成モジュール104において生成した品質調整因果関係モデルから調整項目を抽出する。
図28の例では、調整項目A1,A2が異常の発生に影響を与えていることが特定されているので、これら調整項目A1,A2の調整量を変化させながら、製造ライン3における正常な稼働、つまり所定の品質の製品が製造されるための条件決めを行うための実験計画を生成する。
【0124】
[ステップS502]
ステップS502では、制御部11は、実験データ取得部129として動作する。ここでは、ステップS501で生成された実験計画に基づいて、製造ライン3を稼働し、調整項目の調整量と製品の品質との関係をデータとして取得する。そのときはまず、上述した品質調整因果モデル生成モジュール104において生成した品質調整因果関係モデルから調整項目を抽出する。
図28の例では、調整項目A1,A2が品質に関する異常の発生に影響を与えていることが特定されているので、これら調整項目A1,A2の調整量を調整しながら、製造ライン3における正常な稼働のための条件決めを行うための実験計画を生成する。すなわち、調整項目A3,A4を調整したときの、機構F4の特徴量の変化を取得し、第2実験データとして記憶する。
【0125】
[ステップS503]
ステップS503では、制御部11は、品質予測モデル生成部130として動作する。ここでは、ステップS502で生成された第2実験データに基づき、品質予測モデルを生成する。品質予測モデルは、調整項目の調整量と品質との関係をモデリングしたものであり、例えば、重回帰モデル、サポートベクター回帰などを用いて作成される。
【0126】
[ステップS504]
こうして、品質予測モデルが生成されると、これを用いて、選定された調整項目において、品質が最もよくなる最適な調整量を導出する。この導出には、例えば、ニュートン法、Nelder-Mead法などを用いることができる。
【0127】
<5.特徴>
以上のように、本実施形態によれば、次の効果を得ることができる。
(1)本実施形態においては、イベント因果関係モデルの生成において、正常時のデータに基づいて生成された因果関係モデルと、異常時のデータに基づいて生成された因果関係モデルを用いている。これは、次の理由による。例えば、異常時のデータを用いて生成された因果関係モデルは、正確には、異常時の因果関係だけでなく、正常時の因果関係も一部含まれている。そのため、異常時のデータのみを用いて生成された因果関係モデルだけでは、異常が発生している機構を正確に特定することが難しい。そこで、本実施形態では、異常時の因果関係モデルと正常時の因果関係モデルとを比較することで、異常の発生に関連している機構を正確に特定するようにしている。したがって、熟練者でなくても、異常の要員の特定を容易に、且つ短時間で行うことができる。
【0128】
(2)上記イベント因果関係モデルを生成するに当たって用いている正常時及び異常時のデータは、基本的には、条件決めが行われた後の一種類の設定(一条件)によって稼働する製造ライン3から取得されている。したがって、調整項目を変えたときには、作成したイベント因果関係モデルを利用して異常の要因を特定したり、品質の調整を行うことは困難である。そこで、本実施形態では、製造ライン3を稼働する前に行われる第1実験計画データを用いて、制御因果関係モデルを生成している。すなわち、第1実験計画データは、製造ライン3の稼働に当たって、調整項目の調整量を変化させながら、種々の設定で製造ライン3を稼働させ、目標となる品質を達成できる条件を含むものである。したがって、第1実験計画データを用いることで、複数の調整項目の調整量に対応した制約因果関係モデルを生成することができる。
【0129】
(3)そして、複数の調整項目に対応した制約因果関係モデルとイベント因果モデルとを用いることで、品質に影響を及ぼす調整項目を特定することができる品質調整因果関係モデルを生成することができる。
【0130】
(4)その上で、特定された調整項目の調整量を変化させつつ、製造ライン3を稼働し、調整項目の調整量が品質にどのように影響を及ぼすかを確認するための第2実験計画データを生成することで、これに基づいた調整項目の調整量と品質との関係を予測する品質予測モデルを生成することができる。これにより、品質が所望の基準となるように、調整項目の調整量の最適化を行うことができる。
【0131】
<6.変形例>
以上、本発明の一実施形態を詳細に説明してきたが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の改良や変形を行うことができる。なお、以下の変形例及び上述した実施形態は適宜組み合わせ可能である。
【0132】
<6-1>
上記実施形態の
図14~
図20では、シンプルなモデルを例として取り上げたが、例えば、ノード数を増やしたやや複雑なモデルでは、
図33のようにしてイベント因果関係モデルを生成することができる。このイベント因果関係モデルの生成方法は、上記実施形態と同じである。
【0133】
<6-2>
上記実施形態では、制約モデル生成モジュール101において、制御プログラム221及び機構データ223の解析を行っているが、制御プログラム221の解析のみを用いて因果関係を生成し、これをイベント因果関係生成モジュール102に適用することもできる。すなわち、
図5において、第2取得部112及び第2解析部114を省略することもできる。あるいは、機構データ223のみを用いて因果関係を生成し、これをイベント因果関係生成モジュール102に適用することもできる。すなわち、
図5において、第1取得部111及び第1解析部113を省略することもできる。
【0134】
<6-3>
上記実施形態のイベント因果生成モジュール102では、制約モデル生成モジュール101において生成された制約モデルを用いて、イベント因果関係を生成しているが、必ずしも制約モデルを利用しなくてもよい。
【0135】
<6-4>
上記実施形態では、
図11に示すイベント因果生成モジュール102によりイベント因果モデルを生成しているが、これに限定されるものではなく、他の方法でイベント因果モデルを生成することができる。例えば、ノードの選定については、乖離度を用いず、選定したエッジと接続されているノードを選定することができる。
【0136】
上記実施形態のイベント因果生成モジュール102では、正常時の状態データと異常時の状態データをそれぞれ用いて因果関係を生成しているが、例えば、異常時の状態データを用いた因果関係のみを生成してもよい。この場合、正常時の状態データを用いた因果関係は構築されないが、第3解析部118で算出された特徴量と、第3解析部118で算出された特徴量とから乖離度を算出し、この乖離度に基づいてノードを選定する。そして、このノードに基づいて、誘導部分グラフを生成する。これがイベント因果関係モデルとなる。なお、誘導部分グラフとは、部分グラフの一種であり、あるグラフから一部の頂点を取り出し、その頂点対の辺の有無が元のグラフと一致するグラフをいう。例えば、異常因果モデルから所定の閾値よりも解離度の高いノードを選定し、これらのノードの間に含まれるノード及びエッジを元の異常因果モデルと同じにしたグラフを作成し、これをイベント因果関係モデルとする。
【0137】
<6-5>
品質予測モデルの生成においては、モデルの精度を上げるため、異常発生時以外で取得したデータを活用することもできる。すなわち、上記実施形態においては、異常の発生に影響を及ぼす調整項目の調整量を変化させることで、モデルを生成しているが、異常の発生に関係のない調整項目も加え、その調整量を変化させることで、モデルを生成することもできる。
【符号の説明】
【0138】
1…工程解析装置
11…制御部
221…制御プログラム
222…状態データ
223…機構データ
3…製造ライン
31…機構