JP6289197B2 - プラント制御装置エンジニアリングツール - Google Patents

プラント制御装置エンジニアリングツール Download PDF

Info

Publication number
JP6289197B2
JP6289197B2 JP2014059401A JP2014059401A JP6289197B2 JP 6289197 B2 JP6289197 B2 JP 6289197B2 JP 2014059401 A JP2014059401 A JP 2014059401A JP 2014059401 A JP2014059401 A JP 2014059401A JP 6289197 B2 JP6289197 B2 JP 6289197B2
Authority
JP
Japan
Prior art keywords
core
control logic
calculation
block
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014059401A
Other languages
English (en)
Other versions
JP2015184843A (ja
Inventor
真希 廣▲崎▼
真希 廣▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014059401A priority Critical patent/JP6289197B2/ja
Publication of JP2015184843A publication Critical patent/JP2015184843A/ja
Application granted granted Critical
Publication of JP6289197B2 publication Critical patent/JP6289197B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Description

この発明は、プラントを制御するマルチコアCPUを有するプラント制御装置の演算スケジュールを決定するプラント制御装置エンジニアリングツールに関するものである。
プラント制御装置の処理速度向上のため、マルチコア化されたCPUを有するプラント制御装置が適用されている。このマルチコア化されたCPUを有するプラント制御装置のスケジューリング方法として、従来は入出力関係のある制御ロジックを全てブロック化し、そのブロックごとに演算に使用するコアを決定していた。
マルチコアの制御に関しては、処理時間を事前に計算し、各タスク間の接続関係を考慮しメモリ確保時間を短くするスケジューラが開示されている(例えば、特許文献1)。
特開平9−218861号公報(段落[0008]〜[0011]、図1、10)
マルチコアで演算を実行する際に考慮すべき点は、各演算の入出力関係である。従来の方法では入出力関係のある制御ロジックを全てブロック化し、そのブロックごとに演算するコアを決定していた。このため、制御ロジックが複雑になるとブロックが大きくなり、並列化の利点をうまく引き出せなかった。特に高速処理を要求されるプラント制御装置では、並列化するためのオーバヘッドが大きくなり所定の時間内に制御演算を完了できない可能性があった。
この発明は、上記のような問題を解決するためになされたものであり、シングルコアCPUで演算された場合と同じ演算結果が得られ、プラント制御装置動作時の演算制御の判断に要する時間を短縮することが可能なプラント制御装置エンジニアリングツールを提供することを目的とする。
この発明に係るプラント制御装置エンジニアリングツールは、nコア(nは2以上の整数)CPU構成を有し、CPUの各コアの演算を管理するスケジューラを備え、各コアの演算リストと分割された制御ロジックを複数のブロックに分割した際のブロックの演算を順次実行する順序の制約である入出力関係に従い制御ロジックのブロックの演算を制御するプラント制御装置に対して、制御ロジックのブロックを各コアに割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、各コアの演算リストと入出力関係を供給するものである。
この発明に係るプラント制御装置エンジニアリングツールは、上記のように構成されているため、プラント制御装置動作時の演算制御の判断に要する時間を短縮することができる。
この発明の実施の形態1のプラント制御装置エンジニアリングツールに係る全体構成図である。 この発明の実施の形態1のプラント制御装置エンジニアリングツールに係る動作説明図である。 この発明の実施の形態2のプラント制御装置エンジニアリングツールに係る全体構成図である。 この発明の実施の形態3のプラント制御装置エンジニアリングツールに係る全体構成図である。 この発明の実施の形態3のプラント制御装置エンジニアリングツールに係る動作説明図である。 この発明の実施の形態4のプラント制御装置エンジニアリングツールに係る全体構成図である。 この発明の実施の形態5のプラント制御装置エンジニアリングツールに係る全体構成図である。
実施の形態1.
実施の形態1は、プラント制御装置のCPU(コア1、コア2)への制御ロジックのブロックを順次割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、コア1、コア2が演算するブロックの演算リストと制御ロジックのブロックの演算制御に必要なブロック間の入出力関係をプラント制御装置に供給するプラント制御装置エンジニアリングツールに関するものである。
以下、本願発明の実施の形態1に係るプラント制御装置エンジニアリングツール1の構成、動作について、プラント制御装置エンジニアリングツール1を含む全体構成図である図1、および動作説明図である図2に基づいて説明する。
図1は、本発明の実施の形態1のプラント制御装置エンジニアリングツール1とプラント制御装置50から構成されるシステムの全体構成を示す。なお、以降適宜、プラント制御装置エンジニアリングツールをエンジニアリングツールと記載する。
エンジニアリングツール1は、コア割り振り機能部11と入出力関係抽出部12とを備え、内部にプラント制御装置50で実行される制御ロジック13を有する。
ここで、制御ロジック13は、シングルコアCPUのプラント制御装置で使用していたものをベースにしている。制御ロジック13は、プラント制御装置50が有するマルチコアCPUの処理速度および処理内容などを考慮して、適切な大きさのブロックに分割されている。
コア割り振り機能部11は、プラント制御装置50のCPUを構成する各コア(コア1、コア2)に制御ロジック13を割り振る。また、入出力関係抽出部12は、制御ロジック13の各ブロックの入出力関係を抽出する。
なお、実施の形態1では、コア割り振り機能部11は、プラント制御装置50のCPUを構成する各コアに制御ロジック13を順番に割り振ることを想定している。
プラント制御装置50は、2つのコア(コア1、コア2)を有するCPU(図示なし)を備える。プラント制御装置50は、コア1を制御するコア1スケジューラ51とコア2を制御するコア2スケジューラ52、および各コアで演算する制御ロジック13のブロックを決めるコア1演算リスト53とコア2演算リスト54とを備える。また、プラント制御装置50は、制御ロジック13のブロックの入出力関係が保存されている入出力関係データ55を備える。
ここで、コア1スケジューラ51、コア2スケジューラ52は、本願発明のスケジューラである。コア1演算リスト53、コア2演算リスト54は、本願発明の演算リストである。
エンジニアリングツール1のコア割り振り機能部11は、各コアに割り振った制御ロジック13の各ブロックの演算リストをプラント制御装置50に供給する。
コア1演算リスト53には、コア1で実行される制御ロジック13のブロックの実行リストが順番に保存されている。コア2演算リスト54には、コア2で実行される制御ロジック13のブロックの実行リストが順番に保存されている。
エンジニアリングツール1の入出力関係抽出部12は、制御ロジック13の各ブロックの前後関係の内、プラント制御装置50が各コアで制御ロジック13のブロックの演算を制御するために必要な情報をプラント制御装置50に供給する。
入出力関係データ55には、コア1がコア1演算リスト53に基づき、またコア2がコア2演算リスト54に基づき、演算を実行する際必要となる情報が保存されている。
具体的には、入出力関係データ55には、制御ロジック13のあるブロックとその1つ前のブロックとの間に入出力関係があるかどうかの情報が保存されている。コア1スケジューラ51およびコア2スケジューラ52は、この入出力関係データ55を参照して、制御ロジック13の各ブロックの演算制御、すなわち演算開始を判断する。
次に、エンジニアリングツール1およびプラント制御装置50の動作を説明する。
まず、エンジニアリングツール1の動作を説明する。
エンジニアリングツール1は、分割された制御ロジック13のデータをコア割り振り機能部11と入出力関係抽出部12に出力する。
コア割り振り機能部11では、分割された制御ロジック13のブロックを、シングルコア時のプラント制御装置の演算順にコア1、コア2へと交互に割り振り、それぞれのコアで演算する制御ロジック13のブロックを決定する。
入出力関係抽出部12では、制御ロジック13のブロック間に入出力関係あるかどうかを抽出する。
プラント制御装置50では、エンジニアリングツール1のコア割り振り機能部11から供給された各コアで演算する制御ロジック13の各ブロックの演算リストがコア1演算リスト53とコア2演算リスト54に保存される。
また、入出力関係抽出部12から供給された制御ロジック13のブロック間の入出力関係の情報が、入出力関係データ55に保存される。具体的には、例えば、制御ロジックのブロックmに着目すると、自身のコア以外のコア(例えば、コア1であれば、コア2)で実行される直前のブロック(m−1)との入出力関係があるかどうかのデータが保存される。
コア1スケジューラ51とコア2スケジューラ52では、各コアの演算を制御する。コア1スケジューラ51は、コア1演算リスト53から次に演算すべき制御ロジック13のブロックのデータを入手する。また、入出力関係データ55から、次に演算すべき制御ロジック13のブロックとコア2で演算されている制御ロジック13のブロックとの入出力関係を取得し、関係があればそのコア2で演算される制御ロジック13のブロックの演算が終了するまで待つように制御する。
次に具体的な事例である図2を参照して、実施の形態1のエンジニアリングツール1およびプラント制御装置50の動作を説明する。
図2では、制御ロジック13はブロック1から5に分割されており、シングルコアCPUでは、ブロック1から5の演算が順次実行されるものとする。
また、制御ロジック13の各ブロック間の入出力関係は、以下の条件を想定する。ブロック2および3は、ブロック1の演算が完了していなければ、実行できない(すなわち、入出力関係がある)。ブロック2および3の間には、入出力関係はない。ブロック4は、ブロック3の演算が完了していなければ、実行できない(すなわち、入出力関係がある)。ブロック5は、ブロック1からブロック4のいずれとも入出力関係はない。
エンジニアリングツール1のコア割り振り機能部11は、制御ロジック13のブロック1から5を、順次、プラント制御装置50のコア1およびコア2に割り振る。このため、図2(a)に示すようにコア1演算リスト53には、制御ロジック13のブロック1、3、5の演算リストが順番に保存される。コア2演算リスト54には、制御ロジック13のブロック2、4の演算リストが順番に保存される。
入出力関係抽出部12が抽出した制御ロジック13のブロック1から5の入出力関係の内、プラント制御装置50のコア1スケジューラ51およびコア2スケジューラ52がコア1、2の演算の制御に必要なデータが入出力関係データ55に保存される。
入出力関係データ55に保存される具体的なデータを図2(a)に示す。
ブロック1の領域には、最初のブロックであり、演算開始に対して条件はないため、「−」が保存されている。
ブロック2の領域には、コア2で制御ロジック13のブロック2を演算開始するために、コア1で演算されるブロック1が完了していることが必要であることを示す「1」が保存されている。
ブロック3の領域には、コア1で制御ロジック13のブロック3が演算開始されるために、自身のコア1で演算されるブロック1が完了していることが条件であるため、「−」が保存されている。
ブロック4の領域には、コア2で制御ロジック13のブロック4が演算開始されるために、コア1で演算されるブロック3が完了していることが必要であることを示す「3」が保存されている。
ブロック5の領域には、コア1で制御ロジック13のブロック5が演算開始されるための条件はないため、「−」が保存されている。
プラント制御装置50のコア1スケジューラ51およびコア2スケジューラ52は、コア1演算リスト53、コア2演算リスト54、および入出力関係データ55に保存された情報に基づき、制御ロジック13のブロック1〜ブロック5の演算を実行する。この演算実行のイメージを図2(b)に示している。
本実施の形態1に係るプラント制御装置エンジニアリングツールでは、制御ロジックのブロックの各コアへの割り振りを順番に行うことを想定して説明した。しかし、この割り振り手順は、順番に割り振ることには限定されない。例えば、入出力関係がある制御ロジックのブロックは、原則として、同じコアで実行するように割り振ることもできる。
このような手順で割り振ることで、各コア間で入出力データの授受を行うオーバヘッドを軽減する効果が期待できる。
以上説明したように、実施の形態1のプラント制御装置エンジニアリングツールは、プラント制御装置のCPU(コア1、コア2)への制御ロジックのブロックを順次割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、コア1、コア2が演算するブロックの演算リストと制御ロジックのブロックの演算制御に必要なブロック間の入出力関係をプラント制御装置に供給するものである。したがって、プラント制御装置は、CPU(コア1、コア2)で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
実施の形態2.
実施の形態1は、2コアCPUを有するプラント制御装置を対象としていたが、実施の形態2のプラント制御装置エンジニアリングツールは、n(nは2以上の整数)コアCPUを有するプラント制御装置に対応するものである。
具体的には、実施の形態2は、プラント制御装置のCPU(コア1〜コアn)への制御ロジックのブロックを順次割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、コア1〜コアnが演算するブロックの演算リストと制御ロジックのブロックの演算制御に必要なブロック間の入出力関係をプラント制御装置に供給するプラント制御装置エンジニアリングツールに関するものである。
以下、実施の形態2のプラント制御装置エンジニアリングツールの構成および動作について、プラント制御装置エンジニアリングツールの全体構成図である図3に基づいて、実施の形態1との差異を中心に説明する。図3において、図1と同一あるいは相当部分には、同一の符号を付している。
図3は、本発明の実施の形態2のプラント制御装置エンジニアリングツール101とプラント制御装置150から構成されるシステムの全体構成を示す。
エンジニアリングツール101は、コア割り振り機能部111と入出力関係抽出部112を備え、内部にプラント制御装置150で実行される制御ロジック13を有する。
なお、制御ロジック13は、実施の形態1と同様にシングルコアのプラント制御装置で使用していたものをベースにし、プラント制御装置150が有するマルチコアCPUの処理速度および処理内容などを考慮して、適切な大きさのブロックに分割されている。
コア割り振り機能部111は、プラント制御装置150のCPUを構成する各コアに制御ロジック13を割り振る。また、入出力関係抽出部112は、制御ロジック13の各ブロックの入出力関係を抽出する。
なお、実施の形態2では、コア割り振り機能部111は、プラント制御装置150のCPUを構成するn台のコアに制御ロジック13を順番に割り振ることを想定している。
プラント制御装置150は、n台のコアを有するCPU(図示なし)を備える。プラント制御装置150は、コア1〜コアnを制御するコア1〜コアnスケジューラおよび各コアで演算する制御ロジック13のブロックを決めるコア1〜コアn演算リストとを備える。また、プラント制御装置150は、制御ロジック13のブロックの入出力関係が保存されている入出力関係データ155を備える。
なお、コア1〜コアnスケジューラの全体をコアnスケジューラ151、コア1〜コアn演算リストをコアn演算リスト153と記載する。
ここで、コアnスケジューラ151は本願発明のスケジューラである。コアn演算リスト153は本願発明の演算リストである。
エンジニアリングツール101のコア割り振り機能部111は、各コアに割り振った制御ロジック13の各ブロックの演算リストをプラント制御装置150に供給する。
コアn演算リスト153には、コア1〜コアnで実行される制御ロジック13のブロックの実行リストが順番に保存されている。
エンジニアリングツール101の入出力関係抽出部112は、制御ロジック13の各ブロックの前後関係の内、プラント制御装置150が各コアで制御ロジック13のブロックの演算を制御するために必要な情報をプラント制御装置150に供給する。
入出力関係データ155には、コア1〜コアnがコアn演算リスト153に基づき、演算を実行する際必要となる情報が保存されている。
コアnスケジューラ151は、この入出力関係データ155を参照して、制御ロジック13の各ブロックの演算制御、すなわち演算開始を判断する。
次に、エンジニアリングツール101およびプラント制御装置150の動作を説明する。
まず、エンジニアリングツール101の動作を説明する。
エンジニアリングツール101は、分割された制御ロジック13のデータをコア割り振り機能部111と入出力関係抽出部112に出力する。
コア割り振り機能部111では、分割された制御ロジック13のブロックを、シングルコア時のプラント制御装置の演算順にコア1〜コアnへ順番に割り振り、それぞれのコアで演算する制御ロジック13のブロックを決定する。
入出力関係抽出部112では、制御ロジック13のブロック間の入出力関係を抽出するが、抽出対象が実施の形態1とは異なり、ある制御ロジック13のブロック(mとする)と、ブロック1から1つ目前のブロック(m−1)までのブロック間で入出力関係がないかどうかを抽出する。
プラント制御装置150では、エンジニアリングツール101のコア割り振り機能部111から供給された各コアで演算する制御ロジック13の各ブロックの演算リストがコアn演算リスト153に保存される。
また、入出力関係抽出部112から供給された制御ロジック13のブロック間の入出力関係の内、演算制御に必要なデータが、入出力関係データ155に保存される。
コアnスケジューラ151では、コア1〜コアnの演算を制御する。コアnスケジューラ151は、コアn演算リスト153から次に演算すべき制御ロジック13のブロックのデータを取得する。また、入出力関係データ155から、次に演算すべき制御ロジック13のブロックと他のコアで演算されている制御ロジック13のブロックとの入出力関係を取得し、関係があればその他のコアで演算される制御ロジック13のブロックの演算が終了するまで待つように制御する。
以上説明したように、実施の形態2のプラント制御装置エンジニアリングツールは、プラント制御装置のCPU(コア1〜コアn)への制御ロジックのブロックを順次割り振るコア割り振り機能部と、制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、コア1〜コアnが演算するブロックの演算リストと制御ロジックのブロックの演算制御に必要なブロック間の入出力関係をプラント制御装置に供給するものである。したがって、プラント制御装置は、CPU(コア1〜コアn)で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
実施の形態3.
実施の形態1では、2コアに制御ロジックのブロックを順番に割り振っていたが、実施の形態3のプラント制御装置エンジニアリングツールは、各コアの演算の空き時間を少なくするように割り振るものである。
具体的には、実施の形態3は、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースを備え、コア割り振り機能部はブロックの演算時間とブロック間の入出力関係に基づき、各コアの演算の空き時間を少なくするようにプラント制御装置のCPU(コア1、コア2)へ制御ロジックのブロックの割り振りを行うプラント制御装置エンジニアリングツールに関するものである。
以下、実施の形態3のプラント制御装置エンジニアリングツールの構成および動作について、プラント制御装置エンジニアリングツールの全体構成図である図4および動作説明図である図5に基づいて、実施の形態1との差異を中心に説明する。図4、図5において、図1、図2と同一あるいは相当部分には、同一の符号を付している。
図4は、本発明の実施の形態3のプラント制御装置エンジニアリングツール201とプラント制御装置50から構成されるシステムの全体構成を示す。
エンジニアリングツール201は、コア割り振り機能部211と入出力関係抽出部212と演算時間計算部214と演算時間データベース215とを備え、内部にプラント制御装置50で実行される制御ロジック13を有する。
実施の形態1に対して追加された演算時間計算部214と演算時間データベース215について説明する。
演算時間計算部214は、制御ロジック13のブロックを演算する際の演算時間を、制御ロジック13の各ブロックで使用される要素と数を抽出し、演算時間データベース215を参照して計算する。そしてこの演算時間を計算するための基礎データとして、制御ロジック13の各ブロックに使用される要素とその要素の演算時間が演算時間データベース215に保存されている。
入出力関係抽出部212は、制御ロジック13の全ブロックの入出力関係を抽出する。
そして、コア割り振り機能部211は、演算時間計算部214が計算した制御ロジック13のブロックの演算時間と、入出力関係抽出部212が抽出した全ブロックの入出力関係に基づいて、制御ロジック13のブロックをコア1、コア2の演算空き時間を短縮するように割り振る。ただし、コア割り振り機能部211は、制御ロジック13のブロックをコア1、コア2への割り振りは順番に行うことを基本とするが、ブロックの演算時間とブロックの入出力関係を考慮した結果、各コアの演算空き時間を短縮することができる場合は、割り振りを変更する。
エンジニアリングツール201の入出力関係抽出部212は、制御ロジック13の全ブロックの入出力関係の内、プラント制御装置50のコア1、コア2で制御ロジック13のブロックの演算を制御するために必要な情報をプラント制御装置50に供給する。
入出力関係データ55には、コア1、コア2がコア1演算リスト53、コア2演算リスト54に基づき、演算を実行する際必要となる情報が保存されている。
プラント制御装置50の動作は、実施の形態1と同じであるため、説明は省略する。
次に具体的な事例である図5を参照して、実施の形態3のエンジニアリングツール201およびプラント制御装置50の動作を説明する。
図5では、実施の形態1と同様に制御ロジック13はブロック1から5に分割されており、シングルコアCPUでは、ブロック1から5の演算が順次実行されるものとする。
また、制御ロジック13の各ブロック間の入出力関係は、実施の形態1と同様とする。
エンジニアリングツール201のコア割り振り機能部211は、制御ロジック13のブロック1から5を、原則順番にプラント制御装置50のコア1およびコア2に割り振るが、各コアの演算空き時間を短縮できる場合は順序を変更する。
具体的には、図5(a)に示すようにコア1演算リスト53には、制御ロジック13のブロック1、2、4の演算リストが順番に保存される。コア2演算リスト54には、制御ロジック13のブロック5、3の演算リストが順番に保存される。
これは、ブロック5はブロック1〜4と入出力関係がないため、コア1でブロック1を演算中にコア2でブロック5を演算するように、コア割り振り機能部211が割り振った結果である。
入出力関係抽出部212が抽出した制御ロジック13のブロック1から5の入出力関係の内、プラント制御装置50のコア1スケジューラ51およびコア2スケジューラ52がコア1、2の演算の制御に必要なデータが入出力関係データ55に保存される。
入出力関係データ55に保存される具体的なデータを図5(a)に示す。
ブロック1の領域には、最初のブロックであり、演算開始に対して条件はないため、「−」が保存されている。
ブロック2の領域には、ブロック2はコア1に割り振られたため制御ロジック13のブロック2を演算開始するための条件(ブロック1が完了している)を必然的に満たすため「−」が保存されている。
ブロック3の領域には、コア2で制御ロジック13のブロック3が演算開始されるために、コア1で演算されるブロック1が完了していることが条件であるため、「1」が保存されている。
ブロック4の領域には、コア1で制御ロジック13のブロック4が演算開始されるために、コア2で演算されるブロック3が完了していることが必要であることを示す「3」が保存されている。
ブロック5の領域には、コア2で制御ロジック13のブロック5が演算開始されるための条件はないため、「−」が保存されている。
プラント制御装置50のコア1スケジューラ51およびコア2スケジューラ52は、コア1演算リスト53、コア2演算リスト54、および入出力関係データ55に保存された情報に基づき、制御ロジック13のブロック1〜ブロック5の演算を実行する。この演算実行のイメージを図5(b)に示している。
本実施の形態3に係るプラント制御装置エンジニアリングツールでは、演算時間計算部と演算時間データベースとを別の機能部として設けているが、1つの機能部にまとめてもよい。たとえば、演算時間計算部に演算時間データベースを持たせることでエンジニアリングツールの構成を簡素化できる。
以上説明したように、実施の形態3のプラント制御装置エンジニアリングツールは、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースを備え、コア割り振り機能部はブロックの演算時間とブロック間の入出力関係に基づき、各コアの演算の空き時間を少なくするようにプラント制御装置のCPU(コア1、コア2)へ制御ロジックのブロックの割り振りを行うものである。したがって、プラント制御装置は、CPU(コア1、コア2)で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
実施の形態4.
実施の形態3は、2コアCPUを有するプラント制御装置を対象としていたが、実施の形態4のプラント制御装置エンジニアリングツールは、n(nは2以上の整数)コアCPUを有するプラント制御装置に対応するものである。
具体的には、実施の形態4は、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースを備え、コア割り振り機能部はブロックの演算時間とブロック間の入出力関係に基づき、各コアの演算の空き時間を少なくするようにプラント制御装置のCPU(コア1〜コアn)へ制御ロジックのブロックの割り振りを行うプラント制御装置エンジニアリングツールに関するものである。
以下、実施の形態4のプラント制御装置エンジニアリングツールの構成および動作について、プラント制御装置エンジニアリングツールの全体構成図である図6に基づいて、実施の形態3との差異を中心に説明する。図6において、図4と同一あるいは相当部分には、同一の符号を付している。
図6は、本発明の実施の形態4のプラント制御装置エンジニアリングツール301とプラント制御装置150から構成されるシステムの全体構成を示す。
エンジニアリングツール301は、コア割り振り機能部311と入出力関係抽出部312と演算時間計算部314と演算時間データベース315を備え、内部にプラント制御装置150で実行される制御ロジック13を有する。
入出力関係抽出部312は、制御ロジック13の全ブロックの入出力関係を抽出する。
演算時間計算部314は、制御ロジック13のブロックを演算する際の演算時間を、演算時間データベース315を参照して計算する。演算時間データベース315には、この演算時間を計算するための基礎データが保存されている。
入出力関係抽出部312、演算時間データベース315および演算時間データベース315の機能、動作は実施の形態3と基本的に同様である。
そして、コア割り振り機能部311は、演算時間計算部314が計算した制御ロジック13のブロックの演算時間と、入出力関係抽出部312が抽出した全ブロックの入出力関係に基づいて、制御ロジック13のブロックをCPU(コア1〜コアn)の演算空き時間を短縮するように割り振る。ただし、コア割り振り機能部311は、制御ロジック13のブロックをコア1〜コアnへの割り振りは順番に行うことを基本とするが、ブロックの演算時間とブロックの入出力関係を考慮した結果、CPU(コア1〜コアn)の演算空き時間を短縮することができる場合は、割り振りを変更する。
プラント制御装置150は、n台のコアを有するCPU(図示なし)を備える。プラント制御装置150は、コア1〜コアnを制御するコア1〜コアnスケジューラおよび各コアで演算する制御ロジック13のブロックを決めるコア1〜コアn演算リストを備える。また、プラント制御装置150は、制御ロジック13のブロックの入出力関係が保存されている入出力関係データ155を備える。
なお、コア1〜コアnスケジューラの全体をコアnスケジューラ151、コア1〜コアn演算リストをコアn演算リスト153と記載している。
エンジニアリングツール301のコア割り振り機能部311は、各コアに割り振った制御ロジック13の各ブロックの演算リストをプラント制御装置150に供給する。
コアn演算リスト153には、コア1〜コアnで実行される制御ロジック13のブロックの実行リストが保存されている。
エンジニアリングツール301の入出力関係抽出部312は、制御ロジック13の全ブロックの入出力関係の内、プラント制御装置150が各コアで制御ロジック13のブロックの演算を制御するために必要な情報をプラント制御装置150に供給する。
入出力関係データ155には、コア1〜コアnがコアn演算リスト153に基づき、演算を実行する際必要となる情報が保存されている。
具体的には、入出力関係データ155のあるブロック(m)の領域には、このブロックmが演算を開始するために演算が完了している必要があるブロックの内、他のコアで演算するように割り振られたブロック番号が保存されている。
コアnスケジューラ151は、この入出力関係データ155を参照して、制御ロジック13の各ブロックの演算制御、すなわち演算開始を判断する。
コアnスケジューラ151では、コア1〜コアnの演算を制御する。コアnスケジューラ151は、コアn演算リスト153から次に演算すべき制御ロジック13のブロックのデータを取得する。また、入出力関係データ155の次に演算すべき制御ロジック13のブロックの領域からデータ(ブロック番号)を取得し、他のコアでこれらのブロックの演算が完了しているか確認する。未完了のブロックがあればそのブロックの演算が完了するまで待つように制御する。
以上説明したように、実施の形態4のプラント制御装置エンジニアリングツールは、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースを備え、コア割り振り機能部はブロックの演算時間とブロック間の入出力関係に基づき、各コアの演算の空き時間を少なくするようにプラント制御装置のCPU(コア1〜コアn)へ制御ロジックのブロックの割り振りを行うものである。したがって、プラント制御装置は、CPU(コア1〜コアn)で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
実施の形態5.
実施の形態5では、実施の形態3のプラント制御装置エンジニアリングツールに、さらに合計時間計算部を追加し、全体の演算時間が短くなるように順次割り振り方法(実施の形態1の方法)あるいは演算の空き時間を少なくする方法(実施の形態3の方法)のいずれかを選択可能としたものである。
具体的には、実施の形態5は、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースと合計時間計算部と割り振り方法判断部とを備え、コア割り振り機能部は合計時間計算部の計算結果に基づき、全体の演算時間が短くなるようにプラント制御装置のCPU(コア1、コア2)へ制御ロジックのブロックの割り振りを行うプラント制御装置エンジニアリングツールに関するものである。
以下、実施の形態5のプラント制御装置エンジニアリングツールの構成および動作について、プラント制御装置エンジニアリングツールの全体構成図である図7に基づいて、実施の形態1、3との差異を中心に説明する。図7において、図1、図4と同一あるいは相当部分には、同一の符号を付している。
図7は、本発明の実施の形態5のプラント制御装置エンジニアリングツール401とプラント制御装置50から構成されるシステムの全体構成を示す。
エンジニアリングツール401は、コア割り振り機能部411と入出力関係抽出部412と演算時間計算部414と演算時間データベース415と合計時間計算部416と割り振り方法判断部417とを備え、内部にプラント制御装置50で実行される制御ロジック13を有する。
実施の形態3に対して追加された合計時間計算部416と割り振り方法判断部417について説明する。
合計時間計算部416は、実施の形態1で説明したCPU(コア1、コア2)に順次割り振る場合と、実施の形態3で説明したCPU(コア1、コア2)の演算空き時間を短縮するように割り振る場合の全体の演算時間を計算する。
割り振り方法判断部417は、合計時間計算部416の計算結果を比較し、どちらの割り振り方法が全体の演算時間が短くなるかを判断し、結果をコア割り振り機能部411に与える。
入出力関係抽出部412は、制御ロジック13の全ブロックの入出力関係を抽出する。
そして、コア割り振り機能部411は、合計時間計算部416の計算結果を受けて、CPU(コア1、コア2)への割り振り方法を選択する。
順次割り振る方が全体時間を短くできる場合、コア割り振り機能部411はCPU(コア1、コア2)に順次割り振る。
演算空き時間を短縮するように割り振る方が全体時間を短くできる場合、演算時間計算部414が計算した制御ロジック13のブロックの演算時間と、入出力関係抽出部412が抽出した全ブロックの入出力関係に基づいて、制御ロジック13のブロックをコア1、コア2の演算空き時間を短縮するように割り振る。
本実施の形態5に係るプラント制御装置エンジニアリングツールでは、合計時間計算部と割り振り方法判断部とを別の機能部として設けているが、1つの機能部にまとめてもよい。たとえば、合計時間計算部で計算結果を比較し、どちらの割り振り方法が全体の演算時間が短くなるかを判断し、結果をコア割り振り機能部411に与えることができる。
以上説明したように、実施の形態5のプラント制御装置エンジニアリングツールは、コア割り振り機能部と入出力関係抽出部と演算時間計算部と演算時間データベースと合計時間計算部を備え、コア割り振り機能部は合計時間計算部の計算結果に基づき、全体の演算時間が短くなるようにプラント制御装置のCPU(コア1、コア2)へ制御ロジックのブロックの割り振りを行うものである。したがって、プラント制御装置は、CPU(コア1、コア2)で制御ロジックを実行する時、演算制御の判断に要する時間を短縮することができる。
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、実施の形態を適宜、変形、省略したりすることが可能である。
1,101,201,301,401 プラント制御装置エンジニアリングツール、
11,111,211,311,411 コア割り振り機能部、
12,112,212,312,412 入出力関係抽出部、13 制御ロジック、
50,150 プラント制御装置、51 コア1スケジューラ、
52 コア2スケジューラ、53 コア1演算リスト、
54 コア2演算リスト、55,155 入出力関係データ、
151 コアnスケジューラ、153 コアn演算リスト、
214,314 演算時間計算部、215,315 演算時間データベース、
416 合計時間計算部、417 割り振り方法判断部。

Claims (5)

  1. nコア(nは2以上の整数)CPU構成を有し、前記CPUの各コアの演算を管理するスケジューラを備え、前記各コアの演算リストと分割された制御ロジックを複数のブロックに分割した際の前記ブロックの演算を順次実行する順序の制約である入出力関係に従い前記制御ロジックのブロックの演算を制御するプラント制御装置に対して、
    前記制御ロジックのブロックを前記各コアに割り振るコア割り振り機能部と、前記制御ロジックのブロック間の入出力関係を抽出する入出力関係抽出部を備え、
    前記各コアの前記演算リストと前記入出力関係を供給するプラント制御装置エンジニアリングツール。
  2. 前記コア割り振り機能部は、前記制御ロジックのブロックを前記各コアに前記制御ロジックのブロックの順番に割り振る請求項1に記載のプラント制御装置エンジニアリングツール。
  3. さらに、前記制御ロジックのブロックの演算時間を計算する演算時間計算部を備え、
    前記コア割り振り機能部は、前記演算時間計算部により計算した前記制御ロジックのブロックの演算時間と、前記入出力関係とに基づいて、前記各コアの演算空き時間を短くするように前記制御ロジックのブロックを前記各コアに割り振る請求項1に記載のプラント制御装置エンジニアリングツール。
  4. さらに、前記制御ロジックのブロックの演算時間を計算する演算時間計算部と、全体の演算時間を計算する合計時間計算部とを備え、
    コア割り振り機能部は、全体の演算時間が短くなるように、
    前記各コアに前記制御ロジックのブロックの順番に割り振るか、
    あるいは、前記演算時間計算部により計算した前記制御ロジックのブロックの演算時間と、前記入出力関係とに基づいて、前記各コアの演算空き時間を短くするように前記制御ロジックのブロックを前記各コアに割り振るかを選択して、
    前記制御ロジックのブロックを前記各コアに割り振る請求項1に記載のプラント制御装置エンジニアリングツール。
  5. 前記コアの数がn=2である請求項1から請求項4のいずれか1項に記載のプラント制御装置エンジニアリングツール。
JP2014059401A 2014-03-24 2014-03-24 プラント制御装置エンジニアリングツール Active JP6289197B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014059401A JP6289197B2 (ja) 2014-03-24 2014-03-24 プラント制御装置エンジニアリングツール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014059401A JP6289197B2 (ja) 2014-03-24 2014-03-24 プラント制御装置エンジニアリングツール

Publications (2)

Publication Number Publication Date
JP2015184843A JP2015184843A (ja) 2015-10-22
JP6289197B2 true JP6289197B2 (ja) 2018-03-07

Family

ID=54351318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014059401A Active JP6289197B2 (ja) 2014-03-24 2014-03-24 プラント制御装置エンジニアリングツール

Country Status (1)

Country Link
JP (1) JP6289197B2 (ja)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57146365A (en) * 1981-03-04 1982-09-09 Hitachi Ltd Data driving type of parallel processing computer
JPS62236063A (ja) * 1986-04-08 1987-10-16 Agency Of Ind Science & Technol マルチタスキング方式
JPH0934517A (ja) * 1995-07-20 1997-02-07 Mitsubishi Electric Corp プラント制御保護装置
US6389587B1 (en) * 1999-02-04 2002-05-14 Sun Microsystems, Inc. User interface for developing and executing data flow programs and methods, apparatus, and articles of manufacture for optimizing the execution of data flow programs
JP4936517B2 (ja) * 2006-06-06 2012-05-23 学校法人早稲田大学 ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ
JP4304347B2 (ja) * 2008-04-30 2009-07-29 学校法人早稲田大学 マルチプロセッサ
JP2013190837A (ja) * 2012-03-12 2013-09-26 Mitsubishi Electric Corp エンジニアリングツール
WO2013157244A1 (ja) * 2012-04-18 2013-10-24 日本電気株式会社 タスク配置装置、タスク配置方法、および、コンピュータ・プログラム
JP2013228859A (ja) * 2012-04-25 2013-11-07 Toyota Motor Corp プラント制御装置

Also Published As

Publication number Publication date
JP2015184843A (ja) 2015-10-22

Similar Documents

Publication Publication Date Title
JP4016010B2 (ja) リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム
JP6799947B2 (ja) スライディングタイムウィンドウを用いてタスクをスケジュール設定するためのシステムおよび方法
JP6183374B2 (ja) データ処理システム、データ処理方法およびプログラム
US20130013897A1 (en) Method to dynamically distribute a multi-dimensional work set across a multi-core system
KR101626378B1 (ko) 병렬도를 고려한 병렬 처리 장치 및 방법
KR20130087257A (ko) Gpu의 자원 할당을 위한 방법 및 장치
JP5036523B2 (ja) プログラム並列化装置
JP2017514247A5 (ja)
JP2012118715A (ja) Plcシステム、その開発支援装置、プログラム
KR20110075296A (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
US20190139181A1 (en) Combined rendering and computing resource allocation management system
JP6107801B2 (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム
JP6464982B2 (ja) 並列化方法、並列化ツール、車載装置
KR102258542B1 (ko) 프로그래머블 컨트롤러, 관리 장치 및 제어 시스템
WO2019086765A1 (en) Combined rendering and compute resource allocation management system
KR20130080663A (ko) 멀티-쓰레딩을 사용하는 그래픽 처리를 위한 방법 및 장치
JP6620609B2 (ja) 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置
US9740530B2 (en) Decreasing the priority of a user based on an allocation ratio
KR102224844B1 (ko) 선점 방식을 선택하는 방법 및 장치.
JP6289197B2 (ja) プラント制御装置エンジニアリングツール
JP6156379B2 (ja) スケジューリング装置、及び、スケジューリング方法
WO2019086764A1 (en) Graphics engine resource management and allocation system
JP6428557B2 (ja) 並列化方法、並列化ツール
JP6368452B2 (ja) 非同期のデバイスによって実行されるタスクのスケジューリングの向上
US10475151B2 (en) Graphics engine resource management and allocation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180206

R150 Certificate of patent or registration of utility model

Ref document number: 6289197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250