JP2015114901A - 制御装置、設計装置、制御方法及びプログラム - Google Patents

制御装置、設計装置、制御方法及びプログラム Download PDF

Info

Publication number
JP2015114901A
JP2015114901A JP2013257252A JP2013257252A JP2015114901A JP 2015114901 A JP2015114901 A JP 2015114901A JP 2013257252 A JP2013257252 A JP 2013257252A JP 2013257252 A JP2013257252 A JP 2013257252A JP 2015114901 A JP2015114901 A JP 2015114901A
Authority
JP
Japan
Prior art keywords
control
program
simulation
execution
unit
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.)
Granted
Application number
JP2013257252A
Other languages
English (en)
Other versions
JP6187762B2 (ja
Inventor
中出 実
Minoru Nakade
実 中出
信一 戸田
Shinichi Toda
信一 戸田
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 Power Ltd
Original Assignee
Mitsubishi Hitachi Power Systems Ltd
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 Hitachi Power Systems Ltd filed Critical Mitsubishi Hitachi Power Systems Ltd
Priority to JP2013257252A priority Critical patent/JP6187762B2/ja
Publication of JP2015114901A publication Critical patent/JP2015114901A/ja
Application granted granted Critical
Publication of JP6187762B2 publication Critical patent/JP6187762B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】プラントの制御と同時にシミュレーションが実行できる制御装置を提供する。
【解決手段】シミュレーション機能付き制御装置20は、プラントの制御を行う制御プログラムと当該制御プログラムを構成する制御ロジックの動作確認を行うためのシミュレーションプログラムとのそれぞれに対しユーザが設定した割合でCPU実行時間を時分割して割り当て実行したり、別々のCPUコアを割り当てて独立して実行する実行制御部を備える。
【選択図】図1

Description

本発明は、制御装置、設計装置、制御方法及びプログラムに関する。
稼動中の制御装置の制御ロジックを変更する場合、変更が正しいかどうか動作確認をして確かめることが必要となる。このような場合、制御装置とは別に動作確認用のシミュレーション装置を用いて変更後の制御ロジックプログラムを模擬的に実行し動作確認を行うことが一般的である。
このようなシミュレーション装置では、一般に汎用CPU(Central Processing Unit)が搭載される。それに対して制御装置には組込み向けCPUが搭載されることが一般的である。汎用CPUを搭載したシミュレーション装置にSCADA(Supervisory Control And Data Aquisition)と呼ばれる制御システムを導入すれば汎用CPUを搭載したシミュレーション装置を用いて簡単な制御を行うことも可能ではあるが、そのような装置が発電所などのプラント制御に用いられることは一般的ではない。
また、特許文献1には、制御装置とシミュレーション装置をシリアル伝送バスにより接続し、ユーザのモード切替操作により制御装置の接続先を制御対象装置からシミュレーション装置に切り替え、実際の制御装置を用いてシミュレーションを行う技術が開示されている。しかし、この方法は、シミュレーションを行っている間はその制御装置を実際の制御対象装置の制御に使用することができない。
特開昭62−22101号公報
ところで、これらのシミュレーション方法には以下のような課題が存在する。すなわち、制御装置とシミュレーション装置とで搭載するCPUが異なる場合、浮動小数演算の丸め誤差の取り扱いが異なる等、厳密には同じ結果が得られる保証が無い。
また、シミュレーション装置に制御装置と同じCPUを搭載し、同等のソフトウェアを動作させれば、厳密に同じ結果を得ることは可能であるが、別の装置が必要なため、コストアップや設置スペースの確保の問題が生じる。
そこでこの発明は、上述の課題を解決することのできる制御装置、設計装置、制御方法及びプログラムを提供することを目的としている。
本発明の第1の態様は、プラントの制御を行う制御プログラムと前記制御プログラムを構成する制御ロジックの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する実行制御部を備えることを特徴とする制御装置である。
また本発明の第2の態様における制御装置は、前記制御プログラムの実行と、前記シミュレーションプログラムの実行とのそれぞれに対して割り当てるCPU実行時間の比率を取得するCPU割当設定取得部を備え、前記実行制御部は、予め定められた単位時間を前記比率に応じて制御プログラムを実行する制御用単位時間と前記シミュレーションプログラムを実行するシミュレーション用単位時間とに分割し、前記単位時間ごとに前記制御プログラムを前記制御用単位時間CPUに割り当てて実行し、前記シミュレーションプログラムを前記シミュレーション用単位時間CPUに割り当てて実行することを特徴とする。
また本発明の第3の態様における制御装置の備えるCPUは複数のコアを備え、前記CPU割当設定取得部は、前記制御プログラムの実行を行うコアを示す制御用コアと、前記シミュレーションプログラムの実行を行うコアを示すシミュレーション用コアとを指定する情報を取得し、前記実行制御部は、前記制御プログラムを前記制御用コアに割り当てて実行し、前記シミュレーションプログラムをシミュレーション用コアに割り当てて実行することを特徴とする。
また本発明の第4の態様における制御装置は、実行中の前記制御プログラムが前記プラントに備えられたセンサから取得するプロセス値を前記シミュレーションプログラムの入力値として取得するプロセス値取得部を備えることを特徴とする。
また本発明の第5の態様は、プラントの制御を行う制御プログラムと、前記制御プログラムの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する実行制御部を備えることを特徴とする制御装置と通信接続され、前記制御プログラムと前記シミュレーションプログラムとの実行に割り当てられるCPU資源の設定を受け付けるCPU割当設定受付部と、前記シミュレーションプログラムに実行する制御ロジックの選択を受け付けるシミュレーション対象設定部と、前記シミュレーションプログラムの実行結果を前記制御装置から取得し出力するシミュレーション結果表示部とを備えることを特徴とする設計装置である。
また本発明の第6の態様は、制御装置が、プラントの制御を行う制御プログラムと、前記制御プログラムの動作を検証するためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行することを特徴とする制御方法である。
また本発明の第7の態様は、設計装置が、プラントの制御を行う制御プログラムと、前記制御プログラムの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する実行制御部を備えることを特徴とする制御装置と通信接続され、前記制御プログラムと前記シミュレーションプログラムとの実行に割り当てられるCPU資源の設定を受け付け、前記シミュレーションプログラムが実行する制御ロジックの選択を受け付け、前記シミュレーションプログラムの実行結果を前記制御装置から取得し出力することを特徴とする制御方法である。
また本発明の第8の態様は、制御装置のコンピュータを、プラントの制御を行う制御プログラムと、前記制御プログラムの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する手段として機能させるためのプログラムである。
また本発明の第9の態様は、プラントの制御を行う制御プログラムと、前記制御プログラムの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する実行制御部を備えることを特徴とする制御装置と通信接続された設計装置のコンピュータを、前記制御プログラムと前記シミュレーションプログラムとの実行に割り当てられるCPU資源の設定を受け付ける手段、前記シミュレーションプログラムが実行する制御ロジックの選択を受け付ける手段、前記シミュレーションプログラムの実行結果を前記制御装置から取得し出力する手段として機能させるためのプログラムである。
本発明によれば、新たにシミュレーション装置を追加することなく同じ演算結果を得られる環境でシミュレーションを行うことができるようになる。
本発明の第一の実施形態による並列化支援装置及び実行装置を含む制御システムの概略図である。 本発明の第一の実施形態による制御装置及び設計装置の機能ブロック図である。 本発明の第一の実施形態による制御装置における処理概要を示す図である。 本発明の第一の実施形態による制御装置及び設計装置の処理フローを示す図である。 本発明の第二の実施形態による制御装置及び設計装置の機能ブロック図である。 本発明の第二の実施形態による制御装置における処理概要を示す図である。 本発明の第三の実施形態による制御装置及び設計装置の機能ブロック図である。 本発明の第三の実施形態による制御装置における処理概要を示す図である。
<第一の実施形態>
以下、本発明の第一の実施形態による制御装置及び設計装置を図1〜図4を参照して説明する。
図1は第1の実施形態による制御装置及び設計装置を含む制御システムの概略図である。
図1に示すように本実施形態の制御システムは、設計装置10と、制御装置20と、制御対象装置30と、を備えている。
制御装置20は、制御プログラムを実行して制御対象装置30を制御するコントローラである。制御対象装置30は、制御対象となる例えばガスタービンなどの制御対象301と、センサや操作端等の計測制御機器302で構成されている。制御装置20は、計測制御機器302を通して制御対象301と接続している。また、制御装置20は、制御プログラムを実行しながら(符号31)余剰のコンピュータ資源を利用してシミュレーションプログラムを実行し(符号32)、制御装置20で動作する制御プログラムの動作確認を行うことができるシミュレーション機能付きの制御装置である。また、制御装置20には組み込み向けCPUが搭載されている。
制御プログラムとは、制御対象装置30の制御用アプリケーションプログラムを構成するプログラムであり、制御装置20では複数の制御プログラムが実行される。またシミュレーションプログラムとは、動作確認を行う対象となる制御ロジックを含む制御ロジックプログラムと、その制御ロジックプログラムの動作に対する制御対象の挙動を模擬するプログラムと、それらを協調動作させ当該制御ロジックプログラムの動作確認が行えるようにするプログラムとを含む一連のソフトウェア全体を示すものであるとする。なお、制御ロジックプログラムとは、制御プログラムを構成する一部のプログラムである。
また、これらの制御プログラムやシミュレーションプログラムは、制御装置20の備えるコンピュータにインストールされたOS(Operating System)においてプロセスやスレッドとして実行される。
設計装置10は、動作確認を行う制御ロジックプログラムを選択したり、制御装置20における制御プログラムとシミュレーションプログラムとの実行に対してコンピュータ資源の割り振りを設定したり、制御装置20からシミュレーションプログラムの実行結果を取得し、制御ロジックプログラムが正しく実行されたか否かを確認するのに用いる装置である。設計装置10は制御装置20と通信接続され、ユーザは、設計装置10で選択した制御ロジックプログラムを制御装置20に送信することができる。なお、コンピュータ資源とは具体的にはCPU資源であり、ユーザは、設計装置10を用いてCPUの持つ処理能力をどのように分配するかを設定する。また、設計装置10の備えるCPUは汎用CPUでよい。
図2は第1の実施形態による制御装置及び設計装置の機能ブロック図である。
まず、設計装置10について説明する。図2に示すように本実施形態の設計装置10は、CPU割当設定受付部101と、割当支援情報表示部102と、シミュレーション結果表示部103と、シミュレーション対象設定部104と、通信部105と、操作検出部106と、記憶部107とを備えている。
CPU割当設定受付部101は、制御プログラムとシミュレーションプログラムへの独立したCPU資源の割り当ての設定を受け付ける。本実施形態ではCPU割当設定受付部101は、それぞれのプログラムの実行に対して割り当てるCPU実行時間の比率を受け付ける。例えば、CPU割当設定受付部101は、ユーザの指示操作により制御プログラムにCPUの実行時間の75%を割り当て、シミュレーションプログラムに25%を割り当てるという設定を受け付け記憶部107に記録する。
割当支援情報表示部102は、ユーザがCPU資源をどのように割り当てることができるかを決めるのを支援する情報を設計装置10の備える表示画面に表示する。例えば、割当支援情報表示部102は、制御装置20において「制御プログラムA1」と「制御プログラムA2」が動作し、それら2つの実行にCPUの処理能力の60%が必要であるといった情報を表示する。ユーザはこの情報を見てシミュレーションプログラムの実行に割り当てることができるのはCPUの処理能力の40%以下であることを理解することができる。そしてユーザは、CPU割当設定受付部101の機能を用いてシミュレーションプログラムにCPU資源の40%を割り当てる。
シミュレーション結果表示部103は、ユーザのシミュレーション結果要求指示操作により、制御装置20で実行したシミュレーションの結果を通信部105を介して制御装置20から取得し、設計装置10の備える表示画面に表示する。
通信部105は、制御装置20へユーザが指定した制御プログラムとシミュレーションプログラムとに割り当てたCPU実行時間の比率や、ユーザが選択したシミュレーションプログラムを送信したり、制御装置20からシミュレーション結果を取得する。
記憶部107は、制御ロジックプログラム、CPU割当設定受付部101が受け付けた設定情報や制御装置20から取得したシミュレーション結果などを記憶する。
シミュレーション対象設定部104は、シミュレーション対象となる制御ロジックプログラムの選択をユーザから受け付ける。また、シミュレーション対象設定部104は、ユーザによる機能演算ブロックの出力値の設定を受け付ける。機能演算ブロックとは、制御ロジックプログラムを構成する演算要素(POL:Program Oriented Language)である。機能演算ブロックの出力値を設定することで、ユーザは所望の条件下での制御ロジックプログラムの動作確認を行うことができる。
操作検出部106は、ユーザによるマウスやキーボードによる入力操作等を検出し、その操作指示情報を取得する。
次に、制御装置20について説明する。図2に示すように本実施形態の制御装置20は、CPU割当設定取得部201と、実行制御部202と、シミュレーション結果送信部203と、制御ロジック取得部204と、プロセス値入出力部205と、通信部206と、記憶部207とを備えている。
CPU割当設定取得部201は、設計装置10でユーザが設定した制御プログラムとシミュレーションプログラムのそれぞれの実行に対して割り当てるCPU実行時間の比率を取得する。
実行制御部202は、制御プログラムとシミュレーションプログラムとのそれぞれに対して独立したCPU資源を割り当てて実行する。本実施例では、予め定められた単位時間をCPU割当設定取得部201が取得した比率に応じて制御用単位時間とシミュレーション用単位時間とに分割し、単位時間ごとに制御プログラムを制御用単位時間だけCPUに割り当てて実行し、シミュレーションプログラムをシミュレーション用単位時間だけCPUに割り当てて実行する。単位時間とは、OSがプロセスの実行の管理に用いる処理時間の単位のことであり、例えば1msecである。実行制御部202は、OS等が備えるタイマ割り込みの機能を利用して制御プログラムを制御用単位時間だけ実行させ、シミュレーションプログラムの実行に切り替え、またシミュレーションプログラムをシミュレーション用単位時間だけ実行させ、制御プログラムの実行に切り替える。なお、実際には制御プログラムの実行が優先されるため、シミュレーションプログラムの実行に割り当てられるCPU実行時間は少なくなる場合が多い。
シミュレーション結果送信部203は、実行制御部202が実行したシミュレーションプログラムの実行結果を出力する。シミュレーション結果送信部203は、実行結果を記憶部207に記録してもよいし、通信部206を介して設計装置10に送信してもよい。
記憶部207は、制御プログラム、シミュレーションプログラム、ユーザが設計装置10で制御プログラムとシミュレーションプログラムとに対して設定したCPU実行時間の比率の情報などを記憶している。
制御ロジック取得部204は、設計装置10でユーザが選択した制御ロジックプログラムを取得する。
プロセス値入出力部205は、制御対象装置30を制御する。プロセス値入出力部205は、制御プログラムにより実行される、制御装置20に備わる機能である。
図3は本発明の第一の実施形態による制御装置における処理概要を示す図である。
図3を用いて制御装置20にて実行制御部202が、制御プログラム及びシミュレーションプログラムの実行を切り替える処理について説明する。
符号31は、「制御プログラムA1」のプロセスの実行時間を示している。符号32は、「シミュレーションプログラムB1」のプロセスの実行時間を示している。それぞれの矢印の長さが「制御プログラムA1」及び「シミュレーションプログラムB1」のプロセスがCPUに割り当てられて処理される時間の長さを示している。符号33は、単位時間である。符号34は、制御用単位時間である。符号35は、シミュレーション用単位時間である。「制御プログラムA1」及び「シミュレーションプログラムB1」は単位時間33の周期でCPUを割り当てられ、「制御プログラムA1」は制御用単位時間34の間、「シミュレーションプログラムB1」はシミュレーション用単位時間35の間実行される。
次に「制御プログラムA1」のプロセスと「シミュレーションプログラムB1」のプロセスを切り替える処理について説明する。前提として実行制御部202が、「制御プログラムA1」と「シミュレーションプログラムB1」のプロセスを起動し、現在、「制御プログラムA1」のプロセスが実行されているものとする。すると実行制御部202は、制御装置20が備えるタイマのカウントを参照し、「制御プログラムA1」のプロセスがCPUに割り当てられた時刻からの経過時間が制御用単位時間になると、タイマ割り込みによって「シミュレーションプログラムB1」のプロセスにCPUを割り当てる。次に実行制御部202は、実行プロセスが「シミュレーションプログラムB1」に切り替わってシミュレーション用単位時間が経過するとタイマ割り込みによって「制御プログラムA1」のプロセスにCPUを割り当てる。そして実行制御部202は、両方のプロセスが実行を完了するまでこのような切り替えを繰り返す。
図4は第一の実施形態による設計装置及び制御装置の処理フローを示す図である。
図4の処理フローを用いて制御装置20において設計装置10で設定した比率で制御処理とシミュレーションの実行とを行う処理について説明する。
<割当比率設定処理>
まず、ユーザの操作によりCPU割当設定受付部101が、制御プログラムとシミュレーションプログラムとに割り当てるCPU実行時間の比率の入力を受け付ける(ステップS10)。次に操作検出部106が、ユーザの所定の操作による割り当て比率の送信指示信号を受信すると、操作検出部106は送信指示があった旨の信号をCPU割当設定受付部101に出力する。するとCPU割当設定受付部101が割り当て比率の情報を通信部105へ出力し、通信部105は割り当て比率の情報を制御装置20へ送信する(ステップS11)。
制御装置20では、通信部206が割り当て比率情報を受信すると割り当て比率情報をCPU割当設定取得部201へ出力する。そして、CPU割当設定取得部201は、割り当て比率情報を記憶部207へ書き込む(ステップS12)。そして、CPU割当設定取得部201は、書込み処理の結果が成功したか否かを通信部206へ出力し、通信部206は書込み処理の成功又は失敗を設計装置10へ通知する(ステップS13)。書込み処理が失敗した場合、CPU割当設定受付部101は再度、通信部105を介して割り当て比率の情報を制御装置20へ送信してもよい。
<シミュレーション対象選択処理>
また、シミュレーション対象設定部104は、複数ある制御ロジックプログラムの中から、ユーザの操作によるシミュレーション対象となる制御ロジックプログラムの選択を受け付ける(ステップS14)。次に操作検出部106が、ユーザの所定の操作による制御ロジックプログラムの送信指示信号を受信すると、操作検出部106は送信指示があった旨の信号をシミュレーション対象設定部104に出力する。するとシミュレーション対象設定部104が制御ロジックプログラムを記憶部107から読み出し通信部105へ出力する。そして通信部105が制御ロジックプログラムを制御装置20へ送信する(ステップS15)。
制御装置20では、通信部206がシミュレーション対象となる制御ロジックプログラムを受信すると制御ロジックプログラムを制御ロジック取得部204へ出力する。そして、制御ロジック取得部204は、制御ロジックプログラムを記憶部207へ書き込む(ステップS16)。そして、制御ロジック取得部204は、書込み処理の結果が成功したか否かを通信部206へ出力し、通信部206は書込み処理の成功又は失敗を設計装置10へ通知する(ステップS17)。書込み処理が失敗した場合、シミュレーション対象設定部104は再度、通信部105を介して制御ロジックプログラムを制御装置20へ送信してもよい。
<シミュレーション実行処理>
次に実行制御部202は、ユーザの所定の操作などによる実行指示信号を取得して、記憶部207から制御プログラムと、シミュレーション対象となる制御ロジックプログラムを含むシミュレーションプログラムと、割り当て比率情報とを取得し、制御プログラムとシミュレーションプログラムとを実行する(ステップS19)。このとき実行制御部202は、図3で説明したように単位時間ごとに制御プログラムを制御用単位時間実行し、シミュレーションプログラムをシミュレーション用単位時間実行するよう制御する。
また、シミュレーションプログラム実行中もプロセス値入出力部205は、制御対象装置30が送信した(ステップS18)計測制御機器302(センサ)が測定した制御対象装置30の状態を示すプロセス値を取得し、制御ロジック演算を行って演算結果を制御信号として制御対象装置30の計測制御機器302(制御機器)に送信し(ステップS20)、継続的に制御対象301の制御を行う。
制御プログラム及びシミュレーションプログラムの実行が継続する間、ステップS18〜ステップS20の処理が繰り返し行われる。
<シミュレーション結果取得処理>
上述のシミュレーション実行処理(ステップS18〜ステップS20)が実行されている間、設計装置10では、シミュレーション結果表示部103がユーザからシミュレーション結果要求を受け付ける。具体的には操作検出部106が、ユーザによる所定のシミュレーション結果要求操作を検出すると、操作検出部106はシミュレーション結果表示部103へ当該要求を検出した旨の情報を出力する。すると、シミュレーション結果表示部103は、シミュレーション結果要求信号を通信部105へ出力し、通信部105はシミュレーション結果要求信号を制御装置20へ送信する(ステップS21)。
制御装置20では、シミュレーション結果送信部203が通信部206を介してシミュレーション結果要求信号を取得する。そして、シミュレーション結果送信部203は当該要求を受け付けた旨の情報を通信部206を介して設計装置10へ通知する(ステップS22)。
一方、設計装置10からのシミュレーション結果要求信号の有無にかかわらず、シミュレーションプログラムは、シミュレーションプログラムの実行に伴い、シミュレーション結果を出力する(ステップS23)。シミュレーション結果送信部203は、設計装置10からシミュレーション結果要求信号を受信すると、シミュレーションプログラムが出力したシミュレーション結果を通信部206を介して設計装置10へ送信する(ステップS24)。設計装置10では、通信部105がシミュレーション結果を受信しシミュレーション結果表示部103がその結果を表示する(ステップS25)。
ユーザによるシミュレーション結果要求操作があった場合、シミュレーションプログラムの実行が継続する間、ステップS23〜ステップS25の処理が繰り返し行われる。
なお、シミュレーション結果取得処理(ステップS21〜ステップS25)は、シミュレーションプログラムが実行されていれば、シミュレーション実行処理(ステップS18〜ステップS20)と並列して実行が可能である。
なお、本処理フローにおいて、割当比率設定処理(ステップS10〜S12)と、シミュレーション対象選択処理(ステップS13〜S15)の順番は逆であってもよい。つまり先にシミュレーション対象選択処理を行って後に割当比率設定処理を行ってもよい。
また、既に割当比率設定処理(ステップS10〜S12)が行われていてその割り当て比率を変更する必要がない場合は改めてステップS10〜S12の処理を行う必要はない。また、既にシミュレーション対象選択処理(ステップS13〜S15)が行われていてシミュレーションする制御ロジックプログラムを変える必要が無ければ再度ステップS13〜ステップS15の処理を行う必要はない。
本実施形態によれば、1台の制御装置内でタイマ割り込みによる制御を行うことにより、制御プログラムとシミュレーションプログラムを独立して実行することができる。それにより1台の制御装置で制御アプリケーションプログラムを稼働させ実際にプラントなどの制御を行いながら、その制御演算に影響を与えることなく、制御ロジックプログラムの動作確認を行うことができる。また、シミュレーションプログラムは制御演算が行われている制御装置と同じハードウェア上で実行するため、CPUのタイプの違いによる演算結果の差異が生じることがなく、この制御装置は制御ロジックプログラムの動作確認に最適である。また、既存の制御装置がシミュレーション機能を持つため、シミュレーション装置用のハードウェアを追加する必要が無い。
<第二の実施形態>
以下、本発明の第二の実施形態による制御システムを図5〜6を参照して説明する。
第一の実施形態ではタイマ割り込みによってCPU実行時間を時分割して制御プログラムとシミュレーションプログラムを独立して実行した。第二の実施形態では制御プログラムとシミュレーションプログラムを別々のCPUコア(独立したCPU資源)に割り当てることによって、それぞれのプログラムを独立して実行する。
図5は第二の実施形態による制御装置及び設計装置の機能ブロック図である。
図5で示すように、本実施形態による設計装置10は、割当支援情報表示部102を備えていないだけで他の構成は第一の実施形態と同じである。
本実施形態のCPU割当設定受付部101は、制御プログラムとシミュレーションプログラムを独立して実行するにあたり、それぞれのプログラムを割り当てるCPUコアの指定を受け付ける。例えば、CPU割当設定受付部101は、制御プログラムを実行するコア(制御用コア)として「コア1」、シミュレーションプログラムを実行するコア(シミュレーション用コア)として「コア2」という設定をユーザの割り当て操作によって受け付け、記憶部107に記録する。
他の機能部については、第一の実施形態と同じであるため説明を省略する。
図5で示すように、本実施形態による制御装置20の構成は、第一の実施形態と同じである。
本実施形態のCPU割当設定取得部201は、設計装置10でユーザが設定した制御用コアとシミュレーション用コアの情報を取得し記憶部207に記録する。
実行制御部202は、制御プログラムとシミュレーションプログラムとを別々のCPUコアに割り当てて実行する。具体的には、CPU割当設定取得部201が取得した情報に基づいて、制御プログラムを制御用コアに割り当てて実行し、前記シミュレーションプログラムをシミュレーション用コアに割り当てて実行する。
他の機能部については、第一の実施形態と同じであるため説明を省略する。
図6は本発明の第二の実施形態による制御装置における処理概要を示す図である。
図6を用いて制御装置20にて実行制御部202が、制御プログラム及びシミュレーションプログラムを実行する処理について説明する。なお、図3と同じ内容には同じ符号を付して説明する。
前提としてユーザの指示により制御プログラムは「コア1」に、シミュレーションプログラムは「コア2」に割り当てて実行するよう設定されているものとする。
まず、実行制御部202は、CPU割当設定取得部201が記録した制御プログラムとシミュレーションプログラムをそれぞれどのコアに割り当てて実行するかの情報を記憶部207から読み出す。
実行制御部202は、制御装置20が備える「コア1」に制御プログラムを割り当てて実行する(符号31)。また、実行制御部202は、「コア2」にシミュレーションプログラムを割り当てて実行する(符号32)。実行制御部202がプログラムを所定のCPUコアに割り当てて実行する方法は、実行環境に応じた所定の方法で割り当てればよい。第一の実施形態では、制御アプリケーションプログラムの実行が優先されるため、シミュレーションプログラムの実行に割り当てられるCPU実行時間は少なくなり、その結果、シミュレーションプログラムの実行に要する時間は長くなることが多い。図6で示すように本実施形態においては、第一の実施形態と異なり、制御用単位時間(符号34)とシミュレーション用単位時間(符号35)は同じ単位時間(符号33)となる。つまりシミュレーションプログラムの実行にも制御プログラムの実行と同じ長さのCPU実行時間が割り当てられる。
なお、本実施形態では、図4のステップS10において、CPU割当設定受付部101が、CPU実行時間の割り当て比率ではなく制御プログラムとシミュレーションプログラムとに割り当てるコアの設定を受け付ける。ステップS11では、通信部206が制御用コアとシミュレーション用コアの情報を制御装置20へ送信し、ステップS12では、CPU割当設定取得部201が、制御用コアとシミュレーション用コアの情報を記憶部207へ書き込む。そしてステップS14において、実行制御部202が制御プログラムとシミュレーションプログラムとを別々のコアに割り当てて実行する。図4の他の処理ステップについては第一の実施形態と同じである。
本実施形態によれば、実行制御部202が、制御プログラムとシミュレーションプログラムとをユーザが指定したコアの割り当てに従って、制御装置20の備える別々のコアに割り当てて実行するので、第一の実施形態の効果に加えて制御ロジックプログラムを、実際の処理時間で実行させ動作確認を行うことができるという効果が得られる。
<第三の実施形態>
以下、本発明の第三の実施形態による制御システムを図7〜8を参照して説明する。
本実施形態は第一及び第二の実施形態の何れとも組み合わせることが可能であるが第一の実施形態と組み合わせた場合の機能ブロック図を用いて説明を行う。
図7は第三の実施形態による制御装置及び設計装置の機能ブロック図である。
図7で示すように、本実施形態による制御装置20は、プロセス値取得部208を備えている点で第一の実施形態とは異なる。他の構成については、第一の実施形態と同じである。また、本実施形態による設計装置10は、第一の実施形態と同じである。
プロセス値取得部208は、プロセス値入出力部205が取得する制御対象装置30に備えられた各種センサ類からのプロセス値をシミュレーションプログラムの入力値として取得する。プロセス値とは、制御対象のプラントなどの各種状態量を示す信号をデジタル変換した値である。状態量とは、例えば配管を流れる水の流量や温度、発電機の出力周波数などである。
図8は本発明の第三の実施形態による制御装置における処理概要を示す図である。
図8を用いてプロセス値取得部208の処理について説明する。なお、図3と同じ内容には同じ符号を付して説明する。
制御装置20は、プロセス値入出力部205が演算した結果の制御信号(符号61)を制御周期ごとに制御対象装置30へ送信し、制御対象装置30を制御する。また、制御装置20は、各センサ類や計測器から様々なプロセス値(符号62)を取得する。この例では制御装置20が制御周期ごとにプロセス値を取得するのものとする。符号36は、制御周期である。このとき例えば、プロセス値入出力部205は、時刻「T0」、「T4」にプロセス値を取得する。すると、プロセス値取得部208は、時刻「T0」、「T4」にプロセス値入出力部205に渡されたプロセス値を取得し、時刻「T1」、「T5」にCPUに割り当てられるシミュレーションプログラムに入力値として渡すことができる。プラントによっては1万点を超す入力値を設定しなければならず、プロセス値取得部208の機能によってこの設定作業を省略できるので制御ロジックプログラムのシミュレーションを行う上で大きな作業効率の向上を図ることができる。また、実際のプラントのプロセス値を利用するので、ユーザは現実に即した条件下でのシミュレーションを行うことができる。
なお、本実施形態では、図4のステップS14において、プロセス値取得部208がプロセス値を取得し、シミュレーションプログラムに入力値として出力する。そして実行制御部202が制御プログラムとシミュレーションプログラムとにCPUを時分割して割り当てて実行する。他の処理ステップについては第一の実施形態と同じである。
なお、第一の実施形態と組み合わせた場合、シミュレーションプログラムに割り当てられるCPU実行時間が少なくなること多いと考えられる。その為、プロセス値の取得のタイミングが実際に制御プログラムとして実行される場合のプロセス値の取得のタイミングと比べてずれることが考えられる。しかし、プロセス値取得タイミングの差による影響は多くの場合僅少であり、実際に得られるであろうプロセス値と近しい値を取得することができるので動作確認を行う上で問題とはならない。
本実施形態によれば、実際の運転状態から得られるプロセス値に基づいてシミュレーションすることが可能となり、機能演算ブロックの出力値を固定・設定してシミュレーション条件を作る手間が省くことができる。また、リアルタイムにシミュレーションプログラムへの入力値を更新することが出来る。
なお、上述の制御装置は内部にコンピュータを有している。そして、上述した制御装置におけるCPU割当設定取得部201、実行制御部202、プロセス値取得部208による各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
10・・・制御装置
20・・・実行装置
30・・・制御対象装置
101・・・CPU割当設定受付部
102・・・割当支援情報表示部
103・・・シミュレーション結果表示部
104・・・シミュレーション対象設定部
105・・・通信部
106・・・操作検出部
107・・・記憶部
201・・・CPU割当設定取得部
202・・・実行制御部
203・・・シミュレーション結果送信部
204・・・制御ロジック取得部
205・・・プロセス値入出力部
206・・・通信部
207・・・記憶部
208・・・プロセス値取得部
301・・・制御対象
302・・・計測制御機器

Claims (9)

  1. プラントの制御を行う制御プログラムと前記制御プログラムを構成する制御ロジックの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する実行制御部
    を備えることを特徴とする制御装置。
  2. 前記制御プログラムの実行と、前記シミュレーションプログラムの実行とのそれぞれに対して割り当てるCPU実行時間の比率を取得するCPU割当設定取得部を備え、
    前記実行制御部は、予め定められた単位時間を前記比率に応じて制御プログラムを実行する制御用単位時間と前記シミュレーションプログラムを実行するシミュレーション用単位時間とに分割し、前記単位時間ごとに前記制御プログラムを前記制御用単位時間CPUに割り当てて実行し、前記シミュレーションプログラムを前記シミュレーション用単位時間CPUに割り当てて実行する
    ことを特徴とする請求項1に記載の制御装置。
  3. 制御装置の備えるCPUは複数のコアを備え、
    前記CPU割当設定取得部は、前記制御プログラムの実行を行うコアを示す制御用コアと、前記シミュレーションプログラムの実行を行うコアを示すシミュレーション用コアとを指定する情報を取得し、
    前記実行制御部は、前記制御プログラムを前記制御用コアに割り当てて実行し、前記シミュレーションプログラムをシミュレーション用コアに割り当てて実行する
    ことを特徴とする請求項1又は請求項2に記載の制御装置。
  4. 実行中の前記制御プログラムが前記プラントに備えられたセンサから取得するプロセス値を前記シミュレーションプログラムの入力値として取得するプロセス値取得部
    を備えることを特徴とする請求項1から請求項3の何れか1項に記載の制御装置。
  5. プラントの制御を行う制御プログラムと、前記制御プログラムの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する実行制御部を備えることを特徴とする制御装置と通信接続され、
    前記制御プログラムと前記シミュレーションプログラムとの実行に割り当てられるCPU資源の設定を受け付けるCPU割当設定受付部と、
    前記シミュレーションプログラムが実行する制御ロジックの選択を受け付けるシミュレーション対象設定部と、
    前記シミュレーションプログラムの実行結果を前記制御装置から取得し出力するシミュレーション結果表示部と
    を備えることを特徴とする設計装置。
  6. 制御装置が、
    プラントの制御を行う制御プログラムと、前記制御プログラムの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する
    ことを特徴とする制御方法。
  7. 設計装置が、
    プラントの制御を行う制御プログラムと、前記制御プログラムの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する実行制御部を備えることを特徴とする制御装置と通信接続され、
    前記制御プログラムと前記シミュレーションプログラムとの実行に割り当てられるCPU資源の設定を受け付け、
    前記シミュレーションプログラムが実行する制御ロジックの選択を受け付け、
    前記シミュレーションプログラムの実行結果を前記制御装置から取得し出力する
    ことを特徴とする制御方法。
  8. 制御装置のコンピュータを、
    プラントの制御を行う制御プログラムと、前記制御プログラムの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する手段
    として機能させるためのプログラム。
  9. プラントの制御を行う制御プログラムと、前記制御プログラムの動作確認を行うためのシミュレーションプログラムとのそれぞれに独立したCPU資源を割り当てて実行する実行制御部を備えることを特徴とする制御装置と通信接続された設計装置のコンピュータを、
    前記制御プログラムと前記シミュレーションプログラムとの実行に割り当てられるCPU資源の設定を受け付ける手段、
    前記シミュレーションプログラムが実行する制御ロジックの選択を受け付ける手段、
    前記シミュレーションプログラムの実行結果を前記制御装置から取得し出力する手段
    として機能させるためのプログラム。
JP2013257252A 2013-12-12 2013-12-12 制御システム、設計装置、制御方法及びプログラム Active JP6187762B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013257252A JP6187762B2 (ja) 2013-12-12 2013-12-12 制御システム、設計装置、制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013257252A JP6187762B2 (ja) 2013-12-12 2013-12-12 制御システム、設計装置、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015114901A true JP2015114901A (ja) 2015-06-22
JP6187762B2 JP6187762B2 (ja) 2017-08-30

Family

ID=53528632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013257252A Active JP6187762B2 (ja) 2013-12-12 2013-12-12 制御システム、設計装置、制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6187762B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023189136A1 (ja) * 2022-04-01 2023-10-05 オムロン株式会社 開発支援装置、開発支援プログラム、及び開発支援方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5932003A (ja) * 1982-08-13 1984-02-21 Hitachi Ltd ゲ−ト制御装置
JPS62152045A (ja) * 1985-12-26 1987-07-07 Omron Tateisi Electronics Co プログラマブルコントロ−ラ
JPH08185342A (ja) * 1994-12-28 1996-07-16 Nippondenso Co Ltd プログラム評価装置
JPH10124119A (ja) * 1996-10-24 1998-05-15 Fanuc Ltd シーケンスプログラム編集方法
JPH10133718A (ja) * 1996-10-28 1998-05-22 Omron Corp コントローラの入出力シミュレート方法および装置
JP2010113482A (ja) * 2008-11-05 2010-05-20 Panasonic Corp 資源割付方法、プログラム、及び資源割付装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5932003A (ja) * 1982-08-13 1984-02-21 Hitachi Ltd ゲ−ト制御装置
JPS62152045A (ja) * 1985-12-26 1987-07-07 Omron Tateisi Electronics Co プログラマブルコントロ−ラ
JPH08185342A (ja) * 1994-12-28 1996-07-16 Nippondenso Co Ltd プログラム評価装置
JPH10124119A (ja) * 1996-10-24 1998-05-15 Fanuc Ltd シーケンスプログラム編集方法
JPH10133718A (ja) * 1996-10-28 1998-05-22 Omron Corp コントローラの入出力シミュレート方法および装置
JP2010113482A (ja) * 2008-11-05 2010-05-20 Panasonic Corp 資源割付方法、プログラム、及び資源割付装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023189136A1 (ja) * 2022-04-01 2023-10-05 オムロン株式会社 開発支援装置、開発支援プログラム、及び開発支援方法

Also Published As

Publication number Publication date
JP6187762B2 (ja) 2017-08-30

Similar Documents

Publication Publication Date Title
US10503549B2 (en) Time critical tasks scheduling
JP2021525420A (ja) ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング
CN102279766B (zh) 并行模拟多个处理器的方法及系统、调度器
JP5797438B2 (ja) シミュレーション装置、シミュレーション方法、シミュレーター及び記憶媒体
TW448409B (en) Methodology for emulation of multi-threaded processes in a single-threaded operating system
CN103870350A (zh) 一种基于watchdog的微处理器多核加固方法
JP2008139965A (ja) 情報処理装置及び情報処理方法及びプログラム
US9678791B2 (en) Shared resources in a docked mobile environment
US20110218795A1 (en) Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores
WO2013035246A1 (ja) 仮想計算機制御装置、仮想計算機制御方法、仮想計算機制御プログラム、及び集積回路
JP2014102734A (ja) 性能検証プログラム、性能検証方法及び性能検証装置
EP3839731A1 (en) Apparatus and method to assign threads to a plurality of processor cores for virtualization of a hardware configuration
JP6187762B2 (ja) 制御システム、設計装置、制御方法及びプログラム
JP2017097516A (ja) デバッグサポートシステム
CN102331961A (zh) 并行模拟多个处理器的方法及系统、调度器
JP6218645B2 (ja) プログラム解析装置及びプログラム解析方法及びプログラム
EP2720149A2 (en) Apparatus and method for generating assertion based on user program code, and apparatus and method for verifying processor using assertion
AU2017438670A1 (en) Simulation device, simulation method, and simulation program
JP6318976B2 (ja) デバッグ回路、デバッガ装置、半導体装置及びデバッグ方法
JP6223637B2 (ja) シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム
US8250404B2 (en) Process integrity of work items in a multiple processor system
CN113127142A (zh) 在物理系统中创建虚拟机的方法和装置
JP6212823B2 (ja) 並列化支援装置、実行装置、制御システム、並列化支援方法及びプログラム
US20190034314A1 (en) Simulation apparatus
KR20180093875A (ko) 플립 큐 관리에 기초한 그래픽스 컨텍스트 스케줄링

Legal Events

Date Code Title Description
A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20151109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170523

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: 20170704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170718

R150 Certificate of patent or registration of utility model

Ref document number: 6187762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350