(57)【要約】【課題】  ノード間でのデータ転送に高い応答性が要求されるネットワークシステムを構築するに際して、アプリケーションに拠らないデータ転送そのものの性能が要求を満たすか否かをネットワークシステムの構築前に検証できるようにする。【解決手段】  ノード間でのデータ転送に高い応答性が要求されるネットワークシステムを構築するに際して、検証対象のネットワークシステム上の各ノード間で転送されるデータを整理した要求仕様を作成し、要求仕様に基づいて求められたデータを送受信する送信用ＰＬＣ２及び受信用ＰＬＣ３と、要求仕様に基づいて求められた負荷をネットワーク１に発生させるネットワーク負荷発生器４とを備えた検証システムを構築して、送信用ＰＬＣ２のメモリ２３と受信用ＰＬＣ３のメモリ３３との間でのデータ転送時間を計測する。【選択図】  図５
2006025042.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードが接続されるネットワークシステムでの応答性を検証するためのネットワークシステムの検証システムであって、
前記検証対象のネットワークシステム上の各ノード間で転送されるデータを整理した要求仕様に基づいて求められたデータを送受信する送信手段及び受信手段と、
前記要求仕様に基づいて求められた負荷を前記送信手段及び前記受信手段が接続するネットワークに与えるネットワーク負荷発生手段と、
前記送信手段での送信時刻を取得する送信時刻取得手段と、
前記受信手段での受信時刻を取得する受信時刻取得手段とを備えたことを特徴とするネットワークシステムの検証システム。
【請求項２】
前記送信時刻取得手段及び前記受信時刻取得手段は、同一の時刻計測手段から送信時刻及び受信時刻をそれぞれ取得することを特徴とする請求項１に記載のネットワークシステムの検証システム。
【請求項３】
前記送信時刻取得手段は、前記送信手段が有する時刻計測手段から送信時刻を取得し、前記受信時刻取得手段は、前記受信手段が有する時刻計測手段から受信時刻を取得することを特徴とする請求項１に記載のネットワークシステムの検証システム。
【請求項４】
前記送信手段が有する時刻計測手段及び前記受信手段が有する時刻計測手段の時刻差を求め、時刻合わせ用の補正データとすることを特徴とする請求項３に記載のネットワークシステムの検証システム。
【請求項５】
前記送信時刻取得手段により取得された送信時刻及び前記受信時刻取得手段により取得された受信時刻に基づいて、前記送信手段が有する送信データを格納するためのメモリと前記受信手段が有する受信データを書き込むためのメモリとの間でのデータ転送時間を求めることを特徴とする請求項１〜４のいずれか１項に記載のネットワークシステムの検証システム。
【請求項６】
複数のノードが接続されるネットワークシステムでの応答性を検証するためのネットワークシステムの検証方法であって、
前記検証対象のネットワークシステム上の各ノード間で転送されるデータを整理した要求仕様に基づいて求められたデータを送受信する送信手段及び受信手段と、前記要求仕様に基づいて求められた負荷を前記送信手段及び前記受信手段が接続するネットワークに与えるネットワーク負荷発生手段とを備えた検証システム上で、前記送信手段での送信時刻を取得する送信時刻取得手順と、前記受信手段での受信時刻を取得する受信時刻取得手順とを実行することを特徴とするネットワークシステムの検証方法。
【請求項７】
複数のノードが接続されるネットワークシステムでの応答性を検証するためのコンピュータプログラムであって、
前記検証対象のネットワークシステム上の各ノード間で転送されるデータを整理した要求仕様に基づいて求められたデータを送受信する送信手段及び受信手段と、前記要求仕様に基づいて求められた負荷を前記送信手段及び前記受信手段が接続するネットワークに与えるネットワーク負荷発生手段とを備えた検証システム上のコンピュータに、前記送信手段での送信時刻を取得する送信時刻取得処理と、前記受信手段での受信時刻を取得する受信時刻取得処理とを実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード間でのデータ転送に高い応答性が要求されるネットワークシステムを構築する場合に利用して好適なネットワークシステムの検証システム、方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
情報処理装置やネットワーク接続装置からなるネットワークにおいて、所望のノード間の接続性やそれらのノード間の転送性能を検証するものとして、例えば特許文献１に開示されたネットワーク検証システムが知られている。
【０００３】
特許文献１に開示されたネットワーク検証システムでは、ネットワーク内に設けられた検証基準ノードが、ネットワーク性能測定の相手先ノードである被検証ノード上で実行中のエージェント・プログラムとネットワーク経由で相互通信することにより、両ノード間のネットワーク性能を測定する。
【０００４】
【特許文献１】特開平１０−９８４６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されたものでは、所望のノード間のネットワークにおける単位時間あたりのデータ転送能力による実行性能を測定することができるが、その測定結果は、検証基準ノードや被検証ノードに搭載されるアプリケーションのパフォーマンス性能に大きく左右される。ノード間でのデータ転送に高い応答性が要求されるネットワークシステムを構築する場合には、アプリケーションに拠らないデータ転送そのものの性能を検証する必要がある。
【０００６】
また、特許文献１に開示されたものは、実際に運用予定のネットワーク上のノードを検証基準ノードとして使用してノード間の転送性能を検証するものであり、ネットワークシステムの構築前に検証を行うものではない。
【０００７】
本発明は上記のような点に鑑みてなされたものであり、ノード間でのデータ転送に高い応答性が要求されるネットワークシステムを構築するに際して、アプリケーションに拠らないデータ転送そのものの性能が要求を満たすか否かをネットワークシステムの構築前に検証できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明のネットワークシステムの検証システムは、複数のノードが接続されるネットワークシステムでの応答性を検証するためのネットワークシステムの検証システムであって、前記検証対象のネットワークシステム上の各ノード間で転送されるデータを整理した要求仕様に基づいて求められたデータを送受信する送信手段及び受信手段と、前記要求仕様に基づいて求められた負荷を前記送信手段及び前記受信手段が接続するネットワークに与えるネットワーク負荷発生手段と、前記送信手段での送信時刻を取得する送信時刻取得手段と、前記受信手段での受信時刻を取得する受信時刻取得手段とを備えた点に特徴を有する。
本発明のネットワークシステムの検証方法は、複数のノードが接続されるネットワークシステムでの応答性を検証するためのネットワークシステムの検証方法であって、前記検証対象のネットワークシステム上の各ノード間で転送されるデータを整理した要求仕様に基づいて求められたデータを送受信する送信手段及び受信手段と、前記要求仕様に基づいて求められた負荷を前記送信手段及び前記受信手段が接続するネットワークに与えるネットワーク負荷発生手段とを備えた検証システム上で、前記送信手段での送信時刻を取得する送信時刻取得手順と、前記受信手段での受信時刻を取得する受信時刻取得手順とを実行する点に特徴を有する。
本発明のコンピュータプログラムは、複数のノードが接続されるネットワークシステムでの応答性を検証するためのコンピュータプログラムであって、前記検証対象のネットワークシステム上の各ノード間で転送されるデータを整理した要求仕様に基づいて求められたデータを送受信する送信手段及び受信手段と、前記要求仕様に基づいて求められた負荷を前記送信手段及び前記受信手段が接続するネットワークに与えるネットワーク負荷発生手段とを備えた検証システム上のコンピュータに、前記送信手段での送信時刻を取得する送信時刻取得処理と、前記受信手段での受信時刻を取得する受信時刻取得処理とを実行させる点に特徴を有する。
【発明の効果】
【０００９】
本発明によれば、ノード間でのデータ転送に高い応答性が要求されるネットワークシステムを構築するに際して、検証対象のネットワークシステム上の各ノード間で転送されるデータを整理した要求仕様を作成し、要求仕様に基づいて求められたデータを送受信する送信手段及び受信手段と、要求仕様に基づいて求められた負荷をネットワークに発生させるネットワーク負荷発生手段とを備えた検証システムを構築して、送信手段が有する送信データを格納するためのメモリと、受信手段が有する受信データを書き込むためのメモリとの間でのデータ転送時間を計測するようにしたので、アプリケーションに拠らないデータ転送そのものの性能が要求を満たすか否かをネットワークシステムの構築前に検証することができる。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。まず、本発明の背景について説明する。図１（ａ）には、検証対象のネットワークシステムとして、例えば鋼材製造プロセスにおける表面処理ラインを制御するためのネットワークシステムの構成例を示す。同図に示すように、ネットワークシステムは、モータ駆動等を行う電気用コントローラ１０１と、温度の計測等を行う計装用コントローラ１０２と、操業を監視するプロセスコントローラ（プロコン）１０３と、人間が各種機器から情報を受け取ったり、各種機器を操作したりするためのコンピュータＨＭＩ(Human Machine Interface)１０４とが、スイッチングハブを含むネットワーク１０５に接続することにより構成される。
【００１１】
電気用コントローラ１０１は、各種機器をシーケンシャルに制御するプログラマブルロジックコントローラＰＬＣ-１〜ＰＬＣ-４や、リモート入出力モジュールＲ Ｉ／Ｏ-１〜Ｒ Ｉ／Ｏ-３により構成され、それぞれ必要に応じて複数（図示例ではＰＬＣが４つ、Ｒ Ｉ／Ｏが３つ）設置される。ＰＬＣとしては、図１（ｃ）にも示すように、例えばブロック状のネットワーク処理部２０１、ＣＰＵ部２０２、入出力（Ｉ／Ｏ）部２０３等を自由に組み合わせることのできるビルディングブロックタイプのものが使用される。
【００１２】
また、計装コントローラ１０２は、各種データを収集する分散型制御システムＤＣＳ-１、ＤＣＳ-２により構成され、必要に応じて複数（図示例では２つ）設置される。
【００１３】
鋼材製造プロセスは、大きく分けると、高炉や転炉等の上工程と、熱間圧延、冷間圧延、表面処理ライン等の下工程とからなり、特に下工程では高い応答性が要求される。例えば、図１に示した表面処理ラインを制御するためのネットワークシステムでは、ノード間（例えば電気コントローラ１０１を構成するＰＬＣ間）でのデータ転送時間として数ミリ秒程度の高い応答性が要求される（図１（ｂ）を参照）。
【００１４】
現在のところ、高い応答性が要求されるネットワークシステムは、ベンダーの専用技術により構築され、非常に高価なものとなっているのが実情である。そういった点から、コスト削減のためにオープンネットワーク技術を適用してネットワークシステムを構築することが求められている。
【００１５】
近年では、ネットワークのデファクトスタンダード技術であるEthernet（登録商標）をベースとする、「EtherNet/IP」、「PROFInet」、「HSE(Hi Speed Ethernet（登録商標）)」、「Flnet」等の産業用Ethernet（登録商標）が登場している。
【００１６】
ただし、これらの産業用Ethernet（登録商標）を用いてネットワークシステムを構築する場合には、応答性（ノード間でのデータ転送時間）が要求を満たすか否かを検証することが必要となる。
【００１７】
ここで、「ノード間でのデータ転送時間」とは、図１（ｃ）に示すように、あるノード（例えばＰＬＣ-１）のメモリ２０４と他のノード（例えばＰＬＣ-２）のメモリ２０４との間でのデータ転送時間をいう。なお、メモリ２０４は図１（ｃ）ではネットワーク処理部２０１に含まれるが、ＣＰＵ部２０２に含まれる場合もある。
【００１８】
ネットワークシステムでの応答性は、外部からみれば、アプリケーション処理にかかる時間（アプリケーション処理時間）、メモリ２０４からデータを読み出してネットワーク１０５上に送信するまでの時間及びネットワーク１０５上からデータを受信してメモリ２０４に書き込むまでの時間（ネットワーク処理時間）、データがネットワーク１０５上を流れる時間（ネットワーク転送時間）により構成される。
【００１９】
ところが、アプリケーション処理時間はアプリケーションのパフォーマンス性能に大きく左右されるものであり、図１に示したネットワークシステムのようにノード間でのデータ転送時間として数ミリ秒程度の高い応答性が要求される場合には、アプリケーションに拠らない、ネットワークに拠る部分だけのデータ転送そのものの性能を検証することが必要となる。すなわち、アプリケーション処理時間を除く、ネットワーク処理時間及びネットワーク転送時間を検証対象とすることが必要とされる。
【００２０】
本発明は上記のような背景の下でなされたものであり、産業用Ethernet（登録商標）を用いて高い応答性が要求されるネットワークシステムを構築するに際して、アプリケーションに拠らないデータ転送そのものの性能が要求を満たすか否かを検証することができるようにしたものである。
【００２１】
以下、図１に示したネットワークシステムを検証対象として説明する。本例では、「EtherNet/IP」ベースで説明する。「EtherNet/IP」は、図２に示すように、ＯＳＩ参照モデルの第１層〜第４層の標準仕様をベースにしたプロトコル（ＣＩＰ：Common Industrial Protocol）であり、第１層（物理層）及び第２層（データリンク層）をネットワークインターフェース層としてEthernet（登録商標）でカバーし、第３層（ネットワーク層）にインターネット層としてIP(Internet protocol)を、第４層（トランスポート層）にTCP(Transmission Control Protocol)/IP及びUDP(User Datagram Protocol)/IPを使い、第５層〜第７層までの上位層をアプリケーション層としている。リアルタイムＩＯ制御はUDP/IO、メッセージ通信はTCP/IPを使用する。
【００２２】
リアルタイムＩＯ制御の通信方式としては、マスタ側からスレーブ局に問い合わせをするポーリング、状態変化時にデータを送信するチェンジオブステート、定周期でデータを送信するサイクリックがサポートされている。送信データは指定された機器群に対して同報通信が可能とされる（ＩＰマルチキャスト）。
【００２３】
ネットワークシステムの構築に際して、まず、図３に示すように、各ノード間で転送されるデータを整理した要求仕様が作成される。要求仕様は、どのノードからどのノードへどれだけのデータ量がどういった時間で送信されるかを整理したものである。図３に示す要求仕様では、「From（どこから）/To（どこへ）」、「どれだけの量のデータ（パケット数、例えば１パケット＝５００バイト）」、「何ｍｓｅｃの転送周期で」、「何ｍｓｅｃ以内に送信する（転送時間）」が設定されており、縦欄に記述される送信側（From）となるノード（ＰＬＣ-１、ＰＬＣ-２、・・・、ＤＣＳ-２、プロコン・ＨＭＩ）ごとに、横欄に伝送データのサイズ３０１[バイト]、転送周期３０２[ｍｓｅｃ]、転送時間３０３[ｍｓｅｃ]、転送パケット数３０４、受信側（To）側となる各ノードでの受信パケット数３０５が記述される。
【００２４】
転送周期[ｍｓｅｃ]ＴＣ１、ＴＣ２、ＴＣ３、ＴＣ４は、送信側、受信側のアプリケーションがデータを送信又は受信する周期であり、いずれも１０００[ｍｓｅｃ]（＝１[ｓｅｃ]）以下の時間である（ＴＣ１＜ＴＣ２＜ＴＣ３＜ＴＣ４）。また、転送時間[ｍｓｅｃ]ＴＳ１、ＴＳ２、ＴＳ３、ＴＳ４は、それぞれ転送周期ＴＣ１、ＴＣ２、ＴＣ３、ＴＣ４に送信されたデータが受信側アプリケーションで確実に使用されるために必要な時間であり、各転送周期ＴＣ１、ＴＣ２、ＴＣ３、ＴＣ４の２分の１の時間である。
【００２５】
例えば、ＰＬＣ-２に注目して説明すると、送信側（From）としてのＰＬＣ-２は、転送周期ＴＣ１[ｍｓｅｃ]ごとに転送時間ＴＳ１[ｍｓｅｃ]でＰＬＣ-１とＲ Ｉ／Ｏ-１とにそれぞれ１パケットのデータ（計２パケット＝１０００バイト）を送信する。また、転送周期ＴＣ２[ｍｓｅｃ]ごとに転送時間ＴＳ２[ｍｓｅｃ]でＰＬＣ-１とＲ Ｉ／Ｏ-１とにそれぞれ４パケットのデータ（計８パケット＝４０００バイト）を送信する。また、転送周期１０００[ｍｓｅｃ]以上の周期ごとに転送時間１０００[ｍｓｅｃ]以上の時間でプロコン・ＨＭＩに１００パケットのデータ（計１００パケット＝５００００バイト）を送信する。
【００２６】
また、受信側（To）としてのＰＬＣ-２は、ＰＬＣ-１から転送周期ＴＣ２[ｍｓｅｃ]ごとに転送時間ＴＳ２[ｍｓｅｃ]で２パケットのデータを受信する。また、ＰＬＣ-３から転送周期ＴＣ１[ｍｓｅｃ]ごとに転送時間ＴＳ１[ｍｓｅｃ]で１パケットのデータを受信する。また、Ｒ Ｉ／Ｏ-１から転送周期ＴＣ１[ｍｓｅｃ]ごとに転送時間ＴＳ１[ｍｓｅｃ]で２パケットのデータを受信し、転送周期ＴＣ２[ｍｓｅｃ]ごとに転送時間ＴＳ２[ｍｓｅｃ]で１パケットのデータを受信する。また、プロコン・ＨＭＩから転送周期１０００[ｍｓｅｃ]以上の周期ごとに転送時間１０００[ｍｓｅｃ]以上の時間で２０パケットのデータを受信する。
【００２７】
図３に示した要求仕様を、ノードごとの送受信データ（パケット数）に集約すると、図４に示す一覧のようになる。
【００２８】
ここで、本実施形態では、ノード間でのデータ転送時間を検証する上で、１つのノードに対する最大負荷と、ネットワーク１０５に対する最大負荷とを仮定して、図１に示したネットワークシステムでの最も厳しい環境下における応答性を検証するようにしている。
【００２９】
すなわち、各転送周期での送受信パケットにおける最大パケット数が、１つのノードに対する最大負荷であると考える。図４に丸で囲むように、転送時間ＴＳ１（転送周期ＴＣ１）[ｍｓｅｃ]では、ＰＬＣ-３での送信パケット数及び受信パケット数が最大の５パケットとなっている。また、転送時間ＴＳ２（転送周期ＴＣ２）[ｍｓｅｃ]では、ＰＬＣ-１での受信パケット数が最大の１５パケットとなっている。また、転送時間ＴＳ３（転送周期ＴＣ３）[ｍｓｅｃ]では、プロコン・ＨＭＩでの受信パケット数が最大の３パケットとなっている。また、転送時間ＴＳ４（転送周期ＴＣ４）[ｍｓｅｃ]では、プロコン・ＨＭＩでの受信パケット数が最大の３パケットとなっている。また、転送時間１０００[ｍｓｅｃ]以上の時間（転送周期１０００[ｍｓｅｃ]以上の周期）では、プロコン・ＨＭＩでの受信パケット数が最大の１２０パケットとなっている。これをまとめたのが表１である。このように各転送周期での送受信パケットにおける最大パケット数が１つのノードで発生することを仮定して、それを１つのノードに対する最大負荷とするものである。
【００３０】
【表１】
2006025042.tif 000003
【００３１】
また、各転送周期で発生するパケット数の１[ｓｅｃ]あたりの発生量が、ネットワーク１０５に対する最大負荷であると考える。図４に示すように、各転送時間（転送周期）で発生するパケット数は、転送時間ＴＳ１（転送周期ＴＣ１[ｍｓｅｃ]）では１６パケット、転送時間ＴＳ２（転送周期ＴＣ２）[ｍｓｅｃ]では４２パケット、転送時間ＴＳ３（転送周期ＴＣ３）[ｍｓｅｃ]では３パケット、転送時間ＴＳ４（転送周期ＴＣ４）[ｍｓｅｃ]では３パケット、転送時間１０００[ｍｓｅｃ]以上の時間（転送周期１０００[ｍｓｅｃ]以上の周期）では２２０パケットであり、これを１[ｓｅｃ]あたりの発生量に換算して合計したものをネットワーク１０５に対する最大負荷とする。これをまとめたのが表２である。なお、転送周期が１０００[ｍｓｅｃ]以上のデータは、１伝送あたりのパケット数を最大とする。
【００３２】
【表２】
2006025042.tif 000004
【００３３】
以上のように、各ノード間で転送されるデータを整理した要求仕様に基づいて、図１に示したネットワークシステムでの最も厳しい環境を仮定し、それをモデル化したものを検証システムとして構築する。図５に示すように、スイッチングハブ１に、送信用ＰＬＣ２と、受信用ＰＬＣ３と、イーサネット（登録商標）の負荷（トラフィック）を発生するネットワーク負荷発生器４（SmartBits等）とを接続する。また、スイッチングハブ１には、後述するようにして受信用ＰＬＣ３から送信時刻及び受信時刻を収集し、ユーザに報告するためのパーソナルコンピュータ等の情報処理装置５を接続する。この場合に、例えばスイッチングハブ１と各機器との接続をＳＴＰ（shielded twisted-pair wire）（１００ＭＢ）を介して行う。
【００３４】
送信用ＰＬＣ２及び受信用ＰＬＣ３は、実機に使用されるＰＬＣ-１〜ＰＬＣ-４と同様に、ブロック状のネットワーク処理部、ＣＰＵ部、入出力（Ｉ／Ｏ）部等を自由に組み合わせることのできるビルディングブロックタイプのものが使用される。送信用ＰＬＣ２及び受信用ＰＬＣ３では、上述した１つのノードに対する最大負荷（各転送周期での送受信パケットにおける最大パケット数）でメッセージを送受信し、送信時刻及び受信時刻を計測する。
【００３５】
また、ネットワーク負荷発生器４では、上述したネットワーク１０５に対する最大負荷（各転送周期で発生するパケット数の１[ｓｅｃ]あたりの発生量）をスイッチングハブ１に与える。
【００３６】
以下、図６を参照して、送信時刻及び受信時刻の計測について説明する。なお、図６では、図５に示したネットワーク負荷発生器４（SmartBits等）や情報処理装置５の図示は省略する。送信用ＰＬＣ２は、ＣＰＵ部２ａ及びネットワーク処理部２ｂにより構成される。ＣＰＵ部２ａには、マイクロ秒の精度で作動するシステムタイマ２１と、時刻書き込みアプリケーション実行部２２と、送信データが格納されるメモリ２３と、データ送信ミドルウェア実行部２４とが備えられる。また、ネットワーク処理部２ｂには、バッファ２５と、送信処理部２６とが備えられる。
【００３７】
受信用ＰＬＣ３は、ＣＰＵ部３ａ及びネットワーク処理部３ｂにより構成される。ＣＰＵ部３ａには、時刻書き込みアプリケーション実行部３２と、受信データが書き込まれるメモリ３３と、データ受信ミドルウェア実行部３４とが備えられる。また、ネットワーク処理部３ｂには、バッファ３５と、受信処理部３６とが備えられる。
【００３８】
本実施形態では、送信用ＰＬＣ２のＣＰＵ部２ａ及びネットワーク処理部２ｂと、受信用ＰＬＣ３のＣＰＵ部３ａ及びネットワーク処理部３ｂとが、同一のバス６上に配置構成される。
【００３９】
送信用ＰＬＣ２において、時刻書き込みアプリケーション実行部２２は転送周期ＴＣ１、ＴＣ２、ＴＣ３、ＴＣ４、１０００[ｍｓｅｃ]以上の周期ごとに起動され（定周期タスク）、そのときの時刻をシステムタイマ２１から取得して送信時刻としてメモリ２３に書き込むとともに、データ送信ミドルウェア実行部２４を起動する。
【００４０】
データ送信ミドルウェア実行部２４は、メモリ２３に格納された送信時刻を含むメッセージをバッファ２５に書き込むとともに、送信処理部２６を起動する。１メッセージが複数のパケットで構成される場合は、送信時刻は最初のパケットで送信することとする。そして、データ送信ミドルウェア実行部２４は、バッファ２５からメッセージを取得し、送信処理部２６を介して受信用ＰＬＣ３に送信する。
【００４１】
受信用ＰＬＣ３において、受信処理部３６は、送信用ＰＬＣ２からメッセージを受信し、バッファ３５に書き込むとともに、データ受信ミドルウェア実行部３４を起動する。データ受信ミドルウェア実行部３４は、メッセージに含まれる送信時刻を今回値としてメモリ３３に書き込む。
【００４２】
時刻書き込みアプリケーション実行部３２は今回値の値変更のタイミングで起動され（イベントタスク）、そのときの時刻を受信時刻として取得して、メモリ３３の転送時間配列（対応する送信時刻及び受信時刻を組にしたもの）に書き込む。この場合に、受信用ＰＬＣ３では、バス６を介して送信用ＰＬＣ２のシステムタイマ２１の時刻を受信時刻として取得する。
【００４３】
以上の動作を繰り返し、指定された回数分だけメモリ３３の転送時間配列に送信時刻及び受信時刻の組を順次書き込んでいく。情報処理装置５は、受信用ＰＬＣ３のメモリ３３に格納された転送時間配列を収集し、それを画面表示等することによりユーザに報告する。この結果、受信時刻から送信時刻を減算することにより、送信用ＰＬＣ２のメモリ２３と受信用ＰＬＣ３のメモリ３３との間でのデータ転送時間、より具体的には送信用ＰＬＣ２にてメモリ２３から送信データの読み出しを開始してから、受信用ＰＬＣ３にてメモリ３３に受信データの書き込みを開始するまでの時間を計測することができる。
【００４４】
以上述べたように、ノード間でのデータ転送に高い応答性が要求されるネットワークシステムを構築するに際して、検証対象のネットワークシステム上の各ノード間で転送されるデータを整理した要求仕様を作成し、要求仕様に基づいて求められたデータを送受信する送信用ＰＬＣ２及び受信用ＰＬＣ３と、要求仕様に基づいて求められた負荷をネットワーク１に発生させるネットワーク負荷発生器４とを備えた検証システムを構築して、送信用ＰＬＣ２のメモリ２３と受信用ＰＬＣ３のメモリ３３との間でのデータ転送時間を計測するようにしたので、アプリケーションに拠らないデータ転送そのものの性能が要求を満たすか否かをネットワークシステムの構築前に検証することができる。
【００４５】
（第２の実施形態）
上記第１の実施形態では、要求仕様に基づいてネットワークシステムでの最も厳しい環境をモデル化したが、本実施形態のように、要求仕様に基づいて任意のノード間でのデータ転送をモデル化して個別的に検証するようにしてもよい。なお、上記第１の実施形態で説明した構成要素と同様の構成要素には、同一の符号を付し、その詳細な説明は省略する。
【００４６】
以下、図１に示したネットワークシステムのＰＬＣ-１を受信側、ＰＬＣ-３を送信側として、その間でのデータ転送時間を検証する例を説明する。
【００４７】
受信側となるＰＬＣ-１は、図３の要求仕様に示すように、送信側となるＰＬＣ-３から転送周期ＴＣ２[ｍｓｅｃ]ごとに転送時間ＴＳ２[ｍｓｅｃ]で５パケットのデータを受信する。
【００４８】
さらに、受信側となるＰＬＣ-１は、ＰＬＣ-３以外のノードからもデータを受信する。すなわち、図３の要求仕様に示すように、ＰＬＣ-２から転送周期ＴＣ１[ｍｓｅｃ]ごとに転送時間ＴＳ１[ｍｓｅｃ]で１パケットのデータを受信し、転送周期ＴＣ２[ｍｓｅｃ]ごとに転送時間ＴＳ２[ｍｓｅｃ]で４パケットのデータを受信する。また、ＰＬＣ-４から転送周期ＴＣ２[ｍｓｅｃ]ごとに転送時間ＴＳ２[ｍｓｅｃ]で４パケットのデータを受信する。また、ＤＣＳ-１から転送周期ＴＣ２[ｍｓｅｃ]ごとに転送時間ＴＳ２[ｍｓｅｃ]で１パケットのデータを受信する。また、ＤＣＳ-２から転送周期ＴＣ２[ｍｓｅｃ]ごとに転送時間ＴＳ２[ｍｓｅｃ]で１パケットのデータを受信する。また、プロコン・ＨＭＩから転送周期１０００[ｍｓｅｃ]以上の周期ごとに転送時間１０００[ｍｓｅｃ]以上の時間で２０パケットのデータを受信する。
【００４９】
また、上記第１の実施形態と同様に、各転送周期で発生するパケット数の１[ｓｅｃ]あたりの発生量が、ネットワーク１０５に対する最大負荷であると考える（表２）。
【００５０】
以上のように、各ノード間で転送されるデータを整理した要求仕様に基づいて、図１に示したネットワークシステムのＰＬＣ-１を受信側、ＰＬＣ-３を送信側としてモデル化したものを検証システムとして構築する。図７に示すように、スイッチングハブ１に、送信用ＰＬＣ２と、受信用ＰＬＣ３と、外乱用ＰＬＣ７と、イーサネット（登録商標）の負荷（トラフィック）を発生するネットワーク負荷発生器４（SmartBits等）とを接続する。なお、スイッチングハブ１に、受信用ＰＬＣ３から取得される送信時刻及び受信時刻を収集し、ユーザに報告するための情報処理装置５を接続することや、各ＰＬＣ２、３、７としてブロック状のネットワーク処理部、ＣＰＵ部、入出力（Ｉ／Ｏ）部等を自由に組み合わせることのできるビルディングブロックタイプのものが使用されることは上記第１の実施形態と同様である。
【００５１】
送信用ＰＬＣ２は、実機に使用されるＰＬＣ-３を模擬するものであり、ＰＬＣ-３からＰＬＣ-１に送信されるデータ量で受信用ＰＬＣ３にメッセージを送信し、そのときの送信時刻を計測する。外乱用ＰＬＣ７は、ＰＬＣ-１にＰＬＣ-３以外のノードから送信されるデータ量で受信用ＰＬＣにデータを送信する。受信用ＰＬＣ３は、実機に使用されるＰＬＣ-１を模擬するものであり、外乱用ＰＬＣ７からのデータを受信するとともに、送信用ＰＬＣ２からメッセージを受信して、そのときの受信時刻を計測する。
【００５２】
また、ネットワーク負荷発生器４では、上述したネットワーク１０５に対する最大負荷（各転送周期で発生するパケット数の１[ｓｅｃ]あたりの発生量）をスイッチングハブ１に与える。
【００５３】
なお、送信用ＰＬＣ２及び受信用ＰＬＣ３における送信時刻及び受信時刻の計測については、上記第１の実施形態で図６により説明したとおりであり、ここではその詳細な説明は省略する。
【００５４】
また、図８に示すように、実際に構築しようとしているネットワークシステムに合わせて、複数のスイッチングハブ１ａ、１ｂ、１ｃを階層的に配置するようにしてもよい。この場合に、例えばスイッチングハブ１ａ、１ｂ、１ｃと各機器との接続をＳＴＰ（shielded twisted-pair wire）（１００ＭＢ）を介して行い（図中実線）、スイッチングハブ１ａ、１ｂ、１ｃ間の接続を光ファイバを使用するギガバイト・イーサネット（登録商標）（GbE）仕様とする（図中点線）。
【００５５】
（第３の実施形態）
上記第１、２の実施形態では、受信用ＰＬＣ３が送信用ＰＬＣ２のシステムタイマ２１を利用する例を説明したが、本実施形態のように、各ＰＬＣ２、３がそれぞれシステムタイマ２１、３１を有し、それらシステムタイマ２１、３１を利用するようにしてもよい。この場合、送信用ＰＬＣ２及び受信用ＰＬＣ３がそれぞれのタイマの下で動作するため、時刻合わせを行う必要がある。
【００５６】
本実施形態では、上記第２の実施形態のように、図１に示したネットワークシステムのＰＬＣ-１を受信側、ＰＬＣ-３を送信側としてモデル化し、送信用ＰＬＣ２と、受信用ＰＬＣ３と、外乱用ＰＬＣ７とを備える検証システムを例にして説明する。なお、上記第１、２の実施形態で説明した構成要素と同様の構成要素には、同一の符号を付し、その詳細な説明は省略する。
【００５７】
図９に示すように、送信用ＰＬＣ２及び受信用ＰＬＣ３には、ＣＰＵ部２ａ、３ａ及びネットワーク処理部２ｂ、３ｂに加えて、入出力（Ｉ／Ｏ）部としてデジタル入力部２ｃ、３ｃがそれぞれ設けられる。また、外乱用ＰＬＣ７は、ＣＰＵ部７ａ、ネットワーク処理部７ｂ、入出力（Ｉ／Ｏ）部としてのデジタル出力部７ｃにより構成される。そして、これらＰＬＣ２、３、７のデジタル入出力部２ｃ、３ｃ、７ｃが接続線８を介して互いに接続される。送信用ＰＬＣ２の時刻書込みアプリケーション実行部２２、受信用ＰＬＣ３の時刻書き込みアプリケーション実行部３２は、各々のデジタル入力部２ｃ、３ｃで信号を受信したタイミングで割り込み起動されるように設定しておく。なお、図９では、ネットワーク負荷発生器４（SmartBits等）や情報処理装置５の図示は省略する。
【００５８】
外乱用ＰＬＣ７にはデジタル出力アプリケーション実行部７１が備えられ、例えば一定の周期でデジタル出力部７ｃからデジタル出力を行う。外乱用ＰＬＣ７からのデジタル出力があると、それを受けた送信用ＰＬＣ２の時刻書き込みアプリケーション実行部２２及び受信用ＰＬＣ３の時刻書き込みアプリケーション実行部３２が同時に起動し、送信用ＰＬＣ２のメモリ２３及び受信用ＰＬＣ３のメモリ３３に、それぞれが有するシステムタイマ２１、３１の時刻ｔ、ｔ´を書き込む。
【００５９】
情報処理装置５は、送信用ＰＬＣ２のメモリ２３に格納された時刻ｔ及び受信用ＰＬＣ３のメモリ３３に格納された時刻ｔ´を取得し、その時刻差Δｔ（ｔ−ｔ´）を求めて、時刻合わせ用の補正データとして保持する。
【００６０】
このように時刻合わせ用の補正データΔｔが得られた状態で、上記第１の実施形態で図６により説明した動作を繰り返し、指定された回数分だけメモリ３３の転送時間配列に送信時刻及び受信時刻の組を順次書き込んでいく。情報処理装置５は、受信用ＰＬＣ３のメモリ３に格納された転送時間配列を取得して、受信時刻から送信時刻を減算することにより、送信用ＰＬＣ２のメモリ２３と受信用ＰＬＣ３のメモリ３３との間でのデータ転送時間計測して報告する。この場合に、送信時刻と受信時刻とには時刻差Δｔが存在するので、その時刻差Δｔの補正演算（転送時間＝受信時刻−送信時刻−Δｔ）を行なう。
【００６１】
以上、本発明を種々の実施形態と共に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、本発明の範囲内で変更等が可能である。例えば、上記実施形態では、送信時刻をメッセージに含めて受信用ＰＬＣ３に送信し、情報処理装置５が受信用ＰＬＣ３から送信時刻及び受信時刻を取得する構成としたが、情報処理装置５が送信用ＰＬＣ２から送信時刻を、受信用ＰＬＣ３から受信時刻をそれぞれ取得する構成としてもよい。
【００６２】
また、上記実施形態の送信用ＰＬＣ２や受信用ＰＬＣ３の各機能を実現させるためのコンピュータプログラム自体が本発明を構成する。コンピュータプログラムを供給するための記憶媒体としては、ＲＯＭ、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等を用いることができる。
【図面の簡単な説明】
【００６３】
【図１】検証対象のネットワークシステムを説明するための図であり、（ａ）がネットワークシステムの構成例を示す図、（ｂ）がノード間でのデータ転送を説明するための図、（ｃ）がノード間でのデータ転送時間について説明するための図である。
【図２】「EtherNet/IP」のＯＳＩ参照モデルを説明するための図である。
【図３】要求仕様を示す図である。
【図４】要求仕様をノードごとの送受信データ（パケット数）に集約した一覧を示す図である。
【図５】第１の実施形態におけるネットワークシステムの検証システムの構成例を示す図である。
【図６】第１の実施形態におけるネットワークシステムの検証システムの送信用ＰＬＣ及び受信用ＰＬＣの構成を示す図である。
【図７】第２の実施形態におけるネットワークシステムの検証システムの構成例を示す図である。
【図８】第２の実施形態におけるネットワークシステムの検証システムの他の構成例を示す図である。
【図９】第３の実施形態におけるネットワークシステムの検証システムの送信用ＰＬＣ及び受信用ＰＬＣの構成を示す図である。
【符号の説明】
【００６４】
１          スイッチングハブ
２          送信用ＰＬＣ
２ａ        ＣＰＵ部
２ｂ        ネットワーク処理部
２ｃ        デジタル入力部
３          受信用ＰＬＣ
３ａ        ＣＰＵ部
３ｂ        ネットワーク処理部
３ｃ        デジタル入力部
４          ネットワーク負荷発生器
５          情報処理装置
６          バス
７          外乱用ＰＬＣ
７ａ        ＣＰＵ部
７ｂ        ネットワーク処理部
７ｃ        デジタル入力部
８          接続線
２１、３１  システムタイマ
２２、３２  時刻書き込みアプリケーション実行部
２３、３３  メモリ
２４        データ送信ミドルウェア実行部
３４        データ受信ミドルウェア実行部
２５、３５  バッファ
２６        送信処理部
３６        受信処理部
７１        デジタル出力アプリケーション実行部
【図１】
2006025042.tif 000005
【図２】
2006025042.tif 000006
【図３】
2006025042.tif 000007
【図４】
2006025042.tif 000008
【図５】
2006025042.tif 000009
【図６】
2006025042.tif 000010
【図７】
2006025042.tif 000011
【図８】
2006025042.tif 000012
【図９】
2006025042.tif 000013