JP2011053978A - Machine-to-machine communication system using asynchronous multicast middleware - Google Patents

Machine-to-machine communication system using asynchronous multicast middleware Download PDF

Info

Publication number
JP2011053978A
JP2011053978A JP2009203007A JP2009203007A JP2011053978A JP 2011053978 A JP2011053978 A JP 2011053978A JP 2009203007 A JP2009203007 A JP 2009203007A JP 2009203007 A JP2009203007 A JP 2009203007A JP 2011053978 A JP2011053978 A JP 2011053978A
Authority
JP
Japan
Prior art keywords
logical channel
owner
machine
data
management table
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.)
Pending
Application number
JP2009203007A
Other languages
Japanese (ja)
Inventor
Noriyuki Kaiso
敬之 海藻
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.)
THINKTUBE Ltd
Original Assignee
THINKTUBE Ltd
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 THINKTUBE Ltd filed Critical THINKTUBE Ltd
Priority to JP2009203007A priority Critical patent/JP2011053978A/en
Publication of JP2011053978A publication Critical patent/JP2011053978A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a machine-to-machine communication system using asynchronous multicast middleware which autonomously achieves an inter-group communication function only by many client apparatuses without using a server. <P>SOLUTION: At least one or more machines 100 such as industrial robots are connected to a network 200. In addition to a data communication I/F 10 and an application program 30, each machine 100 includes a middleware program 20 which can achieve machine-to-machine type asynchronous multicast. The middleware program 20 includes: a logical channel management function 21 between middleware programs 20; a logical channel data distribution function 22 for distributing communication data to a segment 210 in which the machine 100 belonging to the logical channel exists; and a data screening function 23 to achieve machine-to-machine type asynchronous multicast communication. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、製造現場の産業用ロボット等の機械設備間に構築したネットワークシステムを用いて、サーバーを用意することなく当該機械設備同士が連携し合って制御データや計測データなどのやりとりを行う、機械設備間通信システムおよび通信方法に関する。   The present invention uses a network system constructed between machine equipment such as industrial robots on the manufacturing site, and exchanges control data and measurement data in cooperation with each other without preparing a server. The present invention relates to a communication system between machine facilities and a communication method.

製造現場などに導入された産業用ロボット等の機械設備は、旧来はスタンドアローン形態で稼働していたが、近年は製造現場等の一層の効率化を図るべく、産業用ロボット等の機械設備間にネットワークシステムが構築され、当該ネットワーク通信機能を利用し、作業指示データや作業報告データなどの制御データや、作業環境データなどの計測データをやり取りし、作業工程の効率的管理や機械設備間の連携による生産性向上が図られつつある。   In the past, machinery and equipment such as industrial robots that were introduced at manufacturing sites were operating in a stand-alone form, but recently, in order to further increase efficiency at manufacturing sites and the like, A network system has been built, and using the network communication function, control data such as work instruction data and work report data, and measurement data such as work environment data are exchanged for efficient management of work processes and between machine equipment. Productivity is being improved through collaboration.

機械設備間にネットワーク通信システムを構築する場合、問題となるのは、ネットワークの構成要素が動的に変動しやすい点である。もし、ネットワーク構成要素が固定的で変動しないものであれば各機器は一度割り振られたアドレス情報を保持しておけば通信相手を個別に指定して送受するいわゆるユニキャスト方式の通信手法で足りる。しかし、産業用ロボット等の機械設備の制御には、短期間に産業用ロボット等の機械設備の組み替えが発生し、また、製造作業手順を与える制御プログラム組み替えや製造指示データの変更が発生するなど、ネットワークの構成要素が変動しやすいという特徴がある。このような環境下でのネットワーク構築は、通信相手を固定化できず長期間にわたって安定運用することは容易ではない。   When constructing a network communication system between mechanical facilities, the problem is that the components of the network are likely to fluctuate dynamically. If the network components are fixed and do not fluctuate, it is sufficient to use a so-called unicast communication method in which each device retains address information allocated once and transmits / receives data by individually specifying a communication partner. However, control of machinery and equipment such as industrial robots requires rearrangement of machinery and equipment such as industrial robots in a short period of time, and rearrangement of control programs that provide manufacturing work procedures and changes in manufacturing instruction data. The network component is easy to change. Network construction under such an environment is not easy to stably operate for a long period of time because the communication partner cannot be fixed.

従来技術において、上記の状況下でネットワーク構築を行う手法として想定されるものとしては、外部サーバーを使用せず、ネットワークのリソースであるルーターが備えるIPマルチキャスト機能を活用し、多数のクライアント機器である機械設備のみで自律的にグループ間通信機能を実現する手法がある。IPマルチキャストとは、ネットワーク上でのデータのやりとりであるキャストの方式のひとつで、参加を表明した特定複数の相手に同じ内容のデータを送信する方式のことである。IPマルチキャストはTCP/IPネットワークを前提とし、マルチキャストアドレスと呼ばれる特殊なIPアドレスにデータを送信する方式である。IPマルチキャストでは、ルーターが重要な役割を演じる。データはネットワークの途中のルーターなどによって、配信先の数に応じて自動的に複製された上で配信される。通信バスが分岐する個所にあるルーターなどで効率的にデータが複製されるので、音声や動画などの容量の大きなデータでも効率よく、また回線の通信帯域を圧迫することなく配信することができる。   In the prior art, what is assumed as a technique for constructing a network under the above-described situation is that there are a large number of client devices without using an external server and utilizing an IP multicast function provided in a router which is a network resource. There is a method to realize the inter-group communication function autonomously with only mechanical equipment. IP multicast is a method of casting that is data exchange on a network, and is a method of transmitting data having the same contents to a plurality of specific parties who have announced participation. IP multicast is a method for transmitting data to a special IP address called a multicast address, assuming a TCP / IP network. Routers play an important role in IP multicast. Data is automatically replicated and distributed according to the number of distribution destinations by a router in the middle of the network. Since data is efficiently replicated by a router or the like at a location where the communication bus branches, even large-capacity data such as voice and video can be distributed efficiently and without compressing the communication bandwidth of the line.

しかし、上記第1の手法の場合には以下の問題がある。
まず、第1には、機械設備の稼働率が低下しやすいという問題である。上記第1の手法では、各々の機械設備のアドレス情報も含めて管理情報はすべてサーバーで一括管理されることになるため、サーバーが障害を起こして停止した場合や、サーバーの保守メンテナンスを行う場合にはサーバーが有効に機能しないため、結局システム全体が機能停止してしまうこととなり、産業ロボットなどの機械設備が稼働できなくなる。工場などでは産業ロボットなどの機械設備の不具合がないのにサーバーの障害や保守メンテナンスによりシステム全体が停止することは許容されるものではない。
However, the first method has the following problems.
First, there is a problem that the operating rate of the mechanical equipment is likely to decrease. In the first method, all management information including the address information of each machine is managed collectively by the server. Therefore, when the server stops due to a failure, or when maintenance of the server is performed Since the server does not function effectively, the entire system stops functioning eventually, and machine equipment such as industrial robots cannot be operated. In factories and the like, there is no problem with mechanical equipment such as industrial robots, but it is not permitted that the entire system is stopped due to server failure or maintenance.

第2の問題は、第1の手法により機械設備をネットワーク化してシステム化する場合、サーバーが必要となってしまう点である。ネットワークに参加するロボットが要求に応じて頻繁に変更されるような環境では、サーバー上の変更管理、システム構築などが複雑になるため、簡便にネットワークシステムを構築することができない。   The second problem is that a server is required when networking machine equipment by the first method. In an environment where the robots participating in the network are frequently changed according to demand, change management on the server, system construction, and the like become complicated, and thus a network system cannot be constructed easily.

第3の問題は、スケーラビリティ要件を満足できない可能性が残る点である。第1の手法では、すべてのパケット送受信がサーバーに集中するため、負荷が集中した時にサーバーの処理が重くなってしまい、負荷をうまくネットワークシステム内のリソースに分散させることができず、スケーラビリティが向上しない。   The third problem is that there remains a possibility that the scalability requirement cannot be satisfied. In the first method, since all packet transmission and reception are concentrated on the server, the server processing becomes heavy when the load is concentrated, and the load cannot be distributed well to resources in the network system, improving scalability. do not do.

次に、上記第2の手法の場合にも以下の問題がある。
第1には、IPマルチキャストを実現するには、ルーターなどの通信機器を含めてネットワーク内の全ての機器がIPマルチキャスト対応でなければならないという問題がある。つまり、既存のルーターが導入済みでネットワークが構築されている場合であってもルーター220をIPマルチキャスト対応のものに改造する必要がある。
Next, the second method also has the following problem.
First, in order to realize IP multicast, there is a problem that all devices in the network including communication devices such as routers must be compatible with IP multicast. In other words, even when an existing router is already installed and a network is constructed, it is necessary to modify the router 220 to be compatible with IP multicast.

第2には、通信の信頼性の問題である。ネットワーク通信においてパケット損失などの不具合が発生する可能性がある。しかし、IPマルチキャスト方式では、パケット損失などに対応するための再送機能などは基本機能には盛り込まれておらず、パケット損失時の再送処理は個別に実装することとなり、その実装は容易ではない。   The second problem is communication reliability. Problems such as packet loss may occur in network communication. However, in the IP multicast method, a retransmission function for dealing with packet loss or the like is not included in the basic function, and retransmission processing at the time of packet loss is individually implemented, and the implementation is not easy.

第3には、現場要件に応じた高度機能の実装、例えばパケット遅配処理などができないという問題である。工場などの生産現場の産業ロボット等の機械設備では組み替え等により一時離脱が頻繁に起こり得る。一時離脱した後にネットワークシステムに復帰した場合、その間に送信されたパケットを機器に遅配する必要があるが、IPマルチキャストではパケットを遅配することは出来ない。そのため、機械設備が一時離脱した場合にはシステム全体の稼働を止めて当該機械設備がネットワークシステムに復帰するまで一時停止したり、機械設備が一時離脱・復帰した場合に関連するパケットを洗い出して再送するというパケット再送処理を実装したりする必要がある。   Thirdly, there is a problem that it is impossible to implement advanced functions according to site requirements, such as packet delay processing. In mechanical equipment such as industrial robots at production sites such as factories, temporary detachment can frequently occur due to recombination. When returning to the network system after temporarily leaving, it is necessary to delay the packet transmitted during that time to the device, but the packet cannot be delayed by IP multicast. For this reason, when a machine facility is temporarily disconnected, the entire system is stopped and suspended until the machine facility returns to the network system, or a packet related to the case when the machine facility is temporarily disconnected or returned is retransmitted. It is necessary to implement packet resend processing to do.

上記問題点に鑑み、本発明は、基本的にはサーバーを使用せず、多数のクライアント機器のみで自律的にグループ間通信機能を実現する非同期型マルチキャストミドルウェアを用いた機械設備間通信システムを提供することを目的とする。   In view of the above problems, the present invention basically provides a communication system between machine facilities using asynchronous multicast middleware that autonomously realizes an inter-group communication function using only a large number of client devices without using a server. The purpose is to do.

上記目的を達成するため、本発明の非同期型マルチキャストミドルウェアを用いた機械設備間通信システムは、2台以上の機械設備において、前記機械設備間のデータ通信手段となるネットワークリソースと、アプリケーションプログラムと、マシンツーマシン型非同期マルチキャストを可能とするミドルウェアプログラムを装備し、前記機械設備間に構築した論理チャンネルに属する前記機械設備同士がデータの送受信を行う機械設備間通信システムであって、
前記ミドルウェアプログラムのすべてにおいて、前記論理チャンネルごとに存在する論理チャンネル・オーナーに関するデータを格納する論理チャンネル・オーナー管理テーブルと備え、 前記論理チャンネル・オーナーとなっている前記ミドルウェアプログラムにおいて、当該論理チャンネルに属するノードである論理チャンネル・Subscriberに関するデータを格納する論理チャンネル・Subscriber管理テーブルを備え、送信データを持ち論理チャンネル・Publisherとなる前記ミドルウェアプログラムが、前記論理チャンネル・オーナー管理テーブルを検索して前記論理チャンネル・オーナーのノードに前記送信データを送信する論理チャンネルデータ送受信処理を実行し、前記論理チャンネル・オーナーである前記ミドルウェアプログラムが、前記論理チャンネル・Subscriber管理テーブルを用いて登録先のノードに対して前記送信データを配信する論理チャンネルデータ集配信処理を実行することにより、マシンツーマシン型非同期マルチキャスト通信を可能としたことを特徴とする。
In order to achieve the above object, a communication system between machine facilities using the asynchronous multicast middleware of the present invention, in two or more machine facilities, a network resource serving as data communication means between the machine facilities, an application program, A machine-to-machine communication system that is equipped with a middleware program that enables machine-to-machine asynchronous multicast and that transmits and receives data between the machine equipments belonging to a logical channel constructed between the machine equipments,
All of the middleware programs include a logical channel owner management table that stores data relating to logical channel owners that exist for each logical channel. In the middleware program that is the logical channel owner, A logical channel that is a node to which the node belongs, a logical channel that stores data relating to the Subscriber, and a Subscriber management table, and the middleware program that has transmission data and becomes a logical channel and Publisher searches the logical channel and the owner management table to search for the logical channel Performing logical channel data transmission / reception processing for transmitting the transmission data to the channel owner node, and the middleware program as the logical channel owner Machine-to-machine asynchronous multicast communication is enabled by executing logical channel data collection and distribution processing for distributing the transmission data to a registration destination node using a physical channel / Subscriber management table. .

上記構成の機械設備間通信システムにおいて、論理チャンネルを用いたデータの送受信のほか、以下に示すような様々な処理が可能である。   In the communication system between mechanical facilities having the above-described configuration, in addition to data transmission / reception using a logical channel, various processes as described below are possible.

