JP4608416B2 - 制御装置および通信方法 - Google Patents
制御装置および通信方法 Download PDFInfo
- Publication number
- JP4608416B2 JP4608416B2 JP2005327273A JP2005327273A JP4608416B2 JP 4608416 B2 JP4608416 B2 JP 4608416B2 JP 2005327273 A JP2005327273 A JP 2005327273A JP 2005327273 A JP2005327273 A JP 2005327273A JP 4608416 B2 JP4608416 B2 JP 4608416B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- reception
- transmission
- control device
- identifier
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Description
この自律分散制御方式では、データ送信側の制御装置は、相手の存在の有無に関わらず常にデータをブロードキャストしており、ネットワークに接続されている受信側の制御装置でフィルタリング処理が行われる構成となっている。これにより、制御装置の追加、削除を容易にしている。
伝送通信路上からの受信データ全てに対してこの処理が実施されると、制御装置の負荷が高くなり、画像処理装置のようなリアルタイム性が非常に重要とされる装置を含むシステムにおいては、リアルタイム制御が乱れる原因となる。
さらにユニキャスト通信では、それぞれ固有のコネクションを接続することで個々にデータの送受信が行われるため、通信データのパケットを時系列的および統一的にロギングできず、通信で異常が発生した場合の問題解決に時間を要している。
タスクを実行する制御プロセスを1つ以上備える制御装置が伝送通信路上で複数接続される分散制御システムにおける通信方法であって、
前記制御装置は、パケットの送受信を制御する通信サーバと、前記制御プロセスにおける識別子毎の受信要求の情報およびポートの情報を記憶している受信識別子記憶部とを備え、
前記通信サーバが送受信を制御するパケットは、識別子と前記識別子により識別されるデータとを含み、
前記通信サーバは、
他の制御装置からパケットを受信し、受信した該パケットを自制御装置内の制御プロセスへと送信する場合には、
受信したパケットに含まれる識別子から、前記受信識別子記憶部の記憶内容を用いて、受信要求する制御プロセスがあるか否かを判別し、
受信要求する制御プロセスがある場合には、対応するポートへ前記パケットを送信し、
受信要求する制御プロセスが無い場合には、前記パケットを廃棄する構成とした。その他の手段については、後記する実施の形態で述べる。
図1は、LAN上でユニキャスト通信を実施する分散制御システムにおけるネットワーク構成例を示す図である。
この分散制御システムは、制御装置100として、制御装置A110、制御装置B120、制御装置C130、制御装置D140が、Ethernet(登録商標)等の同一の伝送通信路10上に接続されている構成である。
なお、図1では3つの制御プロセス(112a,112b,112c)を例として記載してあるが、これに限らず、制御プロセスの数は必要に応じて適宜変更可能である。
また、制御装置A110の通信サーバ111と同様に、制御装置B120内に通信サーバ121を備え、制御装置C130内に通信サーバ131を備え、制御装置D140内に通信サーバ141を備えている。
なお、ここでは、任意の制御装置を指すときは符号100を用い、任意の通信サーバを指すときは符号101を用い、任意の制御プロセスを指すときは符号112を用いる。
例えば、制御装置A110内の制御プロセス112aおよび制御プロセス112bといった制御装置A110内の制御プロセス間と、制御装置A110内の制御プロセス112aおよび制御装置B120内の制御プロセス群122の中の一つの制御プロセスといった伝送通信路10をまたいだ制御プロセス間と、どちらの通信においても使用される図1のパケット150は、ID(識別子)151とデータ152とで構成される。ID151はデータ内容毎の識別を示し、送受信のための識別子として使用される。データ152とID151は、例えばID151の値「0」であれば「接続機器XのON/OFF」、ID151の値「1」であれば「画像情報」、ID151の値「3」であれば「計測情報」等というように設定される。
送信ホスト管理テーブル113は、通信相手との接続が完了(コネクション接続完了)している制御装置100の情報およびポートの情報を管理するためのテーブルである。
受信ID管理テーブル118は、通信サーバ111が受信したパケット150を各制御プロセス112が受信するか否かの情報を管理するためのテーブルである。
送信ID管理テーブル119は、データ152を識別するID151の値毎に、送信先を一意に識別する宛先であるIPアドレス情報を管理するためのテーブルである。
受信バッファ116および送信バッファ117は、通信サーバ111(および制御プロセス112)が処理中であった場合に、パケット150の一時待避所として使用される領域である。
ロギングバッファ190は、通信サーバ111を送受信共に経由するパケット150のログを格納する領域である。
パケット送信時の通信方法について説明する。
ここでは、制御装置A110内の制御プロセス112aが制御装置B120内の制御プロセス群122(内の1つのプロセス)に対してパケット150(ID151の値「1」とデータ152)を送信する場合を例として、制御装置A110内の制御プロセス112aおよび通信サーバ111における処理を、図5のフローに沿って説明する。
送信ID管理テーブル119は、ID151の値は「0」〜「255」まで利用可能としており、それぞれの値毎に連結リストを持たせた構造となっている。なお、今回は説明のためID151の値は「0」〜「255」の範囲としているが、値はこれに限らず、システム規模により変更してもよい。
要素310は、当該ID値のデータを送信する相手である制御装置100のIPアドレスが格納されるIPアドレス312と、ポインタであるnext311とで構成される。
制御装置A110内において制御プロセス112aが、通信サーバ111に対して、送信ID管理テーブル設定要求を送信する(S501)。
通信サーバ111は、プロセス間通信で受信する情報を常に監視しており、受信した情報が送信ID管理テーブル設定要求だった場合(S502→送信ID管理テーブル設定要求)、送信相手である制御装置B120のIPアドレスを、送信ID管理テーブル119に登録する(S503)。例えば図3(a)では、ID151の値が「1」の要素330には、next331がNULLとなっていることから、IPアドレスが未登録となっていることがわかる。そのため、ID151の値「1」の先頭の要素330において、next331には次に新しく生成した要素のアドレスを設定し、IPアドレス332には制御装置B120のIPアドレスを設定して登録する。
以上のステップS501,S502,S503における送信ID管理テーブル119へのIPアドレス登録処理は、初期設定として予め行われていることが望ましい。
また、本説明では、例として制御プロセス112aが送信するパケット150(ID151の値「1」)について説明したが、この登録処理は、制御装置100内の全制御プロセス112から送信される全てのパケット150について行われるようにしてもよい。
通信サーバ111は、プロセス間通信で受信する情報を常に監視しており、受信した情報が制御プロセス112aからの送信用パケット(パケット150)だった場合(S502→制御プロセスからの送信用パケット)、制御プロセス112aから受信したパケット150に含まれるID151の値を確認する。今回のID151の値は「1」のため、送信ID管理テーブル119のID151の値「1」の連結リストを参照し、パケット150を送信するIPアドレス332(図3(a)参照)を取得する(S505)。
続いて通信サーバ111は、ID151の値「1」のIPアドレス332について、送信ホスト管理テーブル113内に、同じIPアドレスの情報が登録されているか否かを判別する(S506)。
送信ホスト管理テーブル113は、既にコネクションが接続されている通信相手の情報が、前記した送信ID管理テーブル119と同様に連結リストとして格納されている。この連結リスト構造により、各要素(340,350,360)がポインタであるnext(341,351,361)によって連結され、連結リストの最後の要素か否かは、next(341〜361)の値がNULL(値が0)か否かで判別できる(図3(b)ではnext361)。つまり、図3(b)の送信ホスト管理テーブル113は、2つの要素(340,350)と、最後に要素360、という構成となっている。
要素340には、データを送信する制御装置100のIPアドレス343と、コネクション接続正常完了時に割り当てられるポートの番号である論理回線ポートNo342の情報とが格納される。他の要素(350,360)も要素340と同様の構成である。
TCP/IP(Transmission Control Protocol/Internet Protocol)を用いたユニキャスト通信を行うためには、送信の前に必ず送信相手とのコネクション接続を実施して、通信のための論理回線ポートを割り当てる必要がある。
通信サーバ111は、制御装置B120からコネクション接続完了の信号を受信したら、コネクション接続が正常完了したことになるので(S508→Y)、送信ホスト管理テーブル113の連結リストの最後の要素360において、制御装置B120のIPアドレスをIPアドレス363に格納すると共に、自身で当該IPアドレス用に割り当てたポートの情報(番号)を論理回線ポートNo362に格納する(S509)。これにより、制御装置A110および制御装置B120間でコネクション接続が正常完了したことになる。
なお、本実施形態では、例として制御装置B120を登録したが、他の制御装置100についても登録方法は同様である。
なお、ステップS507〜S509のコネクション接続要求および登録の処理は、コネクション接続の初期情報として予め、例えば制御装置A110の電源起動時等に、接続されている全ての制御装置100に対して実行されてもよい。
また、前もって送信ID管理テーブル119に、システムの最大構成を考慮した上で、ID151の値毎に、送信相手となる制御装置100のIPアドレスを登録しておくことで、当初はその制御装置100が存在しなくても、その制御装置100が追加されたとき(その制御装置100宛にパケット150が送信されたとき)にコネクションの接続が行われ、コネクション接続時に割り当てられたポートを使用して送信が行われるため、システムの拡張も容易に行うことが可能となる。
パケット受信時の通信方法について説明する。ここでは、制御装置B120内の制御プロセス群122の1つのプロセスから送信されたパケット150(ID151の値「2」とデータ152)を、制御装置A110内の制御プロセス112bが受信する場合を例として、制御装置A110の制御プロセス112bおよび通信サーバ111における処理を、図6のフローに沿って説明する。
受信ID管理テーブル118は前記した送信ホスト管理テーブル113と同様に連結リスト構造となっており、制御プロセス(112a〜112c)毎に1つの要素420を登録できる構成となっている。要素420は、ポインタであるnext421と、論理回線ポートNo422と、制御プロセス112bが受信したいデータを識別するID151の値を登録するrecv_ID423とで構成される。
ID151の値に対応している各Bitの値を「1」に設定すると受信可となり、このID151の値を含むパケット150を論理回線ポートNo422のポートへ送信することを意味し、Bitの値が「0」の場合には受信否となり、このID151の値を含むパケット150は論理回線ポートNo422のポートへは送信しないことを意味する。
ある制御プロセス112において、受信可否を新規に受信ID管理テーブル118へ登録する時は、受信ID管理テーブル118の連結リストの最後の要素420に登録することとなる。連結リストの最後の要素か否かはnext421の値がNULL(値が0)かどうかで判断することができる。
制御プロセス112bは、通信サーバ111に受信ID管理テーブル設定要求を送信する(S601)。
通信サーバ111は、受信する情報を常に監視しており、受信した情報が受信管理テーブル設定要求だった場合(S602→受信ID管理テーブル設定要求)、受信ID管理テーブル118において連結リストの最後の要素420のrecv_ID423でID151の値「2」のBitを「1」に設定し(図4)、さらに制御プロセス112bに割り当てるポートを論理回線ポートNo422に設定した、要素420を登録する(S603)。
また、要素420の新規追加だけでなく、制御プロセス112毎のrecv_ID423の修正も可能である。
つまり、例えば、通常は制御プロセス112bがシステム上必要であるが、特定の場合には制御プロセス112bが必要ない、というような場合には、制御プロセス112bをプログラム起動せず、受信ID管理テーブル118のrecv_ID423で当該ID151の値のBitを「0」と設定することで、制御プロセス112bにパケット150が送信されることがなくなり、他に受信要求する制御プロセス112が存在しなければ、パケット150は廃棄されることとなる。
本発明は、全ての制御装置100内に通信サーバ101を設けたことにより、この構成で送受信されるパケット150は、全て通信サーバ101を経由する。そのため、通信サーバ101を介して送受信したパケット150を、例えば送受信の行われた年月日時刻、送受信相手のIPアドレス等と共に、図2のロギングバッファ190に格納することにより、統一的かつ時系列的に通信されたパケット150のロギングを実施することが可能となる。
ロギングバッファ190はリングバッファ構成となっており、一定のサイズが蓄積されると、上書きされるものである。ロギングバッファ190のサイズは、システムの通信量を見越して変更が可能である。また、パケット150の送信、受信が識別できるよう送受信識別のための情報も格納しておく。これにより、通信で異常が発生した場合に迅速な通信ログの解析を実施することが可能である。
101,111,121,131,141 通信サーバ
112,112a,112b,112c 制御プロセス
113 送信ホスト管理テーブル(送信ホスト記憶部)
116 受信バッファ
117 送信バッファ
118 受信ID管理テーブル(受信識別子記憶部)
119 送信ID管理テーブル(送信識別子記憶部)
122,132,142 制御プロセス群
150 パケット
151 ID
152 データ
190 ロギングバッファ
Claims (6)
- タスクを実行する制御プロセスを1つ以上備える制御装置が伝送通信路上で複数接続される分散制御システムに用いられる制御装置であって、
前記制御装置は、パケットの送受信を制御する通信サーバと、前記制御プロセスにおける識別子毎の受信要求の情報およびポートの情報を記憶している受信識別子記憶部とを備え、
前記通信サーバが送受信を制御するパケットは、識別子と前記識別子により識別されるデータとを含み、
前記通信サーバは、
他の制御装置からパケットを受信し、受信した該パケットを自制御装置内の制御プロセスへと送信する場合には、
受信したパケットに含まれる識別子から、前記受信識別子記憶部の記憶内容を用いて、受信要求する制御プロセスがあるか否かを判別し、
受信要求する制御プロセスがある場合には、対応するポートへ前記パケットを送信し、
受信要求する制御プロセスが無い場合には、前記パケットを廃棄する
ことを特徴とする制御装置。 - 前記制御装置が、
前記識別子毎に通信相手のIPアドレスの情報を記憶している送信識別子記憶部と、
前記通信相手のIPアドレスとポートの情報を記憶している送信ホスト記憶部とを備え、
前記通信サーバは、
自制御装置内の制御プロセスからパケットを受信し、受信した該パケットを他の制御装置へと送信する場合には、
前記送信識別子記憶部の記憶内容を用いて、パケットに含まれる識別子から送信相手のIPアドレスを取得し、
前記送信ホスト記憶部に、前記取得したIPアドレスが存在するか否かを判別し、
前記判別において、前記取得したIPアドレスが存在した場合には、前記送信ホスト記憶部から当該IPアドレスに対応するポートを取得して前記ポートから前記パケットを送信し、
前記判別において、前記取得したIPアドレスが存在しない場合には、コネクション接続要求を前記取得したIPアドレスに送信して、コネクションを接続完了した後に、当該IPアドレスおよび割り当てたポートの情報を前記送信ホスト記憶部に記憶し、前記割り当てたポートへ前記パケットを送信し、
前記コネクションを接続完了しなかったときは、前記パケットを廃棄する
ことを特徴とする請求項1に記載の制御装置。 - 前記受信識別子記憶部には、前記制御プロセスにおける識別子毎の受信要求を示す1ビットの情報が、識別子の順に並べられているデータ構造として記憶されており、
前記通信サーバは、前記制御プロセスから複数の識別子毎の受信要求の情報を受信すると、その受信した情報で受信識別子記憶部を更新することを特徴とする請求項1または請求項2に記載の制御装置。 - タスクを実行する制御プロセスを1つ以上備える制御装置が伝送通信路上で複数接続される分散制御システムにおける通信方法であって、
前記制御装置は、パケットの送受信を制御する通信サーバと、前記制御プロセスにおける識別子毎の受信要求の情報およびポートの情報を記憶している受信識別子記憶部とを備え、
前記通信サーバが送受信を制御するパケットは、識別子と前記識別子により識別されるデータとを含み、
前記通信サーバは、
他の制御装置からパケットを受信し、受信した該パケットを自制御装置内の制御プロセスへと送信する場合には、
受信したパケットに含まれる識別子から、前記受信識別子記憶部の記憶内容を用いて、受信要求する制御プロセスがあるか否かを判別し、
受信要求する制御プロセスがある場合には、対応するポートへ前記パケットを送信し、
受信要求する制御プロセスが無い場合には、前記パケットを廃棄する
ことを特徴とする通信方法。 - 前記制御装置が、
前記識別子毎に通信相手のIPアドレスの情報を記憶している送信識別子記憶部と、
前記通信相手のIPアドレスとポートの情報を記憶している送信ホスト記憶部とを備え、
前記通信サーバは、
自制御装置内の制御プロセスからパケットを受信し、受信した該パケットを他の制御装置へと送信する場合には、
前記送信識別子記憶部の記憶内容を用いて、パケットに含まれる識別子から送信相手のIPアドレスを取得し、
前記送信ホスト記憶部に、前記取得したIPアドレスが存在するか否かを判別し、
前記判別において、前記取得したIPアドレスが存在した場合には、前記送信ホスト記憶部から当該IPアドレスに対応するポートを取得して前記ポートから前記パケットを送信し、
前記判別において、前記取得したIPアドレスが存在しない場合には、コネクション接続要求を前記取得したIPアドレスに送信して、コネクションを接続完了した後に、当該IPアドレスおよび割り当てたポートの情報を前記送信ホスト記憶部に記憶し、前記割り当てたポートへ前記パケットを送信し、
前記コネクションを接続完了しなかったときは、前記パケットを廃棄する
ことを特徴とする請求項4に記載の通信方法。 - 前記受信識別子記憶部には、前記制御プロセスにおける識別子毎の受信要求を示す1ビットの情報が、識別子の順に並べられているデータ構造として記憶されており、
前記通信サーバは、前記制御プロセスから複数の識別子毎の受信要求の情報を受信すると、その受信した情報で受信識別子記憶部を更新することを特徴とする請求項4または請求項5に記載の通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005327273A JP4608416B2 (ja) | 2005-11-11 | 2005-11-11 | 制御装置および通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005327273A JP4608416B2 (ja) | 2005-11-11 | 2005-11-11 | 制御装置および通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007135049A JP2007135049A (ja) | 2007-05-31 |
JP4608416B2 true JP4608416B2 (ja) | 2011-01-12 |
Family
ID=38156336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005327273A Expired - Fee Related JP4608416B2 (ja) | 2005-11-11 | 2005-11-11 | 制御装置および通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4608416B2 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0662089A (ja) * | 1992-08-07 | 1994-03-04 | Fujitsu Ltd | 通信システムにおける障害情報採取方法 |
JP2003177930A (ja) * | 2001-09-04 | 2003-06-27 | Samsung Electronics Co Ltd | プロセス間通信方法及び装置 |
-
2005
- 2005-11-11 JP JP2005327273A patent/JP4608416B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0662089A (ja) * | 1992-08-07 | 1994-03-04 | Fujitsu Ltd | 通信システムにおける障害情報採取方法 |
JP2003177930A (ja) * | 2001-09-04 | 2003-06-27 | Samsung Electronics Co Ltd | プロセス間通信方法及び装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2007135049A (ja) | 2007-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11165869B2 (en) | Method and apparatus for dynamic destination address control in a computer network | |
CN107948076B (zh) | 一种转发报文的方法及装置 | |
US8005968B2 (en) | Single-interface dynamic MTU control | |
JP2003333050A (ja) | データ送信方法 | |
US9344399B2 (en) | Relay server and relay communication system | |
JP2001313674A (ja) | ネットワーク装置およびコンピュータネットワーク | |
JP2006262193A (ja) | 制御装置、パケット転送方法およびパケット処理装置 | |
KR101388408B1 (ko) | 복수의 컴퓨팅 디바이스들로의 일대다 데이터 송신을 용이하게 하기 위한 방법 및 시스템 | |
US20040267960A1 (en) | Force master capability during multicast transfers | |
US20050265257A1 (en) | Networking apparatus and method | |
WO2017219777A1 (zh) | 一种报文处理方法及装置 | |
JP4608416B2 (ja) | 制御装置および通信方法 | |
US20030167341A1 (en) | Communications system, communications method, network manager, and transfer device | |
JP2009253578A (ja) | ネットワーク負荷分散装置、ネットワーク負荷分散方法及びプログラム | |
US9455911B1 (en) | In-band centralized control with connection-oriented control protocols | |
JP2006222659A (ja) | 無線通信装置、無線通信システム及び方法 | |
CN108632898B (zh) | 一种通信设备以及封包传送的方法 | |
KR101543772B1 (ko) | 네트워크 액세스 장치 및 그 장치에서 수행되는 패킷 전달 방법 | |
US10545702B2 (en) | Information processing apparatus, communication control method and communication system | |
WO2016202072A1 (zh) | 自动配置方法、控制器及设备 | |
JP5640862B2 (ja) | 通信システム、通信装置、およびプログラム | |
JP2654524B2 (ja) | Lanの接続ポート切り替え方式 | |
JP2009224825A (ja) | 通信装置およびデータ送信制御方法 | |
JP2007013510A (ja) | パケット通信システムおよびパケット通信装置 | |
JPH0364224A (ja) | マルチポートブリッジ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071221 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100525 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100712 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101005 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101008 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |