(57)【要約】【課題】複数のＰＬＣのいずれか１つにでもシーケンス制御に余裕がなくなるような場合、他のＰＬＣにシーケンス制御の一部を負担させることで、制御システム全体の制御効率を向上させること。【解決手段】異なるシーケンスプログラムを実行して負荷を制御する複数のＰＬＣ２−６を同一バス系内に接続し、各ＰＬＣ２−６それぞれに自己のシーケンスプログラムの実行状況を共有メモリ３６にリアルタイムに記憶更新させ、自ＰＬＣ２は、共有メモリ３６を参照して、他ＰＬＣ４の負荷処理に余裕があるときは、他ＰＬＣ４に自己のシーケンスプログラムの一部を渡し、他ＰＬＣ４は渡されたシーケンスプログラムの一部を自ＰＬＣ２に代わり実行する。【選択図】図１
2010079355.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが異なるシーケンスプログラムを実行して負荷を制御する複数のＰＬＣを同一バス系内に接続し、各ＰＬＣそれぞれに自己のシーケンスプログラムの実行状況を共有メモリにリアルタイムに記憶更新させると共に、いずれか１つのＰＬＣ（自ＰＬＣ）は、上記共有メモリを参照して、いずれか１つまたは複数の他ＰＬＣの負荷処理に余裕があるときは、他ＰＬＣに自己のシーケンスプログラムの一部を渡し、上記他ＰＬＣは上記渡されたシーケンスプログラムの一部を上記自ＰＬＣに代わり実行することを可能とした、ことを特徴とする複数ＰＬＣ間の協調制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、それぞれがシーケンスプログラムを実行して負荷を制御する複数のＰＬＣ（プログラマブルコントローラ）間における協調制御システムに関するものである。
【背景技術】
【０００２】
ファクトリーオートメーションにおいて、例えば、ＰＬＣと負荷とで制御系を構築した場合、ＰＬＣは、プログラムに従いシーケンス制御を実行するＣＰＵ、システム制御プログラムを格納するシステムメモリと、シーケンスプログラムを格納するプログラムメモリ、ＣＰＵのワークに用いるワークメモリ、入力機器や出力機器とのインターフェースを行うＩ／Ｏ（入出力）インターフェース、およびバスインターフェースが内部バスで相互接続されている。
【０００３】
ＣＰＵはシーケンスプログラムに対応して、入力機器からのデータをＩ／Ｏインターフェースに取り込む入力リフレッシュ処理と、その後ラダープログラムを１回実行（１スキャン実行）し、演算後の内容をＩ／Ｏインターフェースに出力する出力リフレッシュ処理とをサイクリックに行う。
【０００４】
上記構成のＰＬＣが別々のバス系に接続されている場合、いずれのＰＬＣも自己の制御対象の制御に関しては別々となり、協調性がないから、いずれかのＰＬＣ（自ＰＬＣ）が制御対象である機械や設備等による生産増大等をしてくると、１スキャンタイム内に実行できる制御量に余裕がなくなってくる場合がある。一方、他ＰＬＣは上記した生産増大等もなく、１スキャンタイム内に実行できる制御にも余裕が存在するといった制御システムでは、制御システム内でのＰＬＣの使用効率が低い。なお、複数のＰＬＣを同一バス系に接続し、各ＰＬＣ間で制御の分散をさせるシステムは知られている（特許文献１）。
【特許文献１】特開２００２−３５８１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明により解決すべき課題は、１つの制御システム内で、複数ＰＬＣのうちのいずれかのＰＬＣに制御量に余裕がない一方で、１つまたは複数の他ＰＬＣに制御量に余裕がある場合、各ＰＬＣ間で協調制御させることで制御システム全体の制御効率を向上させることである。
【課題を解決するための手段】
【０００６】
本発明による複数ＰＬＣ間の協調制御システムは、それぞれが異なるシーケンスプログラムを実行して負荷を制御する複数のＰＬＣを同一バス系内に接続し、各ＰＬＣそれぞれに自己のシーケンスプログラムの実行状況を共有メモリにリアルタイムに記憶更新させると共に、いずれか１つのＰＬＣ（自ＰＬＣ）は、上記共有メモリを参照して、いずれか１つまたは複数の他ＰＬＣの負荷処理に余裕があるときは、他ＰＬＣに自己のシーケンスプログラムの一部を渡し、上記他ＰＬＣは上記渡されたシーケンスプログラムの一部を上記自ＰＬＣに代わり実行することを可能としたことを特徴とする。
【０００７】
本発明では、自ＰＬＣにおける生産機械や設備増大で生産量が増大した結果、シーケンスプログラムの１スキャン実行制御に余裕がなくなるような場合、当該自ＰＬＣは、共有メモリを参照し、他ＰＬＣではシーケンスプログラムの１スキャン実行制御に余裕があると判断できると、当該他ＰＬＣには上記増大に関わる自己のシーケンスプログラムの一部を渡すことで、当該他ＰＬＣにそのシーケンスプログラムの一部を実行させることができる。これにより、本発明では、制御システム全体では、制御に余裕があるＰＬＣと、制御に余裕がないＰＬＣとのそれぞれにおけるシーケンスプログラムの実行にバランスがとれるようになり、制御システム全体の制御効率を向上させることができる。
【発明の効果】
【０００８】
本発明では、１つの制御システム内で、複数ＰＬＣ間での協調制御が可能となり、制御システム全体の制御効率を向上させることができる。
【発明を実施するための最良の形態】
【０００９】
以下、添付した図面を参照して、本発明の実施の形態に係る制御システムを説明する。図１は、同制御システムの概略構成を示し、図２は各ＰＬＣの概略構成を示す。この制御システムは、複数のＰＬＣ２，４，６を含む。実施の形態ではＰＬＣの数は３台であるが、２台以上であればよい。図２ではＰＬＣ２のみＣＰＵ以外の他の内部構成も示し、他のＰＬＣ４，６はＣＰＵのみ示し他の内部構成の図示は略している。各ＰＬＣ２，４，６はＣＰＵモジュール、入出力モジュール等のモジュール型であってもよいし、ＣＰＵや入出力を含めた一体型でもよいが、実施の形態では後者で示している。各ＰＬＣ２，４，６は同一の高速であるバス１６に共通に接続されている。各ＰＬＣ２，４，６は同一構成なので、ＰＬＣ２を代表して図示している。
【００１０】
各ＰＬＣ２，４，６は、ＣＰＵ８、メモリ１０、Ｉ／Ｏインターフェース１２、およびバスインターフェース１４を備える。各ＰＬＣ２，４，６は、バスインターフェース１４を介して、高速バス１６に共通に接続されている。各ＰＬＣ２，４，６は、生産機械や設備等の制御対象１８，２０，２２をシーケンス制御する。これら制御対象１８，２０，２２はファクトリ内に配備されている。各ＰＬＣ２，４，６は、制御対象１８，２０，２２の状態に対応したスイッチやセンサ等の入力機器２４，２６，２８のＯＮ／ＯＦＦ情報を入力し、ラダー言語などで書かれたシーケンスプログラムに沿って論理演算を実行すると共に、得られた演算結果に従い、リレー，バルブ，アクチュエータ等の出力機器３０，３２，３４に対し、ＯＮ／ＯＦＦ情報の信号を出力することで制御対象１８，２０，２２の制御を実行するようになっている。
【００１１】
上記メモリ１０には、システム制御プログラム、シーケンスプログラムを記憶している他、本実施の形態での協調制御に必要なプログラムも格納され記憶されている。この協調制御プログラムは、以下の動作実行に必要なプログラムである。ＣＰＵ８は、協調制御に際しては、そのプログラムを実行することになる。
【００１２】
上記制御システムでは、バス１６に共有メモリ３６を接続している。
【００１３】
共有メモリ３６は、各ＰＬＣ２，４，６それぞれのシーケンスプログラムの実行状況がリアルタイムに記憶更新されるようになっている。そのため、各ＰＬＣ２，４，６は、それぞれ、シーケンスプログラムの実行状態と、制御対象１８，２０，２２の制御状態とをリアルタイムに該共有メモリ３６内の所定メモリ領域に記憶させ更新させていく。このメモリ領域への記憶更新にはアドレス管理等の各種操作が行われるが、本実施の形態ではその説明は略している。
【００１４】
そして、上記各ＰＬＣ２，４，６のうち、例えば、ＰＬＣ２を第１ＰＬＣ２として、ＰＬＣ４を第２ＰＬＣ４とし、ＰＬＣ６を第３ＰＬＣ６とし、第１ＰＬＣ２は、自己のシーケンスプログラムの実行状態から、負荷処理限界を例えば１００％とした場合、生産設備増大等によりその限界を例えば２０％超過し、その２０％分を他ＰＬＣに制御させる必要が生じた場合、共有メモリ３６を参照して、第２ＰＬＣ４と第３ＰＬＣ６それぞれの制御状況を把握する。この把握により、第２ＰＬＣ４の負荷処理状況は４０％であり、第３ＰＬＣ６は９０％である場合、第１ＰＬＣ２は、第２ＰＬＣ４が第１ＰＬＣ２の負荷２０％分を処理できる余裕があると判断する。そして、第１ＰＬＣ２のＣＰＵ８は、第１ＰＬＣ２，４間の通信線３８を介して第２ＰＬＣ４のＣＰＵ８に対して、上記２０％の負荷処理要求の通信を行うと共に、第３ＰＬＣ６との通信線４０を介して第３ＰＬＣ６には第２ＰＬＣ４に負荷処理を要求したことを通信する。この通信で第２ＰＬＣ４から第１ＰＬＣ２に処理可能との応答があると、上記２０％の負荷の処理実行に対応する自己のシーケンスプログラムの一部を第２ＰＬＣ４に渡す。この場合のシーケンスプログラムの一部は、共有メモリ３６に格納されている第１ＰＬＣ２のシーケンスプログラムを用いる。
【００１５】
第１ＰＬＣ２は、上記２０％の負荷の処理実行に対応するシーケンスプログラムの一部の実行を停止することで、自己の負荷処理が１００％となると共に、第２ＰＬＣ４は、第１ＰＬＣ２から渡された共有メモリ３６内のシーケンスプログラムの一部を実行することで、自己の負荷処理が４０％から６０％となる。この場合、第２ＰＬＣ４は、バス１６を介して、第１ＰＬＣ２の入力機器２４のＯＮ，ＯＦＦ信号を取り込むと共に、第１ＰＬＣ２の出力機器３０にＯＮ，ＯＦＦ信号を出力することで、第１ＰＬＣ２のシーケンス制御の一部を実行する。なお、各ＰＬＣ２，４，６におけるバス１６のバス権等の取得の説明は特に要しないので略する。
【００１６】
以上説明したように本実施の形態では、例えば第１ＰＬＣ２は、共有メモリ３６を参照して、第２、第３ＰＬＣ４，６のうち、第２ＰＬＣ４が制御に余裕があるときは、その余裕に対応して第２ＰＬＣ４に自己のシーケンスプログラムの一部を渡し、第２ＰＬＣ４は渡されたシーケンスプログラムの一部を第１ＰＬＣ２に代わり実行するようにしたので、第１ＰＬＣ２における生産機械や設備増大で生産量が増大するような場合、第１ＰＬＣ２は、第２ＰＬＣ４にその増大に対応した自己のシーケンスプログラムの一部を渡して実行させることで、各ＰＬＣ２，４，６それぞれはシーケンスプログラムの実行上の協調制御がなされ、制御システム全体の制御効率を向上させることができる。
【００１７】
なお、例えば、第１ＰＬＣ２が異常等により稼動停止するような場合、第２ＰＬＣ４が、第１ＰＬＣ２のシーケンスプログラム全体を実行させることもできる。
【００１８】
また、第１ＰＬＣ２はＣＰＵ８の稼動率が高いときは、ＣＰＵ８の稼動率が低い第２ＰＬＣ４のＣＰＵ８に負担して処理させることで、複数ＰＬＣの制御システムにおける当該ＰＬＣの有効活用を図ることができる。
【００１９】
また、共有メモリ３６はバス１６に接続されているが、各ＰＬＣ２，４，６それぞれに共有メモリを設けると共に、その共有メモリを各ＰＬＣ２，４，６が参照することができるようにしてもよい。
【図面の簡単な説明】
【００２０】
【図１】図１は本発明の実施の形態に係る制御システムの概略構成を示す図である。
【図２】図２は各ＰＬＣの概略構成を示す図である。
【符号の説明】
【００２１】
２，４，６  ＰＬＣ
１６  バス
１８，２０，２２  制御対象
２４，２６，２８  入力機器
３０，３２，３４  出力機器
【図１】
2010079355.tif 000003
【図２】
2010079355.tif 000004