JP2015153290A - プラント制御装置、プラント制御方法及びプラント制御プログラム - Google Patents

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

Info

Publication number
JP2015153290A
JP2015153290A JP2014028386A JP2014028386A JP2015153290A JP 2015153290 A JP2015153290 A JP 2015153290A JP 2014028386 A JP2014028386 A JP 2014028386A JP 2014028386 A JP2014028386 A JP 2014028386A JP 2015153290 A JP2015153290 A JP 2015153290A
Authority
JP
Japan
Prior art keywords
data
floating
plant
point
access information
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.)
Pending
Application number
JP2014028386A
Other languages
English (en)
Inventor
貴志 尾曲
Takashi Omagari
貴志 尾曲
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014028386A priority Critical patent/JP2015153290A/ja
Publication of JP2015153290A publication Critical patent/JP2015153290A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】FPU例外が発生した際に詳細なエラー解析を可能とするプラント制御技術を提供する。
【解決手段】プラント制御装置10は、外部機器11から整数データ及び浮動小数データからなるプラントデータを取り込む外部インターフェース12と、浮動小数データを格納するアドレス範囲の設定に基づいてプラントデータが浮動小数データと整数データとに区別して格納されるメモリ13と、プラントデータを含む演算データの読み取りまたは書き込みのためにメモリ13にアクセスし、制御プログラムの演算を実行する演算部18と、演算時において浮動小数データが格納されたアドレス範囲にアクセスされた場合には、アクセスされた演算データのアドレス及びデータ値を含むアクセス情報を記録するアクセス情報記録部20と、演算時において浮動小数点演算例外が発生した際に、記録されたアクセス情報をアクセス履歴として取得するアクセス履歴取得部21と、を備える。
【選択図】 図1

Description

