(57)【要約】【課題】高い信頼性を確保しつつ、ハードウェアの変更に対応するためのソフトウェアの開発コストを低減する。【解決手段】１つの態様において、制御装置２０は、原子力発電プラント１の原子力発電設備１ａを制御する。制御装置２０は、演算装置２４を備え、演算装置２４の命令の体系に依存しない中間言語の命令列を含む制御プログラム２３１、および演算装置２４が直接的に実行可能な機械語の命令列を含む実行プログラム２３２を記憶する。演算装置２４は、実行プログラム２３２の命令列を実行することによって制御プログラム２３１を解釈し、制御プログラム２３１に含まれる制御ロジックに基づいて原子力発電設備１ａを制御する。【選択図】図１
2015075786.tif 000002
【特許請求の範囲】
【請求項１】
原子力発電プラントの設備を制御する制御装置であって、
演算装置と、
前記演算装置の命令の体系に依存しない中間言語の命令列を含む制御プログラム、および前記演算装置が直接的に実行可能な機械語の命令列を含む実行プログラムを記憶する記憶部とを備え、
前記演算装置は、前記実行プログラムの前記命令列を実行することによって前記制御プログラムを解釈し、前記制御プログラムに含まれる制御ロジックに基づいて前記設備を制御する制御装置。
【請求項２】
前記実行プログラムは、前記制御装置のハードウェアに依存したソースコード、および前記制御装置のハードウェアに依存しないソースコードから生成され、
前記実行プログラムのうち、前記制御プログラムに含まれる制御ロジックを解釈するモジュールは、前記制御装置のハードウェアに依存しないソースコードのみから生成される請求項１に記載の制御装置。
【請求項３】
前記演算装置は、前記制御プログラムが更新されている場合には、前記設備が実際には制御されない試験モードに移行して前記制御プログラムを試験する請求項１または２に記載の制御装置。
【請求項４】
原子力発電プラントの設備の制御ロジックが図形言語を用いて記述された図形言語データを編集する編集部と、
前記図形言語データを、前記原子力発電プラントの設備を制御する制御装置によって実行される制御プログラムへ変換する変換部とを備え、
前記制御プログラムは、前記制御装置の演算装置の命令の体系に依存しない中間言語の命令列を含み、
前記演算装置が直接的に実行可能な機械語の命令列を含む実行プログラムを前記演算装置が実行することによって、前記演算装置が、前記制御プログラムを解釈し、前記制御プログラムに含まれる前記制御ロジックに基づいて前記設備を制御する編集装置。
【請求項５】
前記制御プログラムを図形言語データへ逆変換し、逆変換した図形言語データと元の図形言語データとを比較することによって前記制御プログラムを検証する検証部をさらに備える編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置および編集装置に関し、特に原子力発電プラントを制御する制御装置およびその制御に用いられる制御プログラムを生成する編集装置に関する。
【背景技術】
【０００２】
原子力発電プラントを制御する制御装置は、演算装置が予め用意されたプログラムを実行することによって各種の制御を実現する。ところが、制御装置が備える演算装置等のハードウェアは、生産終了等により入手できなくなることがある。このような理由により、制御装置のハードウェアの仕様が変更されると、それに合わせてプログラムを再開発しなければならず、開発コストがかかる。プログラムの再開発にコストがかかる要因には、原子力発電プラントは信頼性を要求されており、それを確保するのに工数を要することがある。
【０００３】
制御装置のハードウェアの変更への対応を容易にする技術は、例えば、特許文献１で開示されている。特許文献１では、ソフトウェアを他の装置からダウンロードすることによって、制御装置のハードウェアの変更へ対応する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−０２４０４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ソフトウェアのダウンロードに対応するだけでは、ソフトウェアの開発コストそのものを低減させることはできない。本発明は、上記に鑑みてなされたものであって、高い信頼性を確保しつつ、ハードウェアの変更に対応するためのソフトウェアの開発コストを低減することができる制御装置および編集装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様において、制御装置は、原子力発電プラントの設備を制御する制御装置であって、演算装置と、前記演算装置の命令の体系に依存しない中間言語の命令列を含む制御プログラム、および前記演算装置が直接的に実行可能な機械語の命令列を含む実行プログラムを記憶する記憶部とを備える。前記演算装置は、前記実行プログラムの前記命令列を実行することによって前記制御プログラムを解釈し、前記制御プログラムに含まれる制御ロジックに基づいて前記設備を制御する。
【０００７】
他の態様において、編集装置は、原子力発電プラントの設備の制御ロジックが図形言語を用いて記述された図形言語データを編集する編集部と、前記図形言語データを、前記原子力発電プラントの設備を制御する制御装置によって実行される制御プログラムへ変換する変換部とを備える。前記制御プログラムは、前記制御装置の演算装置の命令の体系に依存しない中間言語の命令列を含み、前記演算装置が直接的に実行可能な機械語の命令列を含む実行プログラムを前記演算装置が実行することによって、前記演算装置が、前記制御プログラムを解釈し、前記制御プログラムに含まれる前記制御ロジックに基づいて前記設備を制御する。
【発明の効果】
【０００８】
本発明に係る制御装置および編集装置は、高い信頼性を確保しつつ、ハードウェアの変更に対応するためのソフトウェアの開発コストを低減することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、編集装置および制御装置を含むシステムの構成を示す図である。
【図２】図２は、編集画面上に表示される図形言語データの例を示す図である。
【図３】図３は、制御プログラムの例を示す図である。
【図４】図４は、編集装置の構成を示すブロック図である。
【図５】図５は、制御装置の構成を示すブロック図である。
【図６】図６は、ソースコードの観点から見た実行プログラムの構成の例を示す図である。
【図７】図７は、編集装置の動作の例を示すフローチャートである。
【図８】図８は、制御装置の動作の例を示すフローチャートである。
【図９】図９は、編集装置の変形例の構成を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下に、本発明に係る制御装置および編集装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、この実施例における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。
【実施例】
【００１１】
図１を参照しながら、実施例に係る編集装置１０および制御装置２０について説明する。図１は、編集装置１０および制御装置２０を含むシステムの構成を示す図である。図１に示すように、編集装置１０および制御装置２０は、原子力発電プラント１に関連する。
【００１２】
編集装置１０は、制御装置２０が実行する制御ロジックが図形言語を用いて記述された図形言語データ１４１を、利用者の操作に従って編集する。そして、編集装置１０は、図形言語データ１４１を、制御装置２０が実行可能な制御プログラム１４２へ変換する。
【００１３】
制御装置２０は、原子力発電プラント１の原子力発電設備１ａを制御する。具体的には、制御装置２０は、検出器３０ａ〜３０ｍが検出する温度、圧力、流速等の値に基づいて論理演算を行い、演算結果に基づいて弁、モータ等の動作部４０ａ〜４０ｎに対して制御信号を送信する。
【００１４】
制御装置２０は、検出器３０ａ〜３０ｍおよび動作部４０ａ〜４０ｎとのインターフェースとして機能する入出力部２２と、予め用意されたプログラムを実行することによって各種の演算処理を行う演算装置２４とを有する。演算装置２４は、例えば、ＣＰＵ（Central Processing Unit）である。制御装置２０は、原子力発電設備１ａを制御するために、制御プログラム２３１と、実行プログラム２３２とを実行する。
【００１５】
制御プログラム２３１は、編集装置１０によって生成された制御プログラム１４２が制御装置２０に取り込まれたものである。制御プログラム２３１は、演算装置２４が直接的に実行できない中間言語の命令列を含む。中間言語は、特定の演算装置が実行する命令の体系に依存しない命令体系からなる言語であり、演算装置が読み取って命令を解釈するのが比較的容易なように設計されている。
【００１６】
実行プログラム２３２は、演算装置２４が直接的に実行できる機械語の命令列を含む。実行プログラム２３２は、演算装置２４に実行されることによって、制御プログラム２３１に含まれる中間言語の命令列を解釈し、それぞれの命令に対応する処理を行う機能を実現する。さらに、実行プログラム２３２は、制御装置２０の健全性を確保する機能も実現する。
【００１７】
このように、制御装置２０は、特定の演算装置の命令の体系に依存しない中間言語からなる制御プログラム２３１に含まれる制御ロジックを、演算装置２４が直接的に実行できる機械語からなる実行プログラム２３２の機能によって解釈しながら実行する。このため、制御装置２０が、異なる命令の体系をもつ演算装置を備えた別の制御装置に置き換わった場合でも、実行プログラム２３２を作り直すだけで、制御プログラム２３１をそのまま流用して同様の制御を実現できる。
【００１８】
このように制御プログラム２３１の流用を可能にすることは、開発コストの低減を可能にするだけでなく、実績のある制御ロジックをそのまま引き継ぐことができるため、原子力発電プラント１に強く求められている信頼性の向上に貢献する。
【００１９】
図２および図３を参照しながら、図形言語データ１４１および制御プログラム１４２（制御プログラム２３１）の例について説明する。図２は、編集画面上に表示される図形言語データ１４１の例８０ａを示す図である。図３は、制御プログラム１４２の例８０ｂを示す図である。例８０ｂは、例８０ａを変換することによって得られる。
【００２０】
図２に示す例８０ａは、「ＤＸ１」という名前のディジタル入力端子からの信号の値と「ＤＸ２」という名前のディジタル入力端子からの信号の値とに論理積演算（ＡＮＤ演算）を施した結果が、「ＤＸ４」という名前の信号として出力され、「ＤＸ３」という名前のディジタル入力端子からの信号の値と「ＤＸ４」という名前の信号の値とに論理和演算（ＯＲ演算）を施した結果が、「ＤＹ１」という名前のディジタル出力端子から外部へ出力されることを示している。
【００２１】
また、例８０ａは、「ＡＸ１」という名前のアナログ入力端子からの信号の値から「ＡＸ２」という名前のアナログ入力端子からの信号の値を減算した結果が、「ＡＸ４」という名前の信号として出力され、「ＡＸ３」という名前のアナログ入力端子からの信号の値に「ＡＸ４」という名前の信号の値を乗算した結果が、「ＡＹ１」という名前のアナログ出力端子から外部へ出力されることを示している。
【００２２】
このように、図形言語では、端子等の制御装置２０の構成要素を示すシンボルと演算の種類を示すシンボル等を画面上に配置し、制御ロジックに従って接続することによって、制御ロジックを視覚的にプログラミングすることができる。このため、直感的で、理解が容易で、ミスが少ないプログラミングを達成できる。
【００２３】
図３に示す例８０ｂは、「ＤＸ１」という名前の信号の値と「ＤＸ２」という名前の信号の値とに論理積演算（ＡＮＤ演算）を施した結果が、「ＤＸ４」という名前の信号として出力され、「ＤＸ３」という名前の信号の値と「ＤＸ４」という名前の信号の値とに論理和演算（ＯＲ演算）を施した結果が、「ＤＹ１」という名前の信号として出力されることを示している。
【００２４】
また、例８０ｂは、「ＡＸ１」という名前の信号の値から「ＡＸ２」という名前の信号の値を減算した結果が、「ＡＸ４」という名前の信号として出力され、「ＡＸ３」という名前の信号の値に「ＡＸ４」という名前の信号の値を乗算した結果が、「ＡＹ１」という名前の信号として出力されることを示している。
【００２５】
このように、中間言語では、図形言語を用いて作成された制御ロジックが、規則的で、演算装置２４による処理により適した形式に変換される。さらに、中間言語に含まれる命令は、特定の演算装置の命令の体系に依存しないので、中間言語で表される制御ロジックは、対応する実行プログラム２３２が用意されれば、搭載している演算装置の種類にかかわらず、あらゆる制御装置２０で同様に実行可能である。
【００２６】
なお、図形言語データ１４１および制御プログラム１４２の表示形式およびデータ形式は、図２および図３に示した例に限定されない。図形言語データ１４１および制御プログラム１４２は、制御ロジックを複数のモジュールに分割して開発できるように構成されてもよい。
【００２７】
図４を参照しながら、図１に示した編集装置１０の構成についてより詳細に説明する。図４は、編集装置１０の構成を示すブロック図である。図４に示すように、編集装置１０は、表示部１１と、入力部１２と、インターフェース部１３と、記憶部１４と、制御部１５とを有する。
【００２８】
表示部１１は、液晶ディスプレイ（ＬＥＤ）や有機ＥＬディスプレイ（ＯＥＬＤ）等の表示装置を有し、制御部１５から送信される制御信号に基づいて、文字や図形等の各種情報を表示する。入力部１２は、キーボード等の入力装置を有し、利用者が入力装置に対して行う操作に対応する信号を制御部１５へ出力する。インターフェース部１３は、編集装置１０を制御装置２０に接続するために用いられる。制御プログラム１４２は、インターフェース部１３を介して制御装置２０へ送信される。
【００２９】
記憶部１４は、磁気記憶装置や半導体記憶装置等の不揮発性を有する記憶装置からなり、各種のプログラムおよびデータを記憶する。記憶部１４は、例えば、図形言語データ１４１と、制御プログラム１４２とを記憶する。
【００３０】
制御部１５は、編集装置１０を統括的に制御して各種の動作を実現する。制御部１５は、編集部１５１と、変換部１５２と、検証部１５３とを有する。編集部１５１は、図２に示したように、シンボル等を用いて図形言語データ１４１を表示部１１に表示し、入力部１２で受け付ける操作に応じて図形言語データ１４１を編集する。変換部１５２は、図形言語データ１４１を制御プログラム１４２に変換する。
【００３１】
検証部１５３は、出荷される（制御装置２０に導入される）制御プログラム１４２の正当性を検証する。具体的には、検証部１５３は、出荷される制御プログラム１４２を図形言語データに逆変換し、逆変換した図形言語データが元の図形言語データ１４１と一致するか否かを確認する。一致しない場合、検証部１５３は、制御プログラム１４２は正当ではないと判定する。検証部１５３は、逆変換した図形言語データと元の図形言語データ１４１とを表示部１１上に並べて表示し、一致しているか否かを利用者が視覚的に確認できるようにしてもよい。このように、制御プログラム１４２の正当性を検証することにより、変換後に故意または事故によって制御プログラム１４２が書き換わっていることを検出することができる。
【００３２】
制御部１５は、ＣＰＵ等の演算装置を含んでもよい。この場合、編集部１５１、変換部１５２、および検証部１５３の機能は、記憶部１４に記憶されて演算装置によって実行されるプログラムによって実現されてもよい。
【００３３】
図５を参照しながら、図１に示した制御装置２０の構成についてより詳細に説明する。図５は、制御装置２０の構成を示すブロック図である。図５に示すように、制御装置２０は、インターフェース部２１と、入出力部２２と、記憶部２３と、演算装置２４とを有する。
【００３４】
インターフェース部２１は、編集装置１０を制御装置２０に接続するために用いられる。制御プログラム１４２は、インターフェース部２１を介して制御装置２０へ送信され、制御プログラム２３１として記憶部２３に記憶される。入出力部２２は、検出器３０ａ〜３０ｍおよび動作部４０ａ〜４０ｎとのインターフェースとして機能する。
【００３５】
記憶部２３は、磁気記憶装置や半導体記憶装置等の不揮発性を有する記憶装置からなり、各種のプログラムおよびデータを記憶する。記憶部２３は、例えば、制御プログラム２３１と、実行プログラム２３２とを記憶する。
【００３６】
演算装置２４は、記憶部２３に記憶されているプログラムに含まれる命令列を実行することによって、各種の機能を実現する。演算装置２４は、例えば、実行プログラム２３２を実行することによって、検証部２４１と、論理演算処理部２４２と、スケジュール制御部２４３と、装置内異常検出部２４４と、ドライバ部２４５とを実現する。
【００３７】
検証部２４１は、制御プログラム２３１が正当であるか否かを検証する。制御プログラム２３１が正当でないと判定された場合、制御プログラム２３１の実行は禁止される。検証部２４１は、例えば、電子署名またはハッシュタグ等の予め制御プログラム２３１に付与されている情報を用いて、制御プログラム２３１が更新されているか否かを判定する。
【００３８】
制御プログラム２３１が更新されている場合、検証部２４１は、入出力部２２を介して、検出器３０ａ〜３０ｍおよび動作部４０ａ〜４０ｎとの信号のやりとりが実際には行われない試験モードへ制御装置２０を移行させる。その状態で、検証部２４１は、検出器３０ａ〜３０ｍからの入力信号を擬似的に発生させ、制御プログラム２３１による制御ロジックが、それらの入力信号に対して適正な範囲の出力信号を発生させるか否か、すなわち、制御ロジックが正しいか否かを判定する。擬似的に発生させる入力信号と、対応する適正な出力信号の範囲との組み合わせは、予め登録される。
【００３９】
検証部２４１は、制御ロジックが正しいことが確認されるまでは、制御装置２０を通常モードへ復帰させない。このように更新された制御プログラム２３１に含まれる制御ロジックが正しいことを試験モードで確認することにより、制御装置２０の高い信頼性を確保することができる。
【００４０】
論理演算処理部２４２は、制御プログラム２３１に含まれる制御ロジックに基づいて、各種の論理演算処理を行う。例えば、論理演算処理部２４２は、検出器３０ａ〜３０ｍからの入力信号の値の組み合わせに応じて動作部４０ａ〜４０ｎの制御量を決定し、決定した制御量に応じた出力信号を動作部４０ａ〜４０ｎへ送信する。
【００４１】
スケジュール制御部２４３は、タイマーや割り込み信号に応じて、制御プロセスの実行スケジュールを制御する。例えば、スケジュール制御部２４３は、所定のサイクル毎に入力信号の受信処理、判定処理、出力信号の送信処理を所定の順序で繰り返して実行しつつ、割り込み信号が入力された場合には、その割り込み信号に対応する処理が優先的に行われるようにスケジュールを制御する。
【００４２】
装置内異常検出部２４４は、制御装置２０の各部の異常を検出し、異常な部分があれば、その部分の冗長切り替え、リセット等の対処を行う。ドライバ部２４５は、演算装置２４と入出力部２２との間での情報のやりとりを実現するためのソフトウェア的なインターフェースを提供する。
【００４３】
既に説明したように、実行プログラム２３２は、演算装置２４が直接的に実行可能な機械語の命令列を含む。そして、演算装置２４が機械語の命令列を実行することによって、検証部２４１、論理演算処理部２４２、スケジュール制御部２４３、装置内異常検出部２４４、およびドライバ部２４５の機能が実現される。さらに、制御装置２０のハードウェアを直接的に制御することがあるスケジュール制御部２４３、装置内異常検出部２４４、およびドライバ部２４５は、制御装置２０のハードウェアに依存する処理を含む。このように、実行プログラム２３２は、制御装置２０のハードウェアに依存しているが、実行プログラム２３２を生成するソースコードの観点から見ると、実行プログラム２３２全体が制御装置２０に依存している訳ではない。
【００４４】
ソースコードは、例えば、Ｃ言語、Ｃ＋＋等の高級言語で記述され、コンパイラによって、機械語の命令列を含むプログラムへ変換される。コンパイラは、演算装置の命令の体系に合わせて用意する必要はあるが、高級言語は、特殊な処理を除いては、入出力部および演算装置等の制御装置のハードウェアに依存しない。このため、実行プログラム２３２のソースコードを高級言語で記述することにより、制御装置のハードウェアに依存する部分以外のソースコードは、制御装置が置き換わっても、対応するコンパイラを用いてリコンパイルすることでそのまま流用することができる。
【００４５】
図６は、ソースコードの観点から見た実行プログラム２３２の構成の例を示す図である。図６に示すように、実行プログラム２３２は、検証部２４１に対応する検証モジュール２３２ａと、論理演算処理部２４２に対応する論理演算処理モジュール２３２ｂと、スケジュール制御部２４３に対応するスケジュール制御モジュール２３２ｃと、装置内異常検出部２４４に対応する装置内異常検出モジュール２３２ｄと、ドライバ部２４５に対応するドライバモジュール２３２ｅとを含む。
【００４６】
このうち、検証モジュール２３２ａおよび論理演算処理モジュール２３２ｂは、全体が、制御装置のハードウェアに依存しないソースコードから生成される。スケジュール制御モジュール２３２ｃ、装置内異常検出モジュール２３２ｄ、およびドライバモジュール２３２ｅは、一部は、制御装置のハードウェアに依存しないソースコードから生成され、他の部分は制御装置のハードウェアに依存するソースコードから生成される。制御装置のハードウェアに依存しないソースコードとは、制御装置のハードウェアが変更されても、そのハードウェアに対応するコンパイラでリコンパイルさえすれば、そのまま流用できるソースコードである。制御装置のハードウェアに依存するソースコードとは、制御装置のハードウェアが変更されると、そのハードウェアの仕様に合わせて書き換える必要がある可能性があるソースコードである。
【００４７】
図６に示すように、制御ロジックという最も重要な部分を処理する論理演算処理モジュール２３２ｂは、全体が、制御装置のハードウェアに依存しないソースコードから生成される。さらに、論理演算処理モジュール２３２ｂが処理する制御ロジックを格納する制御プログラム２３１は、制御装置のハードウェアに依存しない中間言語の命令列を含む。このため、制御プログラム２３１および論理演算処理モジュール２３２ｂは、制御装置のハードウェアが置き換わっても、論理演算処理モジュール２３２ｂのソースコードをリコンパイルするだけで対応できる。このため、制御装置のハードウェアが置き換わっても、長年の使用によって確認された信頼性をそのまま維持することができる。
【００４８】
図７を参照しながら、編集装置１０の動作について説明する。図７は、編集装置１０の動作の例を示すフローチャートである。
【００４９】
制御部１５は、入力部１２において編集操作が受け付けられたかを判定する（ステップＳ１０１）。入力部１２において編集操作が受け付けられた場合（ステップＳ１０１，Ｙｅｓ）、制御部１５は、編集部１５１の機能に基づいて図形言語データ１４１の編集処理を実行する（ステップＳ１０２）。入力部１２において編集操作が受け付けられていない場合（ステップＳ１０１，Ｎｏ）、編集処理は実行されない。
【００５０】
続いて、制御部１５は、入力部１２において変換指示が受け付けられたかを判定する（ステップＳ１０３）。入力部１２において変換指示が受け付けられた場合（ステップＳ１０３，Ｙｅｓ）、制御部１５は、変換部１５２の機能に基づいて図形言語データ１４１を制御プログラム１４２へ変換する（ステップＳ１０４）。入力部１２において変換指示が受け付けられていない場合（ステップＳ１０３，Ｎｏ）、変換は実行されない。
【００５１】
続いて、制御部１５は、入力部１２において出荷指示が受け付けられたかを判定する（ステップＳ１０５）。入力部１２において出荷指示が受け付けられた場合（ステップＳ１０５，Ｙｅｓ）、制御部１５は、検証部１５３の機能に基づいて制御プログラム１４２を図形言語データへ逆変換する（ステップＳ１０６）。そして、制御部１５は、逆変換で得られた図形言語データと、元の図形言語データ１４１とを比較する（ステップＳ１０７）。
【００５２】
両者が一致した場合（ステップＳ１０８，Ｙｅｓ）、制御部１５は、制御プログラム１４２を制御装置２０に導入可能な状態にするための出荷処理を実行する（ステップＳ１０９）。出荷処理には、例えば、制御プログラム１４２が正当であるか否かを検証するための電子署名またはハッシュタグ等の情報を制御プログラム１４２に付与する処理が含まれる。両者が一致しない場合（ステップＳ１０８，Ｎｏ）、出荷処理は実行されない。入力部１２において出荷指示が受け付けられていない場合（ステップＳ１０５，Ｎｏ）、ステップＳ１０６からステップＳ１０９は実行されない。
【００５３】
続いて、制御部１５は、動作を終了するかを判定する（ステップＳ１１０）。制御部１５は、例えば、入力部１２において終了指示が受け付けられた場合、または入力部１２が操作されない期間が所定の長さ以上継続した場合に、動作を終了すると判定する。動作を終了すると判定した場合（ステップＳ１１０，Ｙｅｓ）、制御部１５は、図７に示す動作を終了させる。動作を終了すると判定しない場合（ステップＳ１１０，Ｎｏ）、制御部１５は、ステップＳ１０１以降を再び実行する。
【００５４】
図８を参照しながら、制御装置２０の動作について説明する。図８は、制御装置２０の動作の例を示すフローチャートである。図８に示す制御装置２０の動作は、制御装置２０が起動し、実行プログラム２３２が実行された後に、検証部２４１が提供する機能に基づいて演算装置２４によって実行される動作である。
【００５５】
演算装置２４は、制御プログラム２３１が更新されたか否かを判定する（ステップＳ２０１）。制御プログラム２３１が更新されている場合（ステップＳ２０２，Ｙｅｓ）、演算装置２４は、試験モードへ移行する（ステップＳ２０３）。そして、演算装置２４は、制御プログラム２３１をロードし（ステップＳ２０４）、試験を実行する（ステップＳ２０５）。
【００５６】
試験が正常に完了した場合（ステップＳ２０６，Ｙｅｓ）、演算装置２４は、通常モードへ移行する（ステップＳ２０８）。そして、演算装置２４は、制御プログラム２３１をロードし（ステップＳ２０９）、通常稼働を開始する（ステップＳ２１０）。演算装置２４は、ロード済みの制御プログラム２３１をそのまま利用してもよい。試験が正常に完了しなかった場合（ステップＳ２０６，Ｎｏ）、演算装置２４は、通常稼働を開始せずに、制御装置２０を異常終了させる（ステップＳ２０７）。
【００５７】
制御プログラム２３１が更新されていない場合（ステップＳ２０２，Ｎｏ）、演算装置２４は、試験モードへ移行することなく、制御プログラム２３１をロードし（ステップＳ２０９）、通常稼働を開始する（ステップＳ２１０）。
【００５８】
上述してきたように、本実施例によれば、制御装置２０のハードウェアが変更になった場合でも、制御プログラムをそのまま流用することができ、さらに、制御プログラムを実行するための実行プログラムのソースコードの多くの部分を流用することができる。このため、高い信頼性を確保しつつ、ハードウェアの変更に対応するためのソフトウェアの開発コストを低減することができる。
【００５９】
なお、上記の実施例で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、上記の実施例で示したプログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと統合されていてもよい。
【００６０】
編集装置１０は、実行プログラム２３２を試験モードで動作させることができるように構成されてもよい。すなわち、編集装置１０は、制御装置２０のハードウェアが擬似的に再現された環境で制御プログラム２３１を実行できるように構成されてもよい。これにより、編集装置１０内で制御プログラム２３１のデバックを詳細に行うことが可能になり、信頼性の向上に寄与する。
【００６１】
編集装置１０は、複数の種類の図形言語データに対応できるように構成されてもよい。例えば、図９に示す編集装置１０ａの変換部１５２は、図形言語データ１４１だけでなく、図形言語データ７０を制御プログラム１４２に変換することができる。図形言語データ７０は、図形言語データ１４１とは異なる仕様の図形言語データである。図形言語データ７０は、例えば、編集装置１０ａとは異なるメーカの編集装置によって作成される図形言語データ、またはメーカは同じだがバージョンが異なる図形言語データである。このように、複数の種類の図形言語データに対応することを可能にすることにより、各種の設備を置き換える場合に、ソフトウェアの更新に要するコストを低減しつつ、高い信頼性を維持することができる。
【符号の説明】
【００６２】
１  原子力発電プラント
１ａ  原子力発電設備
１０、１０ａ  編集装置  
１１  表示部
１２  入力部
１３  インターフェース部
１４  記憶部
１４１、７０  図形言語データ
１４２  制御プログラム
１５  制御部
１５１  編集部
１５２  変換部
１５３  検証部
２０  制御装置
２１  インターフェース部
２２  入出力部
２３  記憶部
２３１  制御プログラム
２３２  実行プログラム
２４  演算装置
２４１  検証部
２４２  論理演算処理部
２４３  スケジュール制御部
２４４  装置内異常検出部
２４５  ドライバ部
３０ａ〜３０ｍ  検出器
４０ａ〜４０ｎ  動作部
【図１】
2015075786.tif 000003
【図２】
2015075786.tif 000004
【図３】
2015075786.tif 000005
【図４】
2015075786.tif 000006
【図５】
2015075786.tif 000007
【図６】
2015075786.tif 000008
【図７】
2015075786.tif 000009
【図８】
2015075786.tif 000010
【図９】
2015075786.tif 000011