第1は、機械設備間通信システムにおいて論理チャンネルを構築する処理である。前記論理チャンネル・オーナー管理テーブルの検索の結果、前記検索にかかる論理チャンネル・オーナーが存在しない場合、前記論理チャンネル・オーナーとなりたいノードのミドルウェアプログラムが、論理チャンネル・オブジェクトを生成し、自らを前記論理チャンネル・オーナーのノードとして自ら管理する前記論理チャンネル・オーナー管理テーブルに登録するとともに、他のノードのミドルウェアプログラムに対して自らが前記論理チャンネル・オーナーであることを宣言するデータをブロードキャスト送信し、論理チャンネルを構築する処理とする。   The first is processing for constructing a logical channel in a communication system between machine facilities. If the logical channel owner related to the search does not exist as a result of the search of the logical channel owner management table, the middleware program of the node that wants to become the logical channel owner generates a logical channel object and identifies itself as the logical channel owner. Register in the logical channel owner management table managed by itself as a channel owner node, and broadcast to the middleware program of other nodes broadcast data declaring that it is the logical channel owner. It is assumed that the channel is built.

第2は、機械設備間通信システムにおいて既存の論理チャンネルに参加する処理である。参加希望のノードの前記ミドルウェアプログラムは、自らの前記論理チャンネル・オーナー管理テーブルを検索し、検索された論理チャンネル・オーナーに対して参加要求を示すデータをユニキャスト送信し、前記論理チャンネル・オーナーから参加許可を示すデータを受信した場合に、自ら管理する前記論理チャンネル・オーナー管理テーブルに前記論理チャンネル・オーナーのノードを登録し、前記論理チャンネル・オーナーは、前記参加許可を出す際に、自ら管理する前記論理チャンネル・Subscriber管理テーブルに前記参加要求を示すデータを送信した前記ノードを登録する処理とする。   The second is a process of joining an existing logical channel in the communication system between machine facilities. The middleware program of the node that wants to participate searches its own logical channel owner management table, unicasts data indicating a participation request to the searched logical channel owner, and from the logical channel owner. When data indicating participation permission is received, the node of the logical channel owner is registered in the logical channel owner management table managed by itself, and the logical channel owner manages itself when issuing the participation permission. The process of registering the node that has transmitted the data indicating the participation request in the logical channel / Subscriber management table is performed.

第3は、機械設備間通信システムにおいて既に参加している論理チャンネルからノードが離脱する処理である。離脱を希望するノードのミドルウェアプログラムは、自らの前記論理チャンネル・オーナー管理テーブルを検索し、検索された論理チャンネル・オーナーに対して離脱要求を示すデータをユニキャスト送信し、前記論理チャンネル・オーナーから離脱許可を示すデータを受信した場合、自ら管理する前記論理チャンネル・オーナー管理テーブルから前記論理チャンネル・オーナーのノードを削除し、前記論理チャンネル・オーナーは、前記離脱許可を出す際に、自ら管理する前記論理チャンネル・Subscriber管理テーブルから前記離脱要求を示すデータを送信した前記ノードを削除する処理とする。   The third is a process in which a node leaves a logical channel already participating in the communication system between machine facilities. The middleware program of the node desiring to leave searches its own logical channel owner management table, unicasts data indicating a withdrawal request to the searched logical channel owner, and from the logical channel owner. When data indicating leave permission is received, the logical channel owner node is deleted from the logical channel owner management table managed by itself, and the logical channel owner manages it when issuing the leave permission. The processing is to delete the node that has transmitted the data indicating the withdrawal request from the logical channel / Subscriber management table.

第4は、機械設備間通信システムにおいて、既に参加している論理チャンネルからノードが一時離脱する処理である。一時処理を希望するノードのミドルウェアプログラムは、自らの前記論理チャンネル・オーナー管理テーブルを検索し、検索された論理チャンネル・オーナーに対して一時離脱要求を示すデータをユニキャスト送信し、前記論理チャンネル・オーナーから一時離脱許可を示すデータを受信した場合、自ら管理する前記論理チャンネル・オーナー管理テーブルにおいて前記論理チャンネル・オーナーのノードを一時停止状態と扱い、前記論理チャンネル・オーナーは、前記離脱許可を出す際に、自ら管理する前記論理チャンネル・Subscriber管理テーブルから前記一時離脱要求を示すデータを送信した前記ノードを一時停止状態と扱う処理である。   The fourth is processing in which a node temporarily leaves a logical channel that has already participated in a communication system between machine facilities. The middleware program of the node that desires temporary processing searches its logical channel owner management table, unicasts data indicating a temporary withdrawal request to the searched logical channel owner, and When receiving data indicating permission to temporarily leave from the owner, the logical channel owner node is treated as being temporarily stopped in the logical channel owner management table managed by the owner, and the logical channel owner issues the leave permission. At this time, the node that has transmitted the data indicating the temporary withdrawal request from the logical channel / subscriber management table managed by itself is treated as a suspended state.

第5は、機械設備間通信システムにおいて、機械装置がネットワーク自体から離脱する場合の処理である。離脱する機械設備のノードのミドルウェアプログラムが、前記論理チャンネル・オーナーテーブルを検索し、自らのノードが論理チャンネル・オーナーとなっている論理チャンネル・オブジェクトが存在するか否か検知し、存在する場合、前記論理チャンネル・Subscriber管理テーブルに登録されている全てのSubscriberのノードに対して論理チャンネル・オーナー代替希望を示すデータを送信し、前記論理チャンネル・オーナー代替希望に応じるノードから送信されるチャンネル・オーナー適合性情報を受信し、最適であると判断したSubscriberのノードを一つ選択し、前記論理チャンネル・Subscriber管理テーブルデータを全て送信する、論理チャンネル・オーナー移転処理を実行し、前記論理チャンネル・オーナー管理テーブルを検索し、自らがSubscriberのノードとして参加している論理チャンネルを検知し、当該論理チャンネルからの前記離脱または前記一時離脱処理を実行する処理である。
なお、本発明の機械設備間通信システムを実現する処理ステップはプログラムの形で提供することができる。
Fifth, in the communication system between machine facilities, is processing when the machine device leaves the network itself. When the middleware program of the node of the machine facility to be detached searches the logical channel owner table and detects whether there is a logical channel object whose own node is the logical channel owner, The channel owner transmitted from the node corresponding to the logical channel / owner substitution request is transmitted to all Subscriber nodes registered in the logical channel / subscriber management table. Receiving the compatibility information, selecting one of the subscriber nodes judged to be optimal, executing the logical channel / owner transfer process for transmitting all the logical channel / subscriber management table data, and executing the logical channel owner Searches the management table and himself / herself This is a process of detecting a logical channel participating as an iber node and executing the leaving or temporary leaving process from the logical channel.
In addition, the process step which implement | achieves the communication system between machine facilities of this invention can be provided with the form of a program.

本発明にかかる非同期型マルチキャストミドルウェアを用いた機械設備間通信システムによれば、産業用ロボット等の機械設備にネットワークリソースを搭載し、ネットワークを介した通信を行う上で、アプリケーションが固定的なアドレス情報を指定することなく、動的にミドルウェアにより管理される論理的な“論理チャンネル”を指定することによりミドルウェアに通信を任せ、ミドルウェア間で、マシンツーマシンの通信を非同期にて実行し、当該論理チャンネルに属するすべてのセグメントに対して配信を行えば、当該論理チャンネルに属するノードのミドルウェアを介してアプリケーションに渡され、所望の通信を行うことが可能となる。また、特定のサーバーを必要とせず、マシンツーマシン方式であるのでサーバー障害によるシステム全体停止を回避することが可能となる。   According to the communication system between machine facilities using the asynchronous multicast middleware according to the present invention, a network resource is mounted on a machine facility such as an industrial robot, and an application has a fixed address when performing communication via the network. Without specifying information, the logical “logical channel” managed by the middleware is dynamically specified, leaving communication to the middleware, and machine-to-machine communication is executed asynchronously between the middleware. If distribution is performed for all the segments belonging to the logical channel, it is delivered to the application via the middleware of the node belonging to the logical channel, and desired communication can be performed. Further, since a specific server is not required and the machine-to-machine method is used, it is possible to avoid the entire system from being stopped due to a server failure.

以下、本発明の機械設備間通信システムおよび機械設備間通信方法を添付図面に示す実施例に基づいて詳細に説明する。なお、本発明はこれらの実施例に限定されるものではない。   Hereinafter, a communication system between machine facilities and a communication method between machine facilities of the present invention will be described in detail based on embodiments shown in the accompanying drawings. The present invention is not limited to these examples.

本発明の実施例1に係る非同期型マルチキャストミドルウェアを用いた機械設備間通信システム100について説明する。以下の構成例では、機械設備100として産業ロボットを想定した説明とする。   A communication system 100 between machine facilities using the asynchronous multicast middleware according to the first embodiment of the present invention will be described. In the following configuration example, it is assumed that an industrial robot is assumed as the mechanical equipment 100.

図1は、本発明の実施例1に係る機械設備間通信システムの構成例を模式的に示す図である。図1に示すように、本発明の機械設備間通信システムは、少なくとも1つ以上の機械設備100が、データ通信手段となるネットワークリソース200を介して接続されてネットワークシステムが構築されている。ネットワーク構成は多様な構成が可能であるが、図1の例では、ごく簡単にネットワーク200の一つのセグメントのみを示し、機械設備100a、機械設備100b、機械設備100cの3つのみが示されている。なお、図中では各構成要素の付番には適宜添字a,b,cなどが付されている。   FIG. 1 is a diagram schematically illustrating a configuration example of a communication system between machine facilities according to the first embodiment of the present invention. As shown in FIG. 1, in the communication system between machine facilities of the present invention, a network system is constructed by connecting at least one or more machine facilities 100 via a network resource 200 serving as data communication means. Although various network configurations are possible, in the example of FIG. 1, only one segment of the network 200 is shown very simply, and only three of the machine equipment 100a, the machine equipment 100b, and the machine equipment 100c are shown. Yes. In the drawing, suffixes a, b, c, etc. are appropriately added to the numbers of the respective components.

本発明の機械設備間通信システムにおいて通信データは、配信すべき1つまたは複数の宛先へミドルウェアの仲介によって確実に配信される。つまり、本発明ではアプリケーションは、配信先が複数宛先であるか単一宛先であるかにかかわらずデータ配信要求を行う際には常にユニキャスト方式を用いて要求を発行するが、ミドルウェアプログラム20はその要求をブロードキャスト方式や各宛先へのユニキャスト方式へ内部的に変換して配信処理を行う。ミドルウェア20内部において各論理チャンネルに関する宛先を動的に管理しておりアプリケーションレベルでは配信相手のアドレス情報を把握する必要がない。よって機械設備100は生産計画に応じた変更や不具合による一時離脱にデータ集配信の宛先が動的に変化するような環境では構成変更をミドルウェア20が全て自律的に管理してアプリケーションには透過的に処理されるのでこのような環境において適した通信方式となる。   In the communication system between machine facilities of the present invention, communication data is reliably distributed to one or a plurality of destinations to be distributed by middleware. In other words, in the present invention, the application always issues a request using the unicast method when making a data distribution request regardless of whether the distribution destination is a plurality of destinations or a single destination. The request is internally converted into a broadcast method or a unicast method for each destination, and distribution processing is performed. The middleware 20 dynamically manages the destination for each logical channel, and there is no need to grasp the address information of the distribution partner at the application level. Therefore, in the environment where the destination of data collection and delivery changes dynamically due to changes according to the production plan or temporary withdrawal due to malfunction, the machine equipment 100 manages all the configuration changes autonomously and is transparent to the application. Therefore, the communication method is suitable in such an environment.

ここで、従来技術および解決しようとする課題の欄で触れたように、従来技術のIPマルチキャスト方式ではパケット損失時の再送処理ができないなどの課題点があり、機械設備間通信システムの移動時などにネットワークから短時間離脱しまたネットワーク接続されるといった使用環境ではデータを受信できない状況が頻繁に発生している。一方、本発明の機械設備間通信システムではミドルウェア20を導入するのみでネットワークリソースに影響を与えることなくマルチキャスト方式を実現することができる上、後述するようにパケット損失の不具合時に適切に再送または遅配処理を行うことができデータ受信損失の課題を解決することができる。   Here, as mentioned in the column of the prior art and the problem to be solved, there is a problem that the retransmission processing at the time of packet loss cannot be performed in the conventional IP multicast method, such as when the communication system between machine facilities is moving In a use environment where the user leaves the network for a short time and is connected to the network, a situation in which data cannot be received frequently occurs. On the other hand, in the communication system between machine facilities of the present invention, it is possible to realize the multicast system without affecting the network resources only by introducing the middleware 20, and appropriately retransmit or delay the transmission when there is a packet loss problem as will be described later. Processing can be performed and the problem of data reception loss can be solved.

本発明の機械設備間通信システム100では、データ通信は各機械設備間にビルドされる論理チャンネルを介して行う。各機械設備内に“論理チャンネル・オブジェクト”と呼ばれるソフトウェアオブジェクトを生成・記憶させておき、同じ論理チャンネル・オブジェクト同士でデータ通信し合うことにより機械設備間で選択的なデータ通信を可能とする。   In the communication system 100 between machine facilities of this invention, data communication is performed via the logic channel built between each machine facility. A software object called a “logical channel object” is generated and stored in each machine facility, and data communication is performed between the same logical channel objects to enable selective data communication between the machine facilities.

論理チャンネル・オブジェクトは、チャンネルm、チャンネルnといった論理チャンネル単位に生成されるソフトウェアオブジェクトであり、後述する種々のテーブル(論理チャンネル・オーナー管理テーブル、論理チャンネル・Subscriber管理テーブル)そして遅配などを実現するために一時キュー機構などを内包するものである。   The logical channel object is a software object generated in units of logical channels such as channel m and channel n, and implements various tables (logical channel / owner management table, logical channel / subscriber management table) and delay distribution described later. Therefore, a temporary queue mechanism is included.

