(57)【要約】【課題】プラントの制御を正常に行いながらユーザープログラムの更新を可能とする。【解決手段】実施形態によれば、プラント制御システム５０は、プラントの複数の機器の制御を行う制御装置１０と、制御の内容の変更のための保守ツール２０とを有する。制御装置１０は、複数のファンクションプログラムを含む制御プログラムと、少なくとも一つのファンクションプログラムを変更した変更用ファンクションプログラムと、これらのプログラムおよびこれらの実行の管理内容を規定するファンクション実行管理テーブルを記憶するユーザープログラム格納メモリ１２と、制御演算の結果を収納する通常出力レジスタ領域および確認用出力レジスタ領域を有する出力レジスタ１４と、外部入出力制御部１８と、入力データを収納する入力レジスタ１３と、演算およびプロセスを管理する主制御部１１とを有する。【選択図】図１
2016206890.tif 000002
【特許請求の範囲】
【請求項１】
プラントの複数の機器の制御を行う制御装置と、前記制御装置の制御の内容の変更のための保守ツールとを備えるプラント制御システムであって、
前記制御装置は、
前記制御の内容を構成する複数のファンクションのそれぞれの内容を規定する複数のファンクションプログラムを含む制御プログラムと、前記保守ツールから受け入れた少なくとも一つの前記ファンクションプログラムを変更した変更用ファンクションプログラムと、前記制御プログラムおよび前記変更用ファンクションプログラムの実行の管理内容を規定するファンクション実行管理テーブルと、を記憶するためのユーザープログラム格納メモリと、
前記複数の機器への制御指令として用いられ前記制御プログラムに基づく制御演算の結果を収納する通常出力レジスタ領域と、前記変更用ファンクションプログラムに基づく制御演算の結果を収納する確認用出力レジスタ領域とを有する出力レジスタと、
前記複数の機器の現在の状態に関する情報を入力データとして受け入れ、かつ前記出力レジスタの通常出力レジスタ領域に収納された内容を前記複数の機器に出力する外部入出力制御部と、
前記外部入出力制御部で受け入れた入力データを収納するための入力レジスタと、
前記ファンクション実行管理テーブルの内容に従って制御演算を行うとともに、前記ユーザープログラム格納メモリ、前記出力レジスタ、前記外部入出力制御部、前記入力レジスタおよび前記出力レジスタの動作を管理する主制御部と、
を具備することを特徴とするプラント制御システム。
【請求項２】
前記ファンクション実行管理テーブルは、前記変更用ファンクションプログラムに基づく演算を実行するか否かの実行可否データを保有可能に構成されていることを特徴とする請求項１に記載のプラント制御システム。
【請求項３】
前記保守ツールは、前記主制御部が前記制御プログラムに基づいて行った演算結果と、前記主制御部が前記変更用ファンクションプログラムに基づいて行った演算結果とを、比較可能に表示する表示部を有することを特徴とする請求項１または請求項２に記載のプラント制御システム。
【請求項４】
前記保守ツールは、前記制御プログラムに基づく制御の一部を前記変更用ファンクションプログラムに基づく制御に切り換えるために、前記通常出力レジスタ領域に記憶する内容を、前記確認用出力レジスタ領域に記憶された内容に書き換える切換え指令信号を前記主制御部に出力する切換え指令部をさらに有することを特徴とする請求項１ないし請求項３のいずれか一項に記載のプラント制御システム。
【請求項５】
前記外部入出力制御部は、前記制御プログラムに基づく制御の一部を前記変更用ファンクションプログラムに基づく制御に切り換えるために、前記通常出力レジスタ領域に記憶する内容を、前記確認用出力レジスタ領域に記憶された内容に書き換える切換え指令信号を外部から受け入れる切換え指令信号受け入れ部をさらに有することを特徴とする請求項１ないし請求項３のいずれか一項に記載のプラント制御システム。
【請求項６】
プラントの複数の機器を制御するプラント制御方法であって、
主制御部がプラント制御システムを初期化する初期化ステップと、
外部入出力制御部が前記複数の機器からの信号を受け入れて、入力レジスタが前記複数の機器からの信号を記憶する外部入力ステップと、
主制御部が、ユーザープログラム格納メモリに記憶されたファンクション実行管理テーブルに従って、制御プログラムに基づいて制御演算を実行する演算ステップと、
前記演算ステップでの制御演算の結果に基づいて、外部入出力制御部が前記制御演算の結果を前記複数の機器に出力する外部出力ステップと、
を有し、前記外部入力ステップから前記外部出力ステップを繰り返し、
前記演算ステップは、保守ツールで生成された変更用ファンクションプログラムがユーザープログラム格納メモリに追加されたときに、前記主制御部からの指令により、ファンクション実行管理テーブル内が、前記変更用ファンクションプログラムの実行を可とする状態となる演算許可ステップと、
前記制御プログラムに基づいた演算実行の後に、前記主制御部が、前記変更用ファンクションプログラムに基づいた演算実行を行う変更用ファンクション演算ステップと、
を含むことを特徴とするプラント制御方法。
【請求項７】
前記変更用ファンクション演算ステップの後に、前記保守ツールからの切換え指令を受けて、前記主制御部が、前記制御プログラムに基づく制御の一部を前記変更用ファンクションプログラムに基づく制御に切り換えるために、出力レジスタの通常出力レジスタ領域の内容を、前記変更用ファンクションプログラムに基づいた演算実行の結果に書き換える出力書き換えステップと、
前記外部入出力制御部が、前記通常出力レジスタ領域の内容を前記複数の機器に出力する制御出力ステップと、
をさらに有することを特徴とする請求項６に記載のプラント制御方法。
【請求項８】
前記変更用ファンクション演算ステップの後に、前記外部入出力制御部が外部からの切換え指令を受ける切換え指令受け入れステップと、
前記主制御部が、出力レジスタの通常出力レジスタ領域の内容を、前記変更用ファンクションプログラムに基づいた演算実行の結果に書き換える出力書き換えステップと、
前記外部入出力制御部が、前記複数の機器に前記通常出力レジスタに記憶された内容を出力する切換えステップと、
をさらに有することを特徴とする請求項６に記載のプラント制御方法。
【請求項９】
前記変更用ファンクション演算ステップの後に、前記主制御部が、入力レジスタに記憶された入力データおよび出力レジスタに記憶された出力データの少なくとも一方を確認し、切換え条件の成立有無を判定し、成立していないと判定した場合は次のファンクションの演算に移行する判定ステップと、
前記切換え条件が成立と判定された場合に、前記主制御部が、出力レジスタの通常出力レジスタ領域の内容を、前記変更用ファンクションプログラムに基づいた演算実行の結果に書き換える出力書き換えステップと、
前記外部入出力制御部が、前記複数の機器に前記通常出力レジスタ領域に記憶された内容を出力する切換えステップと、
をさらに有することを特徴とする請求項６に記載のプラント制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プラント制御システムおよびプラント制御方法に関する。
【背景技術】
【０００２】
プラント制御装置において、予め定められたユーザープログラムをメモリ上に格納し、高速に外部機器との入出力およびユーザープログラムの演算を繰り返し実施することによりプラント制御を行う技術が知られている。このような制御装置において、当該ユーザープログラムを変更する場合は、新しい制御プログラムを従来とは違うメモリ空間に書き込み、その後、新しい制御プログラム側への実行に切り換えることによりオンラインでユーザープログラムを変更する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３３０８７８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、管理用プロセッサとプログラム実行用プロセッサの２つのプロセッサが必要であり、複数のユーザープログラム格納メモリおよび当該メモリの切替え回路等が必要となるという問題がある。また、変更後のユーザープログラムの動作確認を実施してから変更後ユーザープログラムの実行に切換えることができず、変更後ユーザープログラムに問題があった場合、誤ったプラント制御を行ってしまうという問題があった。
【０００５】
本発明の実施形態は上述した課題を解決するためになされたものであり、プラントの制御を正常に行いながらユーザープログラムの更新を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
上述の目的を達成するため、本実施形態は、プラントの複数の機器の制御を行う制御装置と、前記制御装置の制御の内容の変更のための保守ツールとを備えるプラント制御システムであって、前記制御装置は、前記制御の内容を構成する複数のファンクションのそれぞれの内容を規定する複数のファンクションプログラムを含む制御プログラムと、前記保守ツールから受け入れた少なくとも一つの前記ファンクションプログラムを変更した変更用ファンクションプログラムと、前記制御プログラムおよび前記変更用ファンクションプログラムの実行の管理内容を規定するファンクション実行管理テーブルと、を記憶するためのユーザープログラム格納メモリと、前記複数の機器への制御指令として用いられ前記制御プログラムに基づく制御演算の結果を収納する通常出力レジスタ領域と、前記変更用ファンクションプログラムに基づく制御演算の結果を収納する確認用出力レジスタ領域とを有する出力レジスタと、前記複数の機器の現在の状態に関する情報を入力データとして受け入れ、かつ前記出力レジスタの通常出力レジスタ領域に収納された内容を前記複数の機器に出力する外部入出力制御部と、前記外部入出力制御部で受け入れた入力データを収納するための入力レジスタと、前記ファンクション実行管理テーブルの内容に従って制御演算を行うとともに、前記ユーザープログラム格納メモリ、前記出力レジスタ、前記外部入出力制御部、前記入力レジスタおよび前記出力レジスタの動作を管理する主制御部と、を具備することを特徴とする。
【０００７】
また、本実施形態は、プラントの複数の機器を制御するプラント制御方法であって、主制御部がプラント制御システムを初期化する初期化ステップと、外部入出力制御部が前記複数の機器からの信号を受け入れて、入力レジスタが前記複数の機器からの信号を記憶する外部入力ステップと、主制御部が、ユーザープログラム格納メモリに記憶されたファンクション実行管理テーブルに従って、制御プログラムに基づいて制御演算を実行する演算ステップと、前記演算ステップでの制御演算の結果に基づいて、外部入出力制御部が前記制御演算の結果を前記複数の機器に出力する外部出力ステップと、を有し、前記外部入力ステップから前記外部出力ステップを繰り返し、前記演算ステップは、保守ツールで生成された変更用ファンクションプログラムがユーザープログラム格納メモリに追加されたときに、前記主制御部からの指令により、ファンクション実行管理テーブル内が、前記変更用ファンクションプログラムの実行を可とする状態となる演算許可ステップと、前記制御プログラムに基づいた演算実行の後に、前記主制御部が、前記変更用ファンクションプログラムに基づいた演算実行を行う変更用ファンクション演算ステップと、を含むことを特徴とする。
【発明の効果】
【０００８】
本発明の実施形態によれば、プラントの制御を正常に行いながらユーザープログラムの更新をすることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係るプラント制御システムの構成を示すブロック図である。
【図２】第１の実施形態に係るプラント制御システムのユーザープログラム格納メモリ内の構成を示すブロック図である。
【図３】第１の実施形態に係るプラント制御システムの出力レジスタの構成を示すブロック図である。
【図４】第１の実施形態に係るプラント制御方法の手順を示す全体フロー図である。
【図５】第１の実施形態に係るプラント制御方法の演算ステップの詳細を示すフロー図である。
【図６】第２の実施形態に係るプラント制御システムの構成を示すブロック図である。
【図７】第３の実施形態に係るプラント制御システムの構成を示すブロック図である。
【図８】第３の実施形態に係るプラント制御方法の演算ステップの詳細を示すフロー図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態に係るプラント制御システムおよびプラント制御方法について説明する。ここで、互いに同一または類似の部分には、共通の符号を付して、重複説明は省略する。
【００１１】
［第１の実施形態］
図１は、第１の実施形態に係るプラント制御システムの構成を示すブロック図である。プラント制御システム５０は、プラント機器１を制御する。ここで、プラント機器１とは、プラント内のポンプ、弁等の機器、計装機器、装置、さらには下位の制御器など、制御対象とするもの、あるいは、本プラント制御システム５０にフィードバック信号を発するものを含む。プラント制御システム５０は、制御装置１０および保守ツール２０を有する。
【００１２】
制御装置１０は、主制御部１１、ユーザープログラム格納メモリ１２、入力レジスタ１３、出力レジスタ１４、保守ツール間伝送制御部１５、および外部入出力制御部１８を有する。ユーザープログラム格納メモリ１２は、あらかじめプログラミングされたユーザープログラム１２ａ（図２）等を格納する。
【００１３】
外部入出力制御部１８は、プラント機器１から、プラント機器１の現在の状態に関する情報を入力データとして受け入れるとともに、受け入れた入力データをもとに演算した結果の出力データを、プラント機器１への出力信号としてプラント機器１に送信する。外部入出力制御部１８は、たとえば、フィールドバスなどによる伝送、制御装置１０がディジタル制御の場合のアナログ／ディジタル変換、電流／電圧変換などを含めた中継を行う。
【００１４】
ここで、入力信号は、各機器の起動停止信号等の状態信号、計装機器からの計測信号、制御器の制御状態信号、あるいは制御フィードバック信号などを含む。出力信号は、起動停止指令信号、制御器への目標指令信号などを含む。
【００１５】
入力レジスタ１３は、外部入出力制御部１８が受け入れたプラント機器１からの入力信号を入力データとして記憶する。入力レジスタ１３に記憶される入力データは、外部入出力制御部１８がプラント機器１から入力信号を受け入れる周期ごとに最新のデータに更新される。
【００１６】
主制御部１１は、演算部１１ａ、管理部１１ｂ、および主制御部レジスタ１１ｃを有する。管理部１１ｂは、制御装置１０内の各要素の処理の進行を管理、制御するプロセッサである。
【００１７】
演算部１１ａは、後述するファンクション実行管理テーブル１２ｂ（図２）に従って、入力レジスタ１３に記憶された入力データおよび主制御部レジスタ１１ｃに記憶された制御演算データに基づき、ユーザープログラム１２ａを用いて制御演算を実行する。ここで、制御演算とは、制御プログラムあるいはファンクションプログラムの内容に基づく演算である。
【００１８】
主制御部レジスタ１１ｃは、演算部１１ａで行われた制御演算の結果のうち、次の周期の新たな入力データとともに次のタイミングの制御演算に必要なデータを記憶する。なお、演算部１１ａで行われた制御演算の結果のうち、制御あるいは表示のために制御装置１０から出力すべきデータは、出力データとして出力レジスタ１４内に記憶される。
【００１９】
保守ツール２０は、プログラム設定部２１、表示部２２、および切換え指令部２３を有する。プログラム設定部２１は、制御装置１０のユーザープログラム格納メモリ１２に格納するための変更用ファンクションプログラムを設定、記憶し、保守ツール間伝送制御部１５に出力する。保守ツール間伝送制御部１５に出力された変更用ファンクションプログラムは、ユーザープログラム格納メモリ１２に格納される。
【００２０】
ここで、ファンクションとは、制御装置１０の制御内容を構成する要素をいう。すなわち、制御装置１０の制御内容は、複数のファンクションに分割できる。また、制御装置１０の制御内容を記述し、制御に用いられている全体のユーザープログラムを、以下、制御プログラムと呼ぶ。制御がｎ個のファンクションから構成される場合、ｉ番目のファンクションの内容を記述するプログラムを、第ｉファンクションプログラム（ただし、ｉ＝１，２、…、ｎ）と呼ぶこととする。また、いずれかのファンクションについての変更用のプログラムを、変更用ファンクションプログラムと呼び、第ｉファンクションプログラムの変更用のプログラムを、第ｉａ変更用ファンクションプログラムと表記する。
【００２１】
表示部２２は、制御装置１０の演算部１１ａによる演算結果を表示する。表示される対象は、ユーザープログラム格納メモリ１２に格納され、演算が実施されるすべてのプログラムの演算結果である。すなわち、実際にプラント機器１の制御に用いられている現状の第１ファンクションプログラムないし第ｎファンクションプログラムに基づく演算結果、および変更用ファンクションプログラムに基づく演算結果である。
【００２２】
切換え指令部２３は、後述するユーザープログラム格納メモリ１２に記憶されているプログラム間の切換えの指令を発するための外部からの切換え指令信号を受け入れて、保守ツール間伝送制御部１５に出力する。
【００２３】
なお、保守ツール間伝送制御部１５が切換え指令を受けると、後述する出力レジスタ１４内の通常出力レジスタ領域１４ａ（図３）に記憶されるデータが書き換えられる。この結果、ユーザープログラム格納メモリ１２内に記憶された変更用ファンクションプログラムによる制御に切換えられる。
【００２４】
たとえば第ｊファンクションプログラムに代わる第ｊａファンクションプログラムであれば、出力レジスタ１４に出力され記憶されていた第ｊファンクションプログラムに基づく演算結果に代わって、第ｊａファンクションプログラムに基づく演算結果が出力レジスタ１４に出力され出力レジスタ１４に記憶される。この結果、第ｊａファンクションプログラムがプラント機器１の制御に使用される。
【００２５】
図２は、第１の実施形態に係るプラント制御システムのユーザープログラム格納メモリ１２の構成を示すブロック図である。ユーザープログラム格納メモリ１２は、ユーザープログラム１２ａおよびファンクション実行管理テーブル１２ｂを記憶する。
【００２６】
今、制御装置１０が、プラント機器１を制御する際の制御内容を記述するユーザープログラム１２ａが、第１ファンクションプログラムないし第ｎファンクションプログラムに分割される場合を示している。また、このうちの、第１ファンクションプログラムを変更する場合を示している。また、第ｊファンクションプログラムの変更プログラムを第ｊａファンクションプログラムとする。図２は、ｊが１の場合を示している。
【００２７】
ユーザープログラム格納メモリ１２は、ユーザープログラム１２ａとして、第１ファンクションプログラムないし第ｎファンクションプログラム、および第１ａファンクションプログラムを格納している。
【００２８】
また、ファンクション実行管理テーブル１２ｂは、第ｊファンクション（ただし、ｊ＝１，２，…，ｎ）について、（１）実行周期、（２）実行開始アドレス、（３）実行可否、および（４）変更分の実行開始アドレスを規定している。
【００２９】
（１）の実行周期は、第ｊファンクションに関する実行周期である。すなわち、後述するように第１ファンクションないし第ｎファンクションの全体は、全体周期で繰り返されるが、必ずしも全てのファンクションを実行する必要はない。たとえば、圧力や流量などのように応答の速い制御量に関する制御の場合に比べれば、温度などの制御量に関する制御の場合は応答が遅い。このため、圧力や流量などのように応答の速い制御量に関する制御の制御周期に比べて、温度などの制御量に関する制御の制御周期は長くとってもよい。すなわち、全体周期での繰り返しのタイミングごとに実行する必要はない。このように、実行周期はファンクションごとに異なる。
【００３０】
（２）実行開始アドレスは、ユーザープログラム格納メモリ１２に格納された第ｊファンクションプログラムの開始アドレスである。（３）実行可否は、第ｊファンクションプログラムの変更プログラムである第ｊａファンクションプログラムに基づく演算の実行の可否を示す。実行可の場合は、演算が実行される。実行否の場合には演算は実行されない。（４）変更分の実行開始アドレスは、ユーザープログラム格納メモリ１２に格納された第ｊａファンクションプログラムの開始アドレスである。
【００３１】
図３は、第１の実施形態に係るプラント制御システムの出力レジスタの構成を示すブロック図である。出力レジスタ１４は、図３に示すように通常出力レジスタ領域１４ａと確認用出力レジスタ領域１４ｂの２種類に分けられている。通常出力レジスタ領域１４ａと確認用出力レジスタ領域１４ｂとは、各エリア先頭のメモリアドレスが異なるのみで領域内のレジスタ毎のユーザープログラムへの割り当ては同一である。
【００３２】
通常出力レジスタ領域１４ａには、現在制御に用いられているファンクションプログラムによる演算結果の通常出力データが記憶されている。また、確認用出力レジスタ領域１４ｂには、変更用ファンクションプログラムによる演算結果の確認用出力が記憶されている。プラント機器１へは、通常出力レジスタ領域１４ａに記憶された通常出力データが、外部入出力制御部１８を経由して制御信号として出力される。また、保守ツール２０には、通常出力データと確認用出力データの両方が出力され、保守ツール２０の表示部２２に表示される。
【００３３】
保守ツール２０の切換え指令部２３から切換え指令信号が出されたときは、保守ツール間伝送制御部１５がその切換え指令信号を受け入れる。その結果、主制御部１１の管理部１１ｂが出力レジスタ１４に指令を発し、出力レジスタ１４内の通常出力レジスタ１４ａでは、確認用出力データに対応した、それまで記憶されていた通常出力データから、確認用出力データに書き換えられる。この結果、確認用出力データが、外部入出力制御部１８を経由して制御信号として出力される。
【００３４】
図４は、第１の実施形態に係るプラント制御方法の手順を示す全体フロー図である。なお、以下に説明するステップＳ２０からステップＳ５０までの繰り返しのステップのサイクルを、全体サイクルと呼ぶこととする。
【００３５】
まず、制御装置１０による制御実行前に、プラント制御システム５０内のハードウェアおよびソフトウェアの初期化を行う（ステップＳ１０）。すなわち、制御装置１０の電源が投入されたとき、あるいは、リセット、再起動が実施された場合には、初期化が行われる。
【００３６】
次に、外部入出力制御部１８が、外部入力を受け入れる（ステップＳ２０）。外部入出力制御部１８によって受け入れられた外部入力は、外部入力データとして入力レジスタ１３に記憶される。
【００３７】
次に、主制御部１１の演算部１１ａが制御演算を実施する（ステップＳ３０）。すなわち、演算部１１ａは、入力レジスタ１３に記憶された新たな入力データと、主制御部レジスタ１１ｃに記憶された前回ステップの演算結果に基づいて、制御演算を行う。制御演算の結果は、出力レジスタ１４あるいは主制御部レジスタ１１ｃに記憶される。ここで、出力レジスタ１４に記憶された出力データ、および主制御部レジスタ１１ｃに記憶された演算データは、この新たなステップでの演算結果で、前回のデータが今回のデータにそれぞれ更新される。
【００３８】
次に、出力レジスタ１４に記憶された出力データのうち、通常出力データは、外部入出力制御部１８から、プラント機器１に制御指令信号として出力される。また、保守ツール２０のプログラム設定部２１から変更用ファンクションプログラムが制御装置１０に出力され、ユーザープログラム格納メモリ１２内に変更用ファンクションプログラムが収納されている場合も含む。この場合には、出力レジスタ１４に記憶された通常出力データおよび確認用出力データの両方が、保守ツール間伝送制御部１５を介して保守ツール２０に出力され、表示部２２により表示される（ステップＳ４０）。
【００３９】
次に、保守ツール処理を行う（ステップＳ５０）。保守ツール処理としては、いくつかの処理がある。第１は、プログラム設定部２１に更新用の変更用ファンクションプログラムが設定され記憶されたときに、プログラム設定部２１が変更用ファンクションプログラムを保守ツール間伝送制御部１５に出力する処理である。
【００４０】
第２は、変更用ファンクションプログラムが、保守ツール間伝送制御部１５に受け入れられて、主制御部１１の主制御レジスタ１１ｃで変更用ファンクションプログラムが実行可とされた以降の、表示部２２における演算結果の表示である。表示は、全体サイクルの周期ごとに行う必要はなく、逆に、たとえば、０．１秒おきないしは数秒おき程度の周期で、トレンドの形で表示すると、予測との比較がしやすい。このように、表示部２２による表示を見て、変更用ファンクションプログラムに基づく制御演算に異常が見られないことを判断する。
【００４１】
第３は、表示部２２の表示により、演算結果で、変更用ファンクションプログラムに問題がないと確認された場合には、外部から保守ツール２０に切換え指令信号が入力される。この切換え指令信号を受けて、切換え指令部２３は、保守ツール間伝送制御部１５を介して、主制御部１１の管理部１１ｂに切換え指令を出力する。この結果、出力レジスタ１４内の通常出力レジスタ領域１４ａ内のデータが、それまでの通常出力データから、それまでの確認用出力データに書き換えられる。すなわち、変更用ファンクションプログラムに基づく演算結果が、制御用の出力として用いられることになる。
【００４２】
また、主制御部１１の管理部１１ｂは、ユーザープログラム格納メモリ１２内のファンクション実行管理テーブル１２ｂ内の当該ファンクション、すなわち変更用ファンクションプログラムが第ｉ番目の場合の第ｉ番目のファンクション、に対応する実行開始アドレスを実行開始アドレスａの情報に書き換えると共に、実行可否部分を、可から否に変更する。
【００４３】
図５は、第１の実施形態に係るプラント制御方法の演算ステップの詳細を示すフロー図である。演算ステップＳ３０は、制御プログラムの中の最初の第１ファンクションから最後の第ｎファンクションまでを順次実行する。図５では、第ｉファンクションについての流れを示している（ステップＳ３１）。流れは、以下に示すように、第ｉファンクションプログラムについての判定、実行と、その変更用の第ｉａファンクションプログラムが有れば、第ｉファンクションプログラムの次に第ｉａファンクションプログラムについての判定、実行となる。
【００４４】
まず、全体サイクルの手順が行われるタイミングの中で、そのタイミングが第ｉファンクションの演算実行のタイミングであるか否かを判定する（ステップＳ３２）。第ｉファンクションの演算の実行周期と、全体周期とが一致している場合は、全体サイクルの都度、ファンクションｉの実行タイミングである。この場合は、ステップＳ３２での判定結果はＹＥＳとなり、次のステップＳ３３に移行する。
【００４５】
また、全体サイクルの周期に対して第ｉファンクションの演算実行の周期が、たとえば５倍の実行周期である場合は、全体サイクルの５回に１回が実行タイミングとなる。この場合は、ステップＳ３２での判定結果はＹＥＳとなり、次のステップＳ３３に移行する。実行タイミングではない場合は、ステップＳ３２での判定結果はＮＯとなり、次の第（ｉ＋１）ファンクションの演算に移る。
【００４６】
当該第ｉファンクションの実行タイミングであると判定された場合（ステップＳ３２  ＹＥＳ）、主制御部１１の管理部１１ｂは、出力レジスタ１４のアドレスを通常出力レジスタ側、すなわち図３に示された出力レジスタ１４のアドレスをアドレス０とする（ステップＳ３３）。
【００４７】
次に、第ｉファンクションプログラムに基づいて制御演算を実行する（ステップＳ３４）。制御演算は、たとえば、プラント機器１の状態に基づくプラント全体の制御の進行条件の確認演算、個々の制御器への制御目標値すなわち指令信号の演算などである。制御演算は、入力レジスタ１３に記憶されているプラント機器１からの入力データに基づいて行われる。
【００４８】
次に、第ｉａファンクションが実行可となっているか否かを判定する（ステップＳ３５）。すなわち、第ｉファンクションプログラムの変更用の第ｉａファンクションプログラムが、ユーザープログラム格納メモリ１２に格納されている場合は、この結果として、ファンクション実行管理テーブル１２ｂでは第ｉａファンクションが実行可となっているので、これが実行可か否かを確認する。
【００４９】
ステップＳ３５で実行可となっていない場合（ステップＳ３５  ＮＯ）は、ステップＳ３１に戻り、次の第（ｉ＋１）ファンクションの演算に移る。ステップＳ３５で実行可となっている場合（ステップＳ３５  ＹＥＳ）は、出力レジスタアドレスを、確認用出力レジスタアドレスに切換える（ステップＳ３６）。
【００５０】
ステップＳ３６の切換えの後に、主制御部１１の管理部１１ｂは、ファンクション実行管理テーブル１２ｂに従って、第ｉａファンクションに基づく制御演算を実行する（ステップＳ３７）。第ｉａファンクションに基づく制御演算は、入力レジスタ１３に記憶されているプラント機器１からの入力データに基づいて行われる。ここで使用される入力データは、ステップＳ３４での第ｉファンクションプログラムに基づく制御演算で用いられる入力データと同一である。この後、ステップＳ３１に戻り、第（ｉ＋１）ファンクションの演算に移行する。
【００５１】
以上の様に本実施形態によれば、制御装置１０のユーザープログラムを変更する必要が生じた場合、変更前のユーザープログラムによるプラント制御を継続させながら、変更後のユーザープログラムの動作確認が可能となり、当該動作確認で正常動作を確認した上で変更後のユーザープログラムへの更新が可能となり、信頼性の高いプラント制御を行う制御装置を提供できる。
【００５２】
［第２の実施形態］
図６は、第２の実施形態に係るプラント制御システムの構成を示すブロック図である。本実施形態は、第１の実施形態の変形である。第１の実施形態においては、外部から入力された切換え指令信号は、保守ツール２０の切換え指令部２３で受け入れられる。
【００５３】
一方、本第２の実施形態においては、外部入出力制御部１８は、切換え指令信号受け入れ部１８ａを有する。切換え指令信号受け入れ部１８ａは、切換え指令信号を受け入れる。切換え指令信号は、たとえば、中央制御盤などのプラントの運転操作用の装置から発せられる。
【００５４】
発せられるタイミングは、たとえば、プラントの制御におけるブレークポイント、あるいはサブブレークポイントで、進行条件が整ったことが確認されたタイミングなどである。
【００５５】
切換え指令信号が発せられると、外部入出力制御部１８の切換え指令信号受け入れ部１８ａが受け入れる。この結果、主制御部１１の管理部１１ｂは、出力レジスタ１４内の通常出力レジスタ領域１４ａ内を、それまでの通常出力データから、確認用出力レジスタ領域１４ｂ内に記憶されていた確認用出力データに書き換える。この結果、制御プログラムに基づく制御演算の結果の一部が、変更用ファンクションプログラムに基づく制御演算の結果に変更され、変更後のプログラムによる制御に移行する。
【００５６】
以上のように、本実施形態により、第１の実施形態と同様の作用、効果が、自動的に得られる。
【００５７】
［第３の実施形態］
図７は、第３の実施形態に係るプラント制御システムの構成を示すブロック図である。本実施形態は、第１の実施形態の変形である。第１の実施形態においては、外部から入力された切換え指令信号は、保守ツール２０の切換え指令部２３で受け入れられる。
【００５８】
一方、本第３の実施形態においては、入力レジスタ１３に記憶された入力データあるいは出力レジスタ１４に記憶された出力データに基づいて、切換え可の条件が成立する形態である。
【００５９】
たとえば、入力レジスタ１３の場合は、プラント機器１のうちの特定の機器、装置がある状態になったことによって、切換え条件が成立したとすることになる。あるいは、出力レジスタ１４の場合には、制御演算の結果による出力データがある値になったことによって切換え条件が成立したとすることになる。たとえば、定常と判断できる状態になったなどである。
【００６０】
この切換え条件が成立した場合は、主制御部１１の管理部１１ｂは、ファンクション実行管理テーブル１２ｂ内の対象とするファンクション、たとえば第ｉファンクションの実行開始アドレスを、この変更用の第ｉａファンクションの実行開始アドレスに書き換える。また、ファンクション実行管理テーブル１２ｂ内の第ｉａファンクションの実行可否を実行否に書き換える。これにより、以降の当該ファンクションの実行は変更後のユーザープログラムとなる。
【００６１】
また、切換え条件が成立すると、主制御部１１の管理部１１ｂは、出力レジスタ１４内の通常出力レジスタ領域１４ａ内を、それまでの通常出力データから、確認用出力レジスタ領域１４ｂ内に記憶されていた確認用出力データに書き換える。
【００６２】
図８は、第３の実施形態に係るプラント制御方法の演算ステップの詳細を示すフロー図である。ステップＳ３１ないしステップＳ３７までは、第１の実施形態と同様である。
【００６３】
ステップＳ３７の実行の後、入力レジスタ１３または出力レジスタ１４の内容あるいは値が、特定の指定された内容あるいは値であるかを確認する（ステップＳ３８）。入力レジスタ１３または出力レジスタ１４の内容あるいは値が、特定の指定された内容あるいは値である場合（ステップＳ３８  ＹＥＳ）には、たとえば第ｉファンクションプログラムから、この変更用の第ｉａファンクションプログラムへの切換え条件が成立する。
【００６４】
切換え条件が成立した場合は、主制御部１１の管理部１１ｂは、ファンクション実行管理テーブル１２ｂ内の対象とするファンクション、たとえば第ｉファンクションの実行開始アドレスを、この変更用の第ｉａファンクションの実行開始アドレスに書き換える。また、ファンクション実行管理テーブル１２ｂ内の第ｉａファンクションの実行可否を実行否に書き換える。これにより、以降の当該ファンクションの実行は変更後のユーザープログラムとなる。
【００６５】
このように、本第３の実施形態によれば、制御装置のユーザープログラムを変更する必要が生じた場合、変更前のユーザープログラムによるプラント制御を継続させながら、変更後のユーザープログラムの動作確認が可能となる。
【００６６】
また、さらに、この動作確認で正常動作を確認できた後で、更にプラントの運転状態が指定した状態になった時に、自動で変更後のユーザープログラムへの更新が可能となり、信頼性の高いプラント制御を行う制御装置を提供できる。
【００６７】
［その他の実施形態］
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。また、各実施形態の特徴を組み合わせてもよい。
【００６８】
さらに、これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。
【００６９】
これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７０】
１…プラント機器、１０…制御装置、１１…主制御部、１１ａ…演算部、１１ｂ…管理部、１１ｃ…主制御部レジスタ、１２…ユーザープログラム格納メモリ、１２ａ…ユーザープログラム、１２ｂ…ファンクション実行管理テーブル、１３…入力レジスタ、１４…出力レジスタ、１４ａ…通常出力レジスタ領域、１４ｂ…確認用出力レジスタ領域、１５…保守ツール間伝送制御部、１８…外部入出力制御部、１８ａ…切換え指令信号受け入れ部、２０…保守ツール、２１…プログラム設定部、２２…表示部、２３…切換え指令部、５０…プラント制御システム
【図１】
2016206890.tif 000003
【図２】
2016206890.tif 000004
【図３】
2016206890.tif 000005
【図４】
2016206890.tif 000006
【図５】
2016206890.tif 000007
【図６】
2016206890.tif 000008
【図７】
2016206890.tif 000009
【図８】
2016206890.tif 000010