JP2006217580A - Network system, programmable controller and data sharing method - Google Patents

Network system, programmable controller and data sharing method Download PDF

Info

Publication number
JP2006217580A
JP2006217580A JP2006000265A JP2006000265A JP2006217580A JP 2006217580 A JP2006217580 A JP 2006217580A JP 2006000265 A JP2006000265 A JP 2006000265A JP 2006000265 A JP2006000265 A JP 2006000265A JP 2006217580 A JP2006217580 A JP 2006217580A
Authority
JP
Japan
Prior art keywords
data
node
nodes
multicast
multicast address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006000265A
Other languages
Japanese (ja)
Other versions
JP4259526B2 (en
Inventor
Hiroaki Yamada
弘章 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2006000265A priority Critical patent/JP4259526B2/en
Publication of JP2006217580A publication Critical patent/JP2006217580A/en
Application granted granted Critical
Publication of JP4259526B2 publication Critical patent/JP4259526B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a network system capable of reducing the load of each node when data is shared among a plurality of nodes connected to a network. <P>SOLUTION: In the network system, a plurality of nodes 10 are connected to the network 21 (though illustration is omitted, connection is performed via a switching hub). A frames to be transmitted via the network is initially taken into a communication interface 13d, it is determined whether or not its multicast address (BA) is registered in a multicast reception table 13d', if it is registered, the received frame is transferred to an MPU 13a and a RAM 13c and when it is not registered, the communication interface 13d serves to discard it. Thus, the loads of the MPU 13a and a CPU unit are reduced. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

この発明は、ネットワークシステムおよびプログラマブルコントローラならびにデータ共有方法に関するものである。   The present invention relates to a network system, a programmable controller, and a data sharing method.

生産工場(製造現場)に設置されるファクトリーオートメーション(FA)の制御装置として、プログラマブルコントローラ(PLC)が用いられている。このPLCは、複数のユニットから構成される。すなわち、PLCは、電源供給源の電源ユニット,PLC全体の制御を統率するCPUユニット,FAの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット,アクチュエータなどに制御出力を出す出力ユニット,通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。   A programmable controller (PLC) is used as a control device for factory automation (FA) installed in a production factory (manufacturing site). This PLC is composed of a plurality of units. In other words, the PLC controls and outputs to the power supply unit of the power supply source, the CPU unit that controls the entire PLC, the input unit that inputs the signals of the switches and sensors attached to the FA production equipment and equipment, and the actuator. Various units such as an output unit for outputting the signal and a communication unit for connecting to a communication network.

PLC(CPUユニット)における制御は、入力ユニットで入力した信号をCPUユニットのI/Oメモリに取り込み(INリフレッシュ)、予め登録されたラダー言語で組まれたユーザプログラムに基づき論理演算をし(演算実行)、その演算実行結果をI/Oメモリに書き込んで出力ユニットに送り出し(OUTリフレッシュ)、その後、いわゆる周辺処理を行なうということをサイクリックに繰り返し処理するようになる。   The control in the PLC (CPU unit) takes a signal input from the input unit into the I / O memory of the CPU unit (IN refresh) and performs a logical operation based on a user program written in a pre-registered ladder language (calculation) Execution), the operation execution result is written in the I / O memory, sent to the output unit (OUT refresh), and thereafter, so-called peripheral processing is cyclically repeated.

ところで、このPLCを含むシステムでは、PLCその他のコントローラ等の通信ノードを複数個用意するとともにそれらをネットワークで接続し、各ノード間でデータを共有することにより、同期制御や協調制御などを行なうことがある。この場合に、PLC等のノード間でデータを共有する方法として、データリンク方式がある。   By the way, in a system including this PLC, a plurality of communication nodes such as PLCs and other controllers are prepared, connected to each other via a network, and data is shared between the nodes, thereby performing synchronization control and cooperative control. There is. In this case, there is a data link method as a method of sharing data between nodes such as PLC.

このデータリンク方式は、特許文献1,2などに開示されたように、各ノードには、メモリの所定領域に仮想メモリとしてデータリンクエリアを設定する。このデータリンクエリアは、自己が持つ共有すべきデータを格納する自ノードエリアと、他のノードから送られて来たデータを格納する他ノードエリアが用意される。これらデータリンクエリアは、連続したメモリ領域に設定される。そして、各ノードが、自ノードエリアに格納された自分の持つデータを、ネットワークを介して送信する。この送信されたデータは、ネットワークに接続された他の全てのノードが取得し、それぞれ対応する他ノードエリア(取得したデータを送信したノード用の他ノードエリア)に格納する。これにより、全てのノードがそれぞれ自ノードエリアに格納されたデータを送信・出力することにより、データリンクに参加している全てのノードは、他のノードとデータの共有ができる。   In this data link method, as disclosed in Patent Documents 1 and 2, etc., a data link area is set as a virtual memory in a predetermined area of the memory in each node. In this data link area, a local node area for storing data to be shared and a remote node area for storing data sent from other nodes are prepared. These data link areas are set in a continuous memory area. Then, each node transmits its own data stored in its own node area via the network. The transmitted data is acquired by all other nodes connected to the network, and stored in the corresponding other node area (the other node area for the node that transmitted the acquired data). As a result, all nodes participating in the data link can share data with other nodes by transmitting and outputting data stored in their own node areas.

具体例をあげて説明すると、図1に示すように、共有すべき各領域に対してそれぞれ複数のノード(PLC等)1がネットワーク2を介して接続されているネットワークシステムにおいて、各ノード1に対してデータリンクエリア(仮想メモリ)を設定する。   As shown in FIG. 1, in a network system in which a plurality of nodes (PLC etc.) 1 are connected to each area to be shared via a network 2 as shown in FIG. For this, a data link area (virtual memory) is set.

ここで、図中、黒塗りのエリアが自己が保有するデータを格納する自ノードエリアであり、白抜きのエリアが他ノードが持つデータを格納する他ノードエリアである。ノード(1)を基準にデータの読み書きを説明する。ノード(1)は、自身に割付けられた仮想メモリ(1)にデータを書き込む。すると、ノード(1)は、一斉同報でネットワーク2を介してノード(2)〜ノード(4)の仮想メモリ(1)、へ自動的に送信する。逆に、ノード(1)は、ノード(2)〜ノード(4)から送られてきたデータを、それぞれ対応する仮想メモリ(2)、(3)、(4)に受信する。ノード(1)は、仮想メモリ(1)〜(4)に格納されたデータを読み出し、これを利用する。これにより、ノード(1)は、自己の仮想メモリ(2)〜(4)に、ネットワーク2上に存在する他のノード(2)〜(4)が持つデータを有する。よって、ノード(1)のアプリケーションは、仮想メモリにアクセスすることで、他のノード(2)〜(4)が持つデータを取得し、利用することができる。つまり、他のノード1に対する通信手順を意識することなく、あたかも仮想メモリに読み書きするかのうようにして、ノード間通信を実現できる。他のノード(2)〜(4)についても同様のことが言える。よって、各ノード1が持つデータを、ノード(1)〜(4)で共有をすることができる。   Here, in the figure, a black area is a self-node area that stores data held by itself, and a white area is another node area that stores data held by another node. Data reading / writing will be described with reference to the node (1). The node (1) writes data to the virtual memory (1) allocated to itself. Then, the node (1) automatically transmits to the virtual memory (1) of the node (2) to the node (4) via the network 2 by simultaneous broadcast. Conversely, the node (1) receives the data transmitted from the nodes (2) to (4) in the corresponding virtual memories (2), (3), and (4), respectively. The node (1) reads out the data stored in the virtual memories (1) to (4) and uses it. Thereby, the node (1) has the data held by the other nodes (2) to (4) existing on the network 2 in its own virtual memories (2) to (4). Therefore, the application of the node (1) can acquire and use data held by the other nodes (2) to (4) by accessing the virtual memory. That is, inter-node communication can be realized as if reading and writing to the virtual memory without being conscious of the communication procedure with respect to the other nodes 1. The same can be said for the other nodes (2) to (4). Therefore, the data possessed by each node 1 can be shared by the nodes (1) to (4).

これにより、全てのノードがそれぞれ自ノードエリアに格納されたデータを出力することにより、データリンクに参加している全てのノードは、他のノードとデータの共有ができる。このデータリンク機能は、ラダープログラムを作成することなく、複数のノード(PLC)間でデータ交換が行なえるため、PLCネットワークにおいて、各ノード間でデータを共有する方法として広く使用されている。   As a result, all nodes output data stored in their own node areas, so that all nodes participating in the data link can share data with other nodes. This data link function is widely used as a method of sharing data between nodes in a PLC network because data can be exchanged between a plurality of nodes (PLC) without creating a ladder program.

上述した通り、各ノードは、自ノードエリアに格納されたデータをネットワーク2に同報通信する必要がある。ネットワーク2が半二重方式の場合には、同時に複数のノードから仮想メモリに格納されたデータを付加したフレームを送信すると、ネットワーク2上で衝突を生じてしまい、送信エラーとなる。そこで、通常トークンパッシング方式を用い、トークン(送信権)を獲得したノードがフレームを送信するようになる。このトークンパッシング方式のイメージは、図2のようになる。   As described above, each node needs to broadcast data stored in its own node area to the network 2. When the network 2 is a half-duplex system, if a frame to which data stored in the virtual memory is added simultaneously from a plurality of nodes, a collision occurs on the network 2 and a transmission error occurs. Therefore, using a normal token passing system, a node that has acquired a token (transmission right) transmits a frame. The image of this token passing system is as shown in FIG.

すなわち、各ノードがトークン(送信権)を保持しているときにデータを送信し、次ノードにトークンを渡す。各ノードから送信されるフレームは、図2(b)に示すように、送信先アドレスとして、BA(ブロードキャストアドレス)を指定し、続いて仮想メモリアドレス,実際に送信するデータ,トークンからなる。   That is, data is transmitted when each node holds a token (transmission right), and the token is passed to the next node. As shown in FIG. 2B, the frame transmitted from each node includes a BA (broadcast address) as a transmission destination address, followed by a virtual memory address, data to be actually transmitted, and a token.

各ノードから送信されたデータは、仮想メモリアドレス(コモンメモリと呼ばれることもある)空間に割り付けられる。受信ノードでは、仮想メモリのアドレスと、ノード内メモリのアドレスとを関連付けたメモリマップテーブルを設定しておき、このテーブルにしたがい、ネットワークに流れるデータから必要なデータを受信し、ノード内メモリに取り込む。   Data transmitted from each node is allocated to a virtual memory address (sometimes called common memory) space. In the receiving node, a memory map table that associates the address of the virtual memory and the address of the memory in the node is set, and according to this table, the necessary data is received from the data flowing in the network and is taken into the memory in the node. .