本発明の実施形態は、プラント制御技術に関する。
火力プラント、原子力プラント等の様々な産業プラントでは、プラントを安定的に運転・動作させるためプラント制御装置が設けられている。この制御装置は、ネットワーク上の外部機器から複数のプラントデータを入力し制御プログラム(制御ロジック)を用いて演算処理を実行する。そして、実行結果に基づいて制御信号を出力してプラント制御を実施している。
一般的に、プラント制御に用いられる制御プログラムは、ラダー・ロジックやシーケンシャル・ファンクション・チャート等のグラフィカルな言語を用いて、複数の命令コードから作成される。
作成された制御プログラムは、プラント制御装置で解読可能なコード(ニーモニック)に変換されてプラント制御装置にダウンロードされ、解読実行される。
ところで、制御プログラムを実行する際、非数(NAN)や無限大等といった制御演算用の入力値として相応しくない異常値が外部機器から入力された場合、実数演算時に浮動小数点演算例外(FPU(Floating−point Unit)例外)のエラーが発生する。そして、制御プログラムを構成する命令コードの組み合わせによっては、FPU例外によるエラーが多発することとなる。
通常のコンピュータでは、FPU例外が発生した際には、OS(Operating System)による割り込み処理が実施される。しかし、プラント制御において割り込み処理が多発すると、制御動作のリアルタイム性を確保できなくなるおそれがある。
そこで、プラント制御装置では、FPU例外による割り込み処理をマスクし、一定範囲の演算毎、例えば1命令コード(四則演算やPIDといった制御プログラムで最小実行単位の命令コードを意味する)毎にFPU例外の発生をチェックして、エラー発生の有無を検出する。そして、FPU例外の発生内容及びエラーが発生した命令コードの位置を記録する。
そして、プラントの保安員は、プラントの制御動作を停止させること無く、FPU例外の発生内容及びエラーが発生した命令コードの位置からエラーが発生した原因の解析を行う。
従来から、プラント制御動作に影響を与えることなくFPU例外を検出する様々な技術が検討されてきた(例えば、特許文献1)。
特開2002−318706号公報
しかしながら、従来の方法では、外部機器の異常等によって短い制御周期のみでFPU例外が発生した場合、FPU例外が発生した命令コードより前段の命令コードにおける演算内容が不明であるため、詳細な原因解析が行えないという課題があった。
具体的な例を挙げてこの課題を説明する。以下に示すAからCの3つの命令コードで構成される制御プログラムが実行された場合について検討する。
A:PID(外部入力値(1),K(定数),K(定数),K(定数))
B:|外部入力値(2)−β(定数)|
C:Bの演算結果×Cの演算結果
外部機器の異常等により外部入力値(1)が“∞”、外部入力値(2)が“β”となった場合、命令コードCで“∞×0”が実行され、無効演算が発生する。
外部機器からの異常入力が恒常的に発生している場合は、異常原因の特定可能となるものの、異常入力が1制御周期のみ、すなわち(正常値)→(∞)→(正常値)と変化した場合、従来の方法では命令コードCで“∞×0”が発生したということまでしか確認できない。
つまり、FPU例外が発生した命令コードCより前段の演算内容が判明しないため、外部入力値(1)で“∞”が入力されたのか、あるいは命令コードAの出力結果が“∞”となったかということまでは判断できず、FPU例外発生の原因を特定することはできなかった。
本発明はこのような事情を考慮してなされたもので、FPU例外が発生した際に詳細なエラー解析を可能とするプラント制御技術を提供することを目的とする。
本実施形態のプラント制御装置は、外部機器から整数データ及び浮動小数データからなるプラントデータを取り込む外部インターフェースと、前記浮動小数データを格納するアドレス範囲の設定に基づいて前記プラントデータが前記浮動小数データと前記整数データとに区別して格納されるメモリと、前記プラントデータを含む演算データの読み取りまたは書き込みのために前記メモリにアクセスし、制御プログラムの演算を実行する演算部と、前記演算時において前記浮動小数データが格納された前記アドレス範囲に前記アクセスされた場合には、前記アクセスされた前記演算データのアドレス及びデータ値を含むアクセス情報を記録するアクセス情報記録部と、前記演算時において浮動小数点演算例外が発生した際に、記録された前記アクセス情報をアクセス履歴として取得するアクセス履歴取得部と、を備えることを特徴とする。
本実施形態のプラント制御方法は、外部機器から整数データ及び浮動小数データからなるプラントデータを取り込むステップと、前記浮動小数データを格納するアドレス範囲の設定に基づいて前記プラントデータが前記浮動小数データと前記整数データとに区別してメモリに格納されるステップと、前記プラントデータを含む演算データの読み取りまたは書き込みのために前記メモリにアクセスし、制御プログラムの演算を実行するステップと、前記演算時において前記浮動小数データが格納された前記アドレス範囲に前記アクセスされた場合には、前記アクセスされた前記演算データのアドレス及びデータ値を含むアクセス情報を記録するステップと、前記演算時において浮動小数点演算例外が発生した際に、記録された前記アクセス情報をアクセス履歴として取得するステップと、を含むことを特徴とする。
本実施形態のプラント制御プログラムは、コンピュータに、外部機器から整数データ及び浮動小数データからなるプラントデータを取り込むステップ、前記浮動小数データを格納するアドレス範囲の設定に基づいて前記プラントデータが前記浮動小数データと前記整数データとに区別してメモリに格納されるステップ、前記プラントデータを含む演算データの読み取りまたは書き込みのために前記メモリにアクセスし、制御プログラムの演算を実行するステップ、前記演算時において前記浮動小数データが格納された前記アドレス範囲に前記アクセスされた場合には、前記アクセスされた前記演算データのアドレス及びデータ値を含むアクセス情報を記録するステップ、前記演算時において浮動小数点演算例外が発生した際に、記録された前記アクセス情報をアクセス履歴として取得するステップ、を実行させることを特徴とする。
本発明によれば、FPU例外が発生した際に詳細なエラー解析を可能とするプラント制御技術を提供することを目的とする。
本実施形態に係るプラント制御装置の構成図。 (A)浮動小数領域設定部で設定された、浮動小数データを格納するアドレス範囲の一例を示す図、(B)アクセス情報記録部で順次記録されるアクセス情報の一例を示す図。 (A)制御プログラムの一例を示す図、(B)制御プログラムの命令コード3においてFPU例外が発生した際に取得されるアクセス履歴を示す図。 第一実施形態に係るプラント制御装置の動作を示すフローチャート。 第二実施形態に係るプラント制御装置の動作を示すフローチャート。 第三実施形態に係るプラント制御装置の動作を示すフローチャート。 アクセス情報記録部において記録されるアクセス情報及び異常データ情報の一例を示す図。
以下、本発明の実施形態を添付図面に基づいて説明する。
(第一実施形態)
図1に示す実施形態に係るプラント制御装置10(以下、制御装置10とする)は、外部機器11から整数データ及び浮動小数データからなるプラントデータを取り込む外部インターフェース12と、浮動小数データを格納するアドレス範囲の設定に基づいてプラントデータが浮動小数データと整数データとに区別して格納されるメモリ13と、プラントデータを含む演算データの読み取りまたは書き込みのためにメモリ13にアクセスし、制御プログラムの演算を実行する演算部18と、演算時において浮動小数データが格納されたアドレス範囲にアクセスされた場合には、アクセスされた演算データのアドレス及びデータ値を含むアクセス情報を記録するアクセス情報記録部20と、演算時において浮動小数点演算例外が発生した際に、記録されたアクセス情報をアクセス履歴として取得するアクセス履歴取得部21と、を備える。
制御装置10は、プラント制御に係るプラントデータ(例えば、タービンの回転速度や原子炉圧力等)を外部機器11から取り込み、プラントデータを用いて制御プログラムを実行し、実行結果に基づいた制御信号を外部機器11に出力する。外部機器11から取り込まれる様々なプラントデータは、整数データ及び浮動小数データから構成される。
そして、制御装置10は、プラントデータの取り込み、制御信号の出力から成る一連の動作を一定周期ごとに繰り返してプラント制御を実施している。
なお、外部機器11と制御装置10とのデータの授受は、外部インターフェース12を介して行われる。
メモリ13は、プラント制御OSコード格納領域14、演算データ格納領域15、制御プログラム格納領域16、を備えている。
プラント制御OSコード格納領域14は、制御装置10におけるデータ入出力や演算を制御するプラント制御OSが格納される。
演算データ格納領域15は、制御プログラムの演算処理に用いられ、随時読み取りまたは書き込みが行われる演算データが格納される。演算データには、外部機器11から入力されるプラントデータ、演算処理用の計算データ、演算結果等が含まれる。
制御プログラム格納領域16は、複数の命令コードから構成される制御用の制御プログラム(制御ロジック)が格納される。なお、プラント制御OS及び制御プログラムは保守ツール(図示省略)を介して制御装置10にダウンロードされる。
制御部17は、制御装置10の起動時にプラント制御OSを実行して、プラント制御OSにしたがって制御装置10におけるデータ入出力や演算を制御する。また、プラント制御OSは、制御プログラムの1命令コードごとにFPU例外の発生有無をチェックする。
制御部17は、プラントデータを用いて制御プログラムの演算を実行する演算部18を備えている。
演算部18は、メモリ13の制御プログラム格納領域16から制御プログラムを読み込み、制御プログラムを解読する。そして、演算データの読み取りまたは書き込みのために演算データ格納領域15にアクセスし、順次命令コードを演算して制御プログラムを実行する。
メモリコントローラ22は、浮動小数領域設定部19、アクセス情報記録部20、アクセス履歴取得部21、を備えている。
演算部18は、メモリコントローラ22を介して、制御プログラムを読み込み、演算データの読み取りまたは書き込みを行う。
浮動小数領域設定部19は、メモリ13の演算データ格納領域15において浮動小数データを格納するアドレス範囲を設定する。
浮動小数データを格納するアドレス範囲を設定することにより、演算データは浮動小数データと整数データとに区別して演算データ格納領域15に格納される。なお、アドレス範囲の設定は、制御装置10の起動開始時にプラント制御OSにより行われる。
図2(A)は、浮動小数領域設定部19で設定されたアドレス範囲の一例を示す図である。
浮動小数領域設定部19には、演算データ格納領域15におけるアドレスの開始位置及び終了位置が設定されており、このアドレス範囲内に浮動小数データが格納される。
メモリコントローラ22は、外部インターフェース12で取り込まれたプラントデータを演算データ格納領域15に格納する。このとき、プラントデータは、浮動小数領域設定部19におけるアドレス範囲の設定に基づいて、浮動小数データと整数データとに区別して演算データ格納領域15に格納される。
なお、外部インターフェース12によるプラントデータの取り込み動作は、制御周期ごとに一括して実施される。
演算部18は、プラントデータの演算データ格納領域15への格納後に、制御プログラムの演算を実行する。
アクセス情報記録部20は、制御プログラムの演算時に、演算部18が浮動小数データの格納されたアドレス範囲(浮動小数データ格納領域)にアクセスした場合、アクセスされた演算データのアドレス及びデータ値をアクセス情報として記録する。
アクセス情報記録部20は、演算部18が浮動小数データ格納領域にアクセスしたか否かを、浮動小数領域設定部19で設定されたアドレス範囲を参照して判断する。
また、アクセス情報記録部20は、アクセスされた演算データの入出力方向、言い換えると演算データの読み取りまたは書き込みのいずれかが行われたかをアクセス情報として記録しても良い。
アクセス情報記録部20は、制御プログラムの実行終了まで、演算部18が浮動小数データ格納領域にアクセスするたびにアクセス情報を順次記録していく。これにより、アクセス情報記録部20には、制御プログラムの演算順に、演算部18が浮動小数データ格納領域にアクセスした履歴が作成される。
図2(B)は、アクセス情報記録部20で記録されるアクセス情報の一例を示す図である。
アクセス情報記録部20は、制御プログラムの演算順に、演算部18から浮動小数データ格納領域にアクセスされたメモリ13上のアドレス、データ値及び入出力方向をアクセス情報として順次記録している。
なお、演算部18の浮動小数データ格納領域への全アクセス回数は制御プログラムの内容により可変となるが、アクセス情報記録部20に記録可能なアクセス情報の段数(個数)は演算部18による全アクセス回数より多い段数を確保することが望ましい。
アクセス履歴取得部21は、制御プログラムの演算時にFPU例外が発生した際に、FPU例外発生までにアクセス情報記録部20で記録されたアクセス情報をアクセス履歴として取得する。また、アクセス履歴取得部21は、制御プログラムの演算時に、複数のFPU例外が発生する場合には、FPU例外が発生するごとにアクセス履歴を取得する。
ここで、制御プログラムを例示して具体的に説明する。
図3(A)は、制御プログラムの一例を示す図であり、この制御プログラムは命令コード1〜3から構成され、命令コード1〜3の順に演算が実行される。
命令コード1は、浮動小数データ1、2及び整数データ1を入力し、演算結果である浮動小数データ3を出力する。続いて、命令コード2は、浮動小数データ4、5及び整数データ2を入力し、演算結果である浮動小数データ6を出力する。そして、命令コード3は、浮動小数データ3、6を入力し、演算結果である浮動小数データ7を出力する。
そして、アクセス情報記録部20は、制御プログラムの演算実行順に、演算部18が浮動小数データ格納領域にアクセスするたびにアクセス情報を順次記録する。
図3(B)は、命令コード3においてFPU例外が発生した際に、アクセス履歴取得部21において取得されるアクセス履歴を示している。
アクセス履歴取得部21には、命令コード3でFPU例外が発生するまでにアクセス情報記録部20で記録されたアクセス情報がアクセス履歴として取得される。このアクセス履歴によって、FPU例外が発生した命令コード3より前段の命令コード1〜2における実数演算の内容が再現可能となる。これにより、非数や無限大等といった異常データの発生位置が判明するため、FPU例外発生の原因が特定できる。
図4は、第一実施形態に係る制御装置10の動作を示すフローチャートである(適宜、図1参照)。
外部インターフェース12は、外部機器11からプラントデータの一括取り込みを行う(S10)。
メモリコントローラ22は、外部インターフェース12で取り込まれたプラントデータを浮動小数データと整数データとに区別し、メモリ13の演算データ格納領域15に格納する(S11)。
演算部18は、メモリ13の制御プログラム格納領域16から制御プログラムを読み込み、制御プログラムを解読して、制御プログラムの実行を開始する(S12)。
そして、演算部18は、演算データの読み取りまたは書き込みのために演算データ格納領域15にアクセスし、命令コードを演算する(S13)。
アクセス情報記録部20は、演算部18が浮動小数データ格納領域にアクセスした場合にはアクセス情報を記録する(S14)。
アクセス履歴取得部21は、プラント制御OSによりFPU例外の発生が検出された際は、FPU例外発生までに記録されたアクセス情報をアクセス履歴として取得する(S15:YES、S16)。なお、FPU例外の発生が検出されない場合は、アクセス履歴を取得しない(S15:NO)。
制御プログラムを構成する全命令コードの演算が完了するまで、S13〜S16を繰り返す(S17:NO)。全命令コードの演算が完了した場合は終了する(S17:YES)。
このように、制御プログラムの演算時に、演算部18が浮動小数データ格納領域に対してアクセスした場合にアクセス情報を記録し、FPU例外発生した際に記録されたアクセス情報をアクセス履歴として取得する。
プラントの保安員は、この取得されたアクセス履歴を用いてエラー解析を行うことで、FPU例外が発生する前段以前における実数演算の内容を再現することができる。これにより、非数や無限大等といった異常データの発生位置が判明するため、FPU例外発生の原因が特定できる。
(第二実施形態)
図5は、第二実施形態に係る制御装置10の動作を示すフローチャートである。なお、全体の構成図は図1と同一となるため、第一実施形態と重複する構成、動作について説明を省略する。
第一実施形態と異なる点は、アクセス履歴取得部21は、最初にFPU例外が発生した際のアクセス履歴のみを取得する点にある。
制御プログラムを構成する命令コードの組み合わせによっては、制御プログラムの演算時に複数のFPU例外が順次検出されることになる。第二実施形態では、アクセス履歴取得部21は、最初にFPU例外が発生した際のアクセス履歴のみを取得する。
つまり、第一実施形態では、FPU例外が発生する度にアクセス履歴取得部21はアクセス履歴を取得していたが、第二実施形態ではFPU例外発生の起点となる初回のFPU例外が発生した場合のみアクセス履歴を取得する。
なお、アクセス情報記録部20は、最初にFPU例外が発生した後はアクセス情報の記録を停止する構成としても良い。
例えば、図3(A)に示された制御プログラムにおいて、命令コード1の浮動小数データ1に非数等の異常なデータが入力された場合、命令コード1及び命令コード3でFPU例外が発生する。
この場合、第一実施形態では命令コード1及び命令コード3で発生した2つのFPU例外に対してアクセス履歴が取得されるが、第二実施形態では命令コード1で発生した最初のFPU例外に対してアクセス履歴が取得される。
図5に示すフローチャートに戻って説明を続ける(適宜、図1参照)。
外部インターフェース12は、外部機器11からプラントデータの一括取り込みを行う(S20)。メモリコントローラ22は、外部インターフェース12で取り込まれたプラントデータを浮動小数データと整数データとに区別し、メモリ13の演算データ格納領域15に格納する(S21)。
演算部18は、メモリ13の制御プログラム格納領域16から制御プログラムを読み込み、制御プログラムを解読して、制御プログラムの実行を開始する(S22)。
そして、演算部18は、演算データの読み取りまたは書き込みのために演算データ格納領域15にアクセスし、命令コードを演算する(S23)。
アクセス情報記録部20は、演算部18が浮動小数データ格納領域にアクセスした場合にはアクセス情報を記録する(S24)。
アクセス履歴取得部21は、発生したFPU例外が最初のものでない場合、即ちすでにFPU例外が発生しているならばアクセス履歴の取得を行わない(S25:NO)。一方、最初のFPU例外ならば、FPU例外までのアクセス情報をアクセス履歴として取得する(S25:YES、S26)。
制御プログラムを構成する全命令コードの演算が完了するまで、S23〜S26を繰り返す(S27:NO)。全命令コードの演算が完了した場合は終了する(S27:YES)。
なお、アクセス情報記録部20は、最初にFPU例外が発生した後はアクセス情報の記録を停止し、アクセス履歴取得部21は、全命令コードの演算が完了した後に、アクセス履歴を取得する構成としても良い。
このように、外部機器11の浮動小数データの入力異常等によりFPU例外が多数発生した場合でも、起点となった最初のFPU例外に対するアクセス履歴のみが取得される。これにより、保安員によるFPU例外の起点の特定が不要となり、エラー原因となる異常データの発生位置を早期に特定することが可能となる。
第二実施形態では、制御プログラムの実行時に1回だけアクセス履歴を取得する構成となるが、制御プログラムはプラントの機能系統毎に分割されている場合が多く、この場合は機能系統毎にそれぞれアクセス履歴を取得しても良い。
(第三実施形態)
図6は、第三実施形態に係る制御装置10の動作を示すフローチャートである。なお、全体の構成図は図1と同一となるため、第一実施形態と重複する構成、動作について説明を省略する。
第一実施形態と異なる点は、アクセス情報記録部20は、浮動小数データが格納されたアドレス範囲にアクセスされた演算データが実数フォーマットでない異常なデータ値であるか否かを判定し、異常値である場合はアクセスされた演算データのアドレス及びデータ値を異常データ情報としてアクセス情報とは別に記録し、アクセス履歴取得部21は、浮動小数点演算例外が発生した際に、アクセス情報とともに異常データ情報をアクセス履歴として取得する点にある。
アクセス情報記録部20は、メモリ13の浮動小数データ格納領域に対してアクセスされる際に、アクセスされた演算データが実数フォーマットであるかを判定する。なお、演算データが非数等で無い正常な実数フォーマットであるか否かの判定は、コンパレータ等により実現する。
そして、アクセス情報記録部20は、演算データが実数フォーマットでない異常値である場合には、アクセスされた演算データのアドレス及びデータ値を異常データ情報としてアクセス情報とは別に記録する。
図7は、アクセス情報記録部20において記録されるアクセス情報及び異常データ情報の一例を示す図である。
異常なデータ値と判定された演算データのアドレス及びデータ値が、アクセス情報とは別に記録されている。なお、異常データ情報は、外部インターフェース12においてプラントデータの取り込みが実行されるタイミングでクリアされる。
図6に示すフローチャートに戻って説明を続ける(適宜、図1参照)。
外部インターフェース12は、外部機器11からプラントデータの一括取り込みを行う(S30)。メモリコントローラ22は、外部インターフェース12で取り込まれたプラントデータを浮動小数データと整数データとに区別し、メモリ13の演算データ格納領域15に格納する(S31)。
演算部18は、メモリ13の制御プログラム格納領域16から制御プログラムを読み込み、制御プログラムを解読して、制御プログラムの実行を開始する(S32)。
そして、演算部18は、演算データの読み取りまたは書き込みのために演算データ格納領域15にアクセスし、命令コードを演算する(S33)。
アクセス情報記録部20は、演算部18が浮動小数データ格納領域にアクセスした場合にはアクセス情報を記録する(S34)。
さらに、アクセス情報記録部20は、アクセスした演算データが実数フォーマットでない異常値であるか否かを判定し、異常値の場合は異常データ情報を記録する(S35:YES、S36)。なお、演算データが正常な実数フォーマットの場合は、異常データ情報を記録しない(S35:NO)。
アクセス履歴取得部21は、プラント制御OSによりFPU例外の発生が検出された際は、FPU例外発生までのアクセス情報及び異常データ情報をアクセス履歴として取得する(S37:YES、S38)。なお、FPU例外の発生が検出されない場合は、アクセス履歴を取得しない(S37:NO)。
制御プログラムを構成する全命令コードの演算が完了するまで、S33〜S38を繰り返す(S39:NO)。全命令コードの演算が完了した場合は終了する(S39:YES)。
また、アクセス情報記録部20は、外部機器11から取り込まれたプラントデータがメモリコントローラ22を介して最初にメモリ13に格納される際に、異常値であるか否かを判定し、異常値の場合は異常データ情報を記録しても良い。
アクセス情報記録部20で記録できるアクセス情報の段数に制限があり、アクセス情報の段数以上に浮動小数データ格納領域に対する演算部18のアクセス回数が多い場合、アクセス履歴を遡っても異常な演算データを確認することができない場合がある。この場合であっても、異常データ情報を参照することにより、異常な演算データを特定することが可能となる。
以上述べた各プラント制御装置によれば、制御プログラムの演算実行時において、メモリ上の浮動小数データ格納領域にアクセスされた場合にアクセス情報を記録し、FPU例外発生した際に記録されたアクセス情報をアクセス履歴として取得することにより、FPU例外が発生した場合に詳細なエラー解析が可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 プラント制御装置
11 外部機器
12 外部インターフェース
13 メモリ
14 プラント制御OSコード格納領域
15 演算データ格納領域
16 制御プログラム格納領域
17 制御部
18 演算部
19 浮動小数領域設定部
20 アクセス情報記録部
21 アクセス履歴取得部
22 メモリコントローラ

