JP2008005191A - 通信システム - Google Patents
通信システム Download PDFInfo
- Publication number
- JP2008005191A JP2008005191A JP2006172283A JP2006172283A JP2008005191A JP 2008005191 A JP2008005191 A JP 2008005191A JP 2006172283 A JP2006172283 A JP 2006172283A JP 2006172283 A JP2006172283 A JP 2006172283A JP 2008005191 A JP2008005191 A JP 2008005191A
- Authority
- JP
- Japan
- Prior art keywords
- response
- module
- address
- communication
- slave
- 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】 固有のアドレスが設定された複数のモジュールが通信バスに接続される、マルチドロップ方式の通信システムにおいて、異なるモジュールに同じアドレスが重複して設定されると、レスポンスを返すモジュールが一定せず、また衝突が発生して処理を続行することが出来なくなるという課題を解決する。
【解決手段】 自身のアドレスを受信したときにプリレスポンスを出力し、所定時間内に他のモジュールからのプリレスポンスを受信するか、自身が送信したプリレスポンスとの衝突を検出したときに、通信を中止するようにする。また、起動後最初に自身のアドレスを受信したときは、プリレスポンスを返さないようにする。アドレスが重複設定されたモジュールが自動的に切り離されるので、処理を続行することができる。
【選択図】 図1
【解決手段】 自身のアドレスを受信したときにプリレスポンスを出力し、所定時間内に他のモジュールからのプリレスポンスを受信するか、自身が送信したプリレスポンスとの衝突を検出したときに、通信を中止するようにする。また、起動後最初に自身のアドレスを受信したときは、プリレスポンスを返さないようにする。アドレスが重複設定されたモジュールが自動的に切り離されるので、処理を続行することができる。
【選択図】 図1
Description
本発明は、アドレスが重複していることを検出し、重複したアドレスを有するモジュールの通信を自動的に中止することができる通信システムに関するものである。
図4に、制御システムなどで用いられる通信システムの構成を示す。図4において、通信バスの一種であるI/Oバス30には1台のマスタモジュール10と3台のスレーブモジュール20a、20b、20cが接続され、その終端には終端部40が接続されている。11、21a、21b、21cはそれぞれマスタモジュール10、スレーブモジュール20a、20b、20cに内蔵されている双方向性バッファであり、各モジュールはこれらの双方向性バッファを介してI/Oバス30に接続されている。この通信システムは、いわゆるマルチドロップタイプのバスシステムを構成している。
スレーブモジュール20a、20b、20cにはそれぞれ固有のアドレスが設定されており、このアドレスを用いて、マスタモジュール10とスレーブモジュール20a、20b、20cは相互に通信を行う。
スレーブモジュール20aと通信を行うために、マスタモジュール10はスレーブモジュール20aのアドレスとコマンドをI/Oバス30に出力する。このアドレスとコマンドを受信したスレーブモジュール20aは、アドレスから自分宛であることを判断し、コマンドで指示された作業を行ってレスポンスをマスタモジュール10に返信する。このように、マスタモジュール10はアドレスによってスレーブモジュールを特定し、処理を進める。
ステーションアドレスを誤って二重に設定したような場合でも、それに伴う重大な事態を未然に防止することができる通信装置の構成を示したものとして、例えば特許文献1に記載されたものがあった。
しかしながら、このような通信システムには、次のような課題があった。間違って異なるスレーブモジュールに同じアドレスが設定され、また故障等でアドレスが重複すると、複数のスレーブモジュールがマスタモジュールにレスポンスを返そうとする。通常I/Oバスは先に送信されたレスポンスのみ有効となるように設計されているが、どのスレーブモジュールのレスポンスが早くなるかは、スレーブモジュールが配置されている位置や、スレーブモジュールが内部処理を行ってレスポンスを返すまでの時間によって左右されるので、一意的には決まらない。そのため、応答するスレーブモジュールが状況によって異なってしまい、処理を続行することができなくなるという課題があった。
また、2つ以上のスレーブモジュールがほぼ同時にレスポンスを送信すると、レスポンスが衝突し、マスタモジュールはレスポンスを全く受信することができなくなり、やはり処理を続行することができなくなるという課題もあった。
各スレーブモジュールに固有の識別番号を付与し、マスタモジュールが診断通信でアドレスの重複を検出することも行われているが、診断通信のために負荷が増大し、またマスタモジュールは全てのスレーブモジュールの識別番号を記憶しておかなければならないために、システムが複雑になってしまうという課題もあった。
従って本発明の目的は、アドレスが重複してもその重複を検出して該当モジュールの通信を中止することにより、通信が妨害されることがない通信システムを提供することにある。
このような課題を達成するために、本発明のうち請求項1記載の発明は、
固有のアドレスが設定された複数のモジュールが通信バスに接続され、この固有のアドレスを用いてモジュールを指定し、通信を行う通信システムにおいて、
モジュールを指定するアドレスを前記通信バスに出力するメインモジュールと、
受信したアドレスが自身のアドレスと一致したときにプリレスポンスを出力し、このアドレスの受信から所定の期間内に、他のモジュールからのプリレスポンスを受信するか、または衝突を検知したときに通信を中止するスレーブモジュールと、
を具備したものである。アドレスが重複したモジュールは自動的に通信を中止するので、通信が妨害されることがない。
固有のアドレスが設定された複数のモジュールが通信バスに接続され、この固有のアドレスを用いてモジュールを指定し、通信を行う通信システムにおいて、
モジュールを指定するアドレスを前記通信バスに出力するメインモジュールと、
受信したアドレスが自身のアドレスと一致したときにプリレスポンスを出力し、このアドレスの受信から所定の期間内に、他のモジュールからのプリレスポンスを受信するか、または衝突を検知したときに通信を中止するスレーブモジュールと、
を具備したものである。アドレスが重複したモジュールは自動的に通信を中止するので、通信が妨害されることがない。
請求項2記載の発明は、請求項1記載の発明において、
前記スレーブモジュールは、起動してから最初に自身のアドレスを受信したときに、プリレスポンスを出力しないようにしたものである。新たに起動したモジュールのみ通信を中止するので、既接続のモジュールに影響を与えることがない。
前記スレーブモジュールは、起動してから最初に自身のアドレスを受信したときに、プリレスポンスを出力しないようにしたものである。新たに起動したモジュールのみ通信を中止するので、既接続のモジュールに影響を与えることがない。
請求項3記載の発明は、請求項1若しくは請求項2記載の発明において、
前記通信バスは、制御システムにおけるI/Oバスであることを特徴としたものである。信頼性が要求される制御システムにおいて、特に効果が大きい。
前記通信バスは、制御システムにおけるI/Oバスであることを特徴としたものである。信頼性が要求される制御システムにおいて、特に効果が大きい。
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項1,2および3の発明によれば、自身のアドレスを受信したときにプリレスポンスを出力し、所定時間内に他のモジュールからのプリレスポンスを受信するか、自身が送信したプリレスポンスとの衝突を検出したときに、通信を中止するようにした。
請求項1,2および3の発明によれば、自身のアドレスを受信したときにプリレスポンスを出力し、所定時間内に他のモジュールからのプリレスポンスを受信するか、自身が送信したプリレスポンスとの衝突を検出したときに、通信を中止するようにした。
スレーブアドレスのみでアドレスの重複を検出し、通信を中止できるので、複数のスレーブモジュールに同一アドレスが設定されても、他のモジュールの動作に影響を与えることがないという効果がある。また、重複設定だけでなく、故障によってアドレスが重複した場合でも、自律的に通信を中止するので、他のモジュールの動作を妨害しないという効果もある。
さらに、起動後最初に自身のアドレスを受信したときに、プリレスポンスを出力しないようにすることにより、追加されたモジュールのみ通信を中止し、既に動作しているスレーブモジュールの動作に影響を与えないという効果もある。
以下本発明を図面を用いて詳細に説明する。図1は本発明に係る通信システムの一実施例を示す構成図である。なお、図4と同じ要素には同一符号を付し、説明を省略する。図1において、50a、50b、50cはスレーブモジュールであり、I/Oバス30に接続されている。これらスレーブモジュール50a、50b、50cには、固有のアドレスが設定されている。なお、I/Oバス30は通信バスに相当する。
51a、51b、51cはそれぞれスレーブモジュール20a、20b、20cに内蔵されている双方向性バッファであり、各スレーブモジュールはこの双方向性バッファを介してI/Oバス30に接続される。
52a、52b、52cはそれぞれスレーブモジュール50a、50b、50cに内蔵されているプリレスポンス出力部であり、I/Oバス30にプリレスポンスを出力する。53a、53b、53cはそれぞれスレーブモジュール50a、50b、50cに内蔵されているプリレスポンス検出部であり、I/Oバス30に出力されたプリレスポンスまたは衝突を検出する。
次に、図2に基づいてこの実施例の通信手順を説明する。図2において、先ず、マスタモジュール10はスレーブモジュールのアドレスとコマンドをI/Oバス30に出力する。スレーブモジュール50a、50b、50cはこのアドレスとコマンドを受信し、受信したアドレスが自身のものであるとプリレスポンスを出力し、所定の時間内にプリレスポンスを受信しないと、レスポンスをI/Oバス30に出力する。
なお、プリレスポンスは、プリレスポンスであることがわかるだけでよいので、極短いメッセージで足りる。そのため、通信負荷が増大して問題になることはない。また、プリレスポンス同士の衝突の可能性も低い。
図3はスレーブアドレスの動作を説明するためのフローチャートである。このフローチャートに基づいて、この実施例の動作を詳しく説明する。なお、この説明では、スレーブモジュール50aが自身のアドレスを受信したとして説明するが、他のスレーブモジュールが自身のアドレスを受信した場合も、応答するスレーブアドレスが異なるだけで、動作は同じである。
図3において、工程(P3−1)でスレーブモジュール50aが自身のアドレスを検出すると、工程(P3−2)でスレーブモジュール50aは起動後最初に自身のアドレスを受信したかを判断し、最初のアドレス受信でないと工程(P3−3)に移行し、プリレスポンス出力部52aはプリレスポンスをI/Oバス30に出力する。最初のアドレス受信であると工程(P3−3)をスキップして、プリレスポンスを出力しない。
次に、プリレスポンス検出部53aは、所定の期間内に他のスレーブモジュールがプリレスポンスを出力するか衝突が発生したかどうかを検出する。工程(P3−4)でプリレスポンスを検出するか、また衝突が発生したかをチェックし、プリレスポンスの検出あるいは衝突が発生すると工程(P3−5)に移行して通信を中止し、プリレスポンスを検出せずかつ衝突の発生もないと、工程(P3−6)に移行してレスポンスをI/Oバス30に出力する。
なお、プリレスポンス検出部53aがプリレスポンスを検出する期間は、起動直後のスレーブモジュールを除く全てのスレーブモジュールがプリレスポンスを出力することができる程度の時間に設定する。また、衝突が発生したかどうかは、自身が出力したプリレスポンスを正しく検出できたか否かで判断する。
図1において、スレーブモジュール50aと50bがI/Oバス30に接続されて正常に通信が行われている状態で、スレーブモジュール50cが新たにI/Oバス30に接続された場合を考察する。スレーブモジュール50cが接続される前は正常に通信が行われていたので、スレーブモジュール50aと50bは異なったアドレスが設定されていることがわかる。
スレーブモジュール50cのアドレスが50a、50bのアドレスと異なっているとする。マスタモジュール10がスレーブモジュール50cのアドレスを指定すると、最初のアクセスなのでスレーブモジュール50cはプリレスポンスを出力しない。スレーブモジュール50a、50bは自身のアドレスと異なるので、やはりプリレスポンスを出力しない。プリレスポンス検出部53cはプリレスポンスを検出しないので、スレーブモジュール50cはレスポンスを出力する。
2回目以降は、メインモジュール10のアドレス送信に応じて、プリレスポンス出力部52cのみがプリレスポンスを出力する。プリレスポンス検出部53cは他のスレーブモジュールのプリレスポンスを検出しないので、スレーブモジュール50cはレスポンスを出力する。このようにして、通信が正常に行われる。
次に、スレーブモジュール50cのアドレスが、スレーブモジュール50bのアドレスと重複して設定されたとする。メインモジュール10がスレーブモジュール50cのアドレスを指定すると、最初のアクセスなのでスレーブモジュール50cはプリレスポンスを出力せず、スレーブモジュール50bのみがプリレスポンスを出力する。プリレスポンス検出部53cは自身と異なるプリレスポンスを検出するので、通信を中止する。スレーブモジュール50bはプレレスポンスを受信しないので、レスポンスを出力する。
スレーブモジュール50cが通信を中止したので、メインモジュール10が再度スレーブモジュール50bのアドレスを指定すると、スレーブモジュール50bのみがプリレスポンスを出力する。このため、スレーブモジュール50a、50bに対する通信は正常に行われる。
なお、この説明では2つのスレーブモジュールに同じアドレスが設定された場合について考察したが、3つ以上のスレーブモジュールに同じアドレスが設定された場合でも、同様にして重複設定されたスレーブモジュールの通信が中止され、残りのモジュール間の通信は正常に行われる。また、故障等によって2つ以上のスレーブモジュールのアドレスが重複した場合も、同様にしてアドレスが重複設定されたスレーブモジュールが切り離されるので、他のモジュール間の通信は正常に行うことができる。
なお、この実施例では、設置された後最初に自身のアドレスが指定されたときはプリレスポンスを出力しないようにしたが、最初からプリレスポンスを出力するようにしてもよい。すなわち、図3フローチャートで工程(P3−2)を削除し、全て工程(P3−3)を実行するようにしてもよい。
工程(P3−2)があると、最後に設置されたスレーブモジュールのみ通信中止になるのに対して、工程(P3−2)がなく、最初からプリレスポンスを出力するようにすると、アドレスが重複した全てのスレーブモジュールが通信を中止する。
通信を中止するスレーブモジュールを少なくすることができる点で工程(P3−2)がある方が優れているが、構成が簡単になる点では、工程(P3−2)がない方が優れている。また、故障などによってアドレスが重複した場合は、工程(P3−2)の有無に関わらずアドレスが重複した全てのスレーブモジュールが通信を中止する。
なお、この実施例では通信バスとしてI/Oバスを使用したが、他のマルチドロップタイプの通信バスでもよい。また、アドレスを出力するマルチモジュールと受信するスレーブモジュールを別モジュールとしたが、マスタモジュールとスレーブモジュールを兼ね備えたモジュールであってもよい。この場合は、アドレスを出力する場合はマスタモジュールになり、受信する場合はスレーブモジュールになる。
10 マスタモジュール
30 I/Oバス
40 終端部
50a、50b、50c スレーブモジュール
52a、52b、52c プリレスポンス出力部
53a、53b、53c プリレスポンス検出部
30 I/Oバス
40 終端部
50a、50b、50c スレーブモジュール
52a、52b、52c プリレスポンス出力部
53a、53b、53c プリレスポンス検出部
Claims (3)
- 固有のアドレスが設定された複数のモジュールが通信バスに接続され、この固有のアドレスを用いてモジュールを指定し、通信を行う通信システムにおいて、
モジュールを指定するアドレスを前記通信バスに出力するメインモジュールと、
受信したアドレスが自身のアドレスと一致したときにプリレスポンスを出力し、このアドレスの受信から所定の期間内に、他のモジュールからのプリレスポンスを受信するか、または衝突を検知したときに通信を中止するスレーブモジュールと、
を具備したことを特徴とする通信システム。 - 前記スレーブモジュールは、起動してから最初に自身のアドレスを受信したときに、プリレスポンスを出力しないようにしたことを特徴とする請求項1記載の通信システム。
- 前記通信バスは、制御システムにおけるI/Oバスであることを特徴とする請求項1若しくは請求項2記載の通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006172283A JP2008005191A (ja) | 2006-06-22 | 2006-06-22 | 通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006172283A JP2008005191A (ja) | 2006-06-22 | 2006-06-22 | 通信システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008005191A true JP2008005191A (ja) | 2008-01-10 |
Family
ID=39009219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006172283A Pending JP2008005191A (ja) | 2006-06-22 | 2006-06-22 | 通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008005191A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101175149B1 (ko) | 2010-10-25 | 2012-09-03 | (주)블루옵틱스 | 멀티드롭 광 중계 제어 방법 및 멀티드롭 광 중계기 |
CN103716420A (zh) * | 2014-01-03 | 2014-04-09 | 西南大学 | Modbus ASCII从站自动获取站地址方法及从站 |
CN103856578A (zh) * | 2014-01-03 | 2014-06-11 | 西南大学 | Modbus RTU从站自动获取站地址方法及从站 |
JP2022088756A (ja) * | 2020-12-03 | 2022-06-15 | 株式会社日立製作所 | プラント制御システムの通信装置及び通信方法 |
-
2006
- 2006-06-22 JP JP2006172283A patent/JP2008005191A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101175149B1 (ko) | 2010-10-25 | 2012-09-03 | (주)블루옵틱스 | 멀티드롭 광 중계 제어 방법 및 멀티드롭 광 중계기 |
CN103716420A (zh) * | 2014-01-03 | 2014-04-09 | 西南大学 | Modbus ASCII从站自动获取站地址方法及从站 |
CN103856578A (zh) * | 2014-01-03 | 2014-06-11 | 西南大学 | Modbus RTU从站自动获取站地址方法及从站 |
CN103856578B (zh) * | 2014-01-03 | 2017-10-13 | 西南大学 | Modbus RTU从站自动获取站地址方法及从站 |
JP2022088756A (ja) * | 2020-12-03 | 2022-06-15 | 株式会社日立製作所 | プラント制御システムの通信装置及び通信方法 |
JP7403433B2 (ja) | 2020-12-03 | 2023-12-22 | 株式会社日立製作所 | プラント制御システムの通信装置及び通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10102163B2 (en) | Bus participant device and method for operating a bus subscriber device | |
US8396934B2 (en) | Communication method and apparatus for the efficient and reliable transmission of TT ethernet messages | |
US8671310B2 (en) | Method and system for redundantly controlling a slave device | |
US9934111B2 (en) | Control and data transmission system, process device, and method for redundant process control with decentralized redundancy | |
US20100229046A1 (en) | Bus Guardian of a User of a Communication System, and a User of a Communication System | |
US20140351460A1 (en) | Relay device | |
US20100014439A1 (en) | Node of a distributed communication system, node and monitoring device coupled to such communication system | |
US20120093203A1 (en) | Data communication method, communication device, and communication system | |
KR100998416B1 (ko) | 듀얼 콘트롤러 시스템의 통신 중재 장치 및 방법 | |
US20120210030A1 (en) | Automation system and method for operating an automation system | |
US20210258187A1 (en) | Electronic control device, electronic control method, and recording medium | |
JP2014232997A (ja) | 通信システム | |
JP2010003081A (ja) | 演算処理装置多重化制御システム | |
JP2008005191A (ja) | 通信システム | |
JPH09181737A (ja) | 小規模ネットワークにおける通信方法 | |
US10541830B2 (en) | Serial communication system | |
US9501440B2 (en) | Slave control device and method for programming a slave control device | |
US6446201B1 (en) | Method and system of sending reset signals only to slaves requiring reinitialization by a bus master | |
JP2006191338A (ja) | バス内のデバイスの故障診断を行うゲートウエイ装置 | |
JP2007280313A (ja) | 冗長化システム | |
US20160275029A1 (en) | Data Bus Coupler and Method of Operation | |
CA2851951C (en) | Method for operating a control network, and control network | |
KR100256097B1 (ko) | 시리얼 버스 제어기 | |
US10243887B2 (en) | Switch unit, ethernet network, and method for activating components in an ethernet network | |
JP2015179925A (ja) | 中継装置 |