(57)【要約】【課題】安価な構成にて複雑膨大な負荷を高速処理することが可能なマルチＣＰＵバス占有方式を提供すること。【解決手段】共有メモリ５が接続されているバス１に複数のＣＰＵ２，３，４を接続すると共に、いずれかのＣＰＵをマスタＣＰＵ２、他のＣＰＵをスレーブＣＰＵ３，４となし、マスタＣＰＵ２により、バス解放、バス使用のウエイト、およびスレーブＣＰＵ３，４のバス占有許可を、所定のラダープログラムに従い、制御するシステム。【選択図】図１
2009251783.tif 000002
【特許請求の範囲】
【請求項１】
シングルのバスにマルチ接続したＣＰＵのバス占有方式であって、いずれか１つのＣＰＵをマスタとし、該ＣＰＵを他のＣＰＵに信号線にて個別接続し、マスタ側ＣＰＵは、この信号線を用いて他のＣＰＵのバス制御を行うマルチＣＰＵバス占有方式。
【請求項２】
上記マスタ側のＣＰＵは、自己ならびに他の各ＣＰＵによる負荷処理状況、バス使用／不使用状況を管理してバス制御を行う、請求項１に記載の方式。
【請求項３】
上記バスには、各ＣＰＵがバス占有時に用いる共有メモリを接続した、請求項１または２に記載の方式。
【請求項４】
請求項１ないし３のうちのいずれか１項に記載の方式にて負荷を処理する制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シングルのバスにＣＰＵをマルチ接続したマルチＣＰＵバス占有方式に関するものである。
【背景技術】
【０００２】
ＰＬＣを用いて制御対象を制御する従来の制御システムにおいて、上記ＰＬＣでは、ＣＰＵの内部バスに、ＲＯＭ、ＲＡＭ、入出力インターフェースと、バス変換部とを接続してなり、入出力インターフェースに接続した複数の入出力機器を制御すると共に、バス変換部に接続したＰＬＣバスに複数のモジュールを接続していた。
【０００３】
しかしながら、上記制御システムで、より高速制御化を図るには、ＣＰＵを高速制御が可能であるが価格が高価なＣＰＵに交換することが必要である。
【０００４】
一方、複数のＣＰＵを共有バスに接続し、これらＣＰＵに制御を分散する方式もある（特許文献１）。この方式では、ＣＰＵを高速制御可能な高価なものと交換する必要がなくなる。
【０００５】
しかしながら、共有バスに複数のＣＰＵを接続し、共有バスに接続したＲＡＭを各ＣＰＵ間で共有使用する場合、各ＣＰＵ間で共有バス使用上から煩雑で時間を要するバス調停を行う必要があった。特に、負荷が複雑膨大化した場合に、バス調停を行うと、負荷を高速処理することが困難化する。
【０００６】
また、複数のＣＰＵを共有バスに接続し、各ＣＰＵ間で割り込み処理宣言でバス使用の調停を行う方式（特許文献２）がある。この方式では、各ＣＰＵ間の統率をとることが困難化し、複雑膨大な負荷の処理の整然たる分担には不向きである。
【特許文献１】特開２００６−０３１４２６号公報
【特許文献２】特開２００２−０２４１６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、バス調停部を用いずに安価な構成にて複雑膨大な負荷を高速処理することが可能なマルチＣＰＵバス占有方式を提供するものである。
【課題を解決するための手段】
【０００８】
本発明によるマルチＣＰＵバス占有方式は、シングルのバスにマルチ接続したＣＰＵのバス占有方式であって、いずれか１つのＣＰＵをマスタとし、該ＣＰＵを他のＣＰＵに信号線にて個別接続し、マスタ側ＣＰＵは、この信号線を用いて他のＣＰＵのバス制御を行うことを特徴とするものである。
【０００９】
本発明において、好ましい態様は、上記マスタ側のＣＰＵは、自己ならびに他の各ＣＰＵによる負荷処理状況、バス使用／不使用状況を管理してバス制御を行うことである。
【００１０】
本発明において、別の好ましい態様は、上記バスには、各ＣＰＵがバス占有時に用いる共有メモリを接続することである。
【００１１】
本発明では、マスタとなるＣＰＵが信号線を用いて他のＣＰＵにバス制御指令を発行することで、全体のバス使用を統率制御することができるので、シングルのバスを最大限有効使用して複雑膨大な負荷を高速で処理することができる。
【００１２】
以上により、本発明では、シングルのバスにマルチＣＰＵを接続して用いるにもかかわらず、バス調停しないからバス調停時間を削減でき、また、シングルのバスをマルチＣＰＵを用いて多大な負荷でも高速で処理することができるから、高速化のための高価なＣＰＵが不要となるマルチＣＰＵバス占有方式を提供することができる。
【発明の効果】
【００１３】
本発明によれば、シングルバスをマルチＣＰＵで用いるのにバス調停せず、膨大な負荷を安価な構成で高速処理することが可能なマルチＣＰＵバス占有方式を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付した図面を参照して、本発明の実施の形態に係るマルチＣＰＵバス占有方式を説明する。図１は、実施の形態のマルチＣＰＵバス占有方式を実施する制御システムの構成を示す。１は、各ＣＰＵ２，３，４に共有されるバスを示す。このバス１は高速バスである。バス１に各ＣＰＵ２，３，４に共有されるＲＡＭ等の共有メモリ５が接続されている。ＣＰＵ２は、マスタ側のＣＰＵ（マスタＣＰＵ）となり、他のＣＰＵ３，４はスレーブ側のＣＰＵ（スレーブＣＰＵ）となる。マスタ、スレーブＣＰＵ２，３，４には、システムプログラム、ラダープログラム、バス制御プログラムが格納される内部メモリ６，７，８が内部バス９，１０，１１を介して接続されている。マスタＣＰＵ２とスレーブＣＰＵ３，４とは信号線１２，１３で接続されている。バス１には入出力インターフェース１４とモジュールバス変換部１５とが接続されている。モジュールバス変換部１５には低速のバス１６が接続されている。
【００１５】
以上によりＰＬＣ１７が構成されている。
【００１６】
ＰＬＣ１７の入出力インターフェース１４にはセンサ等の各種入力機器１８、アクチュエータやモータ等の各種出力機器１９が、また、モジュールバス変換部１５のバス１６にはモーションモジュール等の各種モジュール２０，２１が接続されている。
【００１７】
こうして図１で示す制御システム全体が構築されている状態において、ＰＬＣ１７では、マスタＣＰＵ２が、入出力インターフェース１４、シングルのバス１６に接続されている負荷（入力機器１８、出力機器１９、モジュール２０，２１）の処理を、スレーブＣＰＵ３，４に対して、バス１の解放、バス１の使用のウエイト、およびバス１の占有許可を、あらかじめ定めた所定のプログラムに従ってマスタ制御するようになっている。また、スレーブＣＰＵ３，４も上記プログラムに対応して内部メモリ７，８に格納したプログラムに従いバス１の使用をスレーブ制御する。
【００１８】
すなわち、マスタＣＰＵ２は、自己がバス１を占有するときは、スレーブＣＰＵ３，４に対してバス１の使用をウエイトさせる。この状態でマスタＣＰＵ２は、共有メモリ５にアクセスして上記負荷を処理する。マスタＣＰＵ２は、自己が当該自己の負荷処理に例えばビジィであるときは、その間はバス１を使用せず、バス１が空いている状態であるので、バス１を解放し、スレーブＣＰＵ３，４に対してバス使用のウエイト状態を解除して、信号線１２を介してスレーブＣＰＵ３に割り込み信号を入力する。このとき、各内部メモリ６，７，８に格納するラダープログラムに従い、例えばマスタＣＰＵ２が、スレーブＣＰＵ３に対してどのように負荷を処理するかを指令したり、スレーブＣＰＵ３がその指令を受けることなく負荷を処理することができるようにしてもよい。
【００１９】
これにより、スレーブＣＰＵ３は、バス１を占有し、共有メモリ５にアクセスして上記負荷を処理する。この共有メモリ５には当該ＰＬＣ１７の負荷処理の状況等のデータが記憶されているので、スレーブＣＰＵ３は、このデータを読出して参照することで負荷を処理したり、自己による負荷処理状況等のデータを書き込んで記憶させたりすることができる。
【００２０】
そして、スレーブＣＰＵ３は、自己の負荷処理が終了すると、その終了信号をマスタＣＰＵ２に通知する。これにより、マスタＣＰＵ２は、次のスレーブＣＰＵ４に対してバス１の使用ウエイトを解除して、信号線１３を介してスレーブＣＰＵ４に割り込み信号を入力する。これにより、スレーブＣＰＵ４は、スレーブＣＰＵ３と同様に、バス１を占有し、共有メモリ５にアクセスして上記負荷を処理する。
【００２１】
以上説明したように本実施の形態では、マスタＣＰＵ２が、当該自身やスレーブＣＰＵ３，４を統率し、バス１が単一でもそのバス１が空きのときはスレーブＣＰＵ３，４にバス１の有効使用を可能として負荷処理を分担させることができる。その結果、実施の形態ではバス調停部を、必要とせず、かつ、用いていないからバス調停に要していた時間を削減でき、バス１に高速のバスを用いて処理の高速化を図れると共に、高速ではあるが高価なＣＰＵが不要となると共に、複雑膨大な負荷を抱えた制御システム全体を高速処理することが可能となるマルチＣＰＵバス占有方式を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】図１は本発明の実施形態に係るマルチＣＰＵバス占有方式を実施する制御システムの構成を示す図である。
【符号の説明】
【００２３】
１   バス
２   マスタＣＰＵ
３,４ スレーブＣＰＵ
５   共有メモリ
６,７,８  内部メモリ
９，１０，１１  内部バス
１２，１３  信号線
【図１】
2009251783.tif 000003