(57)【要約】【課題】プラント制御装置を制御状態のままで対象の測定箇所を任意に設定可能とする。【解決手段】実施形態によれば、ソフトウェア処理時間計測方法は、保守ツールが、ソフトウェアの処理プロセスにおける第１および第２の指定アドレスについての外部入力を受け入れて自動割り込み部に記憶させるアドレス指定ステップＳ０２と、割り込み処理部が、自動割り込み部による割り込みが行われた第１割り込み時刻をタイマコントローラから読み出してメモリに記憶させる第１割り込み時刻記憶ステップＳ０４と、割り込み処理部が、自動割り込み部による割り込みが行われた第２割り込み時刻をタイマコントローラから読み出してメモリに記憶させる第２割り込み時刻記憶ステップＳ０８と、割り込み処理部が、メモリに記憶されている第１割り込み時刻と第２割り込み時刻との時間差を算出し、算出した結果をメモリに記憶させる時間差記憶ステップＳ０９とを有する。【選択図】図７
2015141433.tif 000002
【特許請求の範囲】
【請求項１】
割り込み処理部を有するソフトウェアを格納するメモリを有するプラント制御装置と、自動割り込み部およびタイマコントローラを有するＭＰＵと、少なくとも外部入力受け入れ可能な保守ツールとを備えるプラント制御システムが、前記ソフトウェアによる処理プロセスによって動作している状態で、前記ソフトウェアの処理時間を計測するソフトウェア処理時間計測方法において、
前記保守ツールが、前記ソフトウェアの処理プロセスにおける第１の指定アドレスおよび第２の指定アドレスについての外部入力を受け入れて前記自動割り込み部に記憶させるアドレス指定ステップと、
前記割り込み処理部が、前記第１の指定アドレスでの前記自動割り込み部による割り込みが行われた第１割り込み時刻を前記タイマコントローラから読み出して前記メモリに記憶させる第１割り込み時刻記憶ステップと、
前記割り込み処理部が、前記第２の指定アドレスでの前記自動割り込み部による割り込みが行われた第２割り込み時刻を前記タイマコントローラから読み出して前記メモリに記憶させる第２割り込み時刻記憶ステップと、
前記割り込み処理部が、前記メモリに記憶されている前記第１割り込み時刻と前記第２割り込み時刻との時間差を算出し、算出した結果を前記メモリに記憶させる時間差記憶ステップと、
を有することを特徴とするソフトウェア処理時間計測方法。
【請求項２】
前記時間差記憶ステップでは、前記メモリに新たに時間差を記憶するたびに、前記割り込み処理部が、前記メモリに記憶されている現在までの各時間差データから平均値、最大値、最小値を算出して、前記メモリがこれらを記憶するステップを有することを特徴とする請求項１に記載のソフトウェア処理時間計測方法。
【請求項３】
前記アドレス指定ステップは、前記保守ツールが前記時間差の目標値の外部入力を受け入れるステップをさらに有し、
前記時間差記憶ステップでは、前記割り込み処理部が、新たに記憶された前記時間差データと前記目標値を比較し、前記時間差データが前記目標値を超えている場合はエラーログ用の信号を発することを特徴とする請求項１または請求項２に記載のソフトウェア処理時間計測方法。
【請求項４】
プラント制御装置のソフトウェアによる処理を行いながら動作し、前記ソフトウェアの処理時間計測が可能なプラント制御システムにおいて、
前記プラント制御装置は、
前記ソフトウェアの実行処理が到達した時に割り込みを行うべき第１の指定アドレスおよび第２の指定アドレスについての外部入力を受け入れるとともに、前記処理時間計測に関する測定結果を表示する入出力装置を有する保守ツールと、
前記第１の指定アドレスおよび第２の指定アドレスを、割り込み機能を有する自動割り込み部に出力し収納させるとともに、前記自動割り込み部により割り込みが行われたときに現在時間をタイマコントローラから読み出し、メモリに記憶させる割り込み処理部と、
を有することを特徴とするプラント制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プラント制御装置のソフトウェアの処理時間計測方法およびソフトウェアの処理時間計測機能を有するプラント制御システムに関する。
【背景技術】
【０００２】
プラント制御装置は、フィールドバス上の入出力装置（ＩＯ装置）やネットワーク上の外部機器と入出力を行い、プラント制御を実施している。プラント制御装置の基本ソフトウェアは、一般的に組込みソフトウェアで作成されている。
【０００３】
一般的に組込みのソフトウェアが動作するハードウェア環境は、処理性能を十分に持ち合わせていないことが多い。この為、基本ソフトウェアの個々の処理の実行時間を把握することで全体の性能を満足していることを確認しておく必要がある。また、各処理の実行時間が目標範囲内の時間で処理されていることを確認する必要もある。
【０００４】
従来の各ソフトウェア処理の実行時間を把握するためには、計測箇所に専用のプログラムコードを予め書き込んでおく必要があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２５０９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の方法では、測定箇所を変更する度に、基本ソフトウェアの変更を行わなければならなかった。このため、計測箇所に専用のプログラムコードを追加した基本ソフトウェアをプラント制御装置へ適用する場合、プラント制御状態では適用できず、プラント制御を停止する必要があった。
【０００７】
そこで、本発明の実施形態は、プラント制御装置を停止せず制御状態のままオンラインで対象の測定箇所を任意に設定可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するため、本実施形態は、割り込み処理部を有するソフトウェアを格納するメモリを有するプラント制御装置と、自動割り込み部およびタイマコントローラを有するＭＰＵと、少なくとも外部入力受け入れ可能な保守ツールとを備えるプラント制御システムが、前記ソフトウェアによる処理プロセスによって動作している状態で、前記ソフトウェアの処理時間を計測するソフトウェア処理時間計測方法において、前記保守ツールが、前記ソフトウェアの処理プロセスにおける第１の指定アドレスおよび第２の指定アドレスについての外部入力を受け入れて前記自動割り込み部に記憶させるアドレス指定ステップと、前記割り込み処理部が、前記第１の指定アドレスでの前記自動割り込み部による割り込みが行われた第１割り込み時刻を前記タイマコントローラから読み出して前記メモリに記憶させる第１割り込み時刻記憶ステップと、前記割り込み処理部が、前記第２の指定アドレスでの前記自動割り込み部による割り込みが行われた第２割り込み時刻を前記タイマコントローラから読み出して前記メモリに記憶させる第２割り込み時刻記憶ステップと、前記割り込み処理部が、前記メモリに記憶されている前記第１割り込み時刻と前記第２割り込み時刻との時間差を算出し、算出した結果を前記メモリに記憶させる時間差記憶ステップと、を有することを特徴とする。
【０００９】
また、本実施形態は、プラント制御装置のソフトウェアによる処理を行いながら動作し、前記ソフトウェアの処理時間計測が可能なプラント制御システムにおいて、前記プラント制御装置は、前記ソフトウェアの実行処理が到達した時に割り込みを行うべき第１の指定アドレスおよび第２の指定アドレスについての外部入力を受け入れるとともに、前記処理時間計測に関する測定結果を表示する入出力装置を有する保守ツールと、前記第１の指定アドレスおよび第２の指定アドレスを、割り込み機能を有する自動割り込み部に出力し収納させるとともに、前記自動割り込み部により割り込みが行われたときに現在時間をタイマコントローラから読み出し、メモリに記憶させる割り込み処理部と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明の実施形態によれば、プラント制御装置を停止せず制御状態のままオンラインで対象の測定箇所を任意に設定することができる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係るプラント制御システムの構成を示すブロック図である。
【図２】プラント制御装置のメモリを示すブロック図である。
【図３】プラント制御装置のメモリの基本ソフトウェアの構成を示すブロック図である。
【図４】処理時間計測方法で用いる保守ツールの構成を示すブロック図である。
【図５】処理時間計測方法で用いるＭＰＵの構成を示すブロック図である。
【図６】基本ソフトウェアの処理時間計測方法における保守ツールの入出力部の表示内容を示す画面の図である。
【図７】基本ソフトウェアの処理時間計測方法の手順を示すフロー図である。
【図８】第２の実施形態に係る基本ソフトウェアの処理時間計測方法における保守ツールの入出力部の表示内容を示す画面の図である。
【図９】基本ソフトウェアの処理時間計測方法の手順を示すフロー図である。
【図１０】第３の実施形態に係る基本ソフトウェアの処理時間計測方法における保守ツールの入出力部の表示内容を示す画面の図である。
【図１１】基本ソフトウェアの処理時間計測方法の手順を示すフロー図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の実施形態に係る基本ソフトウェア処理時間計測方法およびプラント制御システムについて説明する。ここで、互いに同一または類似の部分には、共通の符号を付して、重複説明は省略する。
【００１３】
［第１の実施形態］
図１は、第１の実施形態に係るプラント制御システムの構成を示すブロック図である。プラント制御システム５００は、プラント制御装置１００、保守ツール１０、およびＭＰＵ（Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）２０を有する。
【００１４】
プラント制御装置１００は、メモリ２００、ツールＩ／Ｆ（インターフェイス）３１０、外部入出力装置３２０、および外部Ｉ／Ｆ（インターフェイス）３３０を有する。プラント制御装置１００は、外部入出力装置３２０を介して、外部からの入力を受け入れ、また、外部に出力する。
【００１５】
保守ツール１０は、プラント制御装置１００のツールＩ／Ｆ３１０を介してプラント制御装置１００と信号の授受を行う。保守ツール１０は、たとえば、プラント制御装置１００のアナログ入力、ディジタル入力の処理プログラムをプラント制御装置１００がインストールできるようにプラント制御装置１００に提供する。
【００１６】
ＭＰＵ２０は、プラント制御装置１００の外部Ｉ／Ｆ３３０を介してプラント制御装置１００と信号の授受を行う。ＭＰＵ２０は、プラント制御装置１００、保守ツール１０を含めて、処理の監視、制御を行う
図２は、メモリ２００を示し、図３はメモリ２００内のプラント制御装置基本ソフトウェア２１０を示し、図４は、保守ツール１０を示している。
【００１７】
メモリ２００には、プラント制御装置基本ソフトウェア２１０、プラント制御装置アプリケーションデータ２２０、プラント制御装置アプリケーションコード２３０、プラント制御装置カレントステータス２４０、プラント制御装置エラーログ履歴２５０、およびプラント制御装置基本ソフトウェア２１０のワーク結果であるプラント制御装置基本ソフトウェアワークデータ２６０が収納される。
【００１８】
プラント制御装置１００のプラント制御装置基本ソフトウェア２１０は、リアルタイムＯＳ２１１、割り込み処理部２１２、入力処理部２１３、出力処理部２１４、ユーザプログラム実行処理部２１５、および保守ツールＩ／Ｆ処理部２１６を有する。
【００１９】
保守ツール１０は、ユーザプログラムダウンロード部１１、ユーザプログラムモニタ部１２、エラーログ表示部１３、および性能測定部１４を有する。
【００２０】
図５は、ＭＰＵ２０の構成を示すブロック図である。ＭＰＵ２０は、自動割り込み部２１、タイマコントローラ２２、およびＣＰＵ２３を有する。自動割り込み部２１は、チャンネルＡとチャンネルＢの２つのチャンネルを有する。
【００２１】
自動割り込み部２１は、チャンネルＡとチャンネルＢに格納されているそれぞれの指定アドレスにプラント制御装置基本ソフトウェア２１０の実行処理が到達すると、それを検知して、プラント制御装置基本ソフトウェア２１０の処理に割り込みを行う機能を有する。この結果、プラント制御装置基本ソフトウェア２１０はこの指定アドレスにて処理を停止する。
【００２２】
ここで、アドレスとは、プラント制御装置基本ソフトウェア２１０のプログラムがメモリ２００に呼び込まれた時の、メモリ２００におけるアドレスであり、それぞれメモリ２００における常に一定のアドレスである。詳細には、たとえば、設計段階では、プログラム内を関数レベルでグルーピングして、先頭アドレスを指定する。また、コンパイラにより相対アドレスが自動的に振り分けられる。評価したい処理時間の２つの処理を決定し、それぞれの処理に対応するアドレスを先頭アドレスと相対アドレスとに基づいて事前に確認することにより、指定アドレスを決定する。
【００２３】
図６は、保守ツール１０の入出力部の表示内容を示す画面の図である。この表示画面２１３ａによって、外部から入力し、かつ、出力表示される。図６で示す画面の左側は、入力側である。
【００２４】
まず、第１測定開始ポイントのタイトルの右側の欄に、第１測定開始ポイント、すなわち、図６の対象とする基本ソフトウェアの処理についての、処理開始時の指定アドレス（第１の指定アドレス）を入力する。次に、第２測定開始ポイントのタイトルの右側の欄に、第２測定開始ポイント、すなわち、図６の対象とする基本ソフトウェアの処理についての、処理終了時の指定アドレス（第２の指定アドレス）を入力する。
【００２５】
また、測定開始する場合は、測定開始の表示をクリックする。測定開始の指示を入力すると、表示画面２１３ａの右側の処理実行時間現在値の欄の右側に、第１測定開始ポイント到達時刻から第２測定開始ポイントまでの処理時間（μｓ）が表示される。
【００２６】
表示画面２１３ａの左側の測定停止の表示をクリックするまでは、測定を繰り返す。すなわち、第１の指定アドレス到達と第２の指定アドレス到達を繰り返す。したがって、表示画面２１３ａの右側の処理時間（μｓ）の表示は、その都度、最新の結果に更新される。なお、表示画面２１３ａは、クリックに限らず、タッチ方式でもよい。
【００２７】
図７は、基本ソフトウェアの処理時間計測方法の手順を示すフロー図である。
【００２８】
まず、第１の指定アドレスおよび第２の指定アドレスを外部指定し、収納する（ステップＳ０１）。具体的には、保守ツール１０の入出力部の表示画面２１３ａ（図６）の左側の第１測定開始ポイントおよび第２測定開始ポイントの欄に指定アドレスを入力する。入力された第１測定開始ポイント（第１の指定アドレス）および第２測定開始ポイント（第２の指定アドレス）はそれぞれ、ツールＩ／Ｆ３１０を経由してプラント制御装置１００のメモリ２００中のプラント制御装置基本ソフトウェア２１０の保守ツールＩ／Ｆ処理部２１６によって読み出される。保守ツールＩ／Ｆ処理部２１６は、読み込んだ第１および第２の指定アドレスを、ＭＰＵ２０の自動割り込み部２１に出力し、自動割り込み部２１のチャンネルＡとチャンネルＢに第１および第２の指定アドレスを収納させる。
【００２９】
保守ツール１０の入出力部の表示画面２１３ａの左側の測定開始をクリックすることにより計測が開始される。プラント制御装置基本ソフトウェア２１０の処理が、第１の指定アドレスに到達する（ステップＳ０２）と、ＭＰＵ２０の自動割り込み部２１がそれを検出しプラント制御装置基本ソフトウェア２１０の処理に割り込む（ステップＳ０３）。
【００３０】
自動割り込み部２１による割り込みがなされると、プラント制御装置基本ソフトウェア２１０の割り込み処理部２１２が、ＭＰＵ２０のタイマコントローラ２２から、対象とする処理の開始に対応する現在の時刻（第１チャンネル時刻）を読み出す。割り込み処理部２１２により読みだされた第１チャンネル時刻は、プラント制御装置１００のメモリ２００にプラント制御装置基本ソフトウェアワークデータ２６０として記憶される（ステップＳ０４）。第１チャンネル時刻の読み出しとともに、ＭＰＵ２０によって、プラント制御装置基本ソフトウェア２１０は割り込み状態から復帰する（ステップＳ０５）。
【００３１】
次に、プラント制御装置基本ソフトウェア２１０の処理が、第２の指定アドレスに到達する（ステップＳ０６）と、ＭＰＵ２０の自動割り込み部２１がそれを検出し、プラント制御装置基本ソフトウェア２１０の処理に割り込む（ステップＳ０７）。
【００３２】
自動割り込み部２１による割り込みがなされると、プラント制御装置基本ソフトウェア２１０の割り込み処理部２１２が、ＭＰＵ２０のタイマコントローラ２２から、対象とする処理の終了に対応する現在の時刻（第２チャンネル時刻）を読み出す。割り込み処理部２１２が第２チャンネル時刻を読み出すと、プラント制御装置１００のメモリ２００にプラント制御装置基本ソフトウェアワークデータ２６０として第２チャンネル時刻を記憶する（ステップＳ０８）。
【００３３】
次に、プラント制御装置基本ソフトウェア２１０の割り込み処理部２１２は、メモリ２００の中のプラント制御装置基本ソフトウェアワークデータ２６０から、対象とする処理の第１チャンネル時刻と第２チャンネル時刻を読み出す。割り込み処理部２１２は、さらに、（第２チャンネル時刻−第１チャンネル時刻）を算出し、処理時間（現在値）として、メモリ２００にプラント制御装置カレントステータス２４０として収納する。保守ツール１０の性能測定部１４は、プラント制御装置カレントステータス２４０に収納された処理時間（現在値）を読み出し、保守ツール１０の入出力部の表示画面２１３ａの右側の処理実行時間（現在値）の欄に表示する（ステップＳ０９）。続いて、ＭＰＵ２０によって、プラント制御装置基本ソフトウェア２１０は割り込み状態から復帰する（ステップＳ１０）。
【００３４】
保守ツール１０の入出力部の表示画面２１３ａの左側の測定開始をクリックして計測が開始されるとともに、ステップＳ０１からステップＳ１０を繰り返す。この繰り返しは、保守ツール１０の入出力部の表示画面２１３ａの左側の測定停止をクリックして計測を終了することによって完了する。
【００３５】
以上のように本第１の実施形態によれば、割り込みを行うアドレスの指定を、プラント制御装置１００内に設けずに、外部から指定可能としたことによって、プラント制御装置１００を停止せず制御状態のままオンラインで対象の測定箇所を任意に設定でき、測定結果をユーザに提供することができる。
【００３６】
［第２の実施形態］
図８は、第２の実施形態に係る基本ソフトウェアの処理時間計測方法における保守ツールの入出力部の表示内容を示す画面の図である。本実施形態は、第１の実施形態の変形である。本第２の実施形態における外部入出力装置３２０の表示画面２１３ｂには、図８に示すように、処理実行時間（平均値）、処理実行時間（最小値）、処理実行時間（最大値）がさらに表示される。
【００３７】
図９は、基本ソフトウェアの処理時間計測方法の手順を示すフロー図である。プラント制御装置基本ソフトウェア２１０の割り込み処理部２１２は、処理時間（現在値）を算出し、プラント制御装置カレントステータス領域２４０がこの値を収納するステップＳ０９の後であって、ステップＳ１０の割り込み状態への復帰の前に、割り込み処理部２１２は、さらに演算を行う（ステップＳ２１）。すなわち、割り込み処理部２１２は、メモリ２００にプラント制御装置カレントステータス２４０として収納されている今回の処理実行時間とそれ以前の複数の処理実行時間を読み出して、処理実行時間の平均値、最小値、および最大値を算出する。算出結果は、プラント制御装置カレントステータス２４０として収納されるとともに、保守ツール１０の入出力部の表示画面２１３ｂの右側に表示用として出力される。なお、標準偏差などを併せて算出し、表示してもよい。
【００３８】
このように、処理実行時間のばらつきをさらに表示することによって、プラント制御装置基本ソフトウェア２１０の性能の安定度を把握することができる。
【００３９】
［第３の実施形態］
図１０は、第３の実施形態に係る基本ソフトウェアの処理時間計測方法における保守ツールの入出力部の表示内容を示す画面の図である。本実施形態は、第２の実施形態の変形である。本第３の実施形態における保守ツール１０の入出力部の表示画面２１３ｃの表示内容は、図１０に示すように、目標処理時間の入力欄がさらに表示され、外部から、目標処理時間が入力可能に構成されている。
【００４０】
図１１は、基本ソフトウェアの処理時間計測方法の手順を示すフロー図である。プラント制御装置基本ソフトウェア２１０の割り込み処理部２１２が、処理時間（現在値）と、処理時間の平均値、最小値および最大値の算出を行うステップ２１の後に、プラント制御装置基本ソフトウェア２１０の割り込み処理部２１２は、処理時間（現在値）が目標処理時間を超えているか否かを比較する（ステップＳ３１）。
【００４１】
処理時間（現在値）が目標処理時間を超えている（ステップＳ３１  ＹＥＳ）場合は、エラーログを発する（ステップＳ３２）。その後、割り込み状態から復帰する（ステップＳ１０）。また、処理時間（現在値）が目標処理時間以内である（ステップＳ３１  ＮＯ）場合は、そのまま、割り込み状態から復帰する（ステップＳ１０）。
【００４２】
このように目標処理時間を設定して、処理状況が目標値を満足するか否かをオンラインで監視することにより、性能低下が発生した場合に、直ちに把握することができる。
【００４３】
［その他の実施形態］
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。また、各実施形態の特徴を組み合わせてもよい。さらに、これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。
【００４４】
これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００４５】
１０…保守ツール、１１…ユーザプログラムダウンロード部、１２…ユーザプログラムモニタ部、１３…エラーログ表示部、１４…性能測定部、２０…ＭＰＵ、２１…自動割り込み部、２２…タイマコントローラ、２３…ＣＰＵ、１００…プラント制御装置、２００…メモリ、２１０…プラント制御装置基本ソフトウェア、２１１…リアルタイムＯＳ、２１２…割り込み処理部、２１３…入力処理部、２１３ａ、２１３ｂ、２１３ｃ…表示画面、２１４…出力処理部、２１５…ユーザプログラム実行処理部、２１６…保守ツールＩ／Ｆ処理部、２２０…プラント制御装置アプリケーションデータ、２３０…プラント制御装置アプリケーションコード、２４０…プラント制御装置カレントステータス、２５０…プラント制御装置エラーログ履歴、２６０…プラント制御装置基本ソフトウェアワークデータ、３１０…ツールＩ／Ｆ、３２０…外部入出力装置、３３０…外部Ｉ／Ｆ、５００…プラント制御システム
【図１】
2015141433.tif 000003
【図２】
2015141433.tif 000004
【図３】
2015141433.tif 000005
【図４】
2015141433.tif 000006
【図５】
2015141433.tif 000007
【図６】
2015141433.tif 000008
【図７】
2015141433.tif 000009
【図８】
2015141433.tif 000010
【図９】
2015141433.tif 000011
【図１０】
2015141433.tif 000012
【図１１】
2015141433.tif 000013