特許第3329399号Patent No. 3329399 特開平06−014033号公報Japanese Patent Laid-Open No. 06-014033

しかしながら、上述したデータリンク方式によりデータの共有を図ろうとした場合、以下に示す問題を有する。トークンパッシング方式は、通信路を半2重で通信しているため、通信性能は、トークン周回に依存する。従って、通信性能は、各ノードが保持データを送信する時間の総和やノード数の総和に依存していた。つまり、図2(a)に示すように、ノード(1)がブロードキャストで自己の仮想メモリの領域(1)に格納されたデータを格納したフレーム1を送信し、ついで、ノード(2)がトークンを取得して自ノードエリアの領域(2)に格納されたデータを格納したフレーム2をブロードキャストで送信し、ついで、ノード(3)がトークンを取得して自ノードエリアの領域(3)に格納されたデータを格納したフレーム3をブロードキャストで送信し、ついで、ノード(4)がトークンを取得して自ノードエリアの領域(4)に格納されたデータを格納したフレーム4をブロードキャストで送信することで、1巡する。よって1回の通信サイクルタイムは、4つのノードがフレームを送信する時間の総和となり、ノード数が増えたり、送信すべき自ノードエリアのデータ容量が増えたりすると、通信サイクルタイムが伸びてしまう。   However, when trying to share data by the above-described data link method, there are the following problems. In the token passing method, communication is performed in half duplex on the communication path, so the communication performance depends on the token circulation. Therefore, the communication performance depends on the total time for each node to transmit retained data and the total number of nodes. That is, as shown in FIG. 2A, the node (1) broadcasts and transmits the frame 1 storing the data stored in the area (1) of its own virtual memory, and then the node (2) receives the token. And frame 2 storing the data stored in the area (2) of the own node area is transmitted by broadcast, and then the node (3) acquires the token and stores it in the area (3) of the own node area. The frame 3 storing the stored data is transmitted by broadcast, and then the node (4) acquires the token and transmits the frame 4 storing the data stored in the area (4) of the own node area by broadcast. Then take one round. Therefore, the communication cycle time of one time is the sum of the time when the four nodes transmit frames, and the communication cycle time increases when the number of nodes increases or the data capacity of the own node area to be transmitted increases.

また、多くのアプリケーションでは、ネットワーク上に流れる全てのデータを必要としない場合が多く、通信サイクルタイムのうち、多くの時間は、受信ノードにとっては意味のない待ち時間となっている。   Many applications often do not require all the data flowing on the network, and many of the communication cycle times are waiting times that are meaningless for the receiving node.

すなわち、ノード(1)に着目した場合、自ノードエリア(1)に格納された送信するデータは、必ずしも他の全てのノード(2)〜(4)が必要としているものとは限らない。つまり、自ノードエリアに格納するデータは、データリンクを行なう他のノードのうち、少なくとも1つのノード1が必要とするデータである。ブロードキャストにより送信されたデータを受信した他のノードは、それぞれ対応する他ノードエリアの領域に受信した全てのデータを格納するが、通常、他のノード1が使用するのは受信したデータの一部となる。   That is, when attention is paid to the node (1), the data to be transmitted stored in the own node area (1) is not necessarily required by all the other nodes (2) to (4). That is, the data stored in the own node area is data that is required by at least one node 1 among other nodes that perform data links. The other nodes that have received the data transmitted by broadcasting store all the received data in the areas of the corresponding other node areas, but the other nodes 1 normally use a part of the received data. It becomes.

一例を示すと、仮に4つのノード1がデータリンクをしている場合に、ノード(1)から送られるデータの中には、ノード(2)のみが使用するデータと、ノード(3)のみが使用するデータ(ノード(3)用データ)と、全てのノード(2)〜(4)がともに使用するデータが含まれているとする。この場得、ノード(1)は、仮想メモリ中の自ノードエリアの領域(1)に格納されたデータを送信するが、そのデータを受信したノード(2)では、当然のことながらノード(3)用データは使用しない。ノード(1)が他のノードから受信したデータの中にもノード(1)では必要としないものが多々ある。   As an example, if four nodes 1 have data links, the data sent from node (1) includes only data used by node (2) and only node (3). It is assumed that data to be used (data for node (3)) and data to be used by all the nodes (2) to (4) are included. In this case, the node (1) transmits the data stored in the area (1) of its own node area in the virtual memory, but the node (2) receiving the data naturally receives the node (3 ) Data is not used. There are many data received by the node (1) from other nodes that are not required by the node (1).

このように、受信しても使用しないデータであってもメモリに格納するのは、無駄なメモリ使用となり、必要以上にデータ格納領域が必要となるばかりでなく、使用しないデータの送受信(通信量増大)や、メモリの読み書きを行なう作業が必要となり、煩雑である。   As described above, even if data that is received but not used is stored in the memory, it is a wasteful use of the memory, and not only is the data storage area required more than necessary, but also transmission / reception of unused data (communication amount) Increase) and memory read / write operations are required, which is complicated.

また、メモリ容量の削減を図るためには、各ノードは受信したデータリンクをしているデータの全てをメモリに格納するのではなく、必要なもののみを抽出してメモリに格納し、残りを廃棄することもできる。しかし、ブロードキャストで送信されたすべてのフレームは、その内容に関らず、受信ノード内部のMPUやRAMへと転送されるので、その受信ノードにとって不必要なデータは、MPUで必要なデータか否かを判断し、不必要なデータについて廃棄処理を実行することになる。よって、MPUに余計な負荷が発生してしまう。   In addition, in order to reduce the memory capacity, each node does not store all received data link data in the memory, but extracts only the necessary data and stores it in the memory. It can also be discarded. However, since all frames transmitted by broadcast are transferred to the MPU or RAM inside the receiving node regardless of the contents, the data unnecessary for the receiving node is the data necessary for the MPU. Whether or not unnecessary data is discarded. Therefore, an extra load is generated on the MPU.

この発明は、ネットワークに接続された複数のノード間でデータを共有する場合に、各ノードの負荷の軽減を図り、ネットワーク全体で短時間で共有すべきデータの送受信処理に要する時間(1巡するための通信サイクルタイム)を短くすることができるネットワークシステムおよびプログラマブルコントローラならびにデータ共有方法を提供することを目的とする。   According to the present invention, when data is shared among a plurality of nodes connected to a network, the load on each node is reduced, and the time required for data transmission / reception processing to be shared in a short time (one round) It is an object of the present invention to provide a network system, a programmable controller, and a data sharing method that can shorten a communication cycle time).

この発明によるネットワークシステムは、スイッチングハブを介して複数のノードが接続されたネットワーク上で、その複数のノード間でデータを共有することができるネットワークシステムであって、複数のノードは、前記スイッチングハブを介して全2重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルとを備える。そして、複数のノードのうち、送信側のノードの前記通信インタフェースは、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信する機能を有する。複数のノードのうち、受信側のノードは、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段を持つ。その受信側のノードの前記通信インタフェースは、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する機能を持ち、前記送信側のノードは、自ノードの送信タイミングでサイクリックにデータ送信を行なうことで受信側のノードとの間でデータ共有するようにした。   A network system according to the present invention is a network system capable of sharing data among a plurality of nodes on a network in which a plurality of nodes are connected via a switching hub, and the plurality of nodes are connected to the switching hub. A communication interface capable of transmitting and receiving data by multicast communication in a full-duplex communication system, a virtual memory storing data to be transmitted to other nodes in order to share data among a plurality of nodes, and the virtual A multicast address for transmitting data on the memory to another node and a table associating transmission data are provided. Of the plurality of nodes, the communication interface of the transmission side node has a function of transmitting data by multicast together with a multicast address based on the table. Of the plurality of nodes, the receiving node has multicast address information storage means for storing a multicast address of data required by itself among data transmitted by multicast from other nodes. When the communication interface of the receiving node receives the data transmitted by multicast, the communication interface determines whether or not the data is necessary based on the multicast address stored in the multicast address information storage means. Incorporates only the data required by the node into the node and discards data that is not required by the node. Shared data with other nodes.

また、前記テーブルを構成するマルチキャストアドレスと送信データの関連付けが複数の組で構成され、かつ、その組単位で送信用のフレームを構成する場合は、自ノードの送信タイミングの1サイクル中に送信する複数のフレームに同一の識別番号を付加して送信し、前記受信側のノードでは、前記複数のフレームを受信した場合に、その複数のフレームの識別番号が異なる場合には、廃棄処理をするように構成すると良い。   Further, when the association between the multicast address and the transmission data constituting the table is composed of a plurality of sets and a frame for transmission is configured in units of the set, the transmission is performed during one cycle of the transmission timing of the own node. The same identification number is added to a plurality of frames for transmission, and when the plurality of frames are received at the receiving node, if the plurality of frames have different identification numbers, a discard process is performed. It is good to configure.

受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、所得するように構成できる。   The node on the receiving side stores and holds the information for identifying the node on the transmitting side that transmits the data required by itself and the address information of the virtual memory on the transmitting side in the node on the transmitting side. Based on this, it is possible to make an inquiry about the multicast address to the transmitting side node and to make an income.

本発明のプログラマブルコントローラは、スイッチングハブを介して全2重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルと、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段とを備えて構成する。そして、前記通信インタフェースは、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信する機能と、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する機能とを有するようにした。   The programmable controller according to the present invention includes a communication interface capable of transmitting and receiving data by multicast communication using a full duplex communication method via a switching hub, and data to be transmitted to other nodes in order to share data among a plurality of nodes. Of the virtual memory to be stored, a table in which transmission data is associated with a multicast address for transmitting the data on the virtual memory to another node, and data transmitted by multicast from another node, self is necessary Multicast address information storage means for storing the multicast address of the data to be stored. Then, the communication interface receives the data transmitted by multicast together with the multicast address based on the table, and receives the data transmitted by multicast, the communication interface determines itself based on the multicast address stored in the multicast address information storage means. It is determined whether or not the data is necessary, and only the data required by itself is taken into the node, and if the data is not required by itself, the data is discarded.