Claims (5)

  1. 外部機器から整数データ及び浮動小数データからなるプラントデータを取り込む外部インターフェースと、
    前記浮動小数データを格納するアドレス範囲の設定に基づいて前記プラントデータが前記浮動小数データと前記整数データとに区別して格納されるメモリと、
    前記プラントデータを含む演算データの読み取りまたは書き込みのために前記メモリにアクセスし、制御プログラムの演算を実行する演算部と、
    前記演算時において前記浮動小数データが格納された前記アドレス範囲に前記アクセスされた場合には、前記アクセスされた前記演算データのアドレス及びデータ値を含むアクセス情報を記録するアクセス情報記録部と、
    前記演算時において浮動小数点演算例外が発生した際に、記録された前記アクセス情報をアクセス履歴として取得するアクセス履歴取得部と、を備えること特徴とするプラント制御装置。
  2. 前記アクセス履歴取得部は、最初に前記浮動小数点演算例外が発生した際の前記アクセス履歴のみを取得することを特徴とする請求項1に記載のプラント制御装置。
  3. 前記アクセス情報記録部は、前記浮動小数データが格納された前記アドレス範囲に前記アクセスされた前記演算データが実数フォーマットでない異常な前記データ値であるか否かを判定し、異常値である場合は前記アクセスされた前記演算データのアドレス及びデータ値を異常データ情報として前記アクセス情報とは別に記録し、
    前記アクセス履歴取得部は、浮動小数点演算例外が発生した際に、前記アクセス情報とともに前記異常データ情報をアクセス履歴として取得すること特徴とする請求項1または請求項2に記載のプラント制御装置。
  4. 外部機器から整数データ及び浮動小数データからなるプラントデータを取り込むステップと、
    前記浮動小数データを格納するアドレス範囲の設定に基づいて前記プラントデータが前記浮動小数データと前記整数データとに区別してメモリに格納されるステップと、
    前記プラントデータを含む演算データの読み取りまたは書き込みのために前記メモリにアクセスし、制御プログラムの演算を実行するステップと、
    前記演算時において前記浮動小数データが格納された前記アドレス範囲に前記アクセスされた場合には、前記アクセスされた前記演算データのアドレス及びデータ値を含むアクセス情報を記録するステップと、
    前記演算時において浮動小数点演算例外が発生した際に、記録された前記アクセス情報をアクセス履歴として取得するステップと、を含むことを特徴とするプラント制御方法。
  5. コンピュータに、
    外部機器から整数データ及び浮動小数データからなるプラントデータを取り込むステップ、
    前記浮動小数データを格納するアドレス範囲の設定に基づいて前記プラントデータが前記浮動小数データと前記整数データとに区別してメモリに格納されるステップ、
    前記プラントデータを含む演算データの読み取りまたは書き込みのために前記メモリにアクセスし、制御プログラムの演算を実行するステップ、
    前記演算時において前記浮動小数データが格納された前記アドレス範囲に前記アクセスされた場合には、前記アクセスされた前記演算データのアドレス及びデータ値を含むアクセス情報を記録するステップ、
    前記演算時において浮動小数点演算例外が発生した際に、記録された前記アクセス情報をアクセス履歴として取得するステップ、を実行させることを特徴とするプラント制御プログラム。
