(57)【特許請求の範囲】
【請求項１】
ロボットを含む作業システムをシーケンス制御するための制御プログラムを生成するシーケンス制御プログラミング装置であって、
前記作業システムが実行する所定の作業に関連する複数種類の指令のそれぞれをラダーロジックにより別々に記述した複数種類の既定ラダーであって、各種類の既定ラダーについて異なる指令内容の複数の既定ラダーが用意されている複数種類の既定ラダーを記憶する記憶部と、
前記各種類の既定ラダーにおける複数の既定ラダーの各々の選択欄を含む選択シートを作成する手段と、
前記選択シートの前記選択欄に行われる選択入力であって、前記各種類の既定ラダーにおける複数の既定ラダーから１つの既定ラダーを選択することで前記複数種類の既定ラダーから複数の所望の既定ラダーを選択する選択入力を受け付ける選択入力部と、
前記選択入力に従って前記記憶部から前記複数の所望の既定ラダーを抽出し、抽出した前記複数の所望の既定ラダーを組み合わせて、前記作業システムに前記所定の作業を実行させるための１つのシステム対応ラダーに変換することで、前記制御プログラムを生成するプログラム生成部と、
を具備するシーケンス制御プログラミング装置。
【請求項２】
前記記憶部は、予め記憶した前記複数種類の既定ラダーに追加して、前記複数種類の指令とは異なる指令であって前記所定の作業に関連する新たな指令をラダーロジックにより記述した新たな既定ラダーを記憶でき、
前記選択入力部は、前記複数種類の既定ラダーと前記新たな既定ラダーとから前記複数の所望の既定ラダーを選択する選択入力を受け付ける、
請求項１に記載のシーケンス制御プログラミング装置。
【請求項３】
前記記憶部に記憶した前記複数種類の既定ラダーの各々に対し必要に応じてパラメータを設定するパラメータ入力を受け付けるパラメータ入力部をさらに具備し、
前記プログラム生成部は、前記記憶部から抽出した前記複数の所望の既定ラダーに対し前記パラメータ入力に従って前記パラメータを追記し、前記パラメータを追記した前記複数の所望の既定ラダーを前記１つのシステム対応ラダーに変換する、
請求項１又は２に記載のシーケンス制御プログラミング装置。
【請求項４】
前記記憶部に記憶した前記既定ラダーに対し必要に応じて前記指令を修正する修正入力を受け付ける修正入力部をさらに具備する、請求項１〜３のいずれか１項に記載のシーケンス制御プログラミング装置。
【請求項５】
前記選択入力部は、前記選択入力で選択した前記複数の所望の既定ラダーの実行順序を指定する順序指定入力をさらに受け付けることができ、
前記プログラム生成部は、前記順序指定入力に従い、前記記憶部から抽出した前記複数の所望の既定ラダーを前記実行順序に整列させて前記１つのシステム対応ラダーに変換する、
請求項１〜４のいずれか１項に記載のシーケンス制御プログラミング装置。
【請求項６】
請求項１〜５のいずれか１項に記載のシーケンス制御プログラミング装置と、
ロボットと、
前記ロボットと協働する作業機器と、
前記シーケンス制御プログラミング装置が生成した前記制御プログラムに従って、前記ロボット及び前記作業機器の少なくとも一方を制御するコントローラと、
を具備する作業システム。
【請求項７】
ロボットを含む作業システムをシーケンス制御するための制御プログラムをシーケンス制御プログラミング装置が生成するシーケンス制御プログラミング方法であって、
前記作業システムが実行する所定の作業に関連する複数種類の指令のそれぞれをラダーロジックにより別々に記述した複数種類の既定ラダーであって、各種類の既定ラダーについて異なる指令内容の複数の既定ラダーが用意されている複数種類の既定ラダーを用意し、
前記各種類の既定ラダーにおける複数の既定ラダーの各々の選択欄を含む選択シートを作成し、
前記選択シートの前記選択欄に行われる選択入力であって、前記各種類の既定ラダーにおける複数の既定ラダーから１つの既定ラダーを選択する選択入力に従って、前記複数種類の既定ラダーから複数の所望の既定ラダーを抽出し、
抽出した前記複数の所望の既定ラダーを組み合わせて、前記作業システムに前記所定の作業を実行させるための１つのシステム対応ラダーに変換することで、前記制御プログラムを生成する、
シーケンス制御プログラミング方法。
【請求項８】
抽出した前記複数の所望の既定ラダーに対し必要に応じてパラメータを追記し、前記パラメータを追記した前記複数の所望の既定ラダーを前記１つのシステム対応ラダーに変換する、請求項７に記載のシーケンス制御プログラミング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンス制御のための制御プログラムを生成するシーケンス制御プログラミング装置及びシーケンス制御プログラミング方法に関する。本発明はまた、シーケンス制御プログラミング装置を備えた作業システムに関する。
【背景技術】
【０００２】
互いに協働するロボット及び作業機器（例えばエンドエフェクタ、加工機、運搬装置等）を含む作業システムは、多種多様な構成を有することができる。一旦設計した作業システムの構成を、ロボットや作業機器の種類や台数等の変更に応じて設計し直すことも一般的に行われている。作業システムの設計は、ロボットや作業機器をシーケンス制御するための制御プログラムを作成する行為を含む。シーケンス制御のための制御プログラムは通常、ラダーロジックとして知られる特殊な記述方式により種々の指令やパラメータを記述しており、制御プログラムを作成するためにはラダーロジックを用いたプログラミングに関する知識と熟練が要求される。また制御プログラムは、作業システムを統合的に制御するＰＬＣ（プログラマブルロジックコントローラ）やロボットを制御するロボットコントローラ等の、各種コントローラのメモリに格納されるが、制御プログラムを書き替えたときには書き替え後の新たな制御プログラムもメモリに追加して格納されるので、大容量のメモリが必要になったり各種コントローラの演算処理に影響が及ぼされたりする場合がある。
【０００３】
例えば特許文献１は、産業用ロボットの初期設定方法として、産業用ロボットに接続される複数の周辺機器に一連の動作を行わせる動作プログラムを含むラダープログラムを作成しておき、このラダープログラムに対し、個々の周辺機器を動作させるか否かをタッチパネルの入力スイッチで選択して入力することで、実際の作業の要求に応じた制御プログラムを作成できるようにしたものを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２６４９２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ロボットを含む作業システムをシーケンス制御するための制御プログラムを生成する技術において、作業システムの多種多様な構成に対応した制御プログラムの作成や書き換えを容易に行えるようにすること、及び作業システムのコントローラのメモリの大容量化や格納データの増加による演算処理への影響を回避できるようにすることが望まれている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ロボットを含む作業システムをシーケンス制御するための制御プログラムを生成するシーケンス制御プログラミング装置であって、作業システムが実行する所定の作業に関連する複数種類の指令のそれぞれをラダーロジックにより別々に記述した複数種類の既定ラダーであって、各種類の既定ラダーについて異なる指令内容の複数の既定ラダーが用意されている複数種類の既定ラダーを記憶する記憶部と、各種類の既定ラダーにおける複数の既定ラダーの各々の選択欄を含む選択シートを作成する手段と、選択シートの選択欄に行われる選択入力であって、各種類の既定ラダーにおける複数の既定ラダーから１つの既定ラダーを選択することで複数種類の既定ラダーから複数の所望の既定ラダーを選択する選択入力を受け付ける選択入力部と、選択入力に従って記憶部から複数の所望の既定ラダーを抽出し、抽出した複数の所望の既定ラダーを組み合わせて、作業システムに所定の作業を実行させるための１つのシステム対応ラダーに変換することで、制御プログラムを生成するプログラム生成部と、を具備するシーケンス制御プログラミング装置である。
【０００７】
本発明の他の態様は、上記したシーケンス制御プログラミング装置と、ロボットと、ロボットと協働する作業機器と、シーケンス制御プログラミング装置が生成した制御プログラムに従って、ロボット及び作業機器の少なくとも一方を制御するコントローラと、を具備する作業システムである。
【０００８】
本発明のさらに他の態様は、ロボットを含む作業システムをシーケンス制御するための制御プログラムをシーケンス制御プログラミング装置が生成するシーケンス制御プログラミング方法であって、作業システムが実行する所定の作業に関連する複数種類の指令のそれぞれをラダーロジックにより別々に記述した複数種類の既定ラダーであって、各種類の既定ラダーについて異なる指令内容の複数の既定ラダーが用意されている複数種類の既定ラダーを用意し、各種類の既定ラダーにおける複数の既定ラダーの各々の選択欄を含む選択シートを作成し、選択シートの選択欄に行われる選択入力であって、各種類の既定ラダーにおける複数の既定ラダーから１つの既定ラダーを選択する選択入力に従って、複数種類の既定ラダーから複数の所望の既定ラダーを抽出し、抽出した複数の所望の既定ラダーを組み合わせて、作業システムに所定の作業を実行させるための１つのシステム対応ラダーに変換することで、制御プログラムを生成する、シーケンス制御プログラミング方法である。
【発明の効果】
【０００９】
一態様に係るシーケンス制御プログラミング装置によれば、プログラム生成部が、予め記憶部に記憶した複数種類の既定ラダーから、選択入力部が受け付けた選択入力に従って複数の所望の既定ラダーを抽出し、それら抽出した既定ラダーを組み合わせて１つのシステム対応ラダーに変換することで制御プログラムを生成するようにしたので、作業システムの多種多様な構成に対応した制御プログラムの作成や書き換えを容易に行えるようにすることができる。また、作業システムには、現実の作業システムの構成に対応する制御プログラムのみを与えればよいので、作業システムが有するコントローラのメモリの大容量化や格納データの増加による演算処理への影響を回避できる。
【００１０】
他の態様に係る作業システムによれば、システム設計者は、所望の既定ラダーの選択入力を行うとともに、選択した既定ラダーに対するパラメータ入力を改めて行うだけで、現実の作業システムに対応するように制御プログラムを作成したり書き替えたりすることができる。
【００１１】
さらに他の態様に係るシーケンス制御プログラミング方法によれば、シーケンス制御プログラミング装置の前述した効果と同等の効果が奏される。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態によるシーケンス制御プログラミング装置の構成を示す機能ブロック図である。
【図２】第２の実施形態によるシーケンス制御プログラミング装置の構成を示す機能ブロック図である。
【図３】一実施形態による作業システムの構成を模式図的に示す図である。
【図４】シーケンス制御プログラミング装置で用いられる選択シートの一例を示す図である。
【図５】シーケンス制御プログラミング装置で用いられる設定シートの一例を示す図である。
【図６】図４の選択シートで選択された既定ラダーのフォルダ群の一例を示す図である。
【図７】図６の１つのフォルダに収容した既定ラダーを示す図である。
【図８】図６のフォルダ群をパラメータ設定後の状態で示す図である。
【図９】図８の１つのフォルダに収容した既定ラダーを示す図である。
【図１０】図８のフォルダ群が有する複数の既定ラダーを変換した１つのシステム対応ラダーを示す図である。
【図１１】第３の実施形態によるシーケンス制御プログラミング装置の構成を示す機能ブロック図である。
【図１２】一実施形態によるシーケンス制御プログラミング方法を示すフローチャートである。
【図１３】ラダー変換アルゴリズムの一例を示すフローチャートである。
【図１４】図１３のラダー変換アルゴリズムで用いられるラダー編集用画面の図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施の形態を説明する。全図面に渡り、対応する構成要素には共通の参照符号を付す。
【００１４】
図１は、第１の実施形態によるシーケンス制御プログラミング装置１０の構成を機能ブロック図で示す。シーケンス制御プログラミング装置１０は、ロボット１２を含む作業システム１４をシーケンス制御するための制御プログラムＰを生成するものである。シーケンス制御プログラミング装置１０は、作業システム１４が実行する所定の作業に関連する複数種類の指令のそれぞれをラダーロジックにより別々に記述した複数種類の既定ラダーＬｇを記憶する記憶部１６と、複数種類の既定ラダーＬｇから複数の所望の既定ラダーＬｇを選択する選択入力を受け付ける選択入力部１８と、選択入力に従って記憶部１６から複数の所望の既定ラダーＬｇを抽出し、抽出した複数の所望の既定ラダーＬｇを組み合わせて、作業システム１４に所定の作業を実行させるための１つのシステム対応ラダーＬｓに変換することで、制御プログラムＰを生成するプログラム生成部２０とを備える。
【００１５】
シーケンス制御プログラミング装置１０は、例えばパーソナルコンピュータ等の、作業システム１４を制御するコントローラ２２とは別の演算処理装置により構成される。作業システム１４は、互いに協働するロボット１２及び作業機器（例えばエンドエフェクタ、加工機、運搬装置等）２４を少なくとも含み、実行しようとする作業に応じた多種多様な構成を有することができる。コントローラ２２は、作業システム１４を統合的に制御するＰＬＣ（プログラマブルロジックコントローラ）やロボット１２を制御するロボットコントローラ等の各種コントローラを含む。作業システム１４の設計者は、作業内容に応じてロボット１２や作業機器２４の種類や台数等を決定するとともに、ロボット１２や作業機器２４をシーケンス制御するためにコントローラ２２に与える制御プログラムＰを用意する。シーケンス制御プログラミング装置１０は、従来一般に作業システムの設計者が全て行っていた制御プログラムの作成を支援するものである。
【００１６】
記憶部１６には、作業システム１４の設計に先立ち、複数種類の既定ラダーＬｇが予め格納される。これら既定ラダーＬｇは、作業システム１４が所定の作業（例えば加工機によるワーク加工）を実行するために必要となり得ることが想定される複数種類の指令（例えばロボットや加工機への動作指令）のそれぞれを、ラダーロジックにより別々に記述したものである。個々の既定ラダーＬｇは制御プログラムＰの一部を構成できるが、１つの既定ラダーＬｇだけでは１サイクルの作業を完遂できない。なお既定ラダーＬｇには、指令に加えて、当該指令を現実の作業システム１４の構成に合わせて具体化するための種々のパラメータを予め記述しておくことができる。或いは、既定ラダーＬｇにはパラメータを記述せず、システム設計段階で個々の既定ラダーＬｇに対し必要に応じてパラメータを追記するようにしてもよい。
【００１７】
記憶部１６に記憶される複数種類の既定ラダーＬｇは、作業システム１４の設計者が、作業システム１４で実行しようとする作業の内容に応じて用意するものであって、一組のラダーパッケージとして記憶部１６に格納できる。ラダーパッケージには、作業システム１４が所定の作業を実行するために必要となることが想定されない無関係の既定ラダーは含まれない。設計者が多種多様な作業システムを設計することを考慮して、それぞれの作業システムで想定される既定ラダーＬｇを別個の異種のラダーパッケージの形式で用意し、それら異種のラダーパッケージを記憶部１６に格納しておくこともできる。
【００１８】
選択入力部１８は、作業システム１４の設計者が例えばパーソナルコンピュータの入力機能を用いて行う既定ラダーＬｇの選択入力を受け付けて、入力事項をプログラム生成部２０に送ることができる。作業システム１４の設計者は、作業システム１４が所定の作業を実行するために必要となり得ることが予め想定されていた複数種類の既定ラダーＬｇから、実際に設計した現実の作業システム１４で必要とされる複数の所望の既定ラダーＬｇを選択する。
【００１９】
作業システム１４が所定の作業を完遂するためには、コントローラ２２はロボット１２や作業機器２４に種々の指令を与える必要がある。同一種類の作業（例えば加工機によるワーク加工）であっても、ロボット１２や作業機器２４の種類やワーク形状等の諸条件が変わると、それに応じて指令の内容も変更する必要がある。記憶部１６に予め記憶される複数種類の既定ラダーＬｇは、同一種類の作業であれば必要となるかもしれない指令を広範に集めたものに相当する。選択入力部１８が受け付ける選択入力で選択された複数の所望の既定ラダーＬｇは、それら広範に集めた既定ラダーＬｇから、現実の作業システム１４で必要となることが決定した指令だけを抽出したものに相当する。選択入力部１８が行う選択入力の受付手法（或いはシステム設計者が行う選択入力手法）の一例は後述する。
【００２０】
プログラム生成部２０は、選択入力部１８で受け付けた選択入力を参照して、選択されている複数の所望の既定ラダーＬｇを、記憶部１６に記憶した複数種類の既定ラダーＬｇから抽出し、抽出した複数の所望の既定ラダーＬｇを適宜順序で組み合わせて１つのシステム対応ラダーＬｓに変換する。記憶部１６から抽出した複数の所望の既定ラダーＬｇは、それぞれが独立した別個の指令文であるが、それら別個の指令文を、作業システム１４が所定の作業を完遂するために要する一連の指令文となるように、設計通りの順序で一体化したものが、システム対応ラダーＬｓである。プログラム生成部２０は、所定のアルゴリズムに従い、複数の所望の既定ラダーＬｇを１つのシステム対応ラダーＬｓに変換することで、システム対応ラダーＬｓからなる制御プログラムＰを生成する。複数の所望の既定ラダーＬｇを１つのシステム対応ラダーＬｓに変換するためのアルゴリズムの一例は後述する。
【００２１】
作業システム１４の設計者や操作者は、プログラム生成部２０が生成した制御プログラムＰを、適当な手段によりコントローラ２２にインストールすることができる。例えば、シーケンス制御プログラミング装置１０とコントローラ２２とが通信ネットワークを介して互いに接続される構成では、予め用意されたインストーラ等のソフトウエアを用いて、制御プログラムＰをコントローラ２２にインストールすることができる。
【００２２】
上記構成を有するシーケンス制御プログラミング装置１０は、プログラム生成部２０が、予め記憶部１６に記憶した複数種類の既定ラダーＬｇから、選択入力部１８が受け付けた選択入力に従って複数の所望の既定ラダーＬｇを抽出し、それら抽出した既定ラダーＬｇを組み合わせて１つのシステム対応ラダーＬｓに変換することで制御プログラムＰを生成するようにしたので、作業システムの多種多様な構成に対応した制御プログラムＰの作成や書き換えを容易に行えるようにすることができる。また、作業システム１４のコントローラ２２には、現実の作業システム１４の構成に対応する制御プログラムＰのみをインストールすればよいので、コントローラ２２のメモリの大容量化や格納データの増加による演算処理への影響を回避できる。
【００２３】
上記構成においては、作業システム１４の設計段階で、予め記憶部１６に記憶した複数種類の既定ラダーＬｇからの選択だけでは完遂できない作業（例えばロボット１２や作業機器２４の想定外の追加や機種変更等）が生じた場合に、そのような作業の完遂に必要となる新たな既定ラダーＬｇを記憶部１６に追加して記憶できることが有利である。そこで、記憶部１６は、予め記憶した複数種類の既定ラダーＬｇに追加して、それら既定ラダーＬｇに記述されている複数種類の指令とは異なる指令であって、作業システム１４が実行する所定の作業に関連する新たな指令をラダーロジックにより記述した新たな既定ラダーＬｇを記憶できるものとする。この場合、選択入力部１８は、記憶部１６に記憶した複数種類の既定ラダーＬｇと追加した新たな既定ラダーＬｇとから、複数の所望の既定ラダーＬｇを選択する選択入力を受け付ける。このような構成によれば、作業システム１４の設計者が複数の作業システム１４の設計を経験する過程で取得した既定ラダーＬｇに関する知識を、その都度新たな既定ラダーＬｇとして記憶部１６に格納して蓄積でき、次回の作業システム１４の設計時に有効に活用することができる。
【００２４】
図２は、第２の実施形態によるシーケンス制御プログラミング装置３０の構成を機能ブロック図で示す。シーケンス制御プログラミング装置３０は、記憶部１６に記憶した複数種類の既定ラダーＬｇに対し種々のパラメータを設定するためのパラメータ入力部３２を備える以外は、シーケンス制御プログラミング装置１０と同様の構成を有する。対応する構成要素には共通する参照符号を付して、その詳細な説明を省略する。
【００２５】
シーケンス制御プログラミング装置３０は、前述したシーケンス制御プログラミング装置１０の構成に加えて、記憶部１６に記憶した複数種類の既定ラダーＬｇの各々に対し必要に応じてパラメータを設定するパラメータ入力を受け付けるパラメータ入力部３２を備える。プログラム生成部２０は、記憶部１６から抽出した複数の所望の既定ラダーＬｇに対しパラメータ入力に従ってパラメータを追記し、パラメータを追記した複数の所望の既定ラダーＬｇを１つのシステム対応ラダーＬｓに変換する。
【００２６】
シーケンス制御プログラミング装置３０では、記憶部１６に予め格納される複数種類の既定ラダーＬｇは、記述した指令を現実の作業システム１４の構成に合わせて具体化するための種々のパラメータを含まないものである。作業システム１４の設計者は、設計段階で、例えばパーソナルコンピュータの入力機能を用いて、選択入力で選択した複数の所望の既定ラダーＬｇの各々に対し必要に応じてパラメータを設定するパラメータ入力を実行する。パラメータ入力部３２は、設計者が行ったパラメータ入力を受け付けて、入力事項をプログラム生成部２０に送ることができる。パラメータ入力部３２が行うパラメータ入力の受付手法（或いはシステム設計者が行うパラメータ入力手法）の一例は後述する。
【００２７】
プログラム生成部２０は、選択入力部１８で受け付けた選択入力と、パラメータ入力部３２で受け付けたパラメータ入力とを参照して、選択されている複数の所望の既定ラダーＬｇを、記憶部１６に記憶した複数種類の既定ラダーＬｇから抽出し、抽出した複数の所望の既定ラダーＬｇにパラメータを設定し、パラメータ設定後の既定ラダーＬｇを適宜順序で組み合わせて１つのシステム対応ラダーＬｓに変換する。プログラム生成部２０は、所定のアルゴリズムに従い、パラメータ設定後の複数の所望の既定ラダーＬｇを１つのシステム対応ラダーＬｓに変換することで、システム対応ラダーＬｓからなる制御プログラムＰを生成する。
【００２８】
上記構成を有するシーケンス制御プログラミング装置３０は、前述したシーケンス制御プログラミング装置１０と同様に、作業システムの多種多様な構成に対応した制御プログラムＰの作成や書き換えを容易に行えるようにすることができるとともに、コントローラ２２のメモリの大容量化や格納データの増加による演算処理への影響を回避できる。さらにシーケンス制御プログラミング装置３０では、作業システム１４の設計段階で、選択した所望の既定ラダーＬｇに対し必要に応じてパラメータを設定できるので、記憶部１６に予め記憶する既定ラダーＬｇの種類を削減しつつ、多種多様な作業システムに対応した制御プログラムＰを容易に生成できる。
【００２９】
図３は、シーケンス制御プログラミング装置３０を備えた一実施形態による作業システム４０の構成を模式図的に示す。シーケンス制御プログラミング装置３０（又は１０）は、図１及び図２に示すように作業システム１４の外部の装置として構成することもできるし、図３に示すように作業システム４０の１つの構成要素とすることもできる。
【００３０】
作業システム４０は、シーケンス制御プログラミング装置３０と、１台のロボット１２と、ロボット１２と協働する２台の作業機器２４（第１加工機２４ａ、第２加工機２４ｂ）と、シーケンス制御プログラミング装置３０が生成した制御プログラムＰに従って、ロボット１２及び作業機器２４の少なくとも一方を制御するコントローラ２２とを備える。作業システム４０はさらに、未加工ワークを載置する供給トレイ４２と、作業機器２４で加工された加工済ワークを載置する排出トレイ４４とを備える。
【００３１】
作業システム４０は、例として以下の逐次的なステップ１〜８を含む作業（つまり第１加工機２４ａ及び第２加工機２４ｂによるワーク加工）を実行する。
（１）操作者が作業システム４０を起動する。
（２）ロボット１２が供給トレイ４２から未加工ワークを取り出して第１加工機４２ａの治具に取り付ける。
（３）第１加工機４２ａが未加工ワークの加工を開始する。
（４）ロボット１２が供給トレイ４２から未加工ワークを取り出して第２加工機４２ｂの治具に取り付ける。
（５）第２加工機４２ｂが未加工ワークの加工を開始する。
（６）第１加工機４２ａ又は第２加工機４２ｂにおける加工工程の完了後、ロボットが、加工済ワークを第１加工機４２ａ又は第２加工機４２ｂから取り出して排出トレイ４４に置き、供給トレイ４２から新たな未加工ワークを取り出して第１加工機４２ａ又は第２加工機４２ｂの治具に取り付ける。
（７）ステップ２〜６を予め設定した回数だけ繰り返す。
（８）ステップ７の完了後、操作者が作業システム４０を停止する。
【００３２】
次に、作業システム４０においてシーケンス制御プログラミング装置３０が行う制御プログラムＰの生成手法の具体例を、図４〜図１０を参照して説明する。
作業システム４０が上記したステップ１〜８を含むワーク加工作業を実行するためには、以下の複数種類の指令ａ〜ｆが必要となることが想定される。
（ａ）ロボット制御処理に関する指令
（ｂ）入出力信号処理に関する指令
（ｃ）加工機処理に関する指令
（ｄ）システム起動/停止処理に関する指令
（ｅ）ワーク条件に関する指令
（ｆ）アラーム処理に関する指令
【００３３】
そこで、作業システム４０の設計者は、複数種類の指令ａ〜ｆをラダーロジックにより別々に記述した複数種類の既定ラダーＬｇを用意し、１つのパッケージにまとめてシーケンス制御プログラミング装置３０の記憶部１６に予め格納しておく。個々の指令ａ〜ｆは、作業システム４０で採用可能なロボット１２や作業機器２４の種類等の諸条件に応じて幾つかの異なる内容を記述できるので、１種類の指令（例えば指令ａ）についてもそのような内容の異なる指令（例えば指令ａ、ａ′、ａ″、…）を別々に記述した既定ラダーＬｇを用意できる。具体例として、指令ａ〜ｆについて、図４に示す計１１個の既定ラダーＬｇ（アイテムＮｏ．ＲＡ０００１〜ＡＬ０００２）を用意できる。
【００３４】
図４は、記憶部１６にパッケージで格納した複数種類の既定ラダーＬｇの属性（図ではアイテムＮｏ、名称、機能、仕様）を一覧表の形式にまとめた選択シート４６の一例を示す。選択シート４６には、作業システム４０の設計者が既定ラダーＬｇの選択入力を行うための選択欄４８が含まれている。
【００３５】
シーケンス制御プログラミング装置３０は、記憶部１６に予め格納した複数種類の既定ラダーＬｇについて、図４に示す選択シート４６を作成し、例えばパーソナルコンピュータに付設されるディスプレイに選択シート４６を表示する。システム設計者は、表示された選択シート４６を参照して、実際に設計した現実の作業システム４０で必要とされる複数の所望の既定ラダーＬｇを、前述した指令ａ〜ｆのそれぞれに１つずつ選択し、例えばパーソナルコンピュータの入力機能により選択シート４６の選択欄４８に選択入力を行う。図示の例では、アイテムＮｏ．ＲＡ０００１、ＳＡ０００１、ＭＴ０００１、ＳＸ０００１、ＸＸ０００１、ＡＬ０００１の既定ラダーＬｇが選択されている。選択入力部１８は、選択シート４６を用いた既定ラダーＬｇの選択入力を受け付けて、アイテムＮｏ．ＲＡ０００１、ＳＡ０００１、ＭＴ０００１、ＳＸ０００１、ＸＸ０００１、ＡＬ０００１の既定ラダーＬｇが選択されたという事項をプログラム生成部２０に送る。
【００３６】
図５は、記憶部１６に格納した複数種類の既定ラダーＬｇの各々に対しパラメータを設定するために使用される設定シート５０の一例を示す。設定シート５０は、個々の既定ラダーＬｇにおいて設定が要求される１つ以上のパラメータの属性（図では項、名称、選択内容）を一覧表の形式にまとめたものであり、記憶部１６に格納した複数種類の既定ラダーＬｇの各々について予め作成されている。図示の例では、図４の「ロボット制御処理１」（アイテムＮｏ．ＲＡ０００１）の指令を記述する１つの既定ラダーＬｇに関し、パラメータ設定を要する複数（図では５個）の項目の各々に２個以上の択一的なパラメータが予め用意されている。設定シート５０には、作業システム４０の設計者がパラメータ入力を行うための設定欄５２が含まれている。
【００３７】
シーケンス制御プログラミング装置３０は、選択シート４６を用いた所望の既定ラダーＬｇの選択が完了すると、選択された既定ラダーＬｇに対応する設定シート５０を、例えばパーソナルコンピュータに付設されるディスプレイに表示する。システム設計者は、表示された設定シート５０を参照して、各既定ラダーＬｇの指令を現実の作業システム１４の構成に合わせて具体化するためのパラメータを項目毎に１つずつ選択し、例えばパーソナルコンピュータの入力機能により設定シート５０の設定欄５２にパラメータ入力を行う。パラメータ入力部３２は、設定シート５０を用いたパラメータ入力を受け付けて、選択された所望の既定ラダーＬｇの各々に対しどのパラメータが設定されかたという事項をプログラム生成部２０に送る。
【００３８】
シーケンス制御プログラミング装置３０は、記憶部１６に記憶した複数種類の既定ラダーＬｇの各々を、フォルダに収容したデータファイルとして取り扱うことができる。１つの既定ラダーＬｇを収容したフォルダには、選択シート４６のアイテムＮｏに対応するフォルダ名が付与される。図６は、選択シート４６を用いて選択された複数の所望の既定ラダーＬｇをそれぞれに収容するフォルダ群を示す。また図７は、図６の１つのフォルダＲＡ０００１に収容した既定ラダーＬｇを概略で示す。
【００３９】
またシーケンス制御プログラミング装置３０は、選択入力で選択した既定ラダーＬｇに対しパラメータ入力によるパラメータの設定が完了したときに、パラメータ設定後の既定ラダーＬｇを収容する個々のフォルダのフォルダ名を適宜変更することができる。図８は、パラメータ設定後の既定ラダーＬｇをそれぞれに収容するフォルダ群を示す。個々のフォルダのフォルダ名は、例として、パラメータ入力を行った日付を追記することで変更されている。また図９は、図８の１つのフォルダＲＡ０００１＿２０１５０９０１に収容した既定ラダーＬｇを概略で示す。
【００４０】
図７に示すように、個々の既定ラダーＬｇは、設定シート５０に表示されたパラメータに対応するコイル（ラダーロジックにおける出力対象）５４を含む。設定シート５０を用いてパラメータ入力が行われると、プログラム生成部２０は、個々の既定ラダーＬｇにおける設定パラメータに対応するコイル５４をＯＮ（有効）にする（図９参照）。これにより、既定ラダーＬｇに対するパラメータの設定が完了する。
【００４１】
選択入力で選択した既定ラダーＬｇに対しパラメータ入力によるパラメータの設定が完了すると、プログラム生成部２０は、パラメータ設定後の複数の既定ラダーＬｇを、作業システム４０が前述したステップ１〜８を含む作業を完遂するために要する一連の指令文となるように、所定のアルゴリズムにより設計通りの順序で一体化してシステム対応ラダーＬｓに変換する。図１０は、図８に示す別個のフォルダ群に収容された既定ラダーＬｇを変換したシステム対応ラダーＬｓ（すなわち制御プログラムＰ）を概略で示す。プログラム生成部２０が生成した制御プログラムＰは、作業システム４０のコントローラ２２（例えばＰＬＣ）にインストールされる。
【００４２】
作業システム４０において、ロボット１２や加工機２４ａ、２４ｂの制御条件、機能、台数等を変更して、実行しようとする作業の内容を変更する場合には、制御プログラムＰを書き替える必要がある。シーケンス制御プログラミング装置３０を備えた作業システム４０によれば、システム設計者は、選択シート４０を用いた選択入力を改めて行うとともに、設定シート５０を用いたパラメータ入力を改めて行うだけで、変更後の作業に対応するように制御プログラムＰを書き替えることができる。
【００４３】
シーケンス制御プログラミング装置１０、３０は、記憶部１６に予め格納した複数種類の既定ラダーＬｇの各々を、所望の時期に修正できるように構成することもできる。図１１は、そのようなラダー修正機能を有する第３の実施形態によるシーケンス制御プログラミング装置６０の構成を機能ブロック図で示す。シーケンス制御プログラミング装置６０は、記憶部１６に予め格納した複数種類の既定ラダーＬｇの各々を修正するための修正入力部６２を備える以外は、シーケンス制御プログラミング装置１０と同様の構成を有する。対応する構成要素には共通する参照符号を付して、その詳細な説明を省略する。
【００４４】
シーケンス制御プログラミング装置６０は、前述したシーケンス制御プログラミング装置１０の構成に加えて、記憶部１６に記憶した既定ラダーＬｇに対し必要に応じて指令を修正する修正入力を受け付ける修正入力部６２を備える。プログラム生成部２０は、修正入力部６２で受け付けた修正入力に従って修正した既定ラダーＬｇを含む複数種類の既定ラダーＬｇから、選択入力部１８で受け付けた選択入力に従って複数の所望の既定ラダーＬｇを抽出し、抽出した複数の所望の既定ラダーＬｇを１つのシステム対応ラダーＬｓに変換することで、制御プログラムＰを生成する。
【００４５】
図１２は、シーケンス制御プログラミング装置１０、３０、６０が行うシーケンス制御プログラミング方法を、フローチャートで示す。図示のシーケンス制御プログラミング方法は、ロボットを含む作業システムをシーケンス制御するための制御プログラムを生成するシーケンス制御プログラミング方法であって、作業システムが実行する所定の作業に関連する複数種類の指令のそれぞれをラダーロジックにより別々に記述した複数種類の既定ラダーを用意するステップＳ１と、複数種類の既定ラダーから複数の所望の既定ラダーを抽出するステップＳ２と、抽出した複数の所望の既定ラダーを組み合わせて、作業システムに所定の作業を実行させるための１つのシステム対応ラダーに変換することで、制御プログラムを生成するステップＳ３とを含む。さらに、ステップＳ２とステップＳ３との間に、抽出した複数の所望の既定ラダーに対し必要に応じてパラメータを追記するステップＳ４を含むこともできる。この場合、ステップＳ３では、パラメータを追記した複数の所望の既定ラダーを１つのシステム対応ラダーに変換する。
【００４６】
図１３は、シーケンス制御プログラミング装置１０、３０、６０のプログラム生成部２０が複数の所望の既定ラダーＬｇを１つのシステム対応ラダーＬｓに変換するためのアルゴリズムの一例を示す。図示のラダー変換アルゴリズムは、シーケンス制御プログラミング装置１０、３０、６０が実行する行為と作業システム１４、４０の設計者が実行する行為とを含むものである。
【００４７】
まず、シーケンス制御プログラミング装置１０、３０、６０は、図４に示す選択シート４６を、例えばパーソナルコンピュータに付設されるディスプレイに表示する（Ｑ１）。作業システム１４、４０の設計者は、選択シート４６に対し前述した手順で選択入力を実行し、選択した複数の所望の既定ラダーＬｇを、例えばパーソナルコンピュータの機能により予め用意された「変換作業用フォルダ」に移動する（Ｑ２）。システム設計者は、変換作業用フォルダに移動した複数の所望の既定ラダーＬｇに対し、必要に応じて、図５に示す設定シート５０による前述したパラメータ入力を実行する。なお、パラメータ入力に応じたパラメータの設定（すなわち追記）は、プログラム生成部２０が行う代わりに、例えばＰＬＣ等のコントローラ２２に予め用意されたラダー作成ツールを用いて行うこともできる。この場合、システム設計者は、パラメータの設定を要する既定ラダーＬｇを変換作業用フォルダからコントローラ２２のラダー作成ツールに転送し、ラダー作成ツールでパラメータ設定を行った後に変換作業用フォルダに戻す。
【００４８】
次に、シーケンス制御プログラミング装置１０、３０、６０は、図１４に示すラダー編集用画面７０を、例えばパーソナルコンピュータに付設されるディスプレイに表示する（Ｑ３）。ラダー編集用画面７０には、変換作業用フォルダに置かれている複数の所望の既定ラダーＬｇのアイテムＮｏをランダムに列記するＬｇ欄７２と、変換後のシステム対応ラダーＬｓに含まれる既定ラダーＬｇのアイテムＮｏを実行順序の通りに列記するＬｓ欄７４とが表示される。システム設計者は、Ｌｇ欄７２に列記されている複数の所望の既定ラダーＬｇに対し、設計により決定した実行順序に従う順番で、１つの既定ラダーＬｇを選択して「追加キー」をクリックする（つまり既定ラダーＬｇを登録する）行為を繰り返す（Ｑ４）。これによりＬｓ欄７４に、複数の所望の既定ラダーＬｇが、「追加キー」をクリックした順番に（つまり実行順序に従って）画面の上から下へ整列した状態で列記される。
【００４９】
Ｌｇ欄７２に列記されている複数の所望の既定ラダーＬｇに対し実行順序の順番で「追加キー」をクリックする行為は、システム設計者が、選択入力で選択した複数の所望の既定ラダーＬｇの実行順序を指定する順序指定入力に相当する。シーケンス制御プログラミング装置１０、３０、６０の選択入力部１８は、この順序指定入力を受け付けて、選択入力で選択した複数の所望の既定ラダーＬｇに対しどのような実行順序が指定されたかという事項をプログラム生成部２０に送る。プログラム生成部２０は、選択入力部１８が受け付けた順序指定入力に従い、記憶部１６から抽出した複数の所望の既定ラダーを実行順序に整列させて１つのシステム対応ラダーＬｓに変換する（Ｑ５）。ラダー編集用画面７０のＬｓ欄７４に列記される実行順序で整列した複数の所望の既定ラダーＬｇは、変換後の１つのシステム対応ラダーＬｓに相当する。
【符号の説明】
【００５０】
１０、３０、６０    シーケンス制御プログラミング装置
１２    ロボット
１４、４０    作業システム
１６    記憶部
１８    選択入力部
２０    プログラム生成部
２２    コントローラ
２４    作業機器
３２    パラメータ入力部
４６    選択シート
５０    設定シート
６２    修正入力部
７０    ラダー編集用画面
Ｌｇ    既定ラダー
Ｌｓ    システム対応ラダー
Ｐ    制御プログラム
【図１】
0006400558.tif 000002
【図２】
0006400558.tif 000003
【図３】
0006400558.tif 000004
【図４】
0006400558.tif 000005
【図５】
0006400558.tif 000006
【図６】
0006400558.tif 000007
【図７】
0006400558.tif 000008
【図８】
0006400558.tif 000009
【図９】
0006400558.tif 000010
【図１０】
0006400558.tif 000011
【図１１】
0006400558.tif 000012
【図１２】
0006400558.tif 000013
【図１３】
0006400558.tif 000014
【図１４】
0006400558.tif 000015