このようにネットワーク内には複数の論理チャンネルが存在可能であり、これらの論理チャンネル・オブジェクトは別々の機械装置に存在することも可能であり、単一機械装置上で複数の論理チャンネル・オブジェクトが存在することも可能である。一時キューに蓄えられるデータは、メモリ上に存在する場合と、不揮発性媒体上に存在する場合、そしてその両方に存在する場合などが可能である。不揮発性媒体上に存在する場合は、その機械装置をリセットした場合においても一時キューに蓄えられたデータは損失せずリセットから復旧後にデータ配信を継続することが可能である。   In this way, there can be multiple logical channels in a network, and these logical channel objects can exist on separate machines, and multiple logical channel objects can be on a single machine. It can also exist. The data stored in the temporary queue can be present on the memory, on the non-volatile medium, or both. If it exists on a non-volatile medium, even if the mechanical device is reset, data stored in the temporary queue is not lost, and data distribution can be continued after recovery from reset.

各論理チャンネルには、ネットワーク内の1つの論理チャンネル・オブジェクトが論理チャンネル・オーナーとして位置づけられる。論理チャンネル・オブジェクトは、各チャンネルに対してそのオーナーはネットワーク内に1つのみ存在する。論理チャンネル・オーナーは論理チャンネル作成処理(Build)により動的に決定され、また動的に他の機械設備間通信システムへ論理チャンネル・オーナーの役割とその論理チャンネル・オブジェクト・コンテンツを委譲することも可能である。Publisherからのデータはオーナーが受け取り、当該論理チャンネルの登録Subscriberへ論理チャンネル・オーナーが配信を行う。 ある1つのノードが複数の論理チャンネル・オーナーであることも可能、逆にある1つのノードが論理チャンネル・オーナー機能を全く果さない場合もありうる。ネットワーク内に同一論理チャンネルに対して複数の論理チャンネル・オーナーが存在する状況を回避する為に後述するようなプロトコルを採用する。   For each logical channel, one logical channel object in the network is positioned as the logical channel owner. A logical channel object has only one owner in the network for each channel. The logical channel owner is dynamically determined by the logical channel creation process (Build), and the role of the logical channel owner and its logical channel object content can be delegated dynamically to other machine-to-machine communication systems. Is possible. Data from Publisher is received by the owner, and the logical channel owner distributes it to the registered subscriber of the logical channel. One node may be a plurality of logical channel owners, and conversely, one node may not perform the logical channel owner function at all. In order to avoid a situation where a plurality of logical channel owners exist for the same logical channel in the network, a protocol as described later is adopted.

各々の機械設備100の構成を図1を参照しつつ説明する。
図1に示すように、機械設備100は、データ通信インターフェイス10、ミドルウェアプログラム20と、アプリケーションプログラム30、機械設備機能40を備えている。なお、オペレーティングシステムプログラムの図示は省略している。オペレーティングシステムは機械設備100に搭載されているオペレーティングシステムで良いがネットワーク対応のものが好ましい。
The configuration of each mechanical facility 100 will be described with reference to FIG.
As shown in FIG. 1, the machine facility 100 includes a data communication interface 10, a middleware program 20, an application program 30, and a machine facility function 40. The operating system program is not shown. The operating system may be an operating system installed in the machine facility 100, but is preferably a network compatible one.

データ通信インターフェイス10は、コネクタやネットワークカードなどのネットワーク接続に必要な物理的なモジュール類も含んでいる。データ通信インターフェイス10は、例えば、LANなどで広く用いられるイーサネットなど従来技術のものでも良く、また、今後開発されるインターフェイス技術も適用することができる。   The data communication interface 10 also includes physical modules necessary for network connection such as connectors and network cards. For example, the data communication interface 10 may be a conventional technology such as Ethernet widely used in a LAN or the like, and an interface technology developed in the future can also be applied.

アプリケーションプログラム30は、機械設備100の本来の機械設備機能40を稼働させるためのプログラムである。本発明ではアプリケーションプログラム30の構成について特に限定されず、言語も限定されない。ただし、ミドルウェアプログラム20との間でデータやり取りのインターフェイスが合っている必要がある。例えば、アプリケーションプログラム30は既存のままとし、新しく導入するミドルウェアプログラム20側においてアプリケーションプログラム30とのインターフェイスが合うように製作することで対処できる。   The application program 30 is a program for operating the original mechanical facility function 40 of the mechanical facility 100. In the present invention, the configuration of the application program 30 is not particularly limited, and the language is not limited. However, the interface for data exchange with the middleware program 20 needs to match. For example, it can be dealt with by leaving the application program 30 as it is and making the interface with the application program 30 on the newly introduced middleware program 20 side.

機械設備機能40は、各々の機械設備の本来機能であり、産業ロボットであれば当該ロボットが提供する機能等である。機械設備100の目的・構成に応じて様々な機能があり得る。この機械設備機能40はアプリケーションプログラム30により駆動される。   The machine facility function 40 is an original function of each machine facility, and is a function provided by the robot if it is an industrial robot. There may be various functions depending on the purpose and configuration of the mechanical equipment 100. The machine facility function 40 is driven by the application program 30.

ミドルウェアプログラム20は、マシンツーマシン型非同期マルチキャストを可能とするミドルウェアプログラムである。ミドルウェアプログラム20はアプリケーション30からの通信データを受け取った場合には、アプリケーションが指定した論理チャンネル識別子を付された形でネットワークを介して他の機械設備100のミドルウェア20に対してデータ通信を送信する。また、他の機械設備100のミドルウェア20からの通信データをデータ通信インターフェイス10を介して受信した場合、自らの機械設備100に搭載されているアプリケーション30に対して受信した通信データを受け渡す役割を果たす。   The middleware program 20 is a middleware program that enables machine-to-machine asynchronous multicast. When the middleware program 20 receives the communication data from the application 30, the middleware program 20 transmits data communication to the middleware 20 of the other machine equipment 100 via the network with the logical channel identifier designated by the application. . In addition, when communication data from the middleware 20 of another machine equipment 100 is received via the data communication interface 10, the role of passing the received communication data to the application 30 installed in the machine equipment 100 is provided. Fulfill.

ミドルウェアプログラム20は、論理チャンネル管理機能21、論理チャンネルデータ送受信機能22、論理チャンネルデータ集配信機能23を備えている。
まず、論理チャンネル管理機能21について説明する。
論理チャンネル管理機能21は、ミドルウェアプログラムが提供する機能であり、論理チャンネル・オーナー管理テーブル211と論理チャンネル・Subscriber管理テーブル212を維持管理し、アプリケーション層から渡されたデータ送信要求とそのデータをその論理チャンネルの論理チャンネル・オーナーへ送信する。また自ノードが論理チャンネル・オーナーである場合はネットワークを通じて受信したデータをこの論理チャンネルに登録されているSubscriber(1つまたは複数)へ配信する。この処理において送達確認や、一時的にネットワークから離脱した機械設備についてはデータを一時的に保留し機械設備がネットワークに復帰した時点で遅配を行うといった処理も行う。例えば、ネットワーク内の機械設備で情報を交換することで以下のような情報を保有するテーブルを構築し常時動的に維持管理している。
The middleware program 20 includes a logical channel management function 21, a logical channel data transmission / reception function 22, and a logical channel data collection / delivery function 23.
First, the logical channel management function 21 will be described.
The logical channel management function 21 is a function provided by the middleware program. The logical channel management function 21 maintains the logical channel / owner management table 211 and the logical channel / subscriber management table 212, and receives the data transmission request and its data passed from the application layer. Send to logical channel owner of logical channel. If the own node is the logical channel owner, the data received through the network is distributed to the subscriber (s) registered in the logical channel. In this process, a delivery confirmation and a process of temporarily delaying the data when the machine facility is temporarily removed from the network and the machine facility returns to the network are also performed. For example, by exchanging information with machine equipment in the network, a table having the following information is constructed and maintained and managed dynamically at all times.

論理チャンネル・オーナー管理テーブル211は、[表1]で示すように、複数の{論理チャンネル名、宛先アドレス、ステータス}エントリで構成されるテーブルである。

Figure 2011053978
As shown in [Table 1], the logical channel owner management table 211 is a table composed of a plurality of {logical channel name, destination address, status} entries.
Figure 2011053978

論理チャンネル・Subscriber管理テーブル212は、[表2]で示すように、各論理チャンネルに属する論理チャンネル・subscriberの情報を管理するテーブルである。論理チャンネル・オーナーはデータを論理チャンネル・Publisherから受信した際に、当テーブルを検索し該当する論理チャンネルに属する全てのSubscriberに対してデータ配信を行う。各論理チャンネルのオーナーは自らが所有する論理チャンネルのSubscriberリストを当テーブルで管理する。自らが管理しない論理チャンネルのSubscriberリストを管理することも可能であるが必須ではない。   The logical channel / subscriber management table 212 is a table for managing information on logical channels / subscribers belonging to each logical channel, as shown in [Table 2]. When the logical channel owner receives data from the logical channel / Publisher, the logical channel owner searches the table and distributes data to all the Subscribers belonging to the corresponding logical channel. The owner of each logical channel manages the Subscriber list of the logical channel that it owns in this table. Although it is possible to manage a subscriber list of logical channels that are not managed by itself, it is not essential.

Figure 2011053978
Figure 2011053978

次に、論理チャンネルデータ送受信機能22は、アプリケーション層から送信要求をうけた際、論理チャンネル・データ送信機能は論理チャンネル管理機能が管理する論理チャンネル・オーナー管理テーブルを検索し、獲得した当該論理チャンネル・オーナーの宛先アドレスを使ってデータを当該論理チャンネル・オーナーへ向けて送信を行う。この際、送信データにくわえて送信シーケンス番号など付け加えて送信を行うことでデータを確実に論理チャンネル・オーナーへ受け渡す。論理チャンネル・Publisherの論理チャンネル・データ送受信機能はAck(Acknowledge)メッセージを受領した場合は、当該データは論理チャンネル・オーナーによって確かに受領されたと見なして当該データを破棄する。一定時間内にAck(Acknowledge)メッセージを受領しなかった場合、当該データは論理チャンネル・オーナーによって確かに受領されなかったとみなして再送を行う。   Next, when the logical channel data transmission / reception function 22 receives a transmission request from the application layer, the logical channel / data transmission function searches the logical channel / owner management table managed by the logical channel management function and acquires the acquired logical channel. • Send data to the logical channel owner using the owner's destination address. At this time, by adding the transmission sequence number in addition to the transmission data and performing transmission, the data is reliably delivered to the logical channel owner. When the logical channel / data transmission / reception function of the logical channel / Publisher receives an Ack (Acknowledge) message, the logical channel owner regards the data as having been received by the logical channel owner and discards the data. If an Ack (Acknowledge) message is not received within a certain time, the data is retransmitted on the assumption that the data has not been received by the logical channel owner.

次に、論理チャンネルデータ集配信機能23は、論理チャンネル・オーナーがデータを受信または配信する際に使用する機能である。論理チャンネル・オーナーは論理チャンネル・Publisherから送信されてきたデータを当該機能を使って受信する。その際に、送信データに含まれる送信シーケンス番号を読み取り、そのシーケンス番号を含むAck(Acknowledge)データを論理チャンネル・Publisherへ返信する。   Next, the logical channel data collection and distribution function 23 is a function used when the logical channel owner receives or distributes data. The logical channel owner receives the data transmitted from the logical channel / Publisher using this function. At that time, the transmission sequence number included in the transmission data is read, and Ack (Acknowledge) data including the sequence number is returned to the logical channel / Publisher.

以上の諸機能を基本として、機械設備100間に構築される通信データネットワークにおいて、様々なデータ通信処理が実行される。
以下、本発明の機械設備間通信システム100における基本的な処理を説明する。
Based on the above various functions, various data communication processes are executed in the communication data network constructed between the machine facilities 100.
Hereinafter, basic processing in the communication system 100 between machine facilities of the present invention will be described.

まず、論理チャンネル作成処理(Build)を説明し、次に、作成されている論理チャンネルに対して他のノードが参加する論理チャンネル参加処置(Join)、参加している論理チャンネルからノードが離脱する論理チャンネル離脱処理(Leave)、参加している論理チャンネルからノードが一時離脱する論理チャンネル一時離脱処理(Suspend)を説明し、次に、論理チャンネルを用いたデータ通信として、論理チャンネルへの発信処理(Publish)および論理チャンネルからの受信処理(Subscribe)を説明する。   First, the logical channel creation process (Build) will be described, and then the logical channel participation procedure (Join) in which another node participates in the created logical channel, and the node leaves the participating logical channel. Logical channel leave processing (Leave), logical channel temporary leave processing (Suspend) in which a node temporarily leaves a participating logical channel will be described, and then, transmission processing to the logical channel as data communication using the logical channel (Publish) and reception processing (Subscribe) from a logical channel will be described.

<論理チャンネル作成処理(Build)>
論理チャンネル作成処理のデータの流れを、図2〜図4のデータの流れを示す図と図16のフローチャートとを参照しつつ説明する。
<Logical channel creation processing (Build)>
The data flow of the logical channel creation processing will be described with reference to the data flow diagrams of FIGS. 2 to 4 and the flowchart of FIG.

まず、図2の(1)のデータの流れに示すように、この例では、機械設備100aにおいて、アプリケーションプログラム30からチャンネル作成要求を受けると(図16ステップS1)、論理チャンネル管理機能21は論理チャンネル・オーナー管理テーブル211を検索し、当該論理チャンネルが既存で在るか否かを確認する(図16ステップS2)。   First, as shown in the data flow of (1) in FIG. 2, in this example, when the machine facility 100a receives a channel creation request from the application program 30 (step S1 in FIG. 16), the logical channel management function 21 performs the logical channel management function 21. The channel owner management table 211 is searched to check whether the logical channel already exists (step S2 in FIG. 16).

