(57)【特許請求の範囲】
【請求項１】
ネットワークを介して複数機器を接続して構成されるオープン系プロセス制御システムの信頼性を評価するシステム評価方法であって、
前記機器内および前記機器間で実行される複数のテスト実行タスクを非同期に実行する耐久テストプログラムを実行する実行ステップと、
前記耐久テストプログラムの実行結果と結果予定値とを比較して、前記プロセス制御システムの信頼性を評価する評価ステップと、
を含み、
前記耐久テストプログラムは、
前記耐久テストプログラムを実行する前記機器において実行される第１のテスト実行タスク群により、前記機器の１つに格納された複数のファイルに対する読み書き処理を行うファイル非同期耐久テストプログラムと、
第２のテスト実行タスク群により前記機器間でのデータの送受信処理を行う下位伝送非同期耐久テストプログラムと、
前記耐久テストプログラムを実行する前記機器において実行される第３のテスト実行タスク群により所定のファイルの読み書き処理を定周期で起動する定周期起動非同期耐久テストプログラムと、
のうち少なくとも１つのプログラムからなり、
前記実行ステップでは、前記耐久テストプログラムの実行周期を変化させて実行することを特徴とする、システム評価方法。
【請求項２】
前記実行ステップで実行される前記各テスト実行タスクは、前記プロセス制御システムの実稼動時に実行されるアプリケーションソフトウェアの構成に基づいて設定されることを特徴とする、請求項１に記載のシステム評価方法。
【請求項３】
前記実行ステップでは、前記各テスト実行タスクの動作回数を前記耐久テストプログラムの実行結果として出力し、
前記評価ステップでは、前記耐久テストプログラムの実行結果と前記耐久テストプログラムの実行時間に基づき算出される結果予定値とを比較し、前記耐久テストプログラムの実行結果と結果予定値との差分が所定値以内であるとき、前記プロセス制御システムは信頼性があると評価することを特徴とする、請求項１または２に記載のシステム評価方法。
【請求項４】
コンピュータを、
ネットワークを介して接続されたオープン系プロセス制御システムを構成する複数機器内および前記機器間で実行される複数のテスト実行タスクを非同期に実行する耐久テストプログラムを実行する実行部と、
前記耐久テストプログラムの実行結果と結果予定値とを比較して、前記プロセス制御システムの信頼性を評価する評価部と、
を備え、
前記耐久テストプログラムは、
前記耐久テストプログラムを実行する前記機器において実行される第１のテスト実行タスク群により、前記機器の１つに格納された複数のファイルに対する読み書き処理を行うファイル非同期耐久テストプログラムと、
第２のテスト実行タスク群により前記機器間でのデータの送受信処理を行う下位伝送非同期耐久テストプログラムと、
前記耐久テストプログラムを実行する前記機器において実行される第３のテスト実行タスク群により所定のファイルの読み書き処理を定周期で起動する定周期起動非同期耐久テストプログラムと、
のうち少なくとも１つのプログラムからなり、
前記実行部は、前記耐久テストプログラムの実行周期を変化させて実行することを特徴とする、システム評価装置として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オープン系プロセス制御システムにおける信頼性を評価するシステム評価方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
マーケットの広いビジネス・オフィス業務用として提供されているパソコンサーバの高性能化、低価格化により、プロセス制御システムにおいても当該パソコンサーバが利用されるようになっている。このようなオープン系プロセス制御システムにおいてはリアルタイム性が要求されるが、リアルタイム性が要求される場面では高負荷が集中し易く、悪条件が重なった際に不良・不具合が発生することがある。このとき、オープン系プロセス制御システムのレスポンスの悪化による処理遅れや通信のタイムアウト等が発生する可能性がある。また、これらのトラブルは、悪条件が稀なタイミングの組み合わせで重なって発生するため、システムのテスト時には発生しなくともシステム稼働後に発生することがある。
【０００３】
従来、システム稼働前に、システムを構成するサーバのＣＰＵやディスク、ネットワーク等、各々に高負荷をかけるテストプログラムを長時間実行させることで、そのトラブルの事前撲滅を目指してきた。例えば特許文献１では、オンラインシステムの出荷前に、仮想的な装置を用いて実稼動のシステムと同様のテストを容易に行えるようにする負荷テスト実行制御装置が開示されている。負荷テスト実行制御装置は、システム仕様と負荷仕様とテスト仕様から負荷発生仕様であるアクションデータを生成する。このアクションデータを負荷発生手段に入力することで自動的に負荷が発生し、当該負荷に対するシステムの性能をモニタリング部で評価することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−２３７３５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１では、信頼性を評価するビジネス・オフィス業務用システムに対して、ネットワークを介して接続された外部装置よりトランザクション負荷を発生している。しかし、プロセス制御システムの特徴である悪条件が稀なタイミングの組み合わせで重なって発生するような非同期処理が、実際に稼動するサーバ上で負荷が生成されてはおらず、実際にシステムが稼働したときとほぼ同一の状況について検証できているとはいえない。
【０００６】
さらに、プロセス制御システムで実行する実際のアプリケーションソフトウェア（以下、「ＡＰソフトウェア」とも表記する。）では、ＣＰＵやディスク、ネットワーク等を非同期に使用するため、それらの組み合わせおよびタイミングをテストプログラムではカバーできないケースがある。また、実際にプロセス制御システムにて実行するＡＰソフトウェアが完成した後、システム稼働前直前の段階で、これを用いてテストを行って不具合を発見したとしても、特にハードウェアやＯＳの改修には時間を要し、システム稼働時期が大幅に遅れることになる。さらに、例えば実際にプロセス制御システムにて実行するＡＰソフトを工程Ａで実行しても問題は発生しないが、工程Ｂで実行すると問題が発生するケースもある。
【０００７】
このように、オープン系プロセス制御システムのハードウェア、ＯＳ、ミドルウェア、ＡＰソフトウェアを備えるサーバの処理機能や、当該サーバとネットワークを介して接続された他機器との伝送等を含め、トータルで潜在的な不具合をシステム稼働前に十分に取り去ることは難しかった。
【０００８】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、システム稼働前にシステム全体として信頼性を低下させる不具合を検出することが可能な、新規かつ改良されたシステム評価方法およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある観点によれば、ネットワークを介して複数機器を接続して構成されるオープン系プロセス制御システムの信頼性を評価するシステム評価方法が提供される。本発明のシステム評価方法は、機器内および機器間で実行される複数のテスト実行タスクを非同期に実行する耐久テストプログラムを実行する実行ステップと、耐久テストプログラムの実行結果と結果予定値とを比較して、プロセス制御システムの信頼性を評価する評価ステップと、を含むことを特徴とする。耐久テストプログラムは、耐久テストプログラムを実行する機器において実行される第１のテスト実行タスク群により、機器の１つに格納された複数のファイルに対する読み書き処理を行うファイル非同期耐久テストプログラムと、第２のテスト実行タスク群により機器間でのデータの送受信処理を行う下位伝送非同期耐久テストプログラムと、耐久テストプログラムを実行する機器において実行される第３のテスト実行タスク群により所定のファイルの読み書き処理を定周期で起動する定周期起動非同期耐久テストプログラムと、のうち少なくとも１つのプログラムからなり、実行ステップでは、耐久テストプログラムの実行周期を変化させて実行する。
【００１０】
ここで、実行ステップで実行される各テスト実行タスクは、プロセス制御システムの実稼動時に実行されるアプリケーションソフトウェアの構成に基づいて設定してもよい。
【００１２】
さらに、実行ステップでは、各テスト実行タスクの動作回数を耐久テストプログラムの実行結果として出力し、評価ステップでは、耐久テストプログラムの実行結果と耐久テストプログラムの実行時間に基づき算出される結果予定値とを比較し、耐久テストプログラムの実行結果と結果予定値との差分が所定値以内であるとき、プロセス制御システムは信頼性があると評価してもよい。
【００１３】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、ネットワークを介して接続されたオープン系プロセス制御システムを構成する複数機器内および機器間で実行される複数のテスト実行タスクを非同期に実行する耐久テストプログラムを実行する実行部と、耐久テストプログラムの実行結果と結果予定値とを比較して、プロセス制御システムの信頼性を評価する評価部と、を備え、耐久テストプログラムは、耐久テストプログラムを実行する機器において実行される第１のテスト実行タスク群により、機器の１つに格納された複数のファイルに対する読み書き処理を行うファイル非同期耐久テストプログラムと、第２のテスト実行タスク群により機器間でのデータの送受信処理を行う下位伝送非同期耐久テストプログラムと、耐久テストプログラムを実行する機器において実行される第３のテスト実行タスク群により所定のファイルの読み書き処理を定周期で起動する定周期起動非同期耐久テストプログラムと、のうち少なくとも１つのプログラムからなり、実行部は、耐久テストプログラムの実行周期を変化させて実行することを特徴とする、システム評価装置として機能させるためのコンピュータプログラムが提供される。
【発明の効果】
【００１４】
以上説明したように本発明によれば、システム稼働前にシステム全体として信頼性を低下させる不具合を検出することが可能なシステム評価方法およびコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係るオープン系プロセス制御システムの構成を示す説明図である。
【図２】同実施形態に係る耐久テストプログラムのプログラム構成を示す説明図である。
【図３】同実施形態に係るファイル非同期耐久テストのシナリオ構成を示す説明図である。
【図４】同実施形態に係る下位伝送非同期耐久テストのシナリオ構成を示す説明図である。
【図５】同実施形態に係る定周期起動非同期耐久テストのシナリオ構成を示す説明図である。
【図６】同実施形態に係る耐久テストプログラムの実行によるシステム評価処理を示すフローチャートである。
【図７】ファイル非同期耐久テスト実行処理の一例を示すフローチャートである。
【図８】ファイル非同期耐久テスト実行処理の一例を示すフローチャートである。
【図９】耐久テストプログラムの実行結果および当該実行結果と結果予定値との比較による信頼性評価の結果のレポート例を示す説明図である。
【図１０】同実施形態に係る制御サーバのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１７】
＜１．システム構成例＞
まず、図１を参照して、信頼性の検証対象であるオープン系プロセス制御システムの構成について説明する。なお、図１は、本実施形態に係るオープン系プロセス制御システム１の構成を示す説明図である。図１では、プロセス制御システム１稼働前の、テストプログラム実行時の状態を示している。
【００１８】
２４時間操業で高い信頼性が要求される製鉄業等におけるプロセス制御システム１は、これまで重電メーカ専用のコンピュータやネットワークで構成されてきた。近年では、仕様が公開された汎用品のコンピュータ等の機器を利用したオープン系システムであるプロセス制御システムの導入が進んでいる。オープン系システムは、オープン標準に準拠したソフトウェアや、それを使用しているコンピュータで構成されるオープン系コンピュータシステムであって、コンピュータの基本的な制御を行うオペレーティングシステム（ＯＳ）と、各業務・制御処理を行うアプリケーションソフトウェア（ＡＰソフトウェア）と、これらの間に位置する共通的なソフトウェアであるミドルウェアとを具備する。オープン系システムをプロセス制御分野に応用したオープン系プロセス制御システムは、例えば制御用サーバと外部機器とを汎用のネットワークを介して接続することで構成することができる。ここで、外部機器としては、電気計装制御装置（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ、以下「ＰＬＣ」とする。）、データベースサーバ、他工程の制御サーバなどが対象となる。
【００１９】
本実施形態に係るプロセス制御システム１の一例を図１に示すと、プロセス制御システム１は、制御サーバ１００およびディスク２００と、情報処理端末３００と、ＰＬＣ４００とがネットワーク１０を介して接続されて構成されている。
【００２０】
制御サーバ１００は、プロセス制御を行うためのアプリケーションプログラム（ＡＰソフトウェア）を実行するための機器である。制御サーバ１００は、図１に示すように、アプリケーションソフトウェア１１０と、ミドルウェア１２０と、ＯＳ１３０と、ＣＰＵ１４０と、ネットワーク部１５０とから構成される。
【００２１】
アプリケーションソフトウェア１１０は、ＡＰソフトウェアを実行する階層であり、各行程における業務処理や制御処理を行う。ＡＰソフトウェアは、制御サーバ１００と接続された記憶装置であるディスク２００に格納されており、実行指示を受けた機能に対応するＡＰソフトウェアをディスク２００から取得して、アプリケーションソフトウェア１１０にインストールして実行する。
【００２２】
また、本実施形態に係るプロセス制御システム１の信頼性評価においては、実際に稼動するＡＰソフトウェアの代わりに、当該ＡＰソフトウェアを実行したときと同様の負荷を当該システム１に掛ける耐久テストプログラム１１２を実行する。耐久テストプログラム１１２は、システム稼働前のテスト時にアプリケーションソフトウェア１１０にインストールして使用される。また、アプリケーションソフトウェア１１０には、耐久テストプログラム１１２の実行開始および終了指示を行うテスト開始／終了指示部１１４が設けられる。テスト開始／終了指示部１１４は、ユーザが制御サーバ１００を操作するための情報処理端末３００から入力したテスト開始指示に基づいて耐久テストプログラム１１２を実行し、情報処理端末３００から入力されたテスト終了指示に基づいて耐久テストプログラム１１２の実行を終了する。
【００２３】
ミドルウェア１２０は、アプリケーションソフトウェア１１０とＯＳ１３０との間に位置する共通的なソフトウェアを実行する階層であり、ＯＳ１３０はコンピュータの基本的な制御を行う階層である。また、ＣＰＵ１４０は、制御サーバ１００で実行されるソフトウェアの演算処理を行う演算処理装置として機能し、また制御サーバ１００の制御処理を行う制御装置として機能する。ネットワーク１５０は、ネットワーク１０を接続されたインタフェースであり、制御サーバ１００と情報処理端末３００、ＰＬＣ４００とを通信可能に接続する。
【００２４】
ディスク２００は、情報を記憶する記憶部であり、例えば上述したようにＡＰソフトウェアであるＡＰファイル２１０や、耐久テストプログラム１１２の実行結果であるテストファイル２２０等を記憶する。ディスク２００は、制御サーバ１００と通信可能に接続されている。これにより、制御サーバ１００は、必要に応じて、ディスク２００に格納された情報を取得できるとともに、生成した情報をディスク２００に格納することができる。なお、図１に示すように、耐久テストプログラム１１２の実行結果を確認するテスト確認端末５００を、ディスク２００のテストファイル２２０を読み取り可能に接続することもできる。これにより、ユーザは、テスト確認端末５００により耐久テストプログラム１１２の実行結果を確認することが可能となる。
【００２５】
情報処理端末３００は、制御サーバ１００で実行される処理を操作、確認するための端末であり、例えば汎用のパーソナルコンピュータ等を用いることができる。情報処理端末３００の具体的構成例については後述する（図９）。情報処理端末３００は、ネットワーク１０を介して、ユーザから入力された情報を制御サーバ１００へ出力したり制御サーバ１００から出力された情報を受信してユーザに通知したりする。
【００２６】
ＰＬＣ４００は、制御対象である機械や装置のシーケンス制御を行うための電気計装制御装置である。ＰＬＣ４００を用いることで、制御回路の簡略化や自動化、高速処理を実現することができ、さらにはリアルタイムで制御対象のデータを取得することができる。ＰＬＣ４００で得られたデータは、ネットワーク１０を介して例えばサーバ１００へ出力され、サーバ１００にて解析されたりディスク２００に保存されたりすることで、制御対象の稼動状況の確認やトラブルの検知等に活用することができる。
【００２７】
＜２．耐久テスト＞
本実施形態では、プロセス制御システム１を構成する制御サーバ１００に、当該システム１の信頼性を評価する耐久テストプログラム１１２をインストールして実行する。このとき、稼動前のプロセス制御システム１は、図１に示すようにネットワーク１０を介して各機器１００〜４００が接続された状態であり、プロセス制御のためのＡＰソフトウェアがインストールされていない状態とする。本実施形態に係る耐久テストプログラム１１２を実行することで、下記機器１００〜４００の性能と、これらの間で伝送される情報の通信性能とが評価される。
【００２８】
すなわち、図１の破線で囲む制御サーバ１００、ディスク２００、情報処理端末３００およびネットワーク１０をテスト対象として、耐久テストプログラム１１２の実行により実稼動と同様の負荷が掛かるように各機器１００〜３００での処理、およびネットワーク１０を介した通信処理が行われる。そして、耐久テストプログラム１１２の実行結果が正しいか否かに基づいて、ユーザはプロセス制御システム１の信頼性を判定することができる。
【００２９】
［２−１．耐久テストプログラム構成］
図２〜図５に本実施形態に係る耐久テストプログラム１１２により行われる耐久テストの内容を詳細に説明する。なお、図２は、本実施形態に係る耐久テストプログラム１１２のプログラム構成を示す説明図である。図３は、本実施形態に係るファイル非同期耐久テストのシナリオ構成を示す説明図である。図４は、本実施形態に係る下位伝送非同期耐久テストのシナリオ構成を示す説明図である。図５は、本実施形態に係る定周期起動非同期耐久テストのシナリオ構成を示す説明図である。
【００３０】
本実施形態に係る耐久テストプログラム１１２は、制御サーバ１００のテスト開始／終了指示部１１４により実行される。テスト開始／終了指示部１１４は、例えば図１に示すテスト確認端末５００のテスト指示画面から送信されるテスト開始指示に基づいて耐久テストプログラムの実行を開始する。図２のテスト制御タスク（ＴＡＳＫ００）は、テスト開始／終了指示部１１４により実行されるタスクである。テスト開始／終了指示部１１４は、テスト開始指示を受信すると、テストシナリオをディスク２００より読み込み、耐久テストプログラムを実行する。
【００３１】
本実施形態に係る耐久テストプログラムは、図２に示すように、ファイル非同期耐久テストプログラム、下位伝送非同期耐久テストプログラムおよび定周期起動非同期耐久テストプログラムの３つのテストプログラムからなる。
【００３２】
ファイル非同期耐久テストプログラムは、１つのファイルに対して複数のテスト実行タスクからの読み書き要求がある状況を想定して構成されたテストプログラムである。これは、例えば、高炉の番締め処理等のようにＡＰソフトウェアを多重走行させるときに生じるファイルの多重排他処理を想定している。複数のＡＰソフトウェアが多重走行しているとき、これらは必ずしも同期して走行していない。このため、例えばあるファイルへの書き込みに処理が集中して、排他解除待ち状態が続いてしまうことがある。すなわち、ファイル非同期耐久テストプログラムの実行により、ＡＰソフトウェアの多重走行時に生じるファイルの多重排他処理がタイムアウトすることなく実行できるか否かを評価することができる。
【００３３】
下位伝送非同期耐久テストプログラムは、テスト実行タスクによりプロセス制御システムを構成する機器間でのデータの送受信処理を想定して構成されたテストプログラムである。これは、例えば、連続鋳造や精整ライン等での複数論理回線での通信のゆらぎを想定している。複数のセンサや機器間での通信処理があるとき、データの送信から受信までに要する時間が所定時間を超えると、リアルタイム性の要求されるプロセス制御システム１の稼動に影響し、システムダウンにつながることもある。下位伝送非同期耐久テストプログラムの実行により、ネットワーク１０を含めた機器間の通信性能を評価することができる。
【００３４】
定周期起動非同期耐久テストプログラムは、耐久テストプログラムを実行する制御サーバ１００において実行されるテスト実行タスクにより所定のファイルを定周期で起動するタイマー処理を想定して構成されたテストプログラムである。これは、例えば熱間圧延ラインにおけるＤＤＣ（Ｄｉｒｅｃｔ  Ｄｉｇｉｔａｌ  Ｃｏｎｔｒｏｌ）等での複数ライマー周期処理のゆらぎを想定している。定周期起動非同期耐久テストプログラムを実行することにより、起動周期の異なる複数のテスト実行タスクが実行されたときに、正しく各処理を実行できているか否かを評価することができる。
【００３５】
なお、本実施形態では耐久テストプログラムを上記３つのシステム要件モデルを反映したテストプログラムから構成したが、本発明はかかる例に限定されない。耐久テストプログラムは、例えば上記３つのテストプログラムのうち少なくとも１つから構成してもよく、さらにプロセス制御システム１の実稼動時に実行されるＡＰソフトウェアの構成に基づいて設定された新たなテストプログラムを含めて構成してもよい。
【００３６】
（ファイル非同期耐久テストプログラム）
ファイル非同期耐久テストプログラムについて詳細に説明すると、本実施形態に係るファイル非同期耐久テストプログラムは、第１のテスト実行タスク群（ＴＳＫ００１〜ＴＳＫ１５Ａ、ＴＳＫ９９５、ＴＳＫ９９８）からなる。
【００３７】
テスト実行タスク（ＴＡＫ００１〜ＴＳＫ１５Ａ）は、複数のファイルに対する読み書きを行う処理である。各テスト実行タスク（ＴＡＫ００１〜ＴＳＫ１５Ａ）には、図３に示すように、起動周期およびファイル更新レコードＮｏが設定されている。起動周期は、当該テスト実行タスクを起動する周期を表し、ファイル更新レコードＮｏは、当該テスト実行タスクが読み出すファイルの特定レコードを表している。
【００３８】
まず、各テスト実行タスク（ＴＡＫ００１〜ＴＳＫ１５Ａ）は、各タスクのローカルファイル（ｆｉｌ００１〜ｆｉｌ１５Ａ）に含まれる全レコードの全データをインクリメントする。また、共有メモリグローバル割り付けにて割り付けられた各実行タスク（ＴＡＫ００１〜ＴＳＫ１５Ａ）のグローバルファイル（ｆｉｌ００１〜ｆｉｌ１５Ａ）の全レコードの全データをインクリメントする。
【００３９】
次いで、各テスト実行タスク（ＴＡＫ００１〜ＴＳＫ１５Ａ）は、相対編成ファイル（ｆｉｌ９９１）のファイル更新レコードＮＯで示されるレコードの全データをインクリメントする。相対編成ファイルは、ディスク２００に記憶されているデータであり、１〜ｎ（ｎは整数）個のレコードから構成されるファイルである。相対編成ファイル（ｆｉｌ９９１）は共用オープン状態であり、レコード単位排他ロックされる。同様に、各テスト実行タスク（ＴＡＫ００１〜ＴＳＫ１５Ａ）は、相対編成ファイル（ｆｉｌ９９２）のファイル更新レコードＮＯで示されるレコードの全データをインクリメントする。
【００４０】
さらに、各テスト実行タスク（ＴＡＫ００１〜ＴＳＫ１５Ａ）は、インデックスファイル（ｆｉｌ９９３）のキー「ＡＢＣＤｘｘｘｘ」（ｘｘｘｘは起動回数を１００で割った余り）のレコードの全データをインクリメントする。インデックスファイルは、ディスク２００に記憶されているデータであり、所定のキーと、当該キーに対応するレコードとから構成される。インデックスファイルは、全排他状態でオープンされる。
【００４１】
その後、各テスト実行タスク（ＴＡＫ００１〜ＴＳＫ１５Ａ）は、サイクリックファイル（ｆｉｌ９９４）に１レコードをインクリメントしてサイクリックファイル（ｆｉｌ９９４）を更新する。サイクリックファイルは、ディスク２００に記憶されているデータであり、データ開始レコードおよびデータ終了レコードを指定する情報を保持している。
【００４２】
テスト実行タスク（ＴＡＫ９９５）は、サイクリックファイル（ｆｉｌ９９４）から１レコードをデクリメントする処理を行う。テスト実行タスク（ＴＡＫ９９５）は、サイクリックファイル（ｆｉｌ９９４）から１レコードをデクリメントする処理を実行すると、相対編成ファイル（ｆｉｌ９９５）のカウント値を１増加する。
【００４３】
テスト実行タスク（ＴＡＫ９９８）は、バックグラウンドで実行されている支援機能を想定して設定される処理であり、相対編成ファイル（ｆ９９８０１〜ｆ９９８６４）を全てオープンし、オープンした相対編成ファイル（ｆ９９８０１〜ｆ９９８６４）の全レコードの全データをインクリメントする。
【００４４】
ファイル非同期耐久テストプログラムでは、上記のテスト実行タスク（ＴＳＫ００１〜ＴＳＫ１５Ａ、ＴＳＫ９９５、ＴＳＫ９９８）の起動周期を異なるように設定して多重走行させる。これにより、テスト実行タスク（ＴＳＫ００１〜ＴＳＫ１５Ａ、ＴＳＫ９９５、ＴＳＫ９９８）が非同期に実行されるようになり、ファイルへのアクセスが集中するピーク負荷が掛かる状況を生成することができる。
【００４５】
（下位伝送非同期耐久テストプログラム）
次に、下位伝送非同期耐久テストプログラムについて詳細に説明すると、本実施形態に係る下位伝送非同期耐久テストプログラムは、第２のテスト実行タスク群（ＴＳＫＡ０１〜ＴＳＫＡ５Ａ、ＴＳＫＢ０１〜ＴＳＫＢ５Ａ）からなる。
【００４６】
第２のテスト実行タスク群において、テスト実行タスク（ＴＳＫＡ０１〜ＴＳＫＡ５Ａ）は制御サーバ１００にて実行される処理である。テスト実行タスク（ＴＳＫＡ０１〜ＴＳＫＡ５Ａ）は、図４に示すように、起動周期と、論理回線ＮＯと、メッセージＮＯとが設定されている。起動周期は、当該テスト実行タスクを起動する周期を表す。論理回線ＮＯは、データを送信する相手機器を特定するための情報であり、制御サーバ１００がネットワーク１０を介して通信する１つの情報処理端末３００あるいはＰＬＣ４００を特定している。メッセージＮＯは、相手機器に送信するメッセージ内容を特定するための情報である。一方、テスト実行タスク（ＴＳＫＢ０１〜ＴＳＫＢ５Ａ）は、情報処理端末３００にて実行される処理である。
【００４７】
まず、各テスト実行タスク（ＴＳＫＡ０１〜ＴＳＫＡ５Ａ）は、各タスクのローカルファイル（ｆｉｌａ０１〜ｆｉｌａ５ａ）に含まれる全レコードの全データをインクリメントする。そして、相対編成ファイル（ｆｉｌ９９２）の全データを読み出す。このとき、相対編成ファイル（ｆｉｌ９９２）は共有オープン状態である。その後、各テスト実行タスク（ＴＳＫＡ０１〜ＴＳＫＡ５Ａ）は、ネットワークを介して所定のデータ量のデータを相手機器へ送信する。
【００４８】
一方、テスト実行タスク（ＴＳＫＢ０１〜ＴＳＫＢ５Ａ）は、ネットワーク１０を介して制御サーバ１００から送信されたデータを受信する。そして、各タスクのローカルファイル（ｆｉｌａ０１〜ｆｉｌａ５ａ）に含まれる全レコードの全データをインクリメントする。
【００４９】
下位伝送非同期耐久テストプログラムでは、上記のテスト実行タスク（ＴＳＫＡ０１〜ＴＳＫＡ５Ａ、ＴＳＫＢ０１〜ＴＳＫＢ５Ａ）の起動周期を異なるように設定して多重走行させる。これにより、制御サーバ１００と情報処理端末３００あるいはＰＬＣ４００との通信処理が非同期に複数実行されるようになり、通信処理が集中するピーク負荷が掛かる状況を生成することができる。
【００５０】
（定周期起動非同期耐久テストプログラム）
次に、定周期起動非同期耐久テストプログラムについて詳細に説明すると、本実施形態に係る定周期起動非同期耐久テストプログラムは、第３のテスト実行タスク群（ＴＳＫＥ０１〜ＴＳＫＥ５Ａ）からなる。
【００５１】
第３のテスト実行タスク群を構成するテスト実行タスク（ＴＳＫＥ０１〜ＴＳＫＥ５Ａ）は、図５に示すように、初回起動時間および起動周期が設定されている。初回起動時間は、当該テスト実行タスクを最初に起動する時間を設定する。起動周期は、当該テスト実行タスクを起動する周期を表す。
【００５２】
各テスト実行タスク（ＴＳＫＥ０１〜ＴＳＫＥ５Ａ）は、初回起動時間になると各タスクのローカルファイル（ｆｉｌｅ０１〜ｆｉｌｅ５ａ）に含まれる全レコードの全データをインクリメントする処理を開始し、起動周期でカウントアップする。
【００５３】
すなわち、定周期起動非同期耐久テストプログラムでは、上記のテスト実行タスク（ＴＳＫＥ０１〜ＴＳＫＥ５Ａ）の初回起動時間あるいは起動周期を異なるように設定して多重走行させる。これにより、複数のタイマー周期処理が非同期に実行される状況を生成することができる。
【００５４】
［２−２．耐久テストプログラムの実行によるシステム評価］
図６は、本実施形態に係る耐久テストプログラム１１２の実行によるシステム評価処理を示すフローチャートである。プロセス制御システム１のシステム評価処理は、図６に示すように、耐久テストプログラム１１２を実行する実行ステップと、耐久テストプログラム１１２の実行結果に基づいてプロセス制御システム１の信頼性を評価する評価ステップとからなる。
【００５５】
実行ステップは、ファイル非同期耐久テスト実行処理（Ｓ１０）と、下位伝送非同期耐久テスト実行処理（Ｓ１２）と、定周期起動非同期耐久テスト実行処理（Ｓ１４）と、テストファイル出力処理（Ｓ１６）とからなる。テスト開始／終了指示部１１４により耐久テストプログラム１１２の実行開始が指示されると、制御サーバ１００は、まず、ファイル非同期耐久テスト実行処理（Ｓ１０）を実行する。
【００５６】
図７および図８に、ファイル非同期耐久テスト実行処理の一例を示す。図７および図８では、図２に示す第１のテスト実行タスク群のうちテスト実行タスク１（ＴＳＫ００１）とテスト実行タスク２（ＴＳＫ００２）との処理についてのみ示している。
【００５７】
まず、テスト実行タスク１（ＴＳＫ００１）の処理について説明する。図７に示すように、テスト実行タスク１（ＴＳＫ００１）は、テスト開始／終了指示部１１４からの起動メッセージを受けるまで待機している（Ｓ１００）。そして、起動メッセージを受信すると、テスト実行タスク１（ＴＳＫ００１）では、起動メッセージに含まれるリンゲージデータの内容を判定する（Ｓ１０２）。ここで、リンゲージデータとは、起動メッセージに付加された情報であり、本実施形態ではテスト実行タスク１（ＴＳＫ００１）が実行する機能を指定している。
【００５８】
ステップＳ１０２にて、リンゲージデータの内容が終了指示である場合には、当該テスト実行タスク１（ＴＳＫ００１）の処理を終了する。また、ステップＳ１０２にて、リンゲージデータの内容が開始指示である場合には、テスト実行タスク１（ＴＳＫ００１）では、当該指示を受けたときのパラメータをタスク（ＴＳＫ００１）内に記憶する。そして、テスト実行タスク１（ＴＳＫ００１）の各ファイル（ｆｉｌ００１、ｆｉｌ９９１、ｆｉｌ９９２、ｆｉｌ９９３、ｆｉｌ９９４）およびグローバル（ｆｉｌ００１）のデータをクリアする（Ｓ１０４）。その後、開始指示時に指定されたタイマーをセットして（Ｓ１０６）、ステップＳ１００の処理に戻る。
【００５９】
また、ステップＳ１０２にて、リンゲージデータの内容がタイマー起動である場合には、当該テスト実行タスク１（ＴＳＫ００１）はステップＳ１０８〜Ｓ１２８の処理を実行する。ステップＳ１０８〜Ｓ１２８の処理は所定のファイルに対する読み書きを実行する処理である。まず、テスト実行タスク１（ＴＳＫ００１）では、相対編成ファイル（ｆｉｌ００１）に含まれる全レコードの全データをインクリメントする（Ｓ１０８）。次いで、共有メモリグローバル割り付けにて割り付けられたテスト実行タスク１（ＴＡＫ００１）のグローバルファイル（ｆｉｌ００１）の全レコードの全データをインクリメントする（Ｓ１１０）。その後、繰り返し計算処理が実行される（Ｓ１１２）。この繰り返し計算処理の繰り返し回数は、例えば乱数にて決定することができる。
【００６０】
次いで、テスト実行タスク１（ＴＡＫ００１）は、相対編成ファイル（ｆｉｌ９９１）で指定された、ファイル更新レコードＮＯで示されるレコードの全データをインクリメントする（Ｓ１１４）。このとき、相対編成ファイル（ｆｉｌ９９１）は共用オープン状態であり、レコード単位排他ロックされている。その後、繰り返し計算処理が実行される（Ｓ１１６）。この繰り返し計算処理の繰り返し回数も、ステップＳ１１２と同様、例えば乱数にて決定することができる。
【００６１】
さらに、テスト実行タスク１（ＴＡＫ００１）は、図８に示すように、相対編成ファイル（ｆｉｌ９９２）のファイル更新レコードＮＯで示されるレコードの全データをインクリメントする（Ｓ１１８）。このとき、相対編成ファイル（ｆｉｌ９９２）は共用オープン状態であり、資源ロックされている。また、テスト実行タスク１（ＴＡＫ００１）は、グローバルファイル（ｆｉｌ９９２）で指定されたファイル更新レコードＮＯで示されるレコードの全データをインクリメントする（Ｓ１２０）。このとき、グローバルファイル（ｆｉｌ９９２）も相対編成ファイル（ｆｉｌ９９２）と同様、共用オープン状態であり、資源ロックされている。その後、繰り返し計算処理が実行される（Ｓ１２２）。この繰り返し計算処理の繰り返し回数も、ステップＳ１１２と同様、例えば乱数にて決定することができる。
【００６２】
次いで、テスト実行タスク１（ＴＡＫ００１）は、インデックスファイル（ｆｉｌ９９３）のキーのレコードの全データをインクリメントする（Ｓ１２４）。このとき、インデックスファイルは、全排他状態でオープンされる。その後、繰り返し計算処理が実行される（Ｓ１２６）。この繰り返し計算処理の繰り返し回数も、ステップＳ１１２と同様、例えば乱数にて決定することができる。
【００６３】
さらに、テスト実行タスク１（ＴＡＫ００１）は、サイクリックファイル（ｆｉｌ９９４）に１レコードを追加してサイクリックファイル（ｆｉｌ９９４）を更新する（Ｓ１２８）。このときサイクリックファイル（ｆｉｌ９９４）は全排他状態でオープンされる。ステップＳ１０８〜Ｓ１２８の処理を終えると、図７のステップＳ１００の処理に戻る。
【００６４】
一方、テスト実行タスク２（ＴＳＫ００２）の処理について説明すると、図７に示すように、テスト実行タスク２（ＴＳＫ００２）は、テスト実行タスク１（ＴＡＫ００１）と同様、テスト開始／終了指示部１１４からの起動メッセージを受けるまで待機している（Ｓ２００）。そして、起動メッセージを受信すると、テスト実行タスク２（ＴＳＫ００２）では、起動メッセージに含まれるリンゲージデータの内容を判定する（Ｓ２０２）。
【００６５】
ステップＳ２０２にて、リンゲージデータの内容が終了指示である場合には、当該テスト実行タスク２（ＴＳＫ００２）の処理を終了する。また、ステップＳ２０２にて、リンゲージデータの内容が開始指示である場合には、テスト実行タスク２（ＴＳＫ００２）では、当該指示を受けたときのパラメータをタスク（ＴＳＫ００２）内に記憶する。そして、テスト実行タスク２（ＴＳＫ００２）の各ファイル（ｆｉｌ００２、ｆｉｌ９９１、ｆｉｌ９９２、ｆｉｌ９９３、ｆｉｌ９９４）およびグローバル（ｆｉｌ００２）のデータをクリアする（Ｓ２０４）。その後、開始指示時に指定されたタイマーをセットして（Ｓ２０６）、ステップＳ２００の処理に戻る。
【００６６】
また、ステップＳ２０２にて、リンゲージデータの内容がタイマー起動である場合には、当該テスト実行タスク２（ＴＳＫ００２）はステップＳ２０８〜Ｓ２２８の処理を実行する。ステップＳ２０８〜Ｓ２２８の処理は、ステップＳ１０８〜Ｓ１２８の処理と同様、所定のファイルに対する読み書きを実行する処理である。まず、テスト実行タスク２（ＴＳＫ００２）では、相対編成ファイル（ｆｉｌ００２）に含まれる全レコードの全データをインクリメントする（Ｓ２０８）。次いで、共有メモリグローバル割り付けにて割り付けられたテスト実行タスク２（ＴＡＫ００２）のグローバルファイル（ｆｉｌ００２）の全レコードの全データをインクリメントする（Ｓ２１０）。その後、繰り返し計算処理が実行される（Ｓ２１２）。この繰り返し計算処理の繰り返し回数は、例えば乱数にて決定することができる。
【００６７】
次いで、テスト実行タスク２（ＴＡＫ００２）は、相対編成ファイル（ｆｉｌ９９１）で指定された、ファイル更新レコードＮＯで示されるレコードの全データをインクリメントする（Ｓ２１４）。このとき、相対編成ファイル（ｆｉｌ９９１）は共用オープン状態であり、レコード単位排他ロックされている。その後、繰り返し計算処理が実行される（Ｓ２１６）。この繰り返し計算処理の繰り返し回数も、ステップＳ１１２と同様、例えば乱数にて決定することができる。
【００６８】
さらに、テスト実行タスク２（ＴＡＫ００２）は、図８に示すように、相対編成ファイル（ｆｉｌ９９２）のファイル更新レコードＮＯで示されるレコードの全データをインクリメントする（Ｓ２１８）。このとき、相対編成ファイル（ｆｉｌ９９２）は共用オープン状態であり、資源ロックされている。また、テスト実行タスク２（ＴＡＫ００２）は、グローバルファイル（ｆｉｌ９９２）で指定されたファイル更新レコードＮＯで示されるレコードの全データをインクリメントする（Ｓ２２０）。このとき、グローバルファイル（ｆｉｌ９９２）も相対編成ファイル（ｆｉｌ９９２）と同様、共用オープン状態であり、資源ロックされている。その後、繰り返し計算処理が実行される（Ｓ２２２）。この繰り返し計算処理の繰り返し回数も、ステップＳ１１２と同様、例えば乱数にて決定することができる。
【００６９】
次いで、テスト実行タスク２（ＴＡＫ００２）は、インデックスファイル（ｆｉｌ９９３）のキーのレコードの全データをインクリメントする（Ｓ２２４）。このとき、インデックスファイルは、全排他状態でオープンされる。その後、繰り返し計算処理が実行される（Ｓ２２６）。この繰り返し計算処理の繰り返し回数も、ステップＳ１１２と同様、例えば乱数にて決定することができる。
【００７０】
さらに、テスト実行タスク２（ＴＡＫ００２）は、サイクリックファイル（ｆｉｌ９９４）に１レコードを追加してサイクリックファイル（ｆｉｌ９９４）を更新する（Ｓ２２８）。このときサイクリックファイル（ｆｉｌ９９４）は全排他状態でオープンされる。ステップＳ２０８〜Ｓ２２８の処理を終えると、図７のステップＳ２００の処理に戻る。
【００７１】
ファイル非同期耐久テスト実行処理では、１つのテスト実行タスクのみに読み書きされるファイルだけでなく、図８に示すように複数のテスト実行タスクにより読み書きされるファイルがある。複数のテスト実行タスクにより実行される可能性のあるファイルは、あるテスト実行タスクが読み書きしている間は他のテスト実行タスクにより操作されないように排他状態となっている。このため、テスト実行タスクが正常に処理されなければ当該ファイルの読み書き処理に遅延が生じる。
【００７２】
また、テスト実行タスク１（ＴＡＫ００１）とテスト実行タスク２（ＴＡＫ００２）との起動周期を相違させることによって非同期の処理が多重走行するようになる。このようにタスクを非同期に実行することによってファイル読み書き処理時にさらに予期しない負荷が掛かる可能性もある。すなわち、本実施形態に係るプロセス制御システム１の信頼性の評価は、実稼動時には通常に起こり得る非同期の処理の多重走行時の負荷に対しても行うことができる。
【００７３】
図６の説明に戻り、ステップＳ１０の処理を終えると、次いで、下位伝送非同期耐耐久テストが実行される（Ｓ１２）。ステップＳ１２の処理は、上述したように、まず、各テスト実行タスク（ＴＳＫＡ０１〜ＴＳＫＡ５Ａ）は、各タスクのローカルファイル（ｆｉｌａ０１〜ｆｉｌａ５ａ）に含まれる全レコードの全データをインクリメントする。そして、相対編成ファイル（ｆｉｌ９９２）の全データを読み出す。このとき、相対編成ファイル（ｆｉｌ９９２）は共有オープン状態である。その後、各テスト実行タスク（ＴＳＫＡ０１〜ＴＳＫＡ５Ａ）は、ネットワークを介して所定のデータ量のデータを相手機器へ送信する。一方、テスト実行タスク（ＴＳＫＢ０１〜ＴＳＫＢ５Ａ）は、ネットワーク１０を介して制御サーバ１００から送信されたデータを受信する。そして、各タスクのローカルファイル（ｆｉｌａ０１〜ｆｉｌａ５ａ）に含まれる全レコードの全データをインクリメントする。
【００７４】
この際、下位伝送非同期耐久テストプログラムでは、上記のテスト実行タスク（ＴＳＫＡ０１〜ＴＳＫＡ５Ａ、ＴＳＫＢ０１〜ＴＳＫＢ５Ａ）の起動周期を異なるように設定して多重走行させる。これにより、制御サーバ１００と情報処理端末３００あるいはＰＬＣ４００との通信処理が非同期に複数実行されるようになる。
【００７５】
さらに、定周期起動非同期耐久テストプログラムが実行される（Ｓ１４）。ステップＳ１４では、上述したように、各テスト実行タスク（ＴＳＫＥ０１〜ＴＳＫＥ５Ａ）は、初回起動時間になると各タスクのローカルファイル（ｆｉｌｅ０１〜ｆｉｌｅ５ａ）に含まれる全レコードの全データをインクリメントする処理を開始し、起動周期でカウントアップする処理が行われる。この際、ステップＳ１４では、テスト実行タスク（ＴＳＫＥ０１〜ＴＳＫＥ５Ａ）の初回起動時間あるいは起動周期を異なるように設定して多重走行させることにより、複数のタイマー周期処理が非同期に実行される状況を生成することができる。
【００７６】
なお、ステップＳ１０〜Ｓ１４の処理は、この順序で実行しなくともよく、さらには複数の処理を並行して実行してもよい。ステップＳ１０〜Ｓ１４の処理を終えると、実行結果として、各処理が実行された回数を示すカウント値をテストファイル２２０として制御サーバ１００からディスク２００へ出力する（Ｓ１６）。
【００７７】
その後、耐久テストプログラム１１２の実行結果と結果予定値とを比較して、プロセス制御システム１の信頼性を評価する評価処理が行われる（Ｓ１８）。ステップＳ１８の処理は、制御サーバ１００にて行ってもよく、テスト確認端末５００にて行ってもよい。ステップＳ１６にて出力された耐久テストプログラム１１２の実行結果を表すテストファイル２２０には、耐久テストプログラム１１２の３つのプログラムについてそれぞれの処理回数（実績値、カウント値）が記録されている。この処理回数と正常に稼動したときの結果予定値との差分が所定値以内であるとき、当該プロセス制御システム１の信頼性に対して肯定的な評価がなされる。結果予測値は、テスト開始日時からテスト終了日時までの時間（すなわち、耐久テストプログラム１１２の実行時間と当該プログラム１１２のループ回数とから算出することができる。
【００７８】
図９に、耐久テストプログラム１１２の実行結果および当該実行結果と結果予定値との比較による信頼性評価の結果のレポート例を示す。図９に示すレポートには、例えば、テスト開始日時およびテスト終了日時、耐久テストプログラム１１２のループ回数についての実績値および結果予定値、そして、耐久テストプログラム１１２の３つのプログラムについての実績値および結果予定値が示されている。なお、「ファイル」および「メモリファイル」はファイル非同期耐久テストプログラムについて、「下位伝送」は下位伝送非同期耐久テストプログラムについて、「定周期」は定周期起動非同期耐久テストプログラムについての評価結果をそれぞれ示している。「サイクル秒」は、各テストプログラムを実行した周期を示しており、周期を変化させて各プログラムを実行することで、起動周期によるシステム信頼性への影響も検証している。
【００７９】
システムの信頼性評価は、実績値と結果予定値との回数が一致、あるいは誤差が所定値内に収まっているか否かによって行われる。実績値と結果予定値との回数の差分が所定値内であるとき、処理が非同期に多重走行しても正常に稼動すると判断できる。一方、実績値と結果予定値との回数の差分が所定値よりも大きくなった場合には、システムに異常が発生する可能性があると判断できる。このとき、実績値と結果予定値との回数の差分が所定値よりも大きくなったケース（実行した耐久テストプログラムの内容およびその起動周期）に基づき、異常が発生する原因を特定し易くなる。
【００８０】
［２−３．実施例］
以下に、本実施形態に係るプロセス制御システム１の信頼性に関するシステム診断方法の適用例を説明する。上記システム診断方法を適切に行うには、テスト実行タスクのパラメータを適切に設定する必要がある。以下では、テスト実行タスクのパラメータの設定（すなわち、テストシナリオの設定）の具体例を示す。
【００８１】
（１）熱間圧延ラインにおける通信異常発生有無の診断
熱間圧延ラインにおいて、品質プロコン稼動後に稀に通信異常（タイムアウト）が発生することがある。ＡＰソフトウェアは、データ収集装置から１秒周期で約３０ＫＢのデータを下位伝送で受信し、受信したデータ（約１７ＭＢ）のファイルを１０分に１回ディスク２００に書き込む処理を行っている。通信異常が発生する原因として、データをディスク２００へ書き込む処理内のある特定処理に、ＡＰソフトウェアの走行が長時間に及ぶと、ＯＳ１３０の不具合により不良が生じることが特定された。ディスク２００へのデータ書き込み中は操作対象のファイルは排他オープンしてロックされているので、その間他のＡＰソフトウェアにおいて排他解除待ちの状態が継続し、通信にタイムアウトが発生してしまう。
【００８２】
このような通信異常が新たに稼動するプロセス制御システム１に発生しないようにするため、上記ＡＰソフトウェアの機能を、図２に示すファイル非同期耐久テストプログラムの「テスト実行タスク１」、「テスト実行タスク９９８」、および下位伝送非同期耐久テストプログラムの「テスト実行タスクＡ１」のパラメータを設定することで再現する。このように、耐久テストプロフラム１１２の各テスト実行タスクを、プロセス制御システム１の実稼動時に実行されるＡＰソフトウェアの構成に基づいて設定することで、より実際の稼動状況に近い形でシステムの信頼性を評価することが可能となる。
【００８３】
（２）高炉の操業状況に関する日報帳票の不正発生有無の診断
高炉の操業状況を日報帳票として出力する処理において、日報帳票の値が不正となることがある。ＡＰソフトウェアは、定周期でｍ個のタスクによってそれぞれ温度、ガス流等のプロセス値を収集するとともに、ｎ個のタスクがそれぞれ収集されたプロセス値について上下限チェックや移動平均値演算処理等を行い、サイクリックファイルに格納している。さらに、ＡＰソフトウェアは、上記処理と同時に、ビジコンからの情報や数式モデルの演算結果（インデックスファイル）を参照しながら、帳票出力用の相対編成ファイルの各レコード内のデータを更新している。
【００８４】
日報帳票の値に不正が発生する原因として、ディスク２００の不良により所定時間（例えば３秒）以上のファイル排他待ち状態が継続することが特定された。このファイル排他待ち状態が継続することで、サイクリックファイル、インデックスファイル等のファイル参照タイミングが遅れてしまい、古いデータで処理をしてしまう。また、帳票出力用の相対編成ファイルの書き込みタイミングも遅れてしまうため、日報帳票のデータに古いデータと最新のデータとが混在してしまう。
【００８５】
このように日報帳票の不正が新たに稼動するプロセス制御システム１に発生することがないように、上記ＡＰソフトウェアの機能を、図２に示すファイル非同期耐久テストプログラムの「テスト実行タスク１〜１５Ａ」、および定周期起動非同期耐久テストプログラムの「テスト実行タスクＥ１〜ＥＡ」のパラメータを設定することで再現する。このように、耐久テストプロフラム１１２の各テスト実行タスクを、プロセス制御システム１の実稼動時に実行されるＡＰソフトウェアの構成に基づいて設定することで、より実際の稼動状況に近い形でシステムの信頼性を評価することが可能となる。
【００８６】
＜３．ハードウェア構成＞
次に、図１０に基づいて、上記実施形態に係る制御サーバ１００のハードウェア構成について、詳細に説明する。図１０は、上記実施形態に係る制御サーバ１００のハードウェア構成を示すブロック図である。なお、図１０に示すハードウェア構成は制御サーバ１００の構成として説明するが、情報処理端末３００、ＰＬＣ４００、テスト確認端末５００も同様のハードウェア構成をとることができる。
【００８７】
制御サーバ１００は、主に、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、を備える。また、制御サーバ１００は、更に、バス９０７と、入力装置９０９と、出力装置９１１と、ストレージ装置９１３と、ドライブ９１５と、接続ポート９１７と、通信装置９１９とを備える。
【００８８】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１３、またはリムーバブル記録媒体９２１に記録された各種プログラムに従って、制御サーバ１００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０５は、ＣＰＵ９０１が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバス等の内部バスにより構成されるバス９０７により相互に接続されている。
【００８９】
バス９０７は、ブリッジを介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バスに接続されている。
【００９０】
入力装置９０９は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置９０９は、例えば、赤外線やその他の電波を利用したリモートコントロール手段（いわゆる、リモコン）であってもよいし、制御サーバ１００の操作に対応したＰＤＡ等の外部接続機器９２３であってもよい。さらに、入力装置９０９は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。制御サーバ１００のユーザは、この入力装置９０９を操作することにより、制御サーバ１００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【００９１】
出力装置９１１は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置９１１は、例えば、制御サーバ１００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、制御サーバ１００が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【００９２】
ストレージ装置９１３は、制御サーバ１００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置９１３は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【００９３】
ドライブ９１５は、記録媒体用リーダライタであり、制御サーバ１００に内蔵、あるいは外付けされる。ドライブ９１５は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２１に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９１５は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２１に記録を書き込むことも可能である。リムーバブル記録媒体９２１は、例えば、ＣＤメディア、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア等である。また、リムーバブル記録媒体９２１は、コンパクトフラッシュ（登録商標）（ＣｏｍｐａｃｔＦｌａｓｈ：ＣＦ）、フラッシュメモリ、または、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等であってもよい。また、リムーバブル記録媒体９２１は、例えば、非接触型ＩＣチップを搭載したＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  ｃａｒｄ）または電子機器等であってもよい。
【００９４】
接続ポート９１７は、機器を制御サーバ１００に直接接続するためのポートである。接続ポート９１７の一例として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポート、ＲＳ−２３２Ｃポート等がある。この接続ポート９１７に外部接続機器９２３を接続することで、制御サーバ１００は、外部接続機器９２３から直接各種のデータを取得したり、外部接続機器９２３に各種のデータを提供したりする。
【００９５】
通信装置９１９は、例えば、通信網９２５に接続するための通信デバイス等で構成された通信インタフェースである。通信装置９１９は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９１９は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデム等であってもよい。この通信装置９１９は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置９１９に接続される通信網９２５は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【００９６】
以上、上記の本発明の実施形態に係る制御サーバ１００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【００９７】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００９８】
１        プロセス制御システム
１０      ネットワーク
１００    制御サーバ
１１２    耐久テストプログラム
１１４    テスト開始／終了指示部
１２０    ミドルウェア
１３０    ＯＳ
１４０    ＣＰＵ
１５０    ネットワーク部
２００    ディスク
２１０    ＡＰファイル
２２０    テストファイル
３００    情報処理端末
４００    ＰＬＣ
５００    テスト確認端末
【図１】
0005796478.tif 000002
【図２】
0005796478.tif 000003
【図３】
0005796478.tif 000004
【図４】
0005796478.tif 000005
【図５】
0005796478.tif 000006
【図６】
0005796478.tif 000007
【図７】
0005796478.tif 000008
【図８】
0005796478.tif 000009
【図９】
0005796478.tif 000010
【図１０】
0005796478.tif 000011