(57)【要約】【課題】複数のコントローラが接続されてなる制御システムに関して、コントローラにおける機能の追加に容易に且つ安価に対応可能な制御システム、制御方法、および制御プログラムを得ること。【解決手段】第１のコントローラが、自コントローラで制御可能な制御指令に関する情報である制御指令情報を第２のコントローラに転送し、第２のコントローラが、第１のコントローラから送信される制御指令情報を取得して保持し、第２のコントローラが、制御プログラム中に制御指令情報に含まれる制御指令が存在することを条件として、制御指令の実行を指示する制御実行指示情報を制御指令情報を用いて作成し第１のコントローラに送信し、第１のコントローラが、第２のコントローラから送信される制御実行指示情報に基づいて外部機器の制御を実行する。【選択図】        図１
2008186395.tif 000002
【特許請求の範囲】
【請求項１】
外部機器の制御を行う第１のコントローラと、前記第１のコントローラに対して前記外部機器の制御の実行を指示する第２のコントローラと、が相互通信可能に接続され、
前記第１のコントローラが、
自コントローラで制御可能な制御指令に関する情報である制御指令情報を前記第２のコントローラに転送する制御指令情報転送部と、
前記第２のコントローラから送信され制御指令の実行を指示する制御実行指示情報に基づいて前記外部機器の制御を実行する外部機器制御部と、
前記第２のコントローラと相互通信を行う通信部と、
を備え、
前記第２のコントローラが、
前記第１のコントローラから送信される制御指令情報を取得して保持する制御指令情報取得部と、
所定の制御プログラムを実行するプログラム実行部と、
前記制御プログラム中に前記制御指令情報に含まれる制御指令が存在することを条件として、前記制御指令の実行を指示する前記制御実行指示情報を前記制御指令情報を用いて作成し前記第１のコントローラに送信する制御実行指示部と、
前記第１のコントローラと相互通信を行う通信部と、
を備えること、
を特徴とする制御システム。
【請求項２】
前記第２のコントローラが、前記複数の前記第１のコントローラに対して、前記制御実行指示情報を同報通知すること、
を特徴とする請求項１に記載の制御システム。
【請求項３】
前記制御実行指示情報の同報通知は、複数の前記第１のコントローラに共通なフレームを用いて行うこと、
を特徴とする請求項２に記載の制御システム。
【請求項４】
外部機器の制御を行う第１のコントローラと、前記第１のコントローラに対して前記外部機器の制御の実行を指示する第２のコントローラと、が相互通信可能に接続された制御システムを構成する第１のコントローラであって、
自コントローラで制御可能な制御指令に関する情報である制御指令情報を前記第２のコントローラに転送する制御指令情報転送部と、
前記第２のコントローラから送信され制御指令の実行を指示する制御実行指令指示情報に基づいて前記外部機器の制御を実行する外部機器制御部と、
前記第２のコントローラと相互通信を行う通信部と、
を備えることを特徴とするコントローラ。
【請求項５】
外部機器の制御を行う第１のコントローラと、前記第１のコントローラに対して前記外部機器の制御の実行を指示する第２のコントローラと、が相互通信可能に接続された制御システムを構成する第２のコントローラであって、
前記第１のコントローラから送信される前記第１のコントローラで制御可能な制御指令に関する情報である制御指令情報を取得して保持する制御指令情報取得部と、
所定の制御プログラムを実行するプログラム実行部と、
前記制御プログラム中に前記制御指令情報に含まれる制御指令が存在することを条件として、前記制御指令の実行を指示する制御実行指示情報を前記制御指令情報を用いて作成し前記第１のコントローラに送信する制御実行指示部と、
前記第１のコントローラと相互通信を行う通信部と、
を備えること、
を特徴とするコントローラ。
【請求項６】
外部機器の制御を行う第１のコントローラと、前記第１のコントローラに対して前記外部機器の制御の実行を指示する第２のコントローラと、が接続された制御システムの制御方法であって、
前記第１のコントローラが、自コントローラで制御可能な制御指令に関する情報である制御指令情報を前記第２のコントローラに転送する制御指令情報転送工程と、
前記第２のコントローラが、前記第１のコントローラから送信される制御指令情報を取得して保持する制御指令情報取得工程と、
前記第２のコントローラが、所定の制御プログラムを実行するプログラム実行工程と、
前記第２のコントローラが、前記制御プログラム中に前記制御指令情報に含まれる制御指令が存在することを条件として、前記制御指令の実行を指示する制御実行指示情報を前記制御指令情報を用いて作成し前記第１のコントローラに送信する制御実行指示工程と、
前記第１のコントローラが、前記第２のコントローラから送信される前記制御実行指示情報に基づいて前記外部機器の制御を行う外部機器制御工程と、
を含むこと、
を特徴とする制御方法。
【請求項７】
請求項６に記載の制御方法を制御システムに実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム、制御方法、コントローラ、及び制御プログラムに関するものであり、特に、複数のコントローラが接続されてなる制御システムに関するものである。
【背景技術】
【０００２】
従来、プログラマブルコントローラを含む複数のコントローラがバスを介して接続された制御システムにおいては、制御指令の実行命令の指示元となるプログラマブルコントローラから他の各コントローラへの制御指令等の命令（専用命令）を実行する際、命令対象先となるコントローラで実行可能な命令であるか否かを判断するワークエリアを保有し、命令名称の理解を行ったうえで制御指令等の命令を実行していた。
【０００３】
また、従来のプログラマブルコントローラは、各命令専用のフレームに制御指令データを格納して各コントローラに送信し、命令対象先のコントローラは各命令専用のフレームを受信して制御指令を処理していた。すなわち、従来の制御システムにおいては、命令対象先となるコントローラで実行可能な命令であるか否かを判断するための制御対象に応じたワークエリアが必要であった。
【０００４】
これに対して、実行可能な命令であるか否かを判断するためのワークエリアを備えることなく、それぞれの機器の制御を可能とする制御システムが提案されている。たとえば、制御対象機器からコマンド対応表を取得し、操作指示と関連付けて制御機器へ制御命令を送信する制御システムなどが提案されている（たとえば、特許文献１参照）。
【０００５】
【特許文献１】特開２００４−１１０６１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したような従来の制御システムにおいては、ファームウェアのバージョンアップが前提とされている。命令先のコントローラで実行可能な機能を追加する、すなわち新たな制御指令（専用命令）を処理する機能を追加するファームウェアのバージョンアップを命令先のコントローラに対して行う場合には、命令元であるプログラマブルコントローラに対してもファームウェアのバージョンアップが必要となる。したがって、このような制御システムにおいて新たな機能を追加するには、ファームウェアのバージョンアップという複雑な処理が必要となり、また、システムコストが高くなるという問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、複数のコントローラが接続されてなる制御システムに関して、コントローラにおける機能の追加に容易に且つ安価に対応可能な制御システム、制御方法、コントローラおよび制御プログラムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる制御システムは、外部機器の制御を行う第１のコントローラと、前記第１のコントローラに対して前記外部機器の制御の実行を指示する第２のコントローラと、が相互通信可能に接続され、前記第１のコントローラが、自コントローラで制御可能な制御指令に関する情報である制御指令情報を前記第２のコントローラに転送する制御指令情報転送部と、前記第２のコントローラから送信され制御指令の実行を指示する制御実行指示情報に基づいて前記外部機器の制御を実行する外部機器制御部と、前記第２のコントローラと相互通信を行う通信部と、を備え、前記第２のコントローラが、前記第１のコントローラから送信される制御指令情報を取得して保持する制御指令情報取得部と、所定の制御プログラムを実行するプログラム実行部と、前記制御プログラム中に前記制御指令情報に含まれる制御指令が存在することを条件として、前記制御指令の実行を指示する前記制御実行指示情報を前記制御指令情報を用いて作成し前記第１のコントローラに送信する制御実行指示部と、前記第１のコントローラと相互通信を行う通信部と、を備えること、を特徴とする。
【発明の効果】
【０００９】
この発明によれば、複数のコントローラが接続されてなる制御システムにおいて、第２のコントローラが、第１のコントローラが実行可能な制御指令に関する制御指令情報を取得し、この制御指令情報を用いて、制御指令の実行を指示する制御実行指示情報を作成して第１のコントローラに対して送信する。これにより、指示先の第１のコントローラで実行可能な機能を追加する場合においても、第２のコントローラは、実行可能な命令であるか否かを判断するためのワークエリアを備えることなく、またファームウェアのバージョンアップをすることなく、指示先のコントローラにおける機能の追加に対して、容易に且つ安価に対応することができる、という効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明にかかる制御システム、制御方法、コントローラ、および制御プログラムの実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１１】
まず、本発明にかかる制御システムの概要について図１を参照しながら説明する。図１は、本発明にかかる制御システムの概要を説明するためのブロック図である。本発明にかかる制御システムは、図１に示すように、外部機器の制御を行う第１のコントローラ１と、第１のコントローラ１に対して制御指令を行う第２のコントローラ１１と、が相互通信可能に接続された制御システムである。
【００１２】
第１のコントローラ１は、制御指令情報転送部２と、外部機器制御部３と、通信部４と、記憶部と５、制御部６と、を備える。制御指令情報転送部２は、自コントローラで実行可能な制御指令に関する制御指令情報を第２のコントローラ１１に転送する。この転送処理は、任意のタイミングで行うことが可能であるが、少なくとも制御システムの起動時には行われる。
【００１３】
外部機器制御部３は、記憶部５に記憶されている所定の制御プログラム（ユーザプログラム）および／または第２のコントローラ１１から送信される制御指令の実行を指示する制御実行指示情報に基づいて外部機器の制御を行う。通信部４は、第２のコントローラ１１と相互通信を行う。記憶部５は、第１のコントローラ１での制御プログラムおよび各種データを記憶する。制御部６は、第１のコントローラ１での処理全体を制御する。
【００１４】
第２のコントローラ１１は、制御指令情報取得部１２と、プログラム実行部１３と、制御実行指示部１４と、通信部１５と、記憶部１６と、制御部１７と、を備える。制御指令情報取得部１２は、第１のコントローラ１から送信される制御指令情報を取得して保持する。プログラム実行部１３は、所定の制御プログラム（ユーザプログラム）を実行する。
【００１５】
制御実行指示部１４は、プログラム実行部１３における制御プログラム（ユーザプログラム）の実行中に、該制御プログラムに第１のコントローラ１において実行される制御指令が存在したとき、この制御指令の実行を第１のコントローラ１に指示する制御実行指示情報を作成して第１のコントローラ１に送信する。通信部１５は、第１のコントローラ１と相互通信を行う。記憶部１６は、第２のコントローラ１１での制御における各種プログラムおよび各種データを記憶する。制御部１７は、第２のコントローラ１１での処理全体を制御する。
【００１６】
本発明にかかる制御システムは、以上のような構成を有することにより、第２のコントローラ１１が、第１のコントローラ１が制御可能な制御指令に関する情報である制御指令情報を取得し、この制御指令情報を用いて、制御指令の実行を指示する制御実行指示情報を作成して第１のコントローラ１に対して送信する。そして、第１のコントローラ１は、制御実行指示情報に基づいて制御指令を実行することで、外部機器の制御を行う。
【００１７】
これにより、第１のコントローラ１が実行可能な制御指令の種類を追加する場合においても、第２のコントローラ１１はファームウェアのバージョンアップをすることなく、第１のコントローラ１における機能の追加に対して、容易に且つ安価に対応することができる。
【００１８】
以下の実施の形態において、上述した本発明を実現する具体的な実施の形態について説明する。
【００１９】
実施の形態
図２は、本発明の実施の形態にかかる制御システムの構成を模式的に示す図であり、図３−１は、本実施の形態にかかる制御システムの構成を模式的に示すブロック図である。この制御システムは、ベースユニット２５にコントローラＡ２０、コントローラＢ２１、コントローラＣ２２、コントローラＤ２３が装着されている。ここでコントローラＡ２０は、プログラマブルコントローラ（ＰＬＣ）であり、コントローラＢ２１は、モーションコントローラ（ＭＣ）であり、コントローラＣ２２は、数値制御コントローラ（ＮＣ）であり、コントローラＤ２３は、ロボットコントローラ（ＲＣ）である。
【００２０】
プログラマブルコントローラ（ＰＬＣ）２０は、ベースユニット２５上の所定の取り付け位置に装着されると、マスタコントローラとなり、他のコントローラの制御を行うことができる。ただし、実施の形態にかかる制御システムにおいては、他のコントローラ（２１〜２３）からもプログラマブルコントローラ（ＰＬＣ）２０の制御を行うことが可能であり、他のコントローラ（２１〜２３）からの指令によりプログラマブルコントローラ（ＰＬＣ）２０が制御されることもある。すなわち、この制御システムにおいては、ベースユニット２５に装着されたコントローラ相互間で制御指令が行われる。
【００２１】
図３−１に示すように、ベースユニット２５にはデータバス３０が設けられており、データバス３０を介してそれぞれのコントローラ間の相互通信が可能とされており、複数のコントローラ間で各種の情報を送受信することができる。また、本実施の形態にかかるデータバス３０においては、全コントローラ間で共通化されたフレームを用いることにより、一のコントローラから他の複数のコントローラに対して同報通知を行うことが可能である。
【００２２】
図３−２は、各コントローラ（２０〜２３）とデータバス３０との通信（データの流れ）を模式的に示す図である。図３−２に示すように、各コントローラ間ではデータバス３０を介して相互に通信（データＤの送受信）が行われる。
【００２３】
図３−３は、データバス３０上に送信されるデータＤの一例を示す図である。データバス３０上には、たとえば図３−３に示すようにプログラマブルコントローラ（ＰＬＣ）２０からモーションコントローラ（ＭＣ）２１への制御指令に関するデータＤ１、プログラマブルコントローラ（ＰＬＣ）２０から数値制御コントローラ（ＮＣ）２２への制御指令に関するデータＤ２、プログラマブルコントローラ（ＰＬＣ）２０からロボットコントローラ（ＲＣ）２３への制御指令に関するデータＤ３、プログラマブルコントローラ（ＰＬＣ）２０から全コントローラへの共通制御指令に関するデータＤ４、モーションコントローラ（ＭＣ）２１からプログラマブルコントローラ（ＰＬＣ）２０への制御指令に関するデータＤ５などが送信される。
【００２４】
また、プログラマブルコントローラ（ＰＬＣ）２０は、図３−１に示すように、プログラマブルコントローラ（ＰＬＣ）２０内の処理を制御するＭＰＵ（Micro  Processing  Unit）４０と、プログラマブルコントローラ（ＰＬＣ）２０内における基本的な処理を実行するシステムプログラムを格納するシステムプログラムＲＯＭ（Read-Only  Memory）４１と、システムプログラムが使用するメモリ領域であるシステムワークＲＡＭ４２と、データバス３０に接続され各種データをフレーム化して所定の宛て先へと送信するとともに、自プログラマブルコントローラ（ＰＬＣ）２０宛のフレームの受信処理を行うデータバスインタフェース（図中、データバスＩ／Ｆと表記）４３と、自プログラマブルコントローラ（ＰＬＣ）２０で動作するユーザプログラムを格納するユーザプログラムＲＡＭ（Random  Access  Memory）４４と、ユーザプログラムが使用するデータを格納するユーザデータＲＡＭ４５と、を備える。これらは、バス４６を介して接続されている。
【００２５】
また、モーションコントローラ（ＭＣ）２１は、図３−１に示すように、モーションコントローラ（ＭＣ）２１内の処理を制御するＭＰＵ（Micro  Processing  Unit）５０と、モーションコントローラ（ＭＣ）２１内における基本的な処理を実行するシステムプログラムを格納するシステムプログラムＲＯＭ（Read-Only  Memory）５１と、システムプログラムが使用するメモリ領域であるシステムワークＲＡＭ５２と、データバス３０に接続され各種データをフレーム化して所定の宛て先へと送信するとともに、自モーションコントローラ（ＭＣ）２１宛のフレームの受信処理を行うデータバスインタフェース（図中、データバスＩ／Ｆと表記）５３と、自モーションコントローラ（ＭＣ）２１で動作するユーザプログラムを格納するユーザプログラムＲＡＭ（Random  Access  Memory）５４と、ユーザプログラムが使用するデータを格納するユーザデータＲＡＭ５５と、を備える。これらは、バス５６を介して接続されている。
【００２６】
また、数値制御コントローラ（ＮＣ）２２は、図３−１に示すように、数値制御コントローラ（ＮＣ）２２内の処理を制御するＭＰＵ（Micro  Processing  Unit）６０と、数値制御コントローラ（ＮＣ）２２内における基本的な処理を実行するシステムプログラムを格納するシステムプログラムＲＯＭ（Read-Only  Memory）６１と、システムプログラムが使用するメモリ領域であるシステムワークＲＡＭ６２と、データバス３０に接続され各種データをフレーム化して所定の宛て先へと送信するとともに、自数値制御コントローラ（ＮＣ）２２宛のフレームの受信処理を行うデータバスインタフェース（図中、データバスＩ／Ｆと表記）６３と、自数値制御コントローラ（ＮＣ）２２で動作するユーザプログラムを格納するユーザプログラムＲＡＭ（Random  Access  Memory）６４と、ユーザプログラムが使用するデータを格納するユーザデータＲＡＭ６５と、を備える。これらは、バス６６を介して接続されている。
【００２７】
また、ロボットコントローラ（ＲＣ）２３は、図３−１に示すように、ロボットコントローラ（ＲＣ）２３内の処理を制御するＭＰＵ（Micro  Processing  Unit）７０と、ロボットコントローラ（ＲＣ）２３内における基本的な処理を実行するシステムプログラムを格納するシステムプログラムＲＯＭ（Read-Only  Memory）７１と、システムプログラムが使用するメモリ領域であるシステムワークＲＡＭ７２と、データバス３０に接続され各種データをフレーム化して所定の宛て先へと送信するとともに、自ロボットコントローラ（ＲＣ）２３宛のフレームの受信処理を行うデータバスインタフェース（図中、データバスＩ／Ｆと表記）７３と、自ロボットコントローラ（ＲＣ）２３で動作するユーザプログラムを格納するユーザプログラムＲＡＭ（Random  Access  Memory）７４と、ユーザプログラムが使用するデータを格納するユーザデータＲＡＭ７５と、を備える。これらは、バス７６を介して接続されている。
【００２８】
図４−１〜図４−４は、それぞれプログラマブルコントローラ（ＰＬＣ）２０、モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３のデータバスＩ／Ｆ４３、データバスＩ／Ｆ５３、データバスＩ／Ｆ６３、データバスＩ／Ｆ７３におけるデータ構造を模式的に示す図である。
【００２９】
図４−１に示すように、プログラマブルコントローラ（ＰＬＣ）２０のデータバスＩ／Ｆ４３では、自コントローラ（コントローラＡ）からの送信情報であるコントローラＡ情報８０と、他コントローラ（コントローラＢ）からの受信情報であるコントローラＢ情報８１と、他コントローラ（コントローラＣ）からの受信情報であるコントローラＣ情報８２と、他コントローラ（コントローラＤ）からの受信情報であるコントローラＤ情報８３と、を有する。
【００３０】
また、図４−２に示すように、モーションコントローラ（ＭＣ）２１のデータバスＩ／Ｆ５３では、他コントローラ（コントローラＡ）からの受信情報であるコントローラＡ情報９０と、自コントローラ（コントローラＢ）からの送信情報であるコントローラＢ情報９１と、他コントローラ（コントローラＣ）からの受信情報であるコントローラＣ情報９２と、他コントローラ（コントローラＤ）からの受信情報であるコントローラＤ情報９３と、を有する。
【００３１】
また、図４−３に示すように、数値制御コントローラ（ＮＣ）２２のデータバスＩ／Ｆ６３では、他コントローラ（コントローラＡ）からの受信情報であるコントローラＡ情報１００と、他コントローラ（コントローラＢ）からの受信情報であるコントローラＢ情報１０１と、自コントローラ（コントローラＣ）からの送信情報であるコントローラＣ情報１０２と、他コントローラ（コントローラＤ）からの受信情報であるコントローラＤ情報１０３と、を有する。
【００３２】
また、図４−４に示すように、ロボットコントローラ（ＲＣ）２３のデータバスＩ／Ｆで７３は、他コントローラ（コントローラＡ）からの受信情報であるコントローラＡ情報１１０と、他コントローラ（コントローラＢ）からの受信情報であるコントローラＢ情報１１１と、他コントローラ（コントローラＣ）からの受信情報であるコントローラＣ情報１１２と、自コントローラ（コントローラＤ）からの送信情報であるコントローラＤ情報１１３と、を有する。
【００３３】
図５−１〜図５−４は、コントローラ情報の送信情報（コントローラＡ情報８０、コントローラＢ情報９１、コントローラＣ情報１０２、コントローラＤ情報１１３）の詳細を示す図である。この送信情報は、プログラマブルコントローラ（ＰＬＣ）２０、モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３が、それぞれデータバスＩ／Ｆ４３、データバスＩ／Ｆ５３、データバスＩ／Ｆ６３、データバスＩ／Ｆ７３から他のコントローラに対して転送する情報であり、基本的に各コントローラ間において共通のフレームとされている。
【００３４】
図５−１は、コントローラＡ情報８０（送信情報）の詳細を示す図である。なお、送信情報であるか受信情報であるかの違いがあるが、データの詳細内容は、コントローラＡ情報９０（受信情報）、コントローラＡ情報１００（受信情報）およびコントローラＡ情報１１０（受信情報）と同様である。図５−１に示すように、コントローラＡ情報８０（送信情報）は、転送用制御指令情報データ長１２０、命令情報の第１の形態でありＰＬＣに対して制御を命令するためのＰＬＣ制御指令情報１２１、および命令情報の第２の形態であり全てのコントローラに対する制御命令を同報通知するための共通制御指令情報１２２を有する。なお、転送用制御指令情報データ長１２０は、ＰＬＣ制御指令情報１２１または共通制御指令情報１２２のデータ長である。
【００３５】
また、図５−２は、コントローラＢ情報９１（送信情報）の詳細を示す図である。なお、送信情報であるか受信情報であるかの違いがあるが、データの詳細内容は、コントローラＢ情報８１（受信情報）、コントローラＢ情報１０１（受信情報）およびコントローラＢ情報１１１（受信情報）と同様である。図５−２に示すように、コントローラＢ情報９１（送信情報）は、転送用制御指令情報データ長１３０、命令情報の第１の形態でありＭＣに対して制御を命令するためのＭＣ制御指令情報１３１、および命令情報の第２の形態であり全てのコントローラに対する制御命令を同報通知するための共通制御指令情報１３２を有する。なお、転送用制御指令情報データ長１３０は、ＭＣ制御指令情報１３１または共通制御指令情報１３２のデータ長である。
【００３６】
また、図５−３は、コントローラＣ情報１０２（送信情報）の詳細を示す図である。なお、送信情報であるか受信情報であるかの違いがあるが、データの詳細内容は、コントローラＣ情報８２（受信情報）、コントローラＣ情報９２（受信情報）およびコントローラＣ情報１１２（受信情報）と同様である。図５−３に示すように、コントローラＣ情報１０２（送信情報）は、転送用制御指令情報データ長１４０、命令情報の第１の形態でありＮＣに対して制御を命令するためのＮＣ制御指令情報１４１、および命令情報の第２の形態であり全てのコントローラに対する制御命令を同報通知するための共通制御指令情報１４２を有する。なお、転送用制御指令情報データ長１４０は、ＮＣ制御指令情報１４１または共通制御指令情報１４２のデータ長である。
【００３７】
また、図５−４は、コントローラＤ情報１１３（送信情報）の詳細を示す図である。なお、送信情報であるか受信情報であるかの違いがあるが、データの詳細内容は、コントローラＤ情報８３（受信情報）、コントローラＤ情報９３（受信情報）およびコントローラＤ情報１０３（受信情報）と同様である。図５−４に示すように、コントローラＤ情報１１３（送信情報）は、転送用制御指令情報データ長１５０、および命令情報の第１の形態でありＲＣに対して制御を命令するためのＲＣ制御指令情報１５１を有する。なお、転送用制御指令情報データ長１２０は、ＲＣ制御指令情報１５１のデータ長である。
【００３８】
なお、上記においては図５−４に示すフレームのみが他のフレームと異なり、命令情報の第２の形態であり全てのコントローラに対して同報通知するための命令情報が含まれていないが、ロボットコントローラ（ＲＣ）２３内における基本的な処理を実行するシステムプログラム（システムプログラムＲＯＭ（Read-Only  Memory）７１に格納）をバーションアップすることにより、他のコントローラ情報と同様に全てのコントローラに対して同報通知するための命令情報を含ませることができる。
【００３９】
図６−１〜図６−４は、図５−１〜図５−４に示した制御指令情報（ＰＬＣ制御指令情報１２１、ＭＣ制御指令情報１３１、ＮＣ制御指令情報１４１、ＲＣ制御指令情報１５１）の詳細を示す図である。これらの制御指令情報は、基本的に各コントローラ間において共通のフレームとされている。
【００４０】
図６−１は、ＰＬＣ制御指令情報１２１の詳細を示す図である。図６−１に示すように、ＰＬＣ制御指令情報１２１は、ＰＬＣに対して制御を命令する制御指令の名称である制御指令名称（命令名称）１６０と、該制御指令に必要なデータ個数（命令内容数）１６１と、該制御指令に必要なシステム情報１６２とを有する。ここで、たとえば「ステップ数１００だけ戻れ」との内容のＰＬＣ制御指令情報１２１がある場合には、制御指令名称１６０は「戻れ」を意味する制御指令α、制御に必要なデータ個数（命令内容数）１６１は「１（ヶ）」、システム情報１６２は「（ステップ数）１００」である。
【００４１】
図６−２は、ＭＣ制御指令情報１３１の詳細を示す図である。図６−２に示すように、ＭＣ制御指令情報１３１は、ＭＣに対して制御を命令する制御指令の名称である制御指令名称（命令名称）１７０と、該制御指令に必要なデータ個数（命令内容数）１７１と、該制御指令に必要なシステム情報１７２とを有する。
【００４２】
図６−３は、ＮＣ制御指令情報１４１の詳細を示す図である。図６−３に示すように、ＮＣ制御指令情報１４１は、ＮＣに対して制御を命令する制御指令の名称である制御指令名称（命令名称）１８０と、該制御指令に必要なデータ個数（命令内容数）１８１と、該制御指令に必要なシステム情報１８２とを有する。
【００４３】
図６−４は、ＲＣ制御指令情報１５１の詳細を示す図である。図６−４に示すように、ＲＣ制御指令情報１５１は、ＲＣに対して制御を命令する制御指令の名称である制御指令名称（命令名称）１９０と、該制御指令に必要なデータ個数（命令内容数）１９１と、該制御指令に必要なシステム情報１９２とを有する。
【００４４】
つぎに、このような本実施の形態にかかる制御システムにおける各コントローラのシステムプログラムの起動動作処理について説明する。ここでは、制御システム起動時のプログラマブルコントローラ（ＰＬＣ）２０のシステムプログラム起動動作処理を例に図７を参照しながら説明する。図７は、制御システム起動時におけるプログラマブルコントローラ（ＰＬＣ）２０のシステムプログラム起動動作処理を説明するためのフローチャートである。
【００４５】
まず、制御システムが起動されると、プログラマブルコントローラ（ＰＬＣ）２０のＭＰＵ４０はシステムプログラムＲＯＭ４１に格納されているシステムプログラムを実行し、自コントローラから他のコントローラへ転送する情報であり、且つ自コントローラで制御可能な制御指令であって他のコントローラ間で共通して認識可能な制御指令に関する情報である転送用の制御指令情報をシステムワークＲＡＭ４２に作成する（ステップＳ１１０）。つぎに、ＭＰＵ４０は、システムワークＲＡＭ４２に作成した転送用の制御指令情報をデータバスＩ／Ｆ４３の自コントローラ用エリアにコントローラＡ情報８０としてセットする（ステップＳ１１１）。
【００４６】
そして、データバスＩ／Ｆ４３は、自コントローラ用エリアにコントローラＡ情報８０としてセットされた転送用の制御指令情報をデータバス３０経由で他のコントローラのデータバスＩ／Ｆ（５３、６３、７３）に送信する（ステップＳ１１２）。このとき、他のコントローラからも同様に転送用の制御指令情報がデータバス３０に送信され、データバス３０上には各コントローラの転送用の制御指令情報（９１、１０２、１１３）が流れ、宛先のコントローラへ送信される。また、データバスＩ／Ｆ４３は、データバス３０を介して各コントローラの転送用の制御指令情報（８１、８２、８３）を受信し、他コントローラ情報用のエリアに格納する（たとえば、コントローラＢからの受信情報である転送用の制御指令情報をコントローラＢ情報８１として格納する）。
【００４７】
つぎに、ＭＰＵ４０は、データバスＩ／Ｆ４３を介してデータバス３０に接続されているコントローラの台数の情報を取得し（ステップＳ１１３）、データバス３０に接続されているコントローラの台数が２台以上であるか否かを判断する（ステップＳ１１４）。
【００４８】
ここでデータバス３０に接続されているコントローラの台数が２台以上である場合には（ステップＳ１１４肯定）、ＭＰＵ４０はデータバスＩ／Ｆ４３に各コントローラの転送用の制御指令情報がデータバス３０上に存在するかを確認し（ステップＳ１１５）、さらにデータバスＩ／Ｆ４３の所定のエリアに各コントローラの転送用の制御指令情報がセットされているか否かを判断する（ステップＳ１１６）。転送用の制御指令情報がセットされていないと判断した場合には（ステップＳ１１６否定）、ステップＳ１１５に戻る。
【００４９】
また、転送用の制御指令情報がセットされていると判断した場合には（ステップＳ１１６肯定）、ＭＰＵ４０はデータバスＩ／Ｆ４３から転送用の制御指令情報をデータ長分、コントローラ毎に取得する（ステップＳ１１７）。ＭＰＵ４０は、取得した各コントローラ毎の転送用の制御指令情報をシステムワークＲＡＭ４２に格納する（ステップＳ１１８）。
【００５０】
そして、ＭＰＵ４０は、データバス３０に接続されているコントローラの台数分だけ、転送用の制御指令情報を取得、格納したか否かを判断する（ステップＳ１１９）。接続台数分だけの転送用の制御指令情報を取得、格納していないと判断した場合には（ステップＳ１１９否定）、ステップＳ１１５に戻る。また、接続台数分だけの転送用の制御指令情報を取得、格納したと判断した場合には（ステップＳ１１９肯定）、ユーザプログラム実行待機状態となり、制御システム起動時におけるプログラマブルコントローラ（ＰＬＣ）２０の一連の動作処理が終了する。
【００５１】
また、ステップＳ１１４に戻って、ここでデータバス３０に接続されているコントローラの台数が２台以上でない場合には（ステップＳ１１４否定）、ユーザプログラム実行待機状態となり、制御システム起動時におけるプログラマブルコントローラ（ＰＬＣ）２０の一連の動作処理が終了する。
【００５２】
上記においては、プログラマブルコントローラ（ＰＬＣ）２０を例に、制御システムを構成するコントローラの制御システム起動時のシステムプログラム起動動作処理を説明したが、モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３においても、同様にシステムプログラムの起動動作処理が行われる。
【００５３】
つぎに、図７のフローに従ってシステムプログラムの起動動作処理が終了し、ユーザプログラム実行待機状態からユーザプログラムの実行が開始された後の、制御指令の実行を指示する指示元のコントローラにおけるユーザプログラムの動作処理について説明する。ここでは、ユーザプログラム実行時のプログラマブルコントローラ（ＰＬＣ）２０の動作処理を例に、指示元のコントローラ２０から他の１つのコントローラに対して制御指令の実行指示を行う制御実行指示処理について図８を参照しながら説明する。
【００５４】
図８は、ユーザプログラム実行時のプログラマブルコントローラ（ＰＬＣ）２０の動作処理を説明するためのフローチャートである。なお、プログラマブルコントローラ（ＰＬＣ）２０のシステムワークＲＡＭ４２には、上記の図７のフローに従った処理がなされて各コントローラ（モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３）の転送用の制御指令情報（８１、８２、８３）が格納されている。
【００５５】
まず、プログラマブルコントローラ（ＰＬＣ）２０が所定のユーザプログラムを実行し、ＭＰＵ４０がユーザプログラム上に他のコントローラへの制御指令があることを確認する（ステップＳ２１０）。つぎにＭＰＵ４０は、他のコントローラへの制御指令実施の指示が外部（ユーザ）から入力されているか否かを判断する（ステップＳ２１１）。
【００５６】
つぎに、ＭＰＵ４０は、ユーザプログラムで指定されている制御指令対象先コントローラ、データ個数、データを該ユーザプログラムから取得する（ステップＳ２１２）。ここで、制御指令対象先コントローラはモーションコントローラ（ＭＣ）２１とする。続いて、ＭＰＵ４０は、システムワークＲＡＭ４２に格納している対象先コントローラの転送用の制御指令情報を取得する（ステップＳ２１３）。すなわち、ここではＭＰＵ４０は、システムワークＲＡＭ４２に格納しているモーションコントローラ（ＭＣ）２１の転送用の制御指令情報８１を取得する。
【００５７】
つぎに、ＭＰＵ４０は、取得したモーションコントローラ（ＭＣ）２１の転送用の制御指令情報８１を確認し、制御指令名称（命令名称）１７０、制御に必要なデータ個数１７１、データ実情報（制御に必要なシステム情報）１７２を確認する（ステップＳ２１４）。そして、ＭＰＵ４０は、ユーザプログラムで指定された制御指令名称（命令名称）がモーションコントローラ（ＭＣ）２１の転送用の制御指令情報８１に存在するか否かを判断する（ステップＳ２１５）。ここで、制御指令名称（命令名称）がモーションコントローラ（ＭＣ）２１の転送用の制御指令情報８１に存在しない場合は（ステップＳ２１５否定）、モーションコントローラ（ＭＣ）２１の転送用の制御指令情報８１が不完全であるため、ここで、一連のユーザプログラム処理を終了する（ステップＳ２１９）。
【００５８】
また、制御指令名称（命令名称）がモーションコントローラ（ＭＣ）２１の転送用の制御指令情報８１に存在する場合は（ステップＳ２１５肯定）、ＭＰＵ４０は、ユーザプログラムで指定されたデータ個数と転送用制御指令情報８１で指定されているデータ個数１７１とが一致するか否かを確認する（ステップＳ２１６）。ここで、データ個数が一致しない場合は（ステップＳ２１６否定）、モーションコントローラ（ＭＣ）２１の転送用制御指令情報８１が不完全であるため、ここで、一連のユーザプログラム処理を終了する（ステップＳ２１９）。
【００５９】
また、データ個数が一致する場合は（ステップＳ２１６肯定）、ＭＰＵ４０は、制御指令に必要なデータからモーションコントローラ（ＭＣ）２１に対する制御実行指示情報を作成し、自コントローラのデータバスＩ／Ｆ４３にセットする（ステップＳ２１７）。図９に、ＭＰＵ４０が作成してデータバスＩ／Ｆ４３にセットする制御実行指示情報２００の詳細を示す。
【００６０】
図９に示すように、制御実行指示情報２００は、制御実行指示情報データ長２０１と、対象先コントローラ番号２０２（モーションコントローラ（ＭＣ）２１番号）と、モーションコントローラ（ＭＣ）２１に対する制御指令の名称である制御指令名称２０３と、該制御実行指示情報２００による制御に必要なデータ個数（命令内容数）２０４と、該制御実行指示情報２００による制御に必要なユーザ指定情報２０５と、を有する。なお、制御実行指示情報データ長２０１は、制御実行指示情報２００のデータ長である。
【００６１】
そして、データバスＩ／Ｆ４３は、制御実行指示情報２００をデータバス３０経由でモーションコントローラ（ＭＣ）２１のデータバスＩ／Ｆ５３に送信し（ステップＳ２１８）、一連のユーザプログラム処理を終了する（ステップＳ２１９）。
【００６２】
上記においては、プログラマブルコントローラ（ＰＬＣ）２０からモーションコントローラ（ＭＣ）２１への制御実行指令情報の送信を例にユーザプログラム実行時の制御実行指示処理を説明したが、プログラマブルコントローラ（ＰＬＣ）２０から数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３に対しても、同様にユーザプログラム実行時の制御実行指示処理が行われる。また、モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３のそれぞれから他のコントローラに対しても、同様にユーザプログラム実行時の制御実行指示処理を行うことができる。すなわち、この制御システムにおいては、ベースユニット２５に装着され、データバス３０で接続されたコントローラ相互間で制御実行指示を行い、他のコントローラの制御を行うことができる。
【００６３】
つぎに、図８のフローに従ってユーザプログラム実行時の制御実行指示処理が実行された後の、制御指令の実行指示がなされた各コントローラにおけるデータバスＩ／Ｆ情報の確認の動作処理について説明する。ここでは、モーションコントローラ（ＭＣ）２１の動作処理を例に図１０を参照しながら説明する。図１０は、モーションコントローラ（ＭＣ）２１におけるデータバスＩ／Ｆ情報の確認の動作処理を説明するためのフローチャートである。
【００６４】
まず、モーションコントローラ（ＭＣ）２１のＭＰＵ５０は、データバスＩ／Ｆ５３上の情報を確認し（ステップＳ３１０）、制御実行指示情報の受信があるか否かを判断する（ステップＳ３１１）。制御実行指示情報の受信がないと判断した場合は（ステップＳ３１１否定）、ここで、一連のデータバスＩ／Ｆ情報の確認処理を終了する（ステップＳ３１７）。
【００６５】
また、制御実行指示情報の受信があると判断した場合は（ステップＳ３１１肯定）、ＭＰＵ５０は制御実行指示情報の対象先が自コントローラであるか否かを判断する（ステップＳ３１２）。ここで、制御実行指示情報の対象先が自コントローラでないと判断した場合は（ステップＳ３１２否定）、ここで、一連のデータバスＩ／Ｆ情報の確認処理を終了する（ステップＳ３１７）。
【００６６】
一方、制御実行指示情報の対象先が自コントローラであると判断した場合は（ステップＳ３１２肯定）、ＭＰＵ５０は受信した制御実行指示情報をシステムワークＲＡＭ５２に格納する（ステップＳ３１３）。つぎに、ＭＰＵ５０は、システムワークＲＡＭ５２に格納した制御実行指示情報の制御指令名称（命令名称）を確認し（ステップＳ３１４）、制御指令名称（命令名称）が、自コントローラで制御可能な制御指令に関する情報（すなわち転送用の制御指令情報）に存在するか否かを判断する（ステップＳ３１５）。
【００６７】
ここで、制御実行指示情報の制御指令名称（命令名称）が自コントローラの転送用制御指令情報に存在しない場合は（ステップＳ３１５否定）、一連のデータバスＩ／Ｆ情報の確認処理を終了する（ステップＳ３１７）。また、制御実行指示情報の制御指令名称（命令名称）が自コントローラの転送用制御指令情報に存在する場合は（ステップＳ３１５肯定）、ＭＰＵ５０は制御実行指示情報で指定された制御指令を実行し（ステップＳ３１６）、一連のデータバスＩ／Ｆ情報の確認処理を終了する（ステップＳ３１７）。
【００６８】
つぎに、図７のフローに従ってシステムプログラムの起動動作処理が終了し、ユーザプログラム実行待機状態からユーザプログラムの実行が開始された後の、制御実行命令の指示元のコントローラにおけるユーザプログラムの動作処理について説明する。ここでは、ユーザプログラム実行時のプログラマブルコントローラ（ＰＬＣ）２０の動作処理を例に、制御実行命令の指示元のコントローラから他の全コントローラに対して共通の制御実行指示を行う共通制御実行指示処理について図１１を参照しながら説明する。
【００６９】
図１１は、共通制御実行指示処理を実行する場合のプログラマブルコントローラ（ＰＬＣ）２０の動作処理を説明するためのフローチャートである。なお、プログラマブルコントローラ（ＰＬＣ）２０のシステムワークＲＡＭ４２には、図７のフローに従った処理がなされて各コントローラ（モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３）の転送用制御指令情報が格納されている。
【００７０】
まず、プログラマブルコントローラ（ＰＬＣ）２０が所定のユーザプログラムを実行し、ＭＰＵ４０がユーザプログラム上に各コントローラ（モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３）への制御指令があることを確認する（ステップＳ４１０）。つぎにＭＰＵ４０は、各コントローラ（モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３）への制御指令実施の指示が外部（ユーザ）から入力されているか否かを判断する（ステップＳ４１１）。
【００７１】
つぎに、ＭＰＵ４０は、ユーザプログラムで指定されている制御指令対象先コントローラ、データ個数、データを該ユーザプログラムから取得する（ステップＳ４１２）。ここで、制御指令対象先コントローラは各コントローラ（モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３）である。
【００７２】
続いて、ＭＰＵ４０は、システムワークＲＡＭ４２に格納している対象先コントローラの転送用制御指令情報の情報を取得する（ステップＳ４１３）。すなわち、ここではＭＰＵ４０は、システムワークＲＡＭ４２に格納している各コントローラ（モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３）の転送用制御指令情報を取得する。
【００７３】
つぎに、ＭＰＵ４０は、取得した各コントローラの転送用制御指令情報を確認し、制御指令名称（命令名称）、制御に必要なデータ個数、データ実情報（制御に必要なシステム情報）を確認する（ステップＳ４１４）。そして、ＭＰＵ４０は、ユーザプログラムで指定された制御指令名称（命令名称）が各コントローラの転送用制御指令情報に存在するか否かを判断する（ステップＳ４１５）。ここで、制御指令名称（命令名称）が転送用制御指令情報に存在しない場合は（ステップＳ４１５否定）、転送用制御指令情報が不完全であるため、ここで、一連のユーザプログラム処理を終了する（ステップＳ４１９）。
【００７４】
また、制御指令名称（命令名称）が転送用制御指令情報に存在する場合は（ステップＳ４１５肯定）、ＭＰＵ４０は、ユーザプログラムで指定されたデータ個数と転送用制御指令情報で指定されているデータ個数が一致するか否かを各コントローラの転送用制御指令情報について確認する（ステップＳ４１６）。ここで、データ個数が一致しない場合は（ステップＳ４１６否定）、転送用制御指令情報が不完全であるため、ここで、一連のユーザプログラム処理を終了する（ステップＳ４１９）。
【００７５】
また、データ個数が一致する場合は（ステップＳ４１６肯定）、ＭＰＵ４０は、制御指令に必要なデータから共通制御実行指示情報を作成し、自コントローラのデータバスＩ／Ｆ４３の自コントローラ用エリアに共通制御実行指示情報３００としてセットする（ステップＳ４１７）。図１２に、ＭＰＵ４０が作成してデータバスＩ／Ｆ４３にセットする共通制御実行指示情報３００の詳細を示す。
【００７６】
図１２に示すように、共通制御実行指示情報３００は、共通制御実行指示情報データ長３０１と、対象先コントローラ番号３０２（全コントローラ番号）と、全コントローラに対して制御を命令する命令情報の名称である共通制御指令名称３０３と、該共通制御実行指示情報３００による制御に必要なデータ個数（命令内容数）３０４と、該共通制御実行指示情報３００による制御に必要なユーザ指定情報３０５と、を有する。なお、共通制御実行指示情報データ長３０１は、共通制御実行指示情報３００のデータ長である。ここで、共通制御実行指示情報３００のフレームは、全コントローラ間で共通化された共通フレームである。共通フレームを用いることにより、一のコントローラから他の複数のコントローラに対して同報通知を行うことが可能である。
【００７７】
そして、データバスＩ／Ｆ４３は、自コントローラ用エリアにセットされた共通制御実行指示情報３００を同報通知する。すなわち、データバスＩ／Ｆ４３は、共通制御実行指示情報３００をデータバス３０経由で各コントローラのデータバスＩ／Ｆ５３、６３、７３に送信する（ステップＳ４１８）。そして、一連のユーザプログラム処理を終了する（ステップＳ４１９）。
【００７８】
上記においては、プログラマブルコントローラ（ＰＬＣ）２０から他の全コントローラへの共通制御実行指示処理（同報通知）を例にユーザプログラム実行時の共通制御実行指示処理（同報通知）を説明したが、プログラマブルコントローラ（ＰＬＣ）２０以外の他の各コントローラからその他の全コントローラに対しても同様にユーザプログラム実行時の共通制御実行指示処理（同報通知）を行うことができる。すなわち、この制御システムにおいては、ベースユニット２５に装着され、データバス３０で接続されたコントローラ相互間で共通制御実行指示を行い、他のコントローラの制御を一括して行うことができる。
【００７９】
図１１のフローに従ってユーザプログラム実行時の共通制御実行指示処理が実行された後の、制御の実行指示がなされた各コントローラにおけるデータバスＩ／Ｆ情報の確認の動作処理について説明する。ここでは、モーションコントローラ（ＭＣ）２１の動作処理を例に図１３を参照しながら説明する。図１３は、モーションコントローラ（ＭＣ）２１におけるデータバスＩ／Ｆ情報の確認の動作処理を説明するためのフローチャートである。
【００８０】
まず、モーションコントローラ（ＭＣ）２１のＭＰＵ５０は、データバスＩ／Ｆ５３上の情報を確認し（ステップＳ５１０）、共通制御実行指示情報の受信があるか否かを判断する（ステップＳ５１１）。共通制御実行指示情報の受信がないと判断した場合は（ステップＳ５１１否定）、ここで、一連のデータバスＩ／Ｆ情報の確認処理を終了する（ステップＳ５１７）。
【００８１】
また、共通制御実行指示情報の受信があると判断した場合は（ステップＳ５１１肯定）、ＭＰＵ５０は共通制御実行指示情報の対象先が自コントローラであるか否かを判断する（ステップＳ５１２）。ここで、共通制御実行指示情報の対象先が自コントローラでないと判断した場合は（ステップＳ５１２否定）、ここで、一連のデータバスＩ／Ｆ情報の確認処理を終了する（ステップＳ５１７）。
【００８２】
一方、共通制御実行指示情報の対象先が自コントローラであると判断した場合は（ステップＳ５１２肯定）、ＭＰＵ５０は受信した共通制御実行指示情報をシステムワークＲＡＭ５２に格納する（ステップＳ５１３）。つぎに、ＭＰＵ５０は、システムワークＲＡＭ５２に格納した共通制御実行指示情報の制御指令名称（命令名称）を確認し（ステップＳ５１４）、制御指令名称（命令名称）が、自コントローラで制御可能な制御指令に関する情報（すなわち、転送用制御指令情報）に存在するか否かを判断する（ステップＳ５１５）。
【００８３】
ここで、共通制御実行指示情報の制御指令名称（命令名称）が自コントローラの転送用制御指令情報に存在しないと判断した場合は（ステップＳ５１５否定）、一連のデータバスＩ／Ｆ情報の確認処理を終了する（ステップＳ５１７）。また、制御実行指示情報の制御指令名称（命令名称）が自コントローラの転送用制御指令情報に存在すると判断した場合は（ステップＳ５１５肯定）、ＭＰＵ５０は共通制御実行指示情報で指定された制御指令を実行し（ステップＳ５１６）、一連のデータバスＩ／Ｆ情報の確認処理を終了する（ステップＳ５１７）。
【００８４】
上述したように、本実施の形態にかかる制御システムによれば、制御実行指示の指示元となるコントローラが、制御実行指示の指示先のコントローラ間で共通して認識可能な制御指令に関する情報である制御指令情報を取得し、この制御指令情報を用いて、制御指令の実行を指示する制御実行指情報を作成して指示先のコントローラに対して送信する。
【００８５】
これにより、指示元となるコントローラは、指示先のコントローラで実行可能な機能を追加する場合においても、ファームウェアのバージョンアップなどをする必要がない。すなわち、指示元となるコントローラは、指示先のコントローラで実行可能な機能を追加する場合においても、制御実行命令の指示先のコントローラ間で共通して実行可能な制御指令に関する情報を有することで、指示先のコントローラにおける機能の追加に対して、容易に且つ安価に対応することができる。
【００８６】
また、本実施の形態にかかる制御システムにおいては、ベースユニットに装着され、データバスで接続されたコントローラ相互間で制御指令を行い、他のコントローラの制御を相互に行うことができる。
【００８７】
なお、本実施の形態においては、プログラマブルコントローラ（ＰＬＣ）２０、モーションコントローラ（ＭＣ）２１、数値制御コントローラ（ＮＣ）２２およびロボットコントローラ（ＲＣ）２３が装着されている場合を例に挙げているが、本発明はこれに限定されるものではなく、さらに多くのコントローラがバス３０により接続された形態に適用することができる。
【産業上の利用可能性】
【００８８】
以上のように、本発明にかかる制御システムは、制御実行命令の指示先のコントローラに新たな機能を追加する場合に有用である。
【図面の簡単な説明】
【００８９】
【図１】本発明にかかる制御システムの概要を説明するためのブロック図である。
【図２】本発明の実施の形態にかかる制御システムの構成を模式的に示す図である。
【図３−１】本発明の実施の形態にかかる制御システムの構成を模式的に示すブロック図である。
【図３−２】本発明の実施の形態にかかるコントローラとデータバスとの通信（データの流れ）を模式的に示す図である。
【図３−３】本発明の実施の形態にかかるデータバス上に送信されるデータＤの一例を示す図である。
【図４−１】本発明の実施の形態にかかるプログラマブルコントローラ（ＰＬＣ）のデータバスＩ／Ｆの有するデータ構造を模式的に示す図である。
【図４−２】本発明の実施の形態にかかるモーションコントローラ（ＭＣ）のデータバスＩ／Ｆの有するデータ構造を模式的に示す図である。
【図４−３】本発明の実施の形態にかかる数値制御コントローラ（ＮＣ）のデータバスＩ／Ｆの有するデータ構造を模式的に示す図である。
【図４−４】本発明の実施の形態にかかるロボットコントローラ（ＲＣ）のデータバスＩ／Ｆの有するデータ構造を模式的に示す図である。
【図５−１】本発明の実施の形態におけるコントローラ情報の送信情報（コントローラＡ情報）の詳細を示す図である。
【図５−２】本発明の実施の形態におけるコントローラ情報の送信情報（コントローラＢ情報）の詳細を示す図である。
【図５−３】本発明の実施の形態におけるコントローラ情報の送信情報（コントローラＣ情報）の詳細を示す図である。
【図５−４】本発明の実施の形態におけるコントローラ情報の送信情報（コントローラＤ情報）の詳細を示す図である。
【図６−１】図５−１に示した制御指令情報（ＰＬＣ制御指令情報）の詳細を示す図である。
【図６−２】図５−２に示した制御指令情報（ＭＣ制御指令情報）の詳細を示す図である。
【図６−３】図５−３に示した制御指令情報（ＮＣ制御指令情報）の詳細を示す図である。
【図６−４】図５−４に示した制御指令情報（ＲＣ制御指令情報）の詳細を示す図である。
【図７】制御システム起動時におけるプログラマブルコントローラ（ＰＬＣ）のシステムプログラム起動動作処理を説明するためのフローチャートである。
【図８】ユーザプログラム実行時のプログラマブルコントローラ（ＰＬＣ）の動作処理を説明するためのフローチャートである。
【図９】本発明の実施の形態におけるＭＰＵが作成してデータバスＩ／Ｆにセットする制御実行指令情報の詳細を示す図である。
【図１０】モーションコントローラ（ＭＣ）におけるデータバスＩ／Ｆ情報の確認の動作処理を説明するためのフローチャートである。
【図１１】共通制御実行指示処理を実行する場合のプログラマブルコントローラ（ＰＬＣ）の動作処理を説明するためのフローチャートである。
【図１２】本発明の実施の形態におけるＭＰＵが作成してデータバスＩ／Ｆにセットする共通制御実行指示情報の詳細を示す図である。
【図１３】モーションコントローラ（ＭＣ）におけるデータバスＩ／Ｆ情報の確認の動作処理を説明するためのフローチャートである。
【符号の説明】
【００９０】
１  第１のコントローラ
２  制御指令情報転送部
３  外部機器制御部
４  通信部
５  記憶部
６  制御部
１１  第２のコントローラ
１２  制御指令情報取得部
１３  プログラム実行部
１４  制御実行指示部
１５  通信部
１６  記憶部
１７  制御部
２０  プログラマブルコントローラ（ＰＬＣ）
２１  モーションコントローラ（ＭＣ）
２２  数値制御コントローラ（ＮＣ）
２３  ロボットコントローラ（ＲＣ）
２５  ベースユニット
３０  データバス
４０  ＭＰＵ
４１  システムプログラムＲＯＭ
４２  システムワークＲＡＭ
４３  データバスインタフェース
４４  ユーザプログラムＲＡＭ
４５  ユーザデータＲＡＭ
４６  バス
５１  システムプログラムＲＯＭ
５２  システムワークＲＡＭ
５３  データバスインタフェース
５４  ユーザプログラムＲＡＭ
５５  ユーザデータＲＡＭ
５６  バス
６１  システムプログラムＲＯＭ
６２  システムワークＲＡＭ
６３  データバスインタフェース
６４  ユーザプログラムＲＡＭ
６５  ユーザデータＲＡＭ
６６  バス
７１  システムプログラムＲＯＭ
７２  システムワークＲＡＭ
７３  データバスインタフェース
７４  ユーザプログラムＲＡＭ
７５  ユーザデータＲＡＭ
７６  バス
８０  コントローラＡ情報
８１  コントローラＢ情報
８２  コントローラＣ情報
８３  コントローラＤ情報
９０  コントローラＡ情報
９１  コントローラＢ情報
９２  コントローラＣ情報
９３  コントローラＤ情報
１００  コントローラＡ情報
１０１  コントローラＢ情報
１０２  コントローラＣ情報
１０３  コントローラＤ情報
１１０  コントローラＡ情報
１１１  コントローラＢ情報
１１２  コントローラＣ情報
１１３  コントローラＤ情報
１２０  転送用制御指令情報データ長
１２１  ＰＬＣ制御指令情報
１２２  共通制御指令情報
１３０  転送用制御指令情報データ長
１３１  ＭＣ制御指令情報
１３２  共通制御指令情報
１４０  転送用制御指令情報データ長
１４１  ＮＣ制御指令情報
１４２  共通制御指令情報
１５０  転送用制御指令情報データ長
１５１  ＲＣ制御指令情報
１６０  制御指令名称
１６１  制御に必要なデータ個数
１６２  制御に必要なシステム情報
１７０  制御指令名称
１７１  制御に必要なデータ個数
１７２  制御に必要なシステム情報
１８０  制御指令名称
１８１  制御に必要なデータ個数
１８２  制御に必要なシステム情報
１９０  制御指令名称
１９１  制御に必要なデータ個数
１９２  制御に必要なシステム情報
２００  制御実行指示情報
２０１  制御実行指示情報データ長
２０２  対象先コントローラ番号
２０３  制御指令名称
２０５  ユーザ指定情報
３００  共通制御実行指示情報
３０１  共通制御実行指示情報データ長
３０２  対象先コントローラ番号
３０３  共通制御指令名称
３０５  ユーザ指定情報
【図１】
2008186395.tif 000003
【図２】
2008186395.tif 000004
【図３−１】
2008186395.tif 000005
【図３−２】
2008186395.tif 000006
【図３−３】
2008186395.tif 000007
【図４−１】
2008186395.tif 000008
【図４−２】
2008186395.tif 000009
【図４−３】
2008186395.tif 000010
【図４−４】
2008186395.tif 000011
【図５−１】
2008186395.tif 000012
【図５−２】
2008186395.tif 000013
【図５−３】
2008186395.tif 000014
【図５−４】
2008186395.tif 000015
【図６−１】
2008186395.tif 000016
【図６−２】
2008186395.tif 000017
【図６−３】
2008186395.tif 000018
【図６−４】
2008186395.tif 000019
【図７】
2008186395.tif 000020
【図８】
2008186395.tif 000021
【図９】
2008186395.tif 000022
【図１０】
2008186395.tif 000023
【図１１】
2008186395.tif 000024
【図１２】
2008186395.tif 000025
【図１３】
2008186395.tif 000026