ここで、論理チャンネル・オーナー管理テーブル211において既に当該論理チャンネルが存在しておれば(図16ステップS2:Y)、アプリケーションプログラム30へエラーを返す(図16終了へ)。論理チャンネル・オーナー管理テーブル211にエントリが未だ存在していない場合(図16ステップS2:N)は、図2の(1)に示すように、同一LANセグメントへ[Build Channel Request]をブロードキャスト送信する(図16ステップS3)。この例では、機械設備100b、機械設備100cに対して[Build Channel Request]が受信されることとなる。   Here, if the logical channel already exists in the logical channel owner management table 211 (step S2 in FIG. 16: Y), an error is returned to the application program 30 (to the end of FIG. 16). If no entry exists in the logical channel owner management table 211 (step S2: N in FIG. 16), [Build Channel Request] is broadcasted to the same LAN segment as shown in (1) of FIG. (FIG. 16, step S3). In this example, [Build Channel Request] is received for the machine equipment 100b and the machine equipment 100c.

この機械設備100aからネットワークの各ノードに対して送信された論理チャンネルの作成要求に対して、以下の2通りのケースがある。   There are the following two cases in response to a logical channel creation request transmitted from the machine facility 100a to each node of the network.

第1のケースは、ネットワーク上に論理チャンネル・オーナーが存在する場合である。
[Build Channel Request]メッセージを受信した同一LANセグメント内の各機械設備の論理チャンネル管理機能21は、自らが当該論理チャンネルの論理チャンネル・オーナーであれば、図3の(2)の流れに示すように、[Channel Exist]メッセージをブロードキャスト送信により返信する。この構成例では、機械設備100bが当該論理チャンネルの論理チャンネル・オーナーであり[Channel Exist]メッセージをBroadcastメッセージ送信で返送している。
The first case is when there is a logical channel owner on the network.
If the logical channel management function 21 of each machine facility in the same LAN segment that has received the [Build Channel Request] message is the logical channel owner of the logical channel, as shown in the flow (2) of FIG. Then, a [Channel Exist] message is returned by broadcast transmission. In this configuration example, the machine facility 100b is the logical channel owner of the logical channel, and returns a [Channel Exist] message by sending a broadcast message.

一方、[Channel Exist]メッセージをBroadcastで受信した他のノードは、当該論理チャンネルは既存として扱うよう、自らの各論理チャンネル管理機能21が管理する論理チャンネル・オーナー管理テーブル211に登録する。この構成例では、機械設備100cは、機械設備100aからの[Build Channel Request]メッセージを受信後に、機械設備100bから受信した[Channel Exist]メッセージに応じて論理チャンネル・オーナー管理テーブル211に当該チャンネルを既存として登録する。なお、このテーブルのエントリは一定期間後に削除される(一定期間のみ有効)。   On the other hand, other nodes that have received the [Channel Exist] message by broadcast register the logical channel in the logical channel owner management table 211 managed by their own logical channel management function 21 so that the logical channel is treated as existing. In this configuration example, the mechanical equipment 100c receives the [Build Channel Request] message from the mechanical equipment 100a, and then adds the channel to the logical channel / owner management table 211 according to the [Channel Exist] message received from the mechanical equipment 100b. Register as existing. The entries in this table are deleted after a certain period (valid only for a certain period).

機械設備100aの論理チャンネル管理機能21aは、[Channel Exist]メッセージを受信すれば(図16ステップS4:Y)、図3の(3)のデータの流れに示すように、[Channel Exist]メッセージに対してACKメッセージを返送する(図16ステップS6)。この構成例では、[Build Channel Request]メッセージを送信した機械設備100aは、機械設備100bより返された[Channel Exist]メッセージに対してACKメッセージを返送し、機械設備100bは当該ACKメッセージを受信する。   When the logical channel management function 21a of the machine facility 100a receives the [Channel Exist] message (step S4: Y in FIG. 16), the logical channel management function 21a changes the [Channel Exist] message as shown in the data flow in (3) of FIG. In response, an ACK message is returned (step S6 in FIG. 16). In this configuration example, the machine equipment 100a that has transmitted the [Build Channel Request] message returns an ACK message in response to the [Channel Exist] message returned from the machine equipment 100b, and the machine equipment 100b receives the ACK message. .

第2のケースは、ネットワーク上に論理チャンネル・オーナーが存在しない場合である。
一定時間内にネットワーク上の他のノードから[Channel Exist]メッセージを受信しない場合は(図3ステップS4:N)、機械設備100aは、現在アクティブな当該論理チャンネルはセグメント内に存在しないものと判断し、論理チャンネル・オブジェクトを生成し、自らを論理チャンネル・オーナーとして自ら管理する論理チャンネル・オーナー管理テーブル211に登録し(図3ステップS5)、図4の(4)のデータの流れに示すように、自らが論理チャンネル・オーナーであることを確保すべく、[Channel Already Exist]メッセージをセグメント内の他ノードに対してBroadcastメッセージ送信を行う(図3ステップS5)。
The second case is when there is no logical channel owner on the network.
When the [Channel Exist] message is not received from another node on the network within a certain time (step S4: N in FIG. 3), the machine equipment 100a determines that the currently active logical channel does not exist in the segment. Then, a logical channel object is generated and registered in the logical channel owner management table 211 that manages itself as a logical channel owner (step S5 in FIG. 3), as shown in the data flow of (4) in FIG. In addition, a [Channel Already Exist] message is transmitted to the other nodes in the segment to ensure that it is the logical channel owner (step S5 in FIG. 3).

機械設備100aの論理チャンネル管理機能21は、図4の(5)のデータの流れに示すように、自らが論理チャンネル・オーナーであるチャンネルの情報を一定期間ごとに[Channel Exist]メッセージとしてセグメントへBroadcastメッセージ送信を行う。
以上の手順により、論理チャンネル作成処理(Build)を実行する。
これ以降、後述するように、この論理チャンネルを利用したデータ通信が可能となる。
As shown in the data flow of (5) in FIG. 4, the logical channel management function 21 of the machine facility 100a sends information on the channel for which it is the logical channel owner to a segment as a [Channel Exist] message at regular intervals. Broadcast message transmission.
The logical channel creation process (Build) is executed by the above procedure.
Thereafter, as will be described later, data communication using this logical channel becomes possible.

<論理チャンネル参加処理(Join)>
次に、既に作成されている論理チャンネルに対して他のノードが参加する論理チャンネル参加処理(Join)を説明する。
論理チャンネル参加処理のデータの流れを、図5〜図6のデータの流れを示す図と図17のフローチャートとを参照しつつ説明する。例として機械設備100aが、機械設備100bが論理チャンネル・オーナーになっている論理チャンネルに参加する処理を説明する。
<Logical channel participation processing (Join)>
Next, a logical channel participation process (Join) in which another node participates in a logical channel that has already been created will be described.
The data flow of the logical channel participation process will be described with reference to the data flow diagrams of FIGS. 5 to 6 and the flowchart of FIG. As an example, a process in which the machine facility 100a joins a logical channel in which the machine facility 100b is a logical channel owner will be described.

機械設備100aにおいて、アプリケーションプログラム30から論理チャンネル参加要求を受けた場合(図17ステップS1)、まず、論理チャンネル管理機能21は論理チャンネル・オーナー管理テーブル211を検索する。ここで、論理チャンネル・オーナー管理テーブル211にエントリが既に存在している場合(図17ステップS2:Y)、その論理チャンネル・オーナー宛先情報に従い、[Join Channel Request]をユニキャストメッセージ送信する(図17ステップS3)。なお、図5では論理チャンネル・オーナー管理テーブル211にエントリが存在している場合のユニキャスト通信の場合の図示は省略している。   When the machine facility 100a receives a logical channel participation request from the application program 30 (step S1 in FIG. 17), the logical channel management function 21 first searches the logical channel owner management table 211. If an entry already exists in the logical channel owner management table 211 (step S2 in FIG. 17: Y), a [Join Channel Request] is transmitted as a unicast message according to the logical channel owner destination information (FIG. 17). 17 step S3). In FIG. 5, illustration in the case of unicast communication when an entry exists in the logical channel / owner management table 211 is omitted.

論理チャンネル・オーナー管理テーブル211にエントリが存在していない場合は(図17ステップS2:N)、図5の(1)に示すように、同一LANセグメントに[Join Channel Request]をブロードキャストで送信する(図17ステップS4)。   If no entry exists in the logical channel / owner management table 211 (step S2 in FIG. 17: N), as shown in (1) of FIG. 5, [Join Channel Request] is broadcasted to the same LAN segment. (FIG. 17 step S4).

なお、[Join Channel Request]のBroadcastメッセージ送信に代えて、[Search Channel Request] をブロードキャストで送信し、当チャンネル・オーナーから[Notify Channelオーナー]メッセージが返信されるのを待って、その返信で得たチャンネル・オーナー宛てに[Join Channel Request]をユニキャストメッセージ送信することでも良い。   Instead of sending a broadcast message for [Join Channel Request], send [Search Channel Request] by broadcast, and wait for the [Notify Channel Owner] message to be returned from this channel owner. [Join Channel Request] may be sent to the channel owner as a unicast message.

[Join Channel Request]メッセージを受信したセグメント内の機械装置100内の論理チャンネル管理機能21は、当該論理チャンネル・オーナーである場合、[Join Accept]メッセージをBroadcastメッセージ送信で返送する。この例では、図6の(2)に示すように、機械設備100bが[Join Accept]メッセージをBroadcastメッセージ送信で返送し、並行して自ら管理する論理チャンネル・Subscriber管理テーブル212に[Join Channel Request]メッセージ送信を行った機械装置100aのアドレスをSubscriber・アドレス欄に登録する。   If the logical channel management function 21 in the machine device 100 in the segment that has received the [Join Channel Request] message is the logical channel owner, it returns a [Join Accept] message by sending a Broadcast message. In this example, as shown in (2) of FIG. 6, the machine equipment 100b sends back a [Join Accept] message by sending a Broadcast message, and in the logical channel / Subscriber management table 212 managed by itself in parallel, [Join Channel Request The address of the machine 100a that has transmitted the message is registered in the Subscriber / address field.

機械設備100aが一定時間内に他のノードから[Join Accept]メッセージを受信しない場合は(図4ステップS5:N)、同一セグメント内に当該論理チャンネル・オーナーは存在しないと判断してエラーをアプリケーションへ返す(図17ステップS8)。   If the machine facility 100a does not receive a [Join Accept] message from another node within a certain time (step S5: N in FIG. 4), it is determined that the logical channel owner does not exist in the same segment, and an error is detected. (Step S8 in FIG. 17).

機械設備100aが、図6の(2)に示すように、一定時間内に他のノードから[Join Accept]メッセージを受信した場合は(図17ステップS5:Y)、論理チャンネル管理機能21が当該論理チャンネル・オーナーの宛先アドレスを受信メッセージから獲得して自ら管理する論理チャンネル・オーナー管理テーブル211に登録し、アプリケーションに要求処理は成功したことをアプリケーションプログラム30に対して返す(図17ステップS6)。   When the machine facility 100a receives a [Join Accept] message from another node within a predetermined time as shown in (2) of FIG. 6 (step S5: Y in FIG. 17), the logical channel management function 21 The destination address of the logical channel owner is acquired from the received message and registered in the logical channel owner management table 211 managed by itself, and the request processing to the application is returned to the application program 30 (step S6 in FIG. 17). .

[Join Accept]メッセージを受信した機械設備100a以外のノード(ここでは機械設備100b)ではその論理チャンネル管理機能21が論理チャンネル・オーナー管理テーブル211に当該論理チャンネル・オーナーの宛先アドレスを登録する。このテーブルのエントリは一定期間の後満了し削除される(一定期間のみ有効)。   In a node other than the machine equipment 100a (here, the machine equipment 100b) that has received the [Join Accept] message, the logical channel management function 21 registers the destination address of the logical channel owner in the logical channel owner management table 211. Entries in this table expire after a certain period and are deleted (valid only for a certain period).

[Join Accept]メッセージを受信した機械設備100aは、図6(4)に示すように[Join Accept]メッセージを送信した当該チャンネル・オーナーへACKメッセージを返送する(図17ステップS7)。
以上の手順により、論理チャンネルへの参加処理(Join)が実行される。
これ以降、後述するように、この論理チャンネルを利用したデータ通信が可能となる。
The machine equipment 100a that has received the [Join Accept] message returns an ACK message to the channel owner that has transmitted the [Join Accept] message as shown in FIG. 6 (4) (step S7 in FIG. 17).
The logical channel participation process (Join) is executed by the above procedure.
Thereafter, as will be described later, data communication using this logical channel becomes possible.

<論理チャンネル離脱処理(Leave)>
次に、あるノードが既に参加している論理チャンネルから離脱する論理チャンネル離脱処理(Leave)を説明する。
論理チャンネル離脱処理のデータの流れを、図7〜図8のデータの流れを示す図と図18のフローチャートとを参照しつつ説明する。例として機械設備100aが、機械設備100bが論理チャンネル・オーナーになっている論理チャンネルから離脱する処理を説明する。
<Logical channel leave processing (Leave)>
Next, a logical channel leaving process (Leave) for leaving a logical channel in which a certain node has already joined will be described.
The data flow of the logical channel leaving process will be described with reference to the data flow diagrams of FIGS. 7 to 8 and the flowchart of FIG. As an example, a process will be described in which the machine facility 100a leaves the logical channel for which the machine facility 100b is the logical channel owner.

機械設備100aにおいて、アプリケーションプログラム30から論理チャンネル離脱要求を受けた論理チャンネル管理機能21は(図18ステップS1)、まず、自ら管理する論理チャンネル・オーナーテーブル211を検索する。当該論理チャンネル情報が論理チャンネル・オーナーテーブル211内に存在する場合(図18ステップS2:Y)は、エントリ情報が示す論理チャンネル・オーナー宛て[Leave Channel Request]を直接ユニキャスト送信する(図18ステップS6)。   In the machine facility 100a, the logical channel management function 21 that has received the logical channel withdrawal request from the application program 30 (step S1 in FIG. 18) first searches the logical channel owner table 211 managed by itself. When the logical channel information exists in the logical channel owner table 211 (step S2 in FIG. 18: Y), [Leave Channel Request] is directly unicasted to the logical channel owner indicated by the entry information (step 18 in FIG. 18). S6).