本発明に係るデータ共有方法は、スイッチングハブを介して複数のノードが接続されたネットワーク上で、その複数のノード間でデータを共有することができるネットワークシステムにおけるデータ共有方法である。そして、前記複数のノードは、前記スイッチングハブを介して全2重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルとを備えた構成を前提とする。そして、複数のノードのうちの送信側のノードの前記通信インタフェースが、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信し、複数のノードのうちの受信側のノードが、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段を持ち、その受信側のノードの前記通信インタフェースが、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する処理を実行する。送信側のノードは、自ノードの送信タイミングでサイクリックにデータ送信を行なうことで受信側のノードとの間でデータ共有するようにした。   The data sharing method according to the present invention is a data sharing method in a network system capable of sharing data between a plurality of nodes on a network in which a plurality of nodes are connected via a switching hub. Then, the plurality of nodes transmit to the other nodes in order to share data between the plurality of nodes and a communication interface capable of transmitting and receiving data by multicast communication using the full duplex communication method via the switching hub. Assume a configuration including a virtual memory in which data is stored, a table in which transmission data is associated with a multicast address for transmitting data on the virtual memory to another node. Then, the communication interface of the transmission side node among the plurality of nodes transmits the multicast data together with the multicast address based on the table, and the reception side node among the plurality of nodes transmits the multicast data from the other nodes by multicasting. Among the data to be transmitted, it has a multicast address information storage means for storing the multicast address of the data required by itself, and when the communication interface of the node on the receiving side receives the data transmitted by multicast, Based on the multicast address stored in the multicast address information storage means, it is determined whether or not the data is necessary for itself, and only the data required by itself is taken into the node, and if the data is not required by itself, it is discarded. Execute processing That. The transmitting node shared data with the receiving node by cyclically transmitting data at the transmission timing of the own node.

前記テーブルを構成するマルチキャストアドレスと送信データの関連付けが複数の組で構成され、かつ、その組単位で送信用のフレームを構成する場合は、自ノードの送信タイミングの1サイクル中に送信する複数のフレームに同一の識別番号を付加して送信し、
前記受信側のノードは、前記複数のフレームを受信した場合に、その複数のフレームの識別番号が異なる場合には、廃棄処理を実行する。また、受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、所得する処理を実行する。
When the association of the multicast address and transmission data constituting the table is composed of a plurality of sets, and a frame for transmission is configured in units of the set, a plurality of transmissions are performed during one cycle of the transmission timing of the own node. Send the frame with the same identification number,
When the plurality of frames are received and the identification numbers of the plurality of frames are different, the receiving node executes a discarding process. In addition, the receiving side node stores and holds the information for identifying the transmitting side node that transmits the data required by itself and the address information of the transmitting side virtual memory in the transmitting side node. Based on the information, a multicast address inquiry is made to the transmitting side node, and a process for obtaining income is executed.

本発明によれば、全2重型の通信をしているため、各ノードが任意のタイミングでフレームを送信することができる。全2重型としたことで、コリジョン(衝突)が発生しないため、様々なサービスをネットワーク上に混在させることができる。さらに、本発明では、各ノードがトークン等の送信権の獲得などの処理を行なう必要が無く、プロトコル実装が容易になる。   According to the present invention, since full duplex communication is performed, each node can transmit a frame at an arbitrary timing. Since it is a full duplex type, collision (collision) does not occur, so various services can be mixed on the network. Furthermore, in the present invention, it is not necessary for each node to perform processing such as acquisition of a transmission right such as a token, and protocol implementation is facilitated.

通信方式をマルチキャストとし、受信側のノードの通信インタフェースにて、登録されたマルチキャストアドレスのみを正常な受信フレームとして処理(データ転送・メモリ格納等)を行なうことができる。その結果、本発明では、ネットワーク上に流れる不要なマルチキャストデータをフィルタすることができ、受信ノードに不必要な負荷を与えない。   It is possible to perform processing (data transfer, memory storage, etc.) using only the registered multicast address as a normal received frame at the communication interface of the receiving side node using multicast as the communication method. As a result, in the present invention, unnecessary multicast data flowing on the network can be filtered, and an unnecessary load is not given to the receiving node.

本方式で新たに考案した仮想メモリのメモリマップは、ノード単位で独立したアドレス体系を有することで、他のノードの使用条件に影響されずに使用することが可能であり、メモリ重複が発生しないので、メモリマップ設定の自由度が向上している。   The memory map of the virtual memory newly devised by this method has an independent address system for each node, so it can be used without being affected by the usage conditions of other nodes, and memory duplication does not occur Therefore, the degree of freedom of memory map setting is improved.

同時性を必要とするデータを複数のフレームに分割して送信する場合、同一の通信サイクルタイムで送信する複数のフレームに同一の識別番号を付加して送信し、受信側のノードでは、前記複数のフレームを正規のフレームとして受信した場合に、その複数の正規のフレームの識別番号が異なる場合には、廃棄処理をするようにするとよい。これにより同時性が保証される。   When data that requires simultaneity is divided into a plurality of frames and transmitted, the same identification number is added to a plurality of frames transmitted in the same communication cycle time, and the plurality of frames are transmitted. When the frame is received as a regular frame and the identification numbers of the plurality of regular frames are different, the discarding process may be performed. This guarantees simultaneity.

また、前記受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、取得することもできる。   In addition, the reception side node stores and holds information for identifying a transmission side node that transmits data required by itself, and address information of the transmission side virtual memory in the transmission side node. Based on the obtained information, a multicast address can be inquired to the transmitting side node and acquired.

本発明では、ネットワークに接続された複数のノード間でデータを共有する場合に、受信側のノードは通信インタフェースにて自己が必要なフレームのみを正規のフレームと判断して所定の処理をし、不要なものは通信インタフェース側で廃棄処理をするため各ノードの負荷の軽減を図ることができる。そして、全二重方式で通信するため、各ノードが任意のタイミングでデータを送信し、同時期に複数のノードからの送信が許容されているため、ネットワーク全体では短時間で共有すべきデータの送受信処理を行なうことができる。   In the present invention, when data is shared between a plurality of nodes connected to the network, the receiving node determines only a frame that is required by the communication interface as a regular frame and performs a predetermined process, Since unnecessary items are discarded on the communication interface side, the load on each node can be reduced. Since communication is performed in a full-duplex manner, each node transmits data at an arbitrary timing, and transmission from multiple nodes is permitted at the same time. Transmission / reception processing can be performed.

図3は、本発明の一実施形態を示すネットワーク構成の一例を示している。図3に示すように、2つのPLC10が中継器となるスイッチングハブ20に対してネットワークケーブル21を介して接続され、そのスイッチングハブ20を介してデータの送受が行なえるようなネットワークシステムが構築されている。図では、便宜上PLC10を2個接続した例を示しているが、通常はもっと多くのPLCを接続したり、PLC以外のノードを接続することもある。   FIG. 3 shows an example of a network configuration showing an embodiment of the present invention. As shown in FIG. 3, a network system is constructed in which two PLCs 10 are connected to a switching hub 20 serving as a repeater via a network cable 21 so that data can be transmitted and received via the switching hub 20. ing. In the figure, an example in which two PLCs 10 are connected is shown for the sake of convenience, but more PLCs or nodes other than the PLC may be connected.

PLC10は、電源ユニット11,CPUユニット12,通信ユニット13,入力ユニット14,出力ユニット15,特殊機能ユニット16等の各種のユニットを連結して構成される。各ユニットはバックプレーンバスで接続され、そのバックプレーンバスを介してデータの送受をリアルタイムで行なうことで、制御対象を制御するシステムを構成する。もちろん、PLC10を構成するユニットは、図示するものに限ることはなく、必要に応じて適宜増減される。   The PLC 10 is configured by connecting various units such as a power supply unit 11, a CPU unit 12, a communication unit 13, an input unit 14, an output unit 15, and a special function unit 16. Each unit is connected by a backplane bus, and a system for controlling a control target is configured by transmitting and receiving data in real time via the backplane bus. Of course, the units constituting the PLC 10 are not limited to those shown in the figure, and may be appropriately increased or decreased as necessary.

電源ユニット11は、PLC10を構成する各ユニット群に電源を供給するものである。CPUユニット12は、制御プログラムを格納し、システムをプログラマブルに制御する機能を持つ。制御対象から入力ユニット14などを介して取り込んだINデータをもとに、制御プログラムを実行し、求めた演算結果(OUTデータ)を出力ユニット15へ送る。一例を示すと、入力ユニット14は、リミットスイッチやセンサ等の入力装置の状態(INデータ)を取得する。取得したINデータは、所定のタイミング(INリフレッシュ時)でCPUユニット12に渡される。出力ユニット15は、CPUユニット12から受け取ったOUTデータに基づき、接続された制御対象の状態に変化を起こさせるものである。例えば、スイッチを導通することで外部の電気機器を動作させたり(電気的な変化)、空気圧バルブの開閉をさせたり(機械的な変化)する。特殊機能ユニット16は、CPUユニット12と分担して制御プログラムを実行するものや、CPUユニット12からの指令でモータなどを制御するモーションコントローラなどがある。   The power supply unit 11 supplies power to each unit group constituting the PLC 10. The CPU unit 12 stores a control program and has a function of controlling the system in a programmable manner. The control program is executed based on the IN data fetched from the controlled object via the input unit 14 and the like, and the obtained calculation result (OUT data) is sent to the output unit 15. As an example, the input unit 14 acquires the state (IN data) of an input device such as a limit switch or a sensor. The acquired IN data is transferred to the CPU unit 12 at a predetermined timing (during IN refresh). The output unit 15 causes the connected control target to change based on the OUT data received from the CPU unit 12. For example, by turning on the switch, an external electric device is operated (electrical change), and a pneumatic valve is opened and closed (mechanical change). The special function unit 16 includes a unit that executes a control program in sharing with the CPU unit 12 and a motion controller that controls a motor or the like in response to a command from the CPU unit 12.

通信ユニット13は、ネットワークケーブル21を介して他の装置(ノード)と通信をするものである。本実施形態では、ネットワークとしてイーサネット(登録商標)を用いているため、この通信ユニット13は、イーサネット(登録商標)に対応するユニットである。この通信ユニット13により、物理的に離れたところにあるPLC同士で通信を行なうことで、遠隔地のPLC10と、協調して制御を行なうことができる。   The communication unit 13 communicates with other devices (nodes) via the network cable 21. In this embodiment, since Ethernet (registered trademark) is used as the network, the communication unit 13 is a unit corresponding to Ethernet (registered trademark). By communicating with PLCs that are physically separated by the communication unit 13, it is possible to perform control in cooperation with the remote PLC 10.

