(57)【要約】【課題】二重化されたＰＣのマスタ・スレーブ両方のネットワーク加入を認識してマスタとの間のみで送受信でき、伝送効率を落とすことがない。【解決手段】イーサネットインタフェース２は、プロセッサ３との結合部に二重化トークン管理・サイクリック伝送制御部２５と、自身が二重化あるいはシングルかの情報、二重化時のマスタかスレーブかの情報、およびＰＣがネットワーク上で健全であるかの情報を格納するノード情報管理データ２６とを設ける。マイクロプロセッサ３は、通信パラメータ領域３４と、イニシャルマスタ情報３６と、イニシャルマスタ情報を管理し、カレント・マスタがどちらのＰＣかの情報を二重化ステータス情報に反映させ、マスタ切替スイッチによる外部からの指令およびアプリケーションプログラムからの指令によりマスタ切替を行う二重化制御部３７とを設ける。【選択図】  図１
2006197522.tif 000002
【特許請求の範囲】
【請求項１】
多数のプログラマブルコントローラ（ノード）間をネットワーク接続し、各プログラマブルコントローラはアプリケーションプログラムを実行するプロセッサと、プログラマブルコントローラ間の相互通信機能を得るためのイーサネットインタフェースを備え、少なくとも１対のプログラマブルコントローラがマスタ（動作系）とスレーブ（待機系）に二重化されてネットワーク通信を行うコンピュータ間のネットワーク通信方式であって、
ネットワーク上に参加する第３のプログラマブルコントローラは、二重化されたプログラマブルコントローラのマスタ（動作系）およびスレーブ（待機系）両方のネットワーク加入を認識し、かつサイクリック伝送でのコモンメモリデータは、マスタとの間のみで送受信する手段を備えたことを特徴とするコンピュータ間のネットワーク通信方式。
【請求項２】
前記イーサネットインタフェースは、前記プロセッサとの結合部に二重化トークン管理・サイクリック伝送制御部と、自身が二重化あるいはシングルかの情報、二重化時のマスタかスレーブかの情報、およびプログラマブルコントローラがネットワーク上で健全であるかの情報を格納するノード情報管理データとを設け、
前記マイクロプロセッサは、通信用パラメータ設定ツールによって設定される通信パラメータ領域と、イニシャルマスタ設定スイッチによって設定されるイニシャルマスタ情報と、前記イニシャルマスタ情報を管理し、カレント・マスタがどちらのプログラマブルコントローラかの情報を二重化ステータス情報に反映させ、マスタ切替スイッチによる外部からの指令およびアプリケーションプログラムからの指令によりマスタ切替を行う二重化制御部とを設けたことを特徴とする請求項１に記載のコンピュータ間のネットワーク通信方式。
【請求項３】
ネットワーク上のノード番号は０をはじまりとするノード番号を設定し、偶数を二重化時のイニシャルマスタおよびシングル時のノード番号とし、二重化時は＋１の奇数ノード番号をイニシャルスレーブとして通信パラメータ領域に格納し、この格納された情報を前記二重化トークン管理・サイクリック伝送制御部がマスタノード、スレーブノード共用の設定と認識をして伝送制御することを特徴とする請求項１または２に記載のコンピュータ間のネットワーク通信方式。
【請求項４】
前記二重化トークン管理・サイクリック伝送制御部は、伝送フレームのヘッダ部に、次にトークンを渡す相手ノード番号、自ノード番号、二重化ステータス情報、伝送データ種別（通常トークン、生存確認用トークン、コモンメモリデータ、加入通知フレーム）を含ませることを特徴とする請求項１〜３のいずれか１項に記載のコンピュータ間のネットワーク通信方式。
【請求項５】
前記二重化トークン管理・サイクリック伝送制御部は、マスタ、スレーブにかかわらず、電源投入時や自ノードがネットワーク不参加状態の時に、通信パラメータ領域の情報や二重化ステータス情報をもとに加入通知フレームを送信し、
加入通知フレームの受信先ノードの二重化トークン管理・サイクリック伝送制御部は、送信元ノードに対するノード情報管理データの対応エントリに受信した二重化ステータスを格納し、そのノードの生存（健全であること）を認識することを特徴とする請求項１〜４のいずれか１項に記載のコンピュータ間のネットワーク通信方式。
【請求項６】
前記二重化トークン管理・サイクリック伝送制御部は、ネットワーク上に通常トークンを保持したノードが存在してない場合、自ノードがマスタでかつノード情報管理データを参照して自ノード番号がネットワーク上の最小ノード番号ならば、通信パラメータ領域のコモンメモリ領域設定に従ったコモンメモリデータ送信を行い、その後、次ノードに対して通常トークン送信を行い、
コモンメモリデータを受信した二重化トークン管理・サイクリック伝送制御部は、送信元ノードが二重化のマスタノードかシングルノードならば、受信したコモンメモリ領域が他ノードと重複していないかチェックし、チェックした結果、重複していない場合、または重複していても二重化スレーブノードとの重複の場合はコモンメモリデータ受信展開処理を行うことを特徴とする請求項１〜５のいずれか１項に記載のコンピュータ間のネットワーク通信方式。
【請求項７】
通常トークンを受信した前記二重化トークン管理・サイクリック伝送制御部は、相手ノード番号が自ノードで、かつ自ノードが二重化マスタノードまたはシングルノードならば、通信パラメータ領域のコモンメモリ領域設定に従ったコモンメモリデータ送信を行い、その後、次ノードに対して通常トークンを送信することを特徴とする請求項１〜６のいずれか１項に記載のコンピュータ間のネットワーク通信方式。
【請求項８】
前記二重化トークン管理・サイクリック伝送制御部は、自ノード宛の通常トークンを受信した場合、自ノードがマスタでかつノード情報管理データを参照して自ノード番号が最小ならば、自ノードが通信開始の起点と判断してカウンタを＋１し、カウントしたカウンタが設定値に達した場合に限り、ノード情報管理データを参照し、二重化されているスレーブノードの中で、最小ノード番号を探索し、そのノードに対して生存確認用トークンの送信を行い、この後にカウンタを０に戻し、
生存確認用トークンを受信した二重化トークン管理・サイクリック伝送制御部は、ノード情報管理データに、送信元のスレーブノードの生存を記憶し、受信フレーム中の相手ノード番号が自ノードであり、かつ自ノードがＣＰＵ二重化のスレーブノードならば、次に生存確認用トークンを送信する二重化スレーブノード番号を探索し、探索したスレーブ番号がスレーブの中で最小ノード番号でないならば、そのノードを相手ノード番号として生存確認用トークンを送信し、探索したスレーブ番号がスレーブの中で最小ノード番号ならば、そのノード番号より小さいシングルノードがないかを探索し、ない場合は相手ノード番号を二重化マスタノード番号に変更して通常トークンを送信し、あった場合には相手ノード番号を最小ノード番号のシングルノードとして通常トークンを送信することを特徴とする請求項１〜７のいずれか１項に記載のコンピュータ間のネットワーク通信方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラなどのコンピュータ同士をイーサネット（登録商標）でネットワーク接続して互いの通信を行うコンピュータ間のネットワーク通信方式に係り、特にコンピュータを二重化構成（片方が動作系でもう片方が待機系）する場合の通信方式に関する。
【背景技術】
【０００２】
この種の通信方式は、図１７に示すものがある（例えば、特許文献１参照）。この通信方式は、イーサネットでネットワーク接続されるプログラマブルコントローラ１Ａ，１Ｂ，１Ｃは、共有メモリ方式で相互通信を行うためのＴＣＰ／ＩＰとＵＤＰ／ＩＰを有するイーサネットＩＦ（インタフェース）２と、ユーザ用メモリとアプリケーションプログラムを搭載するプロセッサ３で構成する。インタフェース２はユーザ用メモリ３１との間でデータの書込み／読み出しができる通信処理部２５と、自ノード番号を設定するためのスイッチ２６を設け、ユーザ用メモリ３１には自ノード番号の領域に送信データを書込み、自ノード番号以外の領域には他のノードから受信したデータを展開する共有メモリ領域を設け、自ノード番号を基にしたノード管理を行うことで、ＩＰアドレスによるノード管理に代える。
【０００３】
この特許文献にも開示されるように、イーサネットは、同軸ケーブルを伝送媒体に用い、ＣＳＭＡ／ＣＤ方式（衝突検出型搬送波多重ＬＡＮのアクセス方式）のインタフェースによってコンピュータ同士の通信を可能にする。
【０００４】
近年、プラントにおける監視制御システムは、ホストコンピュータとしてワークステーションやミニコンに代えてパソコンが採用され、それに伴い最も一般的なイーサネットがコンピュータ上位ネットワークおよびコンピュータ間ネットワークのデファクト・スタンダードとして確立されたといってよい。
【０００５】
特に、ＰＣ（プログラマブルコントローラ）間ネットワークに関しては、マルチベンダー接続の必要性からオープン化も進み、その代表的なものに日本電機工業会で規格化（ＪＥＭ１４７９）されたＦＬ−ｎｅｔなどが存在する。
【０００６】
ＰＣ間ネットワークでは、それ自体に再送機能や送達確認機能を持つＴＣＰ／ＩＰよりも、むしろブロードキャスト通信（一斉同報通信）を可能とするＵＤＰ／ＩＰを実装する傾向にある。一般的には、ＵＤＰ／ＩＰよりＴＣＰ／ＩＰの方が信頼性が高いが、送信するデータを自動的に合体させたりする機能がＰＣ間ネットワークには不向きといえる。
【０００７】
ＦＬ−ｎｅｔのＦＡリンクプロトコルも、ＵＤＰ／ＩＰのブロードキャスト通信を採用したプロトコルで、マスターレスのトークン（送信権）管理によりコリジョンを回避し信頼性を確保している。また、マスターレスのトークン管理では、電源ＯＮによりそのノードのネットワークへの自動的な加入、および電源ＯＦＦによる自動的な離脱認識を可能とする。
【０００８】
ＦＬ−ｎｅｔのメインとなる機能は、サイクリック伝送と呼ばれるもので、各ＰＣがコモンメモリと呼ばれる領域を共有する概念であり、これはＰＣ間ネットワークでは一般的な機能である。
【特許文献１】特開２００１−２４５０１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＦＬ−ｎｅｔのように、マスターレスのトークン（送信権）管理により、サイクリック伝送のような機能を実装することは、規格化されていることからも判るように、一般的な通信方式である。
【００１０】
この通信方式は、ＰＣ本体異常時のバックアップ機能を持たないシングル構成のＰＣ間で通信するときには、何の問題もない。
【００１１】
この通信方式の問題点は、ＰＣを冗長化のために二重化構成（片方が動作系でもう片方が待機系）とする場合に発生する。
【００１２】
二重化されたＰＣは、トークン管理方式の制約上、別々のノード番号の認識を持たなければならず、その両方がネットワークに加入する。仮に、動作系と待機系を同じノード番号にして、待機系のＰＣはネットワークに参加しない方式とした場合、待機系ＰＣの通信機能の健全性を確認する手段がなくなってしまう。ゆえに別々のノード番号を持ち、両方がネットワークに加入することが必要条件となる。
【００１３】
この場合、待機系のＰＣが常時ネットワークに参加することで、伝送効率を落とすことは免れない。
【００１４】
本発明の目的は、上記の課題を解決したコンピュータ間のネットワーク通信方式を提供することにある。
【課題を解決するための手段】
【００１５】
本発明は、前記の課題を解決するため、トークン管理方式でサイクリック伝送を行う通信方式において、ネットワーク上に参加する第３のＰＣが、二重化されたＰＣのマスタ（動作系）およびスレーブ（待機系）両方のネットワーク加入を認識し、かつサイクリック伝送でのコモンメモリデータは、マスタとの間のみで送受信する方式とするもので、以下の構成を特徴とする。
（１）多数のプログラマブルコントローラ（ノード）間をネットワーク接続し、各プログラマブルコントローラはアプリケーションプログラムを実行するプロセッサと、プログラマブルコントローラ間の相互通信機能を得るためのイーサネットインタフェースを備え、少なくとも１対のプログラマブルコントローラがマスタ（動作系）とスレーブ（待機系）に二重化されてネットワーク通信を行うコンピュータ間のネットワーク通信方式であって、
ネットワーク上に参加する第３のプログラマブルコントローラは、二重化されたプログラマブルコントローラのマスタ（動作系）およびスレーブ（待機系）両方のネットワーク加入を認識し、かつサイクリック伝送でのコモンメモリデータは、マスタとの間のみで送受信する手段を備えたことを特徴とする。
（２）前記イーサネットインタフェースは、前記プロセッサとの結合部に二重化トークン管理・サイクリック伝送制御部と、自身が二重化あるいはシングルかの情報、二重化時のマスタかスレーブかの情報、およびプログラマブルコントローラがネットワーク上で健全であるかの情報を格納するノード情報管理データとを設け、
前記マイクロプロセッサは、通信用パラメータ設定ツールによって設定される通信パラメータ領域と、イニシャルマスタ設定スイッチによって設定されるイニシャルマスタ情報と、前記イニシャルマスタ情報を管理し、カレント・マスタがどちらのプログラマブルコントローラかの情報を二重化ステータス情報に反映させ、マスタ切替スイッチによる外部からの指令およびアプリケーションプログラムからの指令によりマスタ切替を行う二重化制御部とを設けたことを特徴とする。
（３）ネットワーク上のノード番号は０をはじまりとするノード番号を設定し、偶数を二重化時のイニシャルマスタおよびシングル時のノード番号とし、二重化時は＋１の奇数ノード番号をイニシャルスレーブとして通信パラメータ領域に格納し、この格納された情報を前記二重化トークン管理・サイクリック伝送制御部がマスタノード、スレーブノード共用の設定と認識をして伝送制御することを特徴とする。
（４）前記二重化トークン管理・サイクリック伝送制御部は、伝送フレームのヘッダ部に、次にトークンを渡す相手ノード番号、自ノード番号、二重化ステータス情報、伝送データ種別（通常トークン、生存確認用トークン、コモンメモリデータ、加入通知フレーム）を含ませることを特徴とする。
（５）前記二重化トークン管理・サイクリック伝送制御部は、マスタ、スレーブにかかわらず、電源投入時や自ノードがネットワーク不参加状態の時に、通信パラメータ領域の情報や二重化ステータス情報をもとに加入通知フレームを送信し、
加入通知フレームの受信先ノードの二重化トークン管理・サイクリック伝送制御部は、送信元ノードに対するノード情報管理データの対応エントリに受信した二重化ステータスを格納し、そのノードの生存（健全であること）を認識することを特徴とする。
（６）前記二重化トークン管理・サイクリック伝送制御部は、ネットワーク上に通常トークンを保持したノードが存在してない場合、自ノードがマスタでかつノード情報管理データを参照して自ノード番号がネットワーク上の最小ノード番号ならば、通信パラメータ領域のコモンメモリ領域設定に従ったコモンメモリデータ送信を行い、その後、次ノードに対して通常トークン送信を行い、
コモンメモリデータを受信した二重化トークン管理・サイクリック伝送制御部は、送信元ノードが二重化のマスタノードかシングルノードならば、受信したコモンメモリ領域が他ノードと重複していないかチェックし、チェックした結果、重複していない場合、または重複していても二重化スレーブノードとの重複の場合はコモンメモリデータ受信展開処理を行うことを特徴とする。
（７）通常トークンを受信した前記二重化トークン管理・サイクリック伝送制御部は、相手ノード番号が自ノードで、かつ自ノードが二重化マスタノードまたはシングルノードならば、通信パラメータ領域のコモンメモリ領域設定に従ったコモンメモリデータ送信を行い、その後、次ノードに対して通常トークンを送信することを特徴とする。
（８）前記二重化トークン管理・サイクリック伝送制御部は、自ノード宛の通常トークンを受信した場合、自ノードがマスタでかつノード情報管理データを参照して自ノード番号が最小ならば、自ノードが通信開始の起点と判断してカウンタを＋１し、カウントしたカウンタが設定値に達した場合に限り、ノード情報管理データを参照し、二重化されているスレーブノードの中で、最小ノード番号を探索し、そのノードに対して生存確認用トークンの送信を行い、この後にカウンタを０に戻し、
生存確認用トークンを受信した二重化トークン管理・サイクリック伝送制御部は、ノード情報管理データに、送信元のスレーブノードの生存を記憶し、受信フレーム中の相手ノード番号が自ノードであり、かつ自ノードがＣＰＵ二重化のスレーブノードならば、次に生存確認用トークンを送信する二重化スレーブノード番号を探索し、探索したスレーブ番号がスレーブの中で最小ノード番号でないならば、そのノードを相手ノード番号として生存確認用トークンを送信し、探索したスレーブ番号がスレーブの中で最小ノード番号ならば、そのノード番号より小さいシングルノードがないかを探索し、ない場合は相手ノード番号を二重化マスタノード番号に変更して通常トークンを送信し、あった場合には相手ノード番号を最小ノード番号のシングルノードとして通常トークンを送信することを特徴とする。
【発明の効果】
【００１６】
以上のとおり、本発明によれば、トークン管理方式でサイクリック伝送を行う通信方式において、ネットワーク上に参加する第３のＰＣが、二重化されたＰＣのマスタ（動作系）およびスレーブ（待機系）両方のネットワーク加入を認識し、かつサイクリック伝送でのコモンメモリデータは、マスタとの間のみで送受信する方式を実現でき、しかも伝送効率を落とすことがない。
【発明を実施するための最良の形態】
【００１７】
本発明における実施の形態を図１に示し、図と同様に、ＰＣ１Ａ動作系とＰＣ１Ａ待機系とＰＣ１Ｂ〜１Ｎがイーサネットで接続される。各ＰＣ１Ａ動作系、ＰＣ１Ａ待機系、ＰＣ１Ｂ〜１Ｎは、ＰＣ１Ａ動作系に代表して示すように、それぞれ相互通信機能を得るためのイーサネットインタフェース２とプロセッサ３で構成する。
【００１８】
イーサネットインタフェース２は、物理層２１とデータリンク層２２とＩＰ２３とＵＤＰ２４の他に、本実施形態ではプロセッサ３との結合部にＰＣ二重化トークン管理・サイクリック伝送制御部２５を設ける。ＰＣ二重化トークン管理・サイクリック伝送制御部２５は、データリンク層２２とＩＰ２３とＵＤＰ２４と同様にソフトウェアで構成される。また、各ノードがＣＰＵ二重化あるいはシングルＣＰＵかの情報、ＣＰＵ二重化時のマスタかスレーブかの情報、あるいはそれらノードがネットワーク上で健全であるかの情報を格納するノード情報管理データ２６を実装する。
【００１９】
プロセッサ３は、サイクリック伝送機能用のコモンメモリ送受信データ３１と、それを最終的にアプリケーションプログラム３３が使用するための展開領域であるユーザ用メモリ３２が実装される。また、通信用パラメータ設定ツール４によって設定される通信パラメータ領域３４や、イニシャルマスタ設定スイッチ３８によって設定されるイニシャルマスタ情報３６、さらにはＰＣ二重化を制御する二重化制御部３７を実装する。イニシャルマスタ情報３６は二重化制御部３７によって管理され、カレント・マスタがどちらかかの情報は二重化ステータス３５に反映される。また、マスタ切替スイッチ３９による外部からの指令およびアプリケーションプログラム３３からの指令により、二重化制御部３７はマスタ切替を行う。なお、ＰＣ二重化を採用していないＰＣ１Ｂ〜１Ｎでは、二重化制御部３７はダミー実装とする。また、二重化制御部３７はソフトウェアで構成される。
【００２０】
本実施形態での主たる構成要素は、イーサネットインタフェース２のＰＣ二重化トークン管理・サイクリック伝送制御部２５とプロセッサ３においてイニシャルマスタ情報３６や二重化ステータス３５を制御する二重化制御部３７であり、これらによって、ネットワーク上のＰＣが、二重化されたＰＣのマスタ（動作系）およびスレーブ（待機系）両方のネットワーク加入を認識し、かつサイクリック伝送でのコモンメモリデータは、マスタのみが送信する唯一の領域のみで受信する方式とする。
【００２１】
本実施形態を適用しない場合の、一般的であるトークン管理によるサイクリック伝送を図２、図３に示す。
【００２２】
図２は、トークン管理方式のネットワークに、ＰＣ１Ａ動作系（ノード♯３）とＰＣ１Ａ待機系（ノード♯４）とＰＣ１Ｂ（ノード♯１）とＰＣ１Ｃ（ノード♯２）が加入する場合のコモンメモリ割り付け例を示す。図３は、ＰＣ二重化ノードがネットワークに参加する場合のコモンメモリ送信データの流れと、ノード宛てトークンの流れを示す。
【００２３】
図２に示すＰＣ１Ａ動作系（ノード＃３）のデータ１２８ＷとＰＣ１Ａ待機系（ノード＃４）のデータ１２８Ｗは、全く同じ内容が格納されることになる。この場合、ノード＃１とノード＃２は、ノード＃３とノード＃４のどちらのデータを有効とするかの判断が必要となる。また、実際には片方は必要のないデータなので、受信すること自体効率が悪い。
【００２４】
本実施形態では、通常時は二重化マスタおよび二重化でないシングルＣＰＵのみでトークンを周回し、サイクリック伝送を行う。そして、任意の周期毎に、生存確認用トークンを二重化スレーブ間のみで周回させ（この場合サイクリック伝送はなし）、二重化スレーブのネットワーク参加に対する健全性を確認する手段を提供する。これを実現するための各部の処理形態を以下に詳細に説明する。
【００２５】
（１）ノード番号の割り付けと認識
ネットワーク上のノード番号は０をはじまりとし、設定パラメータとしてノード番号を設定する。きまりとして、偶数を二重化時のイニシャルマスタおよびＣＰＵシングル時のノード番号とし、二重化時は＋１の奇数ノード番号をイニシャルスレーブとする。そのため、通信パラメータ設定ツール４にて、ノード番号およびコモンメモリ領域などの設定を通信パラメータ領域（メモリ）３４に格納でき、かつ格納された情報をイーサネットインタフェース２のＰＣ二重化トークン管理・サイクリック伝送制御部２５が読み込む。
【００２６】
図４はＰＣ二重化トークン管理・サイクリック伝送制御部の２５の設定ノード番号認識処理手順を示す。ＰＣ二重化トークン管理・サイクリック伝送制御部２５が、ノード番号を読み込み、読み込んだ偶数ノード番号をイニシャルマスタノード番号と認識し、そのノード番号＋１の奇数ノード番号をイニシャルスレーブノード番号と認識する。
【００２７】
例）ツールによって設定されたノード番号＝０の場合
マスタノード番号＝０、スレーブノード番号＝１
（２）コモンメモリ領域設定認識
図５にコモンメモリ領域設定認識処理手順を示すように、ノード番号の認識条件として、ＰＣ二重化トークン管理・サイクリック伝送制御部２５は、読み込んだコモンメモリ領域設定をマスタノード、スレーブノード共用の設定と認識する。
【００２８】
例）ツールによって設定されたコモンメモリ領域設定（ワードアドレス＝１００Ｈ、ワードサイズ＝１２８）
マスタノード用：ワードアドレス＝１００Ｈ番地、ワードサイズ＝１２８
スレーブノード用：ワードアドレス＝１００Ｈ番地、ワードサイズ＝１２８
（３）イニシャルマスタ情報認識
プロセッサ３に実装するＨ／Ｗスイッチであるイニシャルマスタ設定スイッチ３８により、二重化されたＰＣのイニシャルマスタ側をイニシャルマスタ設定とし、イニシャルスレーブ側をイニシャルスレーブ設定とする。
【００２９】
図６に示すように、イニシャルマスタ設定スイッチ３８で設定されたイニシャルマスタ情報を読み込んだ二重化制御部３７は、それがイニシャルマスタであるかイニシャルスレーブであるかの情報をＰＣ二重化トークン管理・サイクリック伝送制御部２５が読み出すことのできる二重化ステータス３５に反映させる。
【００３０】
（４）マスタ／スレーブの切り替え指令
プロセッサ３に実装するＨ／Ｗスイッチであるマスタ切替スイッチ３９によりマスタ切り替えを指令した場合、あるいはアプリケーションプログラムによりマスタ切り替えを指令した場合、二重化接続ケーブル３Ａにより二重化制御情報の取り合いのできるマスタおよびスレーブ各々の二重化制御部３７は、その指令によりＰＣのマスタ／スレーブ切り替えを行う。
【００３１】
（５）マスタ／スレーブの切り替え
図７に示すように、二重化制御部３７は、自分がＰＣ二重化構成であるという情報に加え、現状がマスタであるか、あるいはスレーブであるかの情報を、ＰＣ二重化トークン管理・サイクリック伝送制御部２５が読み出すことのできる二重化ステータス３５に反映させる。
【００３２】
（６）自ノード番号認識
イーサネットインタフェース２のＰＣ二重化トークン管理・サイクリック伝送制御部２５は、プロセッサ３の二重化ステータス３５を読み込み、イニシャルマスタ／スレーブ設定および現状マスタかスレーブかの情報を常時認識する。そして、自ノード番号の認識を、イニシャルマスタなら設定した偶数ノード番号、イニシャルスレーブならば設定値＋１の奇数ノード番号とする。
【００３３】
（７）伝送フレーム構成
図８に示すように、イーサネットインタフェース２の送信する伝送フレーム構成において、ＰＣ二重化トークン管理・サイクリック伝送制御部２５が付加するヘッダ部に、次にトークンを渡す相手ノード番号、自ノード番号、二重化ステータス３５、伝送データ種別（通常トークン、生存確認用トークン、コモンメモリデータ、加入通知フレーム）を含ませる。
【００３４】
（８）加入通知フレーム送信
図９に示すように、ＰＣ二重化トークン管理・サイクリック伝送制御部２５は、電源投入時や自ノードがネットワーク不参加状態の時に、通信パラメータ領域３４や二重化ステータス３５の情報をもとに加入通知フレームを送信する。これは、自ノードがＣＰＵ二重化時のマスタ、スレーブの如何にかかわらず行う。
【００３５】
（９）加入通知フレーム受信
図１０に示すように、ＰＣ二重化トークン管理・サイクリック伝送制御部２５は、加入通知フレームを受信した場合、送信元ノードに対するノード情報管理データ２６の対応エントリに受信した二重化ステータスを格納し、そのノードの生存（健全であること）を認識する。
【００３６】
なお、送信元ノードがシングルＣＰＵの場合は二重化ステータスの情報は必要としない。
【００３７】
（１０）通常伝送開始
図１１に示すように、ＰＣ二重化トークン管理・サイクリック伝送制御部２５は、ネットワーク上に通常トークンを保持したノードが存在してない場合、自ノードがマスタでかつノード情報管理データ２６を参照して自ノード番号がネットワーク上の最小ノード番号ならば、通信パラメータ領域３４のコモンメモリ領域設定に従ったコモンメモリデータ送信を行い、その後、次ノード（次ノードがＣＰＵ二重化ならばマスタノード）に対して通常トークン送信を行う。
【００３８】
（１１）コモンメモリデータ受信
図１２に示すように、ＰＣ二重化トークン管理・サイクリック伝送制御部２５は、コモンメモリデータを受信した場合、送信元ノードがＣＰＵ二重化のマスタノードかシングルＣＰＵノードならば、受信したコモンメモリ領域が他ノードと重複していないかチェックし、チェックした結果、重複していない場合、または重複していてもＣＰＵ二重化スレーブノードとの重複の場合はコモンメモリデータ受信展開処理を行う。
【００３９】
（１２）通常トークン受信
図１３に示すように、ＰＣ二重化トークン管理・サイクリック伝送制御部２５は、通常トークンを受信した場合、相手ノード番号が自ノードで、かつ自ノードがＣＰＵ二重化マスタノードまたはシングルＣＰＵノードならば、通信パラメータ領域３４のコモンメモリ領域設定に従ったコモンメモリデータ送信を行い、その後、次ノード（次ノードがＣＰＵ二重化ならばマスタノード）に対して通常トークンを送信する。
【００４０】
（１３）生存確認用トークン送信
図１４に示すように、ＰＣ二重化トークン管理・サイクリック伝送制御部２５は、自ノード宛の通常トークンを受信した場合、自ノードがマスタでかつノード情報管理データ２６を参照して自ノード番号が最小ならば、自ノードが通信開始の起点と判断してカウンタを＋１する。そして、カウントしたカウンタが設定値に達した場合に限り、ノード情報管理データ２６を参照し、ＣＰＵ二重化されているスレーブノードの中で、最小ノード番号を探索し、そのノードに対して生存確認用トークンの送信を行い、この後にカウンタを０に戻す。
【００４１】
（１４）生存確認用トークン受信
図１５に示すように、ＰＣ二重化トークン管理・サイクリック伝送制御部２５は、生存確認用トークンを受信した場合、ノード情報管理データ２６に、送信元のスレーブノードの生存（ネットワーク上で健全であること）を記憶する。
【００４２】
そして、受信フレーム中の相手ノード番号が自ノードであり、かつ自ノードがＣＰＵ二重化のスレーブノードならば、次に生存確認用トークンを送信する二重化スレーブノード番号を探索し、探索したスレーブ番号がスレーブの中で最小ノード番号でないならば、そのノードを相手ノード番号として生存確認用トークンを送信する。
【００４３】
また、探索したスレーブ番号がスレーブの中で最小ノード番号ならば、そのノード番号より小さいシングルＣＰＵノードがないかを探索し、ない場合は相手ノード番号を二重化マスタノード番号に変更して通常トークンを送信する。また、あった場合には、相手ノード番号を最小ノード番号のシングルＣＰＵノードとして通常トークンを送信する。
【００４４】
（１５）フレームの送受信処理
上記の（８）〜（１４）の各フレームの送受信処理を一連のシーケンスで表した場合、図１６のようになる。
【００４５】
例えば、設定値を１０とするならば最小ノード番号マスタ（またはシングルＣＰＵノード）を起点としたトークン周回の処理手順において、１０回に９回はコモンメモリデータ＋通常トークンをマスタ間のみで行い、残り１回はスレーブノード間の生存確認用トークンの周回を行う。すなわち、通常時コモンメモリデータの通信を行う時は、伝送効率を落とす要因となるスレーブノードのネットワーク参加を省き、別途任意のタイミングでスレーブノードの生存を確認するための通信を行うことで伝送効率を向上させる。
【図面の簡単な説明】
【００４６】
【図１】本発明の実施形態を示すネットワーク通信方式のシステム構成図。
【図２】従来のトークン管理方式のコモンメモリ割付例。
【図３】従来のトークン管理方式におけるＰＣ二重化ノードのネットワーク参加手順例。
【図４】実施形態におけるＰＣ二重化トークン管理・サイクリック伝送制御部の設定ノード番号認識処理手順。
【図５】実施形態におけるＰＣ二重化トークン管理・サイクリック伝送制御部のコモンメモリ領域設定認識処理手順。
【図６】実施形態における二重化制御部のイニシャルマスタ設定スイッチ認識処理手順。
【図７】実施形態における二重化制御部のマスタ／スレーブ切り替え処理手順。
【図８】実施形態における伝送フレーム構成図。
【図９】実施形態における加入通知フレーム送信処理手順。
【図１０】実施形態における加入通知フレーム受信処理手順。
【図１１】実施形態における通常伝送開始処理手順。
【図１２】実施形態におけるコモンメモリデータ受信処理手順。
【図１３】実施形態における通常トークン受信処理手順。
【図１４】実施形態における生存確認用トークン送信処理手順。
【図１５】実施形態における生存確認用トークン受信処理手順。
【図１６】実施形態における通信シーケンス。
【図１７】従来のネットワーク通信方式のシステム構成図。
【符号の説明】
【００４７】
１Ａ  ＰＣ動作系
１Ｂ  ＰＣ待機系
２  イーサネットインタフェース
３  プロセッサ
４  通信パラメータ設定ツール
２５  ＰＣ二重化トークン管理・サイクリック伝送制御部
３２  ユーザ用メモリ
３３  アプリケーションプログラム
３７  二重化制御部
３８  イニシャルマスタ設定スイッチ
３９  マスタ切替スイッチ
【図１】
2006197522.tif 000003
【図２】
2006197522.tif 000004
【図３】
2006197522.tif 000005
【図４】
2006197522.tif 000006
【図５】
2006197522.tif 000007
【図６】
2006197522.tif 000008
【図７】
2006197522.tif 000009
【図８】
2006197522.tif 000010
【図９】
2006197522.tif 000011
【図１０】
2006197522.tif 000012
【図１１】
2006197522.tif 000013
【図１２】
2006197522.tif 000014
【図１３】
2006197522.tif 000015
【図１４】
2006197522.tif 000016
【図１５】
2006197522.tif 000017
【図１６】
2006197522.tif 000018
【図１７】
2006197522.tif 000019