(57)【要約】【課題】同種、異種の複数の制御装置が互いにネットワーク接続されて構築されている実際の発電制御システムを簡素な構成で模擬することができる模擬制御装置を提供する。【解決手段】本発明に係る模擬制御装置は、それぞれが実プロセッサを具備する複数の実制御装置によって１以上の外部装置を制御する実制御システム、を模擬する模擬制御装置において、前記実プロセッサで実行される異なるプログラムを、前記複数の実制御装置に対応させてそれぞれ独立に模擬実行する複数の命令実行処理部と、前記実プロセッサで実行されるプログラムを、前記複数の命令実行処理部のそれぞれと関連付けて記憶する複数の記憶部と、１以上の外部インタフェース部と、前記実制御装置と前記外部装置との間の伝送処理を、前記複数の命令実行処理部のそれぞれと関連付けて前記外部インタフェース部を介して模擬実行する複数の伝送処理部と、を備えたことを特徴とする。【選択図】  図３
2011248458.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが実プロセッサを具備する複数の実制御装置によって１以上の外部装置を制御する実制御システム、を模擬する模擬制御装置において、
前記実プロセッサで実行される異なるプログラムを、前記複数の実制御装置に対応させてそれぞれ独立に模擬実行する複数の命令実行処理部と、
前記実プロセッサで実行されるプログラムを、前記複数の命令実行処理部のそれぞれと関連付けて記憶する複数の記憶部と、
１以上の外部インタフェース部と、
前記実制御装置と前記外部装置との間の伝送処理を、前記複数の命令実行処理部のそれぞれと関連付けて前記外部インタフェース部を介して模擬実行する複数の伝送処理部と、
を備えたことを特徴とする模擬制御装置。
【請求項２】
前記実制御システムは、同種のハードウェアと同種のオペレーティングシステムからなる同種のプラットフォームを有する複数の前記実制御装置を備えて構成され、
前記複数の命令実行処理部のそれぞれは、前記同種のプラットフォーム上で実行される前記プログラムを模擬実行する、
ことを特徴とする請求項１に記載の模擬制御装置。
【請求項３】
前記実制御システムは、ハードウェアとオペレーティングシステムの少なくともいずれか一方の種類が異なる異種のプラットフォームを有する複数の前記実制御装置を備えて構成され、
前記複数の命令実行処理部のそれぞれは、前記異種のプラットフォーム上で実行される前記プログラムを模擬実行する、
ことを特徴とする請求項１に記載の模擬制御装置。
【請求項４】
前記複数の実制御装置のそれぞれは、第１の実制御装置と、前記第１の実制御装置の冗長系として機能する第２の実制御装置とを備え、
前記複数の命令実行処理部は、前記第１及び第２の実制御装置の処理をそれぞれ模擬する第１の命令実行処理部と第２の命令実行処理部とを有する、
ことを特徴とする請求項１に記載の模擬制御装置。
【請求項５】
前記複数の実制御装置間を互いに接続する内部ネットワークを模擬し、前記複数の伝送処理部間の互いの通信を管理する内部ネットワーク管理部、
をさらに備えたことを特徴とする請求項１に記載の模擬制御装置。
【請求項６】
前記伝送処理部の数と前記外部インタフェースの数が異なる場合であっても、前記伝送処理部の機器識別情報と前記外部インタフェースの機器識別情報との関連付けを行うことにより、前記伝送処理部と前記外部インタフェースとを相互に通信させるルーティング処理部、
をさらに備えたことを特徴とする請求項１に記載の模擬制御装置。
【請求項７】
前記実プロセッサで実行される前記プログラムは、前記実プロセッサに固有の第１の命令語体系で記述される機械語レベルの第１のプログラムであり、
前記第１のプログラムを、本模擬制御装置が具備するプロセッサに固有の第２の命令語体系で記述される機械語レベルの第２のプログラムに変換するプロセッサ解釈処理部、
をさらに備えたことを特徴とする請求項１に記載の模擬制御装置。
【請求項８】
それぞれが実プロセッサを具備する複数の実制御装置によって１以上の外部装置を制御する実制御システム、を模擬すると共に１以上の外部インタフェースを有する模擬制御装置の制御方法において、
前記実プロセッサで実行される異なるプログラムを、前記複数の実制御装置に対応させてそれぞれ独立に模擬実行し、
前記実プロセッサで実行されるプログラムを、前記複数の実制御装置のそれぞれと関連付けて記憶し、
前記実制御装置と前記外部装置との間の伝送処理を、前記複数の実制御装置のそれぞれと関連付けて前記外部インタフェース部を介して模擬実行する、
ことを特徴とする模擬制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、模擬制御装置およびその制御方法に係り、特に、発電設備等で用いられる制御装置を模擬する模擬制御装置およびその制御方法に関する。
【背景技術】
【０００２】
発電設備等では多種多様な制御装置が用いられている。今日の制御装置の多くはソフトウェアを使用しており、制御装置の中のＣＰＵ（或いはＣＰＵボード）に各種の制御用プログラムを実行させることによって種々の機能を実現している。
【０００３】
制御用のソフトウェアを新たに開発する場合や変更する場合に、発電設備等で用いられている制御装置と同じハードウェアがソフトウェア開発者側にあれば、効率の良い開発や質の高い試験が可能である。
【０００４】
しかしながら、一般に、ソフトウェア開発者側で保有できる制御装置の数は限られており、ソフトウェア開発者が必要なときに使用できない場合ある。このため、パーソナルコンピュータ等の計算機に発電制御装置を模擬した仮想的な制御装置の機能を持たせた模擬制御装置を構築し、ソフトウェア開発者がこの模擬制御装置を使用して開発や試験を行う方法が知られている（例えば、特許文献１、２等）。
【０００５】
模擬制御装置を使用することにより、システムのシミュレーションを行うことも可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−４０１３３号公報
【特許文献２】特開平７−５６４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した従来の模擬制御装置は、１つの制御装置を１つの模擬制御装置で模擬している。しかしながら、実際の発電制御システムは、同種、異種の制御装置が複数混在して構築されているのが一般的であり、従来の模擬制御装置を用いて発電制御システム全体を模擬しようとすると、各制御装置に対応する同種、異種の多数の模擬制御装置が必要となる。
【０００８】
この場合、パーソナルコンピュータ等で構築される模擬制御装置であっても、多くの台数が必要とされるため、セットアップに多くの時間と労力を要する。また、多数の模擬制御装置を維持管理する作業も煩雑となる。
【０００９】
本発明は、このような事情に鑑みてなされたものであり、同種、異種の複数の制御装置が互いにネットワーク接続されて構築されている実際の発電制御システムを簡素な構成で模擬することができる模擬制御装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明に係る模擬制御装置は、それぞれが実プロセッサを具備する複数の実制御装置によって１以上の外部装置を制御する実制御システム、を模擬する模擬制御装置において、前記実プロセッサで実行される異なるプログラムを、前記複数の実制御装置に対応させてそれぞれ独立に模擬実行する複数の命令実行処理部と、前記実プロセッサで実行されるプログラムを、前記複数の命令実行処理部のそれぞれと関連付けて記憶する複数の記憶部と、１以上の外部インタフェース部と、前記実制御装置と前記外部装置との間の伝送処理を、前記複数の命令実行処理部のそれぞれと関連付けて前記外部インタフェース部を介して模擬実行する複数の伝送処理部と、を備えたことを特徴とする。
【００１１】
また、本発明に係る模擬制御装置の制御方法は、それぞれが実プロセッサを具備する複数の実制御装置によって１以上の外部装置を制御する実制御システム、を模擬すると共に１以上の外部インタフェースを有する模擬制御装置の制御方法において、前記実プロセッサで実行される異なるプログラムを、前記複数の実制御装置に対応させてそれぞれ独立に模擬実行し、前記実プロセッサで実行されるプログラムを、前記複数の実制御装置のそれぞれと関連付けて記憶し、前記実制御装置と前記外部装置との間の伝送処理を、前記複数の実制御装置のそれぞれと関連付けて前記外部インタフェース部を介して模擬実行する、ことを特徴とする。
【発明の効果】
【００１２】
本発明に係る模擬制御装置およびその制御方法によれば、同種、異種の複数の制御装置が互いにネットワーク接続されて構築されている実際の発電制御システムを簡素な構成で模擬することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る模擬制御装置と実制御装置及び実制御システムとの対応関係を示す概略図。
【図２】本発明の一実施形態に係る模擬制御装置のハードウェア構成の一例を示すブロック図。
【図３】第１の実施形態に係る模擬制御装置の構成例を示す機能ブロック図。
【図４】第２の実施形態に係る模擬制御装置の構成例を示す機能ブロック図。
【図５】第３の実施形態に係る模擬制御装置の構成例を示す機能ブロック図。
【図６】第４の実施形態に係る模擬制御装置の構成例を示す機能ブロック図。
【図７】第５の実施形態に係る模擬制御装置の構成例を示す機能ブロック図。
【図８】第６の実施形態に係る模擬制御装置の構成例を示す機能ブロック図。
【発明を実施するための形態】
【００１４】
本発明の実施形態に係る模擬制御装置１及びその制御方法の実施形態について、添付図面を参照して説明する。
【００１５】
図１は、本実施形態に係る模擬制御装置１と、模擬制御装置１が模擬する対象となる実制御システム１００との関係を模式的に示す概略図である。
【００１６】
実制御システム１００は、例えば、発電所等の発電設備に設置され、各種の発電関連機器（制御対象装置２００）を制御するシステムである。実制御システム１００は、複数の実制御装置１０２から構成されており、これら複数の実制御装置１０２は、１以上の収納架１０１に収納される。それぞれの実制御装置１０２は、例えば、実プロセッサ１０３を実装するＣＰＵボードである。
【００１７】
それぞれの実制御装置１０２は、同種のプラットフォームで構成される場合や、異種のプラットフォームで構成される場合もある。ここで、例えば２つの実制御装置１０２が同種のプラットフォームで構成されるとは、２つの実制御装置１０２がそれぞれ同種のハードウェアで構成されかつ同種のＯＳを備えていることを意味している。一方、例えば２つの実制御装置１０２が異種のプラットフォームで構成されるとは、２つの実制御装置１０２のハードウェアとＯＳの少なくとも一方が異なる種類であることを意味している。
【００１８】
実制御装置１０２のプラットフォームの種類が同種であっても異種であっても、それぞれの実プロセッサで実行されるプログラム（ソフトウェア）は、通常、プロセッサごとに異なる。実プロセッサでの具体的な実行形態は種々の方法が存在し得る。１つの実プロセッサで１つのプログラムを実行する場合や、複数のプログラムを時分割で実行する場合もある。また、１つのプログラムを同種や異種のプラットフォーム上の複数のプロセッサに分散して実行する場合もある。さらに、信頼性確保のために冗長系の実制御装置１０２を設け、常用系の実制御装置１０２に異常が発生した場合には、冗長系の実制御装置１０２に切り替えて、冗長系の実制御装置１０２に常用系と実質的に同じプログラムを実行させる動作形態もありえる。
【００１９】
本実施形態に係る模擬制御装置１は、上記のような同種、異種の複数のプラットフォームが混在して構成される複数の実制御装置１０２の動作を、１台の計算機で模擬することを可能とするものである。
【００２０】
図２は、模擬制御装置１のハードウェア構成の一例を示すブロック図である。模擬制御装置１は、プログラムを実行するＣＰＵ１０、ディスプレイパネル等を有する表示部１１、外部機器等の入出力を制御するＩ／Ｏコントローラ１２、固定データ等を記憶するＲＯＭ１３、ＣＰＵ１０のワークエリアとして機能するＲＡＭ１４、各種データやプログラムを記憶しＨＤＤ等で構成される記憶部１５、キーボードやマウス等の入力デバイスで構成される操作部１６、ＬＡＮカード等の複数のネットワークインタフェースカード（ＮＩＣ−１〜ＮＩＣ−ｎ）から構成される外部インタフェース１８等を備えて構成される。
【００２１】
記憶部１５には、本模擬制御装置１で模擬する複数の実制御回路１０２の各実プロセッサで実行される制御プログラムが記憶されるほか、複数の実制御回路１０２を模擬するために必要となる管理用データ等も記憶される。
【００２２】
（第１の実施形態）
図３は、第１の実施形態に係る模擬制御装置１ａの構成例を示す機能ブロック図である。第１の実施形態に係る模擬制御装置１ａは、同種のプラットフォームで構成される複数の（ｎ個の）図１に示す実制御装置１０２を模擬するｎ個の模擬部Ａ（１）〜Ａ（ｎ）、及びｎ個の外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｎ）を有するほか、管理用データベース２０ａと管理処理部２１ａを有する構成となっている。
【００２３】
各模擬部Ａ（１）〜Ａ（ｎ）は、制御プログラムＡｐ（１）〜Ａｐ（ｎ）をそれぞれ記憶する記憶部と、制御プログラムＡｐ（１）〜Ａｐ（ｎ）をそれぞれ実行する命令実行処理部Ａe（１）〜Ａe（ｎ）及び伝送処理部Ａt（１）〜Ａt（ｎ）を内部構成として有している。
【００２４】
管理用データベース２０ａ、及び制御プログラムＡｐ（１）〜Ａｐ（ｎ）の記憶部は、図２に示す記憶部１５の一部を構成する。
【００２５】
また、図３中の２点鎖線は、その内部の処理が、図２に示すＣＰＵ１０によって実行されるソフトウェア処理３０ａであることを示している。
【００２６】
上記のように構成される模擬制御装置１ａは、次のように動作する。
【００２７】
模擬制御装置１ａの管理処理部２１ａは、起動時に管理用データベース２０ａから、模擬する実制御装置１０２の台数ｎを読み込み、模擬部Ａ（１）〜Ａ（ｎ）を起動する。各模擬部Ａ（１）〜Ａ（ｎ）の内部では、命令実行処理部Ａe（１）〜Ａe（ｎ）及び伝送処理部Ａt（１）〜Ａt（ｎ）がそれぞれ独立して処理を開始する。
【００２８】
命令実行処理部Ａe（１）〜Ａe（ｎ）は、各実制御装置１０２の実プロセッサで動作させる制御プログラムと同じ制御プログラムＡｐ（１）〜Ａｐ（ｎ）に従って処理を実行する。制御プログラムＡｐ（１）〜Ａｐ（ｎ）は、起動時に模擬制御装置１ａの記憶部１５に予めインストールされている。なお、制御プログラムＡｐ（１）〜Ａｐ（ｎ）を、外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｎ）及び伝送処理部Ａt（１）〜Ａt（ｎ）を経由して外部から入力するようにしてもよい。
【００２９】
模擬部Ａ（１）〜Ａ（ｎ）と外部機器（例えば図１に示す制御対象装置２００）との入出力は、外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｎ）を介して行われる。模擬部Ａ（１）〜Ａ（ｎ）と外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｎ）との対応関係に関する情報は、管理用データベース２０ａが保持しており、この情報に基づいて模擬部Ａ（１）〜Ａ（ｎ）と外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｎ）とが１対１に対応付けられる。
【００３０】
命令実行処理部Ａe（１）〜Ａe（ｎ）は、対応する伝送処理部Ａt（１）〜Ａt（ｎ）と通信が可能であり、伝送処理部Ａt（１）〜Ａt（ｎ）との通信を介して、実制御装置１０２と同様に、制御プログラムＡｐ（１）〜Ａｐ（ｎ）に基づいた外部機器との通信を模擬することが可能となる。
【００３１】
第１の実施形態に係る模擬制御装置１ａによれば、複数の模擬部Ａ（１）〜Ａ（ｎ）が独立して動作し、かつそれぞれの伝送処理が外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｎ）と結び付けられているため、各模擬部Ａ（１）〜Ａ（ｎ）が独立して外部機器との伝送を行うことができる。そして、模擬制御装置１ａの１つのソフトウェア処理３０ａによって、複数の図１に示す実制御装置１０２から構成される実制御システム１００を模擬することが可能となる。
【００３２】
（第２の実施形態）
図４は、第２の実施形態に係る模擬制御装置１ｂの構成例を示す機能ブロック図である。第２の実施形態に係る模擬制御装置１ｂは、同種のプラットフォームで構成される複数の（ｎ個の）実制御装置１０２を模擬するｎ個の模擬部Ａ（１）〜Ａ（ｎ）に加えて、実制御装置１０２とは異なる種類のプラットフォームで構成される複数の（ｍ個の）実制御装置１０２を模擬するｍ個の模擬部Ｂ（１）〜Ｂ（ｍ）を有する構成となっている。また、模擬部Ａ（１）〜Ａ（ｎ）に対応するｎ個の外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｎ）のほか、模擬部Ｂ（１）〜Ｂ（ｍ）に対応するｍ個の外部インタフェース１８（ＮＩＣ−ｎ＋１〜ＮＩＣ−ｎ＋ｍ）を有する。また、第１の実施形態と同様に、模擬制御装置１ｂ用の管理用データベース２０ｂと管理処理部２１ｂを有する構成となっている。
【００３３】
模擬部Ｂ（１）〜Ｂ（ｍ）は、模擬部Ａ（１）〜Ａ（ｎ）と同様に、実制御装置１０２のそれぞれの制御プログラムと同じ制御プログラムＢｐ（１）〜Ｂｐ（ｍ）をそれぞれ記憶する記憶部と、制御プログラムＢｐ（１）〜Ｂｐ（ｍ）をそれぞれ実行する命令実行処理部Ｂe（１）〜Ｂe（ｍ）及び伝送処理部Ｂt（１）〜Ｂt（ｍ）を内部構成として有している。
【００３４】
第１の実施形態と同様に、管理用データベース２０ｂ、及び制御プログラムＡｐ（１）〜Ａｐ（ｎ）、制御プログラムＢｐ（１）〜Ｂｐ（ｍ）の記憶部は、図２に示す記憶部１５の一部を構成する。また、図４中の２点鎖線も、その内部の処理が、図２に示すＣＰＵ１０によって実行されるソフトウェア処理３０ｂであることを示している。
【００３５】
なお、図４（以下の図５−図７においても同様）では、説明の簡素化のため、ＡおよびＢの２つの種類のプラットフォームを有する実制御装置１０２を模擬する構成を例示しているが、模擬する実制御装置１０２の種類は２種類に限定されるものではなく、３種以上の種類の実制御装置１０２を模擬できる。
【００３６】
模擬制御装置１ｂの管理処理部２１ｂは、起動時に管理用データベース２０ｂから、模擬する実制御装置１０２の種類Ａ、Ｂと対応する台数ｎ、ｍを読み込み、模擬部Ａ（１）〜Ａ（ｎ）、及び模擬部Ｂ（１）〜Ｂ（ｍ）を起動する。各模擬部Ａ（１）〜Ａ（ｎ）、及び模擬部Ｂ（１）〜Ｂ（ｍ）の内部では、命令実行処理部Ａe（１）〜Ａe（ｎ）、Ｂe（１）〜Ｂe（ｍ）及び伝送処理部Ａt（１）〜Ａt（ｎ）、Ｂt（１）〜Ｂt（ｍ）がそれぞれ独立して処理を開始する。以下の処理は第１の実施形態と同様である。
【００３７】
第２の実施形態に係る模擬制御装置１ｂによれば、実制御システム１００に、プラットフォームの種類の異なる実制御装置１０２がそれぞれ複数混在する場合であっても、模擬制御装置１ｂの１つのソフトウェア処理３０ｂによって、この実制御システム１００を模擬することが可能となる。
【００３８】
（第３の実施形態）
図５は、第３の実施形態に係る模擬制御装置１ｃの構成例を示す機能ブロック図である。一般に発電設備の制御システム等では、高信頼性を確保するため、同じ機能を実現可能な常用系と冗長系の２系統（場合によっては３系統以上）の実制御装置１０２を具備する構成がとられることが多い。第３の実施形態に係る模擬制御装置１ｃは、常用系（第１の実制御装置）と冗長系（第２の実制御装置）を具備する実制御装置１０２を模擬可能な構成としている。
【００３９】
具体的には、模擬部Ａ（１）〜Ａ（ｎ）及び模擬部Ｂ（１）〜Ｂ（ｍ）の内部に、命令実行処理部Ａe（１）〜Ａe（ｎ）、Ｂe（１）〜Ｂe（ｍ）（第１の命令実行処理部）の他に、冗長化処理部Ａr（１）〜Ａr（ｎ）、及びＢr（１）〜Ｂr（ｍ）（第２の命令実行処理部）を付加できる構成としている。そして、模擬制御装置１ｃの管理用データベース２０ｃには、模擬する実制御装置１０２の台数やプラットフォームの種類のほか、冗長化の有無や冗長化の方式に関する情報が記憶されている。
【００４０】
模擬制御装置１ｃの管理処理部２１ｃは、第１、第２の実施形態と同様に、起動時に管理用データベース２０ｃから模擬する実制御装置１０２の台数やプラットフォームの種類を読み込むほか、冗長化の有無や冗長化の方式に関する情報を読み込む。このとき、模擬する実制御装置１０２に対して冗長化が有りと指定されている場合には、模擬部Ａ（１）〜Ａ（ｎ）、Ｂ（１）〜Ｂ（ｍ）の起動と同時に、指定に応じて冗長化処理部Ａr（１）〜Ａr（ｎ）、及びＢr（１）〜Ｂr（ｍ）を起動する。
【００４１】
各冗長化処理部Ａr（１）〜Ａr（ｎ）、Ｂr（１）〜Ｂr（ｍ）は、命令実行処理部Ａe（１）〜Ａe（ｎ）、Ｂe（１）〜Ｂe（ｍ）や伝送処理部Ａt（１）〜Ａt（ｎ）、Ｂt（１）〜Ｂt（ｍ）との間でデータの授受が可能となるように構成されている。
【００４２】
冗長化の方式には、冗長系待機方式や、冗長系切替方式等がある。冗長系待機方式では、通常は常用系のみが動作し冗長系は待機（非動作）している。常用系に何らかの異常が発生すると、冗長系が動作して常用系から冗長系に入出力が切り替えられる。一方、冗長系切替方式では、常用系と冗長系は並列に動作し、常用系に何らかの異常が発生した場合、系の入出力が常用系から冗長系に切り替えられる。
【００４３】
模擬制御装置１ｃでは、管理用データベース２０ｃに記憶されている冗長化方式の情報に応じて、冗長系待機方式と冗長系切替方式とを選択できる。
【００４４】
起動時には、管理処理部２１ｃは、命令実行処理部Ａe（１）〜Ａe（ｎ）、Ｂe（１）〜Ｂe（ｍ）を常用系として使用する。そして、命令実行処理部Ａe（１）〜Ａe（ｎ）、Ｂe（１）〜Ｂe（ｍ）や伝送処理部Ａt（１）〜Ａt（ｎ）、Ｂt（１）〜Ｂt（ｍ）において異常を検出した場合や、外部機器からの系切り替え要求が外部インタフェース１８を介して入力された場合には、該当する模擬部において、命令実行処理部Ａe（１）〜Ａe（ｎ）、Ｂe（１）〜Ｂe（ｍ）から冗長化処理部Ａr（１）〜Ａr（ｎ）、Ｂr（１）〜Ｂr（ｍ）への処理の切り替えを行う。
【００４５】
第３の実施形態に係る模擬制御装置１ｃによれば、第１、第２の実施形態の効果に加えて、実制御システム１００が冗長系を有する構成であっても、模擬制御装置１ｃの１つのソフトウェア処理３０ｃによって、この実制御システム１００を模擬することが可能となる。
【００４６】
（第４の実施形態）
図６は、第４の実施形態に係る模擬制御装置１ｄの構成例を示す機能ブロック図である。実制御システム１００の多くは、制御対象装置２００である外部機器との通信のほか、実制御システム１００内部の複数の実制御装置１０２間での通信が可能な構成となっている。第４の実施形態に係る模擬制御装置１ｄは、実制御装置１０２間での通信を模擬可能な構成としている。具体的には、模擬制御装置１ｄは、第１〜第３の実施形態の構成に加えて、内部ネットワーク管理部４０と内部ネットワーク４１を具備する構成としている。なお、図６では冗長系の構成を省略しているが、第４の実施形態においても、冗長系の構成の付加を排除するものではない。
【００４７】
第４の実施形態に係る模擬制御装置１ｄの管理用データベース２０ｄには、模擬する実制御装置１０２の台数やプラットフォームの種類のほか、実制御装置１０２間でのネットワーク情報が記憶されている。
【００４８】
模擬制御装置１ｄの管理処理部２１ｄは、起動時に管理用データベース２０ｄからネットワーク情報を読み出し、内部ネットワーク管理部４０は、読み出したネットワーク情報に従って、模擬部Ａ（１）〜Ａ（ｎ）及び模擬部Ｂ（１）〜Ｂ（ｍ）間（より具体的には、伝送処理部Ａt（１）〜Ａt（ｎ）、Ｂt（１）〜Ｂt（ｍ）間）の内部ネットワーク４１を構築する。
【００４９】
模擬部Ａ（１）〜Ａ（ｎ）及び模擬部Ｂ（１）〜Ｂ（ｍ）間の内部ネットワーク４１は、実制御装置１０２間のネットワークを模擬するものであり、ブロードキャスト方式のようなフラットな階層のネットワークを構築することも可能であり、階層構造のネットワークを構築することも可能である。
【００５０】
第４の実施形態に係る模擬制御装置１ｄによれば、第１〜第３の実施形態の効果に加えて、実制御システム１００内のそれぞれの実制御装置１０２が通信を行う構成であっても、模擬制御装置１ｄの１つのソフトウェア処理３０ｄによって、実制御装置１０２間の通信機能を含めた実制御システム１００を模擬することが可能となる。
【００５１】
（第５の実施形態）
図７は、第５の実施形態に係る模擬制御装置１ｅの構成例を示す機能ブロック図である。実制御システム１００が多数、多種の実制御装置１０２を具備する場合であっても、模擬制御装置１のソフトウェア処理３０において模擬部の数や種類を増加させれば、実制御システム１００を模擬することができる。
【００５２】
しかしながら、ＬＡＮカード等で構成される外部インタフェース１８の数は、１つの計算機で装着可能な物理的な数によって制約される。
【００５３】
第５の実施形態に係る模擬制御装置１ｅは、ソフトウェア処理３０ｅにルーティング処理部５０を付加することによって、外部インタフェース１８の数の物理的な制約を排除することが可能な構成としている。つまり、外部インタフェース１８の数ｋが、模擬する実制御装置１０２の数（図７の例では、ｎ＋ｍ）より小さい場合であっても、外部機器との通信を支障なく模擬できる構成としている。
【００５４】
第５の実施形態に係る模擬制御装置１ｅでは、管理用データベース２０ｅに、外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｋ）と模擬部Ａ（１）〜Ａ（ｎ）及び模擬部Ｂ（１）〜Ｂ（ｍ）との関連付け情報が記憶されている。管理処理部２１ｅは、起動時にこの関連付け情報を管理用データベース２０ｅから読み取る。ルーティング処理部５０は、管理処理部２１ｅが読み取った関連付け情報に基づいて、外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｋ）と模擬部Ａ（１）〜Ａ（ｎ）及び模擬部Ｂ（１）〜Ｂ（ｍ）との間のルーティング処理を行う。
【００５５】
より具体的には、ルーティング処理部５０は、外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｋ）が外部機器から受信したデータを分析し、どの外部機器からどの模擬部に宛てられたデータなのかを判断し、該当する模擬部の伝送処理部に受信したデータを外部機器の識別情報と共に配信する。逆に、ある特定の模擬部からある特定の外部機器に送信されるデータに対しては、その模擬部を識別するための識別情報（送信元）と外部機器を識別するための識別情報（送信先）とを付加して、外部インタフェース１８（ＮＩＣ−１〜ＮＩＣ−ｋ）のいずれかを介して外部機器に送信する。
【００５６】
このように、第５の実施形態に係る模擬制御装置１ｅでは、外部インタフェース１８の数ｋが模擬する実制御装置１０２の数より小さい場合であっても、外部機器との通信を含めた実制御システム１００を模擬することができる。
【００５７】
（第６の実施形態）
図８は、第６の実施形態に係る模擬制御装置１ｆの構成例を示す機能ブロック図である。第１〜第５の実施形態の説明では、実制御装置１０２で実行される制御プログラムと同じ制御プログラムＡｐ（１）〜Ａｐ（ｎ）、制御プログラムＢｐ（１）〜Ｂｐ（ｍ）が、命令実行処理部Ａe（１）〜Ａe（ｎ）、Ｂe（１）〜Ｂe（ｍ）及び伝送処理部Ａt（１）〜Ａt（ｎ）、Ｂt（１）〜Ｂt（ｍ）で実行されるものとしている。
【００５８】
しかしながら、実制御装置１０２に実装される実プロセッサ１０３と、模擬制御装置１が具備するＣＰＵ１０（模擬制御装置１のプロセッサ）とは、必ずしも同一の種類ではない。一般に、プロセッサの種類が異なる場合、機械語レベルでの命令語体系はプロセッサの種類に応じて異なる場合が多い。
【００５９】
つまり、機械語レベルの観点から見ると、第１〜第５の実施形態において模擬制御装置１のＣＰＵ１０で実行される制御プログラムＡｐ（１）〜Ａｐ（ｎ）、制御プログラムＢｐ（１）〜Ｂｐ（ｍ）と実プロセッサで実行されるプログラムとは厳密には同一ではない。
【００６０】
そこで、第６の実施形態に係る模擬制御装置１ｆでは、実制御装置１０２の模擬の程度をさらに高めるため、実プロセッサで実行される制御プログラムと模擬制御装置１ｆにインストールされる制御プログラムＡｐ（１）〜Ａｐ（ｎ）とを、機械語レベルにおいても完全に一致させることができる構成としている。
【００６１】
具体的には、各実制御装置１０２の実プロセッサ１０３に固有の命令語体系で記述された機械語レベルのプログラム（実プロセッサ対応言語の制御プログラムＡｐ（１）〜Ａｐ（ｎ））を模擬制御装置１ｆの記憶部１５にインストールする。そして、模擬制御装置１ｆが具備するプロセッサ解釈処理部６０において、実プロセッサに固有のプログラム（第１の命令語体系で記述される機械語レベルの第１のプログラム）を、模擬制御装置１ｆのＣＰＵ１０に固有のプログラム（第２の命令語体系で記述される機械語レベルの第２のプログラム）に変換している。
【００６２】
プログラムの変換は起動時等に一括して行い、変換後のプログラム全体を、模擬部Ａ（１）〜Ａ（ｎ）に対応する記憶部Ａｍ（１）〜Ａｍ（ｎ）に予め保存するようにしてもよい。或いは、命令実行処理部Ａe（１）〜Ａe（ｎ）や伝送処理部Ａt（１）〜Ａt（ｎ）における処理の順序に応じて、命令語ごとに逐次変換するようにしてもよい。
【００６３】
第６の実施形態に係る模擬制御装置１ｆによれば、実プロセッサで実行される制御プログラムと模擬制御装置１ｆにインストールされる制御プログラムＡｐ（１）〜Ａｐ（ｎ）とを、機械語レベルにおいても完全に一致させることができるため、実制御装置１０２の模擬の程度をさらに高めることができる。
【００６４】
以上説明してきたように、本発明の各実施形態に係る模擬制御装置１ａ〜１ｆおよびその制御方法によれば、同種、異種の複数の実制御装置１０２が互いにネットワーク接続されて構築されている実制御システム１００を、簡素な構成で、かつ高い忠実度で模擬することができる。この結果、実制御システム１００のソフトウェアを効率よく開発し、或いは変更することができる。また、実制御装置１０２の機種が新たに追加になった場合等でも容易且つ柔軟に対応することが可能となり、実制御システム１００のメンテナンス性を高めることができる。
【００６５】
なお、本発明は上記の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【００６６】
１  模擬制御装置
１０  ＣＰＵ
１５  記憶部
１８  外部インタフェース（ネットワークインタフェースカード：ＮＩＣ）
２０  管理用データベース
２１  管理処理部
３０  ソフトウェア処理
４０  内部ネットワーク管理部
４１  内部ネットワーク
５０  ルーティング処理部
６０  プロセッサ解釈処理部
Ａe、Ｂe  命令実行処理部
Ａt、Ｂt  伝送処理部
Ａp、Ｂp  制御プログラム
【図１】
2011248458.tif 000003
【図２】
2011248458.tif 000004
【図３】
2011248458.tif 000005
【図４】
2011248458.tif 000006
【図５】
2011248458.tif 000007
【図６】
2011248458.tif 000008
【図７】
2011248458.tif 000009
【図８】
2011248458.tif 000010