なお、図7では論理チャンネル・オーナー管理テーブル211にエントリが存在している場合のユニキャスト通信の場合の図示は省略している。   In FIG. 7, the illustration in the case of unicast communication in the case where an entry exists in the logical channel / owner management table 211 is omitted.

一方、当該チャンネル情報が論理チャンネル・オーナーテーブル211内に存在しない場合(図18ステップS2:N)は、図7の(1)に示すように、同一LANセグメントへ[Search Channel Request]をブロードキャスト送信し(図18ステップS3)、論理チャンネル・オーナーからの[Notify Channel Owner]メッセージの返信を待つ。   On the other hand, if the channel information does not exist in the logical channel owner table 211 (step S2: N in FIG. 18), [Search Channel Request] is broadcast to the same LAN segment as shown in (1) of FIG. (Step S3 in FIG. 18) and waits for a reply of the [Notify Channel Owner] message from the logical channel owner.

[Search Channel Request]をブロードキャスト送信した機械設備100aは、図8(2)に示すように、論理チャンネル・オーナーから[Notify Channel Owner]メッセージを受信した場合(図18ステップS4:Y)、図8(3)に示すように、論理チャンネル・オーナーテーブル211にチャンネル・オーナー情報を反映し、[Leave Channel Request]をユニキャスト送信する(図18ステップS6)。
一定期間内に論理チャンネル・オーナーから[Notify Channel Owner]メッセージが戻ってこない場合は(図6ステップS4:N)、[Search Channel Request]を再送信して試行を何度か行い、エラーを数回繰り返した場合はアプリケーションへエラーを返す(図18ステップS5)。
As shown in FIG. 8 (2), when the machine facility 100a that broadcasts [Search Channel Request] receives a [Notify Channel Owner] message from the logical channel owner (step S4: Y in FIG. 18), FIG. As shown in (3), channel owner information is reflected in the logical channel owner table 211, and [Leave Channel Request] is unicasted (step S6 in FIG. 18).
If the [Notify Channel Owner] message does not return from the logical channel owner within a certain period of time (step S4: N in FIG. 6), [Search Channel Request] is retransmitted and several attempts are made, and errors are counted. If repeated, an error is returned to the application (step S5 in FIG. 18).

[Leave Channel Request]メッセージを受信した同一LANセグメント内の当該論理チャンネル・オーナーである機械設備100bの論理チャンネル管理機能21はその論理チャンネル・Subscriberテーブル212から当Leave処理要求者のエントリを削除すると同時に、図8の(4)に示すように、[Accept leave request] メッセージをユニキャストメッセージで機械設備100aに返信する。
機械設備100aは[Accept leave request] メッセージを受信すれば(図18ステップS7:Y)、論理チャンネルの離脱成功を確認する(図18ステップS8)。[Accept leave request] メッセージを受信しなければ(図18ステップS7:N)、アプリケーション40にエラーを返す(図18ステップS9)。
Upon receiving the [Leave Channel Request] message, the logical channel management function 21 of the machine facility 100b that is the logical channel owner in the same LAN segment deletes the entry of the leave processing requester from the logical channel / Subscriber table 212. As shown in FIG. 8 (4), an [Accept leave request] message is returned to the machine equipment 100a as a unicast message.
If the machine equipment 100a receives the [Accept leave request] message (step S7: Y in FIG. 18), it confirms that the logical channel has been successfully removed (step S8 in FIG. 18). If no [Accept leave request] message is received (step S7: N in FIG. 18), an error is returned to the application 40 (step S9 in FIG. 18).

以上の手順により、論理チャンネルからの離脱処理(Leave)が実行される。
これ以降、後述するように、機械設備100bはこの論理チャンネルを利用したデータ通信には関与しなくなる。
With the above procedure, the process of leaving the logical channel (Leave) is executed.
Thereafter, as will be described later, the machine facility 100b is not involved in data communication using this logical channel.

<論理チャンネル一時離脱処理(Suspend)>
次に、あるノードが既に参加している論理チャンネルから一時的に離脱する論理チャンネル一時離脱処理(Suspend)を説明する。
論理チャンネル一時離脱処理のデータの流れを、図9〜図10のデータの流れを示す図と図19のフローチャートとを参照しつつ説明する。例として機械設備100aが、機械設備100bが論理チャンネル・オーナーになっている論理チャンネルから一時離脱する処理を説明する。
<Logical channel temporary disconnection processing (Suspend)>
Next, logical channel temporary leave processing (Suspend) in which a certain node temporarily leaves a logical channel in which a node has already joined will be described.
The data flow of the logical channel temporary disconnection processing will be described with reference to the data flow diagrams of FIGS. 9 to 10 and the flowchart of FIG. As an example, a process will be described in which the machine facility 100a temporarily leaves the logical channel for which the machine facility 100b is the logical channel owner.

論理チャンネル一時離脱処理(Suspend)の基本的な処理は、論理チャンネル離脱処理(Leave)と同じである。異なる点は、チャンネル・オーナー側でLeave要求を受信した際は送信者のエントリを論理チャンネル・Subscriberテーブル212から削除するが、Suspend要求を受信した際は論理チャンネル・Subscriberテーブル212内の送信者エントリを「受信停止中」にステータスを変更する点である。   The basic process of the logical channel temporary leaving process (Suspend) is the same as the logical channel leaving process (Leave). The difference is that when a leave request is received on the channel owner side, the sender's entry is deleted from the logical channel / subscriber table 212, but when a suspend request is received, the sender entry in the logical channel / subscriber table 212 is deleted. The status is changed to “Receiving stopped”.

機械設備100aにおいて、アプリケーションプログラム30から論理チャンネル一時離脱要求を受けた論理チャンネル管理機能21は(図19ステップS1)、まず、自ら管理する論理チャンネル・オーナーテーブル211を検索する。当該論理チャンネル情報が論理チャンネル・オーナーテーブル211内に存在する場合(図19ステップS2:Y)は、エントリ情報が示す論理チャンネル・オーナー宛に[Suspend Channel Request]を直接ユニキャスト送信する(図19ステップS6)。なお、図9では論理チャンネル・オーナー管理テーブル211にエントリが存在している場合のユニキャスト通信の場合の図示は省略している。   In the machine facility 100a, the logical channel management function 21 that has received the logical channel temporary withdrawal request from the application program 30 (step S1 in FIG. 19) first searches the logical channel owner table 211 managed by itself. If the logical channel information exists in the logical channel owner table 211 (step S2 in FIG. 19: Y), [Suspend Channel Request] is directly unicasted to the logical channel owner indicated by the entry information (FIG. 19). Step S6). In FIG. 9, the illustration in the case of unicast communication in the case where an entry exists in the logical channel / owner management table 211 is omitted.

一方、当該チャンネル情報が論理チャンネル・オーナーテーブル211内に存在しない場合(図19ステップS2:N)は、図9の(1)に示すように、同一LANセグメントへ[Search Channel Request]をブロードキャスト送信し(図19ステップS3)、論理チャンネル・オーナーからの[Notify Channel Owner]メッセージの返信を待つ(図19ステップS4)。   On the other hand, when the channel information does not exist in the logical channel owner table 211 (step S2: N in FIG. 19), as shown in (1) of FIG. 9, [Search Channel Request] is broadcasted to the same LAN segment. (Step S3 in FIG. 19) and waits for a reply of the [Notify Channel Owner] message from the logical channel owner (Step S4 in FIG. 19).

[Search Channel Request]をブロードキャスト送信した機械設備100aは、図10(2)に示すように、論理チャンネル・オーナーから[Notify Channel Owner]メッセージを受信した場合(図19ステップS4:Y)、図10(3)に示すように、論理チャンネル・オーナーテーブル211にチャンネル・オーナー情報を反映し、[Suspend Channel Request]をユニキャスト送信する(図19ステップS6)。
一定期間内に論理チャンネル・オーナーから[Notify Channel Owner]メッセージが戻ってこない場合は(図19ステップS4:N)、[Search Channel Request]を再送信して試行を何度か行い、エラーを数回繰り返した場合はアプリケーションへエラーを返す(図19ステップS5)。
When the machine facility 100a that broadcasts [Search Channel Request] receives the [Notify Channel Owner] message from the logical channel owner as shown in FIG. 10 (2) (step S4: Y in FIG. 19), FIG. As shown in (3), the channel owner information is reflected in the logical channel owner table 211, and [Suspend Channel Request] is unicasted (step S6 in FIG. 19).
If the [Notify Channel Owner] message does not return from the logical channel owner within a certain period of time (step S4: N in FIG. 19), [Search Channel Request] is retransmitted and several attempts are made, and errors are counted. If repeated, an error is returned to the application (step S5 in FIG. 19).

[Suspend Channel Request]メッセージを受信した同一LANセグメント内の当該論理チャンネル・オーナーである機械設備100bの論理チャンネル管理機能21は、その論理チャンネル・Subscriberテーブル212から当Suspend処理要求者のエントリ内のステータス欄を「受信停止中」と変更し、図8の(4)に示すように、[Accept suspend request] メッセージをユニキャスト送信にてメッセージ送信者である機械設備100aへ返信する。
機械設備100aは[Accept suspend request]メッセージを受信すれば(図19ステップS7:Y)、論理チャンネルの離脱成功を確認する(図18ステップS8)。[Accept suspend request]メッセージを受信しなければ(図18ステップS7:N)、アプリケーション40にエラーを返す(図18ステップS9)。
The logical channel management function 21 of the machine facility 100b that is the logical channel owner in the same LAN segment that has received the [Suspend Channel Request] message receives the status in the entry of the Suspend processing requester from the logical channel / Subscriber table 212. The column is changed to “reception stopped”, and as shown in (4) of FIG. 8, the [Accept suspend request] message is returned to the machine equipment 100a as the message sender by unicast transmission.
When the machine facility 100a receives the [Accept suspend request] message (step S7: Y in FIG. 19), it confirms that the logical channel has been successfully disconnected (step S8 in FIG. 18). If the [Accept suspend request] message is not received (step S7: N in FIG. 18), an error is returned to the application 40 (step S9 in FIG. 18).

以上の手順により、論理チャンネルからの一時離脱処理(Suspend)が実行される。
これ以降、後述するように、機械設備100bは一時的にこの論理チャンネルを利用したデータ通信には関与しなくなる。
Through the above procedure, the temporary leave processing (Suspend) from the logical channel is executed.
Thereafter, as will be described later, the machine facility 100b is temporarily not involved in data communication using this logical channel.

<論理チャンネルを用いたデータの送受信処理(Publish/Subscribe)>
次に、構築されている論理チャンネルを用いたデータ送受信のデータの流れについて説明する。
構築されている論理チャンネルを用いて、機械設備100同士の間でデータ送信する処理(Publish/Subscribe)を図11〜図12のデータの流れを示す図と図20〜図22のフローチャートを参照しつつ説明する。例として機械設備100aが、機械設備100bが論理チャンネル・オーナーになっている論理チャンネルを用いてデータ送信を行う場合の処理を説明する。
<Data transmission / reception processing using logical channels (Publish / Subscribe)>
Next, a data flow of data transmission / reception using the constructed logical channel will be described.
The process (Publish / Subscribe) for transmitting data between the mechanical facilities 100 using the constructed logical channel is described with reference to the flow charts of FIGS. 11 to 12 and the flowcharts of FIGS. I will explain. As an example, a process when the machine equipment 100a performs data transmission using a logical channel in which the machine equipment 100b is a logical channel owner will be described.

機械設備100aにおいて、アプリケーションプログラム30から論理チャンネル・データ送信要求を受けた論理チャンネル管理機能21は(図20ステップS1)、論理チャンネル・オーナー管理テーブル211を検索する。論理チャンネル・オーナー管理テーブル211内に当チャンネルに関するチャンネル・オーナー情報が存在しない場合は(図20ステップS2:N)、論理チャンネル管理機能21はエラーをアプリケーションプログラム30に返す(図20ステップS3)。このときアプリケーションプログラム30は上記した[Join Channel Request]処理を再実行することが可能である。   In the machine facility 100a, the logical channel management function 21 that has received a logical channel / data transmission request from the application program 30 (step S1 in FIG. 20) searches the logical channel / owner management table 211. If there is no channel owner information regarding this channel in the logical channel owner management table 211 (step S2 in FIG. 20: N), the logical channel management function 21 returns an error to the application program 30 (step S3 in FIG. 20). At this time, the application program 30 can re-execute the above [Join Channel Request] process.

当該テーブルにエントリが存在している場合(図10ステップS2:Y)、図11(1)に示すように、その論理チャンネル・オーナー宛先情報に従い[Publish Channel data]メッセージをユニキャスト送信する(図10ステップS4)。アプリケーションプログラム30にはこの時点で処理が成功したことを伝える。この例では論理チャンネル・オーナー管理テーブル211内には機械設備100bが登録されているものとする。機械設備100aは当データに関する論理チャンネル・Publisherと呼ぶ。データ通信を行う機械設備100aは [Publish Channel data]メッセージを送信する際、論理チャンネル単位に設定管理する送信者シーケンス番号を付与して送る。送信者シーケンス番号は送信メッセージごとにその値が1増加する。   If there is an entry in the table (step S2 in FIG. 10: Y), as shown in FIG. 11 (1), a [Publish Channel data] message is unicasted according to the logical channel owner destination information (FIG. 11). 10 step S4). The application program 30 is informed that the processing is successful at this point. In this example, it is assumed that the machine facility 100b is registered in the logical channel owner management table 211. The machine equipment 100a is called a logical channel / Publisher related to the data. When transmitting a [Publish Channel data] message, the machine equipment 100a that performs data communication sends a sender sequence number that is set and managed in units of logical channels. The value of the sender sequence number is incremented by 1 for each transmitted message.