JP2014028386A 2014-02-18 2014-02-18 プラント制御装置、プラント制御方法及びプラント制御プログラム Pending JP2015153290A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014028386A JP2015153290A (ja) 2014-02-18 2014-02-18 プラント制御装置、プラント制御方法及びプラント制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014028386A JP2015153290A (ja) 2014-02-18 2014-02-18 プラント制御装置、プラント制御方法及びプラント制御プログラム

Publications (1)

Publication Number Publication Date
JP2015153290A true JP2015153290A (ja) 2015-08-24

Family

ID=53895426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014028386A Pending JP2015153290A (ja) 2014-02-18 2014-02-18 プラント制御装置、プラント制御方法及びプラント制御プログラム

Country Status (1)

Country Link
JP (1) JP2015153290A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI678602B (zh) * 2017-07-14 2019-12-01 日商東芝股份有限公司 異常檢測裝置、異常檢測方法以及電腦可讀取記錄媒體

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI678602B (zh) * 2017-07-14 2019-12-01 日商東芝股份有限公司 異常檢測裝置、異常檢測方法以及電腦可讀取記錄媒體

Similar Documents

Publication Publication Date Title
JP5523872B2 (ja) プログラムの動的分析方法及びその装置
US20120304010A1 (en) Code coverage-based taint perimeter detection
CN105701006B (zh) 用于程序调试中的变量跟踪的方法和系统
JP2006012066A (ja) トレース解析装置およびトレース解析方法
US20210065023A1 (en) Abnormality determination device, learning device, and abnormality determination method
JP5303795B2 (ja) アプリケーションの解析方法、解析システム及び解析プログラム
US10311404B1 (en) Software product development defect and issue prediction and diagnosis
JPWO2015159501A1 (ja) 検証性質統合装置、検証性質統合方法および検証性質統合プログラム
EP2634733A1 (en) Operations task management system and method
US11137740B2 (en) Numerical controller and method for determining look-ahead variable
JP2007199845A (ja) メモリ破壊検出方法および装置
US20150220733A1 (en) Apparatus and method for detecting a malicious code based on collecting event information
US9563635B2 (en) Automated recognition of patterns in a log file having unknown grammar
JP2020187667A (ja) 情報処理装置及び情報処理方法
JP2015153290A (ja) プラント制御装置、プラント制御方法及びプラント制御プログラム
JP2007122207A (ja) プログラム分析プログラム、プログラム分析装置、プログラム分析方法
JP2009223714A (ja) 演算回路及び演算回路の異常解析方法
JP2008090699A (ja) トレースロギング方法、装置及びプログラム
WO2016163008A1 (ja) 異常診断装置および異常診断方法
JP6630840B2 (ja) ログ分析のためのランドマークデリミタを推定するシステムおよび方法
JP2007323299A (ja) レビュー実施順序決定装置、レビュー実施順序決定プログラム、レビュー実施順序決定プログラムが格納された記録媒体およびレビュー実施順序決定方法
JP5755861B2 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
JP2020187412A (ja) 情報処理装置及び情報処理方法
JP2008262473A (ja) 設備保全管理システム
JP2007257397A (ja) 競合状態検出処理追加プログラム、競合状態検出処理追加装置、競合状態検出処理追加方法