(57)【要約】【課題】  ネットワークに接続された複数のノード間でデータを共有する場合に、各ノードの負荷の軽減を図ることのできるネットワークシステムを提供すること【解決手段】  複数のノード１０がネットワーク２１に接続されている（図示省略するが、スイッチングハブを介して行なわれる）。ネットワークを介して送信されるフレームは、ノードを構成する通信インタフェース１３ｄにて一旦取り込み、受信したフレームのマルチキャストアドレス（ＢＡ）がマルチキャスト受信テーブル１３ｄ′に登録されているか否かを判断し、登録されている場合には、受信したフレームをＭＰＵ１３ａやＲＡＭ１３ｃへと転送し、登録されていないフレームは通信インタフェース１３ｄで廃棄する。これにより、ＭＰＵ１３ａや、ＣＰＵユニット等の負荷が軽減される。【選択図】        図６
2006217580.tif 000002
【特許請求の範囲】
【請求項１】
スイッチングハブを介して複数のノードが接続されたネットワーク上で、その複数のノード間でデータを共有することができるネットワークシステムであって、
前記複数のノードは、前記スイッチングハブを介して全２重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、
複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、
前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルとを備え、
前記複数のノードのうち、送信側のノードの前記通信インタフェースは、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信する機能を有し、
前記複数のノードのうち、受信側のノードは、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段を持ち、
前記受信側のノードの前記通信インタフェースは、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する機能を持ち、
前記送信側のノードは、自ノードの送信タイミングでサイクリックにデータ送信を行なうことで受信側のノードとの間でデータ共有することを特徴とするネットワークシステム。
【請求項２】
前記テーブルを構成するマルチキャストアドレスと送信データの関連付けが複数の組で構成され、かつ、その組単位で送信用のフレームを構成する場合は、自ノードの送信タイミングの１サイクル中に送信する複数のフレームに同一の識別番号を付加して送信し、
前記受信側のノードでは、前記複数のフレームを受信した場合に、その複数のフレームの識別番号が異なる場合には、廃棄処理をすることを特徴とする請求項１に記載のネットワークシステム。
【請求項３】
前記受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、所得することを特徴とする請求項１または２に記載のネットワークシステム。
【請求項４】
スイッチングハブを介して全２重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、
複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、
前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルと、
他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段とを備え、
前記通信インタフェースは、
前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信する機能と、
マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する機能とを有する
ことを特徴とするプログラマブルコントローラ。
【請求項５】
スイッチングハブを介して複数のノードが接続されたネットワーク上で、その複数のノード間でデータを共有することができるネットワークシステムにおけるデータ共有方法であって、
前記複数のノードは、前記スイッチングハブを介して全２重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、
複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、
前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルとを備え、
前記複数のノードのうちの送信側のノードの前記通信インタフェースが、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信し、
前記複数のノードのうちの受信側のノードが、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段を持ち、その受信側のノードの前記通信インタフェースが、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する処理を実行し、
前記送信側のノードは、自ノードの送信タイミングでサイクリックにデータ送信を行なうことで受信側のノードとの間でデータ共有することを特徴とするデータ共有方法。
【請求項６】
前記テーブルを構成するマルチキャストアドレスと送信データの関連付けが複数の組で構成され、かつ、その組単位で送信用のフレームを構成する場合は、自ノードの送信タイミングの１サイクル中に送信する複数のフレームに同一の識別番号を付加して送信し、
前記受信側のノードは、前記複数のフレームを受信した場合に、その複数のフレームの識別番号が異なる場合には、廃棄処理を実行することを特徴とする請求項５に記載のデータ共有方法。
【請求項７】
前記受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、所得する処理を実行することを特徴とする請求項５または６に記載のデータ共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ネットワークシステムおよびプログラマブルコントローラならびにデータ共有方法に関するものである。
【背景技術】
【０００２】
生産工場（製造現場）に設置されるファクトリーオートメーション（ＦＡ）の制御装置として、プログラマブルコントローラ（ＰＬＣ）が用いられている。このＰＬＣは、複数のユニットから構成される。すなわち、ＰＬＣは、電源供給源の電源ユニット，ＰＬＣ全体の制御を統率するＣＰＵユニット，ＦＡの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット，アクチュエータなどに制御出力を出す出力ユニット，通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。
【０００３】
ＰＬＣ（ＣＰＵユニット）における制御は、入力ユニットで入力した信号をＣＰＵユニットのＩ／Ｏメモリに取り込み（ＩＮリフレッシュ）、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし（演算実行）、その演算実行結果をＩ／Ｏメモリに書き込んで出力ユニットに送り出し（ＯＵＴリフレッシュ）、その後、いわゆる周辺処理を行なうということをサイクリックに繰り返し処理するようになる。
【０００４】
ところで、このＰＬＣを含むシステムでは、ＰＬＣその他のコントローラ等の通信ノードを複数個用意するとともにそれらをネットワークで接続し、各ノード間でデータを共有することにより、同期制御や協調制御などを行なうことがある。この場合に、ＰＬＣ等のノード間でデータを共有する方法として、データリンク方式がある。
【０００５】
このデータリンク方式は、特許文献１，２などに開示されたように、各ノードには、メモリの所定領域に仮想メモリとしてデータリンクエリアを設定する。このデータリンクエリアは、自己が持つ共有すべきデータを格納する自ノードエリアと、他のノードから送られて来たデータを格納する他ノードエリアが用意される。これらデータリンクエリアは、連続したメモリ領域に設定される。そして、各ノードが、自ノードエリアに格納された自分の持つデータを、ネットワークを介して送信する。この送信されたデータは、ネットワークに接続された他の全てのノードが取得し、それぞれ対応する他ノードエリア（取得したデータを送信したノード用の他ノードエリア）に格納する。これにより、全てのノードがそれぞれ自ノードエリアに格納されたデータを送信・出力することにより、データリンクに参加している全てのノードは、他のノードとデータの共有ができる。
【０００６】
具体例をあげて説明すると、図１に示すように、共有すべき各領域に対してそれぞれ複数のノード（ＰＬＣ等）１がネットワーク２を介して接続されているネットワークシステムにおいて、各ノード１に対してデータリンクエリア（仮想メモリ）を設定する。
【０００７】
ここで、図中、黒塗りのエリアが自己が保有するデータを格納する自ノードエリアであり、白抜きのエリアが他ノードが持つデータを格納する他ノードエリアである。ノード（１）を基準にデータの読み書きを説明する。ノード（１）は、自身に割付けられた仮想メモリ（１）にデータを書き込む。すると、ノード（１）は、一斉同報でネットワーク２を介してノード（２）〜ノード（４）の仮想メモリ（１）、へ自動的に送信する。逆に、ノード（１）は、ノード（２）〜ノード（４）から送られてきたデータを、それぞれ対応する仮想メモリ（２）、（３）、（４）に受信する。ノード（１）は、仮想メモリ（１）〜（４）に格納されたデータを読み出し、これを利用する。これにより、ノード（１）は、自己の仮想メモリ（２）〜（４）に、ネットワーク２上に存在する他のノード（２）〜（４）が持つデータを有する。よって、ノード（１）のアプリケーションは、仮想メモリにアクセスすることで、他のノード（２）〜（４）が持つデータを取得し、利用することができる。つまり、他のノード１に対する通信手順を意識することなく、あたかも仮想メモリに読み書きするかのうようにして、ノード間通信を実現できる。他のノード（２）〜（４）についても同様のことが言える。よって、各ノード１が持つデータを、ノード（１）〜（４）で共有をすることができる。
【０００８】
これにより、全てのノードがそれぞれ自ノードエリアに格納されたデータを出力することにより、データリンクに参加している全てのノードは、他のノードとデータの共有ができる。このデータリンク機能は、ラダープログラムを作成することなく、複数のノード（ＰＬＣ）間でデータ交換が行なえるため、ＰＬＣネットワークにおいて、各ノード間でデータを共有する方法として広く使用されている。
【０００９】
上述した通り、各ノードは、自ノードエリアに格納されたデータをネットワーク２に同報通信する必要がある。ネットワーク２が半二重方式の場合には、同時に複数のノードから仮想メモリに格納されたデータを付加したフレームを送信すると、ネットワーク２上で衝突を生じてしまい、送信エラーとなる。そこで、通常トークンパッシング方式を用い、トークン（送信権）を獲得したノードがフレームを送信するようになる。このトークンパッシング方式のイメージは、図２のようになる。
【００１０】
すなわち、各ノードがトークン（送信権）を保持しているときにデータを送信し、次ノードにトークンを渡す。各ノードから送信されるフレームは、図２（ｂ）に示すように、送信先アドレスとして、ＢＡ（ブロードキャストアドレス）を指定し、続いて仮想メモリアドレス，実際に送信するデータ，トークンからなる。
【００１１】
各ノードから送信されたデータは、仮想メモリアドレス（コモンメモリと呼ばれることもある）空間に割り付けられる。受信ノードでは、仮想メモリのアドレスと、ノード内メモリのアドレスとを関連付けたメモリマップテーブルを設定しておき、このテーブルにしたがい、ネットワークに流れるデータから必要なデータを受信し、ノード内メモリに取り込む。
【００１２】
【特許文献１】特許第３３２９３９９号
【特許文献２】特開平０６−０１４０３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述したデータリンク方式によりデータの共有を図ろうとした場合、以下に示す問題を有する。トークンパッシング方式は、通信路を半２重で通信しているため、通信性能は、トークン周回に依存する。従って、通信性能は、各ノードが保持データを送信する時間の総和やノード数の総和に依存していた。つまり、図２（ａ）に示すように、ノード（１）がブロードキャストで自己の仮想メモリの領域（１）に格納されたデータを格納したフレーム１を送信し、ついで、ノード（２）がトークンを取得して自ノードエリアの領域（２）に格納されたデータを格納したフレーム２をブロードキャストで送信し、ついで、ノード（３）がトークンを取得して自ノードエリアの領域（３）に格納されたデータを格納したフレーム３をブロードキャストで送信し、ついで、ノード（４）がトークンを取得して自ノードエリアの領域（４）に格納されたデータを格納したフレーム４をブロードキャストで送信することで、１巡する。よって１回の通信サイクルタイムは、４つのノードがフレームを送信する時間の総和となり、ノード数が増えたり、送信すべき自ノードエリアのデータ容量が増えたりすると、通信サイクルタイムが伸びてしまう。
【００１４】
また、多くのアプリケーションでは、ネットワーク上に流れる全てのデータを必要としない場合が多く、通信サイクルタイムのうち、多くの時間は、受信ノードにとっては意味のない待ち時間となっている。
【００１５】
すなわち、ノード（１）に着目した場合、自ノードエリア（１）に格納された送信するデータは、必ずしも他の全てのノード（２）〜（４）が必要としているものとは限らない。つまり、自ノードエリアに格納するデータは、データリンクを行なう他のノードのうち、少なくとも１つのノード１が必要とするデータである。ブロードキャストにより送信されたデータを受信した他のノードは、それぞれ対応する他ノードエリアの領域に受信した全てのデータを格納するが、通常、他のノード１が使用するのは受信したデータの一部となる。
【００１６】
一例を示すと、仮に４つのノード１がデータリンクをしている場合に、ノード（１）から送られるデータの中には、ノード（２）のみが使用するデータと、ノード（３）のみが使用するデータ（ノード（３）用データ）と、全てのノード（２）〜（４）がともに使用するデータが含まれているとする。この場得、ノード（１）は、仮想メモリ中の自ノードエリアの領域（１）に格納されたデータを送信するが、そのデータを受信したノード（２）では、当然のことながらノード（３）用データは使用しない。ノード（１）が他のノードから受信したデータの中にもノード（１）では必要としないものが多々ある。
【００１７】
このように、受信しても使用しないデータであってもメモリに格納するのは、無駄なメモリ使用となり、必要以上にデータ格納領域が必要となるばかりでなく、使用しないデータの送受信（通信量増大）や、メモリの読み書きを行なう作業が必要となり、煩雑である。
【００１８】
また、メモリ容量の削減を図るためには、各ノードは受信したデータリンクをしているデータの全てをメモリに格納するのではなく、必要なもののみを抽出してメモリに格納し、残りを廃棄することもできる。しかし、ブロードキャストで送信されたすべてのフレームは、その内容に関らず、受信ノード内部のＭＰＵやＲＡＭへと転送されるので、その受信ノードにとって不必要なデータは、ＭＰＵで必要なデータか否かを判断し、不必要なデータについて廃棄処理を実行することになる。よって、ＭＰＵに余計な負荷が発生してしまう。
【００１９】
この発明は、ネットワークに接続された複数のノード間でデータを共有する場合に、各ノードの負荷の軽減を図り、ネットワーク全体で短時間で共有すべきデータの送受信処理に要する時間（１巡するための通信サイクルタイム）を短くすることができるネットワークシステムおよびプログラマブルコントローラならびにデータ共有方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
この発明によるネットワークシステムは、スイッチングハブを介して複数のノードが接続されたネットワーク上で、その複数のノード間でデータを共有することができるネットワークシステムであって、複数のノードは、前記スイッチングハブを介して全２重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルとを備える。そして、複数のノードのうち、送信側のノードの前記通信インタフェースは、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信する機能を有する。複数のノードのうち、受信側のノードは、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段を持つ。その受信側のノードの前記通信インタフェースは、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する機能を持ち、前記送信側のノードは、自ノードの送信タイミングでサイクリックにデータ送信を行なうことで受信側のノードとの間でデータ共有するようにした。
【００２１】
また、前記テーブルを構成するマルチキャストアドレスと送信データの関連付けが複数の組で構成され、かつ、その組単位で送信用のフレームを構成する場合は、自ノードの送信タイミングの１サイクル中に送信する複数のフレームに同一の識別番号を付加して送信し、前記受信側のノードでは、前記複数のフレームを受信した場合に、その複数のフレームの識別番号が異なる場合には、廃棄処理をするように構成すると良い。
【００２２】
受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、所得するように構成できる。
【００２３】
本発明のプログラマブルコントローラは、スイッチングハブを介して全２重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルと、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段とを備えて構成する。そして、前記通信インタフェースは、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信する機能と、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する機能とを有するようにした。
【００２４】
本発明に係るデータ共有方法は、スイッチングハブを介して複数のノードが接続されたネットワーク上で、その複数のノード間でデータを共有することができるネットワークシステムにおけるデータ共有方法である。そして、前記複数のノードは、前記スイッチングハブを介して全２重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルとを備えた構成を前提とする。そして、複数のノードのうちの送信側のノードの前記通信インタフェースが、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信し、複数のノードのうちの受信側のノードが、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段を持ち、その受信側のノードの前記通信インタフェースが、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する処理を実行する。送信側のノードは、自ノードの送信タイミングでサイクリックにデータ送信を行なうことで受信側のノードとの間でデータ共有するようにした。
【００２５】
前記テーブルを構成するマルチキャストアドレスと送信データの関連付けが複数の組で構成され、かつ、その組単位で送信用のフレームを構成する場合は、自ノードの送信タイミングの１サイクル中に送信する複数のフレームに同一の識別番号を付加して送信し、
前記受信側のノードは、前記複数のフレームを受信した場合に、その複数のフレームの識別番号が異なる場合には、廃棄処理を実行する。また、受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、所得する処理を実行する。
【００２６】
本発明によれば、全２重型の通信をしているため、各ノードが任意のタイミングでフレームを送信することができる。全２重型としたことで、コリジョン（衝突）が発生しないため、様々なサービスをネットワーク上に混在させることができる。さらに、本発明では、各ノードがトークン等の送信権の獲得などの処理を行なう必要が無く、プロトコル実装が容易になる。
【００２７】
通信方式をマルチキャストとし、受信側のノードの通信インタフェースにて、登録されたマルチキャストアドレスのみを正常な受信フレームとして処理（データ転送・メモリ格納等）を行なうことができる。その結果、本発明では、ネットワーク上に流れる不要なマルチキャストデータをフィルタすることができ、受信ノードに不必要な負荷を与えない。
【００２８】
本方式で新たに考案した仮想メモリのメモリマップは、ノード単位で独立したアドレス体系を有することで、他のノードの使用条件に影響されずに使用することが可能であり、メモリ重複が発生しないので、メモリマップ設定の自由度が向上している。
【００２９】
同時性を必要とするデータを複数のフレームに分割して送信する場合、同一の通信サイクルタイムで送信する複数のフレームに同一の識別番号を付加して送信し、受信側のノードでは、前記複数のフレームを正規のフレームとして受信した場合に、その複数の正規のフレームの識別番号が異なる場合には、廃棄処理をするようにするとよい。これにより同時性が保証される。
【００３０】
また、前記受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、取得することもできる。
【発明の効果】
【００３１】
本発明では、ネットワークに接続された複数のノード間でデータを共有する場合に、受信側のノードは通信インタフェースにて自己が必要なフレームのみを正規のフレームと判断して所定の処理をし、不要なものは通信インタフェース側で廃棄処理をするため各ノードの負荷の軽減を図ることができる。そして、全二重方式で通信するため、各ノードが任意のタイミングでデータを送信し、同時期に複数のノードからの送信が許容されているため、ネットワーク全体では短時間で共有すべきデータの送受信処理を行なうことができる。
【発明を実施するための最良の形態】
【００３２】
図３は、本発明の一実施形態を示すネットワーク構成の一例を示している。図３に示すように、２つのＰＬＣ１０が中継器となるスイッチングハブ２０に対してネットワークケーブル２１を介して接続され、そのスイッチングハブ２０を介してデータの送受が行なえるようなネットワークシステムが構築されている。図では、便宜上ＰＬＣ１０を２個接続した例を示しているが、通常はもっと多くのＰＬＣを接続したり、ＰＬＣ以外のノードを接続することもある。
【００３３】
ＰＬＣ１０は、電源ユニット１１，ＣＰＵユニット１２，通信ユニット１３，入力ユニット１４，出力ユニット１５，特殊機能ユニット１６等の各種のユニットを連結して構成される。各ユニットはバックプレーンバスで接続され、そのバックプレーンバスを介してデータの送受をリアルタイムで行なうことで、制御対象を制御するシステムを構成する。もちろん、ＰＬＣ１０を構成するユニットは、図示するものに限ることはなく、必要に応じて適宜増減される。
【００３４】
電源ユニット１１は、ＰＬＣ１０を構成する各ユニット群に電源を供給するものである。ＣＰＵユニット１２は、制御プログラムを格納し、システムをプログラマブルに制御する機能を持つ。制御対象から入力ユニット１４などを介して取り込んだＩＮデータをもとに、制御プログラムを実行し、求めた演算結果（ＯＵＴデータ）を出力ユニット１５へ送る。一例を示すと、入力ユニット１４は、リミットスイッチやセンサ等の入力装置の状態（ＩＮデータ）を取得する。取得したＩＮデータは、所定のタイミング（ＩＮリフレッシュ時）でＣＰＵユニット１２に渡される。出力ユニット１５は、ＣＰＵユニット１２から受け取ったＯＵＴデータに基づき、接続された制御対象の状態に変化を起こさせるものである。例えば、スイッチを導通することで外部の電気機器を動作させたり（電気的な変化）、空気圧バルブの開閉をさせたり（機械的な変化）する。特殊機能ユニット１６は、ＣＰＵユニット１２と分担して制御プログラムを実行するものや、ＣＰＵユニット１２からの指令でモータなどを制御するモーションコントローラなどがある。
【００３５】
通信ユニット１３は、ネットワークケーブル２１を介して他の装置（ノード）と通信をするものである。本実施形態では、ネットワークとしてイーサネット（登録商標）を用いているため、この通信ユニット１３は、イーサネット（登録商標）に対応するユニットである。この通信ユニット１３により、物理的に離れたところにあるＰＬＣ同士で通信を行なうことで、遠隔地のＰＬＣ１０と、協調して制御を行なうことができる。
【００３６】
図４は、ＰＬＣ１０を構成するＣＰＵユニット１２と通信ユニット１３の内部構成を示している。ＣＰＵユニット１２は、ＰＬＣ１０全体の制御を司るユニットであって、ハードウェア構成としては、ＣＰＵユニット１２全体の動作を司るマイクロプロセッサであるＭＰＵ１２ａと、システムファームウェアを格納するメモリであるＲＯＭ１２ｂと、システムワークとして使用されるメモリであるＲＡＭ１２ｃと、ユーザプログラムを格納するメモリであるユーザメモリ（ＵＭ）１２ｄと、ユーザプログラム（命令）実行処理／通信ユニットインタフェース処理／メモリアクセスバス調停処理を行なう制御プログラム用ＡＳＩＣ１２ｅと、接点領域（入力ユニットから取り込んだＩＮデータや出力ユニットへ送る出力データ等を格納する領域）やデータ領域等のメモリエリアであるＩＯメモリ（ＩＯＭ）１２ｆと、バスインタフェース１２ｇ等を備え、それらが内部バス１２ｈに接続され、その内部バス１２ｈを介してユニット内で相互にデータ転送等が行なえるとともに、バスインタフェース１２ｇを介してバックプレーンバス１０ａに接続し、他のユニットとの間でデータ転送を行なうことができる。
【００３７】
通信ユニット１３は、通信ユニット全体の動作を司るマイクロプロセッサであるＭＰＵ１３ａと、システムファームウェアを格納するメモリであるＲＯＭ１３ｂと、システムワークとして使用されるメモリとなるＲＡＭ１３ｃと、バックプレーンバス１０ａに接続するバスインタフェース１３ｇを備えている。さらに、外部のネットワーク２１に接続し、他のノードと通信をするイーサネット（登録商標）対応の通信インタフェース１３ｄも備えている。そして、それらがやはり内部バス１３ｆに接続され、その内部バス１３ｆを介して相互にデータ転送等が行なえるようになっているとともに、バスインタフェース１３ｇを介してバックプレーンバス１０ａに接続し、他のユニットとの間でデータ転送を行なうことができる。さらに、ＲＯＭ１３ｂには、システムファームウェアの他、本発明との関係で言うと、仮想メモリのメモリマップなどが格納されている。
【００３８】
図５は、データの送信側に着目して示したネットワーク構成の概略図である。各ＰＬＣ１０等のノードは、仮想メモリアドレス空間に割り付けられたデータ（従来の自ノードエリアに格納していたデータ）をマルチキャストで送信する。図５に示す各ノードの仮想メモリは、図１に示す自ノードエリアに対応する。そして、本実施形態では、各仮想メモリアドレス空間に格納されたデータは、１つのフレーム或いは複数のフレームに分割して送信する。図５では、全てのノードにおいて３つのフレームに分割して送信する例を示しているが、分割数が各ノードにおいて異なることはかまわないし、分割しないものがあっても良い。
【００３９】
各仮想メモリアドレス空間には、送信するフレーム単位で個別のマルチキャストアドレスを割り付ける。本実施形態では、“ＭＡ”“ノードアドレス”“−“”識別番号”をマルチキャストアドレスとしている。一例を示すと、ノード（１）の１番目の仮想メモリアドレス１−１のマルチキャストアドレスは、「ＭＡ１−１」となり、ノード（１）の２番目の仮想メモリアドレス１−２のマルチキャストアドレスは、「ＭＡ１−２」となり、ノード（１）の３番目の仮想メモリアドレス１−３のマルチキャストアドレスは、「ＭＡ１−３」となる。そして、送信フレームのデータ構造は、「マルチキャストアドレス＋仮想メモリアドレス＋データ」とし、従来のようにトークンは付加しない。
【００４０】
各ノードは、自己の仮想メモリアドレス空間に割り付けられたデータをマルチキャストで送信する。すると、マルチキャストによる送信では、スイッチングハブ２０によりネットワーク２１に加入する全てのノードに、同じフレームが転送される。なお、各ノードは、各自任意のタイミングでデータを送信する。
【００４１】
図６は、受信側の機能に着目した本発明の要部となる通信ユニット１３の内部構造の一例を示している。イーサネット（登録商標）対応の通信インタフェース１３ｄに、マルチキャスト受信テーブル１３ｄ′を設ける。そのマルチキャスト受信テーブル１３ｄには、受信可能なフレーム（自己が使用する必要なデータを送信する）に付されているマルチキャストアドレスを記憶保持させる。図示の例では、ノード（２）の「ＭＡ１−１」と「ＭＡ１−２」である。
【００４２】
通信インタフェース１３ｄは、このマルチキャストで送信されてきたフレームを通信インタフェース１３ｄにて一旦取り込み、受信したフレームのマルチキャストアドレスがマルチキャスト受信テーブル１３ｄ′に登録されているか否かを判断し、登録されている場合には、受信したフレームをＭＰＵ１３ａやＲＡＭ１３ｃへと転送し、登録されていないフレームは通信インタフェース１３ｄで廃棄する。
【００４３】
従って、例えば図５に示すように、ノード（１）が記憶保持する送信すべきデータが仮想メモリアドレス１−１，仮想メモリアドレス１−２，仮想メモリアドレス１−３の３つ存在する場合、マルチキャストアドレスが「ＭＡ１−１」，「ＭＡ１−２」，「ＭＡ１−３」の３つの送信フレームが、ノード（１）からネットワークケーブル２１に向けて順次送信される。すると、それら各送信フレームを受信したスイッチングハブ２０は、マルチキャストによる送信フレームであるため、その送信フレームをネットワークに加入する全てのノードに送信する。従って、図７に示すように、ノード（２）には、一旦ノード（１）から送信されたマルチキャストによる送信フレームが全て取り込まれるものの、図６に示すごとくノード（２）の通信ユニット１３のマルチキャスト受信テーブル１３ｄ′には、「ＭＡ１−１」と「ＭＡ１−２」が登録され、「ＭＡ１−３」は登録されていないため、通信インタフェース１３ｄは、受信した係る２つのフレームをＭＰＵ１３ａやＲＡＭ１３ｃへと転送し、登録されていない「ＭＡ１−３」のフレームを廃棄する。
【００４４】
よって、受信ノードにとって不必要なデータ（図示の例では、「ＭＡ１−３」のフレーム）は、通信インタフェース１３ｄにて廃棄されるので、内部のＭＰＵ１３ａひいてはＣＰＵユニット１２に余計な負荷がかからない。もちろん、他のノード（３），（４）からスイッチングハブ２０を経由して送られてきたマルチキャストによる送信フレームも、ノード（２）のマルチキャスト受信テーブル１３ｄ′に登録されていないため、通信インタフェース１３ｄにて全て破棄される。
【００４５】
次に、上述したように通信インタフェース１３ｄにて自己のノードに必要なフレームのみ受信するとともにＭＰＵ１３ａやＲＡＭ１３ｃへと転送し、不要なフレームを廃棄するために必要となるマルチキャスト受信テーブル１３ｄ′へのマルチキャストアドレスの登録ならびに受信したデータを所定のメモリエリアへ転送するために必要な情報の登録等について説明する。
【００４６】
通信ユニット１３のＲＯＭ１３ｂには、次の３つの項目（１）〜（３）を関連付けたメモリマップテーブル１３ｂ′が設定される。
【００４７】
（１）受信すべきフレームに含まれる仮想メモリのアドレス（仮想メモリアドレス）
（２）そのフレームに含まれる受信したそのデータを受信ノード側で記憶する受信ノード内メモリのアドレス（受信実メモリアドレス）
（３）そのデータのデータ容量（受信サイズ）
さらに、このメモリマップテーブル１３ｂ′には、上記の受信すべきフレームのマルチキャストアドレスそれ自体或いはマルチキャストアドレスを取得するための情報が関連づけて格納される。
【００４８】
ＭＰＵ１３aは、このメモリマップテーブル１３ｂ′に格納された情報に従い、ネットワークに流れるデータから必要なデータの取得するためのマルチキャストアドレスをマルチキャスト受信テーブル１３ｄ′に登録する。
【００４９】
図８は、マルチキャストアドレスそれ自体のデータを関連づけたメモリマップテーブル１３ｂ′のデータ構造の一例を示している。図に示すように、このメモリマップテーブル１３ｂ′は、受信したデータを記録する自ノード内の受信実メモリアドレスと、受信するフレームのマルチキャストアドレスと、送信元の仮想メモリアドレスと、受信サイズとを関連づけたテーブルとなっている。このように受信に必要な送信側の仮想メモリアドレス及びマルチキャストアドレスを、すべて受信側のメモリマップテーブル１３ｂ′に記憶しておくと、すでに受信ノード側でマルチキャストアドレスがわかっているので、そのメモリマップテーブル１３ｂ′に格納されたマルチキャストアドレスを、マルチキャスト受信テーブル１３ｄ′に登録することができる。この登録処理は、受信ノードから送信ノードへの問い合わせをすることなく行なえるメリットがある。ただし、仮想メモリアドレスとマルチキャストアドレスの関連付けを、あらかじめ送信ノードと受信ノード側の両方で厳密に取り決めておく必要ある。
【００５０】
図９は、メモリマップテーブル１３ｂ′のデータ構造の別の例を示している。このメモリマップテーブル１３ｂ′は、受信したデータを記録する自ノード内の受信実メモリアドレスと、受信するフレームを送信する送信ノードを特定するための送信ノードのノードアドレス（例えば、ＩＰ（インターネットプロトコル）アドレス）と、送信元の仮想メモリアドレスと、受信サイズとを関連づけたテーブルとなっている。すなわち、図８に示したものと比較すると、マルチキャストアドレスを具体的に登録していたのに替えて、本例では送信ノードのノードアドレスを登録するようにしている。
【００５１】
このデータ構造のメモリマップテーブル１３ｂ′の場合、実際のマルチキャストの送信フレームの送受信に先立ち、受信ノードは、自己が必要とする（受信すべき）送信フレームのマルチキャストアドレスを取得する必要がある。そのため、メモリマップテーブル１３ｂ′に格納された送信ノードアドレスと、送信側における仮想アドレスに基づき、受信ノードから送信ノードへマルチキャストアドレスの問い合わせをし、取得することになる。このようにすると、仮想メモリアドレスとマルチキャストアドレスの関連付けを送信側ノードだけで取り決めておけばよい。
【００５２】
マルチキャストアドレスの具体的な取得の手順は、以下の通りである。すなわち、送信側のメモリマップテーブル１３ｂ′と、受信側のメモリマップテーブル１３ｂ′が図１０，図１１に示すようになっているとする。すると、図１２に示すように、受信側のノード（２）から送信側のノード（１）に対し、自己が受信すべきデータのマルチキャストアドレスの問い合わせを送信側の仮想メモリアドレスととともに行なう。この問い合わせを受けた送信側のノード（１）は、受信した仮想メモリアドレスを基に自己のメモリマップテーブル（図１０）をサーチし、該当するマルチキャストアドレスを抽出し、その抽出したマルチキャストアドレスをレスポンスとして受信側のノード（２）に返す。受信側のノード（２）は、受信したマルチキャストアドレスをマルチキャスト受信テーブル１３ｄ′に登録する。
【００５３】
このような受信側のノードから送信側のノードに対してマルチキャストアドレスの問い合わせを行ない、送信側からのレスポンスにより取得したマルチキャストアドレスをマルチキャスト受信テーブル１３ｄ′に登録する処理を、各ノードが繰り返し実行することで、自己が必要とする送信フレームのマルチキャストアドレスを取得することができる。
【００５４】
係る初期処理を終了したならば、通常のデータ通信に移行する。つまり、送信側のノード（１）は、自己が送信すべきデータを、マルチキャストアドレスとともに順次送信し、受信側のノードは、マルチキャストアドレス受信テーブル１３ｄ′に格納されたフレームのみ受信し、それ以外のフレームは通信インタフェース１３ｄにて破棄することになる。
【００５５】
図１３は、本実施形態の通信フレームの送信状況の一例を示している。図１３に示すように、各ノードは、自己の通信サイクルタイムごとに、自己の仮想メモリに格納された送信フレームを、順次送信する。この通信サイクルタイムは、ネットワーク中のデータ量とノード数の総和には依存せず、各送信ノードの送信データ数に依存する形で、各送信ノードが固有の時間が設定される。なお、実際には、送信ノードの送信能力限界や、受信ノードの受信能力限界や、スイッチングハブ２０の転送能力の限界等を考慮し、ネットワーク全体で、各ノードの通信サイクルタイムの適正値を決定する。
【００５６】
図１４は、本発明の第２実施形態の要部を示している。すなわち、上記のマルチキャストアドレスにより送信されるデータが、設備の制御に使用されることが多々あり、データの同時性が要求されることがある。例えば、長大なサイズの仮想メモリの場合、複数の送信フレームに分割して送信する必要がある。同時性とは、１回の通信サイクルで複数に分割されたフレーム（例えば、ノード（１）から送信されたフレーム１−１〜１−３）が、仮想メモリ内のデータのスナップショット（フレーム１−１〜フレーム１−３のデータが、同じ時間に仮想メモリから取り出した状態）により構成されていることを保証することを言う。これが、異なる時間のデータが混在すると、フレーム１−１〜フレーム１−３のデータに同時性がなくなり、厳密なインターロックなどの制御ができなくなる危険性が生じる。
【００５７】
例えば、インターロック条件として、ノード（１）の仮想メモリ上の複数のデータを使用する場合を考える。しかも、その複数のデータが異なるフレームのデータとして送信される場合には、通信サイクルごとに異なるスナップショットのフレームが送信されることになる。このとき、受信側のノード（２）において、受信したフレームが同一のスナップショットのフレームかどうか区別できない場合には、異なるスナップショットのデータをインターロック条件として使用する場合が生じ、インターロック条件成立の正当性が失われることになる。
【００５８】
係る同時性を保証するため、本実施形態では、図１４に示すように送信フレームに通番データを付加するようにした。この通番データは、通信サイクルが更新するたびに１ずつ加算更新するカウンタ情報で、同じ通信サイクルに属する送信データ（例えばフレーム１−１〜１−３）では、同じ値をとる。つまり、たとえば１回目の通信サイクルタイムで送信するフレーム１−１〜１−３の付加する通番は「１」となり、２回目の通信サイクルタイムで送信するフレーム１−１〜１−３の付加する通番は「２」となる。
【００５９】
受信側のノードは、受信した各フレームに格納された通番を確認し、同じ値か否かを判断する。すなわち、仮にフレーム１−１とフレーム１−２を受信した場合、両フレームの通番が同じ値の場合には、同一の通信サイクルタイムのときに発信されたフレームと判断できる。逆にフレーム１−１とフレーム１−２に格納された通番が異なる場合には、各フレームは、それぞれ異なる通信サイクルタイムのときに発信されたフレームと判断できる。よって、同一の通番を持つフレームに格納されたデータについては、同時性が保証されるが、通番が異なる複数のフレームに格納されたデータについては同時性が保証できないといえる。この通番データが同値だった場合だけ正式な受信データとして取り込み、異なっていれば受信データを廃棄する。このようにして同時性を確保することができる。なお、通番データが異なるケースとしては、ノイズによるフレーム廃棄や、通信経路制御などによりフレーム順序関係の入れ違いなどがあげられる。
【００６０】
上述したデータの同時性の確保をするための具体的な機能としては、マルチキャストアドレス受信テーブル１３ｄ′に格納されたマルチキャストアドレスに従って受信したフレームをすぐに受信実メモリに転送するのではなく、たとえば図１５に示すデータフローダイアグラムに示すように、受信ノードで以下のような通番制御を実行する。
【００６１】
図において、「受信フレーム」は、通信インタフェース１３ｄからＭＰＵ１３ａ，ＲＡＭ１３ｃに転送された受信データで、マルチキャストフィルタをパスした（通信インタフェース１３ｄにて、マルチキャスト受信テーブル１３ｄ′に登録されているフレームと判断された）ものである。本実施形態では、ＲＡＭ１３ｃあるいはＭＰＵ１３ａ内に受信フレームを一時的に格納する一次格納バッファを設定する。図６に示したノード（２）の場合、マルチキャスト受信テーブル１３ｄ′には、「ＭＡ１−１」と「ＭＡ１−２」というノード（１）からマルチキャストで送られてくる２つのフレームを受信するようになっているため、バッファも、マルチキャストアドレスが、ＭＡ１−１のフレーム１−１を格納する「フレーム１−１用バッファ」とマルチキャストアドレスが、ＭＡ１−２のフレーム１−２を格納する「フレーム１−２用バッファ」の２つを用意した。
【００６２】
ＭＰＵ１３ａに実装された同時性判定処理部１３ａ′は、受信フレーム（マルチキャストフィルタをパスしたフレーム）を受信すると、一次格納バッファに格納されている先に受信した受信フレームの通番データと比較し、同時性が確保されているか否かを判断する。同時性が確保されていることを条件に、フレーム中のデータ部のデータをメモリマップテーブル１３ｂ′にて設定されたＲＡＭ１３ｃ内の受信実メモリ１３′のメモリ領域に格納する。これにより、受信実メモリ１３ｃ′に格納されるデータは、正式な受信フレームであり、かつ、同時性が確保されたもののみとなる。
【００６３】
図１６，図１７は、同時性判定処理部１３ａ′の具体的な処理機能を示している。なお、この図１６，図１７に示したフローチャートは、上述したノード（２）における同時性判定処理部１３ａ′についてのもので、同時性が要求される受信フレームは、マルチキャストアドレスがＭＡ１−１のフレーム１−１と、マルチキャストアドレスがＭＡ１−２のフレーム１−２の２つとしている。
【００６４】
同時性判定処理部１３ａ′は、通信インタフェース１３ｄがマルチキャストのフレームを受信し、マルチキャスト受信テーブル１３ｄ′に基づいて自ノード宛てのフレームと判断された受信フレームを取得する（Ｓ１１）。
【００６５】
同時性判定処理部１３ａ′は、受信したフレームが、フレーム１−１か否かを判断し（Ｓ１２）、フレーム１−１の場合には、フレーム１−２一次格納バッファに受信データが格納されているか否かを判断する（Ｓ１３）。フレーム１−２一次格納バッファに受信データが格納されていない場合（Ｓ１３の分岐判断でＮｏ）には、同時性判定処理部１３ａ′は、フレーム１−１一次格納バッファに受信データが格納されて否か否かを判断し（Ｓ１４）、受信されている場合には、その受信されている古いデータを破棄した後（Ｓ１５）に今回受信した受信データを、フレーム１−１一次格納バッファに格納する（Ｓ１６）。また、フレーム１−１一次格納バッファに受信データが格納されていない場合（Ｓ１４の分岐判断でＮｏ）には、同時性判定処理部１３ａ′は、今回受信した受信データをそのままフレーム１−１一次格納バッファに格納する（Ｓ１６）。
【００６６】
一方、フレーム１−２一次格納バッファに受信データがすでに格納されている場合（Ｓ１３でＹｅｓ）には、同時性判定処理部１３ａ′は、そのフレーム１−２一次格納バッファに格納されている受信フレーム（フレーム１−２）の通番データと、今回受信したフレーム１−１の通番データが同じか否かを判断し（Ｓ１７）、同じ場合には、受信したフレーム１−１とフレーム１−２一次格納バッファに格納されたフレーム１−２とが同一の通信サイクルタイムで送信されてきたものと判断できるので、それら２つの受信フレームを実受信メモリにコピーする（Ｓ１８）。その後、同時性判定処理部１３ａ′は、受信したフレーム１−１と、フレーム１−２一次格納バッファに一次記憶されたデータを廃棄する（Ｓ１９）。
【００６７】
また、受信したフレーム１−１の通番データと、フレーム１−２一次格納バッファに格納された通番データとが異なる場合（Ｓ１７の分岐判断でＮｏ）には、処理ステップＳ１４に飛び、上述した処理を実行する。
【００６８】
一方、受信したデータがフレーム１−１でない場合には、分岐判断処理ステップＳ１２でＮｏとなるため、処理ステップＳ２２に飛び、受信したデータがフレーム１−２か否かを判断し（Ｓ２２）、フレーム１−２の場合には、フレーム１−１一次格納バッファに受信データが格納されているか否かを判断する（Ｓ２３）。フレーム１−１一次格納バッファに受信データが格納されていない場合（Ｓ２３の分岐判断でＮｏ）には、同時性判定処理部１３ａ′は、フレーム１−２一次格納バッファに受信データが格納されて否か否かを判断し（Ｓ２４）、受信されている場合には、その受信されている古いデータを破棄した後（Ｓ２５）に今回受信した受信データを、フレーム１−２一次格納バッファに格納する（Ｓ２６）。また、フレーム１−２一次格納バッファに受信データが格納されていない場合（Ｓ２４の分岐判断でＮｏ）には、同時性判定処理部１３ａ′は、今回受信した受信データをそのままフレーム１−２一次格納バッファに格納する（Ｓ２６）。
【００６９】
一方、フレーム１−１一次格納バッファに受信データがすでに格納されている場合（Ｓ２３でＹｅｓ）には、同時性判定処理部１３ａ′は、そのフレーム１−１一次格納バッファに格納されている受信フレーム（フレーム１−１）の通番データと、今回受信したフレーム１−２の通番データが同じか否かを判断し（Ｓ２７）、同じ場合には、受信したフレーム１−２とフレーム１−１一次格納バッファに格納されたフレーム１−１とが同一の通信サイクルタイムで送信されてきたものと判断できるので、それら２つの受信フレームを実受信メモリにコピーする（Ｓ２８）。その後、同時性判定処理部１３ａ′は、受信したフレーム１−２と、フレーム１−１一次格納バッファに一次記憶されたデータを廃棄する（Ｓ２９）。
【００７０】
また、受信したフレーム１−２の通番データと、フレーム１−１一次格納バッファに格納された通番データとが異なる場合（Ｓ２７の分岐判断でＮｏ）には、処理ステップＳ２４に飛び、上述した処理を実行する。
【００７１】
なお、受信したデータがフレーム１−１でも、フレーム１−２でもない場合には、分岐判断処理ステップＳ２２でＮｏとなるため、処理ステップＳ１１に戻り、同時性判定処理部１３ａ′は、次の受信を待つ。そして、フレーム１−１，フレーム１−２以外のデータを受信した場合は、その他のデータ処理やプロトコル処理が実行されるのはもちろんである。
【００７２】
通常、図１３に示すように、送信側のノード（１）は、「フレーム１−１」→「フレーム１−２」の順で送信するため、受信側のノード（２）において「フレーム１−１」が常に最初に受信すると考え、「フレーム１−１一次格納バッファ」のみを設けておけば良いという考えもある。しかし、インターネットプロトコル（ＩＰ）では、マルチキャストで使用するデータグラム型の通信データは、前後関係が保証できないことがあるため、同質の通信サイクルタイムで送信されたフレームの受信順序は、必ずしも送信の順序とはならず、フレーム１−２を先に受信することもありえる。係る場合を想定し、本実施形態では、フレーム１−２一次格納バッファも設けた。
【００７３】
図１５から図１７に示した本実施形態は、受信フレームが２つという簡単な例に基づいて示したが、同時性が要求される受信フレームが３つ以上となる場合ももちろんあり、係る場合には、その受信フレーム数に応じて一次格納バッファの数を増やしたり、図１６，図１７に示す判断処理フローを適宜修正して対応することになる。
【図面の簡単な説明】
【００７４】
【図１】従来のデータリンクを説明する図である。
【図２】トークパッシング方式を説明する図である。
【図３】本発明の一実施形態を示すネットワーク構成の一例を示す図である。
【図４】ＰＬＣ１０を構成するＣＰＵユニット１２と通信ユニット１３の内部構成を示す図である。
【図５】ネットワーク構成を示す概略図である。
【図６】受信側の機能に着目した本発明の要部となる通信ユニット１３の内部構造の一例を示す図である。
【図７】本実施形態の作用を説明する図である。
【図８】マルチキャストアドレスそれ自体のデータを関連づけたメモリマップテーブルを示す図である。
【図９】メモリマップテーブルの別のデータ構造の一例を示す図である。
【図１０】送信側のメモリマップテーブルの具体的な一例を示す図である。
【図１１】受信側のメモリマップテーブルの具体的な一例を示す図である。
【図１２】図１０，図１１のメモリマップテーブルに基づくマルチキャストアドレスの具体的な取得の手順を示す図である。
【図１３】本実施形態の通信フレームの送信状況の一例を示す図である。
【図１４】本発明の第２実施形態の要部を示している図である。
【図１５】本実施形態のデータフローダイアグラムを示す図である。
【図１６】同時性判定処理部の機能を示すフローチャートの一部である。
【図１７】同時性判定処理部の機能を示すフローチャートの一部である。
【符号の説明】
【００７５】
１０  ＰＬＣ（ノード）
１２  ＣＰＵユニット
１３  通信ユニット
１３ａ  ＭＰＵ
１３ａ′  同時性判定処理府
１３ｂ  ＲＯＭ
１３ｂ′  メモリマップテーブル
１３ｃ  ＲＡＭ
１３ｃ′  受信用実メモリ
１３ｄ  通信インタフェース
１３ｄ′  マルチキャスト受信テーブル
２０  スイッチングハブ
２１  ネットワークケーブル
【図１】
2006217580.tif 000003
【図２】
2006217580.tif 000004
【図３】
2006217580.tif 000005
【図４】
2006217580.tif 000006
【図５】
2006217580.tif 000007
【図６】
2006217580.tif 000008
【図７】
2006217580.tif 000009
【図８】
2006217580.tif 000010
【図９】
2006217580.tif 000011
【図１０】
2006217580.tif 000012
【図１１】
2006217580.tif 000013
【図１２】
2006217580.tif 000014
【図１３】
2006217580.tif 000015
【図１４】
2006217580.tif 000016
【図１５】
2006217580.tif 000017
【図１６】
2006217580.tif 000018
【図１７】
2006217580.tif 000019