<実施の形態1>
従来のものづくりは、少品種大量生産が主流であり、メーカが工場を作って、製品(製造物)を製造し、消費者に供給してきた。一方で昨今は、消費者の多種多様なニーズが増え、その要求に応えるために、多品種少量生産の要求が増えている。その中で、新規デザイン設計を含むオーダメイドから、一定の範囲内での要求を受け付けるイージーオーダまたは一部を改造するカスタム受注など、消費者の多種多様なニーズに応えて、製品を供給するクリエーターが増えてきている。
しかし、消費者の多種多様なニーズを実現するために、製品そのものの機能を実現する部品に対して部品を追加または変更するなどの知識、および専用の製造装置を使用して実現する場合は製造装置に関する知識が必要あり、学習コストが高くなる。また、製造装置は用途によって多岐に渡る。そのため、多種多様なニーズに応えるために多くの製造装置を揃え、操作方法を習得する必要があり、あえて手作業で作業を実施することも多い。その場合、人件費が高くなる。以上のことから、製造装置を使用する場合も手作業の場合も製品のコストは高くなる。
本実施の形態では、オーダメイド、イージーオーダまたはカスタム受注に対して、クリエーターが消費者の多種多様なニーズに応えた製品を低コストで提供可能な、小規模生産を可能とする遠隔操作システムを提供する。
クリエーターは、製品または工程に対して、目的および要望を達成するための製造装置に実行させたい動作、例えば、搬送、組付け、加工などを、制御対象となる製造装置特有の命令ではなく、コード化された作業計画を本実施の形態1の遠隔操作システムに入力することで、製造装置を遠隔操作することができる。
<装置構成>
図1は、実施の形態1の遠隔操作システム100の構成を示すブロック図である。図1に示すように遠隔操作システム100は、作業計画D1およびデジタル補助情報D2が入力される操作装置1と、操作装置1から指示された作業内容を、製造装置3で実行可能な命令に変換して製造装置3に入力する製造装置管理装置2と、製造装置管理装置2によって管理される複数の製造装置3と、を備えている。また、操作装置1は、製造装置3での作業の実行状態を、製造装置管理装置2を介して受信し、作業進捗として表示する機能も有している。
操作装置1に入力される作業計画D1は、製品または工程(種類)の名称と、製品または工程に対して製造装置に実行させたい作業をコード化した作業コードである作業識別子(作業ID)を実行させたい順に配列したデータである。また、デジタル補助情報D2は、CAD(computer-aided design)、3D(3次元)CAD、BOM(Bills of materials)などのデジタルデータであり、作業計画D1のデータ内に一意な番号が割り当てられている。
図1に示されるように操作装置1は、作業計画読み込み部11、作業コンテナ割り当て管理部12、操作装置送信部13、操作装置受信部14および作業進捗表示部15を有している。
作業計画読み込み部11は、作業計画D1およびデジタル補助情報D2を読み込み、作業情報を作業コンテナ割り当て情報111に格納する。作業コンテナ割り当て管理部12は、作業コンテナ割り当て情報111に基づいて、作業計画D1に含まれる「製品」または「工程」を意味する作業コンテナごとに割り当てられた作業や実行中の作業の進捗を管理する。操作装置送信部13は、作業コンテナ割り当て管理部12から出力される作業情報を製造装置管理装置2に送信する。操作装置受信部14は、製造装置管理装置2から作業進捗を受信し、作業コンテナ割り当て管理部12に入力する。作業進捗表示部15は、作業コンテナ割り当て管理部12を介して入力された作業進捗を表示する。
作業コンテナ割り当て情報111は、HDD(Hard Disk Drive)などの記憶装置に格納されている。また、作業計画読み込み部11および作業コンテナ割り当て管理部12は、コンピュータを用いて構成することができ、コンピュータがプログラムを実行することで実現される。すなわち、作業計画読み込み部11および作業コンテナ割り当て管理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)などのプロセッサがプログラムを実行することで実現される。
製造装置管理装置2は、操作装置宛受信部21、作業管理部22、製造装置割り当て部23、指示・命令変換部24、末端機器宛送信部25、末端機器宛受信部26、状態・指示変換部27および操作装置宛送信部28を有している。
操作装置宛受信部21は、操作装置1の操作装置送信部13から送信された作業情報を受信し、作業管理部22に入力する。
作業管理部22は、入力された作業情報と、作業:指示対応データベース(DB)231に基づいて、作業情報の作業IDに対応する指示識別子(指示ID)を取得し、作業識別識別子(作業識別ID)とセットにした指示情報を出力する。
製造装置割り当て部23は、指示情報が入力され、製造装置稼働情報251の実行可能指示識別子(実行可能指示ID)リストに基づいて、指示が実行可能な製造装置を選択し、その製造装置識別子(製造装置ID)を出力する。
指示・命令変換部24は、製造装置割り当て部23が出力した製造装置IDと、指示情報が入力され、指示:命令対応DB241に基づいて、製造装置IDと指示情報の指示IDに対応する命令を出力する。
末端機器宛送信部25は、指示・命令変換部24から製造装置IDおよび命令が入力され、製造装置IDに対応する製造装置3に命令を送信する。
末端機器宛受信部26は、製造装置3から送信された製造装置IDと状態データを受信し、状態・指示変換部27に入力する。
状態・指示変換部27は、入力された製造装置IDおよび状態データと、状態:指示対応DB261に基づいて、状態データに対応する指示進捗を取得し、製造装置稼働情報251から実行中指示情報を取得し、指示進捗と実行中指示情報を作業管理部22に入力する。
作業管理部22は、入力された指示情報の作業識別IDの作業IDを取得し、作業識別IDと作業IDをセットにした実行中作業情報と作業進捗を出力する。
操作装置宛送信部28は、作業管理部22から出力された作業進捗および実行中作業情報を受け、操作装置1に送信する。
後に説明する指示管理情報211および作業管理情報221、指示対応DB231、指示:命令対応DB241および製造装置稼働情報251は、HDDなどの記憶装置に格納されている。また、作業管理部22、製造装置割り当て部23、指示・命令変換部24および状態・指示変換部27は、コンピュータを用いて構成することができ、コンピュータがプログラムを実行することで実現される。すなわち、作業管理部22、製造装置割り当て部23、指示・命令変換部24および状態・指示変換部27は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)などのプロセッサがプログラムを実行することで実現される。
製造装置3は、製造装置受信部31、実行部32、状態取得部33および製造装置送信部34を有している。
製造装置受信部31は、製造装置管理装置2から送信された命令を受信し、実行部32に入力する。実行部32は、入力された命令を解釈し、実行する。
状態取得部33は、製造装置3の、実行中の命令、実行中の命令に対する実行状態、当該当製造装置3が管理している周辺のセンサの情報など、製造装置3の動作状態を表す状態データを取得し出力する。
製造装置送信部34は、製造装置IDと状態取得部33から入力された状態データを製造装置管理装置2に送信する。
<動作>
遠隔操作システム100の動作について、図1を参照しつつ、図2~図6に示すフローチャートを用いて説明する。なお、以下では製品である製造物a、b、c、d、eを製造するケースを例に採って説明する。また、各製造物は、製造工程1および3を経て製造完了とする。製造工程1は、作業1、作業2、作業3を実行する。製造工程3は、作業1、作業2を実行する。製造工程1および3は、製造物a~e全てで同じ作業が行われるものとする。
また、図7は、本実施の形態1で使用する作業内容に対する作業IDの対応表であり、入力(作業内容)に対して一意に規定された作業IDを示している。例えば、製造工程1作業1は作業ID「S0000」で規定される。ここで、製造工程1作業1は便宜的にこのように記載されているだけであり、実際には製造装置3の「切削台への加工物の搬送」などのように表現されている。
図8は、製造装置管理装置2内の製造装置稼働情報251のデータ内容を示すテーブルである。製造装置稼働情報251は、製造装置管理装置2が管理している製造装置3に割り振られた製造装置IDと、上記製造装置3が実行可能な指示の内容を規定する指示IDと、実行中指示情報と、実行待ち指示情報リストが格納されている。実行中指示情報は、製造装置3に割り当てた指示のうち、現在製造装置3が実行中の指示の情報である。実行待ち指示情報リストは、製造装置3に割り当てた指示のうち、実行待ちの指示の情報である。指示情報は、作業識別IDと指示IDをセットにした情報であり、作業識別IDは、作業計画に記載した作業に対して一意に割り振られたIDである。指示IDは、指示の内容に対して一意に割り振られたIDである。指示IDは、機械が解釈および実行可能なレベルの指示をコード化した指示コードとなっている。
図9は、製造装置管理装置2内の指示:命令対応DB241のデータ内容を示すテーブルであり、指示IDと、それに対応した命令が格納されている。例えば、「部品Aがある場所に寄る」に相当する指示IDに対応する命令は「MOVE TO A」となる。同じ指示IDでも製造装置3によって命令は異なるため、指示:命令対応241は、製造装置ごとに準備する。命令は、上記「MOVE」などのように、製造装置3が解釈および実行可能なプログラムでもよいし、パラメータの値またはプログラム中の関数の呼び出しなどを含んでいてもよい。
図10は、製造装置管理装置2内の状態:指示対応DB261のデータ内容を示すテーブルであり、実行中の命令と、実行中の命令に対する実行状態が通常か、異常かなどの実行情報と、周辺に取り付けられたセンサからのセンサ情報(センサ1情報、センサ2情報)が得られているか「1」、得られていないか「0」と、それに対応した指示進捗またはエラー(N)といった状態が格納されている。状態:指示対応DB261は、製造装置3ごとに準備する。
図11は、作業計画を示すテーブルであり、製品または工程の種類(以下、「種類」と総称)に対する作業IDを示している。また、便宜的に、作業計画に対応する作業コンテナ識別子(作業コンテナID)および作業識別IDも併せて示している。例えば、製造物aを例に採れば、作業IDとして「S0000」、「S0001」、「S0002」、「S0020」および「S0021」が設定されており、この5作業で製造物aを製造できる。なお、製造物aに対する作業コンテナは「C0000」となる。
これらのコード化された作業は、例えば、作業台に搬送、固定、切削、作業台から移動などの作業を、作業者が、図7示したような対応表から読み取って作業計画D1として入力することができる。
なお、図示はされていないが、例えば、作業IDがS1000以上の場合、3桁目が0であれば切削加工、1であれば積層加工、1、2桁目はデジタル補助情報D2のデジタルデータの番号を表すことができる。この場合、製造物aの作業IDがS1000であれば、製造物aは、デジタルデータ00を使って切削加工されることとなる。製造物aの作業IDがS1101であれば、製造物aは、製造物aはデジタルデータ01を使って積層加工されることとなる。
図12は、製造装置管理装置2内の作業:指示対応DB231のデータ内容を示すテーブルであり、作業IDと、それを実現するための指示IDリストが格納されている。
図13は、製造装置管理装置2内の指示管理情報211を示すテーブルであり、指示IDと、指示IDを実行可能な製造装置数(実行可能装置数)と、実行可能な製造装置のうち現在待ち状態である使用可能装置数を示している。
図14は、操作装置1内の作業コンテナ割り当て情報111のデータ項目を示しており、作業コンテナIDに割り当てられた、実行中作業情報、割り当て作業情報リスト、割り当て作業数および終了作業数などの作業情報が格納されている。実行中作業情報は、作業コンテナに割り当てられた作業情報のうち、現在製造装置が実行している作業情報を格納している。割り当て作業情報リストは、作業コンテナに割り当てられた作業情報のうち、実行待ちの作業情報が格納されている。作業情報は、作業識別IDと作業IDをセットにした情報である。作業IDは、作業の内容に対して一意に割り振られたIDである。割り当て作業数は、作業コンテナに割り当てた作業情報数である。終了作業数は、作業コンテナに割り当てた作業情報のうち、実行が完了した作業情報数である。
図15は、製造装置管理装置2内の作業管理情報221のデータ項目を示しており、作業識別IDに対する作業ID、実行中指示ID、実行待ち指示IDおよび指示総数を格納している。実行中指示IDは、作業IDを作業:指示対応DB231に基づいて変換した指示IDリストのうち、現在実行している指示IDである。実行待ち指示IDは、作業IDを作業:指示対応DB231に基づいて変換した指示IDリストのうち、実行待ちの指示IDである。指示総数は、作業IDを作業:指示対応DB231に基づいて変換した指示IDの総数である。
<作業計画の入力から製造装置が命令を実行するまで>
なお、図7~図15は、以下に説明する作業計画の入力から製造装置が命令を実行するまでのフローの説明に適宜使用する。
まず、図2に示すフローチャートを用いて操作装置1の動作を説明する。まず、作業計画読み込み部11は、入力された作業計画D1の先頭から種類と作業IDを取得し、種類に対して一意になるように昇順に作業コンテナIDを割り振る(ステップS1)。その後、作業識別IDを昇順に割り振る(ステップS2)。
次に、作業計画読み込み部11は、作業識別IDと作業IDをセットにした作業情報を、作業コンテナ割り当て情報111の作業コンテナIDの割り当て作業情報リストの末尾に格納し、割り当て作業数に1を加算する(ステップS3)。
以上のステップS1~S3の処理を作業計画D1の末端まで行ったかを確認し(ステップS4)、未達成の場合(Noの場合)は、作業計画D1に対してステップS1~S3の処理を繰り返し、達成した場合(Yesの場合)は、ステップS5に移行する。
例えば、図11に示した作業計画D1の先頭の種類「製造物a」と作業ID「S0000」を取り出し、種類「製造物a」に対して、作業コンテナID「C0000」を割り振る。続いて、作業識別ID「N0000」を割り振り、作業識別ID「N0000」と作業ID「S0000」をセットにした作業情報を、図14に示した作業コンテナ割り当て情報111の作業コンテナID「C0000」の割り当て作業情報のリストの末尾に格納し、作業コンテナID「C0000」の割り当て作業数を1にする。
次に、図11に示した作業計画D1の先頭から2番目の種類「製造物b」と作業ID「S0000」を取り出し、種類「製造物b」に対して、作業コンテナID「C0001」を割り振る。続いて、作業識別ID「N0001」を割り振り、作業識別ID「N0001」と作業ID「S0000」をセットにした作業情報を、図14に示した作業コンテナ割り当て情報111の作業コンテナID「C0001」の割り当て作業情報のリストの末尾に格納し、作業コンテナID「C0001」の割り当て作業数を1にする。
次に、図11に示した作業計画D1の先頭から3番目の種類「製造物a」と作業ID「S0001」を取り出し、種類「製造物a」に対して、作業コンテナID「C0000」を割り振る。続いて、作業識別ID「N0002」を割り振り、作業識別ID「N0002」と作業ID「S0001」をセットにした作業情報を、図14に示した作業コンテナ割り当て情報111の作業コンテナID「C0000」の割り当て作業情報のリストの末尾に追加し、作業コンテナID「C0000」の割り当て作業数を2にする。以上の処理を、作業計画D1のデータの全てに対して施し、作業コンテナ割り当て情報111に格納する。
次に、作業コンテナ割り当て管理部12は、予め設定された一定の周期または後述する製造装置3の状態取得部33が取得した状態データを受信したタイミングをトリガとして、作業コンテナ割り当て情報111の作業コンテナIDの実行中作業情報に作業情報が入っているかを確認し(ステップS5)、作業情報が入っていない場合(Noの場合)は、割り当て作業情報の先頭の作業情報を取り出し、実行中作業情報に格納し、操作装置送信部13に対して、格納した作業情報を出力する(ステップS6)。ステップS5において、作業情報が入っている場合(Yesの場合)は、ステップS8に移行する。
次に、作業コンテナ割り当て管理部12は、作業進捗表示部15に対して、作業コンテナIDと作業コンテナ割り当て情報111の作業コンテナIDの割り当て作業数と終了作業数と作業進捗「0」を出力し(ステップS7)、作業進捗表示部15は、割り当て作業数、終了作業数および作業進捗を表示する(ステップS8)。
例えば、作業コンテナ割り当て情報111の作業コンテナID「C0000」に対して、割り当て作業情報リストの先頭にある作業識別ID「N0000」と作業ID「S0000」を取り出し、実行中作業情報に格納する。
続いて、操作装置送信部13に対して、作業識別ID「N0000」と作業ID「S0000」をセットにした作業情報を出力し、作業進捗表示部15に対して、作業コンテナID「C0000」と作業コンテナ割り当て情報111の作業コンテナID「C0000」の割り当て作業数「5」と終了作業数「0」と作業進捗「0」を出力する。
ここで、割り当て作業数「5」とは、作業計画D1において、作業コンテナID「C0000」に相当する製造物aを対象にしている作業IDの数であり、図11では「S0000」、「S0001」、「S0002」、「S0020」および「S0021」が製造物aを対象にしているので割り当て作業数は「5」となる。
次に、作業進捗表示部15は、作業コンテナIDと割り当て作業数と終了作業数を入力として、作業コンテナIDに割り当てた作業数と終了した作業数と実行中の作業進捗を表示する。
作業コンテナ割り当て管理部12は、作業情報が入っていない作業コンテナの全てに対して上記ステップS6、S7の処理を行ったかを確認し(ステップS9)、全ての作業コンテナを確認した場合(Yesの場合)は、ステップS10に移行する。一方、未確認の作業コンテナがある場合(Noの場合)は、上記ステップS5~S8の処理を繰り返す。
次に、操作装置送信部13は、作業コンテナ割り当て管理部12から入力された作業情報を製造装置管理装置2に送信する(ステップS10)。
次に、図3および図4に示すフローチャートを用いて製造装置管理装置2の動作を説明する。製造装置管理装置2は、初期動作として、自身が管理する製造装置IDと当該製造装置IDで実行可能な指示IDリストを取得し、図8に示したような製造装置稼働情報251を構築する(ステップS21)。続いて、製造装置管理装置2は、指示IDに対して、実行可能な装置数を算出し、実行可能装置数および使用可能装置数を取得し、図13に示したような指示管理情報211を構築する(ステップS22)。なお、上記ステップS21およびS22の処理は、作業管理部22において実行されることもでき、図示されない情報構築部において実行されることもできる。
初期動作の後、操作装置宛受信部21は、操作装置1の操作装置送信部13から送信された作業情報を受信し(ステップS23)、作業管理部22に入力する。
次に、作業管理部22は、入力された作業情報と作業:指示対応DB231に基づいて、作業情報の作業IDに対応する指示IDを取得する(ステップS24)。
ここで、作業IDに対して複数の指示IDの候補があれば、候補ごとの先頭の指示IDの指示管理情報211の使用可能装置数が大きい指示IDを選択し、使用可能装置数が同じであれば、指示数が少ない方を選択し、使用可能装置数が同じかつ指示数が同じ場合は、先頭にある指示IDが若い方を選択する。
続いて、作業管理部22は、指示管理情報211の選択した指示IDの使用可能装置数から「1」を減算する(ステップS25)。
作業管理情報221の作業識別IDに入力された作業情報の作業識別IDを格納し、入力された作業情報の作業IDを、実行中指示IDに選択した先頭の指示IDを格納する。指示IDが2つ以上ある場合は、2つ目以降の指示IDを実行待ち指示IDに格納し、最後に指示総数に指示数を格納して作業管理情報221を更新する(ステップS26)。
そして、実行中指示IDに格納した指示IDと作業識別IDをセットにした指示情報を出力する。
例えば、図7に示した作業内容に対する作業IDの対応表において、製造物aの製造工程1作業1にあたる作業情報が入力された場合、図12に示した作業:指示対応DB231に基づいて、作業情報の作業ID「S0000」に対応する指示ID「I0000」、「I1000」および「I1001」を取得する。
図13に示した指示管理情報211より、指示ID「I0000」の使用可能装置数は「2」であり、指示ID「I1000」の使用可能装置数も「2」である。使用可能装置数が同じであるため、指示数が少ない「I0000」を選択する。
次に、作業管理部22は、指示管理情報211の指示ID「I0000」の使用可能装置数から「1」を減算し、図15に示した作業管理情報221の作業識別ID「N0000」の作業IDに「S0000」を格納し、実行中指示IDに「I0000」を格納し、作業識別ID「N0000」と指示ID「I0000」をセットにした指示情報を出力する。
続いて、作業管理情報221の作業識別ID「N0000」の指示総数に「1」を格納する。
また、例えば、製造物bの製造工程1作業1にあたる作業情報が入力される場合、作業:指示対応DB231に基づいて、作業情報の作業ID「S0000」に対応する指示ID「I0000」、「I1000」および「I1001」を取得する。
指示管理情報211より、指示ID「I0000」の使用可能装置数は減算により「1」となっており、指示ID「I1000」の使用可能装置数は「2」であるため、「I1000」および「I1001」を選択する。
続いて、作業管理部22は、指示管理情報の指示ID「I1000」の使用可能装置数から「1」を減算し、作業管理情報221の作業識別ID「N0001」の作業IDに「S0000」を、実行中指示IDに「I1000」を、実行待ち指示IDに「I1001」を格納し、作業識別ID「N0001」と指示ID「I1000」をセットにした指示情報を出力する。
続いて、作業管理情報221の作業識別ID「N0001」の指示総数に「2」を格納する。
作業管理部22は、予め設定された一定の周期または後述する製造装置3の状態取得部33が取得した状態データを受信したタイミングをトリガとして、作業管理情報221の各作業識別IDの実行中指示IDに指示IDが入っているか判定し(ステップS27)、入っていない場合(Noの場合)は、実行待ち指示IDに格納されている先頭の指示IDを取り出して実行中指示IDに格納し、製造装置割り当て部に作業識別IDと格納した指示IDをセットにした指示情報を出力し(ステップS28)、図4のステップS31に移行する。この場合、実行待ち指示IDに指示IDが格納されていなければ、作業管理情報221の当作業識別IDの情報を削除する。
また、ステップS27において、実行中指示IDに指示IDが入っている場合(Yesの場合)は、ステップS29に移行し、作業管理情報221の全ての実行中指示IDを確認したかについて判定し、未確認の実行中指示IDがある場合(Noの場合)は、ステップS27以下の処理を繰り返す。一方、作業管理情報221の全ての実行中指示IDを確認した場合(Yesの場合)は、図4のステップS37に移行する。
製造装置割り当て部23は、作業管理部22から入力された指示情報と、製造装置稼働情報251(図8)の実行可能指示IDリストに基づいて、指示を実行可能な製造装置IDを選択する(ステップS31)。実行可能な製造装置IDが複数ある場合は、製造装置稼働情報251から実行中指示情報および実行待ち指示情報リストが少ない方を選択し、実行中指示情報および実行待ち指示情報リストが同じ場合は製造装置IDが小さい方を選択する。
次に、製造装置割り当て部23は、選択した製造装置IDの実行中指示情報に、指示情報が入っているかを判定し(ステップS32)、指示情報が入っていない場合(Noの場合)は、実行中指示情報に指示情報を格納し、選択した製造装置IDと指示情報を出力し(ステップS33)、ステップS35に移行する。一方、実行中指示情報に指示情報が入っている場合(Yesの場合)は、実行待ち指示情報リストに指示情報を追加する(ステップS34)。
例えば、製造物aの製造工程1作業1にあたる作業識別ID「N0000」、指示ID「I0000」が入力される場合、製造装置稼働情報251の実行可能指示IDリストに基づいて、指示ID「I0000」を実行可能な製造装置を選択する。図8に示した製造装置稼働情報251によれば、実行可能な製造装置は「M0000」と「M0001」であり、両方の製造装置とも実行中および実行待ち指示情報に指示情報が入っていないため、製造装置IDの若い「M0000」を選択する。製造装置稼働情報251の選択した製造装置ID「M0000」の実行中指示情報に作業管理部22から入力された指示情報を格納する。続いて、選択した製造装置ID「M0000」と、格納した指示情報を出力する。
次に、指示情報として、製造物bの製造工程1作業1の一部にあたる作業識別ID「N0001」、指示ID「I1000」が入力される場合、上記処理によって、製造装置ID「M0002」に割り当てられる。そして、製造装置稼働情報251の製造装置ID「M0002」の実行中指示情報に製造物bの製造工程1作業1の一部である上記指示情報が格納され、製造装置「M0002」と、格納した指示情報を出力する。
また、製造物cの製造工程1作業1にあたる作業識別ID「N0002」、指示ID「I0000」が入力される場合、上記処理によって、製造装置ID「M0001」に割り当てられる。そして、製造装置稼働情報251の製造装置ID「M0001」の実行中指示情報に製造物cの製造工程1作業1の上記指示情報が格納され、製造装置「M0001」と指示情報を出力する。
同様に、製造物dの製造工程1作業1の一部である作業識別ID「N0003」、指示ID「I1000」が入力される場合、上記処理によって、製造装置ID「M0003」に割り当てられる。そして、製造装置稼働情報251の製造装置ID「M0003」の実行中指示情報に製造物dの製造工程1作業1の一部である上記指示情報が格納され、製造装置「M0003」と指示情報を出力する。
同様に、製造物eの製造工程1作業1の作業識別ID「N0004」、指示ID「I0000」が入力される場合、上記処理によって、製造物a、製造物cの製造工程1作業1がそれぞれの製造装置で実行中の場合は、製造装置ID「M0000」に割り当てられ、製造装置稼働情報251の製造装置ID「M0000」の実行待ち指示情報リストの先頭に、製造物eの製造工程1作業1の上記指示情報が格納される。
このように、製造装置割り当て部23は、予め設定された一定の周期または後述する製造装置3の状態取得部33が取得した状態データを受信したタイミングをトリガとして、製造装置稼働情報251の各製造装置の実行中指示情報に指示情報が入っているか判定し、入っていなければ、実行中指示情報に指示情報を格納し、選択した製造装置IDと指示情報を指示・命令変換部24に出力する。
指示・命令変換部24は、製造装置割り当て部23から出力された製造装置IDおよび指示情報と、製造装置IDの指示:命令対応DB241(図9)に基づいて、製造装置IDと指示情報の指示IDに対応する命令を出力する(ステップS35 )。
例えば、製造装置ID「M0000」と、製造物aの製造工程1指示1にあたる作業識別ID「N0000」、指示ID「I0000」の指示情報が入力された場合、製造装置ID「M0000」と、図9に示した指示:命令対応DB241の製造装置ID「M0000」に基づいて、指示情報の指示ID「I0000」に対応する命令「instA」を出力する。
末端機器宛送信部25は、製造装置IDと命令を入力として、製造装置IDに対応する製造装置3に命令を送信する(ステップS36)。
製造装置3の製造装置受信部31は、末端機器宛送信部25から送信された命令を受信する(ステップS41)。
製造装置3の実行部32は、命令を解釈し、実行する(ステップS42)。実行部32は、製造装置受信部31が受信した命令全てに対して、上記処理を行う。実行部32は命令に従って、作業計画D1と共に入力されたデジタル補助情報D2、例えば、CAD、画像、3DCAD情報、BOMの情報などのデジタルデータを使用して、命令を実行する。例えば、切削などの場合、CADデータを基に切削を行う。製品にカスタマイズされた色、画像などの画像データを基にプリントする。組み立てなどの場合、単純な部品組み立てについては、製品の3DCAD情報とBOMから、嵌合位置などの部品の組付け方法が導出されるため、初見の部品組み立てであっても、自動化が可能である。また、製造装置3には2D(2次元)または3Dプリンタも含み、これらもデジタルデータを基に、要求された通りの成形を実行する。
なお、図3のステップS29からステップS37に移行した場合、すなわち、製造装置割り当て部23が、予め設定された一定の周期または後述する製造装置3の状態取得部33が取得した状態データを受信したタイミングをトリガとして、製造装置稼働情報251の各製造装置の実行中指示情報に指示情報が入っているか判定した場合、製造装置割り当て部23は、選択した製造装置IDの実行中指示情報に、指示情報が入っているかを判定する(ステップS37)。そして、指示情報が入っていない場合(Noの場合)は、ステップS38に移行し、実行中指示情報に指示情報が入っている場合(Yesの場合)は、ステップS39に移行する。製造装置割り当て部23は、実行待ち指示情報リストの先頭の指示情報を取り出し、実行中指示情報に指示情報を格納し、製造装置IDと指示情報を出力し(ステップS38)、ステップS39に移行する。製造装置割り当て部23は、製造装置稼働情報251の全ての実行中指示情報を確認したかについて判定し(ステップS39)、未確認の実行中指示情報がある場合(Noの場合)は、ステップS37以下の処理を繰り返す。一方、製造装置稼働情報251の全ての実行中指示情報を確認した場合(Yesの場合)は、ステップS35に移行する。
以上が、作業計画D1を入力として、製造装置が命令を実行するまでの流れである。図7に示した対応表の製造物aに対する製造工程1指示2、3および製造工程3指示1、2と、製造物b~eに対する製造工程1指示1~3および製造工程3指示1、2の作業も、同様に処理することで、製造装置で実行される。
<作業進捗表示部に作業状態を表示するまで>
次に、図5および図6に示すフローチャートを用いて、作業進捗表示部15に作業状態を表示するまでのフローを説明する。
まず、製造装置3の状態取得部33は、製造装置3の、実行中命令、実行状態、当該製造装置が管理している周辺のセンサの情報など、予め取得すると設定されているデータ(所定のデータ)を取得し、取得した情報をセットにした状態データを出力する(ステップS51)。
例えば、製造装置ID「M0000」の製造装置の状態取得部が実行中の命令である「instA」と実行状態である「通常」とセンサ1情報「0」とセンサ2情報「0」を取得し、実行中命令と実行状態とセンサ1情報とセンサ2情報をセットにした状態データを出力する。
製造装置送信部34は、製造装置IDと状態データを製造装置管理装置2の末端機器宛受信部26に送信する(ステップS52)。末端機器宛受信部26は、製造装置送信部34から送信された製造装置IDと状態データを受信する(ステップS53)。
状態・指示変換部27は、入力された製造装置IDおよび状態データと製造装置IDの状態:指示対応DB261(図10)に基づいて、状態データに対応する指示進捗を取得し、製造装置稼働情報251から製造装置IDの実行中指示情報を取得し、指示進捗と実行中指示情報を出力する(ステップS54)。もし、指示進捗が「100」の場合、製造装置稼働情報251(図8)の製造装置IDの実行中指示情報に格納している指示情報を取り出す。
例えば、製造装置ID「M0000」と、実行中命令「instA」と、実行状態「通常」と、センサ1情報「0」と、センサ2情報「0」の状態データが入力された場合、図10に示された状態:指示対応DB261の製造装置ID「M0000」から、指示進捗「25」を取得し、図8に示された製造装置稼働情報251の製造装置ID「M0000」の実行中指示情報を取得し、指示進捗「25」と実行中指示情報を出力する。
また、例えば、製造装置ID「M0000」と、実行中命令「instA」と、実行状態「通常」と、センサ1情報「1」と、センサ2情報「1」の状態データが入力された場合、図10に示された状態:指示対応DBの製造装置ID「M0000」から、指示進捗「100」を取得し、図8に示された製造装置稼働情報251の製造装置ID「M0000」の実行中指示情報を取得し、指示進捗「100」と実行中指示情報を出力する。続いて、実行中指示情報に格納している指示情報を取り出す。
作業管理部22は、状態・指示変換部27から入力された指示進捗および指示情報と、作業管理情報221の入力された指示情報の作業識別IDの作業IDを取得する(ステップS55)。
続いて、作業管理部22は、指示総数から(実行待ち指示数+1)を減算した数を指示総数で除算して「100」を乗算した数と、指示進捗を指示総数で除算した数を加算した数を作業進捗として算出する(ステップS56)。
そして、作業識別IDと作業IDをセットにした作業情報と作業進捗を出力する(ステップS57)。
また、指示進捗「100」が入力された場合、入力された指示情報の指示IDに対応する指示管理情報211の指示IDの使用可能装置数に「1」を加算し、入力された指示情報の指示IDに対応する作業管理情報221の作業識別IDの実行中指示IDの指示IDを取り出す。
例えば、製造物a工程1作業1にあたる作業種別ID「N0000」、指示ID「I0000」と指示進捗「25」が入力された場合、作業管理情報221の作業識別ID「N0000」の作業ID「S0000」を取得する。
続いて、指示総数「1」から(実行待ち指示数+1)の「1」を減算した数を指示総数「1」で除算して「100」を乗算した値「0」と、指示進捗「25」を指示総数「1」で乗算した値「25」を加算して作業進捗「25」を算出し、作業識別ID「N0000」と作業ID「S0000」の作業情報と作業進捗「25」を出力する。
また、例えば、製造物a工程1作業1にあたる作業種別ID「N0000」指示ID「I0000」と指示進捗「100」が入力された場合、作業管理情報221の作業識別ID「N0000」の作業ID「S0000」を取得する。
続いて、指示総数「1」から(実行待ち指示数+1)の「1」を減算した数を指示総数「1」で除算して「100」を乗算した値「0」と、指示進捗「100」を指示総数「1」で乗算した値「100」を加算して作業進捗「100」を算出し、作業識別ID「N0000」と作業ID「S0000」の作業情報と作業進捗「100」を出力する。
この場合、入力された指示進捗が「100」であるため、指示管理情報211の指示ID「I0000」の使用可能装置数に「1」を加算し、作業管理情報221の作業識別ID「N0000」の実行中指示IDの指示IDを取り出す。
操作装置宛送信部28は、作業管理部22から入力された作業進捗と実行中作業情報を、操作装置の1の操作装置受信部14に送信する(ステップS58)。
操作装置受信部14は、図6のフローチャートに示されるように、操作装置宛送信部28から送信された作業進捗と実行中作業情報を受信する(ステップS60)。
作業コンテナ割り当て管理部12は、入力された実行中作業情報と作業進捗に基づいて、入力された実行中作業情報の作業識別IDに相当する作業コンテナ割り当て情報111(図14)の実行中作業情報の作業コンテナIDを取得する(ステップS61)。
続いて、作業コンテナ割り当て管理部12は、作業コンテナ割り当て情報111の当該作業コンテナIDの割り当て作業数と終了作業数を取得し(ステップS62)、作業コンテナIDと割り当て作業数と終了作業数と作業進捗を出力する(ステップS63)。
例えば、製造物aの製造工程1作業1にあたる作業識別ID「N0000」と作業ID「S0000」の実行中作業情報と進捗「25」が入力された場合、作業コンテナ割り当て情報111の実行中作業情報の作業識別IDが「N0000」である作業コンテナID「C0000」を取得する。続いて、作業コンテナ割り当て情報111の作業コンテナID「C0000」の割り当て作業数「5」と終了作業数「0」を取得し、作業コンテナID「C0000」と割り当て作業数「5」と終了作業数「0」と作業進捗「25」を出力する。
ここで、作業進捗「100」が入力された場合、作業コンテナ割り当て情報111の作業コンテナIDの実行中作業情報に格納している作業情報を削除し、終了作業数に1を加算する。
例えば、製造物aの製造工程1作業1にあたる作業識別ID「N0000」と作業ID「S0000」の実行中作業情報と作業進捗「100」が入力された場合、作業コンテナ割り当て情報111の実行中作業情報の作業識別IDが「N0000」である作業コンテナID「C0000」を取得する。続いて、作業コンテナ割り当て情報111の作業コンテナID「C0000」の割り当て作業数「5」と終了作業数「0」と作業進捗「100」を出力する。ここで、作業進捗が「100」であるため、作業コンテナ割り当て情報111の作業コンテナID「C0000」の実行中の作業情報に格納している作業情報を削除し、終了作業数を「1」とする。
作業進捗表示部15は、入力された作業コンテナID、割り当て作業数、終了作業数および作業進捗に基づいて、作業コンテナIDが割り当てた作業数、終了した作業数、実行中の作業の作業進捗を表示する(ステップS64)。
例えば、作業コンテナID「C0000」、割り当て作業数「5」、終了作業数「0」および作業進捗「25」が入力された場合、作業コンテナID「C0000」が割り当てた作業数「5」のうち、「0」個の作業が終了しており、「1」個目の作業の進捗が「25」であることを表示する。
以上が、作業進捗表示部15に作業状態を表示するまでのフローである。製造物b~eに対しても、製造装置から状態データを取得し、それぞれの作業コンテナの表示を行うことで、それぞれの作業の進捗を確認することができる。
<効果>
以上説明したように、実施の形態1の遠隔操作システム100では、製品または工程に対して、目的および要望を達成するための製造装置に実行させたい動作、例えば、搬送、組付け、加工などを、制御対象となる製造装置特有の命令ではなく、コード化された作業計画をすることで、製造装置を遠隔操作することができる。
すなわち、作業者が、目的および要望を達成するために、一連の作業をコード化した作業計画を遠隔操作システム100に入力すると、製造装置管理装置2の作業管理部22が作業を、管理対象の製造装置3のスペックに基づいて、製造装置3に対する命令に対応した指示に変換し、製造装置割り当て部23が、製造装置3のスペックと稼働状況に基づいて製造装置3を割り当て、指示・命令変換部24が製造装置3で理解可能な命令に変換し、製造装置3に入力する。製造装置3では、実行部32が命令を解釈し実行する。
このように、作業者は、目的および要望を達成するための作業をコード化すれば済み、製造装置3に特有の操作方法を学習する必要がなくなり、受注に対する要求を製造装置で実現可能な作業者が増える。
また、製造装置3の状態取得部33から得た状態データに基づいて、製造装置管理装置2の状態・指示変換部27と作業管理部22が作業の進捗を算出し、操作装置1の作業コンテナ割り当て管理部12が上記作業の対象である製品または工程を特定し、作業進捗表示部15が、製品または工程ごとに入力した作業の進捗を表示する。作業者は製造装置3の状態から作業の進捗を把握する必要がなくなり、製品または工程ごとの作業の管理が容易に可能となる。
結果として、低コストで消費者の多種多様なニーズに応えた製品を低コストで提供することが可能となる。
なお、以上の説明では、作業計画は、一連の指示をまとめて入力するものとしたが、これに限定されず、作業ごとに分割して入力することもでき、作業者が1製造物ごとに1つずつ入力してもよい。
<実施の形態2>
<装置構成>
図16は、実施の形態2の遠隔操作システム200の構成を示すブロック図である。図16に示す遠隔操作システム200は、図1に示した実施の形態1の遠隔操作システム100に対して、操作入力部4および操作入力作業分類部5が追加された構成となっており、その他、遠隔操作システム100と同一の構成については同一の符号を付し、重複する説明は省略する。
操作入力部4は、例えば、モーションキャプチャなどの人の動作をデジタルデータで取得するデバイスを有し、製品または工程に対する人の動作を入力とし、デジタルデータに変換して出力する。デジタルデータは、操作入力作業分類部5に入力され、入力:作業対応DB511に格納されているパターンからそれに対応する作業IDを取得し、また、入力:製品対応DB512から、対象となる製品または工程の種類を取得し、種類と作業IDとをセットにした作業計画D1を出力する。
操作入力作業分類部5から作業計画D1が出力され、操作装置1に入力された後は、実施の形態1と同様の処理を実施することで、人の動作にあたる作業を入力として製造装置3が命令を実行する。
図17は、操作入力作業分類部5で使用する入力:作業対応DB511のデータ内容を示すテーブルであり、図18は、操作入力作業分類部5で使用する入力:製品対応DB512のデータ内容を示すテーブルである。
入力:作業対応DB511および入力:製品対応DB512は、HDDなどの記憶装置に格納されている。また、操作入力作業分類部5は、コンピュータを用いて構成することができ、コンピュータがプログラムを実行することで実現される。すなわち、操作入力作業分類部5は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)などのプロセッサがプログラムを実行することで実現される。
入力:作業対応DB511は、操作入力部4から出力されるデジタルデータのうち、抽出するパターンとそれに対応する作業IDを格納している。入力:製品対応DB512は、作業者が示す数字とそれに対応する製品の種類を格納している。
<動作>
以下、操作入力部4および操作入力作業分類部5の動作について、作業者が製造物aに対してねじを締める作業をする場合を例に用いて説明する。操作入力部4は、右手の全ての指の先端を検出して3次元座標(x,y,z)のデジタルデータを逐次出力する。
作業者は、始めに製造物aを選択するために、指を立たせることで数字の「1」を示す。操作入力作業分類部5は、操作入力部4で検出された指の先端の3次元座標(x,y,z)のデジタルデータから数字の「1」が入力されたことを解析し、製品対応DB512(図18)に基づいて、製造物aであると判定する。
次に、作業者は、操作入力部4に向かって、作業開始の動作として拳を握る動作(グー)を2秒間行う。操作入力作業分類部5は、操作入力部4から入力された全ての指の先端の3次元座標に基づいて、親指の3次元座標と小指の3次元座標の差分が一定の距離以下であるかを判定して、作業者の手がグーの状態が2秒続いたことを解析し、入力:作業対応DB511よりパターン0の作業区切りの動作であると判定する。以降は操作入力部4からの入力データを記憶する。
次に、作業者は、操作入力部4に向かって、親指に人差し指または中指をすり合わせる動作を2、3回行い、グーの状態を2秒間保つ。
操作入力作業分類部5は、グーの状態が2秒間行われる前までに記録した入力データに基づいて、各指同士の距離と各指の座標の移動量を計算して、作業者の手が親指に人差し指または中指をすり合わせる動作をしていると解析し、入力:作業対応DB511よりパターン3のねじで締める動作であると判定して、作業ID「S0001」を出力する。
作業者は、ねじ締め終了後に製造物aを次の工程の実施場所まで移動させるために、操作入力部4に向かって、前述のグーの状態の2秒後に、手を開いた状態で左から右に移動させ、作業入力の終了としてグーの状態を5秒間保つ。
操作入力作業分類部5は、グーの状態が5秒行われる前までに記録した入力データに基づいて、各指同士の距離と各指の座標の移動量を計算して、作業者の手が左から右に移動したと解析し、入力:作業対応DB511よりパターン2の動作をしていると判定して、作業ID「S0000」を出力する。
操作入力作業分類部5は、グーの状態が5秒間保たれたことを解析し、操作入力部4による作業計画の作成を終了したと判定して、「製造物a」と「S0001」のセットと、「製造物a」と「S0000」のセットを出力して、作業計画D1とする。
<効果>
以上説明した実施の形態2の遠隔操作システム200によれば、操作入力部4を介して作業者の動作を操作入力作業分類部5に入力し、操作入力作業分類部5で解析することで作業計画D1を作成するので、製造装置の一般的な知識がない作業者でも入力が可能となる。また、作業者が作業計画D1を作成せずに済むので、より短時間で作業可能となる。
なお、以上の説明では、操作入力作業分類部5は、デジタルデータから自動的に作業計画D1を作成したが、作業計画作成前に、入力となったデジタルデータを人型のアバターに投影して表示する、または、抽出した作業内容を表示することで、作業者に意図している作業か確認させてから作業計画D1を作成することもできる。
<実施の形態3>
<装置構成>
図19は、実施の形態3の遠隔操作システム300の構成を示すブロック図である。図19に示す遠隔操作システム300は、図1に示した実施の形態1の遠隔操作システム100に対して、操作装置1が製造施設割り当て管理部19をさらに有し、製造施設情報112に基づいて、製造施設AおよびBから作業を実行する製造施設を選択できる構成となっており、遠隔操作システム100と同一の構成については同一の符号を付し、重複する説明は省略する。
図19に示されるように、作業コンテナ割り当て管理部12の出力は製造施設割り当て管理部19を介して操作装置送信部13に入力され、操作装置受信部14から製造施設名と稼働状況が作業コンテナ割り当て管理部12に与えられる構成となっている。
また、製造施設Aは、製造装置管理装置2Aおよび製造装置3Aを有した製造施設であり、製造施設Bは、製造装置管理装置2Bおよび製造装置3Bを有した製造施設である。なお、製造装置管理装置2Aおよび2Bは、図1に示した製造装置管理装置2と同じ構成を有し、それぞれ操作装置1の操作装置送信部13および操作装置受信部14を介してデータの授受を行う。また、製造装置3Aおよび3Bは、図1に示した製造装置3と同じ構成を有している。
図20は、操作装置1内のHDDなどの記憶装置に格納された製造施設情報112のデータ内容を示すテーブルである。図20に示されるように、製造施設名と当該製造施設が実行可能な作業IDのリストが初期動作時に格納され、操作装置1が使用中に稼働状況が更新される。
また、製造施設割り当て管理部19は、製造装置稼働情報251にある全ての製造装置の実行待ち指示情報の総数を製造装置数で割った値を稼働状況とし、予め設定された周期で稼働状況を計算して出力する機能を有している。なお、製造施設割り当て管理部20は、コンピュータを用いて構成することができ、コンピュータがプログラムを実行することで実現される。すなわち、製造施設割り当て管理部19は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)などのプロセッサがプログラムを実行することで実現される。
操作装置宛送信部28は、稼働状況を入力とし、製造施設名と稼働状況を操作装置受信部14に送信する機能が追加されている。
<動作>
以下、製造施設割り当て管理部19の動作について説明する。製造施設割り当て管理部19は、初期動作時に、製造装置管理装置2Aおよび2Bとそれぞれ接続している製造装置3Aおよび3Bに実行可能な命令を要求し、指示:命令対応DB241と作業:指示対応DB231に基づいて、実行可能な作業IDを算出する。
製造施設割り当て管理部19は、初期動作時に、操作装置1と接続している製造施設AおよびBの製造装置管理装置2Aおよび2Bに、実行可能な作業IDのリストを要求し、製造施設情報112の実行可能作業IDリストを更新する。
なお、本実施の形態では、操作装置1は製造施設Aおよび製造施設Bと接続しており、初期動作時に製造施設情報を図20のように更新したものとする。
操作装置1の作業計画読み込み部11と作業コンテナ割り当て管理部12は、実施の形態1と同様の処理を実施し、作業情報を製造施設割り当て管理部19に対して出力する。
製造施設割り当て管理部19は、入力された作業情報と、製造施設情報112に基づいて作業情報の作業IDが実行可能な製造施設を割り当て、割り当てた製造施設名と作業情報を出力する。
実行可能な製造施設が複数ある場合は、稼働状況が低い製造施設を割り当て、稼働状況が同じ場合は、最初に記載されている製造施設を割り当てる。
操作装置送信部13は、入力された製造施設名の製造施設の製造装置管理装置の操作装置宛受信部21に作業情報を送信する。
以降の処理は、実施の形態1と同様の処理を実施することで、選択された製造施設にある製造装置が命令を実行する。
また、操作装置受信部14は、それぞれの製造装置管理装置の操作装置宛送信部28から製造施設名と稼働状況を受信すると、製造施設割り当て管理部19に対して、製造施設名と稼働状況を出力する。
製造施設割り当て管理部19は、入力された製造施設名と稼働状況に基づいて、製造施設情報112の製造施設名の稼働状況を更新する。操作装置受信部14と製造施設割り当て管理部19は、それぞれの製造装置管理装置の操作装置宛送信部28から製造施設名と稼働状況が送信されるごとに上記処理を実施することで、逐次製造施設情報の稼働状況を更新する。
<効果>
以上説明した実施の形態3の遠隔操作システム300によれば、複数の製造施設から作業を実行する製造施設を選択できるので、実現可能な作業の種類が増えることで、より低コストに製品を提供可能となる。さらに、各製造施設の稼働状況から稼働状況が低い製造施設を選択することで、製造期間の短縮が可能になる。
<実施の形態4>
<装置構成>
図21は、実施の形態4の遠隔操作システム400の構成を示すブロック図である。図21に示す遠隔操作システム400は、図1に示した実施の形態1の遠隔操作システム100の操作装置1に対して、操作入力部4、連続操作入力データ変換部16、オンライン操作処理部17およびリアルデータ表示部18が追加され、製造装置3においてリアルデータ取得部35が追加された構成となっており、その他、遠隔操作システム100と同一の構成については同一の符号を付し、重複する説明は省略する。
操作入力部4は、例えば、モーションキャプチャなどの人の動作をデジタルデータで取得するデバイスを有し、製品または工程に対する人の動作を入力とし、デジタルデータに変換して出力する。デジタルデータは、連続操作入力データ変換部16に入力され、前回入力されたデジタルデータとの差分から人の動作の移動量を計算して、オンライン操作変換表113に基づいて作業IDを出力する。
オンライン操作処理部17は、連続操作入力データ変換部16が出力した作業IDが入力され、作業IDと自身が保持する作業識別IDをセットにした作業情報を、操作装置送信部13に出力し、リアルデータ表示部18に作業IDを出力する。
製造装置3のリアルデータ取得部35は、製造装置管理装置2からの命令を実行中の作業の人が五感で認識可能なリアルデータ、例えばカメラの映像を取得し、製造装置管理装置2を介して操作装置1に送信する。
リアルデータ表示部18は、製造装置3から送信されたリアルデータと作業IDが入力され、リアルデータと、リアルデータに該当する作業IDの作業内容を表示する。
<動作>
遠隔操作システム400の動作について、図21を参照しつつ、図22~図30に示すフローチャートを用いて説明する。なお、以下では製造物aに対して製造工程2の作業を実行するケースを例に採って説明する。製造工程2は、作業の状態を確認しながら製造物aに部品aaを取り付ける工程である。製造工程2は、作業1、作業2を実行する。作業1は、部品aaを作業場所に取り寄せる作業である。作業2は、作業1で取り寄せた部品aaを製造物aに、リアルデータ取得部35のカメラの映像を見ながら作業者がオンライン操作でくっつける作業である。作業2開始で、リアルデータを取得する処理を行い、作業2操作1~4で、部品aaを「上」「下」「右」「左」に移動することで製造物aにくっつけ、作業2終了で、操作1~4の入力を終了し製造工程2作業2を終了する。作業1と作業2開始は作業計画に記載される。作業2操作1~4と作業2終了は、作業者の動作を変換することで得る。
また、図31は、本実施の形態4における作業計画を表すテーブルであり、種類に対する作業IDを示している。
図32は、作業内容に対する作業IDの対応表であり、入力(作業内容)に対する作業IDと、追従作業であるか否かの情報と、即時作業であるか否かの情報を有している。追従作業は、前に入力された作業と同じ製造装置で実行する作業である。即時作業は、現在実行中の作業に対して、追加で行う作業のことである。追従作業であるか否かの情報および即時作業であるか否かの情報は、作業内容によって予め設定されている。
図33は、HDDなどの記憶装置に格納された操作入力部許可表であり、作業IDに対する作業進捗を示している。
図34は、製造装置管理装置2内の状態:指示対応DB261のデータ内容を示すテーブルであり、実行中の命令に対する実行状態などの実行情報と、周辺に取り付けられたセンサ情報(センサ3情報など)と、それに対応した指示進捗またはエラーといった状態が格納されている。状態:指示対応DB261は、製造装置3ごとに準備する。
図35は、作業ID「S0011」のオンライン操作変換表113のデータ内容を示すテーブルであり、入力(作業内容)に対する作業IDを示している。
<作業計画の入力から製造装置が命令を実行するまで>
以下では、製造物aの製造工程2作業2操作1~4が実行されるまでのフローを示す。なお、図31~図35は、以下に説明するフローの説明に適宜使用する。
まず、図22に示すフローチャートを用いて操作装置1の動作を説明する。まず、作業計画読み込み部11は、入力された作業計画D1の先頭から種類と作業IDを取得し、種類に対して一意になるように昇順に作業コンテナIDを割り振る(ステップS101)。
続いて、作業計画読み込み部11は、作業IDが追従作業かを判定し(ステップS102)、追従作業でない場合(Noの場合)は、作業識別IDを昇順に割り振り、作業識別IDと作業IDをセットにした作業情報を作業コンテナ割り当て情報111の作業コンテナIDの割り当て作業情報のリストの末尾に格納し、割り当て作業数に1を加算する(ステップS105)。
一方、作業IDが追従作業である場合(Yesの場合)は、読み込んだ種類の作業コンテナIDを求め、作業コンテナ割り当て情報111の求めた作業コンテナIDの割り当て作業情報のリストの末尾にある作業識別IDを取得する(ステップS103)。その後、作業識別IDと作業IDをセットにした作業情報を作業コンテナ割り当て情報111(図14)の割り当て作業情報のリストの末尾に格納し、割り当て作業数に1を加算する(ステップS104)。
以上のステップS102~S105の処理を作業計画D1の末端まで行ったかを確認し(ステップS106)、未達成の場合(Noの場合)は、作業計画D1に対してステップS102~S105の処理を繰り返し、達成した場合(Yesの場合)は、ステップS107に移行する。
例えば、図31の作業計画が入力される場合、作業計画読み込み部11は、まず、先頭の種類「製造物a」と作業ID「S0010」を取り出し、「製造物a」に対して、作業コンテナID「C0000」を割り振る。続いて、図32に示された作業内容に対する作業IDの対応表に基づいて、作業ID「S0010」が追従作業か判定する。作業ID「S0010」は追従作業ではない(No)ため、作業識別ID「N0000」を割り振り、作業識別ID「N0000」と作業ID「S0010」をセットにした作業情報を作業コンテナ割り当て情報111の作業コンテナID「C0000」の割り当て作業情報のリストの末尾に格納し、割り当て作業数を「1」とする。
続いて、作業計画読み込み部11は、種類「製造物a」と作業ID「S0011」を取り出し、種類「製造物a」に対する作業コンテナID「C0000」を取得する。続いて、図32に示された作業内容に対する作業IDの対応表に基づいて、作業ID「S0011」が追従作業か判定する。作業ID「S0011」は追従作業である(Yes)ため、
作業コンテナ割り当て情報111の作業コンテナID「C0000」の割り当て作業情報のリスト末尾にある作業識別ID「N0000」を取得し、作業識別ID「N0000」と作業ID「S0011」をセットにした作業情報を作業コンテナ割り当て情報111の作業コンテナID「C0000」の割り当て作業情報のリストの末尾に格納し、割り当て作業数を「2」にする。
以下、ステップS107~S112で示される作業コンテナ割り当て管理部12、操作装置送信部13および作業進捗表示部15での処理は、図2を用いて説明した実施の形態1のステップS5~S9と同様であるので説明は省略する。
本実施の形態4における指示情報は、実施の形態1の指示情報である作業識別IDおよび指示IDに加えて、追従指示であるか否かの情報と即時指示であるか否かの情報が追加される。
次に、図23および図24に示すフローチャートを用いて製造装置管理装置2の動作を説明する。製造装置管理装置2は、初期動作として、自身が管理する製造装置IDと当該製造装置IDで実行可能な指示IDリストを取得し、図8に示したような製造装置稼働情報251を構築する(ステップS200)。続いて、製造装置管理装置2は、指示IDに対して、実行可能な装置数を算出し、実行可能装置数および使用可能装置数を取得し、図13に示したような指示管理情報211を構築する(ステップS201)。なお、上記ステップS200およびS201の処理は、作業管理部22において実行されることもでき、図示されない情報構築部において実行されることもできる。
初期動作の後、操作装置宛受信部21は、操作装置1の操作装置送信部13から送信された作業情報を受信し(ステップS202)、作業管理部22に入力する。
次に、作業管理部22は、入力された作業情報と作業:指示対応DB231に基づいて、作業情報の作業IDに対応する指示IDを取得する(ステップS203)。
続いて、作業管理部22は、作業情報に含まれる作業IDが追従作業であるかを判定し(ステップS204)、追従作業である場合(Yesの場合)は、取得した指示IDも追従指示とし(ステップS205)、ステップS206に移行する。一方、作業IDが追従作業ではない場合(Noの場合)は、ステップS206に移行する。
ステップS206では、作業情報に含まれる作業IDが即時作業であるかを判定し、即時作業である場合(Yesの場合)は、取得した指示IDも即時指示とし(ステップS207)、ステップS208に移行する。一方、作業IDが即時作業ではない場合(Noの場合)は、ステップS208に移行する。ステップS208では、取得した指示IDを指示情報に格納して出力し、ステップS209に移行する。
実施の形態4の製造装置割り当て部23においては、作業識別IDと割り当てた製造装置IDの履歴データを保持する処理が追加されている。
製造装置割り当て部23は、入力された指示情報に基づいて、まず、指示が追従指示であるか判定する(ステップS209)。追従指示である場合(Yesの場合)は、ステップS210に移行し即時指示かを判定する。即時指示の場合(Yesの場合)は、図24のステップS211に移行し、即時指示でない場合(Noの場合)は、図24のステップS215に移行する。ステップS209で追従指示でないと判定された場合(Noの場合)は、図24のステップS213に移行する。
ステップS211では、入力された指示情報の作業識別IDに該当する実行中指示情報の作業識別IDの製造装置IDを取得し、製造装置IDと指示情報を出力する(ステップS212)。
ステップS215では、指示情報の作業識別IDを履歴データから検索し、割り当てた製造装置IDを取得する。
ステップS213では、製造装置稼働情報251の実行可能指示IDリストに基づいて、指示を実行可能な製造装置を選択する。続いて、指示情報の作業識別IDと製造装置IDを履歴データに格納する(ステップS214)。
次に、製造装置割り当て部23は、製造装置稼働情報251(図8)の取得した製造装置IDの実行中指示情報に指示情報が入っているかを確認し(ステップS216)、指示情報が入っていない場合(Noの場合)は、実行中指示リストに指示情報を格納し、製造装置IDと指示情報を出力し(ステップS217)、ステップS220に移行する。一方、実行中指示情報に指示情報が入っている場合(Yesの場合)は、実行待ち指示情報リストに指示情報を追加し(ステップS218)、ステップS219に移行する。
ここで、図25に示すフローチャートを用いて、ステップS213をさらに説明する。
製造装置割り当て部23は、ステップS213に移行すると、ステップS2131において、製造装置稼働情報251から指示を実行可能な製造装置を選択する。ここで、実行可能な製造装置が複数ある場合は、製造装置稼働情報251の実行中指示情報および実行待ち指示情報リストが少ない方を選択し、実行中指示情報および実行待ち指示情報リストが同じ場合は製造装置IDが小さい方を選択する。
次に、製造装置割り当て部23は、選択した製造装置IDの実行中指示情報に、指示情報が入っているかを判定し(ステップS2132)、指示情報が入っていない場合(Noの場合)は、実行中指示情報に指示情報を格納し、選択した製造装置IDと指示情報を出力し(ステップS2133)、図24のステップS214に移行する。一方、実行中指示情報に指示情報が入っている場合(Yesの場合)は、実行待ち指示情報リストに指示情報を追加し(ステップS2134)、図24のステップS214に移行する。
例えば、製造物aの製造工程2作業1にあたる指示情報が入力された場合、製造工程2作業1は追従作業ではないため、入力された指示情報には作業識別ID「N0000」と指示ID「I0010」と追従指示「NO」と即時指示「NO」のデータが入っている。製造装置稼働情報251の実行可能指示IDリストに基づいて、指示ID「I0010」が実行可能な製造装置を選択する。図8の製造装置稼働情報251によれば、実行可能な製造装置は「M0002」と「M0003」であり、両方の製造装置とも実行中および実行待ち指示情報に指示情報が入っていないため、製造装置IDの小さい「M0002」を選択する。その後、製造装置稼働情報251の選択した製造装置ID「M0002」の実行中指示情報に指示情報を格納する。
続いて、指示情報の作業識別ID「N0000」と製造装置ID「M0002」を履歴データに保存し、実行中指示情報に指示情報を格納したため、製造装置ID「M0002」と指示情報を出力する。
また、例えば、製造物aの製造工程2作業2開始にあたる指示情報が入力された場合、製造工程2作業2開始は追従作業で即時作業ではないため、入力の指示情報は作業識別ID「N0000」と指示ID「I0011」と追従指示「YES」と即時指示「NO」のデータが入っている。指示情報の作業識別ID「N0000」を履歴データから検索し、製造装置ID「M0002」を取得する。製造装置稼働情報251の製造装置ID「M0002」の実行中指示情報または実行待ち指示情報リストに指示情報を格納する。実行中指示情報に指示情報を格納した場合は、製造装置ID「M0002」と指示情報を出力する。
製造装置割り当て部23は、製造装置稼働情報251の全ての実行中指示情報を確認したかについて判定し(ステップS219)、未確認の実行中指示情報がある場合(Noの場合)は、ステップS216以下の処理を繰り返す。一方、製造装置稼働情報251の全ての実行中指示情報を確認した場合(Yesの場合)は、ステップS220に移行する。以下、ステップS220~S223で示される指示・命令変換部24から製造装置3の実行部32までの処理は、図4を用いて説明した実施の形態1のステップS35~S42の処理と同様であるので説明は省略する。
<製造装置での命令実行から終了まで>
次に、図26~図30に示すフローチャートを用いて、製造工程2作業2開始後、製造工程2作業2操作1~4および製造工程2作業2終了を製造装置で実行するまでのフローを説明する。
初めに、製造装置3の状態取得部33は、製造装置ID「M0002」が製造工程2作業2開始にあたる命令の実行終了を表す、実行中命令「instX」と実行状態「通常」とセンサ情報3「1」データを取得し、取得した情報をセットにした状態データを出力する(ステップS501)。
リアルデータ取得部35は、「instX」の実行により、リアルデータを取得する(ステップS502)。
製造装置送信部34は、製造装置ID、状態データ、リアルデータを製造装置管理装置2の末端機器宛受信部26に送信する(ステップS503)。
末端機器宛受信部26は、製造装置送信部34から送信された製造装置ID、状態データ、リアルデータを受信する(ステップS504)。
製造装置管理装置2の状態・指示変換部27は、製造装置ID「M0002」、実行中命令「instX」、実行状態「通常」およびセンサ情報3「1」をセットにした状態データと、製造装置IDの状態:指示対応DB261(図10)に基づいて、状態データに対応する指示進捗「50」を取得し、製造装置稼働情報251から製造装置IDの実行中指示情報を取得し、指示進捗「50」と実行中指示情報である作業識別ID「N0000」と指示ID「I0011」を出力する(ステップS505)。
作業管理部22は、状態・指示変換部27から入力された指示進捗および指示情報と、作業管理情報221の入力された指示情報の作業識別IDの作業IDを取得する(ステップS506)。
続いて、作業管理部22は、指示総数から(実行待ち指示数+1)を減算した数を指示総数で除算して「100」を乗算した数と、指示進捗を指示総数で除算した数を加算した数を作業進捗として算出する(ステップS507)。
そして、作業識別ID「N0000」と作業ID「S0011」をセットにした作業情報と作業進捗「50」を出力する(ステップS508)。
ステップS509および図27のステップS600で示される、製造装置管理装置2の操作装置宛送信部28および操作装置1の操作装置受信部14における処理は、実施の形態1の図5のステップS58および図6のステップS60の処理と同様であるので説明は省略する。
実施の形態4の作業コンテナ割り当て管理部12は、操作入力部4からの受け付けを許可するまたは未許可とする機能と、オンライン操作処理部17を起動する機能が追加されている。
作業コンテナ割り当て管理部12は、入力された実行中作業情報と作業進捗に基づいて、 入力された実行中作業情報の作業識別IDに相当する作業コンテナ割り当て情報111(図14)の実行中作業情報の作業コンテナIDを取得する(ステップS601)。
続いて、作業コンテナ割り当て管理部12は、作業コンテナ割り当て情報111の当該作業コンテナIDの割り当て作業数と終了作業数を取得し(ステップS602)、作業コンテナIDと割り当て作業数と終了作業数と作業進捗を出力する(ステップS603)。
ここで、作業進捗「100」が入力された場合、作業コンテナ割り当て情報111の作業コンテナIDの実行中作業情報に格納している作業情報を削除し、終了作業数に1を加算する。
さらに、作業コンテナ割り当て管理部12は、図33に示した操作入力部許可表に基づいて、特定の条件下であるか、すなわち、実行中作業情報の作業IDと作業進捗が特定のデータであるか判定し(ステップS604)、特定のデータである場合(Yesの場合)は、操作入力部4からの入力を許可し、作業IDに対応したオンライン操作処理部17を起動する(ステップS605)。
例えば、作業識別ID「N0000」と作業ID「S0011」の実行中作業情報と作業進捗「50」が入力された場合、入力された実行中作業情報の作業識別ID「N0000」に相当する作業コンテナ割り当て情報111の作業識別IDの作業コンテナID「C0000」を取得する。続いて、作業コンテナ割り当て情報111の当作業コンテナIDの割り当て作業数「2」と終了作業数「1」を取得し、作業コンテナID「C0000」と割り当て作業数「2」、終了作業数「1」および作業進捗「50」を出力する。そして、操作入力部許可表(図33)に基づいて、操作入力部4からの入力を許可し、作業ID「S0011」に対応するオンライン操作処理部17を起動する。
一方、ステップS605において、実行中作業情報の作業IDと作業進捗が特定のデータではないと判定された場合(Noの場合)は、操作入力部4からの受け付けを未許可とし、作業進捗表示部15において、入力された作業コンテナID、割り当て作業数、終了作業数および作業進捗に基づいて、作業コンテナIDが割り当てた作業数、終了した作業数、実行中の作業の作業進捗を表示する(ステップS606)。
ここで、特定の条件下であることを規定する作業ID「S0011」とは、作業者が作業中の製造物をリアルデータで確認しながら作業を実施するオンライン操作により行う作業であり、作業計画D1に予め組み込まれている。
図28は、連続操作入力データ変換部16およびオンライン操作処理部17の動作を示すフローチャートである。
作業コンテナ割り当て管理部12によって入力が許可された操作入力部4は、人(操作者)の動作を検出してデジタルデータに変換して出力する(ステップS700)。
オンライン操作処理部17は、連続操作入力データ変換部16を起動する(ステップS701)。
起動した連続操作入力データ変換部16は、操作入力部4から入力されるデジタルデータと前回入力されたデジタルデータとの差分から操作者の移動量を計算して、図35に示される作業ID「S0011」のオンライン操作変換表113に基づいて、作業IDを出力する(ステップS702)。
例えば、作業2操作1~4は人差し指を移動させることで、作業2終了は右手をグーにすることで実行可能とする。操作入力部4は、右手の全ての指の先端を検出して3次元座標(x,y,z)のデジタルデータを逐次出力する。
連続操作入力データ変換部16は、右手の全ての指の先端の3次元座標を入力として、親指の3次元座標と小指の3次元座標の差分が一定の距離以下であるかを判定して、作業者がグーを入力として、作業2終了を操作したか判断する。差分が一定の距離以下でない場合、人差し指の前回の3次元座標と今回入力された3次元座標のyとxのそれぞれの差分を算出し、移動量を計算する。yのプラス方向を「上」、マイナス方向を「下」とし、xのプラス方向を「右」、マイナス方向を「左」とし、作業ID「S0011」のオンライン操作変換表113(図35)に基づいて、3mm下は切り上げとし、作業IDを出力する。移動量がyのプラス方向に4mm、xのマイナス方向に3mmの場合、出力する作業IDは、「S0200」および「S0203」である。
オンライン操作処理部17は、起動時に、自身を起動した作業識別IDを保持し、作業IDに対応したオンライン操作変換表113を構築する(ステップS703)。
オンライン操作処理部17には、連続操作入力データ変換部16が出力した作業IDが入力され、当該作業IDと自身が保持する作業識別IDをセットにした作業情報を、操作装置送信部に出力する(ステップS704)。
続いて、オンライン操作処理部17は、リアルデータ表示部に作業IDを出力する(ステップS705)。
リアルデータ表示部18は、製造装置3のリアルデータ取得部35で取得され、送信されたリアルデータと作業IDの作業内容を表示する(ステップS706)。
オンライン操作処理部17は、連続操作入力データ変換部16が出力した作業IDがオンライン操作の終了を意味する作業IDか判定し(ステップS707)、オンライン操作の終了を意味する作業IDの場合(Yesの場合)は、連続操作入力データ変換部16と自身を休止し(ステップS708)、ステップS709に移行する。ステップS709では、作業コンテナ割り当て管理部12を介して、操作入力部4からの受け付けを未許可とする。
オンライン操作の終了を意味する作業IDではない場合(Noの場合)は、操作装置送信部13を介して作業情報を製造装置管理装置2の操作装置宛受信部21に送信する(ステップS710)。
次に、操作入力部4を介して取得した作業情報を製造装置管理装置2に送信した後の処理について、図29および図30に示すフローチャートを用いて説明する。
製造装置管理装置2の操作装置宛受信部21は、操作装置1から作業情報受信し(ステップS800)、作業管理部22は、入力された作業情報と作業:指示対応DB231(図12)に基づいて、作業情報の作業IDに対応する指示IDを取得する(ステップS801)。
続いて、作業管理部22は、作業情報に含まれる作業IDが追従作業であるかを判定し(ステップS802)、追従作業である場合(Yesの場合)は、取得した指示IDも追従指示とし(ステップS803)、ステップS804に移行する。一方、作業IDが追従作業ではない場合(Noの場合)は、ステップS804に移行する。
ステップS804では、作業情報に含まれる作業IDが即時作業であるかを判定し、即時作業である場合(Yesの場合)は、取得した指示IDも即時指示とし(ステップS805)、ステップS8051に移行する。一方、作業IDが即時作業ではない場合(Noの場合)は、ステップS8051に移行する。ステップS8051では、取得した指示IDを指示情報に格納して出力し、ステップS806に移行する。
製造装置割り当て部23は、入力された指示情報に基づいて、まず、指示が追従指示であるか判定する(ステップS806)。追従指示ではない場合(Noの場合)は、ステップS810に移行する。
一方、追従指示である場合(Yesの場合)は、ステップS807に移行し即時指示かを判定する。即時指示でない場合(Noの場合)は、ステップS812に移行する。
一方、即時指示の場合(Yesの場合)は、入力された指示情報の作業識別IDに該当する実行中指示情報の作業識別IDの製造装置IDを取得し(ステップS808)、製造装置IDと指示情報を出力する(ステップS809)。
ステップS810では、製造装置稼働情報251の実行可能指示IDリストに基づいて、指示を実行可能な製造装置を選択する。続いて、指示情報の作業識別IDと製造装置IDを履歴データに格納し(ステップS811)、図30のステップS813に移行する。
ステップS812では、指示情報の作業識別IDを履歴データから検索し、割り当てた製造装置IDを取得し、図30のステップS813に移行する。
次に、製造装置割り当て部23は、製造装置稼働情報251(図8)の取得した製造装置IDの実行中指示情報に指示情報が入っているかを確認し(ステップS813)、指示情報が入っていない場合(Noの場合)は、実行中指示リストに指示情報を格納し、製造装置IDと指示情報を出力し(ステップS814)、ステップS817に移行する。一方、実行中指示情報に指示情報が入っている場合(Yesの場合)は、実行待ち指示情報リストに指示情報を追加し(ステップS815)、ステップS816に移行する。
例えば、製造物aの製造工程2指示2操作1にあたる、作業識別ID「N0000」と指示ID「I0200」が入力された場合、指示ID「I0200」は追従指示かつ即時指示であるため、実行中指示情報の作業識別IDが、入力の指示情報の作業識別ID「N0000」である製造装置「M0002」を取得し、製造装置ID「M0002」と作業識別ID「N0000」と指示ID「I0200」の指示情報を出力する。
製造装置割り当て部23は、製造装置稼働情報251の全ての実行中指示情報を確認したかについて判定し(ステップS816)、未確認の実行中指示情報がある場合(Noの場合)は、ステップS813以下の処理を繰り返す。一方、製造装置稼働情報251の全ての実行中指示情報を確認した場合(Yesの場合)は、ステップS817に移行する。以下、ステップS817~S820で示される指示・命令変換部24から製造装置3の実行部32までの処理は、図4を用いて説明した実施の形態1のステップS35~S42の処理と同様であるので説明は省略する。
なお、操作入力部4から、製造工程2作業2終了にあたる動作が入力された場合、連続操作入力データ変換部16は、前述の通り、作業2終了のデジタルデータを抽出してオンライン操作変換表113(図35)の作業2終了に対応する作業ID「S0012」を出力する。
オンライン操作処理部17は、入力された作業ID「S0012」と作業識別ID「N0000」の作業情報を操作装置送信部13に出力する。続いて、リアルデータ表示部18に作業ID「S0012」を出力する。また、作業ID「S0012」はオンライン操作の終了を意味するので、連続操作入力データ変換部16とオンライン操作処理部17自身を休止する。
以後の、製造装置管理装置2の製造装置割り当て部23までの処理は、図28および図29を用いて説明した通りである。
製造装置割り当て部23は、作業識別ID「N0000」と指示ID「I0012」の指示情報が入力されと、上記と同様の流れで製造装置ID「M0002」の製造装置3に製造工程2作業2終了の命令が送信される。続いて、状態取得部33から製造装置管理装置2が製造工程2作業2終了に相当する状態データを受信すると、状態・指示変換部27が状態データから指示進捗「100」を求め、製造装置稼働情報251の製造装置ID「M0002」の実行中指示情報を削除する。続いて、作業管理部22が作業進捗「100」と作業情報を出力する。続いて、操作装置1の作業コンテナ割り当て管理部12が作業コンテナ割り当て情報111の「C0000」の実行中作業情報を削除し、操作入力許可を未許可にする。
<効果>
以上説明したように、本実施の形態4の遠隔操作システム400によれば、作業者は、作業中の製造物をリアルデータで確認しながら作業を実施することが可能となり、細部までこだわりたい作業または作業結果をリアルデータで確認して次の作業に移るなどの作業が可能となる。
<実施の形態5>
<装置構成>
図36は、実施の形態5の遠隔操作システム500の操作装置1の構成を示すブロック図である。本実施の形態5においては、操作装置1が作業計画読み込み部11の前段に排他制御部10を有し、排他制御部10を介して作業計画D1を読み込む構成であり、作業計画読み込み部11以外の構成は図1に示した操作装置1と同様であり、また、製造装置管理装置2および製造装置3の構成は、遠隔操作システム100と同じであるので、図示は省略し、重複する説明は省略する。
図36に示すように排他制御部10は、操作装置送信部13および操作装置受信部14を介して外部にあるサーバシステムSVに格納された作業コンテナ実行状態D20のデータを授受する構成となっている。
作業コンテナ実行状態D20を格納するサーバシステムSVは、複数の操作装置と接続されており、各操作装置は一意に割り当てられた操作装置名を有している。本実施の形態5では、操作装置Aおよび操作装置BがサーバシステムSVに接続された構成を示しているが、接続される操作装置数に限定はない。また、操作装置Aおよび操作装置Bは、それぞれが製造装置管理装置2および製造装置3を操作することもできるが、共通の製造装置管理装置2および製造装置3を操作することもできる。
図37は、作業コンテナ実行状態D20のデータ内容を示すテーブルであり、種類に対する作業コンテナIDおよび実行操作装置名が格納されている。種類と作業コンテナIDは予め設定され、作業計画読み込み時と作業コンテナ割り当て情報更新時に実行操作装置名が更新される。
排他制御部10は、操作装置Aが作業コンテナに対して作業を割り当てる際に、操作装置Bが当該作業コンテナに作業を割り当てていれば操作装置Aによる作業の割り当てを禁止し、操作装置Bが当該作業コンテナに作業を割り当てていなければ操作装置Aによる作業の割り当てを許可する排他制御を行う。
以下、図38に示すフローチャートを用いて、操作装置名「A」の操作装置1の動作を説明する。なお、以下では操作装置Aを「自身」と呼称する場合がある。
排他制御部10は、入力された作業計画D1の先頭の種類と作業IDを取得し(ステップS901)、作業コンテナ実行状態D20に基づいて、種類に対応する作業コンテナIDを取得する(S902)。
続いて、作業コンテナ実行状態D20から当該作業コンテナIDの実行操作装置名に格納されている操作装置名を取得する(ステップS903)。実行操作装置名に何も格納されていない場合、作業コンテナ実行状態D20の当該作業コンテナIDの実行操作装置名に自身の操作装置名、すなわち操作装置名「A」を格納する。
続いて、取得した種類と作業IDを出力する(ステップS904)。実行操作装置名に自身の操作装置名が格納されている場合も、取得した種類と作業IDを出力する。
ここで、所定の条件を満たす場合、すなわち、実行操作装置名に操作装置名が格納されており、それが自身の操作装置名でない場合、すなわち操作装置名「B」が格納されている場合は、読み込んだ種類と作業IDを破棄する。
上記ステップS901~S905の処理を作業計画D1の末端まで行ったかを確認し(ステップS906)、未達成の場合(Noの場合)は、作業計画D1に対してステップS901~S905の処理を繰り返し、達成した場合(Yesの場合)は、ステップS907に移行する。
作業計画読み込み部11は、排他制御部10から出力された種類と作業IDを入力とし、その後、作業識別IDを昇順に割り振る(ステップS907)。
次に、作業計画読み込み部11は、作業識別IDと作業IDをセットにした作業情報を、作業コンテナ割り当て情報111の作業コンテナIDの割り当て作業情報リストの末尾に格納し、割り当て作業数に1を加算する(ステップS908)。
以上のステップS907~S908の処理を作業計画D1の末端まで行ったかを確認し(ステップS909)、未達成の場合(Noの場合)は、ステップS907~S908の処理を繰り返し、達成した場合(Yesの場合)は、作業コンテナ割り当て管理部12の処理に移行する。
以降、作業コンテナ割り当て管理部12の処理から製造装置3の実行部32が命令を実行するまでの処理を実施の形態1と同様に行う。
なお、本実施の形態5では、作業コンテナ割り当て管理部12は、実施の形態1での処理に加えて以下の処理を行う。すなわち、作業コンテナ割り当て管理部12は、作業進捗「100」と実行中作業情報が入力された場合、実行中作業情報の作業識別IDから作業コンテナIDを取得する。続いて、作業コンテナ割り当て情報111から取得した作業コンテナIDの割り当て作業数と終了作業数が同じ場合、作業コンテナIDを排他制御部10に出力する。これは、作業進捗「100」となって製造装置3での作業が終わった場合の措置であり、排他制御部10は、作業コンテナ実行状態D20の入力された作業コンテナIDの実行操作装置名に格納されている装置名を削除することで、実行操作装置名の欄を未格納とし、次の操作装置名の格納を可能にする。
<効果>
以上説明したように、本実施の形態5の遠隔操作システム500によれば、操作装置Aが作業コンテナに対して作業を割り当てる際に、操作装置Bが当該作業コンテナに作業を割り当てていれば操作装置Aによる作業の割り当てを禁止し、操作装置Bが当該作業コンテナに作業を割り当てていなければ操作装置Aによる作業の割り当てを許可し、操作装置Bによる作業の実行を禁止する排他制御が可能となる。これによって、作業コンテナに対する作業の整合性を保つことが可能となる。
なお、本開示は、その開示の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。