(57)【要約】【課題】作業失敗が発生した場合でも、生産効率の低下を抑制する。【解決手段】作業情報データベースと、作業失敗情報データベースと、装置が作業を異常完了すると、作業で作業対象としていた製品の製品識別番号を作業失敗製品識別番号とし、作業スキップ最終番号を未指定とする作業失敗情報を作業失敗情報データベースに追加する作業失敗情報追加処理、運転計画を立案するスケジューラから作業失敗情報に対応した運転計画を受信すると、受信時点で作業情報データベースに保存されている最終作業番号を作業失敗情報の作業スキップ最終番号に更新する作業完了情報更新処理、生産システムに送信する作業情報の作業対象が作業失敗情報の製品識別番号と一致していると共に作業スキップ最終番号が作業情報の作業番号以上である場合には、送信する作業情報を装置には送信せずに作業情報データベースから削除する作業スキップ判定処理を実行する機能部とを備えている。【選択図】図２
2020113164.tif 000002
【特許請求の範囲】
【請求項１】
運転計画に基づいて製品を生産する生産システムへの運転指示を送信する運転管理装置であって、
前記生産システムを構成する複数の装置の作業の順序に従って指定された作業番号を含み、前記運転計画で指定される装置の作業情報を保存する作業情報データベースと、
作業失敗した対象製品を識別する作業失敗製品識別番号と、作業スキップの判定を実施する最終の作業番号で規定される作業スキップ最終番号を含む作業失敗情報を保存する作業失敗情報データベースと、
装置が作業を異常完了すると、前記作業で作業対象としていた製品の製品識別番号を前記作業失敗製品識別番号とし、前記作業スキップ最終番号を未指定とする前記作業失敗情報を前記作業失敗情報データベースに追加する作業失敗情報追加処理、
前記運転計画を立案するスケジューラから前記作業失敗情報に対応した運転計画を受信すると、受信時点で前記作業情報データベースに保存されている最終作業番号を前記作業失敗情報の前記作業スキップ最終番号に更新する作業完了情報更新処理、および、
前記生産システムに送信する作業情報の作業対象が前記作業失敗情報の前記製品識別番号と一致していると共に前記作業スキップ最終番号が前記作業情報の作業番号以上である場合には、前記送信する作業情報を装置には送信せずに前記作業情報データベースから削除する作業スキップ判定処理を実行する機能部と、を備える、運転管理装置。
【請求項２】
前記機能部は、
前記作業失敗情報追加処理に先立って、
前記装置が作業を異常完了した場合であって、異常完了した作業で使用した部品に余剰品がある場合には、同じ作業を再実行するものと判定する再実行判定処理を行い、
同じ作業を再実行する場合には、前記作業失敗情報追加処理を実行せず、異常完了した作業と同じ作業情報で前記運転指示を再度送信する、請求項１記載の運転管理装置。
【請求項３】
前記機能部は、
前記装置に起因する作業の異常完了が発生した際に、異常完了が発生した前記装置の装置識別番号と前記作業のスキップの対象とする前記製品識別番号を前記作業失敗情報に含めて前記作業失敗情報データベースに追加する装置起因作業失敗情報追加処理を実行し、
前記送信する作業情報が、前記異常が発生した装置への搬送作業情報の場合には、前記作業情報で搬送する前記製品識別番号を前記作業失敗情報に追加する作業失敗装置搬送作業確認処理を実行する、請求項１記載の運転管理装置。
【請求項４】
前記機能部は、
前記送信する作業情報が、異常完了が発生した前記装置への搬送作業である場合には、搬送先を搬送装置の待機位置に変更する搬送作業変更判定処理を実行する、請求項３記載の運転管理装置。
【請求項５】
前記機能部は、
前記装置の異常完了を受信した時点で前記複数の装置に前記運転指示を送信済みの作業情報を記録する作業状態記録処理を実行する、請求項１から請求項４の何れか１項に記載の運転管理装置。
【請求項６】
運転計画に基づいて製品を生産する生産システムへの運転指示を送信する運転管理方法であって、
前記生産システムを構成する複数の装置の作業の順序に従って指定された作業番号を含む、運転計画で指定される装置の作業情報を保存する作業情報データベースと、
作業失敗した対象製品を識別する作業失敗製品識別番号と、作業スキップの判定を実施する最終の作業番号で規定される作業スキップ最終番号を含む作業失敗情報を保存する作業失敗情報データベースとを使用し、
装置が作業を異常完了すると、前記作業で作業対象としていた製品の製品識別番号を前記作業失敗製品識別番号とし、前記作業スキップ最終番号を未指定とする前記作業失敗情報を前記作業失敗情報データベースに追加する作業失敗情報追加処理と、
前記運転計画を立案するスケジューラから前記作業失敗情報に対応した運転計画を受信すると、受信時点で前記作業情報データベースに保存されている最終作業番号を前記作業失敗情報の前記作業スキップ最終番号に更新する作業完了情報更新処理と、
前記生産システムに送信する作業情報の作業対象が前記作業失敗情報の前記製品識別番号と一致していると共に前記作業スキップ最終番号が前記作業情報の作業番号以上である場合には、前記送信する作業情報を装置には送信せずに前記作業情報データベースから削除する作業スキップ判定処理と、を実行する、運転管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は運転管理装置に関し、特に、複数の製造装置と製造装置間の製品搬送を行う搬送装置とで構成される生産システムの運転管理装置に関する。
【背景技術】
【０００２】
複数の製造装置と製造装置間の製品搬送を行う搬送装置とで構成される生産システムにおいて、製造装置または搬送装置での作業に失敗が発生した場合、作業失敗の情報に基づいて運転指示の変更を行うシステムが知られている。
【０００３】
例えば、作業失敗が発生した際に、その要因が製造装置起因か製品起因かを判断し、製造装置起因の場合には、原因となる製造装置を使用しない運転指示を行い、製品起因の場合には、失敗した製品に対する運転指示を行わないシステム（特許文献１）が知られている。また、製品起因の作業失敗が発生した場合に、失敗した製品に対する他の製造装置による作業を行わないシステム（特許文献２）が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３４６４８２号公報
【特許文献２】特開昭６０−０６７０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、生産システムが大規模になり、作業失敗後の運転計画変更に要する時間が長くなると、生産システムの作業指示待ちの待機時間が延び、生産効率が低下するという課題がある。
【０００６】
特許文献２では、作業失敗が発生した製品に対する他作業を全てスキップして製品をロットアウトするため、作業失敗した製品に対して作業を再計画して実行することができず、生産効率が低下するという課題がある。組立作業のような場合には、部品起因の作業失敗が発生したとしても、部品在庫および製品納期に余裕がある場合には、部品を変更して再実行することで、生産効率を上げることが望まれる。
【０００７】
本発明は上記のような問題を解決するためになされたものであり、作業失敗が発生した場合でも、生産効率の低下を抑制した運転管理を実現することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る運転管理装置は、運転計画に基づいて製品を生産する生産システムへの運転指示を送信する運転管理装置であって、前記生産システムを構成する複数の装置の作業の順序に従って指定された作業番号を含み、前記運転計画で指定される装置の作業情報を保存する作業情報データベースと、作業失敗した対象製品を識別する作業失敗製品識別番号と、作業スキップの判定を実施する最終の作業番号で規定される作業スキップ最終番号を含む作業失敗情報を保存する作業失敗情報データベースと、装置が作業を異常完了すると、前記作業で作業対象としていた製品の製品識別番号を前記作業失敗製品識別番号とし、前記作業スキップ最終番号を未指定とする前記作業失敗情報を前記作業失敗情報データベースに追加する作業失敗情報追加処理、前記運転計画を立案するスケジューラから前記作業失敗情報に対応した運転計画を受信すると、受信時点で前記作業情報データベースに保存されている最終作業番号を前記作業失敗情報の前記作業スキップ最終番号に更新する作業完了情報更新処理、および、前記生産システムに送信する作業情報の作業対象が前記作業失敗情報の前記製品識別番号と一致していると共に前記作業スキップ最終番号が前記作業情報の作業番号以上である場合には、前記送信する作業情報を装置には送信せずに前記作業情報データベースから削除する作業スキップ判定処理を実行する機能部と、を備えている。
【発明の効果】
【０００９】
本発明に係る運転管理装置によれば、運転計画を立案するスケジューラと運転指示を送信する運転管理装置が非同期な生産システムであっても、作業失敗が発生した際に、作業失敗に関連した作業をスキップして生産システムの稼働率を上げる効果がある。
【図面の簡単な説明】
【００１０】
【図１】ジョブショップ生産システムの運転スケジュールの一例を模式的に示す図である。
【図２】本発明に係る運転管理装置を備えた生産システムの構成を示す図である。
【図３】本発明に係る実施の形態１の運転管理装置の構成を示す機能ブロック図である。
【図４】本発明に係る実施の形態１の運転管理装置の運転計画受信部での受信処理を説明するフローチャートである。
【図５】本発明に係る実施の形態１の運転管理装置の作業情報取得要求応答部での応答処理を説明するフローチャートである。
【図６】本発明に係る実施の形態１の運転管理装置の作業完了情報受信部での受信処理を説明するフローチャートである。
【図７】本発明に係る実施の形態１の運転管理装置の運転情報送信部での送信処理を説明するフローチャートである。
【図８】作業失敗情報追加処理を説明するフローチャートである。
【図９】作業スキップ判定処理を説明するフローチャートである。
【図１０】作業スキップ処理を説明するフローチャートである。
【図１１】本発明に係る実施の形態２の運転管理装置の構成を示す機能ブロック図である。
【図１２】作業完了情報受信部での受信処理を説明するフローチャートである。
【図１３】本発明に係る実施の形態３の運転管理装置の作業情報取得要求応答部での応答処理を説明するフローチャートである。
【図１４】本発明に係る実施の形態３の運転管理装置の作業完了情報受信部での受信処理を説明するフローチャートである。
【図１５】本発明に係る実施の形態４の運転管理装置の作業情報取得要求応答部での応答処理を説明するフローチャートである。
【図１６】本発明に係る実施の形態５の運転管理装置の作業完了情報受信部での受信処理を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
＜はじめに＞
実施の形態の説明に先立って、ＡＧＶ（Automatic Guided Vehicle）を利用したジョブショップ生産システムについて説明する。
【００１２】
ＡＧＶは工場内で製品および部品を自動で搬送する車両であり、最近では、Ｓｌａｍ（Simultaneous Localization and Mapping）といった自己位置推定と地図作成の技術によって、工場内の任意の位置に移動可能なＡＧＶ（搬送装置）が開発されている。
【００１３】
ジョブショップとは、製品または部品の投入機能、加工または組立といった作業、製品の払い出しといった、一定の機能を複数備えた、何らかの作業を独立して実施する製造装置である。ＡＧＶを利用したジョブショップ生産システムとは、ジョブショップ間の製品の運搬をＡＧＶが行い、製品が複数のジョブショップを経由して完成される生産システムである。なお、製造装置とＡＧＶを総称して「装置」と呼称する。同等の機能を有するジョブショップは複数あり、どのジョブショップで製品に対する作業を実施するかを選択する自由度がある。
【００１４】
ジョブショップ生産システムを効率的に運用するためには、ＡＧＶと製造装置の運転スケジュールが重要である。生産システムのスケジュール作成は、一般的に、製造装置の生産能力と、各運転指示における製造装置の作業時間と、ＡＧＶの移動時間などの運転能力情報に基づいて実施される。製造する製品の種類と数が含まれる注文データに対して、運転能力情報に基づいて、最適と考えられる運転スケジュールを作成する。
【００１５】
ここで、最適と判断する目的関数は、生産システム全体における生産時間が短いこと、各製造装置の稼働時間の合計が短いこと、仕掛品の仕掛中の時間が短いことなどが挙げられる。また、注文上に納期情報または優先度情報、またはその両方が含まれる場合には、納期を守る制約および優先度を守るといった制約が含まれることもある。
【００１６】
納期情報は、顧客への納期ではなく、工場内の生産完了時刻で表現されることもある。運転スケジュールを適切に設定することによって、装置の稼働率を高めて運転時間を短くすることができ、生産コストを下げることができる。
【００１７】
ジョブショップ生産システムにおける運転スケジュールの作成は、大規模な最適化問題となるため、製造装置の作業時間、ＡＧＶの移動時間等の運転能力情報は固定値として扱うことが主流である。そのため、運転スケジュールは製造装置とＡＧＶが何時にどういった作業を実施するかで一意に記述できる。また、仕掛品の仕掛中時間が目的関数に含まれない場合には、運転指示の順番だけで記述することもできる。図１には運転スケジュールの一例を模式的に示している。
【００１８】
図１においては、製造装置１〜３における作業と、ＡＧＶ１〜３における移動のスケジュールを示しており、例えば、ＡＧＶ１が、移動１−１で運んだワーク（製品）に対して作業２−２を実施し、その後、ＡＧＶ１が移動１−２で移動させる。また、ＡＧＶ２が、移動２−１で運んだワークに対して、作業３−２を実施する。また、作業１−１の実施を完了したワークに対して、ＡＧＶ３が移動３−２で移動させる。
【００１９】
このような運転スケジュールは、製造装置の作業時間と、ＡＧＶの移動時間等の運転能力情報に基づいて作成されているが、このような運転スケジュールでは、実際に生産システムを運用することはできない。それは、実際の製造装置の作業時間およびＡＧＶの移動時間には運能力情報からの誤差が発生するからである。また、投入部品の誤差に起因する製造装置での作業ミス、ＡＧＶの移動における他車両等の回避および渋滞等といった、スケジュールを作成した時点では予測できない事象も発生する。これらの理由から、時間で指定された運転スケジュールを厳密に運用することはできない。そのため、時間で指定された運転スケジュールを、作業完了に基づいて運転指示を実行する等、作業の完了を条件にした運転計画に変換して運用する必要がある。
【００２０】
また、実際の運用に当たっては、局所的な最適化と大域的な最適化を組み合わせて運用することが望まれる。局所的な最適化の例として、ＡＧＶとジョブショップ間の移載作業、ジョブショップ内での部品の加工または組立作業の両方が実行可能な状況を想定する。
【００２１】
例えば、他の装置の運転効率を上げることを考えれば、ジョブショップ内での作業より、ＡＧＶとの移載作業を優先して実行した方が良い場合もある。具体的には、あるジョブショップにおいて、ＡＧＶの次の行先とは異なるジョブショップに渡す製品への作業を優先すると、ＡＧＶへの移載作業が完了せず、ＡＧＶの移動開始が保留され、結果としてＡＧＶの次の行先であるジョブショップでの運転効率が低下する状況となる。このように、ジョブショップ内の今の状態という局所的な状況の情報だけでも簡単な最適化が実現可能である。このような、ジョブショップ内の情報またはジョブショップ内の今の状態などの、空間的または時間的に局所的な情報のみで行う最適化を局所的な最適化という。
【００２２】
局所的な最適化は、判断に必要な計算リソースが少なく、製造装置の制御装置で実現できるという利点がある。作業の優先度を予め設定しておき、運転開始条件が成立している作業の内、優先度の高い作業から実行する等の方法で実現されることが多い。
【００２３】
大域的な最適化は、工場全体または運転スケジュール全体、またはその両方に基づいて実施する最適化である。例えば、納期が近い製品の製造を優先するために、他製品の製造を保留して製造装置を空けて待つという方法が挙げられる。他には、製造装置の段取り替えが減るように、同じ作業が連続して実施可能なように運転スケジュールを組むという方法が挙げられる。
【００２４】
大域的な最適化は、最適化するための情報と判断基準が多岐に渡るため、スケジューラ等の専用の機能を有した、生産システムの運用とは別の機器で処理される場合が多く、その処理においては、時間で規定された運転スケジュールについて、従来から広く研究されているスケジューリング問題の解決策を適用することができる。
【００２５】
実際の運用においては運転スケジュールから作業の遅れが発生するため、大域的な最適化に影響しない範囲、例えば、開始時間が前後しても条件が揃えば作業を開始する、また、作業順序を問わない作業の完了を待たない等により、局所的な最適化を適用することが好適である。
【００２６】
以下に説明する本発明に係る実施の形態は、複数の製造装置と製造装置間の製品搬送を行う搬送装置で構成される生産システムにおいて、特に、製造する製品の種類が多く、製造装置は複数種類の製品への作業に対応可能で、かつ、冗長性も高い生産システムに関している。
【００２７】
ただし、製造装置は製品の全工程を実行するものではなく、例えば、部品加工、嵌め合い、カシメ、結線、検査等の工程に分かれて実行される。そのため、未完成の製品が搬送装置で複数の製造装置間を搬送されることで、製品が完成することになる。
【００２８】
このような生産システムでは、製品種別ごとの作業時間変動および製品種別変更に伴う段取り替え時間等があるため、各製品をどの製造装置で作業するかといった運転計画よって、生産システム全体の稼働率が大きく変わってくる。例えば、異なる作業を要する製品を１つの製造装置に混在させて作業させると、段取り替えが多くなり、稼働率は下がってしまう。また、稼働率以外にも、製品ごとに異なる納期が設定されている場合には、特定の製品向けに製造装置を確保して待機させる等して、全ての製品の納期が満たされるように運転計画を立案する必要もある。そのため、生産システム全体を俯瞰して、大域的な最適化を実施した運転計画を立案することが生産システムの稼働率を向上させるためには重要である。生産システム全体の最適な運転計画の立案には時間がかかり、計算リソースも必要となるため、非リアルタイム処理のシステムが適している。一方で各装置への作業指示の応答性は、生産システムの稼働率に影響するため、リアルタイム処理のシステムが適している。
【００２９】
＜生産システムの概要＞
図２は、本発明に係る運転管理装置を備えた生産システム１００の構成を示す概要図であり、全ての実施の形態において共通である。
【００３０】
図２に示すように、生産システム１００は、スケジューラ１０、運転管理装置２０、複数の製造装置３１，３２〜３ｎおよび搬送装置４１、４２〜４ｍを備えている。搬送装置４１〜４ｍは、先に説明したＡＧＶを含んでいる。
【００３１】
スケジューラ１０は、生産システム１００の外部から入力される設備情報Ｄ１および注文情報Ｄ２、運転管理装置２０から出力される運転情報Ｄ３に基づいて、運転計画Ｄ１０を出力する。
【００３２】
設備情報Ｄ１は、生産システム１００内の製造装置と搬送装置の能力（実行可能な作業とその作業時間等）に関する情報を有している。以下では製造装置と搬送装置を総称して「装置」と呼称する。
【００３３】
注文情報Ｄ２は、製造する製品の種類と数、必要に応じてその納期に関する情報を有している。
【００３４】
運転情報Ｄ３は、生産システム１００の運転中に、運転管理装置２０からスケジューラ１０に送信される生産システム１００の現在の運転情報であるが、詳細は後述する。
【００３５】
スケジューラ１０は、入力された情報に基づいて、適切な評価基準に従って、生産システム１００内の各装置の作業情報を含む運転計画を立案して、運転管理装置２０に適切な間隔で出力する。評価基準としては、注文された納期が遵守できているか、全体の製造時間が短いか、設備稼働率が高いかといった、一般的な生産システムの評価基準である。
【００３６】
運転計画Ｄ１０は、生産システム１００内の設備の作業情報を纏めたものである。作業情報には、装置の識別番号（装置ＩＤ）と、実行する作業内容および装置ＩＤごとにユニークに設定された作業番号が含まれる。
【００３７】
運転計画Ｄ１０は、生産システム１００の能力と運転状態に合わせて適切な間隔で出力される。この間隔は、作業失敗または生産計画からの生産遅れ等に起因する、運転計画の再立案に必要な時間等によって決まる。例えば、作業失敗の情報を得てから再立案までにかかる時間より間隔を長くするように決定される。作業失敗などのトラブル発生時、または、製造装置に作業を実行させる必要がない場合を除き、運転計画には各装置の作業情報待ちが発生しないように、十分な量の作業情報を含めておくこと望ましい。
【００３８】
運転管理装置２０は、入力された運転計画Ｄ１０に基づいて、生産システムの運転状態を管理しながら、運転計画を実行するための運転指示Ｄ２１、Ｄ２２〜Ｄ２lを製造装置と搬送装置に送信する。運転計画には各装置に対する作業情報が複数含まれている場合があるが、運転指示は現在実行する作業だけを、各装置に１つだけ送信する。
【００３９】
各装置は運転指示Ｄ２１、Ｄ２２〜Ｄ２lで指定された作業が完了すると、運転管理装置２０に完了情報を送り、次の作業情報の取得要求を送信する。
【００４０】
製造装置３１，３２〜３ｎが並列して作業を実行できる場合には、運転管理装置２０は各製造装置に並列して運転指示を送信する。
【００４１】
運転計画Ｄ１０には、生産システム１００全体の運用を最適化するために、運転指示の送信を待たせるための情報も含まれる。例えば、搬送装置４１〜４ｍが複数の製品を纏めて搬送できるようなシステムにおいては、搬送予定の製品への作業が全て完了して、全製品の搬送準備が整った後に搬送作業を開始する必要がある。このような、他作業の完了を待つといった、作業の実行開始を待機させるために、作業情報に含まれる条件を、以下ではガード条件と呼称する。また、待つべき作業が全て完了し、作業が実行可能になった状態を、以下ではガード条件が成立したと呼称する。
【００４２】
運転管理装置２０は、作業失敗が発生していない状態では、生産システム１００の運転状態および運転計画に含まれる作業情報と、その作業情報のガード条件に基づいて、ガード条件が成立した作業情報の運転指示を各装置に送信する。作業失敗が発生した場合の処置については後述する。また、運転管理装置２０は、完了した作業情報と作業失敗等の運転計画の進捗状態といった、運転計画の立案に必要な運転情報Ｄ３をスケジューラ１０に送信する。
【００４３】
ここで、大規模な生産システムが有する課題について説明する。多品種に対応可能で、運転計画の自由度も高い大規模な生産システムにおいては、運転計画を立案するスケジューラと各装置の運転管理を行う運転管理装置を非同期で運用する必要が出てくる。生産システムの稼働率を向上させるためには運転計画の最適化が重要であるが、自由度が高い大規模な生産システムでは、最適化に多くの計算リソースを要するため、時間を要する。一方で、運転管理装置は待機中の製造装置への運転指示をできるだけ早く送信することが望まれる。そのため、各装置の作業が完了した時に、オンデマンドで最適な運転計画を計算して運転指示を送信する方式は、稼働率の観点から非現実的である。
【００４４】
また、運転計画の立案では、作業時間のばらつきについては考慮しない等、モデルを単純化して最適化を行う。しかし、実際の生産システムの運用では作業時間のばらつきが発生するため、運転計画の想定とは作業進行が異なってくる。そのため、スケジューラが生産システムの運転状態を正確に予測して生産計画を立案することは困難となる。その結果、作業失敗が起きないことを前提に、最適化された運転計画をスケジューラが予め立案しておき、運転管理装置が簡単な判断で、オンデマンドに運転指示を送信する方式が現実的である。そのため、スケジューラは、一定期間以上の作業情報を詰め込んだ運転計画を運転管理装置に送信し、運転管理装置はその運転計画をキューイングしながら、オンデマンドで製造装置と搬送装置に運転指示を送信する構成となり、スケジューラと運転管理装置は非同期で運用されることになる。
【００４５】
スケジューラと運転管理装置が非同期で、運転管理装置が運転計画をキューイングしながら生産システムを運用する場合には、作業失敗に関連した実行できない作業情報を適切に処理することが課題となる。作業失敗に関連した作業情報が残り続けると、作業失敗とは関連しない他作業を実行することができず、稼働率が低下する。一方で、他製品に使用する計画の部品を使用して作業を再実行すると、部品が足りなくなる等して段取り替え作業が新たに発生し、運転計画の最適性が崩れる可能性がある。そのため、作業失敗時には、スケジューラによって作業失敗を考慮して再計画された運転計画に基づいて運転管理を行う必要がある。その結果、運転管理装置には、作業失敗に関連する作業情報の内、作業失敗に対応していない運転計画の作業情報は実行せず、作業失敗に対応した運転計画の作業情報だけを実行することが望まれる。以下に説明する実施の形態では、これらを実現するための生産システム１００のバリエーションを説明するものである。
【００４６】
＜実施の形態１＞
＜装置構成＞
図３は、本発明に係る実施の形態１の運転管理装置２０の構成を示す機能ブロック図である。
【００４７】
図３に示すように運転管理装置２０は、運転計画受信部２０１、作業情報取得要求応答部２０２、作業完了情報受信部２０３および運転情報送信部２０４を機能部２００として備え、データベース（ＤＢ）として、作業情報ＤＢ２１、作業完了情報ＤＢ２２および作業失敗情報ＤＢ２３を備えている。なお、機能部２００は、コンピュータを用いて構成することができ、コンピュータがプログラムを実行することで実現される。すなわち、機能部２００は、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）などのプロセッサにおいて、記憶装置に格納されるプログラムを実行することで各部の機能を実現することができる。
【００４８】
運転計画受信部２０１は、スケジューラ１０（図２）から送信される運転計画等の情報を受信処理する機能を有している。作業情報取得要求応答部２０２は、製造装置と搬送装置からの作業情報取得要求に応答する機能を有している。作業完了情報受信部２０３は、製造装置と搬送装置からの作業完了情報を受信処理する機能を有している。運転情報送信部２０４は、スケジューラ１０への運転情報を送信処理する機能を有している。
【００４９】
作業情報ＤＢは、スケジューラ１０から受信した運転計画に含まれる作業情報等を保存するデータベースである。作業完了情報ＤＢ２２は、製造装置と搬送装置の完了した作業に関する情報を保存するデータベースである。作業失敗情報ＤＢ２３は、製造装置と搬送装置の作業失敗に関する情報を保存するデータベースである。なお、各データベースはハードディスクなとの記憶装置で構成される。
【００５０】
＜動作＞
＜作業失敗が発生しない状況での動作＞
以下、各機能部の動作について説明する。まず、作業失敗が発生しない状況での各機能部の動作について説明する。
【００５１】
各機能部は、他の機能部または他の装置等の処理に伴うイベントに応じて処理を開始する。イベントとは、「処理が完了した」、「データベースが更新された」、「予め設定された待ち時間が更新された」といった動作を表し、システム管理の分野では一般的に良く知られた用語である。
【００５２】
図４は、運転計画受信部２０１での受信処理を説明するフローチャートである。運転計画受信部２０１は、スケジューラ１０（図２）から送信される運転計画を受信すると、作業情報ＤＢ２１（図３）と作業失敗情報ＤＢ２３（図３）の更新処理を行う。
【００５３】
図４に示されるように運転計画受信部２０１での受信処理が開始されると、まず運転計画受信処理が実行される（ステップＳ１）。
【００５４】
運転計画受信処理は、スケジューラ１０から送信された運転計画を受信する処理である。運転計画受信処理に続いて、作業失敗情報更新処理が実行される（ステップＳ２）。
【００５５】
作業失敗情報更新処理は、運転計画に含まれる、スケジューラ１０からの作業失敗情報への対応に関する情報を処理するものであり、処理の詳細については後述する。なお、作業失敗が発生していない状況では、作業失敗情報更新処理は実行されない。
【００５６】
その後、作業情報保存処理が実行される（ステップＳ３）。作業情報保存処理は、受信した運転計画に含まれる作業情報を作業情報ＤＢ２１に追加する。作業情報には、作業を行う装置ＩＤ、作業番号、作業対象の製品ＩＤ、ガード条件等が含まれる。
【００５７】
作業を行う装置ＩＤは、その作業の運転を指示する装置を識別するためのＩＤである。作業番号は、各作業情報にユニークに付与された番号であり、少なくとも各装置内においては、作業番号の昇順で作業が実行される。作業番号は、生産システム全体でユニークな番号を割り振っても良いし、作業を実施する各装置内でユニークな番号を割り振っても良い。
【００５８】
ガード条件は、他の装置の作業完了を待ってから作業を実行するために利用する情報であり、完了を待つ対象の作業情報を特定可能な装置ＩＤと作業番号等の情報が含まれている。
【００５９】
作業情報ＤＢ２１は各装置の未完了の作業情報を管理しており、各装置の作業情報は作業番号順に保存される。
【００６０】
作業情報保存処理による作業情報の追加が完了すると、運転計画受信部２０１の一連の処理が完了する。
【００６１】
図５は、作業情報取得要求応答部２０２での応答処理を説明するフローチャートである。作業情報取得要求応答部２０１は、各装置からの作業情報取得要求に応じて、各装置が開始すべき作業情報を各装置に送信する。作業情報取得要求を送信した装置が直ちに開始すべき作業がない場合には、作業情報は送信しない。各装置は、作業指示がなく、作業を実行中ではない場合には運転管理装置２０（図２）に作業情報取得要求を送信する。
【００６２】
図５に示されるように、作業情報取得要求応答部２０２は、作業情報取得要求の受信イベント等で応答処理を開始すると、まず、作業情報要求取得処理において、作業情報取得要求を送信した装置（要求装置）の装置ＩＤを識別する（ステップＳ１１）。
【００６３】
次に、作業情報取得処理において、装置ＩＤが識別された要求装置の作業情報の中で、作業番号が最も小さい作業情報を作業情報ＤＢ２１（図３）から取得する（ステップＳ１２）。
【００６４】
次に、ステップＳ１３において、要求装置の作業情報が作業情報ＤＢ２１に保存されているか否かを判定し、１つも保存されていない場合（Ｎｏの場合）には、ステップＳ２０の作業情報応答処理に移行する。一方、要求装置の作業情報が作業情報ＤＢ２１に保存されている場合（Ｙｅｓの場合）には、ステップＳ１４のガード条件判定処理に移行する。このとき、作業情報ＤＢ２１内の作業情報は、そのまま作業情報ＤＢ２１に保存しておく。
【００６５】
ステップＳ１４のガード条件判定処理では、作業情報取得処理（ステップＳ１２）で取得した作業情報のガード条件を確認し、ガード条件が成立しているか否か判定する。ガード条件の確認の結果、ガード条件が設定されていない、またはガード条件で指定されている作業が既に完了済みの場合（Ｙｅｓの場合）には、ガード条件が成立していると判定する（ステップＳ１５）。一方、ガード条件で指定されている作業が未だ完了していない場合（Ｎｏの場合）には、ガード条件が未成立と判定して、ステップＳ２０の作業情報応答処理に移行する。
【００６６】
ガード条件で指定されている作業が完了済みか否かは、作業完了情報ＤＢ２２（図３）に保管されている各装置の作業完了最終番号と、作業情報取得処理で取得した作業情報の作業番号を比較することで判定する。ガード条件が成立した場合には、ステップＳ１６の作業情報失敗情報収集処理に移行する。
【００６７】
作業失敗情報収集処理は、作業失敗情報ＤＢ２３（図３）に作業失敗情報が含まれていない場合には何もせず、ステップＳ１７の作業スキップ判定処理に移行する。
【００６８】
続く作業スキップ判定処理では、作業失敗情報収集処理で作業失敗情報を取得したか否かを確認し、作業失敗情報がない場合には実行判定を行い（ステップＳ１８）、作業情報応答処理（ステップＳ２０）に移行する。
【００６９】
作業スキップ判定処理で実行判定された場合には、作業情報応答処理では、ステップＳ１２の作業情報取得処理で取得した作業情報を要求装置に送信して一連の処理を完了する。
【００７０】
また、作業情報取得処理（ステップＳ１２）で作業情報を得られない場合、またはガード条件判定処理（ステップＳ１４）でガード条件未成立となった場合には、作業情報応答処理（ステップＳ２０）において作業情報なしとして要求装置に応答し、一連の処理を完了する。
【００７１】
図６は、作業完了情報受信部２０３での受信処理を説明するフローチャートである。作業完了情報受信部２０３は、各装置からの作業完了情報に応じて、作業情報ＤＢ２１（図３）と作業完了情報ＤＢ２２（図３）および作業失敗情報ＤＢ２３（図４）を更新する。
【００７２】
各装置は作業を完了すると、作業完了報告を運転管理装置２０に送信する。作業完了報告には、完了した作業を識別するための作業番号の情報と、完了状態を識別する情報等が含まれている。完了状態を識別する情報とは、正常完了か異常完了かを識別する以外に、異常完了の場合には、どういった異常かを識別する情報が含まれる。
【００７３】
図６に示されるように、作業完了情報受信部２０３は、作業完了情報の受信イベント等で処理を開始すると、まず、作業完了情報受信処理で作業完了情報を受信する処理が実行される（ステップＳ２１）。そして、ステップＳ２２において受信した作業完了情報が正常完了か異常完了かを判定し、正常完了の場合には、続いて、作業完了情報更新処理が実行される（ステップＳ２３）。
【００７４】
作業完了情報更新処理は、作業完了情報ＤＢ２２に保存されている作業を実行した装置の作業完了最終番号を、ステップＳ２１で受信した作業完了情報の作業番号で更新する。その後、ステップＳ２４の作業情報更新処理で作業情報ＤＢ２１を更新する。
【００７５】
作業情報更新処理では、作業完了情報で指定された作業情報を作業情報ＤＢ２１から削除し、作業完了情報受信部２０３の一連の処理が完了する。
【００７６】
これによって、作業情報取得要求応答部２０２の作業情報取得処理（Ｓ１２）で取得した作業が、次の作業に移ることになる。一方、ステップＳ２２で異常完了と判定される場合に実行される作業失敗情報追加機能については後述する。
【００７７】
図７は運転情報送信部２０４での送信処理を説明するフローチャートである。運転情報送信部２０４は、生産システム１００（図２）の運転情報をスケジューラ１０（図２）に送信する。
【００７８】
図７に示されるように、運転情報送信部２０４は、一定時間の経過か、作業完了情報ＤＢ２２（図３）または作業失敗情報ＤＢ２３（図３）の更新といったイベントで処理を開始し、作業完了情報収集処理が実行される（ステップＳ３１）。作業完了情報収集処理は、スケジューラに送信する情報を作業完了情報ＤＢ２２、作業失敗情報ＤＢ２３、またはその両方から収集して運転情報として纏め、ステップＳ３２の運転情報送信処理に移行する。収集する情報としては、各装置の作業完了最終番号と作業失敗情報等である。
【００７９】
運転情報送信処理では、作業完了情報収集処理で収集された運転情報をスケジューラ１０（図２）に送信する。運転情報送信処理でスケジューラ１０に運転情報を送信すると運転情報送信部２０４は一連の処理を完了する。
【００８０】
作業が正常に完了している場合においては、上記で説明した処理のように、運転管理装置２０は、運転計画に基づいて各装置へ運転指示を送信すると共に、スケジューラ１０に生産システム１００で完了した作業を運転情報として送信する。
【００８１】
＜作業失敗が発生した場合の動作＞
次に、作業失敗が発生した場合の各機能部の動作について説明する。本実施の形態で説明する作業失敗は、製品起因の失敗を対象として説明する。製品起因の作業失敗は、部品の製造誤差等で発生する作業失敗であり、作業を失敗した製品およびその製品への作業指示を排除すれば生産を継続できる作業失敗であり、一般にチョコ停と呼ばれる失敗である。
【００８２】
製品起因の作業失敗が発生した場合には、該当製品への作業指示を一時的に排除し、自動的に生産を継続することが望まれる。生産システム全体では、製品起因の作業失敗は様々な場所で発生すると共に、同一の装置または、生産再開した製品に連続して発生することもあるので、作業指示の排除と再開には特別な工夫が必要となる。
【００８３】
まず、作業失敗が発生すると、失敗が発生した装置から異常完了の作業完了情報が運転管理装置２０に送信される。そして、運転管理装置２０の作業完了情報受信部２０３の作業完了情報受信処理（ステップＳ２１）において異常完了を受信する。
【００８４】
その後、作業失敗情報追加処理（ステップＳ２５）において、作業完了情報に基づいて、作業失敗情報ＤＢ２３（図３）に作業失敗情報を更新するか追加する。作業失敗情報には、作業失敗情報ＩＤ、どの製品に対する作業失敗であるかを識別する作業失敗製品ＩＤ、生産システム１００に含まれる装置ＩＤごとの作業スキップ最終番号が含まれる。
【００８５】
作業失敗情報追加処理では、作業失敗情報ＩＤは新規の番号を割り当て、作業失敗情報の作業失敗製品ＩＤを作業完了情報に含まれる作業失敗した製品ＩＤで設定し、作業スキップ最終番号は、作業スキップの判定を実施する最終の作業番号として規定され、例えば、ＮＵＬＬ等の、作業情報の作業番号としては利用されない値で設定し、未指定とする。
【００８６】
そして、設定した作業失敗情報の作業失敗製品ＩＤと同じ作業失敗製品ＩＤを持つ作業失敗情報が、作業失敗情報ＤＢ２３に保存されているかを確認する。保存されている場合には、保存されている同じ作業失敗製品ＩＤを持つ作業失敗情報の、作業失敗情報ＩＤと作業スキップ最終番号を新たに設定した値で更新する。保存されていない場合には、新たに設定した作業失敗情報を追加する。
【００８７】
上述した、作業失敗情報追加処理のフローを図８のフローチャートに示す。作業完了情報受信部２０３の作業完了情報受信処理において異常完了を受信した場合は作業失敗情報追加処理を開始し、まず、作業失敗情報ＩＤに新規の番号を割り当てるなどして、作業失敗情報を新規に作成する（ステップＳ１６１）。
【００８８】
次に、新規作成した作業失敗情報の作業失敗製品ＩＤと同じ作業失敗製品ＩＤを持つ作業失敗情報が作業失敗情報ＤＢ２３に保存されているかを確認する（ステップＳ１６２）。
【００８９】
作業失敗情報ＤＢ２３に保存されている場合（Ｙｅｓの場合）には、保存されている同じ作業失敗製品ＩＤを持つ作業失敗情報の作業失敗情報ＩＤと作業スキップ最終番号を更新し（ステップＳ１６３）、一連の処理を終了する。
【００９０】
一方、作業失敗情報ＤＢ２３に保存されていない場合（Ｎｏの場合）には、作業失敗情報を新規に追加し（ステップＳ１６４）、一連の処理を終了する。
【００９１】
作業失敗情報を追加した後は、スケジューラ１０から作業失敗に対応した運転計画が送信されるまでは、以下に説明する処理によって、全ての装置における、作業失敗製品ＩＤへの作業をスキップする。
【００９２】
作業失敗情報ＤＢ２３に作業失敗情報が保存されている状態で、作業情報取得要求応答部２０２の作業失敗情報収集処理（ステップＳ１６）が実行されると、作業失敗情報収集処理は、まず、作業情報取得処理（ステップＳ１２）により作業情報ＤＢ２１から取得した作業情報（以下、該当作業情報と呼称）に、作業対象となる製品を指定する製品ＩＤが含まれるかを判定する。
【００９３】
例えば、製品に対する作業であれば、該当作業情報には作業対象の製品ＩＤの情報が含まれる。しかし、製品種別変更に伴う段取り替え作業等の、製品を対象としない作業であれば、作業対象の製品ＩＤの情報は該当作業情報に含まれない。作業失敗情報収集処理は、該当作業情報に製品ＩＤが含まれている場合には、該当作業情報の製品ＩＤと作業失敗製品ＩＤが一致する作業失敗情報を作業失敗情報ＤＢ２３から収集する。
【００９４】
続いて、作業スキップ判定処理（ステップＳ１７）において、作業失敗情報収集処理で収集した作業失敗情報の装置ＩＤごとの作業スキップ最終番号に基づいて、該当作業情報をスキップするか否かを判定する。
【００９５】
判定にあたっては、まず、作業失敗情報に含まれる、該当作業情報に含まれる装置ＩＤと一致する装置ＩＤの作業スキップ最終番号を取得する。取得した作業スキップ最終番号が、例えばＮＵＬＬ等の、作業情報の作業番号としては利用されない値となって未指定である場合、または、該当作業情報の作業番号が作業スキップ最終番号以下の場合には、該当作業情報をスキップすると判定する。
【００９６】
逆に、該当作業情報の作業番号が作業スキップ最終番号より大きい場合には、該当作業情報を実行すると判定（実行判定）とする。
【００９７】
上述した、作業スキップ判定処理のフローを図９のフローチャートに示す。作業失敗情報収集処理（ステップＳ１６）において、該当作業情報の製品ＩＤと作業失敗製品ＩＤが一致する作業失敗情報を作業失敗情報ＤＢ２３から収集することで作業スキップ判定処理を開始すると、作業失敗情報に含まれる、該当作業情報に含まれる装置ＩＤと一致する装置ＩＤの作業スキップ最終番号を取得する（ステップＳ１７１）。
【００９８】
次に、該当作業情報の作業番号が、ステップＳ１７１で取得した作業スキップ最終番号より大きいか否かを判定する（ステップＳ１７２）。
【００９９】
そして、該当作業情報の作業番号が作業スキップ最終番号より大きい場合（Ｙｅｓの場合）には、該当作業情報を実行判定する（ステップＳ１７３）。一方、該当作業情報の作業番号が作業スキップ最終番号以下の場合（Ｎｏの場合）には、該当作業情報をスキップすると判定する（ステップＳ１７４）。実行判定またはスキップ判定により、一連の処理を終了する。
【０１００】
作業スキップ判定処理においてスキップ判定をすると、作業スキップ処理（ステップＳ１９）が実行される。作業スキップ処理は、作業情報ＤＢ２１から該当作業情報を削除し、作業完了情報ＤＢ２２における該当作業情報の装置ＩＤの作業完了最終番号を、該当作業情報の作業番号で更新する。
【０１０１】
上述した、作業スキップ処理のフローを図１０のフローチャートに示す。作業スキップ判定処理においてスキップ判定がされることで作業スキップ処理を開始すると、作業情報ＤＢ２１から該当作業情報を削除する（ステップＳ１９１）。
【０１０２】
次に、作業完了情報ＤＢ２２における該当作業情報の装置ＩＤの作業完了最終番号を、該当作業情報の作業番号で更新し（ステップＳ１９２）、一連の処理を終了する。
【０１０３】
その後、作業情報取得要求応答部２０１では、作業情報取得処理（ステップＳ１２）に移行する。これら一連の処理により、作業失敗が発生した製品への作業は、作業情報の作業番号が作業スキップ最終番号より大きくなるまでスキップされる。また、スキップした作業番号で各装置の作業完了最終番号は更新される。
【０１０４】
続いて、スケジューラ１０から作業失敗に対応した運転計画Ｄ１０が送信され、作業失敗が発生した製品への作業が再開されるまでの処理について説明する。
【０１０５】
運転情報送信部２０４（図３）は、作業失敗情報ＤＢ２３に含まれる、スケジューラ１０に送信していない作業失敗情報ＩＤの作業失敗情報を運転情報に含めてスケジューラ１０に送信する。
【０１０６】
スケジューラ１０は、作業失敗情報を含んだ運転情報を受信すると、作業失敗に対応した運転計画を再立案する。このとき、各製品の作業順序が決まっている運用であれば、スケジューラ１０は作業失敗情報から、既に送信した運転計画の中でどの作業がスキップされるかを判断できる。そのため、送信済みの運転計画Ｄ１０に続く運転計画Ｄ１０を立案することができる。スケジューラが作業失敗に対応した運転計画Ｄ１０の再立案を完了すると、対応が完了した作業失敗情報ＩＤの情報である対応済み作業失敗情報ＩＤリストを運転計画に付与して運転管理装置２０に送信する。運転管理装置２０の運転計画受信部２０１（図３）は、作業失敗情報更新処理で対応済み作業失敗情報ＩＤリストを処理する。
【０１０７】
作業失敗情報更新処理は、対応済み作業失敗情報ＩＤリストに含まれる作業失敗情報ＩＤに対応する作業失敗情報に対し、各装置の作業スキップ最終番号を、現在の作業情報ＤＢ２１に含まれる各装置の作業番号の最大値で更新する。その後、作業情報取得要求応答部２０２（図３）の作業スキップ判定処理により、作業情報の作業番号が作業スキップ最終番号より大きくなると、作業失敗情報ＩＤへの各装置の作業スキップが完了し、製品への作業が再開されることになる。
【０１０８】
ここで、作業スキップ判定処理は、全装置において作業情報の作業番号が作業スキップ最終番号より大きくなったかを判定し、大きい場合には、作業失敗情報ＤＢ２３から該当する作業失敗情報を削除しても良い。
【０１０９】
以上説明したように、本実施の形態１の運転管理装置２０によれば、作業失敗情報に作業失敗製品ＩＤと各装置の作業スキップ最終番号を備え、作業失敗に対応した運転計画が立案されると作業スキップ最終番号を更新し、作業失敗製品ＩＤと作業対象の製品ＩＤが一致する作業情報の内、更新された作業スキップ最終番号までの作業番号を持つ作業はスキップすると共に、作業スキップ最終番号より後の作業番号を持つ作業情報は運転指示を装置に送信することができる。これによって、運転計画を立案するスケジューラと運転計画に基づいて装置に運転指示を送信する運転管理装置２０が、非同期な生産システムであっても、作業失敗が発生した際に、作業失敗に関連した作業をスキップして生産システムの稼働率を上げると共に、作業失敗に対応した運転計画にも連続して移行することができる効果を奏する。
【０１１０】
本実施の形態では、ＡＧＶを利用したジョブショップ生産システムで説明を行ったが、搬送装置や装置の形態に関して、これに限定されるものではない。搬送装置としてコンベア等の他機械を利用しても良い。また、製造装置も複数の機能を備えるジョブショップではなく、単一機能だけを備える機械および、その他の形態の機械でも良い。
【０１１１】
＜実施の形態２＞
運転計画に余剰部品の情報を含めておき、余剰部品がある場合には、部品起因の作業失敗が発生した場合に同じ運転指示を作業失敗が発生した装置に送信しても良い。
【０１１２】
組立作業などで供給部品に起因する作業が失敗したとしても、余剰部品がある場合には、余剰部品を使用して運転計画を継続することができる。生産システム全体の運転計画の再立案には多大な計算リソースが必要であり、再立案の要求頻度が高いと、全ての要求に対応した運転計画の再立案が完了しない等の問題が生じる場合もある。そのため、余剰部品を使用して作業を再実行し、運転計画を継続できる可能性が高い場合には、運転管理装置は、運転計画の再立案は要求せずに、余剰部品の範囲内で、作業を再実行することが望ましい。本実施の形態２においては、このような運転管理が可能な運転管理装置について説明する。
【０１１３】
＜装置構成＞
図１１は、本発明に係る実施の形態２の運転管理装置２０Ａの構成を示す機能ブロック図である。
【０１１４】
図１１に示すように運転管理装置２０Ａは、運転計画受信部２０１、作業情報取得要求応答部２０２、作業完了情報受信部２０３Ａおよび運転情報送信部２０４を機能部として備え、データベース（ＤＢ）として、作業情報ＤＢ２１、作業完了情報ＤＢ２２、作業失敗情報ＤＢ２３および余剰品情報ＤＢ２４を備えている。なお、図１１においては、図３を用いて説明した運転管理装置２０と同一の構成については同一の符号を付し、重複する説明は省略する。
【０１１５】
図１２は、作業完了情報受信部２０３Ａでの受信処理を説明するフローチャートである。作業完了情報受信部２０３Ａでの受信処理においては、作業失敗情報追加処理（ステップＳ２５）に先立って、機能再実行判定処理（ステップＳ２６）を行う。
【０１１６】
スケジューラ１０（図２）は、運転計画Ｄ１０（図２）に作業で使用する部品の余剰品情報を含めて運転管理装置２０Ａに送信する。例えば、部品の段取り替え作業等の作業情報に、段取り替えで供給する部品の余剰品数の情報を付加して送信する。
【０１１７】
運転管理装置２０Ａの運転計画受信部２０１における作業情報保存処理（図４）は、作業情報を作業情報ＤＢ２１に保存する際に、作業情報に余剰品数の情報がある場合には、その情報を余剰品情報ＤＢ２４に保存する。装置の作業で部品起因の作業失敗が発生すると、作業完了情報受信部２０３Ａで異常完了の作業完了情報を受信し、再実行判定処理（ステップＳ２６）が実行される。
【０１１８】
再実行判定処理では、余剰品情報ＤＢ２４に保存されている、異常完了した作業で使用した部品の余剰品数を確認する。そして、余剰品があると判定される場合には再実行と判定し（ステップＳ２７）、余剰品情報ＤＢ２４に保存されている余剰品の数を減らして、作業完了情報受信部２０３Ａの処理を完了する。このとき、正常完了の場合と異なり、作業情報更新処理（ステップＳ２４）による作業情報ＤＢ２１に含まれる作業情報の削除は実行されない。そのため、作業情報取得要求応答部２０２（図１１）は、作業失敗をした装置からの作業情報要求を取得すると、失敗した作業情報と同じ作業情報を応答することになる。
【０１１９】
一方、再実行判定書処理が余剰品情報ＤＢ２４を確認した際に、余剰品なしと判定された場合には異常完了と判定し（ステップＳ２７）、実施の形態１と同様に作業失敗情報追加処理が実行され、同じ製品に対する作業のスキップとスケジューラへの運転計画の再立案が要求される。
【０１２０】
余剰品の情報を部品に関連付けて余剰品情報ＤＢ２４に保存する以外に、各作業情報に再実行可能回数を指定する方法もある。この場合、余剰品情報ＤＢ２４は必要とせず、作業完了情報受信部２０３Ａの再実行判定処理は、作業情報に含まれる再実行可能回数を参照し、再実行可能回数が、その作業を再実行した回数より大きい場合には再実行と判定することとなる。
【０１２１】
以上説明したように、本実施の形態２の運転管理装置２０Ａによれば、装置の作業が異常完了した際に、再実行判定処理で再実行可能かを判定して、再実行可能な場合には同じ作業を実行させることで、スケジューラ１０への運転計画の再立案の要求回数を抑えることができ、生産システム１００の稼働率を上げる効果がある。
【０１２２】
＜実施の形態３＞
装置起因の失敗が発生した際には、作業失敗した装置に搬送される製品への作業をスキップするようにしても良い。装置起因の作業失敗は、装置の故障等で発生する作業失敗であり、装置を再調整するまで生産を継続できない作業失敗である。装置起因の作業失敗が発生した場合には、作業失敗した装置（以下該当装置と呼称）への作業指示、および、該当装置での作業実施が運転計画に含まれる製品への作業を除いて生産を継続することが望まれる。装置起因の失敗の場合には、生産システム内で自動復旧はしないため、故障した装置の再起動については考慮しない。本実施の形態３においては、このような運転管理が可能な運転管理装置について説明する。
【０１２３】
＜装置構成＞
図１３は、本発明に係る実施の形態３の運転管理装置２０Ｂの作業情報取得要求応答部２０２Ｂでの応答処理を説明するフローチャートである。なお、運転管理装置２０Ｂの機能ブロック図は、図３を用いて説明した実施の形態１の運転管理装置２０の機能ブロック図において、作業情報取得要求応答部２０２を作業情報取得要求応答部２０２Ｂに変更し、作業完了情報受信部２０３を作業完了情報受信部２０３Ｂに変更した構成を採り、図３を用いて説明した運転管理装置２０と同一の構成については同一の符号を付し、重複する説明は省略する。
【０１２４】
また、図１３に示すフローチャートは、図５を用いて説明した実施の形態１の作業情報取得要求応答部２０２フローチャートにおいて、ガード判定処理（ステップＳ１４）の前に、作業失敗装置搬送作業確認処理（ステップＳ１３１）が追加されている。
【０１２５】
図１４は、作業完了情報受信部２０３Ｂでの受信処理を説明するフローチャートである。図１４に示すように、作業完了情報受信部２０３Ｂの作業完了情報受信処理（ステップＳ２１）で受信した作業完了情報が、ステップＳ２２で異常完了と判定された場合には、ステップＳ２８に進んで、異常完了が製品起因であるか装置起因であるかの判定を行う。
【０１２６】
そして、製品起因の異常完了である場合はステップＳ２５に移行し、作業失敗情報追加処理が実行される。一方、装置起因の異常完了である場合はステップＳ２９に移行し、装置起因作業失敗情報追加処理が実行される。
【０１２７】
装置起因作業失敗情報追加処理は、装置起因の作業失敗情報を作業失敗情報ＤＢ２３（図３）に更新か追加を実行する。装置起因の作業失敗情報には、作業失敗情報ＩＤ、どの装置での作業失敗であるかを識別する故障装置ＩＤと、故障装置での作業に関連する故障装置作業予定製品ＩＤが含まれる。装置起因作業失敗情報追加処理では、作業失敗情報ＩＤには新規の番号を割り当て、故障装置ＩＤは作業完了情報に含まれる作業失敗した装置ＩＤに設定し、故障装置作業予定製品ＩＤは空に設定する。そして、作業失敗情報ＤＢ２３に設定した装置起因の作業失敗情報を追加する。
【０１２８】
図１３に示すように、作業情報取得要求応答部２０２Ｂにおける作業失敗装置搬送作業確認処理（ステップＳ１３１）は、まず、作業情報取得処理（ステップＳ１２）で取得した作業情報（以下、該当作業情報と呼称）が、装置起因の作業失敗が発生した装置への搬送作業であるかを確認する。該当作業が装置起因の作業失敗が発生した装置（以下、該当装置と呼称）への搬送作業である場合には、該当装置のＩＤが設定された装置起因の作業失敗情報の故障装置作業予定製品ＩＤに、該当作業の搬送作業で搬送される製品の製品ＩＤを追加する。
【０１２９】
次に、ステップＳ１４のガード条件判定処理においてガード条件を収集し、ステップＳ１５においてガード条件が成立していると判定された場合は、ステップＳ１６の作業失敗情報収集処理に移行する。
【０１３０】
作業失敗情報収集処理では、作業失敗情報ＤＢ２３から製品起因の作業失敗情報に含まれる作業失敗製品ＩＤに加えて、装置起因の作業失敗情報に含まれる故障装置作業予定製品ＩＤも確認して、作業情報に含まれる製品ＩＤと関連した作業失敗情報を収集する。
【０１３１】
作業失敗情報収集処理が装置起因の作業失敗を収集した場合には、作業スキップ判定処理（ステップＳ１７）は、作業情報をスキップ判定とする。
【０１３２】
以上説明したように、本実施の形態３の運転管理装置２０Ｂによれば、装置故障等の装置起因の作業失敗が発生した際に、作業失敗した装置を経由する製品への作業情報を削除することで、他製品の作業を妨げることがなくなり、生産システム１００全体の稼働率を向上する効果がある。
【０１３３】
＜実施の形態４＞
装置起因の作業失敗が発生した際には、作業失敗が発生した装置へ搬送する作業情報の搬送先を変更するようにしても良い。各装置が受入可能な搬送作業の上限が決まっている場合には、装置起因で作業失敗した装置への搬送作業が実行できず、他の装置で搬送装置が止まってしまう可能性がある。そのため、作業失敗が発生した装置への搬送作業の場合には、搬送先を搬送装置の待機場所等への移動に変更して実行する。
【０１３４】
図１５は、本発明に係る実施の形態４の運転管理装置２０Ｃの作業情報取得要求応答部２０２Ｃでの応答処理を説明するフローチャートである。なお、運転管理装置２０Ｃの機能ブロック図は、図３を用いて説明した実施の形態１の運転管理装置２０の機能ブロック図において、作業情報取得要求応答部２０２を作業情報取得要求応答部２０２Ｃに変更した構成を採り、図３を用いて説明した運転管理装置２０と同一の構成については同一の符号を付し、重複する説明は省略する。
【０１３５】
また、図１５に示すフローチャートは、図１３を用いて説明した実施の形態３の作業情報取得要求応答部２０２Ｂのフローチャートにおいて、作業スキップ判定処理（ステップＳ１７）の前に、搬送作業変更判定処理（ステップＳ１６１）が追加されている。
【０１３６】
搬送作業変更判定処理は、作業情報取得処理（ステップＳ１２）で取得した作業情報が搬送作業であり、その搬送先が装置起因の作業失敗情報での故障装置ＩＤに登録されている場合には、作業情報の搬送先を変更する処理である。作業情報が変更される作業情報では、作業スキップ判定処理（ステップＳ１７）では実行判定されステップＳ２０に移行するので、作業情報取得要求応答部２０２Ｃは、作業情報応答処理（ステップＳ２０）において搬送先が変更された作業命令を装置に送信する。
【０１３７】
搬送先の変更は、例えば搬送装置の待機場所である。スケジューラ１０（図２）は、運転管理装置２０Ｃの運転情報送信部２０４から送信される作業失敗情報を含む運転情報から搬送装置の搬送先が変更されることは認識できるので、搬送装置の搬送先が変更された状態に基づいて運転計画を再立案する。
【０１３８】
以上説明したように、本実施の形態４の運転管理装置２０Ｃによれば、故障等で作業失敗した装置への搬送作業の搬送先を変更することで、該当装置への移動が計画されていた搬送装置が、他の装置で止まってしまうことを防ぎ、生産システム全体の稼働率を向上する効果がある。
【０１３９】
＜実施の形態５＞
互いに独立した部品を組み付けるように、製品の作業順序に自由度があり、運転計画では作業順序を一意に決めていない場合には、運転管理装置２０は製品起因の作業が失敗した時点の作業状態をスケジューラ１０に送信しても良い。製品の作業順序を一意に決めていない場合、作業失敗情報だけでは、その製品の作業進捗状態をスケジューラ１０は把握することができない。作業失敗情報をスケジューラ１０が受信した時点で、その作業失敗に関連して、運転計画がどのように処理されるかをスケジューラ１０が判断できるように、運転管理装置２０が作業失敗を受信した時点での生産システム１００全体での進捗状態もスケジューラ１０に送信するようにしても良い。
【０１４０】
図１６は、本発明に係る実施の形態５の運転管理装置２０Ｄの作業完了情報受信部２０３Ｃでの受信処理を説明するフローチャートである。作業完了情報受信部２０３Ｃでの受信処理においては、作業失敗情報追加処理（ステップＳ２５）の後に、作業状態記録処理（ステップＳ３０）を行う。
【０１４１】
なお、運転管理装置２０Ｄの機能ブロック図は、図３を用いて説明した実施の形態１の運転管理装置２０の機能ブロック図において、作業完了情報受信部２０３を作業完了情報受信部２０３Ｃに変更した構成を採り、図３を用いて説明した運転管理装置２０と同一の構成については同一の符号を付し、重複する説明は省略する。
【０１４２】
作業状態記録処理は、作業状態記録処理を実行する時点で、運転管理装置２０Ｄの運転情報送信部２０４が各装置に送信を完了している最後の作業情報に含まれる作業番号を取得する処理である。
【０１４３】
そして、直前に作業失敗情報追加処理で作業失敗情報ＤＢ２３に追加した作業失敗情報に、新たに取得した各装置の作業失敗情報を追加する。スケジューラ１０は、運転管理装置２０Ｄの運転情報送信部２０４（図３）から送信される、作業失敗情報を含む運転情報から既に送信済みの運転計画がどのように実行されるかを判断し、運転計画を再立案する。このとき、スケジューラ１０は、装置に送信済みの作業情報は実行され、装置に未送信の作業情報で作業失敗に関連する作業はスキップされるものとして判断する。
【０１４４】
以上説明したように、本実施の形態５の運転管理装置２０Ｄによれば、作業失敗が発生した時点での各装置の作業情報が作業失敗情報としてスケジューラ１０に送信される。そのため、製品の作業順序を一意に決めておらず、作業順序に自由度がある状態でも、既に送信済みの運転計画に対する生産システム１００の処理内容をスケジューラ１０が判断できる。これによって、作業失敗情報を受信した時点でスケジューラ１０が運転計画を再立案できるため、生産システムの稼働率を上げる効果がある。
【０１４５】
＜謝辞＞
本研究は、総合科学技術・イノベーション会議が主導する革新的研究開発推進プログラム（ＩｍＰＡＣＴ）の一環として実施したものです。「This work was funded by ImPACT Program of Council for Science, Technology and Innovation (Cabinet Office, Government of Japan).」。
【０１４６】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【０１４７】
１０  スケジューラ、２１  作業情報ＤＢ、２３  作業失敗情報ＤＢ、２００  機能部。
【図１】
2020113164.tif 000003
【図２】
2020113164.tif 000004
【図３】
2020113164.tif 000005
【図４】
2020113164.tif 000006
【図５】
2020113164.tif 000007
【図６】
2020113164.tif 000008
【図７】
2020113164.tif 000009
【図８】
2020113164.tif 000010
【図９】
2020113164.tif 000011
【図１０】
2020113164.tif 000012
【図１１】
2020113164.tif 000013
【図１２】
2020113164.tif 000014
【図１３】
2020113164.tif 000015
【図１４】
2020113164.tif 000016
【図１５】
2020113164.tif 000017
【図１６】
2020113164.tif 000018