(57)【要約】【課題】ＣＰＵを有する複数の制御系からなるマルチＣＰＵシステムにおいて各制御系のＣＰＵを有効に活用できるようにすることである。【解決手段】ＣＰＵとメモリと入出力インターフェースとが内部バスで相互接続されかつ入出力インターフェースに負荷が接続された複数の制御系においてそれぞれのＣＰＵが共通バス系内に存在するマルチＣＰＵシステムにおいて、高速バススイッチャで、負荷率が高い第１制御系のＣＰＵをその内部バスから切り離す共に、その切り離した内部バスを負荷率が小さい他の第２制御系のＣＰＵに接続することで、第１制御系の負荷を第２制御系のＣＰＵで処理可能とした。【選択図】図１
2009042887.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵとメモリと入出力インターフェースとが内部バスで相互接続されかつ入出力インターフェースに負荷が接続された複数の制御系においてそれぞれのＣＰＵが共通バス系内に存在するマルチＣＰＵシステムにおいて、
負荷率が高い第１制御系のＣＰＵとその内部バスとの切り離しおよび接続の高速バススイッチングを行い、上記第１制御系のＣＰＵとその内部バスとを切り離しているときは、その内部バスを負荷率が小さい他の第２制御系のＣＰＵに接続することで、第１制御系の負荷を第２制御系のＣＰＵで処理可能とした、ことを特徴とするマルチＣＰＵシステムにおけるＣＰＵ有効活用方式。
【請求項２】
高速バススイッチャにより各制御系それぞれのＣＰＵの負荷状況を監視し、第１制御系のＣＰＵからの負荷処理分担要求信号に応じて当該第１制御系のＣＰＵと内部バスとの切り離しおよび接続の高速バススイッチングをする、ことを特徴とする請求項１に記載の方式。
【請求項３】
上記バス使用が競合するときは、バス使用の優先順位が高い制御系の内部バスを優先して他の制御系のＣＰＵに切替接続することができるようになっている、ことを特徴とする請求項１または２に記載の方式。
【請求項４】
第２制御系のＣＰＵは、第１制御系の負荷を処理しているときには自身の負荷処理を実行するまでの残時間を高速バススイッチャに知らせることで当該残時間の経過後には自己の負荷処理を実行可能とした、ことを特徴とする請求項２に記載の方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御系それぞれのＣＰＵによりマルチＣＰＵシステムが構築され、このマルチＣＰＵシステム内におけるＣＰＵを有効活用する方式に関するものである。
【背景技術】
【０００２】
例えば、ＰＬＣと負荷とで制御系を構築した場合、ＰＬＣは、ＣＰＵと、メモリと、入、出力インターフェースとが内部バスで相互接続され、ＣＰＵは、ラダープログラムをシステム制御プログラムに従い実行し、メモリは、上記プログラムを格納し、また、ＣＰＵの演算結果などのデータを格納する各種メモリとから構成される。入出力インターフェースは、外部入出力機器に接続されている。ＣＰＵはメモリに格納したラダープログラムに対応して、入出力インターフェースを介して外部入力機器からのデータをメモリに取り込む入力リフレッシュ処理を行い、その後ラダープログラムを１回実行し、演算後のメモリの内容を入出力インターフェースに出力する出力リフレッシュ処理を行う。
【０００３】
以上のＰＬＣを複数有すると共に各ＰＬＣのそれぞれのＣＰＵが共通バスに接続されたマルチＣＰＵシステムを構築した場合、いずれかのＰＬＣのＣＰＵにおける入出力インターフェースに接続した負荷による負荷率が高い状態が長く続いたり繰り替えされたりすると、ＣＰＵ温度が上昇し場合によっては熱暴走するなどして負荷を安定制御しにくい場合がある。また、上記マルチＣＰＵシステムでは、いずれかのＰＬＣ内のＣＰＵの負荷率が低く時間帯によってはＣＰＵが有効活用されてない場合がある。そこで、本出願人はこうしたマルチＣＰＵシステムにおいて相互のＣＰＵを有効活用する技術の研究開発に着手した。
【特許文献１】特開２００４−０２１４４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
すなわち本発明は、ＣＰＵを有する複数の制御系からなるマルチＣＰＵシステムにおいて各制御系のＣＰＵを有効に活用できるようにすることである。
【課題を解決するための手段】
【０００５】
本発明によるマルチＣＰＵシステムにおけるＣＰＵ有効活用方式は、ＣＰＵとメモリと入出力インターフェースとが内部バスで相互接続されかつ入出力インターフェースに負荷が接続された複数の制御系において、それぞれのＣＰＵが共通バス系内に存在するマルチＣＰＵシステムにおいて、負荷率が高い第１制御系のＣＰＵとその内部バスとの切り離しおよび接続の高速バススイッチングを行い、上記第１制御系のＣＰＵとその内部バスとを切り離しているときは、その内部バスを負荷率が小さい他の第２制御系のＣＰＵに接続することで、第１制御系の負荷を第２制御系のＣＰＵで処理可能としたことを特徴とするものである。
【０００６】
本発明では、第１制御系のＣＰＵは、負荷率が高いときは、自己の負荷処理の一部を負荷率が小さい第２制御系のＣＰＵにも負担して処理させることができるので、マルチＣＰＵにおいてＣＰＵを有効活用することができる。
【０００７】
本発明の好適な一態様は、高速バススイッチャにより各制御系それぞれのＣＰＵの負荷状況を監視し、第１制御系のＣＰＵからの負荷処理分担要求信号に応じて当該第１制御系のＣＰＵと内部バスとの切り離しおよび接続の高速バススイッチングをすることである。
【０００８】
この態様では高速バススイッチャにより各制御系それぞれのＣＰＵの負荷状況を監視して上記高速バススイッチングをするので、各制御系それぞれのＣＰＵによる負荷処理を適正に行いつつ、各ＣＰＵを有効に活用することができるようになる。
【０００９】
本発明のより好適な一態様は、上記高速バススイッチャによりバス使用が競合するときは、バス使用の優先順位が高いＣＰＵの内部バスを優先して他の制御系のＣＰＵに切替接続することができるようになっていることである。
【００１０】
この態様では、重要な負荷を処理している制御系のＣＰＵとさほど重要ではない負荷を処理している制御系のＣＰＵから同一の制御系のＣＰＵに対して負荷処理の要求があってバス使用が競合しても、上記重要な負荷を処理している制御系側のバス使用優先順位を高くすることにより、マルチＣＰＵシステムにおけるシステム運転の安全性を高く維持することができるようになる。
【００１１】
本発明のさらに好適な一態様は、第２制御系のＣＰＵは、第１制御系の負荷を処理しているときには自身の負荷処理を実行するまでの残時間を高速バススイッチャに知らせることで当該残時間の経過後には自己の負荷処理を実行可能としたことである。
【００１２】
この態様では、第２制御系のＣＰＵは第１制御系の負荷を処理している最中に自己の負荷を処理すべき時刻が到来した場合に、当該自己の負荷を処理できなくなるという不都合を無くすことができる。
【発明の効果】
【００１３】
本発明によれば、ＣＰＵを有する複数の制御系からなるマルチＣＰＵシステムにおいて各制御系のＣＰＵを有効に活用できる。
【発明を実施するための最良の形態】
【００１４】
以下、添付した図面を参照して、本発明の実施の形態に係るマルチＣＰＵシステムにおけるＣＰＵ有効活用方式を説明する。実施の形態では制御系としてＰＬＣを用いるが、これに限定されない。図１は、ＰＬＣを用いたマルチＣＰＵシステムの概略構成を示す。
【００１５】
実施の形態のマルチＣＰＵシステム１は複数のＰＬＣ３，５，７を含む。各ＰＬＣ３，５，７はＣＰＵ３ａ，５ａ，７ａ、メモリ３ｂ，５ｂ，７ｂ、入出力インターフェース３ｃ，５ｃ，７ｃが内部バス３ｄ，５ｄ，７ｄで相互接続されている。内部バス３ｄ，５ｄ，７ｄはバススイッチ１１ａ、１３ａ，１５ａによりＣＰＵ３ａ，５ａ，７ａに接続されたり切り離しされ、バススイッチ１１，１３，１５により、切替バス２５，２７，２９を介して共通バス９に接続されたり切り離されたりする。ＣＰＵ３ａ，５ａ，７ａは外部バス３１，３３，３５を通じて共通バス９に接続されている。バススイッチ１１ａ、１３ａ，１５ａとバススイッチ１１，１３，１５は制御線３６，３８，４０を介して高速バススイッチャ１７により制御される。ＰＬＣ３，５，７それぞれのＣＰＵ３ａ，５ａ，７ａは、信号線３９，４１，４３から高速バススイッチャ１７に負荷処理状況と負荷処理分担要求信号とを送信することができる。高速バススイッチャ１７は、信号線３９，４１，４３から与えられるＣＰＵ３ａ，５ａ，７ａの負荷処理状況や負荷処理分担要求信号から必要な以下に述べる制御を行う。なお、バススイッチ１１ａ、１３ａ，１５ａとバススイッチ１１，１３，１５と高速バススイッチャ１７は機能的に示したものであり、この形態に限定されない。
【００１６】
図２（ａ）（ｂ）（ｃ）を参照してＰＬＣ３，５，７の負荷を説明する。図２（ａ）（ｂ）（ｃ）において、横軸は時間、縦軸は負荷率を示す。図２（ａ）はＰＬＣ３のＣＰＵ３ａの負荷率を示し、ＰＬＣ３のＣＰＵ３ａは常時活動していて負荷率が常時高い。図２（ｂ）はＰＬＣ５のＣＰＵ５ａの負荷率を示し、ＰＬＣ５のＣＰＵ５ａは、時刻ｔ０−ｔ１，ｔ２−ｔ３，ｔ４−ｔ５で負荷率が高く、それ以外の時刻では活動が小さいかあるいは無くて負荷率が低い。図２（ｃ）はＰＬＣ７のＣＰＵ７ａの負荷率を示し、ＰＬＣ７のＣＰＵ７ａの負荷率は時刻ｔ１−ｔ２，ｔ３−ｔ４，で負荷率が高く、それ以外の時刻での活動が小さいかあるいは無くて負荷率が低い。
【００１７】
各ＰＬＣ３，５，７のＣＰＵ３ａ，５ａ，７ａはバス使用上の優先順位があり、ＰＬＣ３のＣＰＵ３ａは負荷１９を常時駆動する必要がありＣＰＵ負荷率が最大のものでバス使用の優先順位が高いＣＰＵであり、ＰＬＣ５，７のＣＰＵ５ａ，７ａは負荷２１，２３を間欠的に駆動すればよくバス使用の優先順位が低いＣＰＵである。
【００１８】
ＰＬＣ３の負荷１９は図２（ａ）で示すような負荷率で制御する必要がある例えば生産プラント等の負荷である。ＰＬＣ５，７の負荷２１，２３は図２（ｂ）、図２（ｃ）で示すような負荷率で制御すればよい。例えばデイリ電源等の負荷である。なお、これら負荷１９，２１，２３を比較すると、図２（ａ）の生産プラント等の負荷１９では常時２４時間体制で制御する必要が有り、図２（ｂ）のデイリ電源等の負荷２１では例えば夜間では制御が必要でなく、図２（ｃ）のデイリ電源等の負荷２３では例えば夜間に制御する必要がある。
【００１９】
以上のマルチＣＰＵシステム１において、高速バススイッチャ１７には各ＰＬＣ３，５，７それぞれのＣＰＵ３ａ，５ａ，７ａから信号線３９，４１，４３を通じて図２（ａ）（ｂ）（ｃ）で示す負荷率（ＣＰＵ３ａ，５ａ，７ａの活動状況）データが与えられていて、高速バススイッチャ１７は各ＰＬＣ３，５，７における負荷率を監視することができるようになっている。
【００２０】
ＰＬＣ３のＣＰＵ３ａから時刻ｔ０で高速バススイッチャ１７に対して自己の負荷１９の処理を依頼する負荷処理分担要求信号が送られると、高速バススイッチャ１７は、他のＰＬＣ５，７の負荷処理状況からＰＬＣ７のＣＰＵ７ａにＰＬＣ３のＣＰＵ３ａの負荷の一部の処理を分担させるように、バススイッチ１１，１１ａを高速バススイッチング駆動することによりＰＬＣ３の内部バス３ｄをＣＰＵ３ａに切り離しおよび接続、共通バス９に接続および切り離しを行うことで図３の点線４５で示す経路で、ＰＬＣ７の内部バス７ｄをＰＬＣ７のＣＰＵ７ａに接続および切り離しをする。この場合、ＰＬＣ７のＣＰＵ７ａがＰＬＣ３の負荷１９を処理するときは、ＣＰＵ７ａをその内部バス７ｄから切り離すようにバススイッチ１５ａは高速バススイッチング駆動することにより、ＰＬＣ７の内部バス７ｄをＣＰＵ７ａから切り離しをする。
【００２１】
これにより、ＰＬＣ３のＣＰＵ３ａの負荷１９の処理の一部をＰＬＣ７のＣＰＵ７ａに行わせることができるようになる結果、マルチＣＰＵシステム１においては、ＰＬＣ７のＣＰＵ７ａを有効活用することができる。
【００２２】
この場合、ＰＬＣ３のバス使用優先順位は、他のＰＬＣ５，７のそれよりも高いので、ＰＬＣ３のＣＰＵ３ａからの負荷処理分担要求信号がＰＬＣ３のＣＰＵ３ａと、他のＰＬＣ５のＣＰＵ５ａとの間で競合する場合、高速バススイッチャ１７は優先順位が高いＰＬＣ３のＣＰＵ３ａからの負荷処理分担要求信号を受け付けることができるようになっている。
【００２３】
これにより、高速バススイッチャ１７にＰＬＣ５のＣＰＵ５ａからも負荷処理分担要求信号が入力されてきても、高速バススイッチャ１７は、ＰＬＣ５のＣＰＵ５ａからの負荷処理分担要求信号を無視することができるようになっている。
【００２４】
ただし、高速バススイッチャ１７は、バス競合が生じることがないよう、バススイッチ１１，１１ａ，１３，１３ａの制御を行うことにより、ＰＬＣ３，５それぞれのＣＰＵ３ａ，５ａの負荷処理の一部をＰＬＣ７のＣＰＵ７ａに行わせることでＣＰＵ３ａの負荷処理は点線４５で、ＣＰＵ５ａの負荷処理は一点鎖線４７で示す経路でＣＰＵ７ａに分担することにより負荷処理を均等に分散させることができるようにしてもよい。こうすることにより、マルチＣＰＵシステムにおけるＣＰＵ７ａの有効活用を一層促進することができるようになる。
【００２５】
次に時刻ｔ１でＰＬＣ３，７のＣＰＵ３ａ，７ａそれぞれから高速バススイッチャ１７に負荷処理分担要求信号を入力すると、上記と同様に、バス使用優先順位が高いＰＬＣ３の内部バス３ｄをバススイッチ１１ａ、１１によりＣＰＵ３ａからの切り離しおよび接続と共通バス９に対する切り離しおよび接続を高速で繰り返してＰＬＣ３のＣＰＵ３ａの負荷１９の処理を図４の点線４９で示す経路にてＰＬＣ５のＣＰＵ５ａに行わせる。この場合も、ＰＬＣ７のＣＰＵ７ａの負荷処理の一部を一点鎖線５１で示す経路にてＰＬＣ５のＣＰＵ５ａに行わせて負荷処理を分散させてもよい。図２中、矢印（１）（３）（５）（７）（９）はＰＬＣ３のＣＰＵ３ａの負荷処理の一部を他のＰＬＣ５，７のＣＰＵ５ａ，７ａで処理させることを示し、矢印（２）（４）（６）（８）（１０）はＰＬＣ５または７のＣＰＵ５ａまたは７ａの負荷処理の一部を他のＰＬＣ７または５のＣＰＵ７ａまたは５ａで処理させることを示す。
【００２６】
以上から実施の形態のマルチＣＰＵシステム１では、ＣＰＵ３ａ，５ａ，７ａそれぞれを有効活用することができる。
【００２７】
上記の場合、ＰＬＣ７では時刻ｔ０−ｔ１でＣＰＵ７ａにより他のＰＬＣ３，５の負荷１９，２１の処理の一部を行うが、時刻ｔ１では自身の負荷２３の処理を高い負荷率で実行する必要があるので、自身の負荷２３の処理を可能とするために、時刻ｔ１までの残時間を高速バススイッチャ１７に知らせる。高速バススイッチャ１７は、この残時間が経過した時点で、バススイッチ１５ａを制御してＣＰＵ７ａと内部バス７ｄとを接続してＰＬＣ７のＣＰＵ７ａが自身の制御負荷２３の処理を高い負荷率で実行することができるようにする。
【００２８】
以上説明したように本実施の形態では、自己のＣＰＵの負荷率が高いときは、自己の負荷処理の一部を負荷率が小さいＣＰＵにも負担して処理させることができるので、マルチＣＰＵシステムにおけるＣＰＵの有効活用を図ることができる。
【図面の簡単な説明】
【００２９】
【図１】図１は本発明の実施の形態に係るマルチＣＰＵシステムの概略構成を示す図である。
【図２】図２は各ＰＬＣそれぞれの負荷における時間帯に対する負荷率を示す図である。
【図３】図３は図２の時刻ｔ０−ｔ１での負荷処理を示すマルチＣＰＵシステムの一部概略構成を示す図である。
【図４】図４は図２の時刻ｔ１−ｔ２での負荷処理を示すマルチＣＰＵシステムの一部概略構成を示す図である。
【符号の説明】
【００３０】
１  マルチＣＰＵシステム
３，５，７  ＰＬＣ
３ａ，５ａ，７ａ  ＣＰＵ
９  共通バス
１１，１１ａ，１３，１３ａ，１５，１５ａ  バススイッチ
１７  高速バススイッチャ
【図１】
2009042887.tif 000003
【図２】
2009042887.tif 000004
【図３】
2009042887.tif 000005
【図４】
2009042887.tif 000006