次に、図11の(2)に示すように、[Publish Channel data]メッセージを受信したチャンネル・オーナーである機械設備100bはその論理チャンネル・データ集配信機能23により論理チャンネル・オブジェクトの一時キューに受信した送信メッセージを保管し、受信データに含まれる送信者シーケンス番号を読み取り、そのシーケンス番号情報を含むAck(Acknowledge)メッセージを論理チャンネル・Publisherである機械設備100aへ返信する。   Next, as shown in (2) of FIG. 11, the mechanical equipment 100b that is the channel owner that has received the [Publish Channel data] message uses the logical channel data collection and distribution function 23 to place a temporary queue for the logical channel object. The received transmission message is stored, the sender sequence number included in the received data is read, and an Ack (Acknowledge) message including the sequence number information is returned to the machine facility 100a which is the logical channel / Publisher.

論理チャンネル・Publisherである機械設備100aは一定時間内に論理チャンネル・オーナーである機械設備100bからAckメッセージを受信できなかった場合は(図20ステップS5:N)、当データの再送処理を何度か試行し、成功しない場合はアプリケーション30にエラーを返す(図20ステップS6)。論理チャンネル・Publisherである機械設備100aが一定時間内に機械設備100bからAckメッセージを受信できた場合は(図20ステップS5:Y)、そのメッセージに含まれる送信者シーケンス番号と送信処理要求済みメッセージの送信者シーケンス番号を照合し一致していればそのメッセージは論理チャンネル・オーナーに届けることができたと見なして当データを処理済とみなしてバッファーから消去する(図20ステップS7)。論理チャンネル管理機能21はアプリケーション30に対してはデータ送信が完了したことを通知する(図20ステップS8)。   If the machine equipment 100a which is the logical channel / Publisher cannot receive the Ack message from the machine equipment 100b which is the logical channel owner within a certain time (step S5: N in FIG. 20), the retransmission processing of the data is repeated several times. If it is not successful, an error is returned to the application 30 (step S6 in FIG. 20). When the machine equipment 100a which is the logical channel / Publisher can receive the Ack message from the machine equipment 100b within a predetermined time (step S5: Y in FIG. 20), the sender sequence number and the transmission processing requested message included in the message. If the sender sequence numbers match, the message is deemed to have been delivered to the logical channel owner, and the data is deemed to have been processed and is erased from the buffer (step S7 in FIG. 20). The logical channel management function 21 notifies the application 30 that the data transmission has been completed (step S8 in FIG. 20).

一方、一時キューに送信メッセージを受信した論理チャンネル・オーナー(この例では機械設備100b)は(図21ステップS1:Y)、論理チャンネル・Subscriber管理テーブル212を検索し、図12の(3)に示すように、登録されているSubscriberリストのアドレスを得て送信ノード(この例では機械設備100a)を除く全てのSubscriberアドレス(この例では機械設備100cのみ)へ、各チャンネル・オブジェクト単位に管理されているシーケンス番号をつけて一時キューに保管した受信データを[Deliver Channel data]メッセージとして送信する(図21ステップS2)。   On the other hand, the logical channel owner (in this example, the machine facility 100b) that has received the transmission message in the temporary queue (step S1: Y in FIG. 21) searches the logical channel / Subscriber management table 212, and displays (3) in FIG. As shown in the figure, the registered subscriber list addresses are obtained and managed for each channel object unit to all Subscriber addresses (in this example, only the machine facility 100c) except the transmission node (in this example, the machine facility 100a). The received data stored in the temporary queue with the assigned sequence number is transmitted as a [Deliver Channel data] message (step S2 in FIG. 21).

論理チャンネルの各々のSubscriber(この例では機械設備100c)は、図12の(3)に示すように、配信された[Deliver Channel data]メッセージを受信する(図22ステップS1)と、各Subscriberの論理チャンネル・データ送受信機能23は、データに付与されているチャンネル配信シーケンス番号をチェックし、当該データを受信する前に受信した当論理チャンネルの配信シーケンス番号と受信した最新データのチャンネルの配信シーケンス番号を比較し、シーケンス番号が連番である場合(図22ステップS2:Y)は、図12の(4)に示すように、論理チャンネル・オーナーである機械設備100bに対して[ACK Deliver Channel data]をユニキャスト返信し(図22ステップS3)、アプリケーション30cへ受信データを渡す(図22ステップS4)。   Each Subscriber of the logical channel (in this example, the machine facility 100c) receives the delivered [Deliver Channel data] message (step S1 in FIG. 22), as shown in (3) of FIG. The logical channel / data transmission / reception function 23 checks the channel distribution sequence number assigned to the data, and receives the distribution sequence number of the logical channel received before receiving the data and the distribution sequence number of the channel of the latest data received. If the sequence number is a sequential number (step S2 in FIG. 22: Y), as shown in (4) of FIG. 12, [ACK Deliver Channel data] is sent to the machine equipment 100b that is the logical channel owner. ] Is sent back to the application 30c (step S4 in FIG. 22).

シーケンス番号が連番ではない場合(図22ステップS2:N)、連番であった最後のシーケンス番号とそれに続くビットマップ情報(ビットがOFFであれば該当データは未受信であること、ビットがONであれば該当データは受信済みであることを示す)をふくめて[NACK Deliver Channel data]を論理チャンネル・オーナーである機械設備100bに対してユニキャスト返信する(図22ステップS4)。   If the sequence number is not a sequential number (step S2: N in FIG. 22), the last sequence number that was a sequential number and the following bitmap information (if the bit is OFF, the corresponding data has not been received, the bit is If it is ON, it indicates that the corresponding data has been received), and [NACK Deliver Channel data] is unicasted back to the machine equipment 100b that is the logical channel owner (step S4 in FIG. 22).

論理チャンネル・オーナーである機械設備100bは配信を行った各SubscriberからのACKまたはNACK返答受信を待ち、一定時間内にACKも受信できず(図21ステップS3:N)、NACKも受信できなかった場合(図21ステップS4:N)、Subscriberへデータ配信を何度か試行し、失敗すればエラーを機械設備100aに対して返す(図21ステップS5)。   The machine facility 100b, which is the logical channel owner, waits for the ACK or NACK response received from each of the subscribers that delivered the message, cannot receive ACK within a certain time (step S3: N in FIG. 21), and has not received NACK. In this case (step S4 in FIG. 21: N), data distribution is tried several times to the Subscriber, and if it fails, an error is returned to the mechanical equipment 100a (step S5 in FIG. 21).

[Deliver Channel data]メッセージを配信した論理チャンネル・オーナーである機械設備100bがSubscriberからのACKを受信した場合(図21ステップS3:Y)は、そのACKメッセージに含まれるチャンネル配信シーケンス番号を論理チャンネル・Subscriber管理テーブル212の当Subscriber該当エントリの配信済みシーケンス番号欄に反映させる(図21ステップS6)。なお、図25(a)にAckメッセージのビットデータ列の例を示す。   When the machine facility 100b that is the logical channel owner that has delivered the [Deliver Channel data] message has received an ACK from the Subscriber (step S3: Y in FIG. 21), the channel delivery sequence number included in the ACK message is set to the logical channel. Reflected in the delivered sequence number column of the relevant entry in the Subscriber management table 212 (step S6 in FIG. 21). FIG. 25A shows an example of the bit data string of the Ack message.

[Deliver Channel data]メッセージを配信した論理チャンネル・オーナーである機械設備100bがSubscriberからのNACKを受信した場合(図21ステップS4:Y)は、そのNACKメッセージに含まれるチャンネル配信シーケンス番号とビットマップを参照し、論理チャンネル・Subscriber管理テーブルの当Subscriber該当エントリの配信済みシーケンス番号欄に反映させると同時に未受信の配信データをこのSubscriberへ再配信する(図21ステップS7)。なお、図25(b)にAckメッセージのビットデータ列の例を示す。   When the machine facility 100b, which is the logical channel owner that delivered the [Deliver Channel data] message, receives a NACK from the Subscriber (step S4: Y in FIG. 21), the channel delivery sequence number and bitmap included in the NACK message And at the same time, the distribution data that has not been received is redistributed to this Subscriber (step S7 in FIG. 21). FIG. 25B shows an example of the bit data string of the Ack message.

論理チャンネル・オーナーである機械設備100bは 論理チャンネル・Subscriber管理テーブル212の当チャンネルに属する全てのSubscriber該当エントリの配信済みシーケンス番号欄を定期的にチェックし、全てのSubscriberによって受信完了を確認した配信データ(図21ステップS8)は、正常終了し、一時キューから削除する(図21ステップS9)。   The machine equipment 100b that is the logical channel owner periodically checks the delivered sequence number fields of all applicable Subscriber entries belonging to this channel in the logical channel / Subscriber management table 212, and confirms the completion of reception by all Subscribers. The data (step S8 in FIG. 21) ends normally and is deleted from the temporary queue (step S9 in FIG. 21).

[Deliver Channel data]メッセージの再配信は一定回数を上限に行い、それでもACKもNACKも受信できない場合は当該Subscriberのステータスを一時停止中に変更する。ステータスが一時停止中となったSubscriberに対してはある一定時間間隔を置いて未送達のメッセージを[Deliver Channel data]メッセージとして配信する、または[Send Heart Beat]メッセージを定期的に送り合うといった方法で、一時停止中から活動中にステータスを復帰させる。
以上の手順により、論理チャンネルを用いてデータ送受信を行う。
The [Deliver Channel data] message is redistributed up to a certain number of times, and if neither ACK nor NACK is received, the subscriber status is changed to suspended. Deliver undelivered messages as [Deliver Channel data] messages at regular intervals or periodically send [Send Heart Beat] messages to Subscribers whose status is suspended Then, return the status from the paused state to the active state.
Through the above procedure, data transmission / reception is performed using a logical channel.

<機械装置がネットワークから離脱する際の処理>
最後に、機械装置100がネットワーク自体から離脱する際の処理の流れについて図13〜図15のデータの流れを示す図と、図23〜図24のフローチャートを参照しつつ説明する。
機械装置100がネットワーク自体から離脱する際には、論理チャンネル・オーナー移転処理と、論理チャンネルからの離脱または一時離脱処理を行う。機械装置100の論理チャンネル管理機能21はネットワークから一時離脱または離脱する要求をアプリケーション30から受けると(図23ステップS1)、自らがチャンネル・オーナーとなっているチャンネル・オブジェクトが存在するか否かについて論理チャンネル・オーナーテーブル211を検索して判定を行う(図23ステップS2)。
<Processing when machine device leaves network>
Finally, the flow of processing when the machine device 100 leaves the network itself will be described with reference to the data flow diagrams of FIGS. 13 to 15 and the flowcharts of FIGS. 23 to 24.
When the machine apparatus 100 leaves the network itself, a logical channel / owner transfer process and a leave / temporary leave process from the logical channel are performed. When the logical channel management function 21 of the machine apparatus 100 receives a request for temporarily leaving or leaving the network from the application 30 (step S1 in FIG. 23), whether or not there is a channel object for which the channel owner is itself. The logical channel / owner table 211 is searched for determination (step S2 in FIG. 23).

論理チャンネル・オーナーテーブル211を検索した判定の結果、自らがチャンネル・オーナーであるチャンネル・オブジェクトが存在する場合(図23ステップS2:Y)は、図13(1)に示すように、そのチャンネル・オブジェクトに登録されている全てのSubscriberに対して [Channel ownership検討]メッセージをユニキャスト送信する(図23ステップS3)。
一方、自らがチャンネル・オーナーであるチャンネル・オブジェクトが存在しない場合は(図23ステップS2:N)、終了する。
As a result of the determination by searching the logical channel owner table 211, if there is a channel object that is the channel owner (step S2 in FIG. 23: Y), as shown in FIG. A [Channel ownership consideration] message is unicasted to all Subscribers registered in the object (step S3 in FIG. 23).
On the other hand, if there is no channel object that is the channel owner (N in FIG. 23), the process ends.

ネットワーク離脱予定の機械設備100bの論理チャンネル管理機能21は、[Channel ownership検討]メッセージを送付した一又は複数のSubscriberから [Channel ownership希望]メッセージが返送されてくるのを一定時間待つ(図23ステップS4)。[Channel ownership希望]メッセージが返送されない場合(図23ステップS4:N)、再度全てのSubscriberに対して [Channel ownership検討]メッセージをユニキャスト送信し、論理チャンネル・オーナーとなる希望を出すノードを募る(図23ステップS3に戻る)。なお、何度か繰り返しても成功しない場合、エラーと扱って終了する。   The logical channel management function 21 of the machine facility 100b scheduled to leave the network waits for a certain period of time to return a [Channel ownership request] message from one or more Subscribers who have sent the [Channel ownership review] message (step in FIG. 23). S4). If the [Channel ownership request] message is not returned (step S4: N in FIG. 23), the [Channel ownership review] message is unicasted again to all the Subscribers, and the nodes that wish to become logical channel owners are recruited. (Return to step S3 in FIG. 23). Note that if it does not succeed after several iterations, it is treated as an error and the process ends.

