"ハンド部によりワークを搬送するロボットと、前記ロボットの搬送動作を制御するロボット制御装置と、前記搬送動作がステップごとに動作命令と位置及び姿勢情報を含むデータにて記述された搬送プログラムと、前記搬送プログラムの前記ステップを前進方向又は後退方向に実行するプログラム実行手段と、前記前進方向又は前記後退方向を設定する実行方向設定手段と、前記ハンド部によるワークの搬送中と非搬送中の状態を検出する搬送状態検出手段と、からなるロボット搬送装置において、前記搬送プログラムの実行による前記搬送動作が停止され、教示操作盤からの復帰入力があった際は、前記搬送動作が搬出動作の場合、前記搬送状態検出手段により、前記搬送状態を取得し、前記搬送状態が非搬送中ならば、前記搬送プログラムの停止ステップから先頭ステップまで、前記後退方向に実行して前記搬送動作の始点に移動し、前記搬送状態が搬送中ならば、前記搬送プログラムの停止ステップから末尾ステップまで、前記前進方向に実行して前記搬送動作の終点に移動する、前記搬送動作が搬入動作の場合、前記搬送状態検出手段により、前記搬送状態を取得し、前記搬送状態が搬送中ならば、前記搬送プログラムの停止ステップから先頭ステップまで、前記後退方向に実行して前記搬送動作の始点に移動し、前記搬送状態が非搬送中ならば、前記搬送プログラムの停止ステップから末尾ステップまで、前記前進方向に実行して前記搬送動作の終点に移動する、ことを特徴とするロボット搬送装置。請求項1に記載のロボット搬送装置であって、搬出又は搬入の少なくとも一方の搬送をおこなう、ことを特徴とするロボット搬送装置。請求項1又は2のいずれか一項に記載のロボット搬送装置であって、加工機間を搬送する、ことを特徴とするロボット搬送装置。請求項1~3のいずれか一項に記載のロボット搬送装置であって、前記ロボット制御装置に対する原位置復帰命令により、前記ロボットが干渉せずに原位置復帰可能な位置に基準位置が設定され、前記搬出動作の始点及び終点、前記搬入動作の始点及び終点は、前記基準位置とする、ことを特徴とするロボット搬送装置。しかしながら、特許文献1のロボット搬送装置では、搬送プログラムを編集して、適切な動作区間と動作種別を設定するには、搬送プログラムの仕様を十分に理解している必要がある。そのため、搬送プログラムの編集は、搬送プログラムの仕様に精通した技術者に依頼するか、若しくは、搬送プログラムの仕様を理解した後におこなうしかなく、容易ではない。また、搬送プログラムを編集して、動作区間と動作種別を設定した後は、動作区間ごとに確認をおこなう必要がある。そして、確認の結果により問題があれば、再度修正して確認する、という繰り返し作業となるため、搬送プログラムに動作区間と動作種別を設定するのは、手間のかかるものであった。本発明は、上記問題点を解決するためになされたものであって、その目的は、搬送動作途中の停止位置から、ロボットが干渉することなく、動作開始位置へ戻ることが簡単にできるロボット搬送装置を提供することにある。上記問題点を解決するために提供される請求項1に記載の発明は、ハンド部によりワークを搬送するロボットと、前記ロボットの搬送動作を制御するロボット制御装置と、前記搬送動作がステップごとに動作命令と位置及び姿勢情報を含むデータにて記述された搬送プログラムと、前記搬送プログラムの前記ステップを前進方向又は後退方向に実行するプログラム実行手段と、前記前進方向又は前記後退方向を設定する実行方向設定手段と、前記ハンド部によるワークの搬送中と非搬送中の状態を検出する搬送状態検出手段と、からなるロボット搬送装置において、前記搬送プログラムの実行による前記搬送動作が停止され、教示操作盤からの復帰入力があった際は、前記搬送動作が搬出動作の場合、前記搬送状態検出手段により、前記搬送状態を取得し、前記搬送状態が非搬送中ならば、前記搬送プログラムの停止ステップから先頭ステップまで、前記後退方向に実行して前記搬送動作の始点に移動し、前記搬送状態が搬送中ならば、前記搬送プログラムの停止ステップから末尾ステップまで、前記前進方向に実行して前記搬送動作の終点に移動する、前記搬送動作が搬入動作の場合、前記搬送状態検出手段により、前記搬送状態を取得し、前記搬送状態が搬送中ならば、前記搬送プログラムの停止ステップから先頭ステップまで、前記後退方向に実行して前記搬送動作の始点に移動し、前記搬送状態が非搬送中ならば、前記搬送プログラムの停止ステップから末尾ステップまで、前記前進方向に実行して前記搬送動作の終点に移動する、ことを特徴とする。本請求項のロボット搬送装置は、ワーク搬送動作の途中からの復帰動作にて、搬送動作種別とワーク搬送状態に応じて、実行方向を設定するので、設定された実行方向に搬送プログラムを実行することで、干渉せずに始点又は終点に移動することができる。請求項2に記載の発明は、請求項1に記載のロボット搬送装置であって、搬出又は搬入の少なくとも一方の搬送をおこなう、ことを特徴とする。本請求項のロボット搬送装置は、搬出又は搬入のワーク搬送動作の途中からの復帰動作にて、ワーク搬送状態に応じて、実行方向を設定するので、設定された実行方向に搬送プログラムを実行することで、干渉せずに始点又は終点に移動することができる。請求項3に記載の発明は、請求項1又は2のいずれか一項に記載のロボット搬送装置であって、加工機間を搬送する、ことを特徴とする。本請求項のロボット搬送装置は、加工機間でワークを搬送動作の途中からの復帰動作にて、ワーク搬送状態に応じて、実行方向を設定するので、設定された実行方向に搬送プログラムを実行することで、干渉せずに始点又は終点に移動することができる。請求項4に記載の発明は、請求項1~3のいずれか一項に記載のロボット搬送装置であって、前記ロボット制御装置に対する原位置復帰命令により、前記ロボットが干渉せずに原位置復帰可能な位置に基準位置が設定され、前記搬出動作の始点及び終点、前記搬入動作の始点及び終点は、前記基準位置とする、ことを特徴とする。本請求項のロボット搬送装置は、ワーク搬出動作及びワーク搬入動作の途中からの復帰動作後、原位置復帰命令を実行することで、干渉せずに原位置復帰が可能なため、原位置を初期状態として、複数の搬出及び搬入動作を切り替えて動作させることが容易となる。本発明によれば、搬送動作途中の停止位置から、ロボットが干渉することなく、動作開始位置へ戻ることが簡単にできるロボット搬送装置を提供できる。以下、本発明の実施形態を図面に従って説明する。図1は、本発明の実施形態を示すロボット搬送装置の構成を示すブロック図であり、図2は、動作説明図である。図3は、PLCのシーケンスプログラムの説明図であり、図4は、搬出プログラムの説明図である。図5~図7は、搬送動作及び復帰動作、プログラム実行処理のフローチャートである。まず、本実施形態のロボット搬送装置1の動作について説明する。図2に示すように、本実施形態のロボット搬送装置1は、3台の加工機M1,M2,M3に対し、工程順にワークWの搬送動作をおこなうように構成されている。加工機M1,M2,M3は、略L字に配置されており、ロボット50は、各加工機の正面方向に設置され、各加工機に対してワークWの搬送動作を可能にしている。各加工機及びロボット50は、安全柵101で囲われており、ロボット制御装置100及び教示操作盤30は、安全柵101の外側に配置されている。ロボット搬送装置1の自動運転においては、第1工程から開始され、第2工程、第3工程と、工程順に動作した後、再び第1工程に戻るサイクルを連続して動作するようになっている。ここで、第1工程は、加工機M1に対しワークWの搬出動作をおこない、第2工程は、加工機M2に対しワークWの搬入及び搬出動作をおこない、第3工程は、加工機M3に対しワークWの搬入及び搬出動作をおこなう。第1工程は、ワーク非搬送状態にて、位置P0から、加工機内の位置P1、P2、P3の順に移動する。ロボット50は、位置P3にてワークWを把持ワーク搬送状態し、同時に、加工機M1の治具J1は、ワークWを解放して、ワークWを搬出可能にする。続いて、ロボット50は、ワーク搬送状態にて、位置P3からP4、加工機外の位置P5の順に移動し、最後に位置P0に移動して終了する。この位置P1~P3は、ワーク非搬送状態にて、干渉の発生しない移動経路となるように教示された位置であり、位置P3~P5は、ワーク搬送状態にて、干渉の発生しない移動経路となるように教示された位置である。そして、位置P0は、第1工程の搬出動作の始点かつ終点である。また、位置P0は、ロボット制御装置100に対し、原位置復帰の移動命令を実行することにより、ロボット50が干渉せずに原位置復帰可能な基準位置でもある。位置P10は第2工程の始点かつ終点であり、位置P20は第3工程の始点かつ終点であり、ともに基準位置である。自動運転時の各工程は、これらの基準位置、又は原位置を介して、切り替えられる。第2工程では、第1工程から搬出したワークWを、加工機M2に搬入し、加工完了後、加工機M2から搬出して終了する。同様に、第3工程では、第2工程から搬出したワークWを、加工機M3に搬入し、加工完了後、加工機M3から搬出して終了する。第2工程及び第3工程の動作と移動経路については説明を省略する。次に、本実施形態のロボット搬送装置1の構成について説明する。図1に示すように、ロボット制御装置100には、CPU20のバス21を介して、ROM22、RAM23、プログラムメモリ24、パラメータメモリ25、操作盤インターフェース26,サーボインターフェース27、信号入出力インターフェース28が接続されている。ROM22は、システムプログラム22a格納されている。RAM23は、システムプログラム22aが、ロボットプログラムを実行する際に使用されるワークメモリ23aが設けられている。システムプログラム22aは、CPU20により実行されてロボット搬送装置1の全体を制御する。また、プログラム実行処理、及び実行方向設定手段、等を有している。プログラムメモリ24には、ロボットプログラムである搬出プログラム24a、搬入プログラム24b及び位置姿勢データ24cが格納されている。搬出プログラム24aは、ワークをハンド部52により把持して搬出する命令がステップ順に記述されている。搬入プログラム24bは、ワークをハンド部52により把持して搬出する命令がステップ順に記述されている。位置姿勢データ24cは、搬出プログラム24a及び搬入プログラム24bから参照され、移動命令に対応する位置及び姿勢のデータを有している。パラメータメモリ25には、実行方向パラメータ25aが設けられている。実行方向パラメータ25aには、プログラムの実行方向を指定する前進方向又は後退方向の設定があり、実行方向設定手段により設定され、プログラム実行処理にて参照される。実行方向設定手段は、自動運転時の実行方向パラメータ25aを前進方向に設定する。また、信号入出力インターフェース28を介して、所定の信号で示された方向を実行方向パラメータ25aに設定する。プログラム実行処理は、実行方向パラメータ25aを参照して、前進方向と呼ばれるステップ番号を昇順に実行すること、及び後退方向と呼ばれるステップ番号を降順に実行することができる。操作盤インターフェース26には、操作盤ケーブル11を介して、教示操作盤30が接続されている。教示操作盤30には、キーボードや押しボタンが備えられており、キー入力及び押しボタン操作により、ロボット50を手動操作することができる。サーボインターフェース27には、通信ケーブル12を介して、ロボット本体部51の各軸に取り付けられたサーボモータ図示せずに接続されている。信号入出力インターフェース28には、信号入出力ケーブル13を介して、PLC40が接続されており、PLC40との信号の入出力がおこなわれる。PLC40は、シーケンスプログラム41を内蔵し、ロボット50のハンド部52に備えたチャック装置53、加工機M1~M3の治具J1~J3等の機器が接続されており、ワーク把持の制御及びワーク搬送状態の検出ができる。また、信号入出力ケーブル13及び信号入出力インターフェース28を介して、ロボット制御装置100と接続されている。PLC40は、シーケンスプログラム41により、PLC40に接続された機器の信号の監視と制御、ロボット制御装置100との信号の入出力が可能である。PLC40は、ロボット制御装置100とは、非同期的に動作するが、シーケンスプログラム41により、信号入出力インターフェース28の信号を介して、接続された機器とロボット50を同期的に動作させることもできる。ロボット50は、垂直多関節構造を有するロボット本体部51と、ハンド部52とから構成されており、ハンド部52には、ワークを把持するチャック装置53を備えている。加工機M1~M3は、それぞれ機上にワークを固定する治具を備えている。ロボット制御装置100は、各工程の搬入及び搬出動作に対応する搬出プログラム24a又は搬入プログラム24bを有しており、各工程の動作ごとにプログラムが選択される。選択されたプログラムは、プログラム実行処理により、ステップ順に処理されて、ロボット動作に変換される。以下、本実施形態のロボット搬送装置1の搬送動作及び復帰動作、プログラム実行処理を図5~図7に示すフローチャートに従って説明する。図5に示すように、ロボット制御装置100は、自動運転において、搬送動作が開始されると、選択された搬出プログラム24a又は搬入プログラム24bをワークメモリ23a上に読み出す。ステップS001次に、ワークメモリ23a上のプログラムの先頭ステップに、実行ポインタを設定する。ステップS002そして、プログラム実行処理を呼び出す。ステップS003図6に示すように、プログラム実行処理は、実行ポインタで示されるステップを実行する。ステップS011ステップの命令が移動命令の場合、命令から指定された位置姿勢データ24cが参照され、ステップを実行することで、ロボット50の各軸の指令値に変換され、サーボインターフェース27を介して、各軸のサーボモータに指令されて、ロボット50が動作する。ステップの命令が入出力命令の場合、命令から指定された信号を、信号入出力インターフェース24を介して、入出力することにより、PLC40に接続された機器を制御する。実行ポインタで示されるステップの命令を実行完了した後は、次ステップ番号取得処理を呼び出し、次ステップ番号を取得する。ステップS012この時、次ステップ番号が取得されなければ、プログラム実行を終了して、動作を停止する。ステップS013次ステップ番号取得処理から、戻り値の次ステップ番号が取得されたら、実行ポインタを次ステップ番号に移動し、ステップS002へ戻る。ステップS014このようにして、プログラムは先頭ステップから末尾ステップまで、ステップS011~ステップS014の処理ループにより順次処理される。図7に示すように、次ステップ番号取得処理は、プログラム実行処理から呼び出され、実行方向パラメータ25aを参照する。ステップS021実行方向パラメータ25aが前進方向であれば、現在ステップ番号に1加算したステップ番号を次ステップ番号とする。ステップS022実行方向パラメータ25aが後退方向であれば、現在ステップ番号に1減算したステップ番号を次ステップ番号とする。ステップS023そして、次ステップ番号と先頭ステップ番号、及び、次ステップ番号と末尾ステップ番号を大小比較する。ステップS024、ステップS025次ステップ番号が先頭ステップ番号より小さい、又は、末尾ステップ番号より大きい場合は、戻り値はなし取得できないとされる。ステップS026次ステップ番号が先頭ステップ番号以上、末尾ステップ番号以下の場合は、次ステップ番号を戻り値とする。ステップS027また、図5に示すように、ロボット制御装置100は、復帰動作が開始されると、選択プログラムの読み出しステップS001、及び、実行ポインタの設定ステップS002をおこなわずに、プログラム実行処理を呼び出す。ステップS003復帰動作は、停止前のワークメモリ23a上の搬出プログラム24a又は搬入プログラム24bと、停止前の実行ポインタが使用される。プログラム実行処理は、搬送動作時と同じであるため、説明を省略する。以下、本発明の実施形態を示すロボット搬送装置1のシーケンスプログラム41について説明する。図3に示すように、シーケンスプログラム41は、PLC40に内蔵され、選択プログラムの種別と、教示操作盤30による復帰動作入力と、ワーク搬送中の回路条件から、ロボット制御装置100に、プログラム実行方向を指令する。この回路において、搬出プログラム選択L001及び搬入プログラム選択L002は、自動運転において、どちらか一方が選択されてオンする入力信号である。復帰動作入力L010は、教示操作盤30から作業者が復帰動作指令を入力するとオンする入力信号である。ワーク搬送中L020は、チャック装置53がワーク把持状態のときオンし、ワーク非把持状態のときオフする入力信号である。プログラム実行方向L100は、PLC40からロボット制御装置100に、プログラム実行方向を指令する出力信号であり、信号のオン状態は後退方向を示し、信号のオフ状態は前進方向を示している。搬出プログラム選択L001の入力信号と、復帰動作入力L010の入力信号と、ワーク搬送中L020の反転入力信号の論理積が真であれば、プログラム実行方向L100の出力信号をオンする。搬入プログラム選択L002の入力信号と、復帰動作入力L010の入力信号と、ワーク搬送中L020の入力信号の論理積が真であれば、プログラム実行方向L100の出力信号をオフする。ロボット制御装置100は、実行方向設定手段により、信号入出力インターフェース28を介して、プログラム実行方向L100の出力信号で指令された方向を、実行方向パラメータ25aに設定する。このように構成されたロボット搬送装置1において、搬送動作途中の停止位置からの動作開始位置への復帰動作について、図2の動作説明図と、図4の搬出プログラム説明図を用いて説明する。図4に示すように、ロボット制御装置100は、自動運転にて、搬出プログラムが選択されると、プログラムの先頭ステップ番号0001に実行ポインタが設定され、プログラム実行を開始する。最初に、実行ポインタが示すステップ番号0001が実行されて、ロボット50は、現在位置から搬出動作の始点である位置P0へ移動する。次に、プログラム実行処理から次ステップ番号取得処理が呼び出され、実行方向パラメータ25aが参照されると、前進方向であるので、ステップ番号0002が次ステップ番号となり、実行ポインタがステップ番号0002に更新される。実行ポインタが示すステップ番号0002の実行により、ロボット50は、位置P0から加工機M1内の位置P1へ移動する。続いて、ステップ番号0003が次ステップ番号となり、ステップ番号0003の実行により、ロボット50は、位置P1から位置P2へ移動する。このように、ステップが前進方向に順次実行されることにより、搬出動作がおこなわれる。ここで、ステップ番号0004が実行され、位置P2からP3へ移動する途中にトラブルが発生し、停止信号が出されたとすると、自動運転のプログラム実行は一時停止され、ロボット50は、加工機M1内で動作を停止することとなる。以下、この停止位置をP2’とする。プログラム実行の一時停止により、実行ポインタは停止前に示していたステップ番号0004が維持されている。また、自動運転の停止と同時に教示操作盤30の手動操作が有効となり、教示操作盤30から復帰動作の入力が可能な状態となる。教示操作盤30から復帰動作が入力されると、プログラム実行が再開され、復帰動作が開始される。この時PLC40内蔵のシーケンスプログラム41は、搬出プログラムの選択と、復帰動作の入力と、ワーク非搬送中の回路条件により、プログラム実行方向を後退方向に指令する信号を出力する。ロボット制御装置100の実行方向設定手段は、この指令を受けて、実行方向パラメータ25aに後退方向を設定する。ロボット制御装置100は、プログラム実行の再開とともに、停止時のステップ番号0004が実行され、ロボット50は、停止位置P2’からP3へ移動する。ステップ番号0004実行完了後、プログラム実行処理から次ステップ番号取得処理が呼び出され、実行方向パラメータ25aが参照されると、後退方向であるので、ステップ番号0003が次ステップ番号となり、実行ポインタがステップ番号0003に更新される。ステップ番号0003が実行されると、ロボット50は、位置P2’からP2へ移動する。続いて、ステップ番号0002が次ステップ番号となり、ステップ番号0002の実行により、ロボット50は、位置P2から位置P1へ移動する。このように、ステップが後退方向に実行されることにより、復帰動作がおこなわれる。続いて、後退方向のステップ番号0001が実行されて、ロボット50は、位置P1からP0へ移動する。そして、ステップ番号0001は先頭ステップ番号であるので、後退方向の次ステップ番号は取得できないため、プログラムの実行を終了する。この位置P0~P3は、ワーク非搬送にて、干渉の発生しない移動経路となるように教示された位置であるので、この移動経路上の位置であるP2’から、ワーク非搬送状態で経路上を移動することにおいて、干渉が発生することはない。また、プログラム実行が前進方向におこなわれ、ステップ番号0001~ステップ番号0004が実行されると、ロボット50は、位置P0,P1,P2,P3へと順に移動する。次のステップ番号0005では、位置P3にて、ワーク把持処理が呼び出され、ハンド部に備えたチャック装置53により、ワークWが把持される。それとともに、加工機M1の治具J1はワークWを解放し、ワークWを搬出可能とする。ここで、次のステップ番号0006が実行され、位置P3からP4へ移動する途中にトラブルが発生し、停止信号が出されたとすると、自動運転のプログラム実行は一時停止され、ロボット50は、加工機M1内でワークを把持した状態にて、動作を停止することとなる。以下、この停止位置をP3’とする。プログラム実行の一時停止により、実行ポインタは停止前に示していたステップ番号0006が維持されている。また、自動運転の停止と同時に教示操作盤30の手動操作が有効となり、教示操作盤30から復帰動作の入力が可能な状態となる。教示操作盤30から復帰動作が入力されると、プログラム実行が再開され、復帰動作が開始される。この時PLC40内蔵のシーケンスプログラム41は、搬出プログラムの選択と、復帰動作の入力と、ワーク搬送中の回路条件により、プログラム実行方向25aを前進方向に指令する信号を出力する。ロボット制御装置100の実行方向設定手段は、この指令を受けて、実行方向パラメータに前進方向を設定する。ロボット制御装置100は、プログラム実行の再開とともに、停止時のステップ番号006が実行され、ロボット50は、停止位置P3’からP4へ移動する。ステップ番号006実行完了後、プログラム実行処理から次ステップ番号取得処理が呼び出され、実行方向パラメータ25aが参照されると、前進方向であるので、ステップ番号0007が次ステップ番号となり、実行ポインタがステップ番号0007に更新される。ステップ番号0007が実行されると、ロボット50は、位置P4からP5へ移動する。このように、ステップが前進方向に実行されることにより、復帰動作がおこなわれる。続いて、ステップ番号0008が次ステップ番号となり、ステップ番号0008の実行により、ロボット50は、位置P5から位置P0へ移動する。そして、ステップ番号0008は末尾ステップ番号であるので、前進方向の次ステップ番号は取得できないため、プログラムの実行を終了する。位置P3~P5及びP0は、ワーク搬送中にて、干渉の発生しない移動経路となるように教示された位置であるので、この移動経路上の位置であるP3’から、ワーク搬送状態で経路上を移動することにおいて、干渉が発生することはない。このように、本発明のロボット搬送装置によれば、搬送動作途中の停止位置からの動作開始位置への復帰動作において、ロボットが干渉することがなく、動作開始位置に戻ることができる。また、復帰用プログラムの作成を不要とし、搬出及び搬入プログラムと、対応する位置姿勢データをそのまま使用しているため、プログラム編集や動作確認の手間もからない。"