(57)【要約】【課題】生産ラインの監視装置ないし生産システムにおいて、ある工程で動作異常が発生した際に、当該の工程に加えて、その工程に関連する工程の稼働情報を適切に提示できるようにする。【解決手段】特定の工程位置の工程の工程開始状態に応じて第１の識別子２０３と関連付けされた第１の記憶領域２０１を確保する。工程が実行される間、動作信号に基づき生成された稼働情報２０２、２０６を、第１の記憶領域２０１に記憶させる。工程が工程完了状態となった際、その工程位置で取り扱われたワークを特定し、そのワーク情報を第１の識別子２０３に追加して、第２の識別子２０４を生成する。工程の稼働情報２０２、２０６は第２の識別子２０４と関連付けされた更新不可の第２の記憶領域２０５に記憶させる。【選択図】図３
2019215812.tif 000002
【特許請求の範囲】
【請求項１】
生産ラインに配置された生産機器の動作状態を示す動作信号に基づき、前記生産ラインの状態を監視する制御装置を備えた監視装置において、
前記制御装置が、
前記動作信号に基づき、特定の工程位置において実行される工程が工程開始状態となったことが検出された際、前記特定の工程位置を識別可能な第１の識別子と関連付けられた第１の記憶領域を記憶装置に確保し、
前記特定の工程位置において実行される工程の間、前記動作信号に基づき、前記特定の工程位置に関して生成した稼働情報を、前記第１の記憶領域に記憶させ、
前記動作信号に基づき、前記特定の工程位置において実行される工程が工程完了状態となったことが検出された際、前記特定の工程位置で取り扱われたワークを特定し、特定されたワークを識別可能なワーク情報を前記第１の識別子に追加して、第２の識別子を生成し、当該の工程の稼働情報を、生成した第２の識別子と関連付けられた更新不可の第２の記憶領域に記憶させる監視装置。
【請求項２】
請求項１に記載の監視装置において、前記制御装置が、前記特定の工程位置における現在のワークの状態と、前記特定の工程位置における過去のワークの状態と、の差分を求めることにより、前記特定の工程位置で取り扱われたワークを特定する監視装置。
【請求項３】
請求項１または２に記載の監視装置において、前記ワークの状態が前記特定の工程位置におけるワーク有無状態およびワーク組付け状態のうち少なくとも１つを含む監視装置。
【請求項４】
請求項１から３のいずれか１項に記載の監視装置において、前記第２の識別子を生成する際、さらに前記第１の識別子に当該の工程の終了状態を示す情報を加えて、前記第２の識別子を生成する監視装置。
【請求項５】
請求項４に記載の監視装置において、前記第２の識別子に追加される前記終了状態を示す情報が、正常終了状態、または、異常終了状態のいずれかを示す情報を含む監視装置。
【請求項６】
請求項１から５のいずれか１項に記載の監視装置において、前記工程完了状態となった工程の稼働情報を第２の記憶領域に記憶させる際、前記第１の記憶領域が、第２の識別子と関連付けにより前記第２の記憶領域に変更されるか、または削除される監視装置。
【請求項７】
請求項１から６のいずれか１項に記載の監視装置において、前記第１または第２の識別子が、前記動作信号を介して取得した、前記特定の工程位置またはその位置に配置された生産機器を特定可能なステーション番号、前記特定の工程位置で実行される工程の工程番号、工程開始信号、稼働サイクル数、およびのうち少なくとも１つを含む稼働情報と、当該の稼働情報の取得時刻情報と、を含む監視装置。
【請求項８】
請求項１から７のいずれか１項に記載の監視装置において、前記ワークを識別するワーク情報に基づき、前記第２の記憶領域に格納された稼働情報を参照し、特定の工程位置で実行される工程、あるいはさらにその工程と関連する他の工程の稼働情報を出力するユーザーインターフェース装置を備えた監視装置。
【請求項９】
請求項８に記載の監視装置において、前記ユーザーインターフェース装置に対するユーザの入力に基づき、記憶装置に記憶されている第２の記憶領域の稼働情報を読み出して、前記ユーザーインターフェース装置から出力する監視装置。
【請求項１０】
請求項８または９に記載の監視装置において、前記ユーザーインターフェース装置が、前記制御装置に記憶装置に記憶されている稼働情報に対して分析処理を実行させるための操作ボタンと、前記分析処理の結果を出力させる表示領域と、を備える監視装置。
【請求項１１】
請求項１０に記載の監視装置において、前記分析処理が、生産ラインで発生した異常に係る稼働情報に関連する、前記第２の記憶領域に格納されている稼働情報を特定する処理を含む監視装置。
【請求項１２】
請求項１から１１のいずれか１項に記載の監視装置と、前記生産ラインと、前記監視装置と生産ラインを接続する通信部と、を備えた生産システム。
【請求項１３】
生産ラインに配置された生産機器の動作状態を示す動作信号に基づき、前記生産ラインの状態を監視する制御装置を備えた監視装置の制御方法において、
前記制御装置が、
前記動作信号に基づき、特定の工程位置において実行される工程が工程開始状態となったことが検出された際、前記特定の工程位置を識別可能な第１の識別子と関連付けられた第１の記憶領域を記憶装置に確保し、
前記特定の工程位置において実行される工程の間、前記動作信号に基づき、前記特定の工程位置に関して生成した稼働情報を、前記第１の記憶領域に記憶させ、
前記動作信号に基づき、前記特定の工程位置において実行される工程が工程完了状態となったことが検出された際、前記特定の工程位置で取り扱われたワークを特定し、特定されたワークを識別可能なワーク情報を前記第１の識別子に追加して、第２の識別子を生成し、当該の工程の稼働情報を、生成した第２の識別子と関連付けられた更新不可の第２の記憶領域に記憶させる、記憶制御工程を含む監視装置の制御方法。
【請求項１４】
請求項１３に記載の監視装置の制御方法において、前記記憶制御工程で、前記制御装置が、前記特定の工程位置における現在のワークの状態と、前記特定の工程位置における過去のワークの状態と、の差分を求めることにより、前記特定の工程位置で取り扱われたワークを特定する監視装置の制御方法。
【請求項１５】
請求項１３または１４に記載の監視装置の制御方法において、前記ワークの状態が前記特定の工程位置におけるワーク有無状態およびワーク組付け状態のうち少なくとも１つを含む監視装置の制御方法。
【請求項１６】
請求項１３から１５のいずれか１項に記載の監視装置の制御方法において、前記第２の識別子を生成する際、さらに前記第１の識別子に当該の工程の終了状態を示す情報を加えて、前記第２の識別子を生成する監視装置の制御方法。
【請求項１７】
請求項１６に記載の監視装置の制御方法において、前記第２の識別子に追加される前記終了状態を示す情報が、正常終了状態、または、異常終了状態のいずれかを示す情報を含む監視装置の制御方法。
【請求項１８】
請求項１３から１７のいずれか１項に記載の監視装置の制御方法において、前記工程完了状態となった工程の稼働情報を第２の記憶領域に記憶させる際、前記第１の記憶領域が、第２の識別子と関連付けにより前記第２の記憶領域に変更されるか、または削除される監視装置の制御方法。
【請求項１９】
請求項１３から１８のいずれか１項に記載の監視装置の制御方法の記憶制御工程を前記制御装置に実行させる制御プログラム。
【請求項２０】
請求項１９に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生産ラインに配置された生産機器の動作状態を示す動作信号に基づき、前記生産ラインの状態を監視する制御装置を備えた監視装置、およびその制御方法に関する。
【背景技術】
【０００２】
種々の工業製品やその部品を生産する生産ラインは、ロボットや加工機械などの生産機器によって構成されている。これらの生産機器は、ワークに対する生産処理の１ないし数工程を実行する、ステーション、セルなどと呼ばれる単位を構成する。また、１つの生産ラインに複数、配置された生産機器の動作は、ＰＬＣ（プログラマブル・ロジック・コントローラ）やシーケンサなどと呼ばれる統合制御装置によって制御される。
【０００３】
この種の生産ラインには、生産ラインの動作を監視する監視装置がログサーバーやＮＡＳ構成の外部記憶装置などの記憶手段とともに、配置されることがある。この種の監視装置は、スタンドアローン構成の他、場合によっては統合制御装置が監視装置を兼ねる構成も考えられる。
【０００４】
監視装置は、生産ラインからは、様々な稼働情報を取得することができる。例えば上記の統合制御装置の制御信号、ロボットや加工機械などの生産機器が入出力する機器制御信号から生産ラインの稼働情報を取得することができる。また、生産機器の各部に配置された力、長さや高さ（距離）、温度、湿度を検出する各種センサの出力信号や、監視用に配置されたカメラの画像信号などからも生産ラインの稼働情報を取得することができる。取得した生産ラインの稼働情報は、ログサーバーなどのデータベースに転送され、保存される。
【０００５】
上記の稼働情報としては、例えば、ロボットや加工機械の動作座標情報、当該の工程を実行するステーション番号、実行工程番号、動作指令値、動作フィードバック値、モーターの電流値、動作時間などが取得される。また、稼働情報としては、例えば、センサ値、動作中の温度、動作内容が記述されたプログラム、使用したワーク情報、撮像画像などが取得される。その他にも以上に列挙しなかった、生産ラインから取得できる種々の稼働情報を取得できる可能性がある。
【０００６】
稼働情報は、装置異常が発生した際に、システム管理者のようなユーザの分析作業を支援するシステムで用いられている。例えば、下記の特許文献１は、工作機械の加工指令情報と、実行された加工動作によって得られた信号や数値等の加工実行情報を関連付けてデータベースへ保存する構成を開示している。特許文献１の構成では、装置異常が発生した場合には、異常発生工程の加工実行情報を基に装置異常発生時の状況をシミュレータで再現することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４９０５１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
一方、ワーク搬送や組み付けなど汎用的な動作を行える多能工ロボットが知られており、このようなロボットで構成した多能工ロボットセルを配列して生産ラインを構成することがある。このような生産ラインでは、通常、１つのセル、ないしステーションで複数のワークを扱い、複数の組み立て工程を実行することがある。
【０００９】
このような生産ラインでは、特定の工程で動作異常が発生した場合、その原因が当該の工程ではなく、例えばその工程より前に実行された工程に根本的な原因が潜んでいることがある。例えば、工程１で変形した部品を組付けたために、工程２の検査で異常が検出される、といったケースがそれである。
【００１０】
これに対して、特許文献１の技術では、異常発生した工程のみしかシミュレーションできず、根本的な原因となった工程の挙動を確認することができない。この問題を解決するには、異常発生工程より前に実行された工程の稼働情報もまとめて取得し、シミュレーションすることが考えられる。しかしながら、多能工ロボットセルシステムにおいては、その工程順序は必ずしも人手での製品組付け順序と同じでない場合がある。そのために、前工程を含めて稼働情報を取得し、解析し、あるいはシミュレートしたり表示出力したりする処理が複雑になりすぎる可能性がある。また、下記のように、ある工程における動作異常に関して、全ての前工程の稼働情報を取得し、解析し、あるいはシミュレートしたり表示出力したりすることが無駄である可能性もある。
【００１１】
例えば、ここで、人手での製品組付け順序が、ワークＡに対してワークＢを組付け、その後にワークＣを組付ける、といった順序であるとする。一方、多能工ロボットセルシステムで前記製品の組付けを実現する場合の工程順序は、まず、ワークＡを取得（工程１）し、ワークＡを組付け台へ設置する（工程２）。次に、ワークＣを取得（工程３）し、そのワークＣを仮置き台へ設置する（工程４）。そして、ワークＢを取得（工程５）し、ワークＢをワークＡへ組付ける（工程６）。最後に、ワークＣを仮置き台から取得し（工程７）、そのワークＣをワークＡへ組付ける（工程８）。
【００１２】
このように、「ワークＡにワークＢを組付けた後に、ワークＣをワークＡに組付ける」という面では、ロボットの工程は人手による組付け順序と同じであるが、工程を実行する順序という面では一部に違いがある。これは、装置サイクルタイムや周辺環境との干渉回避などの関係による制約のためであり、多能工ロボットセルシステム固有の問題である。
【００１３】
ここで、上記の工程６で動作異常が発生したとすると、工程１〜工程６すべての稼働情報を取得することになる。しかし、工程６の実行時点で製品Ｃはまだ仮置き台上にあり、ワークＡへ組付いていないため、工程３と工程４の稼働情報は、当該発生異常には関係ないと判断できる。それにも拘らず、異常が発生した工程より前に実行された工程の全てについて稼働情報を取得すると、異常の原因に関係のない稼働情報まで取得することになる。また、そのような稼働情報を全て表示出力した場合には、管理者、分析者に原因に関係のない稼働情報まで提示していることになり、適切な支援処理とは言えない可能性がある。
【００１４】
本発明の課題は、上記に鑑み、生産ラインの監視装置ないし生産システムにおいて、ある工程で動作異常が発生した際に、当該の工程に加えて、その工程に関連する工程の稼働情報を適切に提示できるようにすることにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明においては、生産ラインに配置された生産機器の動作状態を示す動作信号に基づき、前記生産ラインの状態を監視する制御装置を備えた監視装置において、前記制御装置が、前記動作信号に基づき、特定の工程位置において実行される工程が工程開始状態となったことが検出された際、前記特定の工程位置を識別可能な第１の識別子と関連付けられた第１の記憶領域を記憶装置に確保し、前記特定の工程位置において実行される工程の間、前記動作信号に基づき、前記特定の工程位置に関して生成した稼働情報を、前記第１の記憶領域に記憶させ、前記動作信号に基づき、前記特定の工程位置において実行される工程が工程完了状態となったことが検出された際、前記特定の工程位置で取り扱われたワークを特定し、特定されたワークを識別可能なワーク情報を前記第１の識別子に追加して、第２の識別子を生成し、当該の工程の稼働情報を、生成した第２の識別子と関連付けられた更新不可の第２の記憶領域に記憶させる構成を採用した。
【発明の効果】
【００１６】
本発明によれば、生産ラインの監視装置ないし生産システムにおいて、ある工程で動作異常が発生した際に、当該の工程に加えて、その工程に関連する工程の稼働情報を適切に提示できる、という優れた効果がある。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態１に係る監視装置を備えた生産システムを模式的に示すブロック図である。
【図２】（ａ）および（ｂ）は、本発明の実施形態１に係るロボットセル上のワーク有無状況を示す説明図、（ｃ）および（ｄ）は、実施形態１に係るロボットセル上のワーク組付け状態を示す説明図である。
【図３】（ａ）および（ｂ）は、本発明の実施形態１に係る一時記憶領域へのデータ記憶処理を示す説明図である。
【図４】本発明の実施形態１に係る監視装置の制御方法を説明するフローチャート図である。
【図５】実施形態１に係る監視装置において、ユーザに提示する表示画面の一例を示す説明図である。
【図６】実施形態２に係る監視装置において、ユーザに提示する表示画面の一例を示す説明図である。
【図７】本発明の実施形態１に係る監視装置の制御系の具体的な構成を示したブロック図である。
【発明を実施するための形態】
【００１８】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は、参考数値であって、本発明を限定するものではない。
【００１９】
＜実施形態１＞
図１は、本実施形態１に係る監視装置を備えた生産システムの構成を模式的に示している。図１において、生産システム１０は、生産ライン１１と、監視装置１２とを備える。
【００２０】
生産ライン１１と監視装置１２は、通信部１３を介して接続されている。例えば、生産ライン１１は企業の工場内に配置されており、監視装置も同様に工場内に配置されている。この場合、生産ライン１１と監視装置１２は、通信部１３と、不図示の例えばイントラネットなどのネットワークを介して接続される。このネットワーク（不図示）、および通信部１３は、例えばＩＥＥＥ  ８０２．３のような有線通信、ＩＥＥＥ  ８０２．１１、８０２．１５のような無線通信による通信規格に準拠した構成とすることができる。その他にも特別に設計された任意の有線、無線によるネットワーク規格を用いることにしてもよい。
【００２１】
監視装置１２は、必ずしも生産ライン１１と同じ拠点に配置されていなくてもよい。例えば監視装置１２は、生産ライン１１の所在地である工場から離れた遠隔地、例えば企業の本社のような遠隔地の拠点に設置することもできる。この場合、生産ライン１１と監視装置１２は、通信部１３、例えばインターネット等のネットワークを介して接続することができる。
【００２２】
図１の生産ライン１１は、ラインを構成する生産機器として、複数のロボットセル１４、１５、１６（…）を備えている。ここでは３台のロボットセルのみを明示的に図示しているが、生産ライン１１を構成するロボットセルの数は任意である。生産ライン１１には、さらにロボットセル１４、１５、１６の他に、コンベヤや搬送テーブル、スライダのような搬送機器や、加工装置、ワーク供給機など（いずれも詳細不図示）が配置されていてもよい。これら搬送機器や、加工装置、ワーク供給機は、ロボットセル１４、１５、１６と独立して設置されていてもよく、また、ロボットセル１４、１５、１６…の一部を構成していてもよい。
【００２３】
ロボットセル１４、１５、１６の動作は、それぞれ制御するロボット制御装置（不図示）により制御される。また、ロボットセル１４、１５、１６は、これらを連動させて工程を実行するために、ＰＬＣ、シーケンサなどと呼ばれる統合制御装置（不図示）によって制御されるよう構成されていてもよい。なお、ロボット制御装置は、ロボットセルの１台に対して１台以上設置してもよく、逆に１台の制御装置によって全てのロボットセルが制御されていてもよい。また、本実施例では３台のロボットセルを図示して説明しているが、これはロボットセルの台数を限定するものではなく、生産ラインに１台のみでも、また４台以上設置されていてもよい。
【００２４】
生産ライン１１に配置されたロボットセル１４〜１６…を構成する要素は、例えばロボットアームや加工機械である。ロボットアームには、どのような形式のものを用いてもよく、例えば垂直多関節型、パラレルリンク型など、任意の形式のものを用いることができる。加工機械には、塗布機や搬送機、ビス締め機、圧着機、検査機、部品供給機、などが含まれていてもよい。また、ロボットセル１４〜１６…には、監視用の撮像装置や、温湿度センサ、その他のセンサ類が含まれていてよい。生産ライン１１のロボットセル１４〜１６…を構成する要素は、駆動信号、モニタ信号、検出信号など、様々な動作信号を入出力する。これらの動作信号は生産ライン１１に配置された各生産機器の動作状態を示す。本実施形態１の監視装置１２は、生産ライン１１を監視するため、生産ライン１１上でやりとりされる動作信号を受信して、生産ライン１１の稼働情報を抽出、取得、あるいは生成する。
【００２５】
監視装置１２は、稼働情報取得部１７、ワーク情報算出部１８、動作信号取得部１９、稼働情報記憶部２０、稼働情報処理部２１、入出力部２２を備える。図１に示したこれらブロックは機能ブロックであり、実際には、図７に示すような制御装置のハードウェアおよびソフトウェアによって実現される。
【００２６】
図７は、監視装置１２の制御系の構成の一例を示している。図７の制御装置は、主制御手段としてのＣＰＵ６０１、記憶装置としてのＲＯＭ６０２、およびＲＡＭ６０３を備える。ＲＯＭ６０２には、後述する製造手順を実現するためのＣＰＵ６０１の制御プログラムや定数情報などを格納しておくことができる。また、ＲＡＭ６０３は、その制御手順を実行する時にＣＰＵ６０１のワークエリアなどとして使用される他、後述の第１および第２の記憶領域を確保するエリアとしても用いることができる。
【００２７】
本実施形態の制御手順（例えば図４）を実現するためのＣＰＵ６０１の制御プログラムは、ＨＤＤやＳＳＤなどから成る外部記憶装置６０６や、ＲＯＭ６０２の（例えばＥＥＰＲＯＭ領域）のような記憶部に格納しておくことができる。その場合、後述の制御手順を実現するためのＣＰＵ６０１の制御プログラムは、ネットワークインターフェース６０７を介して、上記の各記憶部に供給し、また新しい（別の）プログラムに更新することができる。あるいは、後述の制御手順を実現するためのＣＰＵ６０１の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。上述の制御手順を実現するためのＣＰＵ６０１の制御プログラムを格納した状態における各種の記憶手段、記憶部、ないし記憶デバイスは、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
【００２８】
ＲＡＭ６０３、外部記憶装置６０６は、本実施形態において、後述する第１および第２の記憶領域のための記憶装置として用いることができる。後述の第１および第２の記憶領域の実装形態の１つとしては、例えばＲＡＭ６０３に確保、開放されるテーブルメモリやリンクトリストのような形態が考えられる。
【００２９】
本実施形態では、ユニークな第１および第２の記憶領域を識別するために第１ないし第２の識別子を用いる。ＲＡＭ６０３に第１および第２の記憶領域が確保される場合には、例えば、テーブルメモリやリンクトリストの所定位置に格納されたヘッダなどに第１ないし第２の識別子の内容を書き込んでおくことができる。
【００３０】
また、第１および第２の記憶領域の他の実装形態は、外部記憶装置６０６（あるいはネットワークマウントされた外部記憶装置などを含む）上に作成されるデータファイルの形態である。このようなファイルは、汎用ＯＳのＦＳ（ファイルシステム）上で用いられているものと同じでよく、第１および第２の記憶領域に該当するファイルに対しては、作成、削除、リンク、属性変更などのファイル操作を行えるものとする。また、ＯＳのＦＳ（ファイルシステム）上の実装では、実ファイルの他、第１および第２の記憶領域を、実ファイル（や他のディレクトリ）を階層的に格納可能なディレクトリ（ＯＳによってはフォルダ）によって実装することもできる。第１および第２の記憶領域をファイルやディレクトリ（フォルダ）として実装する場合には、第１および第２の記憶領域を識別すための第１ないし第２の識別子には、例えばファイル名やディレクトリ名（フォルダ名）の形態を利用できる。第１ないし第２の識別子としての、ファイル名やディレクトリ名（フォルダ名）は、ＦＳ（ファイルシステム）のＦＡＴやｉｎｏｄｅなどと呼ばれる管理領域に記録される。
【００３１】
ＣＰＵ６０１には、ネットワーク６０８を介して生産ライン（１１：図１）、特に生産ライン１１に配置されたロボットセル１４、１５、１６…と通信するための通信部としてネットワークインターフェース６０７が接続されている。このネットワークインターフェース６０７を介して、ＣＰＵ６０１は各種の制御信号を送受信することができる。ＣＰＵ６０１は、上述の稼働情報取得部１７の機能として、生産ライン１１上で、送受信されている動作信号をモニタすることができる。
【００３２】
ネットワークインターフェース６０７は、例えばＩＥＥＥ  ８０２．３のような有線通信、ＩＥＥＥ  ８０２．１１、８０２．１５のような無線通信による通信規格を用いて構成することができる。ネットワークインターフェース６０７は、例えばロボットセル１４〜１６…の他、生産ライン１１に生産制御、管理のために配置されたＰＬＣやシーケンサのような統轄制御装置や、管理サーバなどとの間の通信にも用いることができる。
【００３３】
図７の監視装置では、ＵＩ装置（ユーザーインターフェース装置）として、操作部６０４、および表示装置６０５が接続されている。操作部６０４は、ハンディターミナルのような端末、あるいはキーボード（ＫＢ）、ジョグダイアル、ポインティングデバイス（ＰＤ）などのデバイス（あるいはそれらを備えたから成る制御端末）によって構成することができる。表示装置６０５には、例えば液晶方式の他、後述するデータ表示、あるいはそれに類似の表示画面を表示出力できるものであれば任意の方式のディスプレイ装置を用いることができる。
【００３４】
また、図７の監視装置では、ＲＴＣ６１１が設けられている。ＲＴＣ６１１は、後述の第１、第２の記憶領域を識別する第１、第２の識別子で用いられる稼働情報の取得に関する時刻日時（取得時刻情報）を発生するのに用いることができる。
【００３５】
図１のシステムにおいて、ロボットセル１４、１５、１６…の動作は、例えば上記の不図示のロボット制御装置と動作信号を入出力することにより制御される。本実施形態でいう動作信号とは、例えば工程開始信号や工程完了信号、異常発生信号、といった制御信号に類するものを含む。また、本実施形態は、動作信号には、例えば上記の制御信号に類する制御パケットに含まれるステーション番号、工程番号、（異常／正常）イベント名、稼働サイクル数、なども含めて考える。即ち、本実施形態でいう動作信号は、例えばロボット制御装置がロボットセル１４〜１６…を制御するために必要な情報の総称と考えてよい。
【００３６】
本実施形態において、稼働サイクル数とは、生産ライン１１で、例えばその日の稼働を開始してから生産、例えば完成させた製品数のことを指す。ステーション番号は、少なくとも１つ、あるいは２つ以上のロボットセル１４、１５、１６…によって構成された工程実行単位である「ステーション」に付与される識別番号である。以下では、説明を容易にするため、ロボットセル１４、１５、１６…それぞれが１つの「ステーション」を構成し、各々、固有のステーション番号を有するものとする。しかしながら、後述する構成や制御は、ステーション番号の付与形態が本実施形態と異なる場合にも実施することができるものである。
【００３７】
図１の監視装置１２において、動作信号取得部１９は、生産ライン１１上で入出力されている上記の動作信号を取得する。また、動作信号取得部１９は、工程開始信号、工程完了信号、異常発生信号を検出した際に、ワーク情報算出部１８に対してワーク情報取得指令を送信する。また、動作信号取得部１９は、工程開始信号を検出すると、稼働情報処理部２１に対して稼働情報一時記憶開始指令と動作信号（例えば工程開始信号、工程完了信号、異常発生信号）から取得したステーション番号、工程番号、稼働サイクル数を送信する。また、動作信号取得部１９は、特に工程完了信号または異常発生信号を検出した際には、稼働情報処理部２１へ稼働情報一時記憶完了指令とともに、ステーション番号、工程番号、稼働サイクル数の各情報を送信する。特に、異常発生信号を検出した際、動作信号取得部１９は、上記の各情報に加えて、動作信号（例えば上記の工程開始信号、工程完了信号、異常発生信号）から取得した異常事象の識別信号、例えば異常名（エラー番号などの形式であってよい）を送信する。
【００３８】
ワーク情報算出部１８は、上記のロボットセル１４、１５、１６…のワーク有無状況に関する情報を取得する。ここで、図２の（ａ）および（ｂ）は、本実施形態１における上記のロボットセル１４、１５、１６…のうち、あるロボットセル上のワーク有無状況の一例を示している。図２の（ａ）、（ｂ）の図示は、あるロボットセルの平面図的な図示であるものと考えてよい。本実施形態において、ワーク有無状況とは、ロボットセル上のワークが設置されうる場所におけるワークの有無を示す情報である。図２（ａ）、（ｂ）では、供給機１０３上にトレイ１１２〜１１４のそれぞれにワークＡ１〜Ａ４、Ｂ１〜Ｂ４、Ｃ１〜Ｃ４が設置されている。
【００３９】
一方、図２（ａ）、（ｂ）の下半部は、ロボット１０８、組付け台１０９、仮置き台１１０の配置を示し、それぞれでワークをクランプしているかどうかを示している。一般に、ロボットはワークを把持するためのハンドを備え、加工機械はワークをクランプするための治具を備えている。これらの治具やハンドは、それぞれセンサを搭載しており、このセンサによってハンドがワークを把持しているか否か、あるいは治具がワークをクランプしているか否か判断することができる。監視装置１２では、ロボットセルのロボットがワークをクランプしているか否かの状態を生産ライン１１上で入出力されている動作信号を介して検出することができる。
【００４０】
図２（ａ）では、ロボット１０８と組付け台１０９、仮置き台１１０には何も情報がなく、この状態はそれぞれにはワークが存在しない状態に相当する。一方、図２の（ｂ）では、ワークＡ１（１１５）が組付け台へ、ワークＢ１（１１６）がロボットへ、ワークＣ１（１１７）が仮置き台へ移動され、設置された状態に相当する。この状態は、例えば、ロボット１０４がトレイ１１２、１１３、１１４からそれぞれ上記の各ワークを取得し、組付け台１０９、仮置き台１１０へ設置する動作を実行することによって形成されたものである。
【００４１】
図２（ａ）、（ｂ）で例示したような、生産ライン上のある工程位置（例えば上記のロボット１０８と組付け台１０９、仮置き台１１０）におけるワーク有無の状態を示すワーク有無情報は、生産ライン１１上の動作信号を介して取得することができる。このワーク有無の状態は、例えばロボット１０８や各作業台に配置されたセンサなどの出力情報から取得できる他、監視用のカメラで撮影した画像などから取得できる。また、ＰＬＣの制御信号などから工程間の遷移を検出するようなソフトウェア処理によっても取得できる。このような生産ライン上のある工程位置におけるワーク有無情報は、例えば、上記のロボット制御装置などによって生成させることができる。
【００４２】
図１のワーク情報算出部１８は、生産ライン上のある工程位置におけるワーク有無情報を取得し、これにより、あるロボットセル（あるステーション）のワーク有無状況を把握する。即ち、以上のようにして、図１のワーク情報算出部１８は、ロボットセル１４、１５、１６におけるワーク組付け状態に関する情報を取得する。
【００４３】
ここで、図２（ｃ）、（ｄ）は、本実施形態１に係る、ロボットセル上のワーク組付け状態を仮想的なランプ表示に似た形態で模式的に図示したものである。一般に、ロボットセルによる製品組立てでは、主となるワークに対して複数のワークを組付ける。このワークの組付け状態とは、例えば、主となるワークに対して組付けるワークの組付け進捗状況を示す情報である。
【００４４】
図２（ｃ）では、ワークＡ１組付け状態を示す部分１１１に、ワークＢ１が組付いたことを示すためのランプ１１８とワークＣ１が組付いたことを示すランプ１１９を図示している。図２（ｃ）では、ランプ１１８およびランプ１１９が共に無灯状態であり、ワークＡ１には何も組付いていない状態に相当する。
【００４５】
一方、図２（ｄ）は、ランプ１１８が点灯した状態であり、ワークＡ１にワークＢ１が組付いた状態に相当する。図１のワーク情報算出部１８は、上記図２（ｃ）、（ｄ）のようなロボットセル上のワーク組付け状態を取得することができる。なお、以上のようなワーク組付け状態は、上述同様に、監視カメラ画像や各種センサから取得することができる他、工程遷移の検出によりソフトウェア的に取得することができる。
【００４６】
また、ワーク情報算出部１８は、特定のロボットセル上の過去のワーク有無状況とワーク組付け状態に関する情報、例えば工程開始時のワーク有無状況とワーク組付け状態に関する情報を取得し、キャッシュしておくことができる。これにより、次の監視タイミング、例えば工程完了時または異常発生時のロボットセル上におけるワーク有無状況と、ワーク組付け状態を取得した時、記憶している過去のワーク有無状況とワーク組付け状態に関する情報との差分を算出することができる。これにより、生産ライン１１上のある特定の位置において、工程開始時〜終了時までに、その特定工程で取り扱われたワークを特定することができる。
【００４７】
例えば、ここで、図２において、特定工程の工程開始時のロボットセル上におけるワークの有無状況が図２（ａ）であり、工程完了時または異常発生時のロボットセル上におけるワークの有無状況が図２（ｂ）であったとする。この場合、ワークの有無状況の差分はワークＡ１とワークＢ１とワークＣ１となる。即ち、当該の特定工程では、ワークＡ１とワークＢ１とワークＣ１とが取り扱われた、と判定することできる。
【００４８】
また、仮に工程開始時のワーク組付け状態が図２（ｃ）であり、工程完了時または異常発生時のロボットセル上におけるワークの有無状況が図２（ｄ）であるとする。この場合、ワーク組付け状態の差分はワークＡ１にワークＢ２が組付いたことであり、現在実行していた工程ではワークＡ１とワークＢ１とが取り扱われた、と判定することができる。
【００４９】
以上のようにして、ワーク情報算出部１８は、現在実行していた特定工程で扱ったワークを特定することができる。ワーク情報算出部１８は、特定したワークを識別可能な情報を稼働情報処理部２１へ送信する。
【００５０】
なお、以上では、ワーク情報算出部１８による現在工程にて扱ったワークの算出方法について、図２（ａ）〜（ｄ）により説明したが、同図は説明を容易にするための模式的な図示である。例えば、図２（ｃ）、（ｄ）に示したランプ１１８、１１９は、概念的な部材の図示であり、必ずしもこのようなワーク有無、ないしその組付け状態を示す部材が作業空間に配置されている必要はない。現実の作業空間における、ワーク有無、ないしその組付け状態は、監視用のカメラで撮影した画像、作業空間に適宜配置された各種センサから得たデータを基づき、制御装置の情報演算によって求めることができる。
【００５１】
ただし、生産ライン作業者に対してロボットセル上のワーク有無状況とワーク組付け状態に対する情報を伝えたい場合には、図２（ｃ）、（ｄ）に示したランプ１１８、１１９と同等の表示手段を用いる構成も考えられる。例えば、ロボットセル１４、１５、１６を制御するためのティーチングペンダント（不図示）の表示器などを用いて図２（ｃ）、（ｄ）に示したランプ１１８、１１９と同等の表示を行ってもよい。
【００５２】
稼働情報取得部１７は、ロボットセル１４、１５、１６に関連して配置されたセンサ類、あるいは生産ラインに適宜配置されたセンサやカメラなどの検出手段が出力する動作信号に基づき、生産ラインの稼働情報を取得する。ここで稼働情報とは、生産ラインから取得できる様々な情報である。例えば、稼働情報には、ロボットセル１４〜１６、その他の生産機器の動作座標情報や、実行ステーション番号、実行工程番号、動作指令値、動作フィードバック値、モーターの電流値などが含まれる。また、同稼働情報には、動作時間、センサ値、動作中の温度、動作内容が記述されたプログラム、使用したワーク情報、監視カメラの撮像画像などが含まれる。
【００５３】
稼働情報取得部１７は、生産ラインの動作信号に基づき、取得した生産ラインの稼働情報を稼働情報処理部２１に送信する。なお、この時送信される稼働情報には、例えば実行ステーション番号と、実行工程番号とが付与ないし関連付けされて送信される。稼働情報処理部２１は、上記のように稼働情報が送信されると、これを稼働情報の一時記憶を指令する、稼働情報一時記憶開始指令として処理する。
【００５４】
稼働情報処理部２１は、動作信号取得部１９から上記のように稼働情報が送信されると、これを稼働情報一時記憶開始指令として取り扱う。
【００５５】
稼働情報処理部２１は、この稼働情報一時記憶開始指令を受信すると、次のような処理を行う。受信した稼働情報、およびそれに付与ないし関連付けされているステーション番号と工程番号と稼働サイクル数に加え、指令受信日時を追加して、例えば図３（ａ）に示すような第１の識別子２０３として生成する。指令受信日時は、稼働情報取得部１７から稼働情報を受信した時刻情報で、例えば、ＲＴＣ６１１（図７）で発生される時刻情報を用いる。
【００５６】
図３（ａ）は、本実施形態における第１の記憶領域としての稼働情報一時記憶領域２０１と、それを識別する第１の識別子２０３のデータ構造の一例を示している。この稼働情報一時記憶領域２０１は、ＲＡＭ６０３や外部記憶装置６０６（図７）上に確保される、稼働情報取得部１７から取得した稼働情報２０２を一時記憶、ないし追記的にその内容を更新可能な第１の領域である。もし、新たな稼働情報を格納するための、該当する第１の識別子２０３を持つ稼働情報一時記憶領域２０１がまだ存在しない場合はＲＡＭ６０３や外部記憶装置６０６（図７）上に確保する。また、新たな稼働情報を格納するための、該当する第１の識別子２０３を持つ稼働情報一時記憶領域２０１が既に存在する場合は、下記のようにその領域を新たな稼働情報の格納に用いる。
【００５７】
また、稼働情報一時記憶領域２０１は、生産ラインから取得した種々の稼働情報２０２を格納するために用いられる。稼働情報２０２は、画像情報やテキスト情報など様々な形式のデータ形式、例えば電子ファイルや、テーブルデータなどのデータ形式で表現されていてよい。
【００５８】
稼働情報一時記憶開始指令を受信すると、稼働情報処理部２１は、第１の識別子２０３と稼働情報２０２を格納するための稼働情報一時記憶領域２０１を、例えば図７のＲＡＭ６０３や外部記憶装置６０６上に確保する。ここで、第１の識別子２０３（後述の第２の識別子２０４も同様）は、構成する要素を表す数字や文字列によるニーモニック表現や、独自に設計したユニークキーであっても良く、それらの要素の並び順も特に本発明を限定するものではない。
【００５９】
第１の識別子２０３は、それに関連付けられた特定の稼働情報、即ちステーション番号と工程番号と稼働サイクル数に加え、指令受信日時を備えた稼働情報、ないしをそれが格納された一時記憶領域（２０１）を一意に識別することができる。また、同じステーション番号と工程番号を持つ、後続の稼働情報が生成された場合、次のように稼働情報一時記憶領域２０１の内容を更新することができる。
【００６０】
例えば、図３（ａ）のように稼働情報取得部１７より新たな動作座標２０６が送信された際には、上記のようにその稼働情報に関連する実行ステーション番号と実行工程番号が送信される。これに応じて、その実行ステーション番号と実行工程番号の情報を稼働情報一時記憶領域２０１に関連して記憶されている稼働情報の第１の識別子２０３内の情報と照合する。もし同じステーション番号と工程番号を持つ、第１の識別子２０３が付与された既存の稼働情報一時記憶領域２０１が存在する場合には、その一時記憶領域の稼働情報２０２として動作座標２０６を追加する。以上のようにして、新たに発生した稼働情報（上記の例では動作座標２０６）を保存すべき稼働情報一時記憶領域２０１を特定し、動作座標２０６を含む稼働情報をその領域へ記憶することができる。
【００６１】
第１の記憶領域、即ち、稼働情報一時記憶領域２０１は、先に触れたようにコンピュータＯＳでいうフォルダやファイルのようなデータ保存領域によって実現できる。ここでは、稼働情報一時記憶領域２０１をフォルダにより実装する場合には、例えば第１の識別子２０３は、そのフォルダのフォルダ名として実装することができる。
【００６２】
もし、稼働情報取得部１７から第１の識別子２０３とともに稼働情報が送信され、第１の識別子２０３の内容をフォルダ名として持つフォルダがまだ存在しない場合には、そのフォルダを例えば外部記憶装置６０６上に確保する。もし既に第１の識別子２０３の内容をフォルダ名として持つフォルダが存在する場合には、そのフォルダに稼働情報を追記していく。その際、稼働情報は、そのフォルダ内に例えば通常ファイルの形式で記録する。
【００６３】
このように、本実施形態１では、第１の識別子２０３を介して互いに関連する稼働情報を記憶していく。なお、先に触れたように、第１の記憶領域、即ち、稼働情報一時記憶領域２０１は、フォルダ以外の形式で実装されていてもよい。例えば、第１の記憶領域、即ち、稼働情報一時記憶領域２０１は、フォルダではなく、追記可能な通常ファイルの形式で実装されていてもよい。その場合には、第１の識別子２０３は例えばファイル名として実装される。
【００６４】
また、先に触れたように、例えば、外部記憶装置６０６に稼働情報一時記憶領域２０１のフォルダないしファイルを置き、第１の識別子２０３は、例えばファイルポインタのようなデータ構造体としてＲＡＭ６０３上に配置されていてもよい。また、第１の記憶領域、即ち、稼働情報一時記憶領域２０１が、ＲＡＭ６０３にデータテーブルやデータリストのような形式で確保される構成でもよい。即ち、第１の識別子２０３は、ファイル名やフォルダ（ディレクトリ）名以外に、ファイルポインタやデータポインタのような形式で実装することができる。
【００６５】
このように、本実施形態では、第１の記憶領域、即ち、稼働情報一時記憶領域２０１は、第１の識別子２０３を用いた関連付け処理によって、第１の識別子２０３を介して互いに関連する稼働情報を記録する。このような実装形態は、第１の記憶領域のみならず、後述の第２の記憶領域に関してもほぼ同様である。
【００６６】
一方、動作信号取得部１９は、生産ラインの動作信号から、工程完了信号や異常発生信号を検出すると、稼働情報一時記憶完了指令を生成する。動作信号取得部１９から稼働情報一時記憶完了指令を受信すると、稼働情報処理部２１は、第２の識別子２０４（稼働情報識別子）を生成する。即ち、図３（ｂ）に示すように、ワーク情報算出部１８から取得した使用ワークに関する情報と、異常名（異常発生時のみ）を第１の識別子に追加して、第２の識別子２０４（稼働情報識別子）を生成する。もちろん、第１の識別子に追加する異常名に換えて、エラーコードなどを利用しても構わない。
【００６７】
そして、稼働情報処理部２１は、生成した第２の識別子を、図３（ａ）の稼働情報一時記憶領域２０１に関連付け、稼働情報一時記憶領域２０１に基づき、新たな稼働情報をそれ以上、保存できない閉じた稼働情報記憶領域２０５を作成する。この場合、稼働情報一時記憶領域２０１がフォルダの実装であるなら、例えば、生成した第２の識別子２０４を用いてそのフォルダ名に変更し、クローズした上、稼働情報記憶領域２０５を書き込みないし追記不可の属性に変更する。
【００６８】
このようにして、本実施形態の第２の記憶領域として、新たな稼働情報をそれ以上、保存できない閉じた稼働情報記憶領域２０５を作成することができる。このようなフォルダ名と属性の変更による手法によれば、データコピーが必要なく、効率的である。しかしながら、稼働情報一時記憶領域２０１から再帰的にその階層構造をコピーして稼働情報記憶領域２０５を作成し、その後、不要となった稼働情報一時記憶領域２０１を適宜削除する手法を用いてもよい。
【００６９】
なお、稼働情報記憶領域２０５がフォルダや通常ファイルのデータ形式であるなら、データ容量削減のため、圧縮フォルダ／ファイル形式へと変換する処理を行っても良い。これにより、稼働情報一時記憶領域２０１、２０５が実装されるＲＡＭやＨＤＤなどの記憶容量を効率よく利用できる。
【００７０】
稼働情報処理部２１は、多数の稼働情報が一元化された、閉じた稼働情報記憶領域２０５を、例えば外部記憶装置６０６などにより実装された稼働情報記憶部２０（図１）に格納する。また、稼働情報処理部２１は、稼働情報記憶領域２０５をコピーにより作成しており、稼働情報記憶部２０へ送信済みのデータを格納している稼働情報一時記憶領域２０１がまだ残っている場合には、その稼働情報一時記憶領域２０１を削除する。
【００７１】
稼働情報記憶部２０（図１）は、例えば外部記憶装置６０６などにより実装された記憶エリアで、稼働情報処理部２１から受信した第２の識別子と関連付けされた第２の記憶領域としての稼働情報記憶領域２０５を格納する。このエリアの稼働情報記憶領域２０５は、いずれもクローズされており、それ以上のデータ追記が行えないよう管理される。
【００７２】
入出力部２２（図１）は、例えば、図７の操作部６０４、表示装置６０５を含むユーザーインターフェース部に相当する。例えば、入出力部２２は、稼働情報記憶部２０に記憶されている稼働情報をユーザに提示するために表示出力するのに用いることができる。また、ユーザは、入出力部２２を通して稼働情報記憶部２０に必要な稼働情報を検索するための検索操作を行うことができる。このようなユーザ操作は、例えば入出力部２２を構成する操作部６０４によって行う。
【００７３】
なお、図１では、入出力部２２は監視装置１２内に図示しているが、利用者の使用形態によっては、他のユーザ端末、ハンディターミナルや、ティーチングペンダントのような独立した情報端末であってもよい。その場合、独立した外部の情報端末は、ネットワーク６０８などに接続された端末であってよい。
【００７４】
図４は、図１の生産システム１０における監視装置１２の監視制御手順の流れを示している。図４において、生産ライン１１（図１）は、ティーチングペンダントなどにより発生される指令操作に基づき起動される（ステップＳ１０１）。これにより、ロボットセル１４、１５、１６…が不図示のロボット制御装置などを介して起動され、ラインの工程動作が開始される。
【００７５】
工程動作が開始されると、ロボット制御装置からロボットセル１４、１５、１６…に対して工程開始信号が送信する。本実施形態でいう工程とは、ロボットセル１４、１５、１６…が実行する任意の生産作業の単位に相当する。本実施形態でいう工程では、例えば「ロボット１０８がトレイＡ（１１２）からワークＡ１（１１５）を取り出す」といった動作が１つの工程を構成する。
【００７６】
ロボット制御装置からロボットセル１４、１５、１６…に対して工程開始信号が送信されると、図１の動作信号取得部１９がこの動作信号を検出する（ステップＳ１０２）。例えば、上記のロボット制御装置が工程開始信号を、ロボットセル１４、１５、１６…に加えて動作信号取得部１９にもブロードキャスト送信する構成とすれば、動作信号取得部１９は同信号を検出できる。また、動作信号取得部１９がロボット制御装置に対してポーリングすることで工程開始信号を検出しても良い。このような動作信号取得部１９の信号検出方式は、他の動作信号についても同様である。
【００７７】
続いて、動作信号取得部１９は、当該の工程開始信号に係るロボットセルが、複数あるロボットセルのどのステーションであるかを示すステーション番号、開始された工程の工程番号、現在までの稼働サイクル数を特定する（ステップＳ１０３）。これらの情報は、通常、上記のロボット制御装置が管理する情報であるため、動作信号取得部１９からロボット制御装置へ問い合わせても良いし、ロボット制御装置が動作信号取得部１９へ送信しても良い。次に動作信号取得部１９は、ワーク情報算出部１８と稼働情報処理部２１に対して、工程が開始されたロボットセルのステーション番号、工程番号、稼働情報一時記憶開始指令（稼働情報処理部２１のみ）、稼働サイクル数（稼働情報処理部２１のみ）を送信する。
【００７８】
ワーク情報算出部１８は、当該の工程開始信号によって、工程開始状態が示された当該のステーション番号、工程番号の情報を基に、当該ロボットセル上のワーク有無状況とワーク組付け状態を取得し、保持する（ステップＳ１０４）。ロボットセル上のワークの有無状況とワーク組付け状態は、通常、ロボット制御装置が管理していることが多いから、ワーク有無状況とワーク組付け状態は、ワーク情報算出部１８からロボット制御装置へ問い合わせを行って取得するようにしてもよい。また、ワーク有無状況とワーク組付け状態をワーク情報算出部１８へ送信するよう、ロボット制御装置を設定しておく構成であってもよい。
【００７９】
稼働情報処理部２１は、稼働情報一時記憶開始指令を受信した際に、共に受信したステーション番号と工程番号と稼働サイクル数に加え、指令受信日時を第１の識別子２０３として生成する（ステップＳ１０５）。
【００８０】
次に、稼働情報２０２を一時記憶するための第１の記憶領域として、稼働情報一時記憶領域２０１を確保し、第１の識別子２０３を付加する（ステップＳ１０６）。
【００８１】
本実施例では、複数のロボットセル１４、１５、１６…によるライン構成である。そして、このような生産ラインにおいて、「１つのロボットセルは同時に２つの工程を実行しない」ものとすれば、最大でも３つの稼働情報一時記憶領域２０１が確保されることになる。
【００８２】
本実施形態では、上記のように、第１の識別子２０３と、稼働情報一時記憶領域２０１と、を相互に識別できるよう関連付けしている。このため、稼働情報一時記憶領域が複数存在する場合でも、第１の識別子２０３の照合により、稼働情報２０２をどの領域に記憶すべきかを容易に決定できる。その場合、例えば、第１の識別子２０３に含まれる情報の少なくとも一部、例えばステーション番号と工程番号の情報を照合することにより、新たに発生した稼働情報２０２をどの領域に記憶させるかを決定できる。
【００８３】
続いて、稼働情報処理部２１は、稼働情報取得部１７より送信された稼働情報を適切な稼働情報一時記憶領域２０１に保存する（ステップＳ１０７）。この時、稼働情報取得部１７は、稼働情報に加え、ステーション番号と工程番号を送信するため、稼働情報処理部は受信した稼働情報をどの稼働情報一時記憶領域２０１（第１の記憶領域）に記憶すべきかを決定できる。
【００８４】
動作信号取得部１９が、工程の終了状態を示す、異常信号を検出（ステップＳ１０８）、または、工程完了信号を検出（ステップＳ１０９）してない間は、ステップＳ１０７に戻り、上記の処理を繰り返す。即ち、正常終了状態または異常終了状態のいずれも検出されておらず、この特定の工程が進行している間は、ステップＳ１０７に戻り、上記の処理を繰り返す。これにより、新たに発生した稼働情報を稼働情報一時記憶領域２０１（第１の記憶領域）に記憶させる。同時に進行している他の工程があれば、そのステーション番号と工程番号の異なる他の稼働情報は、上記同様の処理により、異なる第１の識別子を持つ、別の稼働情報一時記憶領域２０１（第１の記憶領域）に記録される。
【００８５】
一方、動作信号取得部１９が、工程終了を示す、異常信号を検出（ステップＳ１０８）、または、工程完了信号を検出（ステップＳ１０９）した場合は以下のような処理を行う。
【００８６】
動作信号取得部１９が工程完了信号を検出（ステップＳ１０９）した場合、ワーク情報算出部１８に対してワーク情報取得指令を送信する。ワーク情報算出部１８は、動作信号を介して、現在のワーク情報、即ち工程完了時のワーク有無状態と、ワーク組付け状態と、を入手する（ステップＳ１１０）。そして、過去、例えば、工程開始時のワーク有無状態とワーク組付け状態を比較し、工程開始時との差分を算出することによって、当該の工程で扱ったワークを特定（ステップＳ１１２）する。ワーク情報算出部１８は、当該の工程で扱ったワークを示すワーク情報を稼働情報処理部２１へ送信する。
【００８７】
これに応じて、稼働情報処理部２１は、ワーク情報算出部１８から受信した現在の工程で取り扱ったものと特定されたワークを識別するワーク情報を第１の識別子に追加することにより、第２の識別子２０４を生成する（ステップＳ１１３）。
【００８８】
当該の工程が完了した場合、工程完了信号の発生に応じて、動作信号取得部１９が、工程完了状態を検出し、稼働情報処理部２１に対して稼働情報一時記憶完了指令を送信する。
【００８９】
これに応じて、稼働情報処理部２１は、当該の完了した工程に該当する第１の識別子と関連付けされた稼働情報一時記憶領域２０１を特定し、これに基づき、それ以上の稼働情報の更新不可な閉じた稼働情報記憶領域２０５を生成する（ステップＳ１１４）。
【００９０】
稼働情報記憶領域２０５は、例えば当該の稼働情報一時記憶領域２０１に、ステップＳ１１３で生成した第２の識別子２０４を再付加することにより作成することができる。また、新たに稼働情報記憶領域２０５を外部記憶装置６０６に確保し、ステップＳ１１３で生成した第２の識別子２０４を付加することにより作成してもよい。この時、工程は完了しているため当該工程における新たな稼働情報はそれ以上、送信されない。このため、稼働情報記憶領域２０５は、それ以上の稼働情報の更新不可な閉じた記憶領域として生成する。この記憶制御は、例えば、稼働情報記憶領域２０５が外部記憶装置６０６上のファイルやフォルダで実装される場合には、そのファイルやフォルダをクローズした上、書き込み不可属性に変更することなどにより実現できる。
【００９１】
続くステップＳ１１５の処理は、例えば第１の記憶領域としての稼働情報一時記憶領域２０１がＲＡＭ６０３に、第２の記憶領域としての稼働情報記憶領域２０５が外部記憶装置６０６（稼働情報記憶部２０）に配置されるような構成において必要になる。その場合、稼働情報処理部２１は、第２の識別子２０４が付加された閉じた稼働情報記憶領域２０５を稼働情報記憶部２０へ送信し、稼働情報記憶部２０は受信した稼働情報記憶領域２０５を記憶する。
【００９２】
続くステップＳ１１６は、第２の記憶領域としての稼働情報記憶領域２０５が第１の記憶領域としての稼働情報一時記憶領域２０１のコピーによって作成されるような構成においてのみ必要になる。その場合は、稼働情報処理部２１は、例えば外部記憶装置６０６上のファイルやフォルダから成る第１の記憶領域としての稼働情報一時記憶領域２０１を削除する（ステップＳ１１６）。
【００９３】
その後、次の工程の開始信号を検出しない場合（ステップＳ１１７）は、監視処理を終了するが、次の工程の工程開始信号を受信している場合は、ステップＳ１０３に戻り、上述の処理を繰り返す。
【００９４】
一方、稼働情報を一時記憶領域へ記憶開始（ステップＳ１０７）した後、生産ラインに異常が発生する場合がある。この動作異常は、生産ラインで発生する異常発生信号のような動作信号を介して検出される（ステップＳ１０８）。
【００９５】
この場合、動作信号取得部１９が発生した異常発生信号を検出し、稼働情報処理部２１に対して、稼働情報一時記憶完了指令と共に、異常が発生した特定の工程位置に該当する稼働情報を送信する（ステップＳ１１１）。この特定の工程位置に該当する稼働情報には、ワークの有無状態および組付け状態、ステーション番号、工程番号、稼働サイクル数に加えて、異常名（エラー番号など）が含まれる。
【００９６】
稼働情報処理部２１は、稼働情報一時記憶完了指令と、上記の異常名（エラー番号など）が含まれた稼働情報を受信すると、例えば上述のワーク状態の差分の演算により、異常が発生した工程で取り扱われたワークを特定する（ステップＳ１１２）。
【００９７】
ステップＳ１１２以下の処理は、上述の通りであるが、ステップＳ１１３で、稼働情報処理部２１が第２の識別子を生成するが、この場合はさらに異常名（エラー番号など）が追加された第２の識別子が生成される。即ち、第１の識別子に、さらに完了（異常終了）した工程に関連するワーク情報と、さらに異常名（エラー番号など）を追加し、第２の識別子を生成する。
【００９８】
上記のように、異常が発生した場合は、正常時と比較して、第２の識別子に発生した異常情報が追加される。なお、動作異常が発生した場合、通常、当該のロボットセルを含む生産ラインの動作を停止させるが、その場合には次工程はないため監視処理はステップＳ１１７で終了することになる。
【００９９】
以上に示したように、本実施形態１によれば、特定の工程位置において発生する生産ラインの稼働情報を、第１の識別子を介して例えば特定の工程位置を識別可能な稼働情報一時記憶領域２０１（第１の記憶領域）に記録していく。工程終了（完了または異常終了）の場合には、過去、例えば工程開始時のワーク状態（ワーク有無状態、ワーク組付け状態）の差分を介してその特定の工程位置で取り扱われたワークを特定できるワーク情報を第１の識別子に付加して、第２の識別子を生成する。
【０１００】
そして、稼働情報一時記憶領域２０１（第１の記憶領域）が格納している稼働情報を、生成した第２の識別子と関連付けられた更新不可な稼働情報記憶領域２０５（第２の記憶領域）に格納する。この時、稼働情報記憶領域２０５（第２の記憶領域）は、例えば、稼働情報一時記憶領域２０１（第１の記憶領域）のリネームによって作成できる。あるいは、コピーによって稼働情報一時記憶領域２０１（第１の記憶領域）を作成する場合には、不要になった稼働情報一時記憶領域２０１（第１の記憶領域）は削除される。
【０１０１】
さらに、異常終了の場合には、異常名（エラー番号など）がさらに上記の稼働情報記憶領域２０５（第２の記憶領域）を識別する第２の識別子に追加される。
【０１０２】
以上のような監視処理を行うことにより、ロボットセルなどの生産機器から成る生産ラインの稼働情報を、特定の工程位置を特定可能な第１の識別子により識別される稼働情報一時記憶領域２０１（第１の記憶領域）に記録していく。工程終了時には、特定の工程位置、そこで取り扱ったワーク、異常の有無などを特定可能な第２の識別子により識別される、それ以上更新されない稼働情報記憶領域２０５（第２の記憶領域）に稼働情報が一元化された状態で保持される。
【０１０３】
本実施形態の監視処理における上記の記憶制御によれば、次のような利点がある。例えば、特定の工程位置で実行される工程が終了した時には、ワーク情報を含む第２の識別子と稼働情報記憶領域２０５（第２の記憶領域）とによって、その工程位置の稼働情報と、そこで取り扱われたワークの情報のみを参照できる。他の工程位置で取り扱われたワークの情報は、しかるべく他の第２の識別子と稼働情報記憶領域２０５（第２の記憶領域）を用いて記録される。このため、動作異常の解析などの目的で稼働情報を参照する時に、課題の欄で述べたようにエラーを発生した工程に関係するワーク情報のみを容易に検索、特定することができる。
【０１０４】
また、異常終了時には異常名（エラー番号など）がさらに稼働情報記憶領域２０５（第２の記憶領域）を識別する第２の識別子に追加されるため、容易に動作異常の態様を特定できる。また、後述のように、同一ないし類似の動作異常を記録した稼働情報記憶領域２０５（第２の記憶領域）、あるいはさらにその第２の識別子を容易に検索でき、その内容をユーザーインターフェース装置を介してユーザに提示することができる。
【０１０５】
＜実施形態２＞
本実施形態２では、図５、図６を用いて、ユーザーインターフェース装置（図１の入出力部２２：図７の操作部６０４、表示装置６０５）を介してユーザに提示し、またユーザ入力を取り込むための表示画面の構成例を示す。
【０１０６】
図５は、動作異常に応じて、あるいは、動作異常を検索した結果として、ユーザーインターフェース装置の表示装置６０５で表示する表示画面（ＵＩ画面）の一例である。図５の表示画面（ＵＩ画面）は、以下に示すような表示領域、および操作ボタン、テキスト入力フィールドなどを備えている。
【０１０７】
以下では、発明が解決しようとする課題の欄で説明したロボットセルの工程を用いて、図５の表示画面（ＵＩ画面）の構成および関連する入出力部２２における操作を説明する。発明が解決しようとする課題の欄で例示した、あるロボットセルの工程は、全部で８つの工程を有する。
【０１０８】
その工程順序は、上記の通り、ワークＡを取得（工程１）し、ワークＡを組付け台へ設置する（工程２）。次に、ワークＣを取得（工程３）し、そのワークＣを仮置き台へ設置（工程４）する。そして、ワークＢを取得（工程５）し、ワークＢをワークＡへ組付ける（工程６）。最後に、ワークＣを仮置き台から取得し（工程７）、そのワークＣをワークＡへ組付け（工程８）。説明を容易にするため、生産ラインには上記の各工程を特定の工程位置で実行するロボットセルが１台、配置されているものとする。
【０１０９】
ここで、この生産ラインを稼働開始させてから、１０サイクル目の工程６で動作異常が発生したとする。発生した動作異常の情報（異常名）は、例えば第２の識別子として稼働情報記憶部２０に記憶されている。従って、操作部６０４（図７）で動作異常の情報（異常名）を検索した結果として、あるいは、エラー発生に応じて自動的に、図５の表示画面、特に左側半分に示したその特定の工程位置における稼働情報を表示装置６０５に表示することができる（３０２）。
【０１１０】
図５のエラー発生に係る稼働情報（３０２）において、３０３は稼働情報記憶部２０に記憶されている稼働情報を一覧するリスト表示である。この例では、稼働情報記憶部２０の第２の識別子と稼働情報記憶領域２０５（第２の記憶領域）は、それぞれフォルダ名とフォルダ、によって実装されている。図５のリスト表示（３０３）は、このような格納構造のメタファとしてのアイコンを用いた表示となっている。また、表示スペースを節約するため、第２の識別子（フォルダ名）は例えば時刻情報のみを表示している。
【０１１１】
また、図５のリスト表示（３０３）は、日時（３０４、３０５、３０６）、工程番号（３０７）、扱われたワークのワーク情報（３０８）、サイクル数（３０９）、異常発生の有無（３１０）の各フィールドを有する。これらの各フィールドの最上部の表示は、例えばそのフィールドをキーとしてソートを行うために、操作部６０４のポインティングデバイスなどにより操作可能なボタンとして実装されていてよい。
【０１１２】
また、図５のリスト表示（３０３）によれば、西暦年（３０４）、月日（３０５）、時刻（３０６）…のように稼働情報記憶領域２０５（第２の記憶領域）に相当するフォルダアイコンを指定することにより、特定の稼働情報にアクセスすることができる。このフォルダアイコンの指定は、例えば操作部６０４のポインティングデバイスなどにより行う。
【０１１３】
図５の例では、１０番目のサイクルの工程６で異常が発生したため、リスト表示（３０３）の最下行でその旨が表示されている（３１３）。
【０１１４】
この状態で、図５の表示画面（ＵＩ画面）では、エラー分析を行うユーザは、工程６で発生したワークＢ組付異常の原因を調査するために、異常工程情報表示ボタン（３１４）を押下することができる。これに応じて、例えば、画面右下に当該の工程６の実行時に記録された稼働情報３２８を表示させる（３２０）。
【０１１５】
この異常工程情報（３２０）では、ワークＢ組付け時の力データのみが表示されているが、他の稼働情報が記憶されていた場合は、その稼働情報も併せて表示させる。これにより、ユーザは、正常時と異常時の稼働情報を比較することができる。その場合は、異常工程情報（３２０）の上部には、入力部（３２２）が配置されている。この入力部（３２２）を介してユーザは取得したい工程に係る例えば期間（日時〜日時）の情報を入力することができる。入力部３２２で期間指定を行い、表示ボタン（３２１）を押下すると、その期間の稼働情報を呼び出すことができる。
【０１１６】
例えば、この入力部（３２２）に「2017/10/05 13:40 - 2017/10/05 13:42」と入力することで、期間中の当該工程における稼働情報が表示される（３２７：左側の９サイクル目工程６の力データ）。この表示（３２７）を視認することにより、ユーザは、異常発生時の力データ（３２８）では、正常時の力データ（３２７）よりも遅れたタイミングでワーク操作力がかかっていた、ということが判る。
【０１１７】
しかし、この情報のみでは異常発生の原因が明確になったとは言えないため、図５の表示画面（ＵＩ画面）では、ユーザは関連工程情報表示ボタン（３１５）をクリックすることができる。この関連工程情報表示ボタン（３１５）をクリックすると、工程６では、ワークＡとワークＢを扱っているため、同じワークＡとワークＢを扱った工程１と工程２、工程３に相当する稼働情報が表示される（３１７、３１８、３１９）。
【０１１８】
このうち、工程１はワークＡ（３２５）をトレイから取得する工程であり、その稼働情報（３１７）は、この例ではロボットアームが取得する前のトレイ上のワークＡ（３２５）の画像である。この画像は、監視カメラなどにより撮影されたもので、稼働情報記憶領域２０５（第２の記憶領域）に記録されている。ワークＡ（３２５）とその他ワークを見比べると、特別に変わった点は見つからず、工程１に異常の原因がないことが推測される。
【０１１９】
工程２はワークＡ（３２５）を組付け台へ設置する工程であり、その稼働情報（３１８）は、ロボットがワークＡ（３２５）を組付け台へ設置した時の設置位置データである。この設置位置データは、Ｚ軸方向の距離を横軸方向に時刻をとって示したものである。稼働情報（３１８）の表示では、異常発生時（１０サイクル目）の設置位置データ（３３０）に対して、９サイクル目の設置位置データ（３２９）を表示して見比べると、両者に違いは見られないため、工程２に異常の原因がないことが推測される。
【０１２０】
工程５はワークＢ（３２６）をトレイから取得する工程であり、その稼働情報３１９は、ロボットが取得する前のトレイ上のワークＢ（３２６）の画像である。ワークＢ（３２６）とその他のワークを比べると、形状が異なっており、ワークＢ（３２６）が変形している、と判定できる。
【０１２１】
以上のように構成された、図５の表示画面（ＵＩ画面）を用いることにより、ユーザは、異常が発生した原因は「ロボットが変形したワークＢ（３２６）を取得し、ワークＡへ組付けたため」であると推測することができる。
【０１２２】
以上のように、本実施形態２では、実施形態１と同様に特定の工程ないしその工程位置、日時、ワーク情報、異常名ごとに、稼働情報が第２の識別子と稼働情報記憶領域２０５（第２の記憶領域）に格納されている。そのため、図５の表示画面（ＵＩ画面）によれば、異常が発生した工程を容易に特定できる。また、同じ理由で、異常発生時に異常が発生した工程に関係のある工程の稼働情報のみをユーザに提示することができるため、ユーザは生産ラインに異常が発生した場合の原因究明を効率的に行える。
【０１２３】
また、図５の表示画面（ＵＩ画面）では、期間と異常コードの入力（３０１）、期間と工程番号を入力（３１１）することができる入力フィールドを設けている。これらの入力フィールドを介して指定した期間と異常コード、あるいは期間と工程番号に該当する稼働情報を表示することができる。
【０１２４】
また、本実施形態２では、実施形態１と同様に特定の工程ないしその工程位置、日時、ワーク情報、異常名ごとに、稼働情報が第２の識別子と稼働情報記憶領域２０５（第２の記憶領域）に格納されている。そのため、過去の稼働情報のうち必要なデータを、必要な時に容易に読み出し、登録しておくことができる。そのためには、例えば、稼働情報を表示されている窓（図５の例では３１７、３１８、３１９、３２０のいずれか）に情報登録ボタン（３２３）を設けておくことができる。この情報登録ボタン（３２３）を用いて、ユーザはすばやく参照したい、あるいは重要と考える稼働情報を稼働情報記憶部２０に配置した重要稼働情報領域に登録することができる。この重要稼働情報領域は、例えばインターネットやファイルシステムのブラウザなどにおいて用いられている、いわゆるブックマーク記憶領域と同様に構成しておくことができる。この重要稼働情報領域に記憶させた稼働情報は、適当な操作ボタン（不図示）の操作によって、表示装置６０５に呼び出せるように構成しておく。その際の重要稼働情報領域に記憶させた稼働情報の表示形式には、図５の表示画面（ＵＩ画面）の表示形式と同様に構成しておけばよい。
【０１２５】
また、図５の表示画面（ＵＩ画面）において、記憶した稼働情報を読み出したい場合は、ユーザは過去稼働情報表示ボタン（３２４）を押下する。ユーザは、過去稼働情報表示ボタン（３２４）により過去の異常時の稼働情報を表示させ、新たな異常が発生した時に読み出して比較することができ、トラブル分析業務をさらに効率化することができる。
【０１２６】
さらに異常名、図５の表示画面（ＵＩ画面）では、詳細分析ボタン（３１６）を設けている。この詳細分析ボタン（３１６）を操作することにより、稼働情報処理部２１で稼働情報同士の相関算出といった分析処理を行わせ、その分析処理の結果を図５の表示画面（ＵＩ画面）に表示させることができる。
【０１２７】
図６は、詳細分析ボタン（３１６）を操作することにより、稼働情報処理部２１で稼働情報同士の相関算出を行い、類似の動作異常を生じた過去の稼働データを表示させた状態を示している。図６の左半部のリスト表示（３０３）では、ワークＣのＸ座標閾値オーバーが生じた３つの稼働データが示されている。図６の右半部の上側（３３１）では、左半部のリスト表示（３０３）に該当するワークＣのＸ座標値（３４４、３４５…）を横軸の日時表示とともに示している。図６の右半部の下側（３３２）は、左半部のリスト表示（３０３）に該当する工程７あるいは８におけるワークＣのトレイ上の３つの監視画像の表示になっている。図６の他の操作ボタンやテキスト入力フィールドは、図５と同様の参照符号によって示されており、その構成は図５と同様である。
【０１２８】
以上に示した各実施形態の構成は、本発明を説明するための一例に過ぎず、当業者において、種々の設計変更を加えて実施することができる。本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２９】
１０…生産システム、１１…生産ライン、１２…監視装置、１４、１５、１６…ロボットセル、６０１…ＣＰＵ、６０２…ＲＯＭ、６０３…ＲＡＭ、６０４…操作部、６０５…表示装置、６０６…外部記憶装置、６０７…ネットワークインターフェース、６０８…ネットワーク。
【図１】
2019215812.tif 000003
【図２】
2019215812.tif 000004
【図３】
2019215812.tif 000005
【図４】
2019215812.tif 000006
【図５】
2019215812.tif 000007
【図６】
2019215812.tif 000008
【図７】
2019215812.tif 000009