一方、[Channel ownership検討]メッセージを受信したSubscriberは(図24ステップS1:Y)、図13(2)に示すように、自ノードが代替チャンネル・オーナーに適合している指標となる情報を[Channel ownership希望]メッセージに付与して返信する(図24ステップS2)。代替チャンネル・オーナーに適合している指標となる情報としては、起動完了からの経過時間や配信メッセージを一時保管するための不揮発性メディアの有無とその記憶容量といった属性情報が考えられる。この構成例では機械設備100bからのみ[Channel ownership希望]メッセージが返信されている。   On the other hand, the Subscriber that has received the [Channel ownership review] message (step S1: Y in FIG. 24), as shown in FIG. 13 (2), displays information that becomes an index indicating that the own node is compatible with the alternative channel owner [ It is added to the “Channel ownership request” message and returned (step S2 in FIG. 24). As information serving as an index suitable for an alternative channel owner, attribute information such as the elapsed time from completion of activation and the presence / absence of a non-volatile medium for temporarily storing a delivery message and its storage capacity can be considered. In this configuration example, a [Channel ownership request] message is returned only from the machine facility 100b.

ネットワーク離脱予定の機械設備100bの論理チャンネル管理機能21は、ネットワーク上のSubscriberから[Channel ownership希望]メッセージが返信されると(図23ステップS4:Y)、[Channel ownership希望]メッセージに含まれている「チャンネル・オーナー適合性情報」を各々比較し、最適であると判断したSubscriberを一つ選択する(図23ステップS5)。このSubscriberを「next チャンネル・オーナー」と以降呼ぶ。   When the [Channel ownership request] message is returned from the subscriber on the network (Step S4: Y in FIG. 23), the logical channel management function 21 of the machine facility 100b scheduled to leave the network is included in the [Channel ownership request] message. Each “channel owner suitability information” is compared, and one subscriber determined to be optimal is selected (step S5 in FIG. 23). This Subscriber is called “next channel owner”.

ネットワーク離脱予定の機械設備100bの論理チャンネル管理機能21は、図14の(3)に示すように、選定した「next チャンネル・オーナー」に[Channel ownership委譲]メッセージを送信し、図14の(4)に示すように、チャンネル・オブジェクト内の一時キューに保管されている配信データ、論理チャンネル・Subscriber管理テーブルデータを全て「next チャンネル・オーナー」へ送信する(図23ステップS6)。この送信にあたっては、全ての情報を「next チャンネル・オーナー」に受け渡す為に、各送信データにシーケンス番号を付与して送達確認を実施するか、または送達確認機能を有するOSの通信機能(例えばTCP)を利用することが好ましい。   The logical channel management function 21 of the machine facility 100b scheduled to leave the network transmits a [Channel ownership delegation] message to the selected “next channel owner” as shown in (3) of FIG. As shown in FIG. 23, all the distribution data and logical channel / Subscriber management table data stored in the temporary queue in the channel / object are transmitted to “next channel owner” (step S6 in FIG. 23). In this transmission, in order to pass all the information to the “next channel owner”, a delivery confirmation is performed by giving a sequence number to each transmission data, or an OS communication function having a delivery confirmation function (for example, TCP) is preferably used.

next チャンネル・オーナーとなる機械設備100cは配信データ、論理チャンネル・Subscriber管理テーブルデータの受け渡しに成功すれば(図24ステップS3:Y)、図14の(5)に示すように、Ack信号を返信する(図24ステップS4)。一定時間経過してもデータの受け渡しに成功しなければ(図24ステップS3:N)、Nack信号を返信する(図24ステップS5)。   next If the machine equipment 100c that becomes the channel owner succeeds in the delivery of the distribution data and the logical channel / Subscriber management table data (step S3: Y in FIG. 24), the Ack signal is returned as shown in (5) of FIG. (Step S4 in FIG. 24). If the data transfer is not successful even after a lapse of a certain time (step S3 in FIG. 24: N), a Nack signal is returned (step S5 in FIG. 24).

ネットワーク離脱予定の機械設備100bの論理チャンネル管理機能21は、配信データ、論理チャンネル・Subscriber管理テーブルデータをすべて受け渡す処理が完了した時点で(図23ステップS7:Y)、図15の(6)に示すように、チャンネル・オブジェクトに登録されていた全てのSubscriberに対して チャンネル・オーナーが変更となった旨を伝達する(図23ステップS8)。例えば[Notify Channelオーナー]メッセージに「next チャンネル・オーナー」のアドレスを含めて伝達する。この一連の流れによりチャンネル・オーナーの移転作業は完了する。   The logical channel management function 21 of the machine facility 100b scheduled to leave the network completes the process of delivering all distribution data and logical channel / subscriber management table data (step S7: Y in FIG. 23), and then (6) in FIG. As shown in FIG. 23, the fact that the channel owner has been changed is transmitted to all Subscribers registered in the channel object (step S8 in FIG. 23). For example, it transmits the [Notify Channel Owner] message including the address of “next channel owner”. This series of steps completes the channel owner relocation work.

一定時間が経過しても配信データ、論理チャンネル・Subscriber管理テーブルデータをすべて受け渡す処理が完了しない場合、「next チャンネル・オーナー」として選択した送信ノードが不適切であったり、データ通信上の不具合があるとして、他のノードを選択し直すため、再度、図23のステップS5に戻る。   If the process of passing all distribution data and logical channel / Subscriber management table data is not completed even after a certain period of time has passed, the sending node selected as the “next channel owner” is inappropriate or there is a problem in data communication. In order to select another node again, the process returns to step S5 in FIG.

次に、ネットワーク離脱予定の機械設備100bの論理チャンネル管理機能21は、自らがSubscriberとして参加している論理チャンネルの情報を論理チャンネル・オーナー管理テーブル211等を検索して獲得し、各論理チャンネル離脱処理を行う(図23ステップS9)。即ち各チャンネルのチャンネル・オーナーへ[Leave Channel Request]または[Suspend Channel Request]をユニキャスト送信する。   Next, the logical channel management function 21 of the machine facility 100b scheduled to leave the network acquires information on the logical channels that it participates as a Subscriber by searching the logical channel owner management table 211 and the like, and leaves each logical channel. Processing is performed (step S9 in FIG. 23). That is, [Leave Channel Request] or [Suspend Channel Request] is unicast transmitted to the channel owner of each channel.

ネットワーク離脱予定の機械設備100bが参加していた各論理チャンネル離脱処理が完了すれば、当機械装置100bはネットワークから離脱可能となる。
以上の手順により、機械装置100bがネットワーク自体から離脱することができ、仮にネットワークから離脱する機械装置100bが論理チャンネル・オーナーとなっていた場合も当該論理チャンネルに影響がない形で機械装置100bのみを離脱させることができる。
When each logical channel leaving process in which the machine facility 100b scheduled to leave the network is completed, the machine device 100b can leave the network.
With the above procedure, the machine device 100b can leave the network itself, and even if the machine device 100b leaving the network is a logical channel owner, only the machine device 100b is not affected by the logical channel. Can be removed.

以上、本発明の機械設備間通信システムの構成例における好ましい実施例を図示して説明してきたが、本発明の技術的範囲を逸脱することなく種々の変更が可能であることは理解されるであろう。   As mentioned above, although the preferred example in the example of composition of the communication system between machine facilities of the present invention has been illustrated and explained, it is understood that various changes are possible without departing from the technical scope of the present invention. I will.

本発明の機械設備間通信システムは、産業ロボットを導入した生産システムなどに広く適応することができる。   The communication system between machine facilities of the present invention can be widely applied to a production system in which an industrial robot is introduced.

本発明の実施例1に係る機械設備間通信システムの構成例を模式的に示す図The figure which shows typically the structural example of the communication system between machine equipment which concerns on Example 1 of this invention. 論理チャンネル作成処理のデータの流れを説明する図(その1)Diagram for explaining the data flow of logical channel creation processing (part 1) 論理チャンネル作成処理のデータの流れを説明する図(その2)Diagram for explaining data flow of logical channel creation processing (part 2) 論理チャンネル作成処理のデータの流れを説明する図(その3)A diagram for explaining the data flow of logical channel creation processing (part 3) 論理チャンネル参加処理のデータの流れを説明する図(その1)Diagram for explaining the data flow of logical channel participation processing (part 1) 論理チャンネル参加処理のデータの流れを説明する図(その2)Diagram for explaining data flow of logical channel participation processing (part 2) 論理チャンネル離脱処理のデータの流れを説明する図(その1)A diagram for explaining the data flow of logical channel leaving processing (part 1) 論理チャンネル離脱処理のデータの流れを説明する図(その2)A diagram for explaining the data flow of logical channel leaving processing (part 2) 論理チャンネル一時離脱処理のデータの流れを説明する図(その1)A diagram for explaining the data flow of logical channel temporary disconnection processing (part 1) 論理チャンネル一時離脱処理のデータの流れを説明する図(その2)Diagram for explaining data flow of logical channel temporary disconnection processing (part 2) 論理チャンネルを用いたデータ送信処理のデータの流れを説明する図(その1)A diagram for explaining a data flow of data transmission processing using a logical channel (No. 1) 論理チャンネルを用いたデータ送信処理のデータの流れを説明する図(その2)A diagram for explaining the data flow of data transmission processing using a logical channel (part 2) ネットワーク離脱処理の流れを説明する図(その1)Diagram explaining the flow of network disconnection processing (part 1) ネットワーク離脱処理の流れを説明する図(その2)Diagram explaining the flow of network disconnection processing (part 2) ネットワーク離脱処理の流れを説明する図(その3)Diagram explaining the flow of network disconnection processing (part 3) 論理チャンネル作成処理の流れを示すフローチャートFlow chart showing the flow of logical channel creation processing 論理チャンネル参加処理の流れを示すフローチャートFlow chart showing the flow of logical channel participation processing 論理チャンネル離脱処理の流れを示すフローチャートFlowchart showing the flow of logical channel leaving processing 論理チャンネル一時離脱処理の流れを示すフローチャートFlow chart showing the flow of logical channel temporary disconnection processing データ送信を依頼した送信ノードにおける処理の流れを示すフローチャートFlow chart showing the flow of processing in the sending node that requested data transmission 論理チャンネル・オーナーとなっている送信ノードにおける処理の流れを示すフローチャートFlowchart showing the flow of processing at the sending node that is the logical channel owner 該当する論理チャンネルのSubscriberとなっている送信ノードにおける処理の流れを示すフローチャートFlow chart showing the flow of processing in the sending node that is the Subscriber of the corresponding logical channel ネットワークを離脱するノードにおける処理の流れを示すフローチャートA flowchart showing the flow of processing in a node leaving the network 新たに論理チャンネル・オーナーとなるノードにおける処理の流れを示すフローチャートFlow chart showing the flow of processing in the node that will newly become the logical channel owner Ackメッセージのビットデータ列の例およびNackメッセージのビットデータ列の例を示す図The figure which shows the example of the bit data sequence of an Ack message, and the example of the bit data sequence of a Nack message

10 データ通信インターフェイス
20 ミドルウェアプログラム
21 論理チャンネル管理機能
22 論理チャンネルデータ送受信機能
23 論理チャンネルデータ集配信機能
30 アプリケーションプログラム
40 機械設備機能
100 機械設備
200 ネットワーク
DESCRIPTION OF SYMBOLS 10 Data communication interface 20 Middleware program 21 Logical channel management function 22 Logical channel data transmission / reception function 23 Logical channel data collection / delivery function 30 Application program 40 Mechanical equipment function 100 Mechanical equipment 200 Network

Claims (8)

2台以上の機械設備において、前記機械設備間のデータ通信手段となるネットワークリソースと、アプリケーションプログラムと、マシンツーマシン型非同期マルチキャストを可能とするミドルウェアプログラムを装備し、前記機械設備間に構築した論理チャンネルに属する前記機械設備同士がデータの送受信を行う機械設備間通信システムであって、
前記ミドルウェアプログラムのすべてにおいて、前記論理チャンネルごとに存在する論理チャンネル・オーナーに関するデータを格納する論理チャンネル・オーナー管理テーブルと備え、
前記論理チャンネル・オーナーとなっている前記ミドルウェアプログラムにおいて、当該論理チャンネルに属するノードである論理チャンネル・Subscriberに関するデータを格納する論理チャンネル・Subscriber管理テーブルを備え、
送信データを持ち論理チャンネル・Publisherとなる前記ミドルウェアプログラムが、前記論理チャンネル・オーナー管理テーブルを検索して前記論理チャンネル・オーナーのノードに前記送信データを送信する論理チャンネルデータ送受信処理を実行し、
前記論理チャンネル・オーナーである前記ミドルウェアプログラムが、前記論理チャンネル・Subscriber管理テーブルを用いて登録先のノードに対して前記送信データを配信する論理チャンネルデータ集配信処理を実行することにより、マシンツーマシン型非同期マルチキャスト通信を可能としたことを特徴とする機械設備間通信システム。
In two or more machine facilities, a network resource that is a data communication means between the machine facilities, an application program, and a middleware program that enables machine-to-machine asynchronous multicasting, and a logic constructed between the machine facilities A communication system between machine facilities for transmitting and receiving data between the machine facilities belonging to a channel,
All of the middleware programs comprise a logical channel owner management table that stores data relating to logical channel owners that exist for each logical channel,
In the middleware program that is the logical channel owner, a logical channel that is a node belonging to the logical channel, a logical channel that stores data related to the Subscriber, a Subscriber management table,
The middleware program that has transmission data and is a logical channel Publisher executes logical channel data transmission / reception processing for searching the logical channel owner management table and transmitting the transmission data to the logical channel owner node,
The middleware program, which is the logical channel owner, executes a logical channel data collection and distribution process for distributing the transmission data to a registration destination node using the logical channel / subscriber management table. Type machine-to-machine communication system characterized by enabling asynchronous multicast communication.
前記論理チャンネル・オーナー管理テーブルの検索の結果、前記検索にかかる論理チャンネル・オーナーが存在しない場合、前記論理チャンネル・オーナーとなりたいノードのミドルウェアプログラムが、論理チャンネル・オブジェクトを生成し、自らを前記論理チャンネル・オーナーのノードとして自ら管理する前記論理チャンネル・オーナー管理テーブルに登録するとともに、他のノードのミドルウェアプログラムに対して自らが前記論理チャンネル・オーナーであることを宣言するデータをブロードキャスト送信し、論理チャンネルを構築することを特徴とする請求項1に記載の機械設備間通信システム。   If the logical channel owner related to the search does not exist as a result of the search of the logical channel owner management table, the middleware program of the node that wants to become the logical channel owner generates a logical channel object and identifies itself as the logical channel owner. Register in the logical channel owner management table managed by itself as a channel owner node, and broadcast to the middleware program of other nodes broadcast data declaring that it is the logical channel owner. The communication system according to claim 1, wherein a channel is constructed. 既存の論理チャンネルに参加したいノードの前記ミドルウェアプログラムは、自らの前記論理チャンネル・オーナー管理テーブルを検索し、検索された論理チャンネル・オーナーに対して参加要求を示すデータをユニキャスト送信し、前記論理チャンネル・オーナーから参加許可を示すデータを受信した場合に、自ら管理する前記論理チャンネル・オーナー管理テーブルに前記論理チャンネル・オーナーのノードを登録し、
前記論理チャンネル・オーナーは、前記参加許可を出す際に、自ら管理する前記論理チャンネル・Subscriber管理テーブルに前記参加要求を示すデータを送信した前記ノードを登録することを特徴とする請求項1または2に記載の機械設備間通信システム。
The middleware program of a node that wants to participate in an existing logical channel searches its logical channel owner management table, unicasts data indicating a participation request to the searched logical channel owner, When data indicating permission to participate is received from the channel owner, the logical channel owner node is registered in the logical channel owner management table managed by itself,
3. The logical channel owner registers the node that has transmitted the data indicating the participation request in the logical channel / subscriber management table managed by the logical channel owner when granting the participation permission. The communication system between machine facilities described in 2.
ノードが既に参加している論理チャンネルから離脱する場合、前記ノードのミドルウェアプログラムは、自らの前記論理チャンネル・オーナー管理テーブルを検索し、検索された論理チャンネル・オーナーに対して離脱要求を示すデータをユニキャスト送信し、前記論理チャンネル・オーナーから離脱許可を示すデータを受信した場合、自ら管理する前記論理チャンネル・オーナー管理テーブルから前記論理チャンネル・オーナーのノードを削除し、
前記論理チャンネル・オーナーは、前記離脱許可を出す際に、自ら管理する前記論理チャンネル・Subscriber管理テーブルから前記離脱要求を示すデータを送信した前記ノードを削除することを特徴とする請求項1から3のいずれか1項に記載の機械設備間通信システム。
When a node leaves a logical channel that has already joined, the middleware program of the node searches its own logical channel owner management table and stores data indicating a withdrawal request for the searched logical channel owner. When unicast transmission and data indicating permission to leave are received from the logical channel owner, the logical channel owner node is deleted from the logical channel owner management table managed by itself,
4. The logical channel owner deletes the node that has transmitted the data indicating the withdrawal request from the logical channel / subscriber management table managed by itself when issuing the leave permission. The communication system between machine facilities of any one of these.
ノードが既に参加している論理チャンネルから一時離脱する場合、前記ノードのミドルウェアプログラムは、自らの前記論理チャンネル・オーナー管理テーブルを検索し、検索された論理チャンネル・オーナーに対して一時離脱要求を示すデータをユニキャスト送信し、前記論理チャンネル・オーナーから一時離脱許可を示すデータを受信した場合、自ら管理する前記論理チャンネル・オーナー管理テーブルにおいて前記論理チャンネル・オーナーのノードを一時停止状態と扱い、
前記論理チャンネル・オーナーは、前記離脱許可を出す際に、自ら管理する前記論理チャンネル・Subscriber管理テーブルから前記一時離脱要求を示すデータを送信した前記ノードを一時停止状態と扱うことを特徴とする請求項1から4のいずれか1項に記載の機械設備間通信システム。
When a node temporarily leaves a logical channel to which a node has already joined, the middleware program of the node searches its logical channel owner management table and indicates a temporary leave request to the searched logical channel owner. When data is unicasted and data indicating temporary leave permission is received from the logical channel owner, the logical channel owner node in the logical channel owner management table managed by itself is treated as a paused state,
The logical channel owner, when issuing the leave permission, treats the node that has transmitted the data indicating the temporary leave request from the logical channel / subscriber management table managed by itself as a suspended state. Item 5. The communication system between machine facilities according to any one of Items 1 to 4.
機械装置がネットワーク自体から離脱する場合、前記論理チャンネル・オーナーテーブルを検索し、自らのノードが論理チャンネル・オーナーとなっている論理チャンネル・オブジェクトが存在するか否か検知し、存在する場合、前記論理チャンネル・Subscriber管理テーブルに登録されている全てのSubscriberのノードに対して論理チャンネル・オーナー代替希望を示すデータを送信し、前記論理チャンネル・オーナー代替希望に応じるノードから送信されるチャンネル・オーナー適合性情報を受信し、最適であると判断したSubscriberのノードを一つ選択し、前記論理チャンネル・Subscriber管理テーブルデータを全て送信する、論理チャンネル・オーナー移転処理を実行し、
前記論理チャンネル・オーナー管理テーブルを検索し、自らがSubscriberのノードとして参加している論理チャンネルを検知し、当該論理チャンネルからの前記離脱または前記一時離脱処理を実行する請求項4または5に記載の機械設備間通信システム。
When a machine device leaves the network itself, the logical channel owner table is searched to detect whether or not there is a logical channel object whose own node is a logical channel owner. Data indicating logical channel / owner substitution request is transmitted to all Subscriber nodes registered in the logical channel / subscriber management table, and the channel owner conformity is transmitted from the node corresponding to the logical channel / owner substitution request. Receiving the sex information, selecting one of the Subscriber nodes determined to be optimal, and transmitting all the logical channel / Subscriber management table data, executing the logical channel / owner transfer process,
6. The logical channel / owner management table is searched, a logical channel participating as a Subscriber node is detected, and the withdrawal from the logical channel or the temporary withdrawal process is executed. Communication system between machine facilities.
2台以上の機械設備において、前記機械設備間のデータ通信手段となるネットワークリソースと、アプリケーションプログラムと、マシンツーマシン型非同期マルチキャストを可能とするミドルウェアプログラムを装備し、前記機械設備間に構築した論理チャンネルに属する前記機械設備同士がデータの送受信を行う機械設備間通信方法であって、
前記ミドルウェアプログラムのすべてにおいて、前記論理チャンネルごとに存在する論理チャンネル・オーナーに関するデータを格納する論理チャンネル・オーナー管理テーブルと備え、
前記論理チャンネル・オーナーとなっている前記ミドルウェアプログラムにおいて、当該論理チャンネルに属するノードである論理チャンネル・Subscriberに関するデータを格納する論理チャンネル・Subscriber管理テーブルを備え、
送信データを持ち論理チャンネル・Publisherとなる前記ミドルウェアプログラムが、前記論理チャンネル・オーナー管理テーブルを検索して前記論理チャンネル・オーナーのノードに前記送信データを送信する論理チャンネルデータ送受信処理を実行し、
前記論理チャンネル・オーナーである前記ミドルウェアプログラムが、前記論理チャンネル・Subscriber管理テーブルを用いて登録先のノードに対して前記送信データを配信する論理チャンネルデータ集配信処理を実行することにより、マシンツーマシン型非同期マルチキャスト通信を可能としたことを特徴とする機械設備間通信方法。
In two or more machine facilities, a network resource that is a data communication means between the machine facilities, an application program, and a middleware program that enables machine-to-machine asynchronous multicasting, and a logic constructed between the machine facilities A communication method between machine facilities in which the machine facilities belonging to a channel transmit and receive data,
All of the middleware programs comprise a logical channel owner management table that stores data relating to logical channel owners that exist for each logical channel,
In the middleware program that is the logical channel owner, a logical channel that is a node belonging to the logical channel, a logical channel that stores data related to the Subscriber, a Subscriber management table,
The middleware program that has transmission data and is a logical channel Publisher executes logical channel data transmission / reception processing for searching the logical channel owner management table and transmitting the transmission data to the logical channel owner node,
The middleware program, which is the logical channel owner, executes a logical channel data collection and distribution process for distributing the transmission data to a registration destination node using the logical channel / subscriber management table. Machine-to-machine communication method characterized in that type asynchronous multicast communication is possible.
2台以上の機械設備において、前記機械設備間のデータ通信手段となるネットワークリソースと、アプリケーションプログラムと、マシンツーマシン型非同期マルチキャストを可能とするミドルウェアプログラムを装備し、前記機械設備間に構築した論理チャンネルに属する前記機械設備同士がデータの送受信を行う機械設備間通信プログラムであって、
前記ミドルウェアプログラムのすべてにおいて、前記論理チャンネルごとに存在する論理チャンネル・オーナーに関するデータを格納する論理チャンネル・オーナー管理テーブルと備え、
前記論理チャンネル・オーナーとなっている前記ミドルウェアプログラムにおいて、当該論理チャンネルに属するノードである論理チャンネル・Subscriberに関するデータを格納する論理チャンネル・Subscriber管理テーブルを備え、
送信データを持ち論理チャンネル・Publisherとなる前記ミドルウェアプログラムが、前記論理チャンネル・オーナー管理テーブルを検索して前記論理チャンネル・オーナーのノードに前記送信データを送信する論理チャンネルデータ送受信処理を実行し、
前記論理チャンネル・オーナーである前記ミドルウェアプログラムが、前記論理チャンネル・Subscriber管理テーブルを用いて登録先のノードに対して前記送信データを配信する論理チャンネルデータ集配信処理を実行することにより、マシンツーマシン型非同期マルチキャスト通信を可能としたことを特徴とする機械設備間通信プログラム。
In two or more machine facilities, a network resource that is a data communication means between the machine facilities, an application program, and a middleware program that enables machine-to-machine asynchronous multicasting, and a logic constructed between the machine facilities The machine equipment communication program for transmitting and receiving data between the machine equipment belonging to the channel,
All of the middleware programs comprise a logical channel owner management table that stores data relating to logical channel owners that exist for each logical channel,
In the middleware program that is the logical channel owner, a logical channel that is a node belonging to the logical channel, a logical channel that stores data related to the Subscriber, a Subscriber management table,
The middleware program that has transmission data and is a logical channel Publisher executes logical channel data transmission / reception processing for searching the logical channel owner management table and transmitting the transmission data to the logical channel owner node,
The middleware program, which is the logical channel owner, executes a logical channel data collection and distribution process for distributing the transmission data to a registration destination node using the logical channel / subscriber management table. Type machine-to-machine communication program characterized by enabling asynchronous multicast communication.
JP2009203007A 2009-09-02 2009-09-02 Machine-to-machine communication system using asynchronous multicast middleware Pending JP2011053978A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009203007A JP2011053978A (en) 2009-09-02 2009-09-02 Machine-to-machine communication system using asynchronous multicast middleware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009203007A JP2011053978A (en) 2009-09-02 2009-09-02 Machine-to-machine communication system using asynchronous multicast middleware

Publications (1)

Publication Number Publication Date
JP2011053978A true JP2011053978A (en) 2011-03-17

Family

ID=43942901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009203007A Pending JP2011053978A (en) 2009-09-02 2009-09-02 Machine-to-machine communication system using asynchronous multicast middleware

Country Status (1)

Country Link
JP (1) JP2011053978A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9911304B2 (en) 2015-10-20 2018-03-06 Fujitsu Limited Distributed control method, distributed control system, and non-transitory computer-readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353138A (en) * 1999-06-11 2000-12-19 Fujitsu Ltd Electronic conference construction system
JP2001168901A (en) * 1999-12-08 2001-06-22 Nec Corp Community production method, community production system and storage medium with community production program stored therein
JP2005100030A (en) * 2003-09-24 2005-04-14 Ntt Comware Corp Communication system, and formation method of communication system
JP2006350574A (en) * 2005-06-14 2006-12-28 Chubu Electric Power Co Inc Related information sharing device and related information sharing method
JP2007200305A (en) * 2005-12-27 2007-08-09 Matsushita Electric Works Ltd Automatic identifier generation device, information storage system, and information acquisition method for it

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353138A (en) * 1999-06-11 2000-12-19 Fujitsu Ltd Electronic conference construction system
JP2001168901A (en) * 1999-12-08 2001-06-22 Nec Corp Community production method, community production system and storage medium with community production program stored therein
JP2005100030A (en) * 2003-09-24 2005-04-14 Ntt Comware Corp Communication system, and formation method of communication system
JP2006350574A (en) * 2005-06-14 2006-12-28 Chubu Electric Power Co Inc Related information sharing device and related information sharing method
JP2007200305A (en) * 2005-12-27 2007-08-09 Matsushita Electric Works Ltd Automatic identifier generation device, information storage system, and information acquisition method for it

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9911304B2 (en) 2015-10-20 2018-03-06 Fujitsu Limited Distributed control method, distributed control system, and non-transitory computer-readable storage medium

Similar Documents

Publication Publication Date Title
CN102075417B (en) Multicast cutting method, protocol independent multicast router
CN106230896A (en) A kind of information push method, Apparatus and system
CN110266783B (en) DDS-based railway CTC system communication platform
CN102355413A (en) Method and system for unifying message space on large scale in real time
CN101483655B (en) Packet transmission method and proxy device for Internet group management protocol
CN109981308B (en) Message transmission method and device
US20020035602A1 (en) Multisite coordination in shared multicast trees
WO2013028432A1 (en) Multicast database replication
CN102984174B (en) Reliability guarantee method and system in a kind of distribution subscription system
CN113098747A (en) Real-time soft bus implementation method for intelligent rail transit system
US10454884B2 (en) Terminal and multicast address distribution server
JP4884520B2 (en) Data collection method and system
JP2011053978A (en) Machine-to-machine communication system using asynchronous multicast middleware
CN105684386B (en) Manage method, equipment and the storage device of the subscription request of multicast transmission in communication network
JP2008524912A (en) Communication network system having bus type network structure and data transmission / reception method between services using the same
KR100807815B1 (en) Communication network system of bus network structure and method using the communication network system
JP3950915B2 (en) DATA DISTRIBUTION METHOD, DATA DISTRIBUTION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, DATA RECEPTION DEVICE, AND DATA DISTRIBUTION PROGRAM
CN101374068A (en) Method, apparatus and system for implementing packet transmission of multicast business
JPH1188396A (en) Communication equipment
Rajagopalan Consensus and control in wide-area group communication
Dommel et al. Efficient group coordination in multicast trees
CN101286938B (en) Inter-node communication method and system for realizing mixed transmission and storage under distributed architecture
JP4393933B2 (en) Group management apparatus and multicast group management method
CN101594288A (en) Query facility selecting method, router and network system
Liu et al. IBRMP: A Reliable Multicast Protocol for InfiniBand

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131029