図4は、PLC10を構成するCPUユニット12と通信ユニット13の内部構成を示している。CPUユニット12は、PLC10全体の制御を司るユニットであって、ハードウェア構成としては、CPUユニット12全体の動作を司るマイクロプロセッサであるMPU12aと、システムファームウェアを格納するメモリであるROM12bと、システムワークとして使用されるメモリであるRAM12cと、ユーザプログラムを格納するメモリであるユーザメモリ(UM)12dと、ユーザプログラム(命令)実行処理/通信ユニットインタフェース処理/メモリアクセスバス調停処理を行なう制御プログラム用ASIC12eと、接点領域(入力ユニットから取り込んだINデータや出力ユニットへ送る出力データ等を格納する領域)やデータ領域等のメモリエリアであるIOメモリ(IOM)12fと、バスインタフェース12g等を備え、それらが内部バス12hに接続され、その内部バス12hを介してユニット内で相互にデータ転送等が行なえるとともに、バスインタフェース12gを介してバックプレーンバス10aに接続し、他のユニットとの間でデータ転送を行なうことができる。   FIG. 4 shows an internal configuration of the CPU unit 12 and the communication unit 13 constituting the PLC 10. The CPU unit 12 is a unit that controls the entire PLC 10. The hardware configuration includes an MPU 12a that is a microprocessor that controls the operation of the entire CPU unit 12, a ROM 12b that is a memory for storing system firmware, and a system work. RAM 12c, which is used as a memory, user memory (UM) 12d, which is a memory for storing user programs, ASIC 12e for a control program that performs user program (command) execution processing / communication unit interface processing / memory access bus arbitration processing An IO memory (IOM) 12f which is a memory area such as a contact area (an area for storing IN data fetched from the input unit, output data to be sent to the output unit, etc.), a data area, and the bus interface 12 Are connected to the internal bus 12h, and can transfer data to each other in the unit via the internal bus 12h, and are connected to the backplane bus 10a via the bus interface 12g, Can be transferred to and from.

通信ユニット13は、通信ユニット全体の動作を司るマイクロプロセッサであるMPU13aと、システムファームウェアを格納するメモリであるROM13bと、システムワークとして使用されるメモリとなるRAM13cと、バックプレーンバス10aに接続するバスインタフェース13gを備えている。さらに、外部のネットワーク21に接続し、他のノードと通信をするイーサネット(登録商標)対応の通信インタフェース13dも備えている。そして、それらがやはり内部バス13fに接続され、その内部バス13fを介して相互にデータ転送等が行なえるようになっているとともに、バスインタフェース13gを介してバックプレーンバス10aに接続し、他のユニットとの間でデータ転送を行なうことができる。さらに、ROM13bには、システムファームウェアの他、本発明との関係で言うと、仮想メモリのメモリマップなどが格納されている。   The communication unit 13 includes an MPU 13a that is a microprocessor that controls the operation of the entire communication unit, a ROM 13b that is a memory that stores system firmware, a RAM 13c that is a memory used as system work, and a bus connected to the backplane bus 10a. An interface 13g is provided. Furthermore, the communication interface 13d corresponding to Ethernet (registered trademark) is connected to the external network 21 and communicates with other nodes. These are also connected to the internal bus 13f, and can transfer data to each other via the internal bus 13f, and connected to the backplane bus 10a via the bus interface 13g. Data can be transferred to and from the unit. Furthermore, in addition to the system firmware, the ROM 13b stores a memory map of a virtual memory in relation to the present invention.

図5は、データの送信側に着目して示したネットワーク構成の概略図である。各PLC10等のノードは、仮想メモリアドレス空間に割り付けられたデータ(従来の自ノードエリアに格納していたデータ)をマルチキャストで送信する。図5に示す各ノードの仮想メモリは、図1に示す自ノードエリアに対応する。そして、本実施形態では、各仮想メモリアドレス空間に格納されたデータは、1つのフレーム或いは複数のフレームに分割して送信する。図5では、全てのノードにおいて3つのフレームに分割して送信する例を示しているが、分割数が各ノードにおいて異なることはかまわないし、分割しないものがあっても良い。   FIG. 5 is a schematic diagram of a network configuration focusing on the data transmission side. Each node such as the PLC 10 transmits data allocated to the virtual memory address space (data stored in the conventional local node area) by multicast. The virtual memory of each node shown in FIG. 5 corresponds to the own node area shown in FIG. In this embodiment, the data stored in each virtual memory address space is divided into one frame or a plurality of frames and transmitted. FIG. 5 shows an example in which the transmission is divided into three frames in all nodes, but the number of divisions may be different in each node, and there may be some that are not divided.

各仮想メモリアドレス空間には、送信するフレーム単位で個別のマルチキャストアドレスを割り付ける。本実施形態では、“MA”“ノードアドレス”“−“”識別番号”をマルチキャストアドレスとしている。一例を示すと、ノード(1)の1番目の仮想メモリアドレス1−1のマルチキャストアドレスは、「MA1−1」となり、ノード(1)の2番目の仮想メモリアドレス1−2のマルチキャストアドレスは、「MA1−2」となり、ノード(1)の3番目の仮想メモリアドレス1−3のマルチキャストアドレスは、「MA1−3」となる。そして、送信フレームのデータ構造は、「マルチキャストアドレス+仮想メモリアドレス+データ」とし、従来のようにトークンは付加しない。   Each virtual memory address space is assigned an individual multicast address for each frame to be transmitted. In the present embodiment, “MA”, “node address”, “−” “identification number” are multicast addresses. For example, the multicast address of the first virtual memory address 1-1 of the node (1) is “MA1-1”, and the multicast address of the second virtual memory address 1-2 of the node (1) is “MA1-2”, and the multicast address of the third virtual memory address 1-3 of the node (1) is “MA1-3”. The data structure of the transmission frame is “multicast address + virtual memory address + data”, and no token is added as in the conventional case.

各ノードは、自己の仮想メモリアドレス空間に割り付けられたデータをマルチキャストで送信する。すると、マルチキャストによる送信では、スイッチングハブ20によりネットワーク21に加入する全てのノードに、同じフレームが転送される。なお、各ノードは、各自任意のタイミングでデータを送信する。   Each node transmits the data allocated to its own virtual memory address space by multicast. Then, in multicast transmission, the same frame is transferred to all nodes joining the network 21 by the switching hub 20. Each node transmits data at an arbitrary timing.

図6は、受信側の機能に着目した本発明の要部となる通信ユニット13の内部構造の一例を示している。イーサネット(登録商標)対応の通信インタフェース13dに、マルチキャスト受信テーブル13d′を設ける。そのマルチキャスト受信テーブル13dには、受信可能なフレーム(自己が使用する必要なデータを送信する)に付されているマルチキャストアドレスを記憶保持させる。図示の例では、ノード(2)の「MA1−1」と「MA1−2」である。   FIG. 6 shows an example of the internal structure of the communication unit 13, which is a main part of the present invention, focusing on the function on the receiving side. A multicast reception table 13d 'is provided in the Ethernet (registered trademark) compatible communication interface 13d. The multicast reception table 13d stores and holds the multicast address attached to the receivable frame (transmits necessary data used by itself). In the illustrated example, “MA1-1” and “MA1-2” of the node (2).

通信インタフェース13dは、このマルチキャストで送信されてきたフレームを通信インタフェース13dにて一旦取り込み、受信したフレームのマルチキャストアドレスがマルチキャスト受信テーブル13d′に登録されているか否かを判断し、登録されている場合には、受信したフレームをMPU13aやRAM13cへと転送し、登録されていないフレームは通信インタフェース13dで廃棄する。   The communication interface 13d once fetches the frame transmitted by this multicast by the communication interface 13d, determines whether or not the multicast address of the received frame is registered in the multicast reception table 13d ′, and is registered The received frame is transferred to the MPU 13a or the RAM 13c, and the unregistered frame is discarded by the communication interface 13d.

従って、例えば図5に示すように、ノード(1)が記憶保持する送信すべきデータが仮想メモリアドレス1−1,仮想メモリアドレス1−2,仮想メモリアドレス1−3の3つ存在する場合、マルチキャストアドレスが「MA1−1」,「MA1−2」,「MA1−3」の3つの送信フレームが、ノード(1)からネットワークケーブル21に向けて順次送信される。すると、それら各送信フレームを受信したスイッチングハブ20は、マルチキャストによる送信フレームであるため、その送信フレームをネットワークに加入する全てのノードに送信する。従って、図7に示すように、ノード(2)には、一旦ノード(1)から送信されたマルチキャストによる送信フレームが全て取り込まれるものの、図6に示すごとくノード(2)の通信ユニット13のマルチキャスト受信テーブル13d′には、「MA1−1」と「MA1−2」が登録され、「MA1−3」は登録されていないため、通信インタフェース13dは、受信した係る2つのフレームをMPU13aやRAM13cへと転送し、登録されていない「MA1−3」のフレームを廃棄する。   Therefore, for example, as shown in FIG. 5, when there are three data to be transmitted and stored in the node (1), that is, virtual memory address 1-1, virtual memory address 1-2, and virtual memory address 1-3, Three transmission frames having multicast addresses “MA1-1”, “MA1-2”, and “MA1-3” are sequentially transmitted from the node (1) to the network cable 21. Then, since the switching hub 20 that has received each transmission frame is a transmission frame by multicast, the switching hub 20 transmits the transmission frame to all nodes that join the network. Accordingly, as shown in FIG. 7, the node (2) once captures all of the multicast transmission frames transmitted from the node (1), but as shown in FIG. 6, the multicast of the communication unit 13 of the node (2). Since “MA1-1” and “MA1-2” are registered in the reception table 13d ′ and “MA1-3” is not registered, the communication interface 13d transmits the received two frames to the MPU 13a and the RAM 13c. And the unregistered “MA1-3” frame is discarded.

よって、受信ノードにとって不必要なデータ(図示の例では、「MA1−3」のフレーム)は、通信インタフェース13dにて廃棄されるので、内部のMPU13aひいてはCPUユニット12に余計な負荷がかからない。もちろん、他のノード(3),(4)からスイッチングハブ20を経由して送られてきたマルチキャストによる送信フレームも、ノード(2)のマルチキャスト受信テーブル13d′に登録されていないため、通信インタフェース13dにて全て破棄される。   Therefore, data unnecessary for the receiving node (in the illustrated example, the frame “MA1-3”) is discarded by the communication interface 13d, so that no additional load is applied to the internal MPU 13a and the CPU unit 12. Of course, the transmission frame by multicast sent from the other nodes (3) and (4) via the switching hub 20 is not registered in the multicast reception table 13d ′ of the node (2), so the communication interface 13d. All are destroyed at.

