(57)【要約】【課題】  分散した制御装置からメモリのみ参照し制御装置間の通信によるオーバヘッドをなくし制御の高速化を図れる制御システムを提供することである。【解決手段】  制御管理装置１の制御管理装置用ソフトウェア管理手段５は、制御補助装置２の設置を検出したときはその制御補助装置２の制御分担内容を制御プログラムの単位プログラムごとに判断してデータメモリ１０に書き込み、制御補助装置２にその内容を通知すると共に制御管理装置１と制御補助装置２間で同期をとりながら周辺装置１５に対する制御を行う。制御補助装置２の制御補助装置用ソフトウェア管理手段１２は、自己が実行する制御内容について制御管理装置１のプログラムメモリ８の制御プログラムを参照し制御管理装置用ソフトウェア管理手段５から通知された制御内容を実行する。【選択図】  図１
2006048318.tif 000002
【特許請求の範囲】
【請求項１】
複数台の周辺装置に対する制御を行う制御管理装置と、前記制御管理装置の制御に対する補助を行う制御補助装置とを備え、前記制御管理装置は、各周辺装置を制御するための複数の単位プログラムからなる制御プログラムが格納されたプログラムメモリと、前記制御補助装置が実行する制御分担内容を記憶するデータメモリと、前記制御補助装置の設置を検出したときはその制御補助装置の制御分担内容を制御プログラムの単位プログラムごとに判断して前記データメモリに書き込み前記制御補助装置にその内容を通知すると共に前記制御管理装置と前記制御補助装置間で同期をとりながら前記周辺装置に対する制御を行う制御管理装置用ソフトウェア管理手段とを有し、前記制御補助装置は、前記制御管理装置用ソフトウェア管理手段から通知された自己が実行する制御内容について前記制御管理装置のプログラムメモリの制御プログラムを参照し前記制御管理装置用ソフトウェア管理手段から通知された制御内容を実行する制御補助装置用ソフトウェア管理手段を有したことを特徴とする制御システム。
【請求項２】
前記制御補助装置は、自己が実行する制御内容の制御プログラムを格納するためのプログラムメモリを有し、前記制御管理装置用ソフトウェア管理手段から通知された制御内容の制御プログラムを前記制御管理装置から自己のプログラムメモリに転送し、自己のプログラムメモリの読み出しに基づき前記周辺装置の制御を行うことを特徴とする請求項１記載の制御システム。
【請求項３】
前記制御管理装置用ソフトウェア管理手段は、新たに制御補助装置を検出したときは、新たに制御分担を再構築し、その制御補助装置に制御内容を通知することを特徴とする請求項１または２記載の制御システム。
【請求項４】
前記制御管理装置用ソフトウェア管理手段は、前記制御管理装置と前記制御補助装置間の各周辺装置に対する制御の実行時間が大きく異なる場合には、前記制御管理装置と前記制御補助装置間で実行時間が大きく異ならないように制御の割り振りを行うことを特徴とする請求項１乃至３のいずれか一記載の制御システム。
【請求項５】
前記制御管理装置用ソフトウェア管理手段は、前記制御管理装置または前記制御補助装置の制御の実行時間が指定された時間より大きい場合には、指定された単位プログラムを実行しないことを特徴とする請求項４記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御装置間で周辺装置を分散制御する制御システムに関する。
【背景技術】
【０００２】
一般に、複数の制御装置間で分散制御を行う制御システムでは、プログラムを分割し各制御装置に実行を依頼する。このとき制御システムでは各制御装置間で同期をとりながらシステムの周辺装置の制御を行う場合が多く、この同期を採るときに各制御装置間でオペレーションプログラムによるメッセージのやりとりが行われている（例えば、特許文献１参照）。
【特許文献１】特開平６−１３１０１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、特許文献１のものでは、分散した制御装置間のメッセージ処理が多くなるので、そのメッセージ処理に時間が取られ制御周期を高速化することができない。
【０００４】
本発明の目的は、分散した制御装置からメモリのみ参照し制御装置間の通信によるオーバヘッドをなくし制御の高速化を図ることができる制御システムを提供することである。
【課題を解決するための手段】
【０００５】
本発明の制御システムは、複数台の周辺装置に対する制御を行う制御管理装置と、前記制御管理装置の制御に対する補助を行う制御補助装置とを備え、前記制御管理装置は、各周辺装置を制御するための複数の単位プログラムからなる制御プログラムが格納されたプログラムメモリと、前記制御補助装置が実行する制御分担内容を記憶するデータメモリと、前記制御補助装置の設置を検出したときはその制御補助装置の制御分担内容を制御プログラムの単位プログラムごとに判断して前記データメモリに書き込み前記制御補助装置にその内容を通知すると共に前記制御管理装置と前記制御補助装置間で同期をとりながら前記周辺装置に対する制御を行う制御管理装置用ソフトウェア管理手段とを有し、前記制御補助装置は、前記制御管理装置用ソフトウェア管理手段から通知された自己が実行する制御内容について前記制御管理装置のプログラムメモリの制御プログラムを参照し前記制御管理装置用ソフトウェア管理手段から通知された制御内容を実行する制御補助装置用ソフトウェア管理手段を有したことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、制御管理装置の制御管理装置用ソフトウェア管理手段が新たに設置された制御補助装置を検出した場合に、その制御補助装置が実行する制御分担内容をデータメモリに書き込む構成としたので、システム稼動中であっても制御システムの運転を停止させることなく制御の分散を行うことができると共に高速に制御することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態を説明する。図１は本発明の実施の形態に係わる制御システムの構成図である。制御管理装置１と制御補助装置２とはバス３を介して接続され、バス３には周辺装置１５が接続されている。そして、制御管理装置１はバス３に接続される管理ＣＰＵバス４を有しており、この管理ＣＰＵバス４に、管理ＣＰＵ１６、システムメモリ６、プログラムメモリ７、８、９、データメモリ１０が接続されている。管理ＣＰＵ１６内には制御管理装置用ソフトウェア管理手段５が形成されている。
【０００８】
また、制御補助装置２はバス３に接続される補助ＣＰＵバス１１を有しており、この補助ＣＰＵバス１１に、補助ＣＰＵ１７、システムメモリ１３、プログラムメモリ１４が接続されている。補助ＣＰＵ１７内には制御補助装置用ソフトウェア管理手段１７が形成されている。図１においては、１台の制御補助装置２及び１台の周辺装置１５しか図示していないが、実際には制御管理装置１には複数台の制御補助装置２及び複数台の周辺装置１５が接続される。
【０００９】
制御管理装置１の管理ＣＰＵ１６は制御管理装置１全体を統括制御するものであり、この管理ＣＰＵ１６内に形成された制御管理装置用ソフトウェア管理手段５は、後述するように、制御補助装置２がバス３に実装されている場合に管理作業を行うものである。
【００１０】
システムメモリ６は、オペレーションプログラムを格納するメモリであり、プログラムメモリ７は、制御管理装置１と制御補助装置２全体の制御手順についての制御プログラムを格納するメモリである。プログラムメモリ８は、新たに追加された制御補助装置２がある場合に、その制御補助装置２で実行する制御プログラムをどのような手順で分散するかについてのプログラムである制御補助装置実行分散プログラムを格納したメモリである。プログラムメモリ９は、削除された制御補助装置２がある場合に、その制御補助装置２で実行していた制御プログラムをどのような手順で統合するかについてのプログラムである制御補助装置実行統合プログラムを格納したメモリである。また、データメモリ１０は、各制御補助装置２を管理するのに必要な種々の項目を含んだ制御補助装置管理テーブルのデータを格納するためのメモリである。
【００１１】
制御補助装置２は、バス３に接続される補助ＣＰＵバス１１を有しており、この補助ＣＰＵバス１１に制御補助装置用ソフトウェア管理手段１２、システムメモリ１３が接続されている。システムメモリ１３は、この制御補助装置２の制御内容についてのオペレーションプログラムを格納するメモリであり、プログラムメモリ１４は、制御補助装置２で実行する制御プログラムを格納するメモリである。制御補助装置用ソフトウェア管理手段１２は、バス３を介し制御管理装置１のプログラムメモリ７、データメモリ１０の内容を参照する。制御システムによっては、プログラムメモリ７の一部をプログラムメモリ１４に転送する。制御補助装置２は、このプログラムメモリ７またはプログラムメモリ１４を参照しながら制御を行うことになる。
【００１２】
プログラムメモリ１４は必ずしも設ける必要はなく、制御管理装置用ソフトウェア管理手段５から通知された自己が実行する制御内容について、制御補助装置用ソフトウェア管理手段１２は制御管理装置１のプログラムメモリ７の制御プログラムを参照し、制御管理装置用ソフトウェア管理手段５から通知された制御内容を実行するようにしてもよい。
【００１３】
図２は、制御管理装置１内のデータメモリ１０の構成図である。実行装置プログラムビット列メモリ１０ａは、制御プログラムをｎ本のプログラムに分割し、その分割プログラムをどの制御管理装置１または制御補助装置２が実行するのかのデータを格納するメモリである。実行開始プログラムビット列メモリ１０ｂは、その分割プログラム毎に他のどの分割プログラムの実行が終わったらその分割プログラムを実行してよいかについてのデータを格納するメモリである。実行完了プログラムビット列メモリ１０ｃは、制御管理装置１または制御補助装置２が分割プログラムの実行を完了したかのデータを格納するメモリである。そして、プログラム実行時間メモリ１０ｄは、制御管理装置１または制御補助装置２が分割プログラムの実行にかかった時間データを格納するメモリである。
【００１４】
次に、動作を説明する。制御管理装置１の管理ＣＰＵ１６は、システムメモリ６に格納されたオペレーションプログラムに基づき動作するようになっており、制御管理装置１の起動時には、管理ＣＰＵ１６の制御管理装置用ソフトウェア管理手段５が起動され、制御管理装置用ソフトウェア管理手段５による処理が行われた後に、プログラムメモリ７に格納された制御プログラムに基づいてプログラム命令を実行する。
【００１５】
図３は、制御管理装置用ソフトウェア管理手段５の動作を示すフローチャートである。まず制御システムが起動すると、システムメモリ６に格納されたオペレーションプログラムに基づいてプログラム制御の起動処理が開始される（ＳＴ１）。そして、制御管理装置用ソフトウェア管理手段５は、制御補助装置２が新規に実装されたか否かについて判別し（ＳＴ２）、新規に実装されたと判別すればプログラムメモリ８に格納されている制御補助装置実行分散プログラムに基づいて、制御補助装置２で実行する制御プログラムを分散する処理を行う（ＳＴ３）。すなわち、制御管理装置用ソフトウェア管理手段５は、分割した制御プログラムを適当に分散し、データメモリ１０の実行装置プログラムビット列メモリ１０ａの該当制御装置番号のプログラム番号のビットをセットする。なお、制御管理装置用ソフトウェア管理手段５は、ステップＳＴ２の判定で新規に実装された制御補助装置２がないと判断すればステップＳＴ４に移行する。
【００１６】
次いで、制御管理装置用ソフトウェア管理手段５は、除去された制御補助装置があるか否かを判別し（ＳＴ４）、除去されたものがあると判別すれば、プログラムメモリ９に格納された制御補助装置実行統合プログラムに基づいて、制御補助装置２の制御プログラムを削除する処理を行う（ＳＴ５）。すなわち、データメモリ１０を参照し、このデータメモリ１０の該当する項目を削除し、削除された制御補助装置２で実行されていた制御プログラムを別の制御補助装置２または制御管理装置１に割り振り統合する。また、制御管理装置用ソフトウェア管理手段５は、ステップＳＴ４の判定で除去された制御補助装置２がないと判別すればステップＳＴ６に移行する。
【００１７】
次いで、制御管理装置用ソフトウェア管理手段５は、制御装置（制御管理装置１及び制御補助装置２）間のプログラム実行時間のばらつきが規定より大きいか否かについて判別する（ＳＴ６）。そして、ばらつきが大きいと判別した場合は、データメモリ１０に格納されている実行装置プログラムビット列メモリ１０ａの再編を行う（ＳＴ７）。そして、制御管理装置用ソフトウェア管理手段５は、プログラム実行時間メモリ１０ｄが規定時間より大きいかについて判断する（ＳＴ８）。そして、規定時間より大きいと判別した場合は、データメモリ１０に格納されている実行装置プログラムビット列メモリ１０ａの間引きを行い（ＳＴ９）、プログラム制御処理に移行する（ＳＴ１０）。
【００１８】
図４は、図３におけるステップＳＴ１０のプログラム制御処理内容を示すフローチャートである。ステップＳＴ２〜ステップＳＴ９の処理が行われた後、制御管理装置１の管理ＣＰＵ１６は周辺装置１５に対するデータの入出力処理を行ない（ＳＴ１０−１）、全ての制御補助装置２に対して、プログラム実行開始を通知する（ＳＴ１０−２）。そして、自装置で実行する制御プログラムがあるか否かの判別をデータメモリ１０の実行装置プログラムビット列メモリ１０ａと実行完了プログラムビット列メモリ１０ｃとを突き合わせることにより行う（ＳＴ１０−３）。
【００１９】
ステップＳＴ１０−３で「ＹＥＳ」の判別を行った場合、制御管理装置用ソフトウェア管理手段５は、今度はこのプログラムを実行してよいか否かを判別を実行開始プログラムビット列メモリ１０ｂと実行完了プログラムビット列メモリ１０ｃとを突き合わせることにより行う（ＳＴ１０−４）。
【００２０】
ステップＳＴ１０−４で「ＹＥＳ」の判別を行った場合、プログラムメモリ７に格納された制御プログラムを起動する。起動された制御プログラムはその内容に応じた制御を実行し（ＳＴ１０−５）、その実行が完了したら実行完了プログラムビット列メモリ１０ｃのプログラムのビットを１にし（ＳＴ１０−６）、プログラム実行時間をプログラム実行時間メモリ１０ｄに設定する（ＳＴ１０−７）。そして再びステップＳＴ１０−３に戻る。
【００２１】
ステップＳＴ１０−４で「ＮＯ」の判別を行った場合、すなわち実行すべき分割プログラムはあるが、実行できる状態になっていないと判別した場合、ステップＳＴ１０−３に戻り、他に実行できる分割プログラムがないかどうかを判別する。
【００２２】
ステップＳＴ１０−３で「ＮＯ」の判別を行った場合、すなわち自装置内で実行すべき分割プログラムの実行が完了した場合、制御管理装置用ソフトウェア管理手段５は、実行完了プログラムビット列メモリ１０ｃを参照し、全ての分割プログラムが終了するか否かを判別し、全ての分割プログラムが完了していない場合待ちつづけ、終了した場合にプログラム制御処理を完了する（ＳＴ１０−８）。
【００２３】
次に、図５は、制御補助装置２の制御補助装置用ソフトウェア管理手段１２の動作を示すフローチャートである。制御補助装置用ソフトウェア管理手段１２では、システムメモリ１３に格納されたオペレーションプログラムに基づいてプログラム制御の起動処理が開始される（ＳＴ１１）。そして、自装置で実行する制御プログラムがあるか否かの判別をデータメモリ１０の実行装置プログラムビット列メモリ１０ａと実行完了プログラムビット列メモリ１０ｃとを突き合わせることにより行う（ＳＴ１２）。
【００２４】
ステップＳＴ１２で「ＹＥＳ」の判別を行った場合、制御補助装置用ソフトウェア管理手段１２は、今度はこのプログラムを実行してよいか否かを判別を実行開始プログラムビット列メモリ１０ｂと実行完了プログラムビット列メモリ１０ｃとを突き合わせることにより行う（ＳＴ１３）。
【００２５】
ステップＳＴ１３で「ＹＥＳ」の判別を行った場合、プログラムメモリ１４に格納された制御プログラムを起動する。起動された制御プログラムはその内容に応じた制御を実行し（ＳＴ１４）、その実行が完了したら実行完了プログラムビット列メモリ１０ｃのプログラムのビットを１にし（ＳＴ１５）、プログラム実行時間をプログラム実行時間メモリ１０ｄに設定する（ＳＴ１６）。そして再びステップＳＴ１２に戻る。
【００２６】
ステップＳＴ１３で「ＮＯ」の判別を行った場合、すなわち実行すべき分割プログラムはあるが、実行できる状態になっていないと判別した場合、ステップＳＴ１２に戻り、他に実行できる分割プログラムがないかどうかを判別する。そして、ステップＳＴ１２で「ＮＯ」の判別を行った場合は処理を終了する。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態に係わる制御システムの構成図。
【図２】本発明の実施の形態における制御管理装置内のデータメモリの構成図。
【図３】本発明の実施の形態における制御管理装置用ソフトウェア管理手段の動作を示すフローチャート。
【図４】図３におけるステップＳＴ１０のプログラム制御処理内容を示すフローチャート。
【図５】本発明の実施の形態における制御補助装置用ソフトウェア管理手段の動作を示すフローチャート。
【符号の説明】
【００２８】
１…制御管理装置、２…制御補助装置、３…バス、４…管理ＣＰＵバス、５…制御管理装置用ソフトウェア管理手段、６…システムメモリ、７…プログラムメモリ、８…プログラムメモリ、９…プログラムメモリ、１０…データメモリ、１０ａ…実行装置プログラムビット列メモリ、１０ｂ…実行開始プログラムビット列メモリ、１０ｃ…実行完了プログラムビット列メモリ、１０ｄ…プログラム実行時間メモリ、１１…補助ＣＰＵバス、１２…制御補助装置用ソフトウェア管理手段、１３…システムメモリ、１４…プログラムメモリ、１５…周辺装置、１６…管理ＣＰＵ、１７…補助ＣＰＵ
【図１】
2006048318.tif 000003
【図２】
2006048318.tif 000004
【図３】
2006048318.tif 000005
【図４】
2006048318.tif 000006
【図５】
2006048318.tif 000007