(57)【特許請求の範囲】
【請求項１】
パーソナルコンピュータ等のコントローラからなるホストユニットと、制御を司る制御ボードと制御目的に応じて各種機能を実装した機能ボードとからなる複数のサブユニットとを有し、該ホストユニットと該複数のサブユニットとが通信可能に接続された制御装置において、
該ホストユニットがホスト側制御ＯＳを有すると共に、該サブユニットがタスクの内容をプログラムステップ単位で保存するプログラムステップ記憶手段とサブ側制御ＯＳとを有し、
該ホスト側制御ＯＳが、該タスクのプログラムステップを該プログラムステップ記憶手段に送り、
該複数のサブユニットが、該ホストユニットを介することなく他の該サブユニットと通信可能であると共に、該サブ側制御ＯＳが、該サブユニット間で実行順序を制御しつつ該プログラムステップ記憶手段に保存された該プログラムステップを順次実行していくことを特徴とする制御装置。
【請求項２】
前記ホスト側制御ＯＳが、前記タスクのプログラムステップを実行させるための各種条件を付加された該プログラムステップを前記プログラムステップ記憶手段に送り、
前記サブ側制御ＯＳが、該各種条件を満たすか否かの情報を生成すると共に該情報を他の前記サブユニットに送ることを特徴とする請求項１記載の制御装置。
【請求項３】
前記ホストユニットに通信可能に接続された複数の前記サブユニットを備え、
前記ホスト側制御ＯＳが、前記タスクのプログラムステップを前記プログラムステップ記憶手段に送るにあたり、
該プログラムステップの次に実行される該プログラムステップが別の該サブユニットで実行されるものである場合、該別のサブユニットのプログラムステップ記憶手段に送るべきプログラムステップの前に、先に実行される該プログラムステップの終了を待つ待ちプログラムステップを付加して、一連の該プログラムステップを各サブユニットのプログラムステップ記憶手段に送ることを特徴とする請求項２記載の制御装置。
【請求項４】
前記サブユニットのサブ側制御ＯＳが、前記待ちプログラムステップが前記プログラムステップ記憶手段に保存されているか否かを判断し、該待ちプログラムステップが保存されている場合、前記プログラムステップの実行に先立ち、該待ちプログラムステップが待ち対象とする直前の該プログラムステップが保存されている該サブユニットに対し、該直前のプログラムステップが終了した時にプログラムステップ終了の旨を送るように指示することを特徴とする請求項３記載の制御装置。
【請求項５】
前記ホストユニットと前記サブユニットとが、ＩＥＥＥ１３９４シリアルバスで複数接続されていることを特徴とする請求項１〜請求項４のいずれかに記載の制御装置。
【請求項６】
パーソナルコンピュータ等の電子計算機からなるホストユニットと、制御を司る制御ボードと制御目的に応じて各種制御機能を実装した制御ボードとからなる複数のサブユニットとを有し、該ホストユニットと該複数のサブユニットとが通信可能に接続された制御装置の制御方法において、
該ホストユニットのホスト側制御ＯＳが、該サブユニットが実行するタスクの内容を、プログラムステップ単位で該サブユニットのプログラムステップ記憶手段に送り、
該複数のサブユニットが、該ホストユニットを介することなく他の該サブユニットと通信し、該サブ側制御ＯＳが、該サブユニット間で実行順序を制御しつつ該プログラムステップ記憶手段に保存された該プログラムステップを順次実行していくことを特徴とする制御装置の制御方法。
【請求項７】
前記ホスト側制御ＯＳが、前記タスクのプログラムステップを実行させるための各種条件を付加された該プログラムステップを前記プログラムステップ記憶手段に送り、
前記サブ側制御ＯＳが、該各種条件を満たすか否かの情報を生成すると共に該情報を他の前記サブユニットに送ることを特徴とする請求項６記載の制御装置の制御方法。
【請求項８】
複数の前記サブユニットが前記ホストユニットに通信可能に接続される場合、
前記ホスト側制御ＯＳが、前記タスクのプログラムステップを前記プログラムステップ記憶手段に送るにあたり、
該プログラムステップの次に実行される該プログラムステップが別の該サブユニットで実行されるものである場合、該別のサブユニットのプログラムステップ記憶手段に送るべきプログラムステップの前に、先に実行される該プログラムステップの終了を待つ待ちプログラムステップを付加して、一連の該プログラムステップを各サブユニットのプログラムステップ記憶手段に送ることを特徴とする請求項７記載の制御装置の制御方法。
【請求項９】
前記サブユニットのサブ側制御ＯＳが、前記待ちプログラムステップが前記プログラムステップ記憶手段に保存されているか否かを判断し、該待ちプログラムステップが保存されている場合、前記プログラムステップの実行に先立ち、該待ちプログラムステップが待ち対象とする直前の該プログラムステップが保存されている該サブユニットに対し、該直前のプログラムステップが終了した時にプログラムステップ終了の旨を送るように指示することを特徴とする請求項８記載の制御装置の制御方法。
【請求項１０】
前記ホストユニットと前記サブユニットとが、ＩＥＥＥ１３９４シリアルバスで複数接続されていることを特徴とする請求項６〜請求項９のいずれかに記載の制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用に用いられる制御装置及び制御装置の制御方法に関する。
【背景技術】
【０００２】
従来より、産業用機械やロボット制御システムとして、パーソナルコンピュータ（ＰＣ）を使用した制御装置が幅広く利用されている。従来の制御装置では、装置全体のコントローラとなるＰＣに、専用の制御機能を有する制御ボードや各種機能を実現する機能ボードを有するサブユニットが、拡張バスを介して接続されている。
【０００３】
従来の制御装置では、任意の制御目的を達成すべくＰＣから制御ボートに対して適宜制御コマンドが発行され、制御ボードは、これらの制御コマンドを実行し、機能ボードを動作させ、具体的にはアクチュエータ等を駆動することにより、所要の制御動作を実行する。また、これら制御動作の中には、アクチュエータ等の動作状態や異常等に関する情報が、制御ボードからＰＣへアンサーバックされるモードも含まれている。尚、ＰＣとサブユニットとの間の通信は、特許文献１に示されるように、拡張バスにより行われている。
【特許文献１】特開平１１−１４９３０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の制御装置では、ホストユニットであるＰＣ上で、制御のためのプログラムが動作しており、ＰＣが直接制御ボードを動作させたり、ＰＣが直接制御ボードの情報を取得してプログラムの動作に反映させていたため、制御のスピードがホストユニットの動作速度に依存してしまい処理速度の向上が図れない。
【０００５】
本発明は、このような事情に鑑みてなされたもので、ホストユニットの負担を軽減し、制御の処理速度の向上を図ることができる制御装置及び制御装置の制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載の制御装置は、ホストユニットがホスト側制御ＯＳを有すると共に、サブユニットがタスクの内容をプログラムステップ単位で保存するプログラムステップ記憶手段とサブ側制御ＯＳとを有し、ホスト側制御ＯＳが、タスクのプログラムステップをプログラムステップ記憶手段に送り、複数のサブユニットが、ホストユニットを介することなく他のサブユニットと通信可能であると共に、サブ側制御ＯＳが、サブユニット間で実行順序を制御しつつプログラムステップ記憶手段に保存されたプログラムステップを順次実行していくことを特徴とする。
【０００７】
請求項２記載の制御装置は、ホスト側制御ＯＳが、タスクのプログラムステップを実行させるための各種条件を付加されたプログラムステップをプログラムステップ記憶手段に送り、サブ側制御ＯＳが、各種条件を満たすか否かの情報を生成すると共に情報を他のサブユニットに送ることを特徴とする。
【０００８】
請求項３記載の制御装置は、ホストユニットに通信可能に接続された複数のサブユニットを備え、ホスト側制御ＯＳが、タスクのプログラムステップをプログラムステップ記憶手段に送るにあたり、プログラムステップの次に実行されるプログラムステップが別のサブユニットで実行されるものである場合、別のサブユニットのプログラムステップ記憶手段に送るべきプログラムステップの前に、先に実行されるプログラムステップの終了を待つ待ちプログラムステップを付加して、一連のプログラムステップを各サブユニットのプログラムステップ記憶手段に送ることを特徴とする。
【０００９】
請求項４記載の制御装置は、サブユニットのサブ側制御ＯＳが、待ちプログラムステップがプログラムステップ記憶手段に保存されているか否かを判断し、待ちプログラムステップが保存されている場合、プログラムステップの実行に先立ち、待ちプログラムステップが待ち対象とする直前のプログラムステップが保存されているサブユニットに対し、直前のプログラムステップが終了した時にプログラムステップ終了の旨を送るように指示することを特徴とする。
【００１０】
請求項５記載の制御装置は、ホストユニットとサブユニットとが、ＩＥＥＥ１３９４シリアルバスで複数接続されていることを特徴とする。
【００１１】
請求項６記載の制御装置の制御方法は、ホストユニットのホスト側制御ＯＳが、サブユニットが実行するタスクの内容を、プログラムステップ単位でサブユニットのプログラムステップ記憶手段に送り、複数のサブユニットが、ホストユニットを介することなく他のサブユニットと通信し、サブ側制御ＯＳが、サブユニット間で実行順序を制御しつつプログラムステップ記憶手段に保存されたプログラムステップを順次実行していくことを特徴とする。
【００１２】
請求項７記載の制御装置の制御方法は、ホスト側制御ＯＳが、タスクのプログラムステップを実行させるための各種条件を付加されたプログラムステップをプログラムステップ記憶手段に送り、サブ側制御ＯＳが、各種条件を満たすか否かの情報を生成すると共に情報を他のサブユニットに送ることを特徴とする。
【００１３】
請求項８記載の制御装置の制御方法は、複数のサブユニットがホストユニットに通信可能に接続される場合、ホスト側制御ＯＳが、タスクのプログラムステップをプログラムステップ記憶手段に送るにあたり、プログラムステップの次に実行されるプログラムステップが別のサブユニットで実行されるものである場合、別のサブユニットのプログラムステップ記憶手段に送るべきプログラムステップの前に、先に実行されるプログラムステップの終了を待つ待ちプログラムステップを付加して、一連のプログラムステップを各サブユニットのプログラムステップ記憶手段に送ることを特徴とする。
【００１４】
請求項９記載の制御装置の制御方法は、サブユニットのサブ側制御ＯＳが、待ちプログラムステップがプログラムステップ記憶手段に保存されているか否かを判断し、待ちプログラムステップが保存されている場合、プログラムステップの実行に先立ち、待ちプログラムステップが待ち対象とする直前のプログラムステップが保存されているサブユニットに対し、直前のプログラムステップが終了した時にプログラムステップ終了の旨を送るように指示することを特徴とする。
【００１５】
請求項１０記載の制御装置の制御方法は、ホストユニットとサブユニットとが、ＩＥＥＥ１３９４シリアルバスで複数接続されていることを特徴とする。
【発明の効果】
【００１６】
請求項１及び請求項６の発明によれば、複数のサブユニットが、ホストユニットを介することなく他のサブユニットと通信可能であると共に、ホスト側制御ＯＳが、タスクのプログラムステップをプログラムステップ記憶手段に送り、サブ側制御ＯＳが、サブユニット間で実行順序を制御しつつプログラムステップ記憶手段に保存されたプログラムステップを順次実行していくことから、制御をサブユニットに任せることができ、ホストユニットの負担を軽減し、制御の処理速度の向上を図ることができる。
【００１７】
請求項２及び請求項７の発明によれば、ホスト側制御ＯＳが、タスクのプログラムステップを実行させるための各種条件を付加されたプログラムステップをプログラムステップ記憶手段に送り、サブ側制御ＯＳが、各種条件を満たすか否かの情報を生成すると共に情報を他のサブユニットに送ることから、その条件を把握したサブユニットはその条件に基づきプログラムステップを実行すればよく、プログラムステップの実行毎にホストユニットとサブユニットが通信を行う必要がなく、ホストユニットの負担を軽減し、制御の処理速度の向上を図ることができる。
【００１８】
請求項３及び請求項８の発明によれば、ホスト側制御ＯＳが、タスクのプログラムステップをプログラムステップ記憶手段に送るにあたり、プログラムステップの次に実行されるプログラムステップが別のサブユニットで実行されるものである場合、別のサブユニットのプログラムステップ記憶手段に送るべきプログラムステップの前に、先に実行されるプログラムステップの終了を待つ待ちプログラムステップを付加して、一連のプログラムステップを各サブユニットのプログラムステップ記憶手段に送ることから、ホストユニットが全体の制御の進捗を把握する必要がなく、各プログラムステップの待ち状態から実行へ移行する管理を、各サブユニットが独自に行うことができ、ホストユニットの負担を軽減し、制御の処理速度の向上を図ることができる。
【００１９】
請求項４及び請求項９の発明によれば、サブユニットのサブ側制御ＯＳが、待ちプログラムステップがプログラムステップ記憶手段に保存されているか否かを判断し、待ちプログラムステップが保存されている場合、プログラムステップの実行に先立ち、待ちプログラムステップが待ち対象とする直前のプログラムステップが保存されているサブユニットに対し、直前のプログラムステップが終了した時にプログラムステップ終了の旨を送るように指示することから、サブユニットをまたがるプログラムステップの移行をホストユニットが管理する必要がなく、ホストユニットの負担を軽減し、制御の処理速度の向上を図ることができる。
【００２０】
請求項５及び請求項１０の発明によれば、ホストユニットとサブユニットとが、ＩＥＥＥ１３９４シリアルバスで複数接続されていることから、効率的な通信が可能で、より一層制御の処理速度の向上を図ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の形態について図面を参照しながら具体的に説明する。本発明の形態における制御装置は、産業用機械やロボット制御システムを制御するためのものである。図１は、本発明に係る制御装置の一例を示す構成図である。図２は、同制御装置のユーザープログラムの構成を示す説明図である。図３は、同制御装置のタスクのプログラムステップの転送を示す説明図である。図４は、同制御装置のタスクが複数のサブユニットで実行される場合を示す説明図である。図５は、同制御装置のタスクのプログラムステップの転送を示すフローチャートである。図６は、同制御装置のプログラムステップの実行手順を示す説明図である。図７は、同制御装置の単一のサブユニットで複数のタスクを実行する場合を示す説明図である。図８は、同制御装置の複数のサブユニットで複数のタスクを実行する場合を示す説明図である。
【００２２】
図１や図２に示すように、制御装置１００は、パーソナルコンピュータ（ＰＣ）等のコントローラからなるホストユニット４と、制御を司る制御ボード１２，２２，３２と制御目的に応じて各種機能を実装した機能ボード１６ａ〜３６ｃとからなるサブユニット１〜Ｎとを有している。ホストユニット４は、中央演算装置（ＣＰＵ）やメモリを備え、そのＣＰＵは、ＰＣとしてのＯＳ（オペレーティングシステム）が動作すると共に、産業用機械やロボット制御システムとしての各種の制御を司るホスト側制御ＯＳが動作している。また、ホストユニット４のメモリには、制御装置１００の具体的な制御の内容であるユーザープログラムが保存され、そのユーザープログラムは、タスクの内容をプログラムステップ単位で保存している。
【００２３】
サブユニット１〜Ｎは、それぞれ制御ボード１２，２２，３２、機能ボード１６ａ〜３６ｃ等を有している。制御ボード１２，２２，３２は、それぞれのサブユニット１〜Ｎの動作を司る中央演算装置（ＣＰＵ）やメモリを有している。そして、メモリは、サブユニット１〜Ｎがタスクの内容をプログラムステップ単位で保存するプログラムステップ記憶手段（バッファ１〜バッファＮ）となっている。尚、本実施の形態では、プログラムステップ記憶手段であるバッファ１〜Ｎは、タスクの種類に応じて、別々の領域を確保し、例えばバッファ１〜バッファ５０としている。また、制御ボード１２，２２，３２では、サブ側制御ＯＳが動作している。機能ボード１６ａ〜３６ｃは、それぞれがバス１４，２４，３４を介して制御ボード１２，２２，３２に接続されている。そして、それぞれの機能ボード１６ａ〜３６ｃは、制御目的に応じた各種機能が実装されている。その機能とは、例えば、アクチュエータや駆動軸を動かす機能であったり、各種センサの情報を取得する機能であったり、各種信号のレベルを読み込むＡ／Ｄ機能であったりする。
【００２４】
ホストユニット４と各サブユニット１〜Ｎは、互いにケーブル６，８で接続されている。図１等では、ホストユニット４とサブユニット１とがケーブル６で接続され、各サブユニット１〜Ｎがケーブル８でカスケード接続されているが、特に接続の形態にこだわるものではない。また、接続の通信形態によって制限されるものでもなく、シリアル方式やパラレル方式など、任意である。また、制御装置１００の基本構成としては、１つのホストユニット４とサブユニットとなるが、サブユニットの数は、図でＮと示した通り任意である。
【００２５】
次に、このように構成された制御装置１００の動作を説明する。まず、図３に示すように、制御装置１００の動作の開始にあたり、ホスト側制御ＯＳが、サブユニット１に対してタスクをプログラムステップ単位で送り、サブ側制御ＯＳが受け取ったタスクをバッファ１にプログラムステップ単位で保存していく。具体的には、図３に示すように、タスク１のプログラムステップ１が、バッファ１に、タスク１のプログラムステップ１として保存され、バッファ１にタスク１のプログラムステップ２、プログラムステップ３と随時保存されていく。尚、図３はタスクが１つの場合を示しているが、図７では、複数ある場合の例を示している。尚、図３及び図７では、タスクを実行させるサブユニットが１つ（サブユニット１）に限られた場合を示しているが、タスクを実行させたいサブユニットが、他のサブユニット（２〜Ｎ）のいずれかである場合もある。さらに、１つのタスクを複数のサブユニットで実行させたい場合の例は、後述する。尚、タスクのプログラムステップを、バッファに送る手段としては、例えばＤＬＬ（Dynamic Link Library）を用いる。
【００２６】
そして、サブユニット１のバッファ１にタスク１のプログラムステップが保存されると、サブユニット１は、タスク１のプログラムステップ１から順次実行していく。尚、具体的なタスク１の実行はサブユニット１で行っていくが、例えば他のサブユニット２〜Ｎの機能ボード２６ａ〜３６ｃに指令を出したり状態を読み込んだりする必要がある場合には、随時他のサブユニット２〜Ｎと通信を行うようにする。また、ホストユニット４の求めに応じて、現在実行されているタスクの状態を、サブユニット１はホストユニット４に伝えるような場合もある。すなわち、ホストユニット４や各サブユニット１〜Ｎとの間では、適宜通信が行われている。
【００２７】
次に、図４に示すように、１つのタスクが複数のサブユニット１〜Ｎで実行される場合について説明する。１つのタスクを複数のサブユニット１〜Ｎで実行する場合には、ホストユニット４から各サブユニット１〜Ｎへタスクを送るにあたって、ホスト側制御ＯＳが、図５に示すフローチャートの動作を行う。具体的には、図４に示すように、ホストユニット４に保存されているタスク１のプログラムステップ１から送る時に、図５に示すように、まず、送ろうとする直前のプログラムステップの動作するサブユニットが変更になったか否かを確認する（Ｓ１０１）。変更になっていない場合には（Ｓ１０１−ＮＯ）、送信先のサブユニットの番号を記憶した上で（Ｓ１０３）、プログラムステップを該当のサブユニットに送るようにする（Ｓ１０４）。
【００２８】
もし、直前のプログラムステップから実行させるサブユニットが変更になっている場合には（Ｓ１０１−ＹＥＳ）、直前のプログラムステップが実行されるのを待ってそのプログラムステップを実行するようにするための待ちプログラムステップを発行し新たなサブユニットにその待ちユニットを送信（Ｓ１０２）した後、送信先のサブユニットの番号を記憶した上で（Ｓ１０３）、プログラムステップを該当のサブユニットに送るようにする（Ｓ１０４）。
【００２９】
この図５に示すフローチャートにより、タスク１が各サブユニット１〜Ｎに送られた様子を示す図が、図４であり。図４とはタスクの内容が異なるが、ホストユニット４からサブユニット１〜Ｎでタスク１が実行されていく様子を示したのが、図６である。尚、各サブユニット１〜Ｎのサブ側制御ＯＳは、プログラムステップの実行に先立ち、バッファ１〜５０に保存されたプログラムステップに、待ちプログラムステップがあるか否かの確認を行う。そして、もし待ちプログラムステップが保存されている場合には、その待ちプログラムステップが終了を待っているプログラムステップが実行されるサブユニットに対して、該当するプログラムステップが終了した後に、自身のサブユニットに対して終了を送信してもらうように指示するようにする。
【００３０】
このような予めの準備の後、各サブユニット１〜Ｎのサブ側制御ＯＳは、各バッファのプログラムステップを開始する。図６に示すタスクの動作を説明すると、サブユニット１は、プログラムステップ１から順次プログラムステップを実行する。それに対し、サブユニット２は、プログラムステップ４の待ちプログラムステップが最初にあるので、プログラムステップ４の待ちプログラムステップを実行し、プログラムステップ４の待ち状態となる。同様にサブユニットＮも、プログラムステップ６の待ちプログラムステップが最初にあるので、プログラムステップ６の待ちプログラムステップを実行し、プログラムステップ６の待ち状態となる。
【００３１】
そして、サブユニット１のプログラムステップが順次実行され、プログラムステップ４が終了すると、サブユニット１のサブ側制御ＯＳは、サブユニット２に対して、プログラムステップ４が終了した旨を送信する。プログラムステップ４の終了を受け取ったサブユニット２は、プログラムステップ４の待ちプログラムステップを抜けて、プログラムステップ５を実行する。この間、サブユニット１は、プログラムステップ８の待ちプログラムステップを実行し、待ちの状態となる。そして、プログラムステップ６が終了すると、サブユニット２のサブ側制御ＯＳは、サブユニットＮに対して、プログラムステップ６が終了した旨を送信する。プログラムステップ６の終了を受け取ったサブユニットＮは、プログラムステップ６の待ちプログラムステップを抜けて、プログラムステップ７を実行する。同様に、プログラムステップ８が終了すると、サブユニットＮのサブ側制御ＯＳは、サブユニット１に対して、プログラムステップ８が終了した旨を送信する。プログラムステップ８の終了を受け取ったサブユニット１は、プログラムステップ８待ちプログラムステップを抜けて、プログラムステップ９を実行する。このようにして、実質的に制御が実行されるサブユニットが随時切り替わりながら、タスクが実行されていく。
【００３２】
尚、図４では、タスクがタスク１だけの場合を図示したが、図７同様に、複数のタスクが実行される場合もあり、その様子を示すのが図８である。
【００３３】
以上のように、本実施の形態の制御装置１００によれば、複数のサブユニットが、ホストユニットを介することなく他のサブユニットと通信可能であると共に、ホスト側制御ＯＳが、タスクのプログラムステップをプログラムステップ記憶手段に送り、サブ側制御ＯＳが、サブユニット間で実行順序を制御しつつプログラムステップ記憶手段に保存されたプログラムステップを順次実行していくことから、制御をサブユニットに任せることができ、ホストユニットの負担を軽減し、制御の処理速度の向上を図ることができる。
【００３４】
また、ホスト側制御ＯＳが、タスクのプログラムステップをプログラムステップ記憶手段でバッファに送るにあたり、プログラムステップの次に実行されるプログラムステップが別のサブユニットで実行されるものである場合、別のサブユニットのプログラムステップ記憶手段に送るべきプログラムステップの前に、先に実行されるプログラムステップの終了を待つ待ちプログラムステップを付加して、一連のプログラムステップを各サブユニットのプログラムステップ記憶手段に送り、サブ側制御ＯＳが、各種条件を満たすか否かの情報を生成すると共に情報を他のサブユニットに送ることから、ホストユニット４が全体の制御の進捗を把握する必要がなく、各プログラムステップの待ち状態から実行へ移行する管理を、各サブユニットが独自に行うことができ、ホストユニットの負担を軽減し、制御の処理速度の向上を図ることができる。そして、プログラム作成者も、プログラムの作成や動作確認にあたって、現在どこのプログラムステップが動作しているかを強く意識する必要がなく、また割り込みのように、突発的に他のプログラムステップに動作が移行してしまい、現在動作しているプログラムステップの動作状況を把握しにくいといった煩雑さを回避することができる。
【００３５】
さらに、サブユニット１〜Ｎのサブ側制御ＯＳが、待ちプログラムステップがバッファに保存されているか否かを判断し、待ちプログラムステップが保存されている場合、プログラムステップの実行に先立ち、待ちプログラムステップが待ち対象とする直前のプログラムステップが保存されているサブユニットに対し、直前のプログラムステップが終了した時にプログラムステップ終了の旨を送るように指示することから、サブユニットをまたがるプログラムステップの移行をホストユニット４が管理する必要がなく、ホストユニット４の負担を軽減し、制御の処理速度の向上を図ることができる。また、このサブユニット１〜Ｎの通信は、サブ側制御ＯＳが独自に行うことから、プログラム作成者がプログラム作成時に、待ちユニットの挿入や管理のための記述をする必要がなく、効率的なプログラムの作成が可能である。すなわち、プログラム作成者は、制御の機能のみを実現する最低限のコマンドを組み合わせることで、ユーザープログラムを作成すればよく、作業効率が向上すると共に、記述の間違えを抑えることもできる。
【００３６】
尚、ホストユニット４及びサブユニット１〜Ｎの接続に関しては、特に制限されるものではないが、ＩＥＥＥ１３９４シリアルバスで複数接続することにより、効率的な通信が可能で、より一層制御の処理速度の向上を図ることができる。
【００３７】
尚、ホスト側制御ＯＳによってホストユニット４からサブユニット１〜Ｎに送られるタスクのプログラムステップであるが、単に各機能ボード１６ａ〜３６ｃを機能させるコマンドだけではなく、そのプログラムステップを実行させるための各種条件を付加することも可能である。例えば、１つの軸を駆動させるコマンドを記述し、その軸に係るどのセンサがＯＮになった場合に駆動を止めるかといった条件を、１つのプログラムステップの中に条件として記述することができる。このように、プログラムステップに条件を記述することで、その条件を把握したサブユニット１〜Ｎはその条件に基づきプログラムステップを実行すればよく、プログラムステップの実行毎にホストユニット４とサブユニット１〜Ｎが通信を行う必要がなく、ホストユニットの負担を軽減し、制御の処理速度の向上を図ることができる。
【産業上の利用可能性】
【００３８】
以上のように、ホストユニットの負担を軽減し、制御の処理速度の向上を図ることができる制御装置及び制御装置の制御方法を提供することができる。
【図面の簡単な説明】
【００３９】
【図１】本発明に係る制御装置の一例を示す構成図である。
【図２】同制御装置のユーザープログラムの構成を示す説明図である。
【図３】同制御装置のタスクのプログラムステップの転送を示す説明図である。
【図４】同制御装置のタスクが複数のサブユニットで実行される場合を示す説明図である。
【図５】同制御装置のタスクのプログラムステップの転送を示すフローチャートである。
【図６】同制御装置のプログラムステップの実行手順を示す説明図である。
【図７】同制御装置の単一のサブユニットで複数のタスクを実行する場合を示す説明図である。
【図８】同制御装置の複数のサブユニットで複数のタスクを実行する場合を示す説明図である。
【符号の説明】
【００４０】
１００・・・制御装置
４・・・・・ホストユニット
６・・・・・ケーブル
８・・・・・ケーブル
１２・・・・制御ボード
１４・・・・バス
１６ａ・・・機能ボード
１６ｂ・・・機能ボード
１６ｃ・・・機能ボード
２２・・・・制御ボード
２４・・・・バス
２６ａ・・・機能ボード
２６ｂ・・・機能ボード
２６ｃ・・・機能ボード
３２・・・・制御ボード
３４・・・・バス
３６ａ・・・機能ボード
３６ｂ・・・機能ボード
３６ｃ・・・機能ボード
【図１】
0005102090.tif 000002
【図２】
0005102090.tif 000003
【図３】
0005102090.tif 000004
【図４】
0005102090.tif 000005
【図５】
0005102090.tif 000006
【図６】
0005102090.tif 000007
【図７】
0005102090.tif 000008
【図８】
0005102090.tif 000009