次に、上述したように通信インタフェース13dにて自己のノードに必要なフレームのみ受信するとともにMPU13aやRAM13cへと転送し、不要なフレームを廃棄するために必要となるマルチキャスト受信テーブル13d′へのマルチキャストアドレスの登録ならびに受信したデータを所定のメモリエリアへ転送するために必要な情報の登録等について説明する。   Next, as described above, the communication interface 13d receives only frames necessary for its own node and transfers them to the MPU 13a and RAM 13c, and multicasts to the multicast reception table 13d 'necessary for discarding unnecessary frames. Address registration and registration of information necessary for transferring received data to a predetermined memory area will be described.

通信ユニット13のROM13bには、次の3つの項目(1)〜(3)を関連付けたメモリマップテーブル13b′が設定される。   In the ROM 13b of the communication unit 13, a memory map table 13b ′ in which the following three items (1) to (3) are associated is set.

(1)受信すべきフレームに含まれる仮想メモリのアドレス(仮想メモリアドレス)
(2)そのフレームに含まれる受信したそのデータを受信ノード側で記憶する受信ノード内メモリのアドレス(受信実メモリアドレス)
(3)そのデータのデータ容量(受信サイズ)
さらに、このメモリマップテーブル13b′には、上記の受信すべきフレームのマルチキャストアドレスそれ自体或いはマルチキャストアドレスを取得するための情報が関連づけて格納される。
(1) Virtual memory address (virtual memory address) included in the frame to be received
(2) Address of receiving node memory for storing the received data included in the frame on the receiving node side (reception actual memory address)
(3) Data capacity of the data (reception size)
Further, the memory map table 13b 'stores the multicast address itself of the frame to be received or information for acquiring the multicast address in association with each other.

MPU13aは、このメモリマップテーブル13b′に格納された情報に従い、ネットワークに流れるデータから必要なデータの取得するためのマルチキャストアドレスをマルチキャスト受信テーブル13d′に登録する。   In accordance with the information stored in the memory map table 13b ′, the MPU 13a registers a multicast address for acquiring necessary data from the data flowing in the network in the multicast reception table 13d ′.

図8は、マルチキャストアドレスそれ自体のデータを関連づけたメモリマップテーブル13b′のデータ構造の一例を示している。図に示すように、このメモリマップテーブル13b′は、受信したデータを記録する自ノード内の受信実メモリアドレスと、受信するフレームのマルチキャストアドレスと、送信元の仮想メモリアドレスと、受信サイズとを関連づけたテーブルとなっている。このように受信に必要な送信側の仮想メモリアドレス及びマルチキャストアドレスを、すべて受信側のメモリマップテーブル13b′に記憶しておくと、すでに受信ノード側でマルチキャストアドレスがわかっているので、そのメモリマップテーブル13b′に格納されたマルチキャストアドレスを、マルチキャスト受信テーブル13d′に登録することができる。この登録処理は、受信ノードから送信ノードへの問い合わせをすることなく行なえるメリットがある。ただし、仮想メモリアドレスとマルチキャストアドレスの関連付けを、あらかじめ送信ノードと受信ノード側の両方で厳密に取り決めておく必要ある。   FIG. 8 shows an example of the data structure of the memory map table 13b ′ in which data of the multicast address itself is associated. As shown in the figure, the memory map table 13b ′ includes the received real memory address in the own node that records the received data, the multicast address of the received frame, the virtual memory address of the transmission source, and the reception size. It is a related table. If all the virtual memory addresses and multicast addresses on the transmission side necessary for reception are stored in the memory map table 13b 'on the reception side, the multicast address is already known on the reception node side. The multicast address stored in the table 13b ′ can be registered in the multicast reception table 13d ′. This registration process has an advantage that it can be performed without making an inquiry from the receiving node to the transmitting node. However, the association between the virtual memory address and the multicast address must be strictly determined in advance on both the transmission node and the reception node side.

図9は、メモリマップテーブル13b′のデータ構造の別の例を示している。このメモリマップテーブル13b′は、受信したデータを記録する自ノード内の受信実メモリアドレスと、受信するフレームを送信する送信ノードを特定するための送信ノードのノードアドレス(例えば、IP(インターネットプロトコル)アドレス)と、送信元の仮想メモリアドレスと、受信サイズとを関連づけたテーブルとなっている。すなわち、図8に示したものと比較すると、マルチキャストアドレスを具体的に登録していたのに替えて、本例では送信ノードのノードアドレスを登録するようにしている。   FIG. 9 shows another example of the data structure of the memory map table 13b ′. The memory map table 13b 'includes a received real memory address in the own node that records received data, and a node address of a transmitting node for specifying a transmitting node that transmits a received frame (for example, IP (Internet Protocol)). Address), the virtual memory address of the transmission source, and the reception size. That is, as compared with the one shown in FIG. 8, in this example, the node address of the transmission node is registered instead of the specific registration of the multicast address.

このデータ構造のメモリマップテーブル13b′の場合、実際のマルチキャストの送信フレームの送受信に先立ち、受信ノードは、自己が必要とする(受信すべき)送信フレームのマルチキャストアドレスを取得する必要がある。そのため、メモリマップテーブル13b′に格納された送信ノードアドレスと、送信側における仮想アドレスに基づき、受信ノードから送信ノードへマルチキャストアドレスの問い合わせをし、取得することになる。このようにすると、仮想メモリアドレスとマルチキャストアドレスの関連付けを送信側ノードだけで取り決めておけばよい。   In the case of the memory map table 13b ′ having this data structure, prior to transmission / reception of an actual multicast transmission frame, the reception node needs to acquire a multicast address of the transmission frame necessary (to be received) by itself. Therefore, a multicast address is inquired from the receiving node to the transmitting node based on the transmitting node address stored in the memory map table 13b ′ and the virtual address on the transmitting side, and is acquired. In this way, the association between the virtual memory address and the multicast address need only be decided only by the transmitting side node.

マルチキャストアドレスの具体的な取得の手順は、以下の通りである。すなわち、送信側のメモリマップテーブル13b′と、受信側のメモリマップテーブル13b′が図10,図11に示すようになっているとする。すると、図12に示すように、受信側のノード(2)から送信側のノード(1)に対し、自己が受信すべきデータのマルチキャストアドレスの問い合わせを送信側の仮想メモリアドレスととともに行なう。この問い合わせを受けた送信側のノード(1)は、受信した仮想メモリアドレスを基に自己のメモリマップテーブル(図10)をサーチし、該当するマルチキャストアドレスを抽出し、その抽出したマルチキャストアドレスをレスポンスとして受信側のノード(2)に返す。受信側のノード(2)は、受信したマルチキャストアドレスをマルチキャスト受信テーブル13d′に登録する。   The specific procedure for acquiring the multicast address is as follows. That is, assume that the memory map table 13b 'on the transmission side and the memory map table 13b' on the reception side are as shown in FIGS. Then, as shown in FIG. 12, the receiving node (2) inquires of the transmitting node (1) about the multicast address of data to be received together with the transmitting virtual memory address. Upon receiving this inquiry, the sending node (1) searches its own memory map table (FIG. 10) based on the received virtual memory address, extracts the corresponding multicast address, and sends the extracted multicast address as a response. To the receiving node (2). The node (2) on the receiving side registers the received multicast address in the multicast reception table 13d ′.

このような受信側のノードから送信側のノードに対してマルチキャストアドレスの問い合わせを行ない、送信側からのレスポンスにより取得したマルチキャストアドレスをマルチキャスト受信テーブル13d′に登録する処理を、各ノードが繰り返し実行することで、自己が必要とする送信フレームのマルチキャストアドレスを取得することができる。   Each node repeatedly executes the process of making an inquiry about the multicast address from the receiving side node to the transmitting side node and registering the multicast address acquired by the response from the transmitting side in the multicast receiving table 13d ′. Thus, the multicast address of the transmission frame required by itself can be acquired.

係る初期処理を終了したならば、通常のデータ通信に移行する。つまり、送信側のノード(1)は、自己が送信すべきデータを、マルチキャストアドレスとともに順次送信し、受信側のノードは、マルチキャストアドレス受信テーブル13d′に格納されたフレームのみ受信し、それ以外のフレームは通信インタフェース13dにて破棄することになる。   When the initial process is completed, the process shifts to normal data communication. That is, the transmission side node (1) sequentially transmits the data to be transmitted together with the multicast address, and the reception side node receives only the frame stored in the multicast address reception table 13d ′, and the other The frame is discarded at the communication interface 13d.

図13は、本実施形態の通信フレームの送信状況の一例を示している。図13に示すように、各ノードは、自己の通信サイクルタイムごとに、自己の仮想メモリに格納された送信フレームを、順次送信する。この通信サイクルタイムは、ネットワーク中のデータ量とノード数の総和には依存せず、各送信ノードの送信データ数に依存する形で、各送信ノードが固有の時間が設定される。なお、実際には、送信ノードの送信能力限界や、受信ノードの受信能力限界や、スイッチングハブ20の転送能力の限界等を考慮し、ネットワーク全体で、各ノードの通信サイクルタイムの適正値を決定する。   FIG. 13 shows an example of the transmission status of the communication frame of this embodiment. As shown in FIG. 13, each node sequentially transmits transmission frames stored in its own virtual memory for each communication cycle time. This communication cycle time does not depend on the total amount of data and the number of nodes in the network, but a time unique to each transmission node is set in such a manner that it depends on the number of transmission data of each transmission node. Actually, an appropriate value of the communication cycle time of each node is determined in the entire network in consideration of the transmission capability limit of the transmission node, the reception capability limit of the reception node, the transfer capability limit of the switching hub 20, and the like. To do.

図14は、本発明の第2実施形態の要部を示している。すなわち、上記のマルチキャストアドレスにより送信されるデータが、設備の制御に使用されることが多々あり、データの同時性が要求されることがある。例えば、長大なサイズの仮想メモリの場合、複数の送信フレームに分割して送信する必要がある。同時性とは、1回の通信サイクルで複数に分割されたフレーム(例えば、ノード(1)から送信されたフレーム1−1〜1−3)が、仮想メモリ内のデータのスナップショット(フレーム1−1〜フレーム1−3のデータが、同じ時間に仮想メモリから取り出した状態)により構成されていることを保証することを言う。これが、異なる時間のデータが混在すると、フレーム1−1〜フレーム1−3のデータに同時性がなくなり、厳密なインターロックなどの制御ができなくなる危険性が生じる。   FIG. 14 shows a main part of the second embodiment of the present invention. That is, data transmitted by the multicast address is often used for equipment control, and data simultaneity may be required. For example, in the case of a large virtual memory, it is necessary to divide it into a plurality of transmission frames for transmission. The simultaneity means that a frame divided into a plurality of times in one communication cycle (for example, frames 1-1 to 1-3 transmitted from the node (1)) is a snapshot of data in the virtual memory (frame 1). It means that the data of −1 to 1-3 is configured by the state of being taken out from the virtual memory at the same time. However, if data of different times are mixed, the data of the frames 1-1 to 1-3 are lost in synchronism, and there is a risk that control such as strict interlock cannot be performed.

