(57)【特許請求の範囲】
【請求項１】
複数のヒータをそれぞれ制御する複数のコントローラの操作量出力の総和が制御装置全体の操作量出力上限値以下となるように抑制するマルチループ温度制御系の制御装置において、
前記複数のコントローラからの操作量出力に応じて前記複数のヒータに流れる電流値の総和を算出する総電流値算出手段と、
前記制御装置全体の操作量出力上限値を前記総電流値算出手段によって算出された総電流値に基づいて修正する全体操作量出力上限値算出手段とを有することを特徴とする制御装置。
【請求項２】
請求項１記載の制御装置において、
さらに、前記複数のコントローラからの操作量出力の総和である総操作量値を算出する総操作量値算出手段を備え、
前記全体操作量出力上限値算出手段は、前記総電流値をＣＴa、前記総操作量値をＭＴa、予め定められた基準総電流値をＣＴrとしたとき、前記制御装置全体の操作量出力上限値ＭＴ1を、ＭＴ1＝ＭＴa（ＣＴr／ＣＴa）により算出することを特徴とする制御装置。
【請求項３】
請求項１又は２記載の制御装置において、
前記コントローラとして、第１の操作量出力上限に応じて操作量出力を算出する優先側コントローラと、第２の操作量出力上限に応じて操作量出力を算出する非優先側コントローラとを有すると共に、
前記優先側コントローラの操作量出力が前記制御装置全体の操作量出力上限値以下となるように、予め入力された第１の操作量出力上限の大きさを制限して前記優先側コントローラに与える優先側上限処理手段と、
前記優先側コントローラと前記非優先側コントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、前記第２の操作量出力上限を算出して前記非優先側コントローラに与える非優先側上限算出手段と、
前記第２の操作量出力上限に対する前記非優先側コントローラの操作量出力の余裕度に応じて、前記第１の操作量出力上限を増減させる算出を行い、算出した値を次制御周期の第１の操作量出力上限として前記優先側上限処理手段に与える優先側上限算出手段とを有することを特徴とする制御装置。
【請求項４】
請求項１又は２記載の制御装置において、
ｎ（ｎは３以上の整数）台の前記コントローラとして、予め第１番目から第ｍ（ｍはｎ−１）番目の優先順位が割り当てられ、対応する第１〜第ｍの操作量出力上限に応じてそれぞれ操作量出力を算出する第１〜第ｍのコントローラと、予め最下位に順位付けされ、第ｎの操作量出力上限に応じて操作量出力を算出する第ｎのコントローラとを有すると共に、
第ｋ（ｋは１〜ｍの整数）のコントローラ毎に設けられ、前記第１〜第ｋのコントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、予め入力された第ｋの操作量出力上限の大きさを制限して第ｋのコントローラに与える第１〜第ｍの優先側上限処理手段と、
前記第１〜第ｍのコントローラと前記第ｎのコントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、前記第ｎの操作量出力上限を算出して前記第ｎのコントローラに与える非優先側上限算出手段と、
第ｋのコントローラ毎に設けられ、第ｋ＋１の操作量出力上限に対する第ｋ＋１のコントローラの操作量出力の余裕度に応じて、第ｋの操作量出力上限を増減させる算出を行い、算出した値を次制御周期の第ｋの操作量出力上限として第ｋの優先側上限処理手段に与える第１〜第ｍの優先側上限算出手段とを有することを特徴とする制御装置。
【請求項５】
複数のヒータをそれぞれ制御する複数のコントローラの操作量出力の総和が制御装置全体の操作量出力上限値以下となるように抑制するマルチループ温度制御系の制御方法において、
前記複数のコントローラからの操作量出力に応じて前記複数のヒータに流れる電流値の総和を算出する総電流値算出手順と、
前記制御装置全体の操作量出力上限値を前記総電流値算出手順によって算出された総電流値に基づいて修正する全体操作量出力上限値算出手順とを有することを特徴とする制御方法。
【請求項６】
請求項５記載の制御方法において、
さらに、前記複数のコントローラからの操作量出力の総和である総操作量値を算出する総操作量値算出手順を備え、
前記全体操作量出力上限値算出手順は、前記総電流値をＣＴa、前記総操作量値をＭＴa、予め定められた基準総電流値をＣＴrとしたとき、前記制御装置全体の操作量出力上限値ＭＴ1を、ＭＴ1＝ＭＴa（ＣＴr／ＣＴa）により算出することを特徴とする制御方法。
【請求項７】
請求項５又は６記載の制御方法において、
前記コントローラとして、優先側コントローラと非優先側コントローラの２台のコントローラを有し、
（１）前記優先側コントローラの操作量出力が前記制御装置全体の操作量出力上限値以下となるように、予め入力された第１の操作量出力上限の大きさを制限する優先側上限処理と、
（２）この第１の操作量出力上限に応じて前記優先側コントローラで操作量出力を算出する優先側操作量出力算出処理と、
（３）前記優先側コントローラと前記非優先側コントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、第２の操作量出力上限を算出する非優先側上限算出処理と、
（４）この第２の操作量出力上限に応じて前記非優先側コントローラで操作量出力を算出する非優先側操作量出力算出処理と、
（５）前記第２の操作量出力上限に対する前記非優先側コントローラの操作量出力の余裕度に応じて、前記第１の操作量出力上限を増減させる算出を行い、算出した値を次制御周期の第１の操作量出力上限として前記優先側上限処理に与える優先側上限算出処理とを繰り返し行うことを特徴とする制御方法。
【請求項８】
請求項５又は６記載の制御方法において、
前記コントローラとして、予め第１番目から第ｎ（ｎは３以上の整数）番目の優先順位が割り当てられたｎ台のコントローラを有し、
（１）第１のコントローラの操作量出力が前記制御装置全体の操作量出力上限値以下となるように、予め入力された第１の操作量出力上限の大きさを制限する第１の優先側上限処理と、
（２）この第１の操作量出力上限に応じて前記第１のコントローラで操作量出力を算出する第１の優先側操作量出力算出処理と、
（３）前記第１のコントローラと第２のコントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、第２の操作量出力上限を算出する第２の優先側上限処理と、
（４）この第２の操作量出力上限に応じて前記第２のコントローラで操作量出力を算出する第２の優先側操作量出力算出処理と、
（５）前記第２の操作量出力上限に対する前記第２のコントローラの操作量出力の余裕度に応じて、前記第１の操作量出力上限を増減させる算出を行い、算出した値を次制御周期の第１の操作量出力上限として前記第１の優先側上限処理に与える第１の優先側上限算出処理とを行い、
（６）第１〜第ｉのコントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、予め入力された第ｉの操作量出力上限の大きさを制限する第ｉの優先側上限処理と、この第ｉの操作量出力上限に応じて第ｉのコントローラで操作量出力を算出する第ｉの優先側操作量出力算出処理と、第ｉの操作量出力上限に対する第ｉのコントローラの操作量出力の余裕度に応じて、第ｉ−１の操作量出力上限を増減させる算出を行い、算出した値を次制御周期の第ｉ−１の操作量出力上限として第ｉ−１の優先側上限処理に与える第ｉ−１の優先側上限算出処理の３つの処理をｉ（ｉは３〜ｍの整数）毎に順次行い、
（７）前記第１〜第ｍのコントローラと前記第ｎのコントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、第ｎの操作量出力上限を算出する非優先側上限算出処理と、
（８）この第ｎの操作量出力上限に応じて前記第ｎのコントローラで操作量出力を算出する非優先側操作量出力算出処理と、
（９）前記第ｎの操作量出力上限に対する前記第ｎのコントローラの操作量出力の余裕度に応じて、第ｍの操作量出力上限を増減させる算出を行い、算出した値を次制御周期の第ｍの操作量出力上限として第ｍの優先側上限処理に与える第ｍの優先側上限算出処理とを行い、前記（１）〜（９）の処理を繰り返し行うことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作量出力の総和が制御装置全体の操作量出力上限値以下となるように抑制するマルチループ温度制御系の制御装置および制御方法に関するものである。
【背景技術】
【０００２】
従来より、温調計などの制御装置は、マルチループの温度制御系を構成するように計装されることがある。図２は本発明の制御装置を適用する温度制御系の１例を示す図であるが、従来においてもその構成は同様であるので、図２を用いてマルチループの温度制御系について簡単に説明する。図２の例では、焼成炉１０の内部の温度を温調計１５によって制御する。ヒータ１１，１２は、温調計１５から出力される操作量ＭＶ1，ＭＶ2に応じて焼成炉１０内の領域Ａ1，Ａ2を加熱する。センサ１３は、ヒータ１１によって加熱される領域Ａ1の温度ＰＶ1を測定し、センサ１４は、ヒータ１２によって加熱される領域Ａ2の温度ＰＶ2を測定する。温調計１５は、温度ＰＶ1が設定値ＳＰ1と一致するように操作量ＭＶ1を算出し、温度ＰＶ2が設定値ＳＰ2と一致するように操作量ＭＶ2を算出する。
【０００３】
このようなマルチループの温度制御系において、各制御ループの制御性とエネルギー消費量とを容認できる範囲で両立させることを目的として、操作量出力ＭＶ1，ＭＶ2の総和が制御装置全体の操作量出力上限値以下となるように抑制するマルチループ温度制御系の制御装置が提案されている（特許文献１参照）。
【０００４】
【特許文献１】特開２００２−４９４０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えば、１台の機械装置に複数のヒータが温度制御のために使用され、複数の温度制御ループが形成されているときに、特許文献１に開示された技術を、電力の総和を制限するための手法として利用できる。この場合、ブレーカなどの電源系のデバイスの小型化が図れることになる。しかしながら、経年変化によりヒータの抵抗値などが変化すると、当初の制御系の設計において見積もっていた電流値と操作量ＭＶとの関係が変化するため、設計において見積もっていた電流値の総和と実際の電流値の総和とでは、ズレが生じる可能性があった。ブレーカなどの電源系のデバイスの小型化を考えるならば、むしろ電流値の総和が重要であり、ヒータの経年変化などの影響を受けるのは好ましくない。
【０００６】
本発明は、上記課題を解決するためになされたもので、操作量出力の総和が制御装置全体の操作量出力上限値以下となるように抑制するマルチループ温度制御系において、電流値の総和を制限できる制御装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、複数のヒータをそれぞれ制御する複数のコントローラの操作量出力の総和が制御装置全体の操作量出力上限値以下となるように抑制するマルチループ温度制御系の制御装置において、前記複数のコントローラからの操作量出力に応じて前記複数のヒータに流れる電流値の総和を算出する総電流値算出手段と、前記制御装置全体の操作量出力上限値を前記総電流値算出手段によって算出された総電流値に基づいて修正する全体操作量出力上限値算出手段とを有するものである。
また、本発明の制御装置の１構成例は、さらに、前記複数のコントローラからの操作量出力の総和である総操作量値を算出する総操作量値算出手段を備え、前記全体操作量出力上限値算出手段は、前記総電流値をＣＴa、前記総操作量値をＭＴa、予め定められた基準総電流値をＣＴrとしたとき、前記制御装置全体の操作量出力上限値ＭＴ1を、ＭＴ1＝ＭＴa（ＣＴr／ＣＴa）により算出するものである。
【０００８】
また、本発明の制御装置の１構成例は、前記コントローラとして、第１の操作量出力上限に応じて操作量出力を算出する優先側コントローラと、第２の操作量出力上限に応じて操作量出力を算出する非優先側コントローラとを有すると共に、前記優先側コントローラの操作量出力が前記制御装置全体の操作量出力上限値以下となるように、予め入力された第１の操作量出力上限の大きさを制限して前記優先側コントローラに与える優先側上限処理手段と、前記優先側コントローラと前記非優先側コントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、前記第２の操作量出力上限を算出して前記非優先側コントローラに与える非優先側上限算出手段と、前記第２の操作量出力上限に対する前記非優先側コントローラの操作量出力の余裕度に応じて、前記第１の操作量出力上限を増減させる算出を行い、算出した値を次制御周期の第１の操作量出力上限として前記優先側上限処理手段に与える優先側上限算出手段とを有するものである。
【０００９】
また、本発明の制御装置の１構成例は、ｎ（ｎは３以上の整数）台の前記コントローラとして、予め第１番目から第ｍ（ｍはｎ−１）番目の優先順位が割り当てられ、対応する第１〜第ｍの操作量出力上限に応じてそれぞれ操作量出力を算出する第１〜第ｍのコントローラと、予め最下位に順位付けされ、第ｎの操作量出力上限に応じて操作量出力を算出する第ｎのコントローラとを有すると共に、第ｋ（ｋは１〜ｍの整数）のコントローラ毎に設けられ、前記第１〜第ｋのコントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、予め入力された第ｋの操作量出力上限の大きさを制限して第ｋのコントローラに与える第１〜第ｍの優先側上限処理手段と、前記第１〜第ｍのコントローラと前記第ｎのコントローラの操作量出力の和が前記制御装置全体の操作量出力上限値以下となるように、前記第ｎの操作量出力上限を算出して前記第ｎのコントローラに与える非優先側上限算出手段と、第ｋのコントローラ毎に設けられ、第ｋ＋１の操作量出力上限に対する第ｋ＋１のコントローラの操作量出力の余裕度に応じて、第ｋの操作量出力上限を増減させる算出を行い、算出した値を次制御周期の第ｋの操作量出力上限として第ｋの優先側上限処理手段に与える第１〜第ｍの優先側上限算出手段とを有するものである。
【００１０】
また、本発明は、複数のヒータをそれぞれ制御する複数のコントローラの操作量出力の総和が制御装置全体の操作量出力上限値以下となるように抑制するマルチループ温度制御系の制御方法において、前記複数のコントローラからの操作量出力に応じて前記複数のヒータに流れる電流値の総和を算出する総電流値算出手順と、前記制御装置全体の操作量出力上限値を前記総電流値算出手順によって算出された総電流値に基づいて修正する全体操作量出力上限値算出手順とを有するものである。
【発明の効果】
【００１１】
本発明によれば、複数のヒータに流れる電流値の総和を算出し、制御装置全体の操作量出力上限値を総電流値に基づいて修正することにより、操作量出力の総和が制御装置全体の操作量出力上限値以下となるように抑制するマルチループ温度制御系の制御装置において、経年変化によりヒータの抵抗値などが変化したとしても、電流値の総和を制限することができる。また、本発明では、温調計に設けられている既存のＣＴ値測定機能を利用することができるので、特別な機器を追加することなく、電流値の総和を制限することができる。
【発明を実施するための最良の形態】
【００１２】
［発明の原理］
特許文献１に開示された手法では、装置全体の操作量出力上限値は基本的にユーザが設定する固定値となっている。しかし、操作量出力上限値を固定的に設定しておくと、ヒータの経年変化などの影響を受ける可能性がある。したがって、この装置全体の操作量出力上限値を適宜修正することにより、本来の目的を確実に達成できるように改善できることに、発明者は着眼した。また、温調計などの制御装置には、ヒータ断線に備えてヒータヘの通電状態（電流）の真値を常時測定するＣＴ値測定機能が備わっていることに、発明者は着眼した。そして、装置全体の操作量出力上限値を、実測されるヒータ電流値の総和と逐次比較しながら修正すれば、課題解決のために有効であることに、発明者は想到した。
【００１３】
［第１の実施の形態］
以下、本発明の実施の形態について図面を参照して説明する。図１は本発明の第１の実施の形態に係る制御装置の構成を示すブロック図である。
制御装置は、総電流値算出部Ｃ＿ＣＴaと、総操作量値算出部Ｃ＿ＭＴaと、全体操作量出力上限値算出部Ｃ＿ＭＴ1と、優先側コントローラＰＩＤ1と、非優先側コントローラＰＩＤ2と、優先側上限処理部Ｌ＿ＭＨ1と、非優先側上限算出部Ｃ＿ＭＨ2と、優先側上限算出部Ｃ＿ＭＨ1とから構成されている。
【００１４】
本実施の形態は、例えば電気ヒータをアクチュエータとする制御系を１つの装置内に２ループ備える装置（半導体製造装置等）において、どちらかの制御ループの制御特性をあまり重視しなくて良い場合に、これら２ループを対象として適用することができる。この場合、制御特性を重視する必要がある制御ループのコントローラが優先側コントローラとなり、制御特性をあまり重視しなくて良い制御ループのコントローラが非優先側コントローラとなる。
【００１５】
図２は本実施の形態の制御装置を適用する温度制御系の１例を示す図である。図２の例は、焼成炉１０の内部の温度を温調計１５によって制御するものである。ヒータ１１，１２は、温調計１５から出力される操作量ＭＶ1，ＭＶ2に応じて焼成炉１０内の領域Ａ1，Ａ2を加熱する。センサ１３は、ヒータ１１によって加熱される領域Ａ1の温度ＰＶ1を測定し、センサ１４は、ヒータ１２によって加熱される領域Ａ2の温度ＰＶ2を測定する。温調計１５は、温度ＰＶ1が設定値ＳＰ1と一致するように操作量ＭＶ1を算出し、温度ＰＶ2が設定値ＳＰ2と一致するように操作量ＭＶ2を算出する。図１の制御装置は、温調計１５の内部に設けられるものである。なお、温調計１５は、操作量ＭＶ1，ＭＶ2の出力に応じてヒータ１１，１２に流れる電流値ＣＴ1，ＣＴ2を計測するＣＴ値測定機能を備えている。
【００１６】
以下、本実施の形態の制御装置の動作について説明する。図３は図１の制御装置の動作を示すフローチャートである。以下の説明では、制御装置全体の操作量出力上限値を全体操作量出力上限値として、他の操作量出力上限値と区別するものとする。
最初に、優先側上限処理部Ｌ＿ＭＨ1は、優先側コントローラＰＩＤ1の操作量出力ＭＶ1の上限を示す操作量出力上限値ＭＨ1と全体操作量出力上限値算出部Ｃ＿ＭＴ1から出力される全体操作量出力上限値ＭＴ1とを比較して、操作量出力上限値ＭＨ1が全体操作量出力上限値ＭＴ1より大きい場合は、ＭＨ1＝ＭＴ1、すなわち全体操作量出力上限値ＭＴ1を新たな操作量出力上限値ＭＨ1とする上限処理を行う（図３ステップＳ１０１）。
【００１７】
そして、優先側上限処理部Ｌ＿ＭＨ1は、更新した操作量出力上限値ＭＨ1を優先側コントローラＰＩＤ1と優先側上限算出部Ｃ＿ＭＨ1へ出力する。操作量出力上限値ＭＨ1が全体操作量出力上限値ＭＴ1以下の場合は、操作量出力上限値ＭＨ1を更新する必要はなく、現在の操作量出力上限値ＭＨ1をそのまま出力すればよい。なお、最初の制御周期においては、全体操作量出力上限値ＭＴ1の予め定められた初期値が全体操作量出力上限値算出部Ｃ＿ＭＴ1から出力される。また、最初の制御周期における操作量出力上限値ＭＨ1 の初期値は例えば１００％に設定されている。
【００１８】
次に、優先側コントローラＰＩＤ1は、ＰＩＤ演算を実行して操作量出力ＭＶ1を算出する（ステップＳ１０２）。ステップＳ１０２において、優先側コントローラＰＩＤ1は、前記操作量出力上限値ＭＨ1に基づく上限処理を行う前の操作量である内部出力値ＵＣ1をＰＩＤ演算により次式のように算出する。
【００１９】
ＵＣ1＝Ｋｇ1｛１＋１／（Ｔｉ1ｓ）＋Ｔｄ1ｓ｝（ＳＰ1−ＰＶ1）    ・・・（１）
式（１）において、Ｋｇ1はコントローラＰＩＤ1の比例ゲイン、Ｔｉ1はコントローラＰＩＤ1の積分時間、Ｔｄ1はコントローラＰＩＤ1の微分時間、ＳＰ1はコントローラＰＩＤ1の制御対象について設定される設定値、ＰＶ1はこの制御対象の制御量である。比例ゲインＫｇ1、積分時間Ｔｉ1、微分時間Ｔｄ1及び設定値ＳＰ1は予め設定され、制御量ＰＶ1は図示しないセンサによって検出される。
【００２０】
続いて、優先側コントローラＰＩＤ1は、算出した内部出力値ＵＣ1と優先側上限処理部Ｌ＿ＭＨ1から出力された操作量出力上限値ＭＨ1とを比較して、内部出力値ＵＣ1が操作量出力上限値ＭＨ1より大きい場合は、ＭＶ1＝ＭＨ1、すなわち操作量出力上限値ＭＨ1を操作量出力ＭＶ1とする上限処理を行い、内部出力値ＵＣ1が操作量出力上限値ＭＨ1以下の場合は、ＭＶ1＝ＵＣ1、すなわち内部出力値ＵＣ1を操作量出力ＭＶ1とする。
【００２１】
そして、優先側コントローラＰＩＤ1は、算出した操作量出力ＭＶ1を制御対象（実際の出力先は図２のヒータ１１）と非優先側上限算出部Ｃ＿ＭＨ2と総操作量値算出部Ｃ＿ＭＴaへ出力すると同時に、内部出力値ＵＣ1を優先側上限算出部Ｃ＿ＭＨ1へ出力する。
以上でステップＳ１０２の処理が終了する。
【００２２】
次に、非優先側上限算出部Ｃ＿ＭＨ2は、非優先側コントローラＰＩＤ2の操作量出力ＭＶ2の上限を示す操作量出力上限値ＭＨ2を次式のように算出して、この操作量出力上限値ＭＨ2を非優先側コントローラＰＩＤ2へ出力する（ステップＳ１０３）。
ＭＨ2＝ＭＴ1−ＭＶ1                                            ・・・（２）
【００２３】
非優先側コントローラＰＩＤ2は、ＰＩＤ演算を実行して操作量出力ＭＶ2を算出する（ステップＳ１０４）。ステップＳ１０４において、非優先側コントローラＰＩＤ2は、前記操作量出力上限値ＭＨ2に基づく上限処理を行う前の操作量である内部出力値ＵＣ2をＰＩＤ演算により次式のように算出する。
【００２４】
ＵＣ2＝Ｋｇ2｛１＋１／（Ｔｉ2ｓ）＋Ｔｄ2ｓ｝（ＳＰ2−ＰＶ2）    ・・・（３）
式（３）において、Ｋｇ2はコントローラＰＩＤ2の比例ゲイン、Ｔｉ2はコントローラＰＩＤ2の積分時間、Ｔｄ2はコントローラＰＩＤ2の微分時間、ＳＰ2はコントローラＰＩＤ2の制御対象について設定される設定値、ＰＶ2はこの制御対象の制御量である。比例ゲインＫｇ2、積分時間Ｔｉ2、微分時間Ｔｄ2及び設定値ＳＰ2は予め設定され、制御量ＰＶ2は図示しないセンサによって検出される。
【００２５】
続いて、非優先側コントローラＰＩＤ2は、算出した内部出力値ＵＣ2と非優先側上限算出部Ｃ＿ＭＨ2から出力された操作量出力上限値ＭＨ2とを比較して、内部出力値ＵＣ2が操作量出力上限値ＭＨ2より大きい場合は、ＭＶ2＝ＭＨ2、すなわち操作量出力上限値ＭＨ2を操作量出力ＭＶ2とする上限処理を行い、内部出力値ＵＣ2が操作量出力上限値ＭＨ2以下の場合は、ＭＶ2＝ＵＣ2、すなわち内部出力値ＵＣ2を操作量出力ＭＶ2とする。
【００２６】
そして、非優先側コントローラＰＩＤ2は、算出した操作量出力ＭＶ2を制御対象（実際の出力先は図２のヒータ１２）と優先側上限算出部Ｃ＿ＭＨ1と総操作量値算出部Ｃ＿ＭＴaへ出力すると同時に、内部出力値ＵＣ2を優先側上限算出部Ｃ＿ＭＨ1へ出力する。
以上でステップＳ１０４の処理が終了する。
【００２７】
次に、優先側上限算出部Ｃ＿ＭＨ1は、優先側コントローラＰＩＤ1の次制御周期の操作量出力上限値ＭＨ1’を算出する（ステップＳ１０５）。
ステップＳ１０５において、優先側上限算出部Ｃ＿ＭＨ1は、非優先側コントローラＰＩＤ2から出力された内部出力値ＵＣ2と操作量出力ＭＶ2に基づいて次式が成立するかどうかを判定する。
【００２８】
α（ＵＣ2−ＭＶ2）＞０                                          ・・・（４）
αは非優先側コントローラＰＩＤ2に対する優先側コントローラＰＩＤ1の制御の優先度を示す優先度係数であり、０〜１の実数値をとる（０のとき優先度最大、１のとき優先度最小）。
【００２９】
優先側上限算出部Ｃ＿ＭＨ1は、式（４）が成立する場合、優先側上限処理部Ｌ＿ＭＨ1から出力された現制御周期の操作量出力上限値ＭＨ1、優先側コントローラＰＩＤ1から出力された内部出力値ＵＣ1、非優先側コントローラＰＩＤ2から出力された操作量出力ＭＶ2及び内部出力値ＵＣ2に基づいて、優先側コントローラＰＩＤ1の次制御周期の操作量出力上限値ＭＨ1’を次式のように算出して、この操作量出力上限値ＭＨ1’を優先側上限処理部Ｌ＿ＭＨ1へ出力する。
【００３０】
ＭＨ1’＝［ＭＨ1Ｔｘ1＋｛ＵＣ1−α（ＵＣ2−ＭＶ2）｝ｄＴ］／（Ｔｘ1＋ｄＴ）
・・・（５）
Ｔｘ1は移行時間であり、例えばＴｘ1＝Ｔｄ1とする。ｄＴは制御周期である。
【００３１】
また、優先側上限算出部Ｃ＿ＭＨ1は、式（４）が不成立の場合、優先側上限処理部Ｌ＿ＭＨ1から出力された現制御周期の操作量出力上限値ＭＨ1、全体操作量出力上限値ＭＴ1に基づいて、操作量出力上限値ＭＨ1’を次式のように算出して、この操作量出力上限値ＭＨ1’を優先側上限処理部Ｌ＿ＭＨ1へ出力する。
ＭＨ1’＝［ＭＨ1Ｔｘ1＋ＭＴ1ｄＴ］／（Ｔｘ1＋ｄＴ）            ・・・（６）
こうして、ステップＳ１０５の処理が終了する。
【００３２】
次に、ヒータ１１，１２には、それぞれ操作量出力ＭＶ1，ＭＶ2に応じた電流が流れる。総電流値算出部Ｃ＿ＣＴaは、制御装置の図示しないＣＴ値測定部によって測定された、ヒータ１１，１２に流れる電流値ＣＴ1，ＣＴ2から、その総和である総電流値ＣＴaを次式のように算出する（ステップＳ１０６）。
ＣＴa＝ＣＴ1＋ＣＴ2                                            ・・・（７）
【００３３】
一方、総操作量値算出部Ｃ＿ＭＴaは、操作量出力ＭＶ1，ＭＶ2の総和である総操作量値ＭＴaを次式のように算出する（ステップＳ１０７）。
ＭＴa＝ＭＶ1＋ＭＶ2                                            ・・・（８）
【００３４】
全体操作量出力上限値算出部Ｃ＿ＭＴ1は、総電流値ＣＴaと総操作量値ＭＴaとから次制御周期の全体操作量出力上限値ＭＴ1を次式のように算出する（ステップＳ１０８）。
ＭＴ1＝ＭＴa（ＣＴr／ＣＴa）                                    ・・・（９）
式（９）において、ＣＴrは予め与えられる基準総電流値であり、所望の総電流値に相当する。このステップＳ１０８の処理により、全体操作量出力上限値ＭＴ1が修正されたことになる。
【００３５】
以上のようなステップＳ１０１〜Ｓ１０８の処理がオペレータ等の指令によって制御が停止するまで（ステップＳ１０９においてＹＥＳ）、制御周期ｄＴごとに繰り返される。
なお、優先側上限処理部Ｌ＿ＭＨ1は、ＭＨ1＝ＭＨ1’、すなわち前制御周期で優先側上限算出部Ｃ＿ＭＨ1によって算出され出力された操作量出力上限値ＭＨ1’を現制御周期の操作量出力上限値ＭＨ1として、ステップＳ１０１の処理を行う。
【００３６】
このように、本実施の形態では、優先側コントローラＰＩＤ1の操作量出力ＭＶ1と非優先側コントローラＰＩＤ2の操作量出力ＭＶ2の総和を、常に全体操作量出力上限値ＭＴ1以下に維持するために、非優先側コントローラＰＩＤ2の操作量出力上限値ＭＨ2をＭＴ1−ＭＶ1にする（ステップＳ１０３）。
【００３７】
そして、式（４）が不成立の場合、すなわち非優先側コントローラＰＩＤ2の内部出力値ＵＣ2が操作量出力上限値ＭＨ2に対して余裕がある場合（ＵＣ2≦ＭＨ2）、式（６）を用いて優先側コントローラＰＩＤ1の操作量出力上限値ＭＨ1を増加させて全体操作量出力上限値ＭＴ1に漸近的に接近させる（ステップＳ１０５）。これにより、優先側コントローラＰＩＤ1がより大きな操作量出力ＭＶ1を出力できるようにする。なお、このときの移行時間Ｔｘ1は、操作量出力上限値ＭＨ1が全体操作量出力上限値ＭＴ1に移行するまでの時間（正確には、操作量出力上限値ＭＨ1と全体操作量出力上限値ＭＴ1との間を１００％としたとき、６３．２％変動するまでの時間）となる。
【００３８】
また、式（４）が成立する場合、すなわち非優先側コントローラＰＩＤ2の内部出力値ＵＣ2が操作量出力上限値ＭＨ2に対して余裕がない場合（ＵＣ2＞ＭＨ2）、式（５）を用いて優先側コントローラＰＩＤ1の操作量出力上限値ＭＨ1を非優先側コントローラＰＩＤ2の出力不足分（ＵＣ2−ＭＶ2）だけ減少する方向に漸近的に接近させる（ステップＳ１０５）。これにより、優先側コントローラＰＩＤ1の操作量出力ＭＶ1を抑えるようにする。なお、このときの移行時間Ｔｘ1は、操作量出力上限値ＭＨ1がＵＣ1−（ＵＣ2−ＭＶ2）に移行するまでの時間となる。
【００３９】
そして、式（４）が成立して、優先側コントローラＰＩＤ1の操作量出力上限値ＭＨ1を減少させる際、その減少の指標となる非優先側コントローラＰＩＤ2の出力不足分（ＵＣ2−ＭＶ2）に対しては優先度係数αが乗算される。この優先度係数αの値を調整することにより、優先側コントローラＰＩＤ1を過剰に優先することなく、非優先側コントローラＰＩＤ2の制御性も可能な範囲で良好に維持することができる。
以上のように、本実施の形態では、２ループの操作量出力ＭＶ1，ＭＶ2の総和を全体操作量出力上限値ＭＴ1以下に維持し、かつ優先度の高い制御量ＰＶ1について良好な制御状態を維持することができる。
【００４０】
さらに、本実施の形態では、全体操作量出力上限値ＭＴ1を総電流値ＣＴaと総操作量値ＭＴaに基づいて修正することにより、経年変化によりヒータの抵抗値などが変化したとしても、電流値の総和を制限することができる。また、本実施の形態では、温調計に設けられている既存のＣＴ値測定機能を利用することができるので、特別な機器を追加することなく、電流値の総和を制限することができる。
【００４１】
［実施の形態の２］
図４は本発明の第２の実施の形態に係る制御装置の構成を示すブロック図である。図４の制御装置は、総電流値算出部Ｃ＿ＣＴaと、総操作量値算出部Ｃ＿ＭＴaと、全体操作量出力上限値算出部Ｃ＿ＭＴ1と、予め第１番目から第ｍ（ｍは２以上の整数）番目の優先順位が割り当てられた第１〜第ｍの優先側コントローラＰＩＤ1〜ＰＩＤmと、予め最下位に順位付けされた非優先側コントローラ（第ｎのコントローラ）ＰＩＤnと、優先側コントローラＰＩＤ1〜ＰＩＤm毎に設けられた第１〜第ｍの優先側上限処理部Ｌ＿ＭＨ1〜Ｌ＿ＭＨmと、非優先側コントローラＰＩＤnに対応して設けられた非優先側上限算出部Ｃ＿ＭＨnと、優先側コントローラＰＩＤ1〜ＰＩＤm毎に設けられた第１〜第ｍの優先側上限算出部Ｃ＿ＭＨ1〜Ｃ＿ＭＨmとから構成されている。
【００４２】
本実施の形態は、例えば電気ヒータをアクチュエータとする制御系を１つの装置内にｎ（ｎは３以上の整数、ｎ＝ｍ＋１）ループ備える装置（例えば半導体製造装置等）において、これらの優先度に応じて制御ループの制御特性をあまり重視しなくて良い場合に、これらｎループを対象として適用することができる。
本実施の形態の制御装置を適用する温度制御系は、図２の構成をｎループにしたものなので、図示は省略する。
【００４３】
以下、本実施の形態の制御装置の動作について説明する。図５は図４の制御装置の動作を示すフローチャートである。ここでは、ＰＩＤ1，ＰＩＤ2，ＰＩＤ3，・・・，ＰＩＤm，ＰＩＤnの優先順位として説明する。
最初に、第１の優先側上限処理部Ｌ＿ＭＨ1は、最も優先度が高い第１の優先側コントローラＰＩＤ1の操作量出力上限値ＭＨ1と全体操作量出力上限値算出部Ｃ＿ＭＴ1から出力される全体操作量出力上限値ＭＴ1とを比較して、操作量出力上限値ＭＨ1が全体操作量出力上限値ＭＴ1より大きい場合は、ＭＨ1＝ＭＴ1、すなわち全体操作量出力上限値ＭＴ1を新たな操作量出力上限値ＭＨ1とする上限処理を行う（図５ステップＳ２０１）。
【００４４】
そして、第１の優先側上限処理部Ｌ＿ＭＨ1は、更新した操作量出力上限値ＭＨ1を第１の優先側コントローラＰＩＤ1と第１の優先側上限算出部Ｃ＿ＭＨ1へ出力する。操作量出力上限値ＭＨ1が全体操作量出力上限値ＭＴ1以下の場合は、操作量出力上限値ＭＨ1を更新する必要はなく、現在の操作量出力上限値ＭＨ1をそのまま出力すればよい。第１の実施の形態と同様に、最初の制御周期においては、全体操作量出力上限値ＭＴ1の予め定められた初期値が全体操作量出力上限値算出部Ｃ＿ＭＴ1から出力される。
【００４５】
次に、第１の優先側コントローラＰＩＤ1は、ＰＩＤ演算を実行して操作量出力ＭＶ1を算出する（ステップＳ２０２）。ステップＳ２０２において、第１の優先側コントローラＰＩＤ1は、内部出力値ＵＣ1をＰＩＤ演算により次式のように算出する。
ＵＣ1＝Ｋｇ1｛１＋１／（Ｔｉ1ｓ）＋Ｔｄ1ｓ｝（ＳＰ1−ＰＶ1）  ・・・（１０）
【００４６】
続いて、第１の優先側コントローラＰＩＤ1は、算出した内部出力値ＵＣ1と第１の優先側上限処理部Ｌ＿ＭＨ1から出力された操作量出力上限値ＭＨ1とを比較して、内部出力値ＵＣ1が操作量出力上限値ＭＨ1より大きい場合は、ＭＶ1＝ＭＨ1、すなわち操作量出力上限値ＭＨ1を操作量出力ＭＶ1とする上限処理を行い、内部出力値ＵＣ1が操作量出力上限値ＭＨ1以下の場合は、ＭＶ1＝ＵＣ1、すなわち内部出力値ＵＣ1を操作量出力ＭＶ1とする。
【００４７】
そして、第１の優先側コントローラＰＩＤ1は、算出した操作量出力ＭＶ1を図示しない制御対象（実際の出力先はコントローラＰＩＤ1に対応するヒータ）と第２の優先側上限処理部Ｌ＿ＭＨ2と総操作量値算出部Ｃ＿ＭＴaへ出力すると同時に、内部出力値ＵＣ1を第１の優先側上限算出部Ｃ＿ＭＨ1へ出力する。
以上でステップＳ２０２の処理が終了する。
【００４８】
次に、第２の優先側上限処理部Ｌ＿ＭＨ2は、第１の優先側コントローラＰＩＤ1から出力された操作量出力ＭＶ1と全体操作量出力上限値ＭＴ1に基づいて、第２の優先側コントローラＰＩＤ2の操作量出力上限値ＭＨ2を上限処理するための上限値ＭＴ2を次式のように算出する（ステップＳ２０３）。
ＭＴ2＝ＭＴ1−ＭＶ1                                            ・・・（１１）
【００４９】
続いて、第２の優先側上限処理部Ｌ＿ＭＨ2は、第２の優先側コントローラＰＩＤ2の操作量出力上限値ＭＨ2と上限値ＭＴ2とを比較して、操作量出力上限値ＭＨ2が上限値ＭＴ2より大きい場合は、ＭＨ2＝ＭＴ2、すなわち上限値ＭＴ2を新たな操作量出力上限値ＭＨ2とする上限処理を行う（ステップＳ２０４）。
【００５０】
そして、第２の優先側上限処理部Ｌ＿ＭＨ2は、更新した操作量出力上限値ＭＨ2を第２の優先側コントローラＰＩＤ2と第２の優先側上限算出部Ｃ＿ＭＨ2へ出力する。なお、操作量出力上限値ＭＨ2が上限値ＭＴ2以下の場合は、操作量出力上限値ＭＨ2を更新する必要はなく、現在の操作量出力上限値ＭＨ2をそのまま出力すればよい。
【００５１】
第２の優先側コントローラＰＩＤ2は、ＰＩＤ演算を実行して操作量出力ＭＶ2を算出する（ステップＳ２０５）。ステップＳ２０５において、第２の優先側コントローラＰＩＤ2は、内部出力値ＵＣ2をＰＩＤ演算により次式のように算出する。
ＵＣ2＝Ｋｇ2｛１＋１／（Ｔｉ2ｓ）＋Ｔｄ2ｓ｝（ＳＰ2−ＰＶ2）  ・・・（１２）
【００５２】
続いて、第２の優先側コントローラＰＩＤ2は、算出した内部出力値ＵＣ2と第２の優先側上限処理部Ｌ＿ＭＨ2から出力された操作量出力上限値ＭＨ2とを比較して、内部出力値ＵＣ2が操作量出力上限値ＭＨ2より大きい場合は、ＭＶ2＝ＭＨ2、すなわち操作量出力上限値ＭＨ2を操作量出力ＭＶ2とする上限処理を行い、内部出力値ＵＣ2が操作量出力上限値ＭＨ2以下の場合は、ＭＶ2＝ＵＣ2、すなわち内部出力値ＵＣ2を操作量出力ＭＶ2とする。
【００５３】
そして、第２の優先側コントローラＰＩＤ2は、算出した操作量出力ＭＶ2を図示しない制御対象（実際の出力先はコントローラＰＩＤ2に対応するヒータ）と第１の優先側上限算出部Ｃ＿ＭＨ1と第３の優先側上限処理部Ｌ＿ＭＨ3と総操作量値算出部Ｃ＿ＭＴaへ出力すると同時に、内部出力値ＵＣ2を第１の優先側上限算出部Ｃ＿ＭＨ1と第２の優先側上限算出部Ｃ＿ＭＨ2へ出力する。
以上でステップＳ２０５の処理が終了する。
【００５４】
次に、第１の優先側上限算出部Ｃ＿ＭＨ1は、第１の優先側コントローラＰＩＤ1の次制御周期の操作量出力上限値ＭＨ1’を算出する（ステップＳ２０６）。
ステップＳ２０６において、第１の優先側上限算出部Ｃ＿ＭＨ1は、第２の優先側コントローラＰＩＤ2から出力された内部出力値ＵＣ2と操作量出力ＭＶ2に基づいて次式が成立するかどうかを判定する。
【００５５】
α1（ＵＣ2−ＭＶ2）＞０                                        ・・・（１３）
α1は第２の優先側コントローラＰＩＤ2に対する第１の優先側コントローラＰＩＤ1の制御の優先度を示す優先度係数であり、０〜１の実数値をとる（０のとき優先度最大、１のとき優先度最小）。
【００５６】
第１の優先側上限算出部Ｃ＿ＭＨ1は、式（１３）が成立する場合、第１の優先側上限処理部Ｌ＿ＭＨ1から出力された現制御周期の操作量出力上限値ＭＨ1、第１の優先側コントローラＰＩＤ1から出力された内部出力値ＵＣ1、第２の優先側コントローラＰＩＤ2から出力された操作量出力ＭＶ2及び内部出力値ＵＣ2に基づいて、第１の優先側コントローラＰＩＤ1の次制御周期の操作量出力上限値ＭＨ1’を次式のように算出して、この操作量出力上限値ＭＨ1’を第１の優先側上限処理部Ｌ＿ＭＨ1へ出力する。
ＭＨ1’＝［ＭＨ1Ｔｘ1＋｛ＵＣ1−α1（ＵＣ2−ＭＶ2）｝ｄＴ］／（Ｔｘ1＋ｄＴ）
・・・（１４）
【００５７】
また、第１の優先側上限算出部Ｃ＿ＭＨ1は、式（１３）が不成立の場合、第１の優先側上限処理部Ｌ＿ＭＨ1から出力された現制御周期の操作量出力上限値ＭＨ1、全体操作量出力上限値ＭＴ1に基づいて、操作量出力上限値ＭＨ1’を次式のように算出して、この操作量出力上限値ＭＨ1’を第１の優先側上限処理部Ｌ＿ＭＨ1へ出力する。
ＭＨ1’＝［ＭＨ1Ｔｘ1＋ＭＴ1ｄＴ］／（Ｔｘ1＋ｄＴ）          ・・・（１５）
こうして、ステップＳ２０６の処理が終了する。
【００５８】
次に、第３の優先側上限処理部Ｌ＿ＭＨ3は、第２の優先側コントローラＰＩＤ2から出力された操作量出力ＭＶ2と第２の優先側上限処理部Ｌ＿ＭＨ2から出力された上限値ＭＴ2に基づいて、第３の優先側コントローラＰＩＤ3の操作量出力上限値ＭＨ3を上限処理するための上限値ＭＴ3を次式のように算出する（ステップＳ２０７）。
ＭＴ3＝ＭＴ2−ＭＶ2                                          ・・・（１６）
【００５９】
続いて、第３の優先側上限処理部Ｌ＿ＭＨ3は、第３の優先側コントローラＰＩＤ3の操作量出力上限値ＭＨ3と上限値ＭＴ3とを比較して、操作量出力上限値ＭＨ3が上限値ＭＴ3より大きい場合は、ＭＨ3＝ＭＴ3、すなわち上限値ＭＴ3を新たな操作量出力上限値ＭＨ3とする上限処理を行う（ステップＳ２０８）。
【００６０】
そして、第３の優先側上限処理部Ｌ＿ＭＨ3は、更新した操作量出力上限値ＭＨ3を第３の優先側コントローラＰＩＤ3と第３の優先側上限算出部Ｃ＿ＭＨ3へ出力する。なお、操作量出力上限値ＭＨ3が上限値ＭＴ3以下の場合は、操作量出力上限値ＭＨ3を更新する必要はなく、現在の操作量出力上限値ＭＨ3をそのまま出力すればよい。
【００６１】
第３の優先側コントローラＰＩＤ3は、ＰＩＤ演算を実行して操作量出力ＭＶ3を算出する（ステップＳ２０９）。ステップＳ２０９において、第３の優先側コントローラＰＩＤ3は、内部出力値ＵＣ3をＰＩＤ演算により次式のように算出する。
【００６２】
ＵＣ3＝Ｋｇ3｛１＋１／（Ｔｉ3ｓ）＋Ｔｄ3ｓ｝（ＳＰ3−ＰＶ3）  ・・・（１７）
式（１７）において、Ｋｇ3、Ｔｉ3、Ｔｄ3はそれぞれコントローラＰＩＤ3の比例ゲイン、積分時間、微分時間、ＳＰ3はコントローラＰＩＤ3の制御対象（不図示）について設定される設定値、ＰＶ3はこの制御対象の制御量である。比例ゲインＫｇ3、積分時間Ｔｉ3、微分時間Ｔｄ3及び設定値ＳＰ3は予め設定され、制御量ＰＶ3は図示しないセンサによって検出される。
【００６３】
続いて、第３の優先側コントローラＰＩＤ3は、算出した内部出力値ＵＣ3と第３の優先側上限処理部Ｌ＿ＭＨ3から出力された操作量出力上限値ＭＨ3とを比較して、内部出力値ＵＣ3が操作量出力上限値ＭＨ3より大きい場合は、ＭＶ3＝ＭＨ3、すなわち操作量出力上限値ＭＨ3を操作量出力ＭＶ3とする上限処理を行い、内部出力値ＵＣ3が操作量出力上限値ＭＨ3以下の場合は、ＭＶ3＝ＵＣ3、すなわち内部出力値ＵＣ3を操作量出力ＭＶ3とする。
【００６４】
そして、第３の優先側コントローラＰＩＤ3は、算出した操作量出力ＭＶ3を図示しない制御対象（実際の出力先はコントローラＰＩＤ3に対応するヒータ）と第２の優先側上限算出部Ｃ＿ＭＨ2と第４の優先側上限処理部Ｌ＿ＭＨ4と総操作量値算出部Ｃ＿ＭＴaへ出力すると同時に、内部出力値ＵＣ3を第２の優先側上限算出部Ｃ＿ＭＨ2と第３の優先側上限算出部Ｃ＿ＭＨ3へ出力する。
以上でステップＳ２０９の処理が終了する。
【００６５】
次に、第２の優先側上限算出部Ｃ＿ＭＨ2は、第２の優先側コントローラＰＩＤ2の次制御周期の操作量出力上限値ＭＨ2’を算出する（ステップＳ２１０）。ステップＳ２１０において、第２の優先側上限算出部Ｃ＿ＭＨ2は、第３の優先側コントローラＰＩＤ3から出力された内部出力値ＵＣ3と操作量出力ＭＶ3に基づいて次式が成立するかどうかを判定する。
【００６６】
α2（ＵＣ3−ＭＶ3）＞０                                      ・・・（１８）
α2は第３の優先側コントローラＰＩＤ3に対する第２の優先側コントローラＰＩＤ2の制御の優先度を示す優先度係数であり、０〜１の実数値をとる（０のとき優先度最大、１のとき優先度最小）。
【００６７】
第２の優先側上限算出部Ｃ＿ＭＨ2は、式（１８）が成立する場合、第２の優先側上限処理部Ｌ＿ＭＨ2から出力された現制御周期の操作量出力上限値ＭＨ2、第２の優先側コントローラＰＩＤ2から出力された内部出力値ＵＣ2、第３の優先側コントローラＰＩＤ3から出力された操作量出力ＭＶ3及び内部出力値ＵＣ3に基づいて、第２の優先側コントローラＰＩＤ2の次制御周期の操作量出力上限値ＭＨ2’を次式のように算出して、この操作量出力上限値ＭＨ2’を第２の優先側上限処理部Ｌ＿ＭＨ2へ出力する。
【００６８】
ＭＨ2’＝［ＭＨ2Ｔｘ2＋｛ＵＣ2−α2（ＵＣ3−ＭＶ3）｝ｄＴ］／（Ｔｘ2＋ｄＴ）
・・・（１９）
Ｔｘ2は移行時間であり、例えばＴｘ2＝Ｔｄ2とする。
【００６９】
また、第２の優先側上限算出部Ｃ＿ＭＨ2は、式（１８）が不成立の場合、第２の優先側上限処理部Ｌ＿ＭＨ2から出力された現制御周期の操作量出力上限値ＭＨ2、全体操作量出力上限値ＭＴ1に基づいて、操作量出力上限値ＭＨ2’を次式のように算出して、この操作量出力上限値ＭＨ2’を第２の優先側上限処理部Ｌ＿ＭＨ2へ出力する。
ＭＨ2’＝［ＭＨ2Ｔｘ2＋ＭＴ1ｄＴ］／（Ｔｘ2＋ｄＴ）          ・・・（２０）
こうして、ステップＳ２１０の処理が終了する。
【００７０】
以上のようにステップＳ２０３〜Ｓ２０６，Ｓ２０７〜Ｓ２１０と同様の処理を繰り返して、第ｍの優先側上限算出部Ｃ＿ＭＨmが第ｍの優先側コントローラＰＩＤmの次制御周期の操作量出力上限値ＭＨm’を算出し終えた後、第ｍの優先側上限処理部Ｌ＿ＭＨmは、第ｍ−１の優先側コントローラＰＩＤm-1から出力された操作量出力ＭＶm-1と第ｍ−１の優先側上限処理部Ｌ＿ＭＨm-1（不図示）から出力された上限値ＭＴm-1に基づいて、第ｍの優先側コントローラＰＩＤmの操作量出力上限値ＭＨmを上限処理するための上限値ＭＴmを次式のように算出する（ステップＳ３００）。
ＭＴm＝ＭＴm-1−ＭＶm-1                                      ・・・（２１）
【００７１】
続いて、第ｍの優先側上限処理部Ｌ＿ＭＨmは、第ｍの優先側コントローラＰＩＤmの操作量出力上限値ＭＨmと上限値ＭＴmとを比較して、操作量出力上限値ＭＨmが上限値ＭＴmより大きい場合は、ＭＨm＝ＭＴm、すなわち上限値ＭＴmを新たな操作量出力上限値ＭＨmとする上限処理を行う（ステップＳ３０１）。
【００７２】
そして、第ｍの優先側上限処理部Ｌ＿ＭＨmは、更新した操作量出力上限値ＭＨmを第ｍの優先側コントローラＰＩＤmと第ｍの優先側上限算出部Ｃ＿ＭＨmへ出力する。なお、操作量出力上限値ＭＨmが上限値ＭＴm以下の場合は、操作量出力上限値ＭＨmを更新する必要はなく、現在の操作量出力上限値ＭＨmをそのまま出力すればよい。
【００７３】
第ｍの優先側コントローラＰＩＤmは、ＰＩＤ演算を実行して操作量出力ＭＶmを算出する（ステップＳ３０２）。ステップＳ３０２において、第ｍの優先側コントローラＰＩＤmは、内部出力値ＵＣmをＰＩＤ演算により次式のように算出する。
【００７４】
ＵＣm＝Ｋｇm｛１＋１／（Ｔｉmｓ）＋Ｔｄmｓ｝（ＳＰm−ＰＶm）  ・・・（２２）
式（２２）において、Ｋｇm、Ｔｉm、ＴｄmはそれぞれコントローラＰＩＤmの比例ゲイン、積分時間、微分時間、ＳＰmはコントローラＰＩＤmの制御対象（不図示）について設定される設定値、ＰＶmはこの制御対象の制御量である。比例ゲインＫｇm、積分時間Ｔｉm、微分時間Ｔｄm及び設定値ＳＰmは予め設定され、制御量ＰＶmは図示しないセンサによって検出される。
【００７５】
続いて、第ｍの優先側コントローラＰＩＤmは、算出した内部出力値ＵＣmと第ｍの優先側上限処理部Ｌ＿ＭＨmから出力された操作量出力上限値ＭＨmとを比較して、内部出力値ＵＣmが操作量出力上限値ＭＨmより大きい場合は、ＭＶm＝ＭＨm、すなわち操作量出力上限値ＭＨmを操作量出力ＭＶmとする上限処理を行い、内部出力値ＵＣmが操作量出力上限値ＭＨm以下の場合は、ＭＶm＝ＵＣm、すなわち内部出力値ＵＣmを操作量出力ＭＶmとする。
【００７６】
そして、第ｍの優先側コントローラＰＩＤmは、算出した操作量出力ＭＶmを図示しない制御対象（実際の出力先はコントローラＰＩＤmに対応するヒータ）と第ｍ−１の優先側上限算出部Ｃ＿ＭＨm-1と非優先側上限算出部Ｃ＿ＭＨnと総操作量値算出部Ｃ＿ＭＴaへ出力すると同時に、内部出力値ＵＣmを第ｍ−１の優先側上限算出部Ｃ＿ＭＨm-1と第ｍの優先側上限算出部Ｃ＿ＭＨmへ出力する。
以上でステップＳ３０２の処理が終了する。
【００７７】
次に、第ｍ−１の優先側上限算出部Ｃ＿ＭＨm-1は、第ｍ−１の優先側コントローラＰＩＤm-1の次制御周期の操作量出力上限値ＭＨm-1’を算出する（ステップＳ３０３）。ステップＳ３０３において、第ｍ−１の優先側上限算出部Ｃ＿ＭＨm-1は、第ｍの優先側コントローラＰＩＤmから出力された内部出力値ＵＣmと操作量出力ＭＶmに基づいて次式が成立するかどうかを判定する。
【００７８】
αm-1（ＵＣm−ＭＶm）＞０                                      ・・・（２３）
αm-1は第ｍの優先側コントローラＰＩＤmに対する第ｍ−１の優先側コントローラＰＩＤm-1の制御の優先度を示す優先度係数であり、０〜１の実数値をとる（０のとき優先度最大、１のとき優先度最小）。
【００７９】
第ｍ−１の優先側上限算出部Ｃ＿ＭＨm-1は、式（２３）が成立する場合、第ｍ−１の優先側上限処理部Ｌ＿ＭＨm-1から出力された現制御周期の操作量出力上限値ＭＨm-1、第ｍ−１の優先側コントローラＰＩＤm-1から出力された内部出力値ＵＣm-1、第ｍの優先側コントローラＰＩＤmから出力された操作量出力ＭＶm及び内部出力値ＵＣmに基づいて、第ｍ−１の優先側コントローラＰＩＤm-1の次制御周期の操作量出力上限値ＭＨm-1’を次式のように算出して、この操作量出力上限値ＭＨm-1’を第ｍ−１の優先側上限処理部Ｌ＿ＭＨm-1へ出力する。
【００８０】
ＭＨm-1’＝［ＭＨm-1Ｔｘm-1＋｛ＵＣm-1−αm-1（ＵＣm−ＭＶm）｝ｄＴ］
／（Ｔｘm-1＋ｄＴ）                                ・・・（２４）
Ｔｘm-1は移行時間であり、例えばＴｘm-1＝Ｔｄm-1とする。
【００８１】
また、第ｍ−１の優先側上限算出部Ｃ＿ＭＨm-1は、式（２３）が不成立の場合、第ｍ−１の優先側上限処理部Ｌ＿ＭＨm-1から出力された現制御周期の操作量出力上限値ＭＨm-1、全体操作量出力上限値ＭＴ1に基づいて、操作量出力上限値ＭＨm-1’を次式のように算出して、この操作量出力上限値ＭＨm-1’を第ｍ−１の優先側上限処理部Ｌ＿ＭＨm-1へ出力する。
ＭＨm-1’＝［ＭＨm-1Ｔｘm-1＋ＭＴ1ｄＴ］／（Ｔｘm-1＋ｄＴ）  ・・・（２５）
こうして、ステップＳ３０３の処理が終了する。
【００８２】
次に、非優先側上限算出部Ｃ＿ＭＨnは、第ｍの優先側コントローラＰＩＤmから出力された操作量出力ＭＶmと第ｍの優先側上限処理部Ｌ＿ＭＨmから出力された上限値ＭＴmに基づいて、非優先側コントローラＰＩＤnの操作量出力ＭＶnの上限を示す操作量出力上限値ＭＨnを次式のように算出して、この操作量出力上限値ＭＨnを非優先側コントローラＰＩＤnへ出力する（ステップＳ３０４）。
ＭＨn＝ＭＴm−ＭＶm                                          ・・・（２６）
【００８３】
非優先側コントローラＰＩＤnは、ＰＩＤ演算を実行して操作量出力ＭＶnを算出する（ステップＳ３０５）。ステップＳ３０５において、非優先側コントローラＰＩＤnは、内部出力値ＵＣnをＰＩＤ演算により次式のように算出する。
【００８４】
ＵＣn＝Ｋｇn｛１＋１／（Ｔｉnｓ）＋Ｔｄnｓ｝（ＳＰn−ＰＶn）  ・・・（２７）
式（２７）において、Ｋｇn、Ｔｉn、ＴｄnはそれぞれコントローラＰＩＤnの比例ゲイン、積分時間、微分時間、ＳＰnはコントローラＰＩＤnの制御対象（不図示）について設定される設定値、ＰＶnはこの制御対象の制御量である。比例ゲインＫｇn、積分時間Ｔｉn、微分時間Ｔｄn及び設定値ＳＰnは予め設定され、制御量ＰＶnは図示しないセンサによって検出される。
【００８５】
続いて、非優先側コントローラＰＩＤnは、算出した内部出力値ＵＣnと非優先側上限算出部Ｃ＿ＭＨnから出力された操作量出力上限値ＭＨnとを比較して、内部出力値ＵＣnが操作量出力上限値ＭＨnより大きい場合は、ＭＶn＝ＭＨn、すなわち操作量出力上限値ＭＨnを操作量出力ＭＶnとする上限処理を行い、内部出力値ＵＣnが操作量出力上限値ＭＨn以下の場合は、ＭＶn＝ＵＣn、すなわち内部出力値ＵＣnを操作量出力ＭＶnとする。
【００８６】
そして、非優先側コントローラＰＩＤnは、算出した操作量出力ＭＶnを図示しない制御対象（実際の出力先はコントローラＰＩＤnに対応するヒータ）と第ｍの優先側上限算出部Ｃ＿ＭＨmと総操作量値算出部Ｃ＿ＭＴaへ出力すると同時に、内部出力値ＵＣnを優先側上限算出部Ｃ＿ＭＨmへ出力する。
以上でステップＳ３０５の処理が終了する。
【００８７】
次に、第ｍの優先側上限算出部Ｃ＿ＭＨmは、第ｍの優先側コントローラＰＩＤmの次制御周期の操作量出力上限値ＭＨm’を算出する（ステップＳ３０６）。ステップＳ３０６において、優先側上限算出部Ｃ＿ＭＨmは、非優先側コントローラＰＩＤnから出力された内部出力値ＵＣnと操作量出力ＭＶnに基づいて次式が成立するかどうかを判定する。
【００８８】
αm（ＵＣn−ＭＶn）＞０                                      ・・・（２８）
αmは非優先側コントローラＰＩＤnに対する第ｍの優先側コントローラＰＩＤmの制御の優先度を示す優先度係数であり、０〜１の実数値をとる（０のとき優先度最大、１のとき優先度最小）。
【００８９】
第ｍの優先側上限算出部Ｃ＿ＭＨmは、式（２８）が成立する場合、第ｍの優先側上限処理部Ｌ＿ＭＨmから出力された現制御周期の操作量出力上限値ＭＨm、第ｍの優先側コントローラＰＩＤmから出力された内部出力値ＵＣm、非優先側コントローラＰＩＤnから出力された操作量出力ＭＶn及び内部出力値ＵＣnに基づいて、優先側コントローラＰＩＤmの次制御周期の操作量出力上限値ＭＨm’を次式のように算出して、この操作量出力上限値ＭＨm’を第ｍの優先側上限処理部Ｌ＿ＭＨmへ出力する。
【００９０】
ＭＨm’＝［ＭＨmＴｘm＋｛ＵＣm−αm（ＵＣn−ＭＶn）｝ｄＴ］／（Ｔｘm＋ｄＴ）
・・・（２９）
Ｔｘmは移行時間であり、例えばＴｘm＝Ｔｄmとする。
【００９１】
また、優先側上限算出部Ｃ＿ＭＨmは、式（２８）が不成立の場合、第ｍの優先側上限処理部Ｌ＿ＭＨmから出力された現制御周期の操作量出力上限値ＭＨm、全体操作量出力上限値ＭＴ1に基づいて、操作量出力上限値ＭＨm’を次式のように算出して、この操作量出力上限値ＭＨm’を優先側上限処理部Ｌ＿ＭＨmへ出力する。
ＭＨm’＝［ＭＨmＴｘm＋ＭＴ1ｄＴ］／（Ｔｘm＋ｄＴ）          ・・・（３０）
こうして、ステップＳ３０６の処理が終了する。
【００９２】
次に、ｎ個の各ヒータには、それぞれ操作量出力ＭＶ1，ＭＶ2，・・・・，ＭＶnに応じた電流が流れる。本実施の形態の総電流値算出部Ｃ＿ＣＴaは、制御装置の図示しないＣＴ値測定部によって測定された、ｎ個の各ヒータに流れる電流値ＣＴ1，ＣＴ2，・・・・，ＣＴnから、その総和である総電流値ＣＴaを次式のように算出する（ステップＳ３０７）。
ＣＴa＝ＣＴ1＋ＣＴ2＋・・・・＋ＣＴn                          ・・・（３１）
【００９３】
一方、総操作量値算出部Ｃ＿ＭＴaは、操作量出力ＭＶ1，ＭＶ2，・・・・，ＭＶnの総和である総操作量値ＭＴaを次式のように算出する（ステップＳ３０８）。
ＭＴa＝ＭＶ1＋ＭＶ2＋・・・・＋ＭＶn                          ・・・（３２）
【００９４】
全体操作量出力上限値算出部Ｃ＿ＭＴ1は、総電流値ＣＴaと総操作量値ＭＴaとから次制御周期の全体操作量出力上限値ＭＴ1を式（９）のように算出する（ステップＳ３０９）。このステップＳ３０９の処理により、全体操作量出力上限値ＭＴ1が修正される。
【００９５】
以上のようなステップＳ２０１〜Ｓ３０９の処理がオペレータ等の指令によって制御が停止するまで（ステップＳ３１０においてＹＥＳ）、制御周期ｄＴごとに繰り返される。
なお、第ｉ（ｉ＝１〜ｍ）の優先側上限処理部Ｌ＿ＭＨiは、ＭＨi＝ＭＨi’、すなわち前制御周期で第ｉの優先側上限算出部Ｃ＿ＭＨiによって算出され出力された操作量出力上限値ＭＨi’を現制御周期の操作量出力上限値ＭＨiとして、ステップＳ２０１，Ｓ２０４，Ｓ２０８，Ｓ３０１の処理を行う。
【００９６】
このように、本実施の形態では、第１の優先側コントローラＰＩＤ1の操作量出力ＭＶ1、第２の優先側コントローラＰＩＤ2の操作量出力ＭＶ2、・・・非優先側コントローラＰＩＤnの出力ＭＶnの総和を、常に全体操作量出力上限値ＭＴ1以下に維持するために、第２の優先側コントローラＰＩＤ2の操作量出力上限値ＭＨ2をＭＴ1−ＭＶ1（ステップＳ２０３）、・・・第３の優先側コントローラＰＩＤ3の操作量出力上限値ＭＨ3をＭＴ1−ＭＶ1−ＭＶ2（ステップＳ２０７）、・・・・非優先側コントローラＰＩＤnの操作量出力上限値ＭＨnをＭＴm−ＭＶmにする（ステップＳ３０４）。
【００９７】
そして、式（１３）が不成立の場合、すなわち第２の優先側コントローラＰＩＤ2の内部出力値ＵＣ2が操作量出力上限値ＭＨ2に対して余裕がある場合（ＵＣ2≦ＭＨ2）、式（１５）を用いて第１の優先側コントローラＰＩＤ1の操作量出力上限値ＭＨ1を増加させて全体操作量出力上限値ＭＴ1に漸近的に接近させる（ステップＳ２０６）。これにより、第１の優先側コントローラＰＩＤ1がより大きな操作量出力ＭＶ1を出力できるようにする。
【００９８】
また、式（１３）が成立する場合、すなわち第２の優先側コントローラＰＩＤ2の内部出力値ＵＣ2が操作量出力上限値ＭＨ2に対して余裕がない場合（ＵＣ2＞ＭＨ2）、式（１４）を用いて第１の優先側コントローラＰＩＤ1の操作量出力上限値ＭＨ1を第２の優先側コントローラＰＩＤ2の出力不足分（ＵＣ2−ＭＶ2）だけ減少する方向に漸近的に接近させる（ステップＳ２０６）。これにより、第１の優先側コントローラＰＩＤ1の操作量出力ＭＶ1を抑えるようにする。
【００９９】
そして、式（１３）が成立して、第１の優先側コントローラＰＩＤ1の操作量出力上限値ＭＨ1を減少させる際、その減少の指標となる第２の優先側コントローラＰＩＤ2の出力不足分（ＵＣ2−ＭＶ2）に対しては優先度係数α1が乗算される。この優先度係数α1の値を調整することにより、第１の優先側コントローラＰＩＤ1を過剰に優先することなく、第２の優先側コントローラＰＩＤ2の制御性も可能な範囲で良好に維持することができる。
【０１００】
以下、同様に、第ｊ＋１（ｊは２〜ｍの整数）の操作量出力上限ＭＨj+1に対して第ｊ＋１のコントローラＰＩＤj+1の操作量出力ＭＶj+1に余裕があるとき、第ｊのコントローラＰＩＤjの操作量出力上限ＭＨjを増加させて全体操作量出力上限値ＭＴ1に漸近的に接近させる。これにより、第ｊのコントローラＰＩＤjがより大きな操作量出力ＭＶjを出力できるようにする。
【０１０１】
また、第ｊ＋１の操作量出力上限ＭＨj+1に対して第ｊ＋１のコントローラＰＩＤj+1の操作量出力ＭＶj+1に余裕がないとき、第ｊのコントローラＰＩＤjの操作量出力上限ＭＨjを第ｊ＋１のコントローラＰＩＤj+1の出力不足分（ＵＣj+1−ＭＶj+1）だけ減少する方向に漸近的に接近させる。これにより、第ｊのコントローラＰＩＤjの操作量出力ＭＶjを抑えるようにする。
【０１０２】
そして、第ｊのコントローラＰＩＤjの操作量出力上限値ＭＨjを減少させる際、その減少の指標となる第ｊ＋１のコントローラＰＩＤj+1の出力不足分（ＵＣj+1−ＭＶj+1）に対しては優先度係数αjが乗算される。この優先度係数αjの値を調整することにより、第ｊのコントローラＰＩＤjを過剰に優先することなく、第ｊ＋１のコントローラＰＩＤj+1の制御性も可能な範囲で良好に維持することができる。なお、最初の制御周期における操作量出力上限値ＭＨ1，ＭＨ2，ＭＨ3・・・，ＭＨmは例えば１００％に設定されている。
【０１０３】
以上のように、本実施の形態では、ｎループの操作量出力ＭＶ1，ＭＶ2・・・・ＭＶnの総和を全体操作量出力上限値ＭＴ1以下に維持し、かつ優先度の高い制御量について良好な制御状態を維持することができる。
また、本実施の形態では、第１の実施の形態と同様に、ｎループの制御系において電流値の総和を制限することができる。
【０１０４】
なお、第１、第２の実施の形態で説明した制御装置は、ＣＰＵ、記憶装置及びインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。ＣＰＵは、記憶装置に格納されたプログラムに従って第１、第２の実施の形態で説明した処理を実行する。
【０１０５】
また、第１、第２の実施の形態では、特許文献１に開示された制御装置への適用例を示したが、これに限るものではない。本発明は、操作量出力の総和が全体操作量出力上限値以下となるように抑制するマルチループ制御系の制御装置であれば、同様に適用可能である。すなわち、各制御ループの操作量出力上限値ＭＨ1，ＭＨ2，ＭＨ3・・・，ＭＨmが特許文献１および第１、第２の実施の形態のように可変である必要はなく、固定値として扱う場合においても適用可能である。
【産業上の利用可能性】
【０１０６】
本発明は、マルチループの温度制御系に適用することができる。
【図面の簡単な説明】
【０１０７】
【図１】本発明の第１の実施の形態に係る制御装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る制御装置を適用する温度制御系の１例を示す図である。
【図３】本発明の第１の実施の形態に係る制御装置の動作を示すフローチャートである。
【図４】本発明の第２の実施の形態に係る制御装置の構成を示すブロック図である。
【図５】本発明の第２の実施の形態に係る制御装置の動作を示すフローチャートである。
【符号の説明】
【０１０８】
Ｃ＿ＣＴa…総電流値算出部、Ｃ＿ＭＴa…総操作量値算出部、Ｃ＿ＭＴ1…全体操作量出力上限値算出部、ＰＩＤ1〜ＰＩＤm、ＰＩＤn…コントローラ、Ｌ＿ＭＨ1〜Ｌ＿ＭＨm…優先側上限処理部、Ｃ＿ＭＨ1〜Ｃ＿ＭＨm、Ｃ＿ＭＨn…上限算出部。
【図１】
0004989455.tif 000002
【図２】
0004989455.tif 000003
【図３】
0004989455.tif 000004
【図４】
0004989455.tif 000005
【図５】
0004989455.tif 000006