(57)【要約】【課題】マルチコアＣＰＵを有するプラント制御装置の演算制御の判断に要する時間を短縮できるプラント制御装置エンジニアリングツールを提供する。【解決手段】マルチコアＣＰＵを有し、ＣＰＵの各コアの演算を管理するスケジューラ５１、５２を備え、各コアの演算リスト５３、５４と分割された制御ロジック１３のブロック間の入出力関係に従い制御ロジック１３のブロックの演算を制御するプラント制御装置５０に対して、制御ロジック１３のブロックを各コアに割り振るコア割り振り機能部１１と、制御ロジック１３のブロック間の入出力関係を抽出する入出力関係抽出部１２を備え、各コアの演算リスト５３、５４と入出力関係を供給する。【選択図】図１
2015184843.tif 000002
【特許請求の範囲】
【請求項１】
ｎコア（ｎは２以上の整数）ＣＰＵ構成を有し、前記ＣＰＵの各コアの演算を管理するスケジューラを備え、前記各コアの演算リストと分割された制御ロジックのブロック間の入出力関係に従い前記制御ロジックのブロックの演算を制御するプラント制御装置に対して、
前記制御ロジックのブロックを前記各コアに割り振るコア割り振り機能部と、前記制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、
前記各コアの前記演算リストと前記入出力関係を供給するプラント制御装置エンジニアリングツール。
【請求項２】
前記コア割り振り機能部は、前記制御ロジックのブロックを前記各コアに順番に割り振る請求項１に記載のプラント制御装置エンジニアリングツール。
【請求項３】
さらに、前記制御ロジックのブロックの演算時間を計算する演算時間計算部を備え、
前記コア割り振り機能部は、前記演算時間計算部により計算した前記制御ロジックのブロックの演算時間と、前記入出力関係とに基づいて、前記各コアの空き時間を短くするように前記制御ロジックのブロックを前記各コアに割り振る請求項１に記載のプラント制御装置エンジニアリングツール。
【請求項４】
さらに、前記制御ロジックのブロックの演算時間を計算する演算時間計算部と、全体の演算時間を計算する合計時間計算部とを備え、
コア割り振り機能部は、全体の演算時間が短くなるように、
前記各コアに順番に割り振るか、
あるいは、前記演算時間計算部により計算した前記制御ロジックのブロックの演算時間と、前記入出力関係とに基づいて、前記各コアの空き時間を短くするように前記制御ロジックのブロックを前記各コアに割り振るかを選択して、
前記制御ロジックのブロックを前記各コアに割り振る請求項１に記載のプラント制御装置エンジニアリングツール。
【請求項５】
前記コアの数がｎ＝２である請求項１から請求項４のいずれか１項に記載のプラント制御装置エンジニアリングツール。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プラントを制御するマルチコアＣＰＵを有するプラント制御装置の演算スケジュールを決定するプラント制御装置エンジニアリングツールに関するものである。
【背景技術】
【０００２】
プラント制御装置の処理速度向上のため、マルチコア化されたＣＰＵを有するプラント制御装置が適用されている。このマルチコア化されたＣＰＵを有するプラント制御装置のスケジューリング方法として、従来は入出力関係のある制御ロジックを全てブロック化し、そのブロックごとに演算に使用するコアを決定していた。
マルチコアの制御に関しては、処理時間を事前に計算し、各タスク間の接続関係を考慮しメモリ確保時間を短くするスケジューラが開示されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２１８８６１号公報（段落［０００８］〜［００１１］、図１、１０）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
マルチコアで演算を実行する際に考慮すべき点は、各演算の入出力関係である。従来の方法では入出力関係のある制御ロジックを全てブロック化し、そのブロックごとに演算するコアを決定していた。このため、制御ロジックが複雑になるとブロックが大きくなり、並列化の利点をうまく引き出せなかった。特に高速処理を要求されるプラント制御装置では、並列化するためのオーバヘッドが大きくなり所定の時間内に制御演算を完了できない可能性があった。
【０００５】
この発明は、上記のような問題を解決するためになされたものであり、シングルコアＣＰＵで演算された場合と同じ演算結果が得られ、プラント制御装置動作時の演算制御の判断に要する時間を短縮することが可能なプラント制御装置エンジニアリングツールを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るプラント制御装置エンジニアリングツールは、ｎコア（ｎは２以上の整数）ＣＰＵ構成を有し、ＣＰＵの各コアの演算を管理するスケジューラを備え、各コアの演算リストと分割された制御ロジックのブロック間の入出力関係に従い制御ロジックのブロックの演算を制御するプラント制御装置に対して、制御ロジックのブロックを各コアに割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、各コアの演算リストと入出力関係を供給するものである。
【発明の効果】
【０００７】
この発明に係るプラント制御装置エンジニアリングツールは、上記のように構成されているため、プラント制御装置動作時の演算制御の判断に要する時間を短縮することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１のプラント制御装置エンジニアリングツールに係る全体構成図である。
【図２】この発明の実施の形態１のプラント制御装置エンジニアリングツールに係る動作説明図である。
【図３】この発明の実施の形態２のプラント制御装置エンジニアリングツールに係る全体構成図である。
【図４】この発明の実施の形態３のプラント制御装置エンジニアリングツールに係る全体構成図である。
【図５】この発明の実施の形態３のプラント制御装置エンジニアリングツールに係る動作説明図である。
【図６】この発明の実施の形態４のプラント制御装置エンジニアリングツールに係る全体構成図である。
【図７】この発明の実施の形態５のプラント制御装置エンジニアリングツールに係る全体構成図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
実施の形態１は、プラント制御装置のＣＰＵ（コア１、コア２）への制御ロジックのブロックを順次割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、コア１、コア２が演算するブロックの演算リストと制御ロジックのブロックの演算制御に必要なブロック間の入出力関係をプラント制御装置に供給するプラント制御装置エンジニアリングツールに関するものである。
【００１０】
以下、本願発明の実施の形態１に係るプラント制御装置エンジニアリングツール１の構成、動作について、プラント制御装置エンジニアリングツール１を含む全体構成図である図１、および動作説明図である図２に基づいて説明する。
【００１１】
図１は、本発明の実施の形態１のプラント制御装置エンジニアリングツール１とプラント制御装置５０から構成されるシステムの全体構成を示す。なお、以降適宜、プラント制御装置エンジニアリングツールをエンジニアリングツールと記載する。
エンジニアリングツール１は、コア割り振り機能部１１と入出力関係抽出部１２とを備え、内部にプラント制御装置５０で実行される制御ロジック１３を有する。
ここで、制御ロジック１３は、シングルコアＣＰＵのプラント制御装置で使用していたものをベースにしている。制御ロジック１３は、プラント制御装置５０が有するマルチコアＣＰＵの処理速度および処理内容などを考慮して、適切な大きさのブロックに分割されている。
【００１２】
コア割り振り機能部１１は、プラント制御装置５０のＣＰＵを構成する各コア（コア１、コア２）に制御ロジック１３を割り振る。また、入出力関係抽出部１２は、制御ロジック１３の各ブロックの入出力関係を抽出する。
なお、実施の形態１では、コア割り振り機能部１１は、プラント制御装置５０のＣＰＵを構成する各コアに制御ロジック１３を順番に割り振ることを想定している。
【００１３】
プラント制御装置５０は、２つのコア（コア１、コア２）を有するＣＰＵ（図示なし）を備える。プラント制御装置５０は、コア１を制御するコア１スケジューラ５１とコア２を制御するコア２スケジューラ５２、および各コアで演算する制御ロジック１３のブロックを決めるコア１演算リスト５３とコア２演算リスト５４とを備える。また、プラント制御装置５０は、制御ロジック１３のブロックの入出力関係が保存されている入出力関係データ５５を備える。
ここで、コア１スケジューラ５１、コア２スケジューラ５２は、本願発明のスケジューラである。コア１演算リスト５３、コア２演算リスト５４は、本願発明の演算リストである。
【００１４】
エンジニアリングツール１のコア割り振り機能部１１は、各コアに割り振った制御ロジック１３の各ブロックの演算リストをプラント制御装置５０に供給する。
コア１演算リスト５３には、コア１で実行される制御ロジック１３のブロックの実行リストが順番に保存されている。コア２演算リスト５４には、コア２で実行される制御ロジック１３のブロックの実行リストが順番に保存されている。
【００１５】
エンジニアリングツール１の入出力関係抽出部１２は、制御ロジック１３の各ブロックの前後関係の内、プラント制御装置５０が各コアで制御ロジック１３のブロックの演算を制御するために必要な情報をプラント制御装置５０に供給する。
入出力関係データ５５には、コア１がコア１演算リスト５３に基づき、またコア２がコア２演算リスト５４に基づき、演算を実行する際必要となる情報が保存されている。
具体的には、入出力関係データ５５には、制御ロジック１３のあるブロックとその１つ前のブロックとの間に入出力関係があるかどうかの情報が保存されている。コア１スケジューラ５１およびコア２スケジューラ５２は、この入出力関係データ５５を参照して、制御ロジック１３の各ブロックの演算制御、すなわち演算開始を判断する。
【００１６】
次に、エンジニアリングツール１およびプラント制御装置５０の動作を説明する。
まず、エンジニアリングツール１の動作を説明する。
エンジニアリングツール１は、分割された制御ロジック１３のデータをコア割り振り機能部１１と入出力関係抽出部１２に出力する。
コア割り振り機能部１１では、分割された制御ロジック１３のブロックを、シングルコア時のプラント制御装置の演算順にコア１、コア２へと交互に割り振り、それぞれのコアで演算する制御ロジック１３のブロックを決定する。
入出力関係抽出部１２では、制御ロジック１３のブロック間に入出力関係あるかどうかを抽出する。
【００１７】
プラント制御装置５０では、エンジニアリングツール１のコア割り振り機能部１１から供給された各コアで演算する制御ロジック１３の各ブロックの演算リストがコア１演算リスト５３とコア２演算リスト５４に保存される。
また、入出力関係抽出部１２から供給された制御ロジック１３のブロック間の入出力関係の情報が、入出力関係データ５５に保存される。具体的には、例えば、制御ロジックのブロックｍに着目すると、自身のコア以外のコア（例えば、コア１であれば、コア２）で実行される直前のブロック（ｍ−１）との入出力関係があるかどうかのデータが保存される。
【００１８】
コア１スケジューラ５１とコア２スケジューラ５２では、各コアの演算を制御する。コア１スケジューラ５１は、コア１演算リスト５３から次に演算すべき制御ロジック１３のブロックのデータを入手する。また、入出力関係データ５５から、次に演算すべき制御ロジック１３のブロックとコア２で演算されている制御ロジック１３のブロックとの入出力関係を取得し、関係があればそのコア２で演算される制御ロジック１３のブロックの演算が終了するまで待つように制御する。
【００１９】
次に具体的な事例である図２を参照して、実施の形態１のエンジニアリングツール１およびプラント制御装置５０の動作を説明する。
図２では、制御ロジック１３はブロック１から５に分割されており、シングルコアＣＰＵでは、ブロック１から５の演算が順次実行されるものとする。
また、制御ロジック１３の各ブロック間の入出力関係は、以下の条件を想定する。ブロック２および３は、ブロック１の演算が完了していなければ、実行できない（すなわち、入出力関係がある）。ブロック２および３の間には、入出力関係はない。ブロック４は、ブロック３の演算が完了していなければ、実行できない（すなわち、入出力関係がある）。ブロック５は、ブロック１からブロック４のいずれとも入出力関係はない。
【００２０】
エンジニアリングツール１のコア割り振り機能部１１は、制御ロジック１３のブロック１から５を、順次、プラント制御装置５０のコア１およびコア２に割り振る。このため、図２（ａ）に示すようにコア１演算リスト５３には、制御ロジック１３のブロック１、３、５の演算リストが順番に保存される。コア２演算リスト５４には、制御ロジック１３のブロック２、４の演算リストが順番に保存される。
【００２１】
入出力関係抽出部１２が抽出した制御ロジック１３のブロック１から５の入出力関係の内、プラント制御装置５０のコア１スケジューラ５１およびコア２スケジューラ５２がコア１、２の演算の制御に必要なデータが入出力関係データ５５に保存される。
【００２２】
入出力関係データ５５に保存される具体的なデータを図２（ａ）に示す。
ブロック１の領域には、最初のブロックであり、演算開始に対して条件はないため、「−」が保存されている。
ブロック２の領域には、コア２で制御ロジック１３のブロック２を演算開始するために、コア１で演算されるブロック１が完了していることが必要であることを示す「１」が保存されている。
ブロック３の領域には、コア１で制御ロジック１３のブロック３が演算開始されるために、自身のコア１で演算されるブロック１が完了していることが条件であるため、「−」が保存されている。
ブロック４の領域には、コア２で制御ロジック１３のブロック４が演算開始されるために、コア１で演算されるブロック３が完了していることが必要であることを示す「３」が保存されている。
ブロック５の領域には、コア１で制御ロジック１３のブロック５が演算開始されるための条件はないため、「−」が保存されている。
【００２３】
プラント制御装置５０のコア１スケジューラ５１およびコア２スケジューラ５２は、コア１演算リスト５３、コア２演算リスト５４、および入出力関係データ５５に保存された情報に基づき、制御ロジック１３のブロック１〜ブロック５の演算を実行する。この演算実行のイメージを図２（ｂ）に示している。
【００２４】
本実施の形態１に係るプラント制御装置エンジニアリングツールでは、制御ロジックのブロックの各コアへの割り振りを順番に行うことを想定して説明した。しかし、この割り振り手順は、順番に割り振ることには限定されない。例えば、入出力関係がある制御ロジックのブロックは、原則として、同じコアで実行するように割り振ることもできる。
このような手順で割り振ることで、各コア間で入出力データの授受を行うオーバヘッドを軽減する効果が期待できる。
【００２５】
以上説明したように、実施の形態１のプラント制御装置エンジニアリングツールは、プラント制御装置のＣＰＵ（コア１、コア２）への制御ロジックのブロックを順次割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、コア１、コア２が演算するブロックの演算リストと制御ロジックのブロックの演算制御に必要なブロック間の入出力関係をプラント制御装置に供給するものである。したがって、プラント制御装置は、ＣＰＵ（コア１、コア２）で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
【００２６】
実施の形態２．
実施の形態１は、２コアＣＰＵを有するプラント制御装置を対象としていたが、実施の形態２のプラント制御装置エンジニアリングツールは、ｎ（ｎは２以上の整数）コアＣＰＵを有するプラント制御装置に対応するものである。
【００２７】
具体的には、実施の形態２は、プラント制御装置のＣＰＵ（コア１〜コアｎ）への制御ロジックのブロックを順次割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、コア１〜コアｎが演算するブロックの演算リストと制御ロジックのブロックの演算制御に必要なブロック間の入出力関係をプラント制御装置に供給するプラント制御装置エンジニアリングツールに関するものである。
【００２８】
以下、実施の形態２のプラント制御装置エンジニアリングツールの構成および動作について、プラント制御装置エンジニアリングツールの全体構成図である図３に基づいて、実施の形態１との差異を中心に説明する。図３において、図１と同一あるいは相当部分には、同一の符号を付している。
【００２９】
図３は、本発明の実施の形態２のプラント制御装置エンジニアリングツール１０１とプラント制御装置１５０から構成されるシステムの全体構成を示す。
エンジニアリングツール１０１は、コア割り振り機能部１１１と入出力関係抽出部１１２を備え、内部にプラント制御装置１５０で実行される制御ロジック１３を有する。
なお、制御ロジック１３は、実施の形態１と同様にシングルコアのプラント制御装置で使用していたものをベースにし、プラント制御装置１５０が有するマルチコアＣＰＵの処理速度および処理内容などを考慮して、適切な大きさのブロックに分割されている。
【００３０】
コア割り振り機能部１１１は、プラント制御装置１５０のＣＰＵを構成する各コアに制御ロジック１３を割り振る。また、入出力関係抽出部１１２は、制御ロジック１３の各ブロックの入出力関係を抽出する。
なお、実施の形態２では、コア割り振り機能部１１１は、プラント制御装置１５０のＣＰＵを構成するｎ台のコアに制御ロジック１３を順番に割り振ることを想定している。
【００３１】
プラント制御装置１５０は、ｎ台のコアを有するＣＰＵ（図示なし）を備える。プラント制御装置１５０は、コア１〜コアｎを制御するコア１〜コアｎスケジューラおよび各コアで演算する制御ロジック１３のブロックを決めるコア１〜コアｎ演算リストとを備える。また、プラント制御装置１５０は、制御ロジック１３のブロックの入出力関係が保存されている入出力関係データ１５５を備える。
なお、コア１〜コアｎスケジューラの全体をコアｎスケジューラ１５１、コア１〜コアｎ演算リストをコアｎ演算リスト１５３と記載する。
ここで、コアｎスケジューラ１５１は本願発明のスケジューラである。コアｎ演算リスト１５３は本願発明の演算リストである。
【００３２】
エンジニアリングツール１０１のコア割り振り機能部１１１は、各コアに割り振った制御ロジック１３の各ブロックの演算リストをプラント制御装置１５０に供給する。
コアｎ演算リスト１５３には、コア１〜コアｎで実行される制御ロジック１３のブロックの実行リストが順番に保存されている。
【００３３】
エンジニアリングツール１０１の入出力関係抽出部１１２は、制御ロジック１３の各ブロックの前後関係の内、プラント制御装置１５０が各コアで制御ロジック１３のブロックの演算を制御するために必要な情報をプラント制御装置１５０に供給する。
入出力関係データ１５５には、コア１〜コアｎがコアｎ演算リスト１５３に基づき、演算を実行する際必要となる情報が保存されている。
コアｎスケジューラ１５１は、この入出力関係データ１５５を参照して、制御ロジック１３の各ブロックの演算制御、すなわち演算開始を判断する。
【００３４】
次に、エンジニアリングツール１０１およびプラント制御装置１５０の動作を説明する。
まず、エンジニアリングツール１０１の動作を説明する。
エンジニアリングツール１０１は、分割された制御ロジック１３のデータをコア割り振り機能部１１１と入出力関係抽出部１１２に出力する。
コア割り振り機能部１１１では、分割された制御ロジック１３のブロックを、シングルコア時のプラント制御装置の演算順にコア１〜コアｎへ順番に割り振り、それぞれのコアで演算する制御ロジック１３のブロックを決定する。
入出力関係抽出部１１２では、制御ロジック１３のブロック間の入出力関係を抽出するが、抽出対象が実施の形態１とは異なり、ある制御ロジック１３のブロック（ｍとする）と、ブロック１から１つ目前のブロック（ｍ−１）までのブロック間で入出力関係がないかどうかを抽出する。
【００３５】
プラント制御装置１５０では、エンジニアリングツール１０１のコア割り振り機能部１１１から供給された各コアで演算する制御ロジック１３の各ブロックの演算リストがコアｎ演算リスト１５３に保存される。
また、入出力関係抽出部１１２から供給された制御ロジック１３のブロック間の入出力関係の内、演算制御に必要なデータが、入出力関係データ１５５に保存される。
【００３６】
コアｎスケジューラ１５１では、コア１〜コアｎの演算を制御する。コアｎスケジューラ１５１は、コアｎ演算リスト１５３から次に演算すべき制御ロジック１３のブロックのデータを取得する。また、入出力関係データ１５５から、次に演算すべき制御ロジック１３のブロックと他のコアで演算されている制御ロジック１３のブロックとの入出力関係を取得し、関係があればその他のコアで演算される制御ロジック１３のブロックの演算が終了するまで待つように制御する。
【００３７】
以上説明したように、実施の形態２のプラント制御装置エンジニアリングツールは、プラント制御装置のＣＰＵ（コア１〜コアｎ）への制御ロジックのブロックを順次割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、コア１〜コアｎが演算するブロックの演算リストと制御ロジックのブロックの演算制御に必要なブロック間の入出力関係をプラント制御装置に供給するものである。したがって、プラント制御装置は、ＣＰＵ（コア１〜コアｎ）で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
【００３８】
実施の形態３．
実施の形態１では、２コアに制御ロジックのブロックを順番に割り振っていたが、実施の形態３のプラント制御装置エンジニアリングツールは、各コアの演算の空き時間を少なくするように割り振るものである。
【００３９】
具体的には、実施の形態３は、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースを備え、コア割り振り機能部はブロックの演算時間とブロック間の入出力関係に基づき、各コアの演算の空き時間を少なくするようにプラント制御装置のＣＰＵ（コア１、コア２）へ制御ロジックのブロックの割り振りを行うプラント制御装置エンジニアリングツールに関するものである。
【００４０】
以下、実施の形態３のプラント制御装置エンジニアリングツールの構成および動作について、プラント制御装置エンジニアリングツールの全体構成図である図４および動作説明図である図５に基づいて、実施の形態１との差異を中心に説明する。図４、図５において、図１、図２と同一あるいは相当部分には、同一の符号を付している。
【００４１】
図４は、本発明の実施の形態３のプラント制御装置エンジニアリングツール２０１とプラント制御装置５０から構成されるシステムの全体構成を示す。
エンジニアリングツール２０１は、コア割り振り機能部２１１と入出力関係抽出部２１２と演算時間計算部２１４と演算時間データベース２１５とを備え、内部にプラント制御装置５０で実行される制御ロジック１３を有する。
【００４２】
実施の形態１に対して追加された演算時間計算部２１４と演算時間データベース２１５について説明する。
演算時間計算部２１４は、制御ロジック１３のブロックを演算する際の演算時間を、制御ロジック１３の各ブロックで使用される要素と数を抽出し、演算時間データベース２１５を参照して計算する。そしてこの演算時間を計算するための基礎データとして、制御ロジック１３の各ブロックに使用される要素とその要素の演算時間が演算時間データベース２１５に保存されている。
【００４３】
入出力関係抽出部２１２は、制御ロジック１３の全ブロックの入出力関係を抽出する。
そして、コア割り振り機能部２１１は、演算時間計算部２１４が計算した制御ロジック１３のブロックの演算時間と、入出力関係抽出部２１２が抽出した全ブロックの入出力関係に基づいて、制御ロジック１３のブロックをコア１、コア２の演算空き時間を短縮するように割り振る。ただし、コア割り振り機能部２１１は、制御ロジック１３のブロックをコア１、コア２への割り振りは順番に行うことを基本とするが、ブロックの演算時間とブロックの入出力関係を考慮した結果、各コアの演算空き時間を短縮することができる場合は、割り振りを変更する。
【００４４】
エンジニアリングツール２０１の入出力関係抽出部２１２は、制御ロジック１３の全ブロックの入出力関係の内、プラント制御装置５０のコア１、コア２で制御ロジック１３のブロックの演算を制御するために必要な情報をプラント制御装置５０に供給する。
入出力関係データ５５には、コア１、コア２がコア１演算リスト５３、コア２演算リスト５４に基づき、演算を実行する際必要となる情報が保存されている。
【００４５】
プラント制御装置５０の動作は、実施の形態１と同じであるため、説明は省略する。
【００４６】
次に具体的な事例である図５を参照して、実施の形態３のエンジニアリングツール２０１およびプラント制御装置５０の動作を説明する。
図５では、実施の形態１と同様に制御ロジック１３はブロック１から５に分割されており、シングルコアＣＰＵでは、ブロック１から５の演算が順次実行されるものとする。
また、制御ロジック１３の各ブロック間の入出力関係は、実施の形態１と同様とする。
【００４７】
エンジニアリングツール２０１のコア割り振り機能部２１１は、制御ロジック１３のブロック１から５を、原則順番にプラント制御装置５０のコア１およびコア２に割り振るが、各コアの演算空き時間を短縮できる場合は順序を変更する。
具体的には、図５（ａ）に示すようにコア１演算リスト５３には、制御ロジック１３のブロック１、２、４の演算リストが順番に保存される。コア２演算リスト５４には、制御ロジック１３のブロック５、３の演算リストが順番に保存される。
これは、ブロック５はブロック１〜４と入出力関係がないため、コア１でブロック１を演算中にコア２でブロック５を演算するように、コア割り振り機能部２１１が割り振った結果である。
【００４８】
入出力関係抽出部２１２が抽出した制御ロジック１３のブロック１から５の入出力関係の内、プラント制御装置５０のコア１スケジューラ５１およびコア２スケジューラ５２がコア１、２の演算の制御に必要なデータが入出力関係データ５５に保存される。
【００４９】
入出力関係データ５５に保存される具体的なデータを図５（ａ）に示す。
ブロック１の領域には、最初のブロックであり、演算開始に対して条件はないため、「−」が保存されている。
ブロック２の領域には、ブロック２はコア１に割り振られたため制御ロジック１３のブロック２を演算開始するための条件（ブロック１が完了している）を必然的に満たすため「−」が保存されている。
ブロック３の領域には、コア２で制御ロジック１３のブロック３が演算開始されるために、コア１で演算されるブロック１が完了していることが条件であるため、「１」が保存されている。
ブロック４の領域には、コア１で制御ロジック１３のブロック４が演算開始されるために、コア２で演算されるブロック３が完了していることが必要であることを示す「３」が保存されている。
ブロック５の領域には、コア２で制御ロジック１３のブロック５が演算開始されるための条件はないため、「−」が保存されている。
【００５０】
プラント制御装置５０のコア１スケジューラ５１およびコア２スケジューラ５２は、コア１演算リスト５３、コア２演算リスト５４、および入出力関係データ５５に保存された情報に基づき、制御ロジック１３のブロック１〜ブロック５の演算を実行する。この演算実行のイメージを図５（ｂ）に示している。
【００５１】
本実施の形態３に係るプラント制御装置エンジニアリングツールでは、演算時間計算部と演算時間データベースとを別の機能部として設けているが、１つの機能部にまとめてもよい。たとえば、演算時間計算部に演算時間データベースを持たせることでエンジニアリングツールの構成を簡素化できる。
【００５２】
以上説明したように、実施の形態３のプラント制御装置エンジニアリングツールは、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースを備え、コア割り振り機能部はブロックの演算時間とブロック間の入出力関係に基づき、各コアの演算の空き時間を少なくするようにプラント制御装置のＣＰＵ（コア１、コア２）へ制御ロジックのブロックの割り振りを行うものである。したがって、プラント制御装置は、ＣＰＵ（コア１、コア２）で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
【００５３】
実施の形態４．
実施の形態３は、２コアＣＰＵを有するプラント制御装置を対象としていたが、実施の形態４のプラント制御装置エンジニアリングツールは、ｎ（ｎは２以上の整数）コアＣＰＵを有するプラント制御装置に対応するものである。
【００５４】
具体的には、実施の形態４は、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースを備え、コア割り振り機能部はブロックの演算時間とブロック間の入出力関係に基づき、各コアの演算の空き時間を少なくするようにプラント制御装置のＣＰＵ（コア１〜コアｎ）へ制御ロジックのブロックの割り振りを行うプラント制御装置エンジニアリングツールに関するものである。
【００５５】
以下、実施の形態４のプラント制御装置エンジニアリングツールの構成および動作について、プラント制御装置エンジニアリングツールの全体構成図である図６に基づいて、実施の形態３との差異を中心に説明する。図６において、図４と同一あるいは相当部分には、同一の符号を付している。
【００５６】
図６は、本発明の実施の形態４のプラント制御装置エンジニアリングツール３０１とプラント制御装置１５０から構成されるシステムの全体構成を示す。
エンジニアリングツール３０１は、コア割り振り機能部３１１と入出力関係抽出部３１２と演算時間計算部３１４と演算時間データベース３１５を備え、内部にプラント制御装置１５０で実行される制御ロジック１３を有する。
【００５７】
入出力関係抽出部３１２は、制御ロジック１３の全ブロックの入出力関係を抽出する。
演算時間計算部３１４は、制御ロジック１３のブロックを演算する際の演算時間を、演算時間データベース３１５を参照して計算する。演算時間データベース３１５には、この演算時間を計算するための基礎データが保存されている。
入出力関係抽出部３１２、演算時間データベース３１５および演算時間データベース３１５の機能、動作は実施の形態３と基本的に同様である。
【００５８】
そして、コア割り振り機能部３１１は、演算時間計算部３１４が計算した制御ロジック１３のブロックの演算時間と、入出力関係抽出部３１２が抽出した全ブロックの入出力関係に基づいて、制御ロジック１３のブロックをＣＰＵ（コア１〜コアｎ）の演算空き時間を短縮するように割り振る。ただし、コア割り振り機能部３１１は、制御ロジック１３のブロックをコア１〜コアｎへの割り振りは順番に行うことを基本とするが、ブロックの演算時間とブロックの入出力関係を考慮した結果、ＣＰＵ（コア１〜コアｎ）の演算空き時間を短縮することができる場合は、割り振りを変更する。
【００５９】
プラント制御装置１５０は、ｎ台のコアを有するＣＰＵ（図示なし）を備える。プラント制御装置１５０は、コア１〜コアｎを制御するコア１〜コアｎスケジューラおよび各コアで演算する制御ロジック１３のブロックを決めるコア１〜コアｎ演算リストを備える。また、プラント制御装置１５０は、制御ロジック１３のブロックの入出力関係が保存されている入出力関係データ１５５を備える。
なお、コア１〜コアｎスケジューラの全体をコアｎスケジューラ１５１、コア１〜コアｎ演算リストをコアｎ演算リスト１５３と記載している。
【００６０】
エンジニアリングツール３０１のコア割り振り機能部３１１は、各コアに割り振った制御ロジック１３の各ブロックの演算リストをプラント制御装置１５０に供給する。
コアｎ演算リスト１５３には、コア１〜コアｎで実行される制御ロジック１３のブロックの実行リストが保存されている。
【００６１】
エンジニアリングツール３０１の入出力関係抽出部３１２は、制御ロジック１３の全ブロックの入出力関係の内、プラント制御装置１５０が各コアで制御ロジック１３のブロックの演算を制御するために必要な情報をプラント制御装置１５０に供給する。
入出力関係データ１５５には、コア１〜コアｎがコアｎ演算リスト１５３に基づき、演算を実行する際必要となる情報が保存されている。
具体的には、入出力関係データ１５５のあるブロック（ｍ）の領域には、このブロックｍが演算を開始するために演算が完了している必要があるブロックの内、他のコアで演算するように割り振られたブロック番号が保存されている。
コアｎスケジューラ１５１は、この入出力関係データ１５５を参照して、制御ロジック１３の各ブロックの演算制御、すなわち演算開始を判断する。
【００６２】
コアｎスケジューラ１５１では、コア１〜コアｎの演算を制御する。コアｎスケジューラ１５１は、コアｎ演算リスト１５３から次に演算すべき制御ロジック１３のブロックのデータを取得する。また、入出力関係データ１５５の次に演算すべき制御ロジック１３のブロックの領域からデータ（ブロック番号）を取得し、他のコアでこれらのブロックの演算が完了しているか確認する。未完了のブロックがあればそのブロックの演算が完了するまで待つように制御する。
【００６３】
以上説明したように、実施の形態４のプラント制御装置エンジニアリングツールは、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースを備え、コア割り振り機能部はブロックの演算時間とブロック間の入出力関係に基づき、各コアの演算の空き時間を少なくするようにプラント制御装置のＣＰＵ（コア１〜コアｎ）へ制御ロジックのブロックの割り振りを行うものである。したがって、プラント制御装置は、ＣＰＵ（コア１〜コアｎ）で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
【００６４】
実施の形態５．
実施の形態５では、実施の形態３のプラント制御装置エンジニアリングツールに、さらに合計時間計算部を追加し、全体の演算時間が短くなるように順次割り振り方法（実施の形態１の方法）あるいは演算の空き時間を少なくする方法（実施の形態３の方法）のいずれかを選択可能としたものである。
【００６５】
具体的には、実施の形態５は、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースと合計時間計算部と割り振り方法判断部とを備え、コア割り振り機能部は合計時間計算部の計算結果に基づき、全体の演算時間が短くなるようにプラント制御装置のＣＰＵ（コア１、コア２）へ制御ロジックのブロックの割り振りを行うプラント制御装置エンジニアリングツールに関するものである。
【００６６】
以下、実施の形態５のプラント制御装置エンジニアリングツールの構成および動作について、プラント制御装置エンジニアリングツールの全体構成図である図７に基づいて、実施の形態１、３との差異を中心に説明する。図７において、図１、図４と同一あるいは相当部分には、同一の符号を付している。
【００６７】
図７は、本発明の実施の形態５のプラント制御装置エンジニアリングツール４０１とプラント制御装置５０から構成されるシステムの全体構成を示す。
エンジニアリングツール４０１は、コア割り振り機能部４１１と入出力関係抽出部４１２と演算時間計算部４１４と演算時間データベース４１５と合計時間計算部４１６と割り振り方法判断部４１７とを備え、内部にプラント制御装置５０で実行される制御ロジック１３を有する。
【００６８】
実施の形態３に対して追加された合計時間計算部４１６と割り振り方法判断部４１７について説明する。
合計時間計算部４１６は、実施の形態１で説明したＣＰＵ（コア１、コア２）に順次割り振る場合と、実施の形態３で説明したＣＰＵ（コア１、コア２）の演算空き時間を短縮するように割り振る場合の全体の演算時間を計算する。
割り振り方法判断部４１７は、合計時間計算部４１６の計算結果を比較し、どちらの割り振り方法が全体の演算時間が短くなるかを判断し、結果をコア割り振り機能部４１１に与える。
【００６９】
入出力関係抽出部４１２は、制御ロジック１３の全ブロックの入出力関係を抽出する。
そして、コア割り振り機能部４１１は、合計時間計算部４１６の計算結果を受けて、ＣＰＵ（コア１、コア２）への割り振り方法を選択する。
順次割り振る方が全体時間を短くできる場合、コア割り振り機能部４１１はＣＰＵ（コア１、コア２）に順次割り振る。
演算空き時間を短縮するように割り振る方が全体時間を短くできる場合、演算時間計算部４１４が計算した制御ロジック１３のブロックの演算時間と、入出力関係抽出部４１２が抽出した全ブロックの入出力関係に基づいて、制御ロジック１３のブロックをコア１、コア２の演算空き時間を短縮するように割り振る。
【００７０】
本実施の形態５に係るプラント制御装置エンジニアリングツールでは、合計時間計算部と割り振り方法判断部とを別の機能部として設けているが、１つの機能部にまとめてもよい。たとえば、合計時間計算部で計算結果を比較し、どちらの割り振り方法が全体の演算時間が短くなるかを判断し、結果をコア割り振り機能部４１１に与えることができる。
【００７１】
以上説明したように、実施の形態５のプラント制御装置エンジニアリングツールは、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースと合計時間計算部を備え、コア割り振り機能部は合計時間計算部の計算結果に基づき、全体の演算時間が短くなるようにプラント制御装置のＣＰＵ（コア１、コア２）へ制御ロジックのブロックの割り振りを行うものである。したがって、プラント制御装置は、ＣＰＵ（コア１、コア２）で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
【００７２】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、実施の形態を適宜、変形、省略したりすることが可能である。
【符号の説明】
【００７３】
１，１０１，２０１，３０１，４０１  プラント制御装置エンジニアリングツール、
１１，１１１，２１１，３１１，４１１  コア割り振り機能部、
１２，１１２，２１２，３１２，４１２  入出力関係抽出部、１３  制御ロジック、
５０，１５０  プラント制御装置、５１  コア１スケジューラ、
５２  コア２スケジューラ、５３  コア１演算リスト、
５４  コア２演算リスト、５５，１５５  入出力関係データ、
１５１  コアｎスケジューラ、１５３  コアｎ演算リスト、
２１４，３１４  演算時間計算部、２１５，３１５  演算時間データベース、
４１６  合計時間計算部、４１７  割り振り方法判断部。
【図１】
2015184843.tif 000003
【図２】
2015184843.tif 000004
【図３】
2015184843.tif 000005
【図４】
2015184843.tif 000006
【図５】
2015184843.tif 000007
【図６】
2015184843.tif 000008
【図７】
2015184843.tif 000009