例えば、インターロック条件として、ノード(1)の仮想メモリ上の複数のデータを使用する場合を考える。しかも、その複数のデータが異なるフレームのデータとして送信される場合には、通信サイクルごとに異なるスナップショットのフレームが送信されることになる。このとき、受信側のノード(2)において、受信したフレームが同一のスナップショットのフレームかどうか区別できない場合には、異なるスナップショットのデータをインターロック条件として使用する場合が生じ、インターロック条件成立の正当性が失われることになる。   For example, consider a case where a plurality of data on the virtual memory of the node (1) is used as an interlock condition. Moreover, when the plurality of data is transmitted as data of different frames, frames of different snapshots are transmitted every communication cycle. At this time, if the received node (2) cannot distinguish whether the received frame is the same snapshot frame, the data of different snapshots may be used as the interlock condition, and the interlock condition is satisfied. The legitimacy of will be lost.

係る同時性を保証するため、本実施形態では、図14に示すように送信フレームに通番データを付加するようにした。この通番データは、通信サイクルが更新するたびに1ずつ加算更新するカウンタ情報で、同じ通信サイクルに属する送信データ(例えばフレーム1−1〜1−3)では、同じ値をとる。つまり、たとえば1回目の通信サイクルタイムで送信するフレーム1−1〜1−3の付加する通番は「1」となり、2回目の通信サイクルタイムで送信するフレーム1−1〜1−3の付加する通番は「2」となる。   In order to guarantee such simultaneity, in this embodiment, serial number data is added to the transmission frame as shown in FIG. This serial number data is counter information that is incremented and updated by 1 each time a communication cycle is updated. The transmission data belonging to the same communication cycle (for example, frames 1-1 to 1-3) takes the same value. That is, for example, the serial number added to the frames 1-1 to 1-3 transmitted at the first communication cycle time is “1”, and the frames 1-1 to 1-3 transmitted at the second communication cycle time are added. The serial number is “2”.

受信側のノードは、受信した各フレームに格納された通番を確認し、同じ値か否かを判断する。すなわち、仮にフレーム1−1とフレーム1−2を受信した場合、両フレームの通番が同じ値の場合には、同一の通信サイクルタイムのときに発信されたフレームと判断できる。逆にフレーム1−1とフレーム1−2に格納された通番が異なる場合には、各フレームは、それぞれ異なる通信サイクルタイムのときに発信されたフレームと判断できる。よって、同一の通番を持つフレームに格納されたデータについては、同時性が保証されるが、通番が異なる複数のフレームに格納されたデータについては同時性が保証できないといえる。この通番データが同値だった場合だけ正式な受信データとして取り込み、異なっていれば受信データを廃棄する。このようにして同時性を確保することができる。なお、通番データが異なるケースとしては、ノイズによるフレーム廃棄や、通信経路制御などによりフレーム順序関係の入れ違いなどがあげられる。   The node on the receiving side checks the serial number stored in each received frame, and determines whether or not they are the same value. That is, if frames 1-1 and 1-2 are received, and if the serial numbers of both frames are the same value, it can be determined that the frames are transmitted at the same communication cycle time. Conversely, when the serial numbers stored in the frames 1-1 and 1-2 are different, each frame can be determined as a frame transmitted at a different communication cycle time. Therefore, simultaneity is guaranteed for data stored in frames having the same serial number, but simultaneity cannot be guaranteed for data stored in a plurality of frames having different serial numbers. Only when the serial number data has the same value, it is taken in as official received data, and when it is different, the received data is discarded. In this way, simultaneity can be ensured. Note that examples of cases where the serial number data are different include frame discard due to noise, frame order relation misplacement due to communication path control, and the like.

上述したデータの同時性の確保をするための具体的な機能としては、マルチキャストアドレス受信テーブル13d′に格納されたマルチキャストアドレスに従って受信したフレームをすぐに受信実メモリに転送するのではなく、たとえば図15に示すデータフローダイアグラムに示すように、受信ノードで以下のような通番制御を実行する。   As a specific function for ensuring the above-mentioned data simultaneity, a frame received according to the multicast address stored in the multicast address reception table 13d 'is not immediately transferred to the reception real memory, but As shown in the data flow diagram shown in FIG. 15, the following serial number control is executed at the receiving node.

