(58)【調査した分野】(Int.Cl.,DB名)
前記制御装置は、前記画像処理装置が取得する各画像データについての前記データ記憶領域に格納される際の識別情報および格納される位置を示す位置情報のうち少なくとも一方を、前記特定情報として前記画像処理装置へ提供し、
前記画像処理装置は、取得した各画像データを、前記制御装置からの対応する特定情報に従って前記データ記憶領域へ格納する、請求項1に記載の制御システム。
前記画像処理装置は、取得した各画像データを、予め定められた規則に従って、前記データ記憶領域へ格納するとともに、格納した画像データ毎に対応する特定情報を前記制御装置へ提供する、請求項1に記載の制御システム。
前記制御装置は、前記制御装置が管理する情報および前記画像処理装置が管理する情報の少なくとも一方と、前記データ記憶領域に格納される画像データを特定するための特定情報とを併せて前記データベースへ送信する、請求項2または3に記載の制御システム。
前記画像処理装置は、取得した各画像データを前記データ記憶領域へ格納するとともに、当該画像データを格納したタイミングを示す時刻情報を前記制御装置へ提供する、請求項1に記載の制御システム。
前記画像処理装置は、取得した各画像データを前記データベースへ格納するとともに、当該画像データを格納したタイミングを示す時刻情報を前記制御装置へ提供する、請求項8に記載の画像処理装置。
【発明を実施するための形態】
【0020】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0021】
<A.全体構成>
まず、本実施の形態に係る制御システムの全体構成について説明する。
図1は、本実施の形態に係る制御システム1を含む製造システムSYSの構成を示す模式図である。
【0022】
図1を参照して、製造システムSYSは、制御システム1と、情報収集装置300と、解析装置400とを含む。制御システム1は、プログラマブルコントローラ(以下「PLC」とも称す。)100と視覚センサ200とを含む。これらの装置は、ネットワーク30を介して接続されているとする。
【0023】
PLC100は、制御対象のワークなど(以下、「対象物」とも称す。)に対して実行される処理を制御する制御装置の典型的な具現化例である。このような制御装置としては、PLCに限らず、汎用コンピュータによって実現してもよいし、専用のハードウエアによって実現される装置であってもよい。
【0024】
図1に示す製造システムSYSでは、コンベア2で連続的に搬送されるワーク4に対して、ロボット10が加工工程(以下、「加工工程1」とも称す。)を実行し、その加工後のワーク4に対して、ロボット20がさらなる加工工程(以下、「加工工程2」とも称す。)を実行する例を示す。PLC100は、ロボット10および20によるそれぞれの加工工程、ならびに、コンベア2の搬送を制御する。
【0025】
視覚センサ200は、ロボット10および20による加工後のワーク4に対してその加工の適否を判断する。この視覚センサ200による判断を行う工程を、以下「検査工程」とも称す。つまり、視覚センサ200は、PLC100(制御装置)と関連付けて配置され、対象物であるワーク4を撮像して得られる画像データ50に対する処理を実行する画像処理装置の典型的な具現化例である。視覚センサ200における画像処理としては、ワーク4自体の位置検出、ワーク4の良否判定、ワーク4の特定部分の抽出といった、検査やトラッキングに係る処理を含む。
【0026】
情報収集装置300および解析装置400は、制御システム1に対する製造管理を行うための構成であり、制御システム1が管理する情報を収集するとともに、必要に応じて、収集した情報を解析して、その結果をユーザなどへ出力する。
【0027】
情報収集装置300は、データベース350およびデータ記憶領域360を含む。データベース350は、制御システム1から送信される各種情報を保持および管理する。データベース350におけるデータの更新処理などは、データベースエンジン(DBエンジン)352によって実行される。制御システム1からの情報は、典型的には、処理要求を示す文字列からなるクエリ(Query)40として送信される。
【0028】
データ記憶領域360は、ファイルサーバなどとして提供され、制御システム1から送信される画像データ50を受信して保持する。制御システム1において、視覚センサ200がワーク4を撮像して得られる画像データ50は、視覚センサ200から直接的または間接的に情報収集装置300へ送信される。すなわち、視覚センサ200(画像処理装置)が取得した画像データ50は、データ記憶領域360へ格納されるように構成されている。つまり、情報収集装置300は、外部記憶装置として機能する。
【0029】
このように、制御システム1は、データベースおよびデータ記憶領域を利用可能に構成されている。
【0030】
図1には、典型例として、情報収集装置300がデータベース350およびデータ記憶領域360を含む構成を示すがこの構成に限られることはない。すなわち、データベース350およびデータ記憶領域360はそれぞれ別の装置に実装されてもよいし、単一の装置に実装されてもよい。さらに、データベース350は、複数の装置がそれぞれ保持するデータベース機能を仮想的に統合することで提供されてもよい。データ記憶領域360についても同様に、複数の装置で実現してもよい。あるいは、データベース350およびデータ記憶領域360の少なくとも一方をPLC100または視覚センサ200に実装してもよい。
【0031】
解析装置400は、情報収集装置300に格納された情報とデータ記憶領域360に格納された画像データ50とを関連付けて解析した結果を出力することで、製造工程における不良要因分析や製造工程に対する状態分析を支援する。
【0032】
<B.解析処理>
次に、本実施の形態に係る製造システムSYSによって提供される解析処理の概要について説明する。
図2は、本実施の形態に係る製造システムSYSの解析装置400が出力する解析結果の一例を示す図である。
【0033】
図2を参照して、解析装置400は、データ記憶領域360に格納された画像データ50をそれに関連付けられる情報(複数の属性別に定義される属性値)に基づいて分類するとともに、分類された画像データ50をその分類に用いられた属性値に関連付けて表示する。例えば、各画像データ50に関連付けて、「シリアルNo」、「装置No」、「部品No」、「加工日時」、「検査日時」、「検査工程における検査結果(OK/NG)」などの属性名が付与された複数の属性が定義されている。
図2に示す解析結果では、検査工程における結果(属性値)が「NG」である画像データ50について、その「部品No」の別にグループ分けされた上で、それぞれのグループに属する画像データ50が表示されている。表示される画像データ50を選択すると、その選択された画像データ50を拡大表示することもできる。
【0034】
さらに、各画像データ50に関連付けられている属性(属性名)を任意に選択し、グルーピングおよび表示が可能になっている。
図2に示す例では、「検査工程における検査結果(OK/NG)」と「部品No」とによってグルーピングされている例を示すが、さらにグルーピングに用いる属性を追加してもよい。例えば、
図2に示す解析結果をさらに「加工日時」の別にグルーピングすることで、製造工程に対する状態の時間的な変化などを解析することもできる。この場合には、「部品No」および「加工日時」によって定義される二次元座標上に、対応する画像データ50が表示されることになる。
【0035】
このように、本実施の形態に係る製造システムSYSによれば、製造現場から多数の画像データ50に対して任意の属性の観点から解析を行うことができ、これによって、製造現場における状況の傾向などを容易に把握することができる。また、
図2に示すように、分析結果として画像データ50が表示されるので、多角的な分析を行うことができる。さらに、データマイニング技術を適用することで、多数の画像データ50から製造工程における不良要因分析を容易に行うことができる。
【0036】
<C.データベース>
次に、上述のような解析処理を実現するためのデータベースにおけるデータ構造について説明する。
【0037】
本実施の形態に係る制御システム1は、上述のような多数の画像データ50を用いた解析を容易に行うための基盤となる構成を提供する。すなわち、制御システム1からの情報(クエリ40)と画像データ50とを用いて分析を行うために、情報収集装置300での情報間の関連付けを自動的に行う必要がある。そこで、本実施の形態に係る制御システム1では、PLC100(制御装置)および視覚センサ200(画像処理装置)は、いずれか単独でまたは互いに協働して、同一のワーク4(対象物)についての、データベース350に定義されているいずれかの属性に対応するPLC100が管理する属性情報、および、視覚センサ200による処理結果を示す結果情報のうち少なくとも一方と、当該ワーク4を撮像して得られた画像データ50のデータ記憶領域360における格納先を特定するための特定情報とを、互いに関連付けできるようにデータベース350へ送信する。視覚センサ200から直接的または間接的に情報収集装置300へ送信されて格納される。一方、データベース350には、この視覚センサ200からの画像データ50がいずれの位置に格納されたのかを示す情報がワーク4の別に格納される。これによって、データベース350を参照すれば、ワーク4の各々に対応する画像データ50がデータ記憶領域360のいずれの位置にあるかを一意に特定できる。
【0038】
図3は、本実施の形態に係る製造システムSYSのデータベース350におけるデータ構造の一例を示す図である。
図3に示すデータ構造においては、1つのレコードが1つのワーク4に関連付けられている。なお、
図3には、1つのレコードに複数のカラムが設けられている単一のテーブル構造を示すが、リレーショナルデータベースを採用する場合には、複数のテーブルを互いに関連付けてもよい。
【0039】
図3を参照してデータベース350のテーブルには、「シリアルNo」、「装置No」、「部品No」、「加工日時」、「検査日時」、「検査工程における検査結果(OK/NG)」にそれぞれ対応するカラム3501,3502,3503,3504,3505,3506が定義されている。これらのカラムは、PLC100および視覚センサ200の少なくとも一方が保持している情報に対応する。カラム3507には、各ワーク4を視覚センサ200で撮像して得られた画像データ50の位置を示す文字列が格納される。このようなテーブルを参照することで、各レコード(つまり、各ワーク4)についての情報と対応する画像データ50とを一意に関連付けることができる。
【0040】
以下、製造システムSYSに含まれる装置の構成について説明した後、
図3に示すような画像データ50との関連付けを実現するためのいくつかの実装例について説明する。
【0041】
<D.PLC100の構成>
次に、本実施の形態に係るPLC100の構成について説明する。
図4は、本実施の形態に係るPLC100の構成を示す模式図である。
【0042】
図4を参照して、PLC100は、制御演算を実行するCPUユニット110と、1つ以上のIO(Input Output)ユニット130とを含む。これらのユニットは、内部バス102を介して互いにデータを遣り取りできるように構成される。これらのユニットには、図示しない電源ユニットによって適切な電圧の電源が供給される。
【0043】
CPUユニット110は、チップセット112と、プロセッサ114と、記憶部としての主メモリ116および不揮発性メモリ118と、ネットワークインターフェイス120と、内部バスコントローラ122と、メモリカードインターフェイス124とを含む。チップセット112と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
【0044】
チップセット112およびプロセッサ114は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。より具体的には、チップセット112は、接続されている各コンポーネントとの間で内部的なデータを遣り取りするとともに、プロセッサ114に必要な命令コードを生成する。チップセット112は、プロセッサ114での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。プロセッサ114は、チップセット112から内部クロックに従って順次供給される命令コードを解釈して実行する。プロセッサ114としては、単一のコアを含む1つのプロセッサを用いる構成に代えて任意の構成を採用してもよい。例えば、単一のコアを含むプロセッサを複数含む構成や、単一のプロセッサを複数含む構成、複数のコアを含むプロセッサを複数含む構成などを採用してもよい。
【0045】
CPUユニット110は、記憶手段として、揮発性の主メモリ116および不揮発性メモリ118を有する。主メモリ116は、プロセッサ114で実行されるべき各種プログラムを保持するとともに、各種プログラムの実行時の作業用メモリとしても使用される。さらに、主メモリ116は、対象物に対して実行される処理などに関連した加工条件データやパラメータを格納する記憶領域として用いられる。より具体的には、主メモリ116は、加工データ116aを保持している。加工データ116aの詳細については、後述する。
【0046】
不揮発性メモリ118は、OS(Operating System)、システムプログラム、ユーザプログラム、データ定義情報、ログ情報などを不揮発的に格納する。より具体的には、不揮発性メモリ118は、ユーザプログラム118a、シーケンス命令ライブラリ118b、DBアクセス処理ライブラリ118c、および設定情報118dを格納している。ユーザプログラム118aは、制御対象を制御するために必要な命令を含み、プロセッサ114によって周期的またはイベント的に実行される。シーケンス命令ライブラリ118bは、ユーザプログラム118aの実行によって呼出され、定義されたシーケンス命令に従う処理を実現する。また、ユーザプログラム118aは、情報収集装置300のデータベース350へアクセスするための命令を含み、プロセッサ114がこのアクセスするための命令が実行されることで、DBアクセス処理ライブラリ118cが呼出され、ネットワークインターフェイス120などを利用して、データベース350へ必要なデータを送信し、あるいは、データベース350から必要なデータを取得する。
【0047】
また、不揮発性メモリ118に格納される設定情報118dは、情報収集装置300(データベース350およびデータ記憶領域360)へアクセスするために必要な情報(ネットワーク設定値など)を含む。
【0048】
CPUユニット110は、通信手段として、ネットワークインターフェイス120および内部バスコントローラ122を有する。ネットワークインターフェイス120は、視覚センサ200および/または情報収集装置300との間でデータの遣り取りを提供する。内部バスコントローラ122は、内部バス102を介して、IOユニット130との間でデータの遣り取りを提供する。
【0049】
メモリカードインターフェイス124は、CPUユニット110に対して着脱可能なメモリカード126に対してデータの書込およびメモリカード126からのデータの読出などを行う。
【0050】
IOユニット130は、入出力処理に関する処理を行う。より具体的には、IOユニット130は、IOモジュール134および内部バスコントローラ132を含む。IOモジュール134は、フィールドからの信号を収集して、その信号値を示すデータをCPUユニット110へ向けて出力し、および/または、CPUユニット110からのデータに従って信号値をフィールドへ出力する。IOモジュール134の種別としては、アナログ信号の入出力に係るモジュール、デジタル信号の入出力に係るモジュール、温度調節機能に係るモジュール、位置決め機能に係るモジュールなどがある。
【0051】
内部バスコントローラ132は、内部バス102を介して内部バスコントローラ122と通信することで、CPUユニット110とIOモジュール134との間のデータの遣り取りを実現する。
【0052】
<E.視覚センサ200の構成>
次に、本実施の形態に係る視覚センサ200の構成について説明する。
図5は、本実施の形態に係る視覚センサ200の構成を示す模式図である。
【0053】
図5を参照して、視覚センサ200は、カメラ202に接続されており、カメラ202が対象物を撮像することで生成した画像データ50に対して、予め定められた画像処理を実行する。具体的には、視覚センサ200は、IOコントローラ210と、システムコントローラ212と、プロセッサ214と、主メモリ216と、表示部220と、ハードディスク218と、カメラインターフェイス222と、メモリカードインターフェイス224と、入力部228と、PLCインターフェイス230と、ネットワークインターフェイス232とを含む。これらの各コンポーネントは、システムコントローラ212を中心として、互いにデータ通信可能に結合される。
【0054】
システムコントローラ212は、プロセッサ214、主メモリ216、表示部220、およびIOコントローラ210とそれぞれバスを介して接続されており、各部との間でデータ交換などを行うとともに視覚センサ200における処理全体を制御する。
【0055】
プロセッサ214は、システムコントローラ212との間でハードディスク218に格納されたプログラムなどを遣り取りして、これらを所定順序で実行することで、画像処理を実現する。
【0056】
主メモリ216は、揮発性の記憶装置であり、ハードディスク218から読出されたプログラムに加えて、カメラ202によって取得された画像データ、画像処理によって生成される検査結果を示すデータ、およびワークデータなどを保持する。
【0057】
ハードディスク218は、不揮発性の磁気記憶装置であり、プロセッサ214で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク218にインストールされるプログラムは、後述するように、メモリカード226などに格納された状態で流通する。ハードディスク218には、画像データが格納されてもよい。
【0058】
表示部220は、システムコントローラ212からの内部コマンドに従って、各種の画像を表示する。
【0059】
IOコントローラ210は、視覚センサ200に接続される各種装置との間のデータ交換を制御する。より具体的には、IOコントローラ210は、ハードディスク218と、カメラインターフェイス222と、入力部228と、PLCインターフェイス230と、ネットワークインターフェイス232と、メモリカードインターフェイス224と接続される。
【0060】
カメラインターフェイス222は、カメラ202とプロセッサ214との間のデータ伝送を仲介する。より具体的には、カメラインターフェイス222は、1つ以上のカメラ202と接続が可能であり、カメラ202からの画像データを一時的に蓄積するための画像バッファ222aを含む。
【0061】
入力部228は、典型的には、キーボード、マウス、タッチパネル、専用コンソールといった入力装置である。PLCインターフェイス230は、プロセッサ214とPLC100との間のデータ伝送を仲介する。ネットワークインターフェイス232は、プロセッサ214と図示しない他のパーソナルコンピュータやサーバ装置などと間のデータ伝送を仲介する。ネットワークインターフェイス232は、典型的には、イーサネット(登録商標)やUSB(Universal Serial Bus)などからなる。
【0062】
メモリカードインターフェイス224は、視覚センサ200に対して着脱可能なメモリカード226に対してデータの書込およびメモリカード226からのデータの読出などを行う。
【0063】
<F.情報収集装置300の構成>
次に、本実施の形態に係る情報収集装置300の構成について説明する。
図6は、本実施の形態に係る情報収集装置300の構成を示す模式図である。
【0064】
図6を参照して、情報収集装置300は、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータである。より具体的には、情報収集装置300は、OSを含む各種プログラムを実行するCPU302と、BIOSや各種データを格納するROM(Read Only Memory)304と、CPU302でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM306と、CPU302で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)308とを含む。ハードディスク308は、
図1に示すデータベース350およびデータ記憶領域360を提供する。
【0065】
情報収集装置300は、さらに、ユーザからの操作を受付けるキーボード310およびマウス312と、各種の情報をユーザへ提示するためのモニタ314とを含む。さらに、情報収集装置300は、PLC100や視覚センサ200などと通信するためのネットワークインターフェイス318を含む。
【0066】
情報収集装置300で実行される各種処理プログラムは、光学記録媒体332に格納されて流通する。光学記録媒体332に格納された各種処理プログラムは、光学ディスク読取装置316によって読取られ、ハードディスク308などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じて各種処理プログラムをダウンロードするように構成してもよい。
【0067】
<G.解析装置400の構成>
本実施の形態に係る解析装置400の構成については、
図6に示す情報収集装置300の構成と同様であるので、詳細な説明は繰返さない。
【0068】
<H.実施の形態1>
実施の形態1として、PLC100が主体的に機能し、対象物であるワーク4を撮像して得られる画像データ50の格納位置を視覚センサ200へ指示する構成について説明する。実施の形態1において、PLC100は、加工工程1および加工工程2での情報を管理しており、この情報を以下の説明では「加工データ」とも称す。一方、視覚センサ200は、検査工程における結果の情報を管理しており、この情報を以下の説明では「検査データ」とも称す。上述したように、視覚センサ200は、ワーク4を撮像して画像データ50を生成する。
【0069】
加工データ116a(
図4)としては、「シリアルNo」、「装置No」、「部品No」、「加工日時」、「加工装置における設定データ」などの情報を含む。検査データとしては、「シリアルNo」、「装置No」、「検査日時」、「検査工程における検査結果(OK/NG)」、「計測値」などの情報を含む。なお、「計測値」としては、例えば、モデル画像との一致度を示す相関値などを含む。
【0070】
実施の形態1においては、PLC100が保持する加工データおよび視覚センサ200が出力する検査データを含むクエリがPLC100において生成され、データベース350へ送信される。また、視覚センサ200が生成する画像データ50は、データ記憶領域360へ格納される。上述の
図3に示すような画像データ50との関連付けを容易に行えるように、PLC100から視覚センサ200に対して、画像データ50の格納先を予め指示しておき、PLC100は、この予め指示した格納先の情報をクエリに含ませる。
【0071】
すなわち、PLC100(制御装置)は、視覚センサ200(画像処理装置)が取得する各画像データ50についてのデータ記憶領域360に格納される際の識別情報および格納される位置を示す位置情報のうち少なくとも一方を、特定情報として視覚センサ200(画像処理装置)へ提供する。視覚センサ200(画像処理装置)は、取得した各画像データ50を、PLC100(制御装置)からの対応する特定情報に従ってデータ記憶領域360へ格納する。
【0072】
特定情報(格納先)を視覚センサ200に対して指示するために、PLC100は、視覚センサ200がデータベース350およびデータ記憶領域360へアクセスするための設定情報(
図4に示す設定情報118d)を少なくとも保持しているものとする。このような設定情報としては、情報収集装置300のIP(Internet Protocol)アドレス、ネットワークドメイン、格納先のフォルダ名などを含む。このような設定情報は、情報収集装置300の管理者などからの情報に基づいてPLC100に予め設定しておいてもよい。あるいは、PLC100がネットワーク30上に問い合わせメッセージを送信し、情報収集装置300などからの応答に基づいて、必要な設定情報を取得するようにしてもよい。
【0073】
一方、PLC100(制御装置)は、PLC100が管理する情報(典型的には、加工データ)および視覚センサ200が管理する情報(典型的には、検査データ)の少なくとも一方と、データ記憶領域360に格納される画像データ50を特定するための特定情報とを併せてデータベース350へ送信する。
【0074】
このような処理によって、画像データ50と加工データおよび検査データとを一意に関連付けることができる。具体的な手順について、シーケンス図を参照して説明する。
【0075】
図7は、実施の形態1に係る製造システムSYSにおける処理手順を示すシーケンス図である。
図7には、PLC100、視覚センサ200および情報収集装置300(データベース350およびデータ記憶領域360)の間の具体的な遣り取りの手順が示されている。
【0076】
図7を参照して、まず、PLC100と視覚センサ200との間でトラッキング合わせが実行される(シーケンスSQ100)。このトラッキング合わせは、PLC100と視覚センサ200との間の位置関係(相対的なずれなど)を特定するための処理であり、例えば、コンベア2上に基準ワークを配置し、当該基準ワークの到着をPLC100が検出したタイミングと、当該基準ワークの到着を視覚センサ200が検出したタイミングとのずれ量(あるいや、ずれ時間やコンベア2の移動量などであってもよい)を算出し、これをトラッキングのオフセット値として設定する。このオフセット値を用いることで、PLC100が保持する加工データおよび視覚センサ200が保持する検査データのうち、同一のワーク4に係るデータを特定することができる。このようなトラッキング合わせが終了すると、実稼働に入る。
【0077】
まず、PLC100は、ワーク4の到着を検出すると(シーケンスSQ102)、当該ワーク4に対して加工工程1を実行する(シーケンスSQ104)。この加工工程1の実行に伴って、関連する加工データが生成および更新される。続いて、PLC100は、加工工程1が実行されたワーク4に対して、加工工程2を実行する(シーケンスSQ106)。この加工工程2の実行に伴って、関連する加工データが生成および更新される。
【0078】
その後、PLC100は、当該加工工程を実行したワーク4についての特定情報(識別情報および/または位置情報)を視覚センサ200へ送信する(シーケンスSQ108)。特定情報は、データ記憶領域360に格納される画像データ50を特定するための情報であり、識別情報としては、典型的にはファイル名などを含む。位置情報としては、画像データ50が格納されるディレクトリ名やフォルダ名を含む。例えば、ワーク4の別に異なるファイル名をもつ画像データ50を同一のフォルダに格納する場合(例えば、
図3に示すカラム3507に格納されるファイル名のようにその中に含まれる数字をインクリメントするような場合)には、フォルダ名などの位置情報は不要となり、ファイル名などの識別情報のみを送信すればよい。一方、ファイル名(例えば、image.jpg)を同一にしつつ、格納されるフォルダをワーク4毎に異ならせる場合には、識別情報は不要となり、位置情報のみを送信すればよい。さらに、データ記憶領域360に格納された画像データ50をURL(Uniform Resource Locator)などを用いて特定する場合には、位置情報および識別情報の両方を送信することになる。視覚センサ200は、このPLC100からの特定情報を順次保持する。
【0079】
続いて、視覚センサ200は、ワーク4の到着を検出すると(シーケンスSQ110)、当該ワーク4に対して画像処理を実行する(シーケンスSQ112)。この画像処理は、対象のワーク4に対する良否判定などの検査工程を含む。この検査工程によって、視覚センサ200は、ワーク4を撮像した画像データ50および検査データを取得する。
【0080】
視覚センサ200は、予めPLC100から通知されている特定情報に従って、取得した画像データ50をデータ記憶領域360へ送信する(シーケンスSQ114)。データ記憶領域360は、この視覚センサ200からの画像データ50を格納する(シーケンスSQ116)。併せて、視覚センサ200は、検査工程によって取得した検査データをPLC100へ送信する(シーケンスSQ118)。
【0081】
視覚センサ200から検査データを受信したPLC100は、加工工程1および加工工程2において取得された加工データと、視覚センサ200からの検査データと、視覚センサ200に対して予め送信した特定情報とを用いて、クエリを生成し(シーケンスSQ120)、データベース350へ送信する(シーケンスSQ122)。なお、単一のクエリで、すべての情報を送信する必要はなく、これらの情報を複数のクエリに分けて送信してもよい。
【0082】
データベース350(DBエンジン352)は、PLC100から送信されたクエリに基づいて、データベースを更新する(シーケンスSQ124)。
【0083】
以下、シーケンスSQ102〜SQ124までの処理がワーク4の各々について繰返し実行される。このような処理によって、
図3に示すようなデータベースが生成され、各ワーク4について、加工データおよび検査データと対応する画像データ50とを一意に関連付けできる。
【0084】
<I.実施の形態2>
実施の形態2として、格納した画像データ50を特定する情報を視覚センサ200がPLC100へ通知することで、PLC100が送信する情報との関連付けを実現する構成について説明する。実施の形態2においても、PLC100は「加工データ」を管理しており、視覚センサ200は「検査データ」を管理しているとする。
【0085】
視覚センサ200が生成する画像データ50は、データ記憶領域360へ格納される。また、PLC100が保持する加工データおよび視覚センサ200が出力する検査データを含むクエリがPLC100において生成され、データベース350へ送信される。このPLC100からデータベース350へ送信されるクエリに視覚センサ200が格納した画像データ50を特定するための特定情報が含められる。
【0086】
すなわち、視覚センサ200(画像処理装置)は、取得した各画像データ50を、予め定められた規則に従って、データ記憶領域360へ格納するとともに、格納した画像データ50毎に対応する特定情報をPLC100(制御装置)へ提供する。
【0087】
一方、PLC100(制御装置)は、PLC100が管理する情報(典型的には、加工データ)および視覚センサ200が管理する情報(典型的には、検査データ)の少なくと
も一方と、データ記憶領域360に格納される画像データ50を特定するための特定情報とを併せてデータベース350へ送信する。
【0088】
このような処理によって、画像データ50と加工データおよび検査データとを一意に関連付けることができる。具体的な手順について、シーケンス図を参照して説明する。
【0089】
図8は、実施の形態2に係る製造システムSYSにおける処理手順を示すシーケンス図である。
図8には、PLC100、視覚センサ200および情報収集装置300(データベース350およびデータ記憶領域360)の間の具体的な遣り取りの手順が示されている。
【0090】
図8を参照して、まず、PLC100と視覚センサ200との間でトラッキング合わせが実行される(シーケンスSQ200)。このトラッキング合わせは、上述の実施の形態1におけるトラッキング合わせと同様である(
図7のシーケンスSQ100)。このようなトラッキング合わせが終了すると、実稼働に入る。
【0091】
まず、PLC100は、ワーク4の到着を検出すると(シーケンスSQ202)、当該ワーク4に対して加工工程1を実行する(シーケンスSQ204)。この加工工程1の実行に伴って、関連する加工データが生成および更新される。続いて、PLC100は、加工工程1が実行されたワーク4に対して、加工工程2を実行する(シーケンスSQ206)。この加工工程2の実行に伴って、関連する加工データが生成および更新される。
【0092】
一方、視覚センサ200は、ワーク4の到着を検出すると(シーケンスSQ208)、当該ワーク4に対して画像処理を実行する(シーケンスSQ210)。この画像処理は、対象のワーク4に対する良否判定などの検査工程を含む。この検査工程によって、視覚センサ200は、ワーク4を撮像した画像データ50および検査データを取得する。
【0093】
そして、視覚センサ200は、予め定められた規則に従って、取得した画像データ50をデータ記憶領域360へ送信する(シーケンスSQ212)。データ記憶領域360は、この視覚センサ200からの画像データ50を格納する(シーケンスSQ214)。この予め定められた規則としては、ワーク4の到着毎にファイル名に含まれる数字をインクリメントするといった方法が挙げられる。あるいは、上述の実施の形態1において説明したような規則に従って、特定情報を決定してもよい。
【0094】
併せて、視覚センサ200は、データ記憶領域360に格納した画像データ50を特定するための特定情報(識別情報および/または位置情報)をPLC100へ送信する(シーケンスSQ216)とともに、検査工程によって取得した検査データをPLC100へ送信する(シーケンスSQ218)。
【0095】
視覚センサ200から検査データを受信したPLC100は、加工工程1および加工工程2において取得された加工データと、視覚センサ200からの検査データと、視覚センサ200に対して予め送信した特定情報とを用いて、クエリを生成し(シーケンスSQ220)、データベース350へ送信する(シーケンスSQ222)。なお、単一のクエリで、すべての情報を送信する必要はなく、これらの情報を複数のクエリに分けて送信してもよい。
【0096】
データベース350(DBエンジン352)は、PLC100から送信されたクエリに基づいて、データベースを更新する(シーケンスSQ224)。
【0097】
以下、シーケンスSQ202〜SQ224までの処理がワーク4の各々について繰返し実行される。このような処理によって、
図3に示すようなデータベースが生成され、各ワーク4について、加工データおよび検査データと対応する画像データ50とを一意に関連付けできる。
【0098】
<J.実施の形態3>
実施の形態3として、視覚センサ200がワーク4を撮像して生成した画像データ50をデータ記憶領域360へ格納したタイミングを示す時刻情報をPLC100へ通知しておき、PLC100が送信する情報にこの時刻情報を含めておくことで、データベース350において関連付ける処理を実行する構成について説明する。実施の形態3においても、PLC100は「加工データ」を管理しており、視覚センサ200は「検査データ」を管理しているとする。
【0099】
視覚センサ200が生成する画像データ50は、データ記憶領域360へ格納される。また、PLC100が保持する加工データおよび視覚センサ200が出力する検査データを含むクエリがPLC100において生成され、データベース350へ送信される。このPLC100からデータベース350へ送信されるクエリに視覚センサ200が格納した画像データ50を特定するための時刻情報が含められる。
【0100】
すなわち、視覚センサ200(画像処理装置)は、取得した各画像データ50をデータ記憶領域360へ格納するとともに、当該画像データ50を格納したタイミングを示す時刻情報をPLC100(制御装置)へ提供する。
【0101】
一方、PLC100(制御装置)は、PLC100が管理する情報(典型的には、加工データ)および視覚センサ200が管理する情報(典型的には、検査データ)の少なくとも一方と、対応する時刻情報とを併せてデータベース350へ送信する。データベース350は、PLC100からの時刻情報に基づいて、対応する画像データ50との関連付け処理を実行する。すなわち、データベース350(DBエンジン352)は、PLC100から受信したクエリに含まれている時刻情報に基づいて、データ記憶領域360を参照し、当該時刻情報によって示される時刻に格納された画像データ50を特定し、対象のクエリと関連付ける。つまり、データベース350によって、加工データおよび検査データと対応する画像データ50との関連付けが実行される。具体的な手順について、シーケンス図を参照して説明する。
【0102】
図9は、実施の形態3に係る製造システムSYSにおける処理手順を示すシーケンス図である。
図9には、PLC100、視覚センサ200および情報収集装置300(データベース350およびデータ記憶領域360)の間の具体的な遣り取りの手順が示されている。
【0103】
図9を参照して、まず、PLC100と視覚センサ200との間でトラッキング合わせが実行される(シーケンスSQ300)。このトラッキング合わせは、上述の実施の形態1におけるトラッキング合わせと同様である(
図7のシーケンスSQ100)。このようなトラッキング合わせが終了すると、実稼働に入る。
【0104】
まず、PLC100は、ワーク4の到着を検出すると(シーケンスSQ302)、当該ワーク4に対して加工工程1を実行する(シーケンスSQ304)。この加工工程1の実行に伴って、関連する加工データが生成および更新される。続いて、PLC100は、加工工程1が実行されたワーク4に対して、加工工程2を実行する(シーケンスSQ306)。この加工工程2の実行に伴って、関連する加工データが生成および更新される。
【0105】
一方、視覚センサ200は、ワーク4の到着を検出すると(シーケンスSQ308)、当該ワーク4に対して画像処理を実行する(シーケンスSQ310)。この画像処理は、対象のワーク4に対する良否判定などの検査工程を含む。この検査工程によって、視覚センサ200は、ワーク4を撮像した画像データ50および検査データを取得する。
【0106】
そして、視覚センサ200は、取得した画像データ50をデータ記憶領域360へ送信する(シーケンスSQ312)。データ記憶領域360は、この視覚センサ200からの画像データ50を格納する(シーケンスSQ314)。このとき、データ記憶領域360に格納される画像データ50のファイル名などは、他の画像データ50との重複がない限り、任意に設定できる。
【0107】
併せて、視覚センサ200は、画像データ50をデータ記憶領域360へ格納したタイミングを示す時刻情報をPLC100へ送信する(シーケンスSQ316)とともに、検査工程によって取得した検査データをPLC100へ送信する(シーケンスSQ318)。
【0108】
視覚センサ200から検査データを受信したPLC100は、加工工程1および加工工程2において取得された加工データと、視覚センサ200からの検査データと、視覚センサ200に対して予め送信した特定情報とを用いて、クエリを生成し(シーケンスSQ320)、データベース350へ送信する(シーケンスSQ322)。なお、単一のクエリで、すべての情報を送信する必要はなく、これらの情報を複数のクエリに分けて送信してもよい。
【0109】
データベース350(DBエンジン352)は、PLC100から送信されたクエリに含まれる時刻情報に基づいて、データ記憶領域360を参照し、当該時刻情報によって示される時刻に格納された画像データ50を特定し、対象のクエリと関連付ける(シーケンスSQ324)。その上で、データベース350(DBエンジン352)は、その関連付けに係る情報を含むように、データベースを更新する(シーケンスSQ32
6)。
【0110】
以下、シーケンスSQ302〜SQ32
6までの処理がワーク4の各々について繰返し実行される。このような処理によって、
図3に示すようなデータベースが生成され、各ワーク4について、加工データおよび検査データと対応する画像データ50とを一意に関連付けできる。
【0111】
<K.その他の形態>
上述の実施の形態1〜3においては、PLC100と視覚センサ200との間の関係(典型的には、オフセット値)に基づいて、ワーク4をトラッキングする構成について例示したが、この方法に限られず、任意の構成を採用できる。すなわち、同一のワーク4について、PLC100が管理する加工データと視覚センサ200が管理する検査データとの関連付けができればよく、このようなこのような関連付けの実現方法としては、ワーク4の各々に識別情報を付与し(例えば、バーコードや無線タグなどを用いて)、この識別情報に基づいて、データ間の関連付けを行うようにしてもよい。
【0112】
<L.変形例>
上述したように、汎用コンピュータを用いて実現する場合には、本実施の形態に係る機能を提供するためのプログラムに加えて、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、本実施の形態に係るプログラムは、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および/またはタイミングで呼出して処理を実行するものであってもよい。すなわち、本実施の形態に係るプログラムは、上記のようなモジュールを含んでおらず、OSと協働して処理が実行される場合もある。そのため、本実施の形態に係るプログラムとしては、このような一部のモジュールを含まない形態であってもよい。
【0113】
また、本実施の形態に係るプログラムは、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。すなわち、本実施の形態に係るプログラムとしては、このような他のプログラムに組込まれた形態であってもよい。
【0114】
さらに、プログラムの実行により提供される機能の一部もしくは全部を専用のハードウエア回路として実装してもよい。
【0115】
<M.利点>
本実施の形態によれば、データベースに格納される各ワークの加工データおよび検査データと対応する画像データ50との一意の関連付けが自動的に実行される。そのため、解析対象のワークが多数存在していても、すなわち解析対象のデータが大量に存在していても、加工データおよび検査データと対応する画像データとに対する解析をより効率的に行うことができる。
【0116】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。