(57)【要約】【課題】ワークの処理過程を容易に追跡可能なデータ収集システム、処理システム、プログラム、および記憶媒体。【解決手段】実施形態に係るデータ収集システムは、イベントデータ収集部と、ステートマシン生成部と、ステートマシンリストと、ステートマシン駆動部と、を含む。イベントデータ収集部は、処理システムにおいてワークの通過が検出された際の検出信号を、イベントデータとして収集する。ステートマシン生成部は、イベントデータ収集部が、処理システムへのワークの投入を示すイベントデータを収集した際に、複数の状態と、複数の状態間の遷移と、アクションと、を含み、それぞれの前記ワークに対応するモデルとしてのステートマシンを生成し、ステートマシンにＩＤを発番する。ステートマシンリストは、生成されたステートマシンを保持する。ステートマシン駆動部は、ステートマシンリストに保持されたステートマシンに、検出信号に応じたイベントを送信して駆動させる。【選択図】図１
2018081668.tif 000002
【特許請求の範囲】
【請求項１】
処理システムにおいてワークの通過が検出された際の検出信号をイベントデータとして収集するイベントデータ収集部と、
前記イベントデータ収集部が、前記処理システムへのワークの投入を示すイベントデータを収集した際に、複数の状態と、前記複数の状態間の遷移と、アクションと、を含み、それぞれの前記ワークに対応するモデルとしてのステートマシンを生成し、前記ステートマシンにＩＤを発番するステートマシン生成部と、
生成された前記ステートマシンを保持するステートマシンリストと、
前記ステートマシンリストに保持された前記ステートマシンに、前記検出信号に応じたイベントを送信して駆動させるステートマシン駆動部と、
を備えたデータ収集システム。
【請求項２】
前記ワークが処理される際のプロセスデータを収集するプロセスデータ収集部と、
紐付け部と、
プロセスデータ出力部と、
をさらに備え、
前記ステートマシンは、前記ステートマシン駆動部によって駆動されて所定の状態への入場および退場が行われた際に、前記プロセスデータの切出しを行うための二次イベントを送信する二次イベント送信アクションを含み、
前記二次イベントには、前記ＩＤが付帯され、
前記紐付け部は、前記二次イベントを受信した際に、前記プロセスデータに対して前記二次イベントに付帯された前記ＩＤを付与し、
前記プロセスデータ出力部は、前記ＩＤが付与された前記プロセスデータの、ファイル保存およびデータ送信の少なくともいずれかを行う請求項１記載のデータ収集システム。
【請求項３】
前記ステートマシンは、前記ワークが処理される際に前記二次イベントを送信し、
前記紐付け部は、受信した前記二次イベントに応じて、前記プロセスデータの一部を切り出し、前記プロセスデータの一部に対して前記二次イベントに付帯された前記ＩＤを付与し、
前記プロセスデータ出力部は、前記ＩＤが付与された前記プロセスデータの一部の、ファイル保存およびデータ送信の少なくともいずれかを行う請求項２記載のデータ収集システム。
【請求項４】
前記プロセスデータは、前記ワークが処理される際の圧力および温度の少なくともいずれかの波形データである請求項２または３に記載のデータ収集システム。
【請求項５】
生成される前記ステートマシンが採り得る状態を含む状態リストと、受信イベントリストと、を定義するステートマシンモデルファイルと、
ユーザがＧＵＩ画面上で前記ステートマシンモデルファイルを編集できるように構成されたステートマシンモデル編集ツールであって、複数の前記ステートマシンモデルファイルから、データ収集の対象となる処理システムに対応する１つの前記ステートマシンモデルファイルを選択可能に構成されたステートマシンモデル編集ツールと、
前記ステートマシンが生成されるイベントを定義するステートマシン生成タイミング定義ファイルと、
をさらに備えた請求項１〜４のいずれか１つに記載のデータ収集システム。
【請求項６】
前記処理システムにおいて、通過が検出されなかった前記ワークに対応し、前記ステートマシンリストに保持されたファントムステートマシンを検索し、前記ファントムステートマシンを終端化させるファントム消去部をさらに備えた請求項１〜５のいずれか１つに記載のデータ収集システム。
【請求項７】
それぞれの前記状態と、前記処理システムのそれぞれの場所と、の対応が記憶された対応マスタと、
それぞれの前記状態およびそれぞれの前記場所における前記ステートマシンの滞在上限数が記憶された滞在上限数マスタと、
をさらに備え、
前記ファントム消去部は、前記ステートマシンの遷移時に、
前記対応マスタを参照し、遷移後の状態に対応する場所を取得し、
遷移後の当該状態および当該場所におけるそれぞれの前記ステートマシンの予定滞在数を算出し、
前記滞在上限数マスタを参照して、当該状態および当該場所におけるそれぞれの滞在上限数を取得し、
前記予定滞在数および前記滞在上限数から滞在超過数を算出し、
当該状態および当該場所におけるそれぞれの前記滞在超過数の前記ステートマシンを、前記ファントムステートマシンとして終端化させる請求項６記載のデータ収集システム。
【請求項８】
請求項２〜７のいずれか１つに記載の前記データ収集システムと、
前記処理システムへのワークの投入を検出する第１検出部と、
前記処理システムにおけるワークの通過を検出する第２検出部と、
を備え、
前記ステートマシン生成部は、前記第１検出信号から送信された検出信号が前記イベントデータ収集部によって前記イベントデータとして収集された際に、前記ステートマシンを生成してＩＤを発番し、
前記ステートマシン駆動部は、前記第２検出信号から送信された検出信号に応じたイベントを、前記ステートマシンに送信して駆動させる処理システム。
【請求項９】
前記プロセスデータを検出し、前記プロセスデータ収集部に送信する第３検出部と、
前記ワークに付帯された情報を検出する第４検出部と、をさらに備え、
前記ステートマシン生成部は、前記ＩＤと前記情報との紐付けを行う請求項８記載の処理システム。
【請求項１０】
コンピュータを、
処理システムにおいてワークの通過が検出された際の検出信号をイベントデータとして収集するイベントデータ収集部、
前記イベントデータ収集部が、前記処理システムへのワークの投入を示すイベントデータを収集した際に、複数の状態と、前記複数の状態間の遷移と、アクションと、を含み、それぞれの前記ワークに対応するモデルとしてのステートマシンを生成し、前記ステートマシンにＩＤを発番するステートマシン生成部、
生成された前記ステートマシンを保持するステートマシンリスト、および
前記ステートマシンリストに保持された前記ステートマシンに、前記検出信号に応じたイベントを送信して駆動させるステートマシン駆動部、
として機能させるためのプログラム。
【請求項１１】
前記コンピュータを、さらに、
前記ワークが処理される際のプロセスデータを収集するプロセスデータ収集部、
紐付け部、および
プロセスデータ出力部、
として機能させ、
前記ステートマシンは、前記ステートマシン駆動部によって駆動されて所定の状態への入場および退場が行われた際に、前記プロセスデータの切出しを行うための二次イベントを送信する二次イベント送信アクションを含み、
前記二次イベントには、前記ＩＤが付帯され、
前記紐付け部は、前記二次イベントを受信した際に、前記プロセスデータに対して前記二次イベントに付帯された前記ＩＤを付与し、
前記プロセスデータ出力部は、前記ＩＤが付与された前記プロセスデータの、ファイル保存およびデータ送信の少なくともいずれかを行う請求項１０記載のプログラム。
【請求項１２】
前記コンピュータを、さらに、
前記処理システムにおいて、通過が検出されなかった前記ワークに対応し、前記ステートマシンリストに保持されたファントムステートマシンを検索し、前記ファントムステートマシンを終端化させるファントム消去部として機能させる請求項１０または１１に記載のプログラム。
【請求項１３】
前記ファントム消去部は、前記ステートマシンの遷移時に、
それぞれの前記状態と、前記処理システムのそれぞれの場所と、の対応が記憶された対応マスタを参照し、遷移後の状態に対応する場所を取得し、
遷移後の当該状態および当該場所におけるそれぞれの前記ステートマシンの予定滞在数を算出し、
それぞれの前記状態およびそれぞれの前記場所における前記ステートマシンの滞在上限数が記憶された滞在上限数マスタを参照して、当該状態および当該場所におけるそれぞれの滞在上限数を取得し、
前記予定滞在数および前記滞在上限数から滞在超過数を算出し、
当該状態および当該場所におけるそれぞれの前記滞在超過数の前記ステートマシンを、前記ファントムステートマシンとして終端化させる請求項１２記載のプログラム。
【請求項１４】
請求項１０〜１３のいずれか１つに記載の前記プログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データ収集システム、処理システム、プログラム、および記憶媒体に関する。
【背景技術】
【０００２】
製造装置における生産性や品質の向上のために、製造装置における各種データを収集して、分析を行う場合がある。例えば、製品の出来栄えや検査結果などとデータを比較し、悪い結果が得られた製品のデータを追跡し、改善点を特定する試みが行われている。このような目的のもと、加工前後のタイミングでワークのＩＤを読み出し、プロセスデータと紐付ける手法が採られることがある。しかし、ワーク自体にＩＤが付されていない場合や、加工前後のタイミングでのＩＤの読み出しが困難な場合は、このような手法を採ることができない。
製造装置の制御ソフトを改造し、ワークと紐付けながらデータ収集を行うことも考えられるが、ソフトの改造には大きなコストが掛かる。さらに、この場合、製造装置ごとにソフトの改造を行う必要がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１５２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、ワークの処理過程を容易に追跡可能なデータ収集システム、処理システム、プログラム、および記憶媒体を提供することである。
【課題を解決するための手段】
【０００５】
実施形態に係るデータ収集システムは、イベントデータ収集部と、ステートマシン生成部と、ステートマシンリストと、ステートマシン駆動部と、を含む。前記イベントデータ収集部は、処理システムにおいてワークの通過が検出された際の検出信号を、イベントデータとして収集する。前記ステートマシン生成部は、前記イベントデータ収集部が、前記処理システムへのワークの投入を示すイベントデータを収集した際に、複数の状態と、前記複数の状態間の遷移と、アクションと、を含み、それぞれの前記ワークに対応するモデルとしてのステートマシンを生成し、前記ステートマシンにＩＤを発番する。前記ステートマシンリストは、生成された前記ステートマシンを保持する。前記ステートマシン駆動部は、前記ステートマシンリストに保持された前記ステートマシンに、前記検出信号に応じたイベントを送信して駆動させる。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るデータ収集システムの構成を表すブロック図である。
【図２】（ａ）実際のワークの処理の一例を表す模式図である。（ｂ）（ａ）に対応した仮想上のワークの処理を表す模式図である。
【図３】仮想ワークの一例を表すステートマシン図である。
【図４】製造装置の動作とそれに応じた仮想ワークの状態の一例を表すグラフである。
【図５】ＧＵＩ画面に表示される状態遷移図の一例である。
【図６】ＧＵＩ画面に表示される、図５の状態遷移図に対応する状態遷移表である。
【図７】第１実施形態の第１実施例に係るデータ収集システムの構成を表すブロック図である。
【図８】第１実施形態の第２実施例に係るデータ収集システムが適用される製造装置の一例を表す模式図である。
【図９】第１実施形態の第２実施例に係るデータ収集システムにおける仮想ローダを表すステートマシン図である。
【図１０】第２実施形態に係るデータ収集システムの構成を表すブロック図である。
【図１１】ファントムステートマシンにより生じる課題を説明する模式図である。
【図１２】ファントムステートマシンにより生じる課題を説明する模式図である。
【図１３】第２実施形態に係るデータ収集システムの動作の一部を表すフローチャートである。
【図１４】第２実施形態の変形例に係るデータ収集システムの構成を表すブロック図である。
【発明を実施するための形態】
【０００７】
以下に、本発明の実施形態について図面を参照しつつ説明する。
本願明細書と各図において、既に説明したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【０００８】
図１および図２を参照しつつ、第１実施形態に係るデータ収集システム１００の概要について説明する。
図１は、第１実施形態に係るデータ収集システム１００の構成を表すブロック図である。
図２（ａ）は、実際のワークの処理の一例を表す模式図である。図２（ｂ）は、図２（ａ）に対応した仮想上のワークの処理を表す模式図である。
【０００９】
図１に表すように、データ収集システム１００は、イベントデータ収集部２、ステートマシン生成部４、ステートマシンリスト６、ステートマシン駆動部８、プロセスデータ収集部１２、紐付け部１４、プロセスデータ出力部１６、ステートマシンモデルファイル２０、生成タイミング定義ファイル２２、およびステートマシンモデル編集ツール２４を有する。
【００１０】
データ収集システム１００は、複数の検出部が備え付けられた処理システムに適用される。ここでは、図２（ａ）に表す、処理システムの一例としての製造装置に、データ収集システム１００を適用した場合について説明する。
【００１１】
図２（ａ）に表す例では、複数のワークが収納された容器が、製造装置に載置されている。この容器の中から、ロボットによってワークが１つずつ取り出されていく。取り出されたワークは、ローダ、加工室、および検査室に、順次搬送される。検査室で良品と判定されたワークは、アンローダに搬送され、不良品と判定されたワークは、アンローダに搬送されずに取り出される。
【００１２】
複数の検出部Ａ１〜Ａｎは、製造装置の各部において、ワークの通過を検出する。各検出部は、ワークの通過を検出した際に、その検出信号をイベントデータ収集部２に送信する。検出部Ａ１〜Ａｎには、例えば、近接センサまたは光電センサなどの、物体を検出するセンサが用いられる。あるいは、製造装置がロボットアームを備え、ロボットアームによってワークの搬送が行われる場合、各検出部は、ロボットアームの動きを検出することで、ワークの通過を検出してもよい。
【００１３】
検出部Ａ１〜Ａｎの態様は、これらの例に限られない。例えば、検出部Ａ１〜Ａｎは、製造装置の制御部から発せられる制御信号などを利用して、ワークの通過を検出しても良い。なお、完成された製造装置に対してデータ収集システム１００を適用する場合は、物体検出センサを製造装置に取り付け、検出部Ａ１〜Ａｎとして用いることで、システムの導入に伴うコストを抑えることができる。なお、１つの場所におけるワークの通過を１つの検出部で検出できない場合は、１つの場所に対して複数の検出部を組み合わせて用いてもよい。
【００１４】
検出部Ｂは、ワークに付帯される情報（例えば、ロットＩＤ）を検出し、イベントデータ収集部２に送信する。例えば、ワークを収納した容器にバーコードが付されている場合、検出部Ｂは、このバーコードを読み取るバーコードリーダである。
【００１５】
イベントデータ収集部２は、検出部Ａ１〜Ａｎから送信された各検出信号を、イベントデータとして収集する。換言すると、イベントデータ収集部２では、検出部Ａ１〜Ａｎから送信される検出信号に基づき、製造装置の各部で発生しているイベントを示すイベントデータが生成される。イベントとは、図２（ａ）に表す例では、「製造装置へのワークの投入」や「加工室へのワークの投入」などである。また、イベントデータ収集部２には、検出部Ｂから送信された情報も蓄積されていく。１つの場所に対して複数の検出部が設けられている場合、イベントデータ収集部２は、それらの複数の検出結果を１つのイベントデータとして収集してもよい。
【００１６】
ステートマシン生成部４は、製造装置へのワーク投入のイベントデータが生成された際に、当該ワークに対応するステートマシンを生成する。このステートマシンは、ワークに対応するモデルであり、複数の状態、複数の状態間の遷移、およびアクションを含む。これらの状態や遷移、アクションは、実際のワークの動きに即して設定される。また、ステートマシン生成部４は、当該ステートマシンにＩＤを発番し、付与する。生成されたステートマシンは、仮想のワークとしてふるまう。すなわち、製造装置へのワークの投入にあわせて、ステートマシン生成部４により、それぞれのワークに対応し、ＩＤが付与された仮想のワークが生成されていく。
【００１７】
ステートマシンリスト６は、ステートマシン生成部４によって生成されたステートマシンを保持する。ステートマシンリスト６は、ステートマシンが消滅するまで、それぞれのステートマシンを保持し続ける。なお、ステートマシンリスト６は、ステートマシン生成部４によって生成されたステートマシン以外の、他のステートマシンを保持していてもよい。
【００１８】
ステートマシン駆動部８は、イベントデータ収集部２によって収集されたイベントに応じて、ステートマシンリスト６に保持されたステートマシンを駆動させる。例えば、検出部Ａ２が、加工室に投入されるワークを検出した際、ステートマシン駆動部８は、当該ワークに対応するステートマシンを駆動させ、ステートマシンがローダ内にある状態から加工室内にある状態に遷移させる。
【００１９】
それぞれのステートマシンは、二次イベント送信アクション１０を有する。二次イベント送信アクション１０は、ステートマシンに発生したイベントに応じて、二次イベントを生成するアクションである。二次イベントには、ステートマシンと同じＩＤが付帯される。
本実施形態においてアクションとは、ステートマシンにおいて、ある状態に対して、入場するとき、退場するとき、および別の状態へ遷移するときに発生させる事象のことを示すものである。
【００２０】
検出部Ｃは、製造装置におけるプロセスに関するデータを検出する。具体的には、検出部Ｃは、加工室における温度や圧力のように、時間に対して検出値が連続的に変化する波形データを取得する。なお、複数のプロセスデータを取得できるように、検出部Ｃが複数設けられていてもよい。
【００２１】
検出部Ｃは、取得した波形データをプロセスデータ収集部１２に送る。プロセスデータ収集部１２には、検出部Ｃによって取得された波形データが蓄積される。複数の検出部Ｃが設けられている場合、プロセスデータ収集部１２には、各検出部Ｃによって取得された波形データが蓄積される。
【００２２】
紐付け部１４は、二次イベント送信アクション１０によって生成された二次イベントに応じて、プロセスデータ収集部１２に格納された波形データの一部を切り出す。そして、紐付け部１４は、切り出された波形データと、二次イベントに付帯されたＩＤと、を紐付ける。これにより、ステートマシンと波形データが、共通のＩＤで紐付けられる。切り出された波形データは、プロセスデータ出力部１６によって、外部に出力される。
【００２３】
ステートマシンモデルファイル２０は、ステートマシンの受信イベントリストおよび状態リストを含む。状態リストは、ステートマシンが採り得る状態を含む。また、受信イベントリストは、状態リストに含まれる状態間での遷移を生じさせるイベントを含む。この他に、ステートマシンモデルファイル２０は、二次イベントの送信などのアクション、遷移の条件判定を行うためのガード条件も含んでいる。
【００２４】
生成タイミング定義ファイル２２は、ステートマシンが生成されるイベントを定義している。すなわち、生成タイミング定義ファイル２２によって定義されたイベントが発生すると、ステートマシン生成部４によってステートマシンが生成される。また、生成タイミング定義ファイル２２そのものを、ステートマシンを用いて表現してもよい。後述の仮想ローダでは、この方法を用いる。
【００２５】
ステートマシンモデル編集ツール２４は、ステートマシンモデルファイル２０および生成タイミング定義ファイル２２を作成および編集するためのツールである。データ収集システム１００のユーザは、ステートマシンモデル編集ツール２４を使用することで、ＧＵＩ画面上でステートマシンモデルを作成することができる。ステートマシンモデル編集ツール２４の詳細については、後述する。
【００２６】
以上で説明したデータ収集システム１００は、ＣＰＵやメモリなどを備えたコンピュータにより実行される。このコンピュータのプログラム格納部には、当該コンピュータを、上述した、イベントデータ収集部２、ステートマシン生成部４、ステートマシンリスト６、ステートマシン駆動部８などとして機能させるためのプログラムが格納されている。
このプログラムは、ハードディスクや、ＤＶＤ、ＣＤ、ＦＤ、ＭＯ、メモリーカードなどの記憶媒体に記憶されたものであって、その記憶媒体からコンピュータにインストールされたものであってもよい。
【００２７】
次に、図２および図３を用いて、データ収集システム１００の動作の具体的な一例を説明する。
図３は、仮想ワークの一例を表すステートマシン図である。
なお、図３のステートマシン図は、Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ（ＵＭＬ）で作成されたものである。
【００２８】
図３に表すステートマシン図は、状態Ｓ１０〜Ｓ１５の６つの状態を含む。状態Ｓ１０は、初期状態であり、状態Ｓ１５は、終端状態である。状態Ｓ１１〜Ｓ１４のそれぞれの上段には、状態名が記載されている。状態間の矢印は、遷移とその方向を表している。矢印には、「イベント／[ガード条件]／アクション」が付されうる。イベント、ガード条件、およびアクションは、いずれも適宜省略可能である。図３に表す例では、矢印に付された文字は、イベントを表している。状態Ｓ１１およびＳ１２の下段には、アクションの実行条件が記載されている。例えば、状態Ｓ１１における「ｅｎｔｒｙ／ＩＤ発番」は、状態Ｓ１１に入場した際に、ＩＤを発番するアクションが設定されていることを表す。
【００２９】
以降では、図２（ａ）に表すように、実際の製造装置において加工されるワークを「実ワーク」、図２（ｂ）に表すステートマシンを「仮想ワーク」と称する。
【００３０】
検出部Ａ１は、ローダへ投入される実ワークを検出する。この検出信号は、イベントデータ収集部２によってワーク投入イベントとして収集される。ステートマシン生成部４は、ワーク投入イベントが生成された際に、仮想ワークを生成する。
【００３１】
図３に表すように、ワーク投入イベントが生成されると、仮想ワークが、初期状態Ｓ１０からローダ内に配された状態Ｓ１１へ遷移する。状態Ｓ１１に入場すると、ＩＤを発番するアクションが実行される。これにより、仮想ワークにＩＤが付与される。
【００３２】
ローダから払い出された実ワークは、加工室へ投入される。検出部Ａ２は、加工室へ投入される実ワークを検出する。イベントデータ収集部２は、この検出信号を加工室への投入イベントとして収集する。加工室投入イベントを受けて、ステートマシン駆動部８は、仮想ワークを、ローダ内に配された状態Ｓ１１から、加工室内に配された状態Ｓ１２へ遷移させる。
【００３３】
状態Ｓ１２に入場すると、仮想ワークの二次イベント送信アクション１０によって、「波形切出し開始」のアクションが実行される。この二次イベントを受けて、加工室内に設けられた検出部Ｃによる検出結果（波形データ）の切り出しが開始される。
【００３４】
実ワークは、加工が終了すると、加工室から払い出される。検出部Ａ３は、加工室から払い出される実ワークを検出する。イベントデータ収集部２は、この検出信号を加工室からの払出イベントとして収集する。加工室払出イベントを受けて、ステートマシン駆動部８は、仮想ワークを、加工室内に配された状態Ｓ１２から、検査室内に配された状態Ｓ１３へ遷移させる。このとき、仮想ワークの二次イベント送信アクション１０によって、「波形切出し終了」のアクションが実行される。この二次イベントを受けて、波形データの切り出しが終了する。
【００３５】
紐付け部１４は、プロセスデータ収集部１２を参照し、切り出し開始の二次イベントを受信してから、切り出し終了の二次イベントを受信するまでの間の波形データを切り出す。また、これらの二次イベントには、仮想ワークのＩＤが付帯されている。紐付け部１４は、抽出された波形データに、仮想ワークのＩＤを紐付ける。
【００３６】
検査室で良品と判定されたワークは、アンローダへ搬送される。不良品と判定されたワークは、不良品を回収するための容器へ搬送される。このとき、検出部Ａ４は、良品が搬送される経路上のワークを検出する。検出部Ａ５は、不良品が搬送される経路上のワークを検出する。
【００３７】
検出部Ａ４が実ワークを検出すると、イベントデータ収集部２は、この検出信号を検査ＯＫイベントとして収集する。検査ＯＫイベントを受けて、ステートマシン駆動部８は、仮想ワークを、検査室内に配された状態Ｓ１３からアンローダ内に配された状態Ｓ１４へ遷移させる。
【００３８】
一方、検出部Ａ６が実ワークを検出すると、イベントデータ収集部２は、この検出信号を検査ＮＧイベントとして収集する。検査ＮＧイベントを受けて、ステートマシン駆動部８は、仮想ワークを、検査室内に配された状態Ｓ１３から終端状態Ｓ１５へ遷移させる。
【００３９】
検出部Ａ５は、アンローダから払い出されるワークを検出する。イベントデータ収集部２は、この検出信号を、製造装置からのワーク払出イベントとして収集する。ワーク払出イベントを受けて、ステートマシン駆動部８は、仮想ワークを、アンローダ内に配された状態Ｓ１４から終端状態Ｓ１５へ遷移させる。
【００４０】
終端状態Ｓ１５へ遷移したステートマシンは、消滅する。消滅したステートマシンは、ステートマシンリスト６から削除される。このとき、ステートマシンが初期状態Ｓ１０から終端状態Ｓ１５へ至るまでの過程、当該ステートマシンに付与されたＩＤ、および当該ＩＤに紐付けられた波形データ、などの情報を、外部に出力したり、記録媒体に記録したりすることが可能である。
【００４１】
ここで、上述した例を、図４を参照しつつより具体的に説明する。
図４は、製造装置の動作とそれに応じた仮想ワークの状態の一例を表すグラフである。
【００４２】
図４では、主に、上段から、イベントデータ収集部２によって収集されるワーク通過イベント、加工室におけるプロセスの波形データ、仮想ワークの状態遷移の履歴、ＩＤが紐付けられた後のプロセスの波形データ、が表されている。
なお、ＩＤ紐付け後の波形データについては、紐付けが行われた部分が実線で表され、紐付けされていない部分は破線で表されている。
【００４３】
時刻ｔ１では、ワーク投入イベントが生成されている。このとき、１番目の仮想ワークが生成され、当該仮想ワークが状態Ｓ１１に遷移する。
時刻ｔ２で、加工室投入イベントが生成されると、仮想ワークが状態Ｓ１２に遷移する。このとき、加工室内の圧力データの切り出しが開始される。
時刻ｔ３で、加工室払出イベントが生成されると、仮想ワークが状態Ｓ１３に遷移する。このとき、加工室内の圧力データの切り出しが終了する。
時刻ｔ２から時刻ｔ３までの間の波形データが切り出され、１番目のワークのＩＤと紐付けられる。
【００４４】
時刻ｔ４で、検査ＯＫイベントが生成されると、仮想ワークが状態Ｓ１４に遷移する。
時刻ｔ５で、ワーク払出イベントが生成されると、仮想ワークが状態Ｓ１５（終端状態）に遷移し、消滅する。
【００４５】
２番目以降のワークについても同様に、各イベントの生成に応じて、状態が遷移していく。そして、状態の遷移に伴って、波形データの一部が切り出され、それぞれの仮想ワークのＩＤと紐付けられていく。
【００４６】
なお、図４に表す例では、３番目のワークについて、検査ＮＧイベントが生成され、状態Ｓ１３から終端状態Ｓ１５へ遷移している。このため、３番目の仮想ワークの履歴には、状態Ｓ１４が含まれていない。
【００４７】
以上で説明したように、第１実施形態に係るデータ収集システム１００では、製造装置における実ワークの通過を表す検出信号を、イベントデータ収集部２がイベントデータとして収集する。そして、ワークの投入イベントの生成時には、ステートマシン生成部４により、仮想ワークが生成され、ＩＤが付与される。また、その他のイベントの生成時には、ステートマシン駆動部８が、実ワークの状態に合わせて仮想ワークの状態を遷移させる。
【００４８】
このように、ＩＤ付きの仮想ワークを生成し、実ワークの動きに併せて状態を遷移させていくことで、実ワークの処理過程のデータを、ＩＤ付きで収集していくことが可能となる。すなわち、本実施形態によれば、各ワークの処理過程を容易に追跡することが可能となる。
【００４９】
また、本実施形態によれば、特定のイベントにおいて、波形データの切り出しの開始および終了を行うことで、仮想ワークに波形データの一部を切り出して紐付けることができる。このため、例えば、検査でＮＧと判定されたワークの波形データを確認したい場合なども、当該ワークのＩＤに紐付けられた波形データを容易に探し出すことができる。従って、検査でＮＧと判定されたワークについて、データの収集および分析なども容易に行うことができ、生産性および品質の向上を図ることができる。
【００５０】
なお、上述した第１実施形態の一例では、プロセスデータが波形である場合について説明した。すなわち、検出値が、連続的かつ周期的に上下に変動するようなプロセスデータについて説明した。しかし、本実施形態に係るデータ収集システム１００は、波形以外の、ステップ状に変化するようなプロセスデータについても収集可能である。
ただし、温度や圧力などの波形データについては、値が連続的に変動しているため、ステップ状に変化するデータに比べて、各ワークに対応する部分を特定し、紐付けることが困難である。このため、本実施形態に係るデータ収集システム１００は、特に、波形データの収集および分析に対して、好適に用いられる。
【００５１】
また、図２〜図４に表す例では、ワークを加工する際のプロセスデータをデータ収集システム１００によって収集する場合について説明した。しかし、本実施形態に係るデータ収集システム１００は、ワークの加工を行う装置以外にも適用することができる。例えば、データ収集システム１００は、ワークの加熱や洗浄などを行う処理システムにおいて、ワークを処理する際のプロセスデータの収集に広く適用することが可能である。
【００５２】
上述したステートマシンは、ステートマシンモデル編集ツール２４により編集することができる。ステートマシンモデル編集ツール２４によって、ステートマシンが採り得る状態、受信するイベント、ステートマシンが生成されるタイミング、各状態間の遷移の条件や遷移先などを指定していくことで、ステートマシンが作成される。
【００５３】
図５は、ＧＵＩ画面に表示される状態遷移図の一例である。
図６は、ＧＵＩ画面に表示される、図５の状態遷移図に対応する状態遷移表である。
なお、図５において、各状態間の矢印に付された文字は、「イベント／アクション」を表している。すなわち、記載されたイベントが発生した場合、状態が遷移するとともに、記載されたアクションが実行されることを表している。
【００５４】
ユーザは、ステートマシンモデル編集ツール２４を用いて、図５および図６に表すような、状態遷移図および状態遷移表のいずれの形式でもステートマシンを作成することができる。また、ステートマシンモデル編集ツール２４を用いることで、ユーザは、状態遷移図および状態遷移表の両方を確認することができる。これにより、設定すべき項目に漏れが無いかを、ユーザが確認し易くなる。
【００５５】
ステートマシンを作成する際に設定した、「ステートマシンが採り得る状態」および「受信イベント」については、ステートマシンモデルファイル２０に保存される。「ステートマシンが生成されるタイミング」については、生成タイミング定義ファイル２２に保存される。「各状態間の遷移の条件・遷移先」については、ステートマシンモデルファイル２０に保存される。これらの各ファイルについては、データ収集の対象となる製造装置ごとに差し替えられるように、ＸＭＬ（Extensible Markup Language）などの汎用的な形式で保存される。
【００５６】
ステートマシンモデルファイル２０および生成タイミング定義ファイル２２は、複数登録される可能性がある。例えば、装置に複数の投入経路がある場合、生成タイミング定義ファイル２２が必要である。レシピによって装置内のワークの流れ方が異なる場合は、複数のステートマシンモデルファイル２０が必要である。
【００５７】
（第１実施例）
上述した第１実施形態に係るデータ収集システム１００の一実施例について、図７を参照しつつ説明する。
図７は、第１実施形態の第１実施例に係るデータ収集システム１１０の構成を表すブロック図である。
【００５８】
図７に表すように、データ収集システム１１０は、ステートマシンリスト６、ステートマシン駆動部８、紐付け部１４、プロセスデータ出力部１６、ステートマシンモデル編集ツール２４、シリアルデータ受信部３２、入力用イベントデータリスト３４、入力用プロセスデータリスト３６、バーコードリーダ（BCR:Barcode Reader）データ受信部３８、仮想ローダ４０、出力用イベントデータリスト４２、出力用プロセスデータリスト４４、イベントデータ出力部４６、およびステートマシン設定ファイル読込部４８を有する。
【００５９】
シリアルデータ受信部３２には、検出部Ａ１〜Ａｎおよび検出部Ｃで検出された信号を、
シリアル通信で受信する。シリアルデータ受信部３２は、受信したデータを解析し、イベントデータを入力用イベントデータリスト３４に格納し、波形データを入力用プロセスデータリスト３６に格納する。すなわち、シリアルデータ受信部３２および入力用イベントデータリスト３４は、イベントデータ収集部２として機能し、シリアルデータ受信部３２および入力用プロセスデータリスト３６は、プロセスデータ収集部１２として機能する。
【００６０】
ＢＣＲデータ受信部３８は、検出部Ｂとしてのバーコードリーダから送信されたデータを受信する。ＢＣＲデータ受信部３８は、受信したデータを、入力用イベントデータリスト３４に格納する。
【００６１】
ステートマシンリスト６には、仮想ローダ４０および仮想ワークのステートマシンが保持される。仮想ローダ４０は、ステートマシンリスト６上から削除されることなく存在し続けるステートマシンであり、仮想的なローダとして機能する。
【００６２】
具体的には、仮想ローダ４０は、仮想ワーク生成とワークＩＤ発番の２つのアクションを実行する機能を有する。ワーク投入イベントが生成された際に、仮想ローダ４０によってこれらのアクションが実行され、ＩＤが付与された仮想ワークが生成される。すなわち、データ収集システム１１０においては、ステートマシンである仮想ローダ４０が、ステートマシン生成部４として機能する。また、仮想ローダ４０自身が、生成タイミング定義ファイル２２でもある。
【００６３】
生成された仮想ワークには、仮想ローダ４０のアクションによって付与されたＩＤ以外に、ＢＣＲデータ受信部３８によって読み取られた、実ワークの情報（ロットＩＤ）が紐付けられる。仮想ワークに付与されたＩＤと、実ワークの情報と、の紐付けは、仮想ローダ４０によってＩＤ発番のアクションが実行された際に、行われる。
【００６４】
仮想ローダ４０は、ステートマシンモデルファイル２０に従って、仮想ワークを生成する。これらのファイルは、ステートマシン設定ファイル読込部４８によって読み込まれる。また、これらのファイルは、ステートマシンモデル編集ツール２４によって作成または編集されたものである。
【００６５】
ステートマシン駆動部８は、入力用イベントデータリスト３４に格納されたイベントに応じて、各仮想ワークを駆動させる。仮想ワークは、ステートマシン駆動部８によって駆動されるとともに、投入履歴書き出し、ＯＫ払出し履歴書出し、ＮＧ払出し履歴書出し、波形切り出し開始、および波形切り出し終了のアクションを実行する。
【００６６】
投入履歴書き出し、ＯＫ払出し履歴書出し、またはＮＧ払出し履歴書出しのアクションが実行されると、その履歴が、出力用イベントデータリスト４２に書き出される。
波形切り出し開始および波形切り出し終了は、既に説明したように、波形データの切り出しを行うためのアクションである。これらのアクションを受けて、紐付け部１４は、入力用プロセスデータリスト３６から波形データを切り出してＩＤと紐付ける。また、紐付け部１４は、切り出した波形データを、出力用プロセスデータリスト４４に格納する。
【００６７】
イベントデータ出力部４６およびプロセスデータ出力部１６は、それぞれ、出力用イベントデータリスト４２および出力用プロセスデータリスト４４を参照し、格納されたデータを、ＣＳＶなどの所定のファイル形式で出力し、ＳＤカードなどの記録媒体に書き込む。あるいは、これらの出力部は、ＦＴＰ（File Transfer Protocol）などを用いて外部のサーバへデータを送信しても良いし、データベース通信を行って、ＯＤＢＣ（Open Database Connectivity）などを用いて、外部のデータベースサーバへデータを挿入してもよい。
【００６８】
（第２実施例）
図８は、第１実施形態の第２実施例に係るデータ収集システムが適用される製造装置の一例を表す模式図である。
図９は、第１実施形態の第２実施例に係るデータ収集システムにおける仮想ローダ４０を表すステートマシン図である。
【００６９】
第２実施例に係るデータ収集システムは、例えば、仮想ローダ４０を除き、データ収集システム１１０と同様の構成を有する。
【００７０】
図８に表す例では、Ｘ軸方向およびＺ軸方向に可動なロボットＲに、ハンドＨが搭載されている。ハンドＨは、容器Ｅ１およびＥ２からワークを１つずつ取り出し、コンベア上に載置する。コンベア上に載置されたワークは、加工室Ｐに運ばれ、所定の加工が施される。
【００７１】
ハンドＨの通過は、破線で表された位置で、検出部Ａ１１およびＡ１２によって検出される。また、コンベア上のベルトは、加工室Ｐに投入される際に、破線で表された位置で、検出部Ａ１３によって検出される。
【００７２】
図９に表すように、本実施例に係るデータ収集システムにおいて、仮想ローダ４０は、状態Ｓ２０〜Ｓ２２の３つの状態を含む。
【００７３】
仮想ローダ４０は、ハンドＨによって実ワークが取り出される前および実ワークが加工室へ投入された後は、状態Ｓ２０にある。検出部Ａ１１によって、ハンドＨが容器Ｅ１側へ動いたことが検出されると、Ｅ１側通過イベントが発生する。このイベントを受けて、仮想ローダ４０は、状態Ｓ２０から状態Ｓ２１へ遷移する。
【００７４】
状態Ｓ２１に遷移した後、検出部Ａ１３によって、ワークが加工室へ投入されることが検出されると、ワーク検出イベントが発生する。このイベントを受けて、仮想ローダ４０は、状態Ｓ２１から状態Ｓ２０へ遷移するとともに、仮想ワークを生成する。このとき、仮想ワークには、容器Ｅ１のロットＩＤが紐付けられる。
【００７５】
同様に、仮想ローダ４０が状態Ｓ２０にあるときに、検出部Ａ１２によってハンドＨが検出されると、Ｅ２側通過イベントが発生する。このイベントを受けて、仮想ローダ４０は、状態Ｓ２０から状態Ｓ２２へ遷移する。状態Ｓ２２に遷移した後、検出部Ａ１３によってワークが検出されると、ワーク検出イベントが発生する。このイベントを受けて、仮想ローダ４０は、仮想ワークを生成するとともに、容器Ｅ２のロットＩＤを紐付ける。
【００７６】
状態Ｓ２１において、ワーク検出イベントが発生せず、Ｅ２側通過イベントが発生した場合は、状態Ｓ２２に遷移する。また、状態Ｓ２１において、再度、Ｅ１側通過イベントが発生した場合は、状態Ｓ２１に自己遷移する。
同様に、状態Ｓ２２において、ワーク検出イベントが発生せず、Ｅ１側通過イベントが発生した場合は、状態Ｓ２１に遷移する。また、状態Ｓ２２において、再度、Ｅ２側通過イベントが発生した場合は、状態Ｓ２２に自己遷移する。
【００７７】
本実施例に係るデータ収集システムによれば、複数の容器からワークが取り出される場合でも、容器に付されたロットＩＤなどの情報を、それぞれのワークに紐付けることが可能となる。
【００７８】
また、ロットごとに加工室で行われる処理が異なる場合でも、本実施例に係るデータ収集システムによれば、どのロットからワークを取り出したか区別することができるため、ロットごとのレシピに対応したステートマシンを生成することが可能である。
【００７９】
（第２実施形態）
図１０は、第２実施形態に係るデータ収集システム２００の構成を表すブロック図である。
第２実施形態に係るデータ収集システム２００は、第１実施形態に係るデータ収集システム１００に対して、ファントム消去部５０、対応マスタ５４、および滞在上限数マスタ５６をさらに備える。また、ステートマシンが、二次イベント送信アクション１０に加え、ファントム消去イベント送信アクション１１を有する。
【００８０】
第１実施形態の説明で述べたように、データ収集システム１００においては、製造装置の検出部Ａ１〜Ａｎによる実ワークの検出結果に基づいて、仮想ワークの生成および駆動が行われる。換言すると、製造装置に投入された実ワークが、検出部によって検出されずに動いた場合、仮想ワークは、実ワークの動きに対応した駆動がなされない。このため、実ワークが検出されずに製造装置から抜去されたり落下したりすると、当該実ワークに対応する仮想ワークは、消去（終端化）されずにステートマシンリスト６に保持され続ける。
以降の本実施形態の説明では、製造装置において、通過が検出されなかった実ワークに対応し、ステートマシンリスト６に保持され続けている仮想ワーク（ステートマシン）を、「ファントムステートマシン」と称する。
【００８１】
ファントムステートマシンが存在する場合、検出されなかった実ワークの次の実ワークに対する検出信号がイベントデータ収集部２によって収集されると、ステートマシン駆動部８は、収集されたイベントに基づいて、ファントムステートマシンを駆動させる。すなわち、ｎ番目の仮想ワークがファントムステートマシンとなった場合、ｎ＋１番目の仮想ワークが駆動されるべきイベントに基づいて、ファントムステートマシンが駆動されてしまう。この結果、紐付け部１４によってｎ＋１番目の仮想ワークに紐付けられるべきプロセスデータが、ｎ番目のファントムステートマシンと紐付けられ、正確なワークの処理過程のデータが得られなくなってしまう。
【００８２】
この課題について、図１１および図１２を参照して説明する。
図１１および図１２は、ファントムステートマシンにより生じる課題を説明する模式図である。
【００８３】
図１１（ａ）および図１２（ａ）は、製造装置における実ワークの動きを表す。図１１（ｃ）および図１２（ｃ）は、それぞれ、図１１（ａ）および図１２（ａ）の実ワークの動きに対応して得られた検出部の検出結果を表す。図１１（ｂ）および図１２（ｂ）は、それぞれ、図１１（ｃ）および図１２（ｃ）の検出結果に基づく仮想ワークの状態遷移の様子を表す。また、図１１（ｃ）および図１２（ｃ）では、各検出信号について、紐付けられた仮想ワークのＩＤごとに実線で結んで示している。
【００８４】
図１１は、ファントムステートマシンが発生しない場合の様子を表している。それぞれの実ワークの動きが検出部１〜４によって検出され、その検出結果に基づいて各仮想ワークの状態が遷移している。
この場合、第１実施形態で説明したように、実ワークのデータがＩＤ付きで収集されていき、実ワークの処理過程を正しく追跡することが可能となる。
【００８５】
図１２は、ファントムステートマシンが発生した場合の様子を表している。この例では、図１２（ａ）および図１２（ｃ）に表されるように、実ワーク１が場所Ｂにおいて、検出部によって検出されずに製造装置から抜去されている。このとき、対応する仮想ワーク１は、ステートマシンリスト６に保持され続ける。この結果、図１２（ｃ）に表すように、実ワーク２が場所Ｂから場所Ｃに移動した際の検出部３による検出信号が、仮想ワーク１に紐付けられ、仮想ワーク１が、場所Ｃに対応する状態３に遷移する。一方で、実ワーク２に対応する仮想ワーク２は、状態３に遷移せずに状態２のままとなる。また、これにより、場所Ｃで実ワーク２に対して処理が行われた場合、そのプロセスデータは、仮想ワーク２に紐付けられずに仮想ワーク１に紐付けられる。
【００８６】
本実施形態に係るデータ収集システム２００は、このようなデータの紐付けのずれを防止するために、上述した、ファントム消去部５０を備える。また、それぞれのステートマシンは、ファントム消去イベント送信アクション１１を有する。
【００８７】
ファントム消去イベント送信アクション１１は、仮想ワークが別の状態へ遷移する際に、ファントム消去イベントを生成して送信するアクションである。ファントム消去部５０は、このファントム消去イベントに応じて、ファントムステートマシンの検索を行う。このとき、ファントム消去部５０は、対応マスタ５４および滞在上限数マスタ５６を参照して、ファントムステートマシンの検索を行い、ファントムステートマシンを消去（終端化）する。
【００８８】
仮想ワークのそれぞれの状態は、製造装置における実ワークの滞在場所と対応している。対応マスタ５４には、仮想ワークのそれぞれの状態と、製造装置のそれぞれの場所と、の対応が記憶されている。
また、製造装置の各場所において、実ワークが滞在できる数には限りがある。これに対応して、滞在上限数マスタ５６には、製造装置のそれぞれの場所に滞在できる実ワークの上限数（場所の滞在上限数）と、それぞれの状態に滞在できる仮想ワークの上限数（状態の滞在上限数）と、が記憶されている。なお、ここでは、場所の滞在上限数と状態の滞在上限数が１つのマスタに記憶される場合を例示しているが、これらの情報が異なるマスタに別々に記憶されていても良い。
【００８９】
ここで、図１３を参照して、データ収集システム２００におけるファントムステートマシンを消去するための動作について、具体的に説明する。
【００９０】
図１３は、第２実施形態に係るデータ収集システム２００の動作の一部を表すフローチャートである。
実ワークの通過が検出部Ａ１〜Ａｎによって検出されると、その検出結果に基づいて、ステートマシン駆動部８により仮想ワークがある状態から別の状態へ遷移される。このとき、ファントム消去イベント送信アクション１１が実行され、図１３のフローチャートに表した動作が開始される。
【００９１】
ステップＳ３１において、ファントム消去部５０は、仮想ワークの遷移先の状態Ｘｓを取得する。
ステップＳ３２において、ファントム消去部５０は、仮想ワークが遷移した後に、当該状態Ｘｓにある仮想ワークの数を、状態Ｘｓの予定滞在数として算出する。この予定滞在数は、状態Ｘｓの現在（遷移前）の仮想ワークの滞在数（Ｎｓ個）に、遷移後に増加する仮想ワークの数（１個）を加えた値である。
【００９２】
ステップＳ３３において、ファントム消去部５０は、滞在上限数マスタ３６を参照し、状態Ｘｓの滞在上限数（Ｃｓ個）を取得する。
ステップＳ３４において、ファントム消去部５０は、ステップＳ３２で算出した状態Ｘｓの予定滞在数（Ｎｓ＋１個）から、滞在上限数（Ｃｓ個）を減じ、状態Ｘｓの滞在超過数（Ｆｓ個）を算出する。
【００９３】
ステップＳ３５において、ファントム消去部５０は、滞在超過数が０を超えているか判定する。
超えている場合、ステップＳ３６において、ファントム消去部５０は、状態ＸｓにあるＦ個の仮想ワークを終端状態に遷移させる。このとき、先に状態Ｘｓに遷移していたＦ個の仮想ワークが、ファントムステートマシンとして終端状態に遷移される。終端状態に遷移された仮想ワークは、消滅し、ステートマシンリスト６から削除される。
【００９４】
ステップＳ３７において、ファントム消去部５０は、対応マスタ５４を参照し、仮想ワークの遷移先の状態に対応する場所Ｘｐを取得する。
ステップＳ３８において、ファントム消去部５０は、仮想ワークが遷移した後に、当該場所Ｘｐにおいて、幾つの仮想ワークが滞在するかを、場所Ｘｐの予定滞在数として算出する。この予定滞在数は、場所Ｘｐの現在（遷移前）の仮想ワークの滞在数（Ｎｐ個）に、遷移後に増加する仮想ワークの数（Ｍｐ個）を加えた値である。
【００９５】
ステップＳ３９において、ファントム消去部５０は、滞在上限数マスタ３６を参照し、場所Ｘｐにおける滞在上限数を取得する。
ステップＳ４０において、ファントム消去部５０は、ステップＳ３８で算出した場所Ｘｐの予定滞在数（Ｎｐ＋Ｍｐ個）から、滞在上限数（Ｃｐ個）を減じ、滞在超過数（Ｆｐ個）を算出する。
【００９６】
ステップＳ４１において、ファントム消去部５０は、滞在超過数が０を超えているか判定する。
超えている場合、ステップＳ４２において、ファントム消去部５０は、場所Ｘｐに滞在する（場所Ｘｐに対応する状態にある）Ｆｐ個の仮想ワークを終端状態に遷移させる。このとき、先に場所Ｘｐに滞在していたＦｐ個の仮想ワークが、ファントムステートマシンとして終端状態に遷移される。終端状態に遷移された仮想ワークは、消滅し、ステートマシンリスト６から削除される。
その後、ステップＳ４３において、仮想ワークが遷移先の状態Ｘｓへ遷移する。
【００９７】
以上のステップにより、仮想ワークの遷移先におけるファントムステートマシンを消去（終端化）することが可能である。この結果、実ワーク通過時の検出信号や実ワーク処理時のプロセスデータを、対応する仮想ワークに正しく紐付けることが可能となる。
すなわち、本実施形態によれば、第１実施形態に比べて、各ワークの処理過程をより正確に追跡することが可能となる。
【００９８】
なお、図１３に表したフローチャートでは、仮想ワークの遷移先の状態Ｘｓにおける滞在超過数を調べた後に、場所Ｘｐの滞在超過数を調べる場合について説明したが、これらのステップの順序は適宜変更可能である。または、これらのステップが並行して同時に実行されても良い。
【００９９】
なお、図１０に表したデータ収集システム２００では、ステートマシンが有するファントム消去イベント送信アクション１１によってファントム消去部５０が起動される場合について説明したが、ステートマシンが、ファントムステートマシンの検索および消去を行うアクションを有していても良い。
【０１００】
図１４は、第２実施形態の変形例に係るデータ収集システム２１０の構成を表すブロック図である。
データ収集システム２１０は、ファントム消去部５０に代えて、ステートマシンが、ファントム消去アクション１１ａを有する。
【０１０１】
データ収集システム２１０では、ステートマシンが遷移する際に、図１３に表したフローチャートの動作が、ステートマシンのアクションとして実行される。すなわち、ファントム消去アクション１１ａは、ファントム消去部５０として機能する。
このようなデータ収集システムも、「ファントム消去部」を備えたものと見なすことができる。
【０１０２】
そして、ファントム消去部５０として機能する構成を備えたデータ収集システム２１０によれば、データ収集システム２００と同様に、各ワークの処理過程をより正確に追跡することが可能である。
【０１０３】
また、ここでは、製造装置の各場所における滞在上限数が互いに異なりうる場合について説明した。この場合、上述のように、対応マスタ５４や滞在上限数マスタ５６を参照し、仮想ワークの状態と製造装置の場所との対応や、それぞれの場所における滞在上限数を取得する必要がある。
しかし、製造装置に設けられる検出部の数を増やし、製造装置の場所と仮想ワークの状態を１：１で対応させることで、これらのマスタを不要とすることも可能である。製造装置の場所と仮想ワークの状態が１：１で対応していれば、滞在数の上限を一律に２と設定し、遷移先に同じ状態の仮想ワークが存在してれば、当該仮想ワークをファントムステートマシンとして終端化させれば良いためである。
【０１０４】
また、本実施形態の説明では、実ワークに対応するモデルをステートマシンで表現し、実ワークが検出されずに抜去等が行われた場合に、この実ワークに対応するファントムステートマシンを消去する場合について説明した。しかし、本実施形態に係る発明は、実ワークに対応するモデルがステートマシン以外で表現されている場合にも適用することが可能である。他のモデルを用いた場合であっても、実ワークが検出されずに抜去等が行われると、当該実ワークに対応するモデルがファントムとしてデータ収集システム上に残り続け、製造装置で得られたデータをモデルと正しく紐付けることが出来なくなってしまうためである。
例えば、本実施形態に係る発明は、ワークを、フローチャートなどを用いてモデルとして表現した場合にも適用することが可能である。
【０１０５】
以上、本発明のいくつかの実施形態を例示したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更などを行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。また、前述の各実施形態は、相互に組み合わせて実施することができる。
【符号の説明】
【０１０６】
２ イベントデータ収集部、  ４ ステートマシン生成部、  ６ ステートマシンリスト、  ８ ステートマシン駆動部、  １０ 二次イベント送信アクション、  １１ ファントム消去イベント送信アクション、  １１ａ ファントム消去アクション、  １２ プロセスデータ収集部、  １４ 紐付け部、  １６ プロセスデータ出力部、  ２０ ステートマシンモデルファイル、  ２２ 生成タイミング定義ファイル、  ２４ ステートマシンモデル編集ツール、  ３２ シリアルデータ受信部、  ３４ 入力用イベントデータリスト、  ３６ 入力用プロセスデータリスト、  ３８ ＢＣＲデータ受信部、  ４０ 仮想ローダ、  ４２ 出力用イベントデータリスト、  ４４ 出力用プロセスデータリスト、  ４６ イベントデータ出力部、  ４８ ステートマシン設定ファイル読込部、  ５０ ファントム消去部、  ５４ 対応マスタ、  ５６ 滞在上限数マスタ、  １００、１１０、２００、２１０ データ収集システム、  Ａ１〜Ａｎ、Ａ１１〜Ａ１３、Ｂ、Ｃ 検出部
【図１】
2018081668.tif 000003
【図２】
2018081668.tif 000004
【図３】
2018081668.tif 000005
【図４】
2018081668.tif 000006
【図５】
2018081668.tif 000007
【図６】
2018081668.tif 000008
【図７】
2018081668.tif 000009
【図８】
2018081668.tif 000010
【図９】
2018081668.tif 000011
【図１０】
2018081668.tif 000012
【図１１】
2018081668.tif 000013
【図１２】
2018081668.tif 000014
【図１３】
2018081668.tif 000015
【図１４】
2018081668.tif 000016