図において、「受信フレーム」は、通信インタフェース13dからMPU13a,RAM13cに転送された受信データで、マルチキャストフィルタをパスした(通信インタフェース13dにて、マルチキャスト受信テーブル13d′に登録されているフレームと判断された)ものである。本実施形態では、RAM13cあるいはMPU13a内に受信フレームを一時的に格納する一次格納バッファを設定する。図6に示したノード(2)の場合、マルチキャスト受信テーブル13d′には、「MA1−1」と「MA1−2」というノード(1)からマルチキャストで送られてくる2つのフレームを受信するようになっているため、バッファも、マルチキャストアドレスが、MA1−1のフレーム1−1を格納する「フレーム1−1用バッファ」とマルチキャストアドレスが、MA1−2のフレーム1−2を格納する「フレーム1−2用バッファ」の2つを用意した。   In the figure, “reception frame” is reception data transferred from the communication interface 13d to the MPU 13a and the RAM 13c, and has passed the multicast filter (the communication interface 13d is determined to be a frame registered in the multicast reception table 13d ′. It is a thing. In the present embodiment, a primary storage buffer for temporarily storing received frames is set in the RAM 13c or MPU 13a. In the case of the node (2) shown in FIG. 6, the multicast reception table 13d ′ receives two frames sent by multicast from the node (1) “MA1-1” and “MA1-2”. Therefore, the buffer also has a “frame 1-1 buffer” for storing the frame 1-1 with the multicast address MA1-1 and a “frame for storing the frame 1-2 with the multicast address MA1-2”. Two “1-2 buffers” were prepared.

MPU13aに実装された同時性判定処理部13a′は、受信フレーム(マルチキャストフィルタをパスしたフレーム)を受信すると、一次格納バッファに格納されている先に受信した受信フレームの通番データと比較し、同時性が確保されているか否かを判断する。同時性が確保されていることを条件に、フレーム中のデータ部のデータをメモリマップテーブル13b′にて設定されたRAM13c内の受信実メモリ13′のメモリ領域に格納する。これにより、受信実メモリ13c′に格納されるデータは、正式な受信フレームであり、かつ、同時性が確保されたもののみとなる。   When receiving the received frame (the frame that has passed the multicast filter), the simultaneity determination processing unit 13a ′ implemented in the MPU 13a compares the received frame with the serial number data of the previously received frame stored in the primary storage buffer. It is determined whether or not sex is secured. On the condition that simultaneity is ensured, the data of the data part in the frame is stored in the memory area of the reception real memory 13 'in the RAM 13c set in the memory map table 13b'. As a result, the data stored in the reception actual memory 13c ′ is only a formal reception frame and data in which simultaneity is ensured.

図16,図17は、同時性判定処理部13a′の具体的な処理機能を示している。なお、この図16,図17に示したフローチャートは、上述したノード(2)における同時性判定処理部13a′についてのもので、同時性が要求される受信フレームは、マルチキャストアドレスがMA1−1のフレーム1−1と、マルチキャストアドレスがMA1−2のフレーム1−2の2つとしている。   16 and 17 show specific processing functions of the simultaneity determination processing unit 13a ′. Note that the flowcharts shown in FIGS. 16 and 17 are for the simultaneity determination processing unit 13a ′ in the node (2) described above, and a received frame that requires simultaneity has a multicast address of MA1-1. Two frames, a frame 1-1 and a frame 1-2 with a multicast address of MA1-2, are used.

同時性判定処理部13a′は、通信インタフェース13dがマルチキャストのフレームを受信し、マルチキャスト受信テーブル13d′に基づいて自ノード宛てのフレームと判断された受信フレームを取得する(S11)。   The simultaneity determination processing unit 13a ′ receives the multicast frame received by the communication interface 13d, and acquires a received frame determined to be a frame addressed to the own node based on the multicast reception table 13d ′ (S11).

同時性判定処理部13a′は、受信したフレームが、フレーム1−1か否かを判断し(S12)、フレーム1−1の場合には、フレーム1−2一次格納バッファに受信データが格納されているか否かを判断する(S13)。フレーム1−2一次格納バッファに受信データが格納されていない場合(S13の分岐判断でNo)には、同時性判定処理部13a′は、フレーム1−1一次格納バッファに受信データが格納されて否か否かを判断し(S14)、受信されている場合には、その受信されている古いデータを破棄した後(S15)に今回受信した受信データを、フレーム1−1一次格納バッファに格納する(S16)。また、フレーム1−1一次格納バッファに受信データが格納されていない場合(S14の分岐判断でNo)には、同時性判定処理部13a′は、今回受信した受信データをそのままフレーム1−1一次格納バッファに格納する(S16)。   The simultaneity determination processing unit 13a ′ determines whether or not the received frame is the frame 1-1 (S12). If the received frame is the frame 1-1, the received data is stored in the frame 1-2 primary storage buffer. It is determined whether or not (S13). When the reception data is not stored in the frame 1-2 primary storage buffer (No in the branch determination in S13), the simultaneity determination processing unit 13a ′ stores the reception data in the frame 1-1 primary storage buffer. It is determined whether or not (S14), and if received, the received data received this time is stored in the frame 1-1 primary storage buffer after discarding the received old data (S15). (S16). If the received data is not stored in the frame 1-1 primary storage buffer (No in S14), the simultaneity determination processing unit 13a 'uses the received data received this time as it is as the frame 1-1 primary. Store in the storage buffer (S16).

一方、フレーム1−2一次格納バッファに受信データがすでに格納されている場合(S13でYes)には、同時性判定処理部13a′は、そのフレーム1−2一次格納バッファに格納されている受信フレーム(フレーム1−2)の通番データと、今回受信したフレーム1−1の通番データが同じか否かを判断し(S17)、同じ場合には、受信したフレーム1−1とフレーム1−2一次格納バッファに格納されたフレーム1−2とが同一の通信サイクルタイムで送信されてきたものと判断できるので、それら2つの受信フレームを実受信メモリにコピーする(S18)。その後、同時性判定処理部13a′は、受信したフレーム1−1と、フレーム1−2一次格納バッファに一次記憶されたデータを廃棄する(S19)。   On the other hand, when the reception data is already stored in the frame 1-2 primary storage buffer (Yes in S13), the concurrency determination processing unit 13a ′ receives the reception stored in the frame 1-2 primary storage buffer. It is determined whether the serial number data of the frame (frame 1-2) and the serial number data of the frame 1-1 received this time are the same (S17). If they are the same, the received frame 1-1 and frame 1-2 are determined. Since it can be determined that the frame 1-2 stored in the primary storage buffer has been transmitted in the same communication cycle time, the two received frames are copied to the actual reception memory (S18). Thereafter, the simultaneity determination processing unit 13a ′ discards the received frame 1-1 and data temporarily stored in the primary storage buffer of the frame 1-2 (S19).

また、受信したフレーム1−1の通番データと、フレーム1−2一次格納バッファに格納された通番データとが異なる場合(S17の分岐判断でNo)には、処理ステップS14に飛び、上述した処理を実行する。   If the serial number data of the received frame 1-1 and the serial number data stored in the primary storage buffer of the frame 1-2 are different (No in the branch determination in S17), the process jumps to the processing step S14 and the above-described processing is performed. Execute.

一方、受信したデータがフレーム1−1でない場合には、分岐判断処理ステップS12でNoとなるため、処理ステップS22に飛び、受信したデータがフレーム1−2か否かを判断し(S22)、フレーム1−2の場合には、フレーム1−1一次格納バッファに受信データが格納されているか否かを判断する(S23)。フレーム1−1一次格納バッファに受信データが格納されていない場合(S23の分岐判断でNo)には、同時性判定処理部13a′は、フレーム1−2一次格納バッファに受信データが格納されて否か否かを判断し(S24)、受信されている場合には、その受信されている古いデータを破棄した後(S25)に今回受信した受信データを、フレーム1−2一次格納バッファに格納する(S26)。また、フレーム1−2一次格納バッファに受信データが格納されていない場合(S24の分岐判断でNo)には、同時性判定処理部13a′は、今回受信した受信データをそのままフレーム1−2一次格納バッファに格納する(S26)。   On the other hand, if the received data is not the frame 1-1, the branch determination process step S12 is No, so the process jumps to the process step S22 to determine whether the received data is the frame 1-2 (S22). In the case of the frame 1-2, it is determined whether or not received data is stored in the frame 1-1 primary storage buffer (S23). When the reception data is not stored in the frame 1-1 primary storage buffer (No in S23 branch determination), the simultaneity determination processing unit 13a 'stores the reception data in the frame 1-2 primary storage buffer. Whether the received data is received or not is discarded (S25), and the received data received this time is stored in the frame 1-2 primary storage buffer. (S26). In addition, when the reception data is not stored in the frame 1-2 primary storage buffer (No in S24 branch determination), the concurrency determination processing unit 13a ′ uses the reception data received this time as it is as the frame 1-2 primary. Store in the storage buffer (S26).

一方、フレーム1−1一次格納バッファに受信データがすでに格納されている場合(S23でYes)には、同時性判定処理部13a′は、そのフレーム1−1一次格納バッファに格納されている受信フレーム(フレーム1−1)の通番データと、今回受信したフレーム1−2の通番データが同じか否かを判断し(S27)、同じ場合には、受信したフレーム1−2とフレーム1−1一次格納バッファに格納されたフレーム1−1とが同一の通信サイクルタイムで送信されてきたものと判断できるので、それら2つの受信フレームを実受信メモリにコピーする(S28)。その後、同時性判定処理部13a′は、受信したフレーム1−2と、フレーム1−1一次格納バッファに一次記憶されたデータを廃棄する(S29)。   On the other hand, when the reception data is already stored in the frame 1-1 primary storage buffer (Yes in S23), the concurrency determination processing unit 13a 'receives the reception stored in the frame 1-1 primary storage buffer. It is determined whether or not the serial number data of the frame (frame 1-1) and the serial number data of the frame 1-2 received this time are the same (S27). If they are the same, the received frames 1-2 and 1-1 are received. Since it can be determined that the frame 1-1 stored in the primary storage buffer has been transmitted in the same communication cycle time, these two received frames are copied to the actual reception memory (S28). Thereafter, the simultaneity determination processing unit 13a ′ discards the received frame 1-2 and the data temporarily stored in the frame 1-1 primary storage buffer (S29).

また、受信したフレーム1−2の通番データと、フレーム1−1一次格納バッファに格納された通番データとが異なる場合(S27の分岐判断でNo)には、処理ステップS24に飛び、上述した処理を実行する。   If the serial number data of the received frame 1-2 is different from the serial number data stored in the frame 1-1 primary storage buffer (No in the branch determination in S27), the process jumps to the processing step S24, and the above-described processing is performed. Execute.

なお、受信したデータがフレーム1−1でも、フレーム1−2でもない場合には、分岐判断処理ステップS22でNoとなるため、処理ステップS11に戻り、同時性判定処理部13a′は、次の受信を待つ。そして、フレーム1−1,フレーム1−2以外のデータを受信した場合は、その他のデータ処理やプロトコル処理が実行されるのはもちろんである。   If the received data is neither the frame 1-1 nor the frame 1-2, the branch determination processing step S22 is No, so the process returns to the processing step S11, and the concurrency determination processing unit 13a ' Wait for reception. Of course, when data other than the frames 1-1 and 1-2 is received, other data processing and protocol processing are executed.

通常、図13に示すように、送信側のノード(1)は、「フレーム1−1」→「フレーム1−2」の順で送信するため、受信側のノード(2)において「フレーム1−1」が常に最初に受信すると考え、「フレーム1−1一次格納バッファ」のみを設けておけば良いという考えもある。しかし、インターネットプロトコル(IP)では、マルチキャストで使用するデータグラム型の通信データは、前後関係が保証できないことがあるため、同質の通信サイクルタイムで送信されたフレームの受信順序は、必ずしも送信の順序とはならず、フレーム1−2を先に受信することもありえる。係る場合を想定し、本実施形態では、フレーム1−2一次格納バッファも設けた。   Normally, as shown in FIG. 13, the transmission side node (1) transmits in the order of “frame 1-1” → “frame 1-2”. There is also an idea that only “Frame 1-1 primary storage buffer” should be provided, assuming that “1” is always received first. However, in the Internet protocol (IP), the datagram type communication data used in multicast may not be able to guarantee the context, so the reception order of frames transmitted with the same communication cycle time is not necessarily the order of transmission. The frame 1-2 may be received first. Assuming such a case, the frame 1-2 primary storage buffer is also provided in this embodiment.

図15から図17に示した本実施形態は、受信フレームが2つという簡単な例に基づいて示したが、同時性が要求される受信フレームが3つ以上となる場合ももちろんあり、係る場合には、その受信フレーム数に応じて一次格納バッファの数を増やしたり、図16,図17に示す判断処理フローを適宜修正して対応することになる。   The present embodiment shown in FIG. 15 to FIG. 17 is shown based on a simple example of two reception frames. Of course, there may be three or more reception frames for which simultaneity is required. Depending on the number of received frames, the number of primary storage buffers is increased, or the determination processing flow shown in FIGS.

従来のデータリンクを説明する図である。It is a figure explaining the conventional data link. トークパッシング方式を説明する図である。It is a figure explaining a talk passing system. 本発明の一実施形態を示すネットワーク構成の一例を示す図である。It is a figure which shows an example of the network structure which shows one Embodiment of this invention. PLC10を構成するCPUユニット12と通信ユニット13の内部構成を示す図である。FIG. 2 is a diagram illustrating an internal configuration of a CPU unit 12 and a communication unit 13 that constitute a PLC 10. ネットワーク構成を示す概略図である。It is the schematic which shows a network structure. 受信側の機能に着目した本発明の要部となる通信ユニット13の内部構造の一例を示す図である。It is a figure which shows an example of the internal structure of the communication unit 13 used as the principal part of this invention paying attention to the function of the receiving side. 本実施形態の作用を説明する図である。It is a figure explaining the effect | action of this embodiment. マルチキャストアドレスそれ自体のデータを関連づけたメモリマップテーブルを示す図である。It is a figure which shows the memory map table which linked | related data of the multicast address itself. メモリマップテーブルの別のデータ構造の一例を示す図である。It is a figure which shows an example of another data structure of a memory map table. 送信側のメモリマップテーブルの具体的な一例を示す図である。It is a figure which shows a specific example of the memory map table of a transmission side. 受信側のメモリマップテーブルの具体的な一例を示す図である。It is a figure which shows a specific example of the memory map table on the receiving side. 図10,図11のメモリマップテーブルに基づくマルチキャストアドレスの具体的な取得の手順を示す図である。It is a figure which shows the procedure of the concrete acquisition of the multicast address based on the memory map table of FIG. 10, FIG. 本実施形態の通信フレームの送信状況の一例を示す図である。It is a figure which shows an example of the transmission condition of the communication frame of this embodiment. 本発明の第2実施形態の要部を示している図である。It is a figure which shows the principal part of 2nd Embodiment of this invention. 本実施形態のデータフローダイアグラムを示す図である。It is a figure which shows the data flow diagram of this embodiment. 同時性判定処理部の機能を示すフローチャートの一部である。It is a part of flowchart which shows the function of a simultaneity determination processing part. 同時性判定処理部の機能を示すフローチャートの一部である。It is a part of flowchart which shows the function of a simultaneity determination processing part.

符号の説明Explanation of symbols

10 PLC(ノード)
12 CPUユニット
13 通信ユニット
13a MPU
13a′ 同時性判定処理府
13b ROM
13b′ メモリマップテーブル
13c RAM
13c′ 受信用実メモリ
13d 通信インタフェース
13d′ マルチキャスト受信テーブル
20 スイッチングハブ
21 ネットワークケーブル
10 PLC (node)
12 CPU unit 13 Communication unit 13a MPU
13a 'concurrency judgment processing office 13b ROM
13b 'Memory map table 13c RAM
13c 'real memory for reception 13d communication interface 13d' multicast reception table 20 switching hub 21 network cable

Claims (7)

スイッチングハブを介して複数のノードが接続されたネットワーク上で、その複数のノード間でデータを共有することができるネットワークシステムであって、
前記複数のノードは、前記スイッチングハブを介して全2重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、
複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、
前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルとを備え、
前記複数のノードのうち、送信側のノードの前記通信インタフェースは、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信する機能を有し、
前記複数のノードのうち、受信側のノードは、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段を持ち、
前記受信側のノードの前記通信インタフェースは、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する機能を持ち、
前記送信側のノードは、自ノードの送信タイミングでサイクリックにデータ送信を行なうことで受信側のノードとの間でデータ共有することを特徴とするネットワークシステム。
A network system capable of sharing data between a plurality of nodes on a network in which a plurality of nodes are connected via a switching hub,
The plurality of nodes include a communication interface capable of transmitting and receiving data by multicast communication using the full duplex communication method via the switching hub;
A virtual memory for storing data to be transmitted to other nodes in order to share data among a plurality of nodes;
A table for associating a multicast address and transmission data for transmitting data on the virtual memory to another node;
Of the plurality of nodes, the communication interface of the transmission side node has a function of transmitting data by multicast together with a multicast address based on the table,
Among the plurality of nodes, the receiving node has multicast address information storage means for storing a multicast address of data required by itself among data transmitted by multicast from other nodes,
When the communication interface of the node on the receiving side receives the data transmitted by multicast, the communication interface determines whether or not the data is necessary based on the multicast address stored in the multicast address information storage means. Incorporates only the data required by the node into the node, and in the case of data that does not need itself, has a function to discard,
The network system according to claim 1, wherein the transmitting side node shares data with the receiving side node by cyclically transmitting data at a transmission timing of the own node.
前記テーブルを構成するマルチキャストアドレスと送信データの関連付けが複数の組で構成され、かつ、その組単位で送信用のフレームを構成する場合は、自ノードの送信タイミングの1サイクル中に送信する複数のフレームに同一の識別番号を付加して送信し、
前記受信側のノードでは、前記複数のフレームを受信した場合に、その複数のフレームの識別番号が異なる場合には、廃棄処理をすることを特徴とする請求項1に記載のネットワークシステム。
When the association of the multicast address and transmission data constituting the table is composed of a plurality of sets, and a frame for transmission is configured in units of the set, a plurality of transmissions are performed during one cycle of the transmission timing of the own node. Send the frame with the same identification number,
2. The network system according to claim 1, wherein when the plurality of frames are received, the receiving-side node performs discard processing if the plurality of frames have different identification numbers.
前記受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、所得することを特徴とする請求項1または2に記載のネットワークシステム。   The receiving-side node stores and holds information for identifying a transmitting-side node that transmits data required by itself, and address information of the transmitting-side virtual memory in the transmitting-side node, and the stored and held information 3. The network system according to claim 1, wherein a multicast address is inquired to the transmission side node based on the information and income is obtained. スイッチングハブを介して全2重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、
複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、
前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルと、
他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段とを備え、
前記通信インタフェースは、
前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信する機能と、
マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する機能とを有する
ことを特徴とするプログラマブルコントローラ。
A communication interface capable of transmitting and receiving data by multicast communication in a full duplex communication system via a switching hub;
A virtual memory for storing data to be transmitted to other nodes in order to share data among a plurality of nodes;
A table associating a multicast address and transmission data for transmitting the data on the virtual memory to another node;
Multicast address information storage means for storing a multicast address of data required by itself among data transmitted by multicast from other nodes,
The communication interface is
A function of transmitting data by multicast together with a multicast address based on the table;
When receiving data transmitted by multicast, it is determined whether or not it is necessary data based on the multicast address stored in the multicast address information storage means, and only the data required by itself is taken into the node, A programmable controller characterized by having a function of discarding data that is not required by the device.
スイッチングハブを介して複数のノードが接続されたネットワーク上で、その複数のノード間でデータを共有することができるネットワークシステムにおけるデータ共有方法であって、
前記複数のノードは、前記スイッチングハブを介して全2重の通信方式でマルチキャスト通信によりデータの送受信が可能な通信インタフェースと、
複数のノード間でデータ共有するために他のノードへ送信するデータが格納される仮想メモリと、
前記仮想メモリ上のデータを他のノードへ送信するためのマルチキャストアドレスと送信データを関連付けしたテーブルとを備え、
前記複数のノードのうちの送信側のノードの前記通信インタフェースが、前記テーブルに基づいてマルチキャストアドレスとともにマルチキャストによりデータ送信し、
前記複数のノードのうちの受信側のノードが、他のノードからマルチキャストにより送信されるデータのうち、自己が必要とするデータのマルチキャストアドレスを記憶するマルチキャストアドレス情報記憶手段を持ち、その受信側のノードの前記通信インタフェースが、マルチキャストにより送信されてきたデータを受信すると、前記マルチキャストアドレス情報記憶手段に格納されたマルチキャストアドレスに基づき自己が必要とするデータか否かを判断し、自己が必要とするデータのみノード内に取り込み、自己が必要でないデータの場合には、廃棄する処理を実行し、
前記送信側のノードは、自ノードの送信タイミングでサイクリックにデータ送信を行なうことで受信側のノードとの間でデータ共有することを特徴とするデータ共有方法。
A data sharing method in a network system capable of sharing data between a plurality of nodes on a network in which a plurality of nodes are connected via a switching hub,
The plurality of nodes include a communication interface capable of transmitting and receiving data by multicast communication using the full duplex communication method via the switching hub;
A virtual memory for storing data to be transmitted to other nodes in order to share data among a plurality of nodes;
A table for associating a multicast address and transmission data for transmitting data on the virtual memory to another node;
The communication interface of the transmitting node among the plurality of nodes transmits data by multicast together with a multicast address based on the table,
The receiving node of the plurality of nodes has multicast address information storage means for storing a multicast address of data required by itself among the data transmitted by multicast from other nodes. When the communication interface of the node receives the data transmitted by multicast, the node determines whether the data is necessary or not based on the multicast address stored in the multicast address information storage means. If the data is taken into the node and the data is not necessary, execute the discarding process,
The data sharing method, wherein the transmitting side node shares data with the receiving side node by cyclically transmitting data at the transmission timing of the own node.
前記テーブルを構成するマルチキャストアドレスと送信データの関連付けが複数の組で構成され、かつ、その組単位で送信用のフレームを構成する場合は、自ノードの送信タイミングの1サイクル中に送信する複数のフレームに同一の識別番号を付加して送信し、
前記受信側のノードは、前記複数のフレームを受信した場合に、その複数のフレームの識別番号が異なる場合には、廃棄処理を実行することを特徴とする請求項5に記載のデータ共有方法。
When the association of the multicast address and transmission data constituting the table is composed of a plurality of sets, and a frame for transmission is configured in units of the set, a plurality of transmissions are performed during one cycle of the transmission timing of the own node. Send the frame with the same identification number,
6. The data sharing method according to claim 5, wherein when the plurality of frames are received, the receiving node executes a discarding process when the plurality of frames have different identification numbers.
前記受信側のノードは、自己が必要とするデータを送信する送信側のノードを特定する情報と、その送信側のノードにおける送信側の仮想メモリのアドレス情報を記憶保持し、その記憶保持した情報に基づいて前記送信側のノードに対しマルチキャストアドレスの問い合わせをし、所得する処理を実行することを特徴とする請求項5または6に記載のデータ共有方法。   The receiving-side node stores and holds information for identifying a transmitting-side node that transmits data required by itself, and address information of the transmitting-side virtual memory in the transmitting-side node, and the stored and held information 7. The data sharing method according to claim 5, wherein a process of making an inquiry about a multicast address is performed to the transmitting side node and income is obtained.
JP2006000265A 2005-01-04 2006-01-04 Network system, programmable controller, and data sharing method Active JP4259526B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006000265A JP4259526B2 (en) 2005-01-04 2006-01-04 Network system, programmable controller, and data sharing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005000296 2005-01-04
JP2006000265A JP4259526B2 (en) 2005-01-04 2006-01-04 Network system, programmable controller, and data sharing method

Publications (2)

Publication Number Publication Date
JP2006217580A true JP2006217580A (en) 2006-08-17
JP4259526B2 JP4259526B2 (en) 2009-04-30

Family

ID=36980360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006000265A Active JP4259526B2 (en) 2005-01-04 2006-01-04 Network system, programmable controller, and data sharing method

Country Status (1)

Country Link
JP (1) JP4259526B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012074904A (en) * 2010-09-28 2012-04-12 Yamaha Corp Communication system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS568950A (en) * 1979-07-03 1981-01-29 Nippon Telegr & Teleph Corp <Ntt> Multiple address communication system
JP2002198982A (en) * 2000-12-25 2002-07-12 Mitsubishi Electric Corp System and method for data communication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS568950A (en) * 1979-07-03 1981-01-29 Nippon Telegr & Teleph Corp <Ntt> Multiple address communication system
JP2002198982A (en) * 2000-12-25 2002-07-12 Mitsubishi Electric Corp System and method for data communication

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012074904A (en) * 2010-09-28 2012-04-12 Yamaha Corp Communication system

Also Published As

Publication number Publication date
JP4259526B2 (en) 2009-04-30

Similar Documents

Publication Publication Date Title
JP3854578B2 (en) System and method for parallel transmission of data
US8478908B2 (en) Fieldbus gateway using virtual serial filedbus port and data transmission method thereof
US8670460B2 (en) Method and system for optimized transmission of data between a control device and a plurality of field devices
JP2660422B2 (en) LAN mode coupling device with operation mode setting
CN101461184A (en) Gateway for a data bus system
CN101611615B (en) Filtering of redundant frames in a network node
US11483240B2 (en) Master-slave bus system and method for operating a bus system
JP4154853B2 (en) A redundant programmable controller and an equalization method for equalizing control data.
US20050169262A1 (en) Method and system for transmitting data via switchable data networks
CN114174953A (en) One port of low complexity Ethernet node (LEN)
CN112929418B (en) Rapid IO high-speed communication method and system based on publish-subscribe
JP4259526B2 (en) Network system, programmable controller, and data sharing method
KR970000667B1 (en) Communication control device
US7420985B2 (en) Method for operating an isochronous cyclic communication system
US9160661B2 (en) Method and apparatus for full duplex serial shifting mode and switch mode data transmission
JP2006109258A (en) Communication method and communication apparatus
US20060146829A1 (en) Network system, nodes connected thereto and data communication method using same
CN114245978B (en) Host device, operation processing device, controller, network system, and method
US20040105398A1 (en) Method and electronic switching circuit for a scalable communication interface in automation components
WO2014020667A1 (en) Programmable logic controller
US7818463B2 (en) Method for processing consistent data sets by an asynchronous application of a subscriber in an isochronous, cyclical communications system
JP2006171833A (en) Plc data exchange system and method for controlling it
JPH077519A (en) Terminal equipment for local area network
RU2659751C2 (en) Input output device transferring and/or receiving data to/from control device
CN101645195B (en) Recognizing telegram boundaries

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080930

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20081002

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20081024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090202

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4259526

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5