JP2013192173A - ネットワークシステムおよびネットワークシステムにおける識別情報の設定方法 - Google Patents

ネットワークシステムおよびネットワークシステムにおける識別情報の設定方法 Download PDF

Info

Publication number
JP2013192173A
JP2013192173A JP2012058734A JP2012058734A JP2013192173A JP 2013192173 A JP2013192173 A JP 2013192173A JP 2012058734 A JP2012058734 A JP 2012058734A JP 2012058734 A JP2012058734 A JP 2012058734A JP 2013192173 A JP2013192173 A JP 2013192173A
Authority
JP
Japan
Prior art keywords
slave unit
unit
slave
pulse
network system
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
JP2012058734A
Other languages
English (en)
Inventor
Masatoshi Nakajima
雅俊 中島
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012058734A priority Critical patent/JP2013192173A/ja
Publication of JP2013192173A publication Critical patent/JP2013192173A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】マスタユニットにシリアル通信接続される複数のスレーブユニットがそれぞれ自己のIDを自動的に設定できるネットワークシステムを提供する。
【解決手段】マスタユニットが有する第1の通信手段は、複数のスレーブユニットとシリアル通信線を介して通信し、送信手段は、第1の通信手段により複数のスレーブユニットに対してID判別用のパルスの発信を要求するID付与命令をシリアル通信線へ送信する。スレーブユニットが有する第2の通信手段は、シリアル通信線を介してマスタユニットおよび他のスレーブユニットと通信し、発信手段は、第2の通信手段がID付与命令を受信した場合、1つのID判別用のパルスをシリアル通信線へ発信し、計数手段は、当該スレーブユニットよりも下位に接続した各スレーブユニットからのID判別用のパルスの数を計数し、決定手段は、計数手段により計数したID判別用のパルスの数に基づいて自己のIDを決定する。
【選択図】図6

Description

本発明の実施形態は、ネットワークシステムおよびネットワークシステムにおける識別情報の設定方法に関する。
マスタユニットと複数のスレーブユニットとが通信を行うネットワークシステムでは、通信機器としての各スレーブユニットを一意に特定するための識別情報としての固有のIDを設定する必要ある。従来、各スレーブユニットのID設定としては、人が各スレーブユニットのスイッチ設定によりIDを設定するのが一般的である。このようなID設定方法では、スレーブユニットの数が増減するごとに、人が各スレーブユニットのIDを設定し直す必要がある。これらの作業は、手間がかかるのみならず、設定ミスを生じる可能性がある。
特開2010−198510号公報
上記の課題を解決するために、通信機器の識別情報を効率よく設定できるネットワークシステムおよびネットワークシステムにおける識別情報の設定方法を提供することを目的とする。
実施形態によれば、ネットワークシステムは、マスタユニットと複数のスレーブユニットとを有する。マスタユニットは、第1の通信手段と、送信手段とを有し、前記各スレーブユニットは、第2の通信手段と、発信手段と、計数手段と、決定手段とを有する、第1の通信手段は、複数のスレーブユニットとシリアル通信線を介して通信する。送信手段は、第1の通信手段により複数のスレーブユニットに対してID判別用のパルスの発信を要求するID付与命令をシリアル通信線へ送信する。第2の通信手段は、シリアル通信線を介してマスタユニットおよび他のスレーブユニットと通信する。発信手段は、第2の通信手段がID付与命令を受信した場合、1つのID判別用のパルスをシリアル通信線へ発信する。計数手段は、当該スレーブユニットよりも下位に接続した各スレーブユニットからのID判別用のパルスの数を計数する。決定手段は、計数手段により計数したID判別用のパルスの数に基づいて自己のIDを決定する。
本実施形態に係るネットワークシステムが適用される装置の例を示す図である。 本実施形態に係るネットワークシステムの構成例を示すブロック図である。 本実施形態に係るマスタユニットの構成例を示すブロック図である。 本実施形態に係るスレーブユニットの構成例を示すブロック図である。 本実施形態に係るシリアル通信線により伝送される信号レベルを説明するための図である。 本実施形態に係るマスタユニット及び各スレーブユニットが観測するシリアル通信線における信号レベルの例を示す図である。 本実施形態に係るスレーブユニットにおけるパルスの監視時間が十分でない場合の例を示す図である。 本実施形態に係る各スレーブユニットにおける処理時間が各スレーブユニットによって異なる場合の例を示す図である。 本実施形態に係るID判別用のパルス幅が長すぎる場合の例を示す図である。
以下、実施形態について、図面を参照して説明する。
図1は、複数のモジュールからなる装置に適用される機構制御用のネットワークシステムの構成例を示す図である。
図1に示す装置は、複数のモジュール1、2、3,4、5、…により構成される。各モジュール1〜5は、それぞれが様々な用途で用いられる。すなわち、図1に示す装置は、様々な用途のモジュールを組み合わせて構成されるシステムであり、たとえば、搬送する物品を処理する物品処理装置(システム)などが想定される。
図1に示す装置は、機構制御用のネットワークにより統括的な制御を実現される。図1に示す装置に適用される機構制御用のネットワークは、マスタユニット10、スレーブユニット21、スレーブユニット22、スレーブユニット23及びスレーブユニット24などを備える。各モジュール1〜5は、それぞれの用途に応じて、マスタユニット10、あるいは、スレーブユニット21〜24が設けられる。
マスタユニット10、あるいは、スレーブユニット21〜24は、モジュールの制御ユニットとして機能する。このため、制御ユニットによる制御が不要なモジュールには、マスタユニット及びスレーブユニットの何れも設けなくても良いし、複数の制御ユニットによる制御が必要なモジュールには、複数のスレーブユニットを設けても良い。図1に示す例では、モジュール2には、制御ユニットとしてのマスタユニットおよびスレーブユニットが何れも設けられていないし、モジュール3には、複数のスレーブユニット22及び23が設けられている。
また、制御ユニットとしてのマスタユニットおよび各スレーブユニットは、その用途に応じて周辺機器を接続する。図1に示す例において、モジュール3内では、スレーブユニット21にセンサ21aおよびアクチュエータ21bが接続されている。図1に示す例において、モジュール4内では、スレーブユニット22にセンサ22aが接続され、スレーブユニット23にアクチュエータ23bが接続されている。さらに、図1に示す例において、モジュール5内では、スレーブユニット24にセンサ24aおよびアクチュエータ24bが接続されている。なお、センサ21a、22a、24aは、信号を入力する入力機器の例であり、アクチュエータ21b、23a、24bは、駆動制御の対象とする駆動機構の例である。また、制御ユニットとしてのマスタユニットおよび各スレーブユニットに接続される機器(たとえば、センサ、アクチュエータ)は、特定の種類の機器に限定されるものではない。
マスタユニット10は、各スレーブユニットへ命令又はデータを送信することができる。例えば、マスタユニット10は、スレーブユニット23を識別情報により指定してスレーブユニット23に接続されているアクチュエータ23aを動作させるための制御命令を送信することができる。マスタユニット10から送信された制御命令は、スレーブユニット21及びスレーブユニット22を通じてスレーブユニット23に送信される。当該制御命令を受信したスレーブユニット23は、制御命令に付加された識別情報により受信した制御命令に従って、スレーブユニット23に接続されたアクチュエータ23aを動作させる。
また、各スレーブユニット21〜24は、マスタユニット10へデータを送信することができる。例えば、スレーブユニット22は、スレーブユニット22に接続されたセンサ22aで検出したデータに当該スレーブユニットの識別情報(ID)を付加して、マスタユニット10へ送信する。スレーブユニット22から送信された当該データは、スレーブユニット21を通じてマスタユニット10へ送信される。当該データを受信したマスタユニット10は、当該データに付加されている識別情報によりどのスレーブユニットからのデータであるかを認識でき、当該データを自身のメモリに格納するなどの各種の処理を実行することができる。
以上のようなネットワークシステムによれば、マスタユニット10は、各スレーブユニットに接続した機器で検出されたデータを収集して管理することができ、また、各スレーブユニットに接続された機器の駆動制御を行うこともできる。従って、上述したネットワークシステムにおいて、マスタユニット10は、各スレーブユニットを用いて当該装置全体の統括的な動作制御を行うことができる。
次に、ネットワークシステムの構成について説明する。
図2は、本実施形態に係るネットワークシステムの構成例を示すブロック図である。図2に示すように、本実施形態に係るネットワークシステムは、マスタユニットMと複数のスレーブユニットS(S1、S2、…、Sn)とを有する。マスタユニットMと複数のスレーブユニットSとは、それぞれが独立したユニットを構成している。マスタユニットMは、各スレーブユニットSに制御命令を出力したり、各スレーブユニットSからの情報を取得したりする。各スレーブユニットSは、マスタユニットMからの動作命令に基づいてアクチュエータなどの駆動機構を動作させたり、センサなどの入力機器からの情報を取得してマスタユニットMへ出力したりする。
また、本ネットワークシステムにおいて、マスタユニットMと各スレーブユニットSとは、シリアル通信ラインによってデイジーチェーン接続される。シリアル通信ラインによりデイジーチェーン接続されたマスタユニットMと各スレーブユニットSとは、半二重通信を行う。本ネットワークシステムは、シリアル通信ラインを用いた半二重通信を行うため、通信設定において、各スレーブユニットSに固有のIDが設定される。各スレーブユニットSは、それぞれに設定されたIDにより識別され、マスタユニットMあるいは他のスレーブユニットSとのデータ通信が可能となる。
たとえば、各スレーブユニットSは、自己のIDを付与したデータをマスタユニットMに送信する。スレーブユニットSから送信されたデータを受信したマスタユニットMは、データに付与されたIDから受信したデータがどのスレーブユニットSから送信されたデータであるかを識別する。また、マスタユニットMは、特定のスレーブユニットSへデータを送る場合、データに当該スレーブユニットSのIDを付与して送信する。マスタユニットMから送信されたデータを受信した各スレーブユニットSは、受信したデータに付与されているIDと自己のIDとを比較し、一致すれば受信したデータを格納し、一致しなければ、次のスレーブユニットSへ受信したデータを送信する。
次に、マスタユニットMの構成例について説明する。
図3は、本実施形態に係るマスタユニットMの構成例を説明するためのブロック図である。
マスタユニットMは、図3に示すように、コアプロセッサ31、メモリ32、シリアルトランシーバ33、および、コネクタ34などを備える。コアプロセッサ31は、通信バスなどを通じて、メモリ32及びシリアルトランシーバ33に電気的に接続され、コネクタ34は、シリアルトランシーバ33に接続されている。
コアプロセッサ31は、マスタユニットM全体の動作を制御する制御部である。コアプロセッサ31は、CPUなどで構成される。また、コアプロセッサ31は、内部メモリおよび各種のインターフェイスなどを備えても良い。コアプロセッサ31は、あらかじめ決められたプログラムを実行することにより種々の処理を実現する。たとえば、コアプロセッサ31は、インターフェイスを通じて入力されるデータなどを基にマスタユニットM全体を制御する。また、コアプロセッサ31は、オペレーティングシステムのプログラムを実行することにより、マスタユニットMの基本的な動作制御を行う。また、コアプロセッサ31は、アプリケーションプログラムを実行することにより、マスタユニットMの運用形態に応じた種々の動作制御を行う。なお、コアプロセッサ31がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、コアプロセッサ31は、ハードウエア回路により実行される機能を制御する。
メモリ32は、プログラム及びデータなどを記録するコンピュータ可読媒体である。メモリ32は、ROMなどの書き換え不可な不揮発性メモリ、RAMなどの揮発性のワーキングメモリ、および、ハードディスクドライブ或いは半導体メモリなどの書換え可能な不揮発性メモリなどが含まれる。メモリ32における不揮発性メモリは、コアプロセッサ31が実行するプログラムあるいは制御データなどを格納する。また、メモリ32におけるRAMなどのワーキングメモリは、各スレーブユニットSへ送信するデータを記憶したり、各スレーブユニットSから受信したデータあるいはコアプロセッサ31の処理結果などのデータを記憶したりする。
シリアルトランシーバ33は、各スレーブユニットSとシリアル通信(半2重通信)を行う通信部である。シリアルトランシーバ33は、シリアル通信線を通じて、各スレーブユニットのシリアルトランシーバと接続されている。コアプロセッサ31は、シリアルトランシーバ33を通じて各スレーブユニットSからデータを受信し、シリアルトランシーバ33を通じて各スレーブユニットSへデータを送信する。
コネクタ34は、シリアル通信線を接続するデータ入出力用のコネクタである。コネクタ34は、シリアルトランシーバ33に接続されている。マスタユニットMから各スレーブユニットSへ送信するデータは、シリアルトランシーバ33によりコネクタ34を介してシリアル通信線へ出力される。また、各スレーブユニットSから受信するデータは、コネクタ34を介してシリアルトランシーバ33へ供給される。
次に、スレーブユニットS(S1、S2、…)の構成について説明する。
図4は、本実施形態に係るスレーブユニットSの構成例を説明するためのブロック図である。
スレーブユニットSは、コアプロセッサ41、メモリ42、シリアルトランシーバ43、コネクタ44(44a、44b)、および、コントローラ45を有する。また、コアプロセッサ41は、スレーブユニット内においてバスなどを通じて、メモリ42、シリアルトランシーバ43、及びコントローラ45などと電気的に接続される。シリアルトランシーバ43は、スレーブユニットS内においてコネクタ44(44a、44b)に接続される。さらに、コアプロセッサ41は、スレーブユニットSが情報を取得する入力機器としてのセンサ51(51A、51B、…)に接続され、コントローラ45は、スレーブユニットSが制御対象する駆動機構としてのアクチュエータ61(61A、61B、…)に接続される。
コアプロセッサ41は、スレーブユニットS全体の制御する制御部である。コアプロセッサ41は、メモリ42などに記録されている制御プログラム及び各部位からのデータに基づいて種々の処理を行う。例えば、コアプロセッサ41は、オペレーティングシステムのプログラムを実行することにより、スレーブユニットSの基本的な動作制御を行う。また、コアプロセッサ41は、アプリケーションプログラムを実行することにより、スレーブユニットSの運用形態に応じた種々の動作制御を行う。なお、コアプロセッサ41がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、コアプロセッサ41は、ハードウエア回路により実行される機能を制御する。
メモリ42は、プログラム及びデータなどを記録するコンピュータ可読媒体である。メモリ42は、ROMなどの書き換え不可な不揮発性メモリ、RAMなどの揮発性のワーキングメモリ、および、ハードディスクドライブ或いは半導体メモリなどの書換え可能な不揮発性メモリなどが含まれる。メモリ42における不揮発性メモリは、コアプロセッサ41が実行するプログラムあるいは制御データなどを格納する。メモリ42におけるRAMなどのワーキングメモリは、マスタユニットMへ送信するデータ、マスタユニットMから受信したデータ及びコアプロセッサ41の処理結果などを格納する。また、メモリ42における不揮発性メモリは、スレーブユニットSの用途、特定あるいは特徴などを示す機器情報を格納する。例えば、メモリ42の不揮発性メモリは、スレーブユニットSに接続されているセンサの種類、および、アクチュエータの種類などの特徴データを機器情報の一部として格納する。
シリアルトランシーバ43は、マスタユニットM及び他のスレーブユニットとシリアル通信(半2重通信)を行う通信部である。シリアルトランシーバ43は、シリアル通信線を通じて、マスタユニットM又は他のスレーブのシリアルトランシーバと接続される。コアプロセッサ41は、シリアルトランシーバ43を通じてマスタユニット及び各スレーブユニットからデータを受信することができる。また、コアプロセッサ41は、シリアルトランシーバ43を通じてマスタユニット及び各スレーブユニットにデータを送信することもできる。
コネクタ44は、シリアル通信線の入出力コネクタ44a、44bである。コネクタ44は、シリアルトランシーバ43に接続されている。コネクタ44は、シリアルトランシーバ43からのデータをマスタユニット及び他のスレーブユニットへ送信する。また、コネクタ44は、マスタユニット及び他のスレーブユニットから送信されたデータをシリアルトランシーバ43へ送信する。
センサ51(51A、51B、…)は、スレーブユニットSの外に設けられ、スレーブユニットS内のコアプロセッサ41に接続される。センサ51(51A、51B、…)は、マスタユニットMに送信するデータ、又は、コアプロセッサ41での処理に使用されるデータなどを検知する。センサ51は、情報を取得する入力機器の一例であり、センサ51の種類などは、特定の用途に限定されるものではない。例えば、センサ51としては、温度センサ、通過検知センサなどが想定される。
コントローラ45は、コアプロセッサ41からの指示に基づいてアクチュエータ61(61A、61B、…)を動作させる。コントローラ45は、アクチュエータ61によって構成が異なる。例えば、アクチュエータ61が開閉ゲートである場合、コントローラ45は、開閉ゲートを動作させるためのモータ駆動回路やインバータモータなどにより構成する。アクチュエータ61は、マスタユニットMからの命令又はコアプロセッサ41からの命令に基づくコントローラ45からの駆動信号に応じて動作する駆動機構である。アクチュエータ61は、スレーブユニットSが駆動制御の対象とする駆動機構の一例であり、アクチュエータの種類などは、特定の用途に限定されるものではない。例えば、アクチュエータ61としては、開閉ゲートなどが想定される。
なお、図2に示す構成例では、各スレーブユニットおよび各スレーブユニットに接続する機器の構成は、同一の構成として図示している。しかし、本実施形態に係るネットワークシステムの各スレーブユニットは、同一の構成でなくともよい。例えば、あるスレーブユニットは、センサのみを接続し、他のスレーブユニットは、アクチュエータのみを接続し、あるスレーブは、センサもアクチュエータも接続されていないというような構成であっても良い。言い換えれば、各スレーブユニットSは、コアプロセッサ41、メモリ42、シリアルトランシーバ43およびコネクタ44などの通信に係る構成が共通化され、その他の構成は各スレーブユニットの様々な用途(例えば、制御対象とするモジュールの用途)に応じた構成とすることが可能である。
次に、本実施形態に係るネットワークシステムにおけるシリアル通信について説明する。
本ネットワークシステムにおいて、マスタユニットM及び各スレーブユニットS間では、シリアル通信が行われる。本ネットワークシステムは、シリアル通信であるため、マスタユニットMあるいはスレーブユニットSの何れかから送信されたデータは、シリアル通信線を介して、隣接するユニットから順番に全ユニット(マスタユニットM及び各スレーブユニットS)に送信される。例えば、マスタユニットMがスレーブユニットS1に対してデータを送信した場合、送信されたデータは、スレーブユニットS1に送信されるだけでなく、スレーブユニットS2乃至Snへも送信される。また、スレーブユニットS2がマスタユニットMへデータを送信する場合、スレーブユニットS2から送信されたデータは、スレーブユニットS1、S3、…、Snへも送信される。
図5は、本実施形態に係るシリアル通信線の通信レベルを示す概略図である。
本ネットワークシステムにおいて、シリアル通信線上の通信レベルは、Lレベル又はHレベルの何れかである。例えば、Hレベルを5Vとし、Lレベルを0Vとする運用が可能である。マスタユニットMのシリアルトランシーバ33及び各スレーブユニットのシリアルトランシーバ43は、コネクタ34及びコネクタ44に接続されたシリアル通信線に対して、一定時間、Lレベル又はHレベルの信号を出力することができる。マスタユニット及び各スレーブユニットがLレベル又はHレベルの信号を出力すると、シリアル通信線の通信レベルは、出力された信号のレベルとなる。マスタユニット及び各スレーブユニットのシリアルトランシーバ33、43は、Lレベル又はHレベルの信号を繰り返し出力することにより、マスタユニットM及び各スレーブユニットS間で通信をすることができる。本実施形態に係るネットワークシステムは、通信時のデータ形式を特に指定するものではなく、通信時のデータ形式は限定されない。
また、マスタユニットM及び各スレーブユニットSは、Lレベル又はHレベルの信号を送信していないとき、当該ユニットのシリアルトランシーバ33、43は、ハイインピーダンス(Hi−Z)状態を維持する。シリアルトランシーバ33、43がHi−Z状態を維持することで、当該ユニットは、シリアル通信線上の通信レベルに干渉しない。即ち、シリアルトランシーバ33、43がHi−Z状態になることで、当該ユニットは、他のユニットからの信号を妨害しない。また、全てのユニットがHi−Z状態である場合、シリアル通信線上のレベルはHレベルになる。
次に、スレーブユニットが自己のIDを決定する手順について説明する。
本ネットワークシステムの通信設定として、まず、マスタユニットMは、各スレーブユニットSが識別情報を設定するためのID付与命令をシリアル通信線へ送信する。各スレーブユニットSは、シリアル通信線によるマスタユニットM及び他のスレーブユニットSとの接続状態に応じた遅延時間後に、マスタユニットMが送信したID付与命令をシリアル通信線により受信する。ID付与命令を受信したスレーブユニットSは、1つのパルスを発生させてシリアル通信線により送信する。各スレーブユニットSは、自己がパルスを送信した後に、シリアル通信線を伝送されるパルスの数をカウントすることにより、自己のIDを決定する。以下、詳細に述べる。
図6は、マスタユニットM及び各スレーブユニットSから見た通信線上の通信レベルを示す概略図である。
まず、マスタユニットMのコアプロセッサ31は、シリアルトランシーバ33によりコネクタ34を通じてID付与命令Pm0をシリアル通信線へ送信する。なお、ID付与命令の形式は、特に形式が限定されるものではない。マスタユニットMからシリアル通信線へ送信されたID付与命令Pm0は、マスタユニットMと各スレーブユニットSとの物理的な距離などに応じた遅延時間後に、各スレーブユニットSのシリアルトランシーバ43により受信される。
次に、スレーブユニットS1(A)に着目する。
スレーブユニットAは、マスタユニットMから送信されたID付与命令を通信遅延Tmaだけ遅れて受信する。通信遅延Tmaは、シリアル通信線により接続されるマスタユニットMとスレーブユニットAとの物理的な距離に応じた時間である。つまり、スレーブユニットAのシリアルトランシーバ43は、マスタユニットMがシリアル通信線に送信したID付与命令Pm0を、Tma時間後に、ID付与命令Pa0として観測する。
ID付与命令Pa0を受信したスレーブユニットAのコアプロセッサ41は、当該ID付与命令Pa0を受信してから処理時間(処理遅延)T0が経過した後、時間Tn分だけLレベルの信号(パルス)Paaをシリアルトランシーバ43によりシリアル通信線へ送信する。ここで、本実施形態の説明においては、各スレーブユニットがID付与命令に応じて出力する時間Tn分の幅となるLレベルの信号をID判別用のパルス(Paa、Pbb、Pcc、…、Pnn)と称する。スレーブユニットS1のシリアルトランシーバ43が送信するID判別用のパルスPaaは、シリアル通信線を通じて、マスタユニットM及び各スレーブユニットB、C、…、Nへ伝送される。
たとえば、マスタユニットMのシリアルトランシーバ33は、スレーブユニットAがパルスPaaを送信してから通信遅延Tmaだけ遅れて、スレーブユニットAから発信されたID判別用のパルスPaaをパルスPmaとして観測する。
次に、スレーブユニット(B)S2に着目する。
スレーブユニットBは、シリアル通信線において、スレーブユニットAを経由してマスタユニットMからのID付与命令Pb0を受信する。したがって、スレーブユニットBは、マスタユニットMとスレーブユニットS1間での通信遅延時間Tmaと、スレーブユニットAとスレーブユニットB間での通信遅延Tabとを加算した時間(マスタユニットMからスレーブユニットBまでの通信遅延時間Tmb)分だけ遅れて、マスタユニットMからのID付与命令Pb0を受信する。つまり、スレーブユニットBは、マスタユニットMがID付与命令Pm0を送信してから遅延時間Tmb(Tmb=Tma+Tab)後に、ID付与命令Pb0を受信する。
ID付与命令Pb0を受信したスレーブユニットBのコアプロセッサ41は、処理時間T0の処理を実行した後、ID判別用のパルスPbbを発信する。つまり、ID付与命令Pb0を受信したスレーブユニットBのコアプロセッサ41は、ID付与命令Pb0を受信してから処理時間(処理遅延)T0が経過した後、時間Tn分の幅を持つLレベルの信号としてパルスPbbをシリアルトランシーバ43によりシリアル通信線へ送信する。
ID付与命令を受信してからコアプロセッサ41が実行する処理に要する処理時間が全スレーブユニットにおいて同じであれば、スレーブユニットBは、パルスPbbを発信するタイミングと同じタイミングで、スレーブユニットAが送信したパルスPaaを受信する。
すなわち、スレーブユニットBは、スレーブユニットAよりも遅延時間Tab分遅れて、ID付与命令を受信する。ここで、ID付与命令の長さはスレーブユニットAでもスレーブユニットBでも同一であり、各スレーブユニットにおける処理時間(処理遅延)T0も同一であるものとする。この場合、スレーブユニットBは、スレーブユニットAが送信したパルスPaaをTab遅れて受信する。したがって、スレーブユニットBが送信するID判別用のパルスPbbは、スレーブユニットAが送信したパルスPaaと重なってシリアル通信線を伝送される。つまり、図6に示すパルスPbbは、スレーブユニットBが送信したパルスとスレーブユニットAが送信したパルスとの両方を含んでいる。
また、スレーブユニットAのシリアルトランシーバ43は、スレーブユニットBがパルスPbbを送信してから遅延時間Tabだけ遅れて、スレーブユニットBから発信されたID判別用のパルスPbbをパルスPabとして観測する。また、マスタユニットMのシリアルトランシーバ33は、スレーブユニットBがパルスPbbを送信してから通信遅延時間Tmb(Tma+Tab)だけ遅れて、スレーブユニットBから発信されたID判別用のパルスPbbをパルスPmbとして観測する。
次に、スレーブユニットCに着目する。
スレーブユニットCは、シリアル通信線において、スレーブユニットAおよびスレーブユニットBを経由してマスタユニットMからのID付与命令Pc0を受信する。したがって、スレーブユニットCは、マスタユニットMとスレーブユニットA間での通信遅延時間Tmaと、スレーブユニットAとスレーブユニットB間での通信遅延Tabと、スレーブユニットBとスレーブユニットC間での通信遅延時間Tbcとを加算した時間(マスタユニットMからスレーブユニットCまでの通信遅延時間Tmc)分だけ遅れて、マスタユニットMからのID付与命令Pc0を受信する。つまり、スレーブユニットCは、マスタユニットMがID付与命令Pc0を送信してから遅延時間Tmc(Tcb=Tma+Tab+Tbc)後に、ID付与命令Pc0を受信する。
ID付与命令Pc0を受信したスレーブユニットBのコアプロセッサ41は、処理時間T0の処理を実行した後、ID判別用のパルスPccを発信する。ID付与命令を受信してからコアプロセッサ41が実行する処理に要する処理時間が全スレーブユニットにおいて同じであれば、スレーブユニットCは、パルスPccを発信するタイミングと同じタイミングで、スレーブユニットBが送信したパルスPbbを受信する。したがって、スレーブユニットCが送信するID判別用のパルスPccは、スレーブユニットBが送信したパルスPbbと重なってシリアル通信線を伝送される。また、スレーブユニットBが送信するパルスPbbはスレーブユニットAが送信したパルスPaaと重なる信号でもあるから、図6に示すパルスPccは、スレーブユニットAが送信したパルスPaaおよびスレーブユニットBが送信したパルスPbbと重なった信号である。
また、スレーブユニットBのシリアルトランシーバ43は、スレーブユニットCがパルスPccを送信してから遅延時間Tbcだけ遅れて、スレーブユニットCから発信されたID判別用のパルスPccをパルスPbcとして観測する。また、スレーブユニットAのシリアルトランシーバ43は、スレーブユニットCがパルスPccを送信してから遅延時間Tac(Tab+Tbc=Tac)だけ遅れて、スレーブユニットBから発信されたID判別用のパルスPccをパルスPacとして観測する。また、マスタユニットMのシリアルトランシーバ33は、スレーブユニットCがパルスPccを送信してから通信遅延時間Tmc(Tma+Tab+Tbc)だけ遅れて、スレーブユニットCから発信されたID判別用のパルスPccをパルスPmcとして観測する。
次に、最後のスレーブユニットNについて着目する。
スレーブユニットNは、N−1個のスレーブユニットを経由して、ID付与命令を受信する。マスタユニットMからスレーブユニットNまでの通信遅延時間Tmn(Tma+Tab+Tbc+…+T(n−1)n)とすれば、スレーブユニットNは、マスタユニットMがID付与命令Pm0をしてからTmn時間後に、ID付与命令Pn0を受信する。
ID付与命令Pn0を受信したスレーブユニットNは、ID付与命令Pn0を受信してから処理時間(処理遅延)T0が経過したときに、ID判別用のパルスPnnをシリアルトランシーバ33によりシリアル通信線へ送信する。
上述したスレーブユニットBあるいはCと同様に、スレーブユニットNが送信するパルスPnnは、直前のスレーブユニットが送信したパルスと重なる。また、直前のスレーブユニットが送信するパルスもそれまでのスレーブユニットが送信するパルスと重なるものであるから、パルスPnnは、全てのスレーブユニットが送信したパルスを含むものとなる。
また、スレーブユニットNが発生させたパルスPnnは、各ユニット間の通信遅延時間を経て各ユニットに到達する。例えば、パルスPnnは、スレーブユニットCではパルスPcnとして観測され、スレーブユニットBではパルスPbnとして観測され、スレーブユニットAではパルスPanとして観測され、マスタユニットではパルスPmnとして観測される。
図6に示す信号が得られれば、ネットワークシステムにおける各スレーブユニットは、ID付与命令に応じたID判別用のパルスを送信した後に、受信するID判別用のパルスの数によって、当該スレーブユニットよりも下位に接続されているユニットの数を判定できる。たとえば、図6に示す例において、スレーブユニットAは、ID判別用のパルスPaaを送信した後に、N−1個のID判別用のパルスを受信する。スレーブユニットBは、ID判別用のパルスPbbを送信した後に、N−2個のID判別用のパルスを受信する。スレーブユニットCは、ID判別用のパルスPccを送信した後に、N−3個のID判別用のパルスを受信する。スレーブユニットNは、ID判別用のパルスPnnを送信した後に、ID判別用のパルスを受信しない。
これにより、スレーブユニットAは、下位にN−1個のスレーブユニットが接続されていることを判断でき、スレーブユニットBは、下位にN−2個のスレーブユニットが接続されていることを判断でき、スレーブユニットCは、下位にN−3個のスレーブユニットが接続されていることを判断でき、スレーブユニットNは、下位にスレーブユニットが接続されていないことを判断できる。
また、マスタユニットは、ID付与命令を送信した後に、受信するID判別用のパルスの数によって、スレーブユニットの数を判定できる。たとえば、スレーブユニットの数がN個であれば、マスタユニットは、ID付与命令を送信した後にN個のD判別用のパルスの数を受信する。これにより、マスタユニットは、接続されているスレーブユニットの数がN個であることを判断できる。
次に、マスタユニットMにおける動作について説明する。
マスタユニットMのコアプロセッサ31は、シリアルトランシーバ33によりID付与命令をシリアル通信線に送信する。ID付与命令を送信した後、マスタユニットMのコアプロセッサ31は、一定時間(監視時間)、シリアルトランシーバ33が受信するパルス(ID判別用のパルス)の数をカウントする。すなわち、図6に示す例において、マスタユニットMのコアプロセッサ31は、ID付与命令Pm0を送信した後、シリアルトランシーバ33が受信するパルスPma、Pmb、Pmc、・・・、Pmnの数をカウントする。
全てのスレーブユニットは、マスタユニットMからのID付与命令に応じて、ID判別用のパルスを送信する。このため、マスタユニットMのシリアルトランシーバ33が観測するパルスの数は、当該ネットワークシステムにおけるスレーブユニットの数と同じである。したがって、マスタユニットMのコアプロセッサ31は、ID付与命令送信後に、シリアルトランシーバ33が受信するパルスの数をカウントすることで、接続されているスレーブユニットの数を知ることができる。
図6に示す例では、スレーブユニットがN個である場合を想定している。マスタユニットMのシリアルトランシーバ33は、N個のスレーブユニットからのN個のパルスを観測する。したがって、マスタユニットMのコアプロセッサ31は、N個のスレーブユニットが接続されていることを認識することができる。すなわち、マスタユニットMのコアプロセッサ31は、シリアルトランシーバ33が観測するID付与命令に対する応答としてパルスの数に基づいて当該システムにおけるスレーブユニットの数を特定する。
また、マスタユニットMのコアプロセッサ31は、各スレーブユニットから各スレーブユニット自身が決定したIDを示す情報を取得する。さらに、コアプロセッサ31は、IDを示す情報とともに、各スレーブユニットの機器情報(スレーブユニットの用途、特性、接続機器などを示す情報)を取得する。たとえば、コアプロセッサ31は、シリアルトランシーバ33による各スレーブユニットとのシリアル通信により各スレーブユニットからID及び機器情報を受信する。
マスタユニットMのコアプロセッサ31は、各スレーブユニットから受信したIDと機器情報とをメモリ32に保存する。メモリ32には、各スレーブユニットのID及び機器情報を対応づけて保存するテーブルを設けるようにしても良い。各スレーブユニットのIDをメモリ23に保存した後、マスタユニットMのコアプロセッサ31は、メモリ32に保存したIDを参照して各スレーブユニットとの通信を行う。
次に、スレーブユニットAにおける動作例について説明する。
マスタユニットMからのID付与命令Pa0を受信すると、スレーブユニットAのコアプロセッサ41は、処理時間(処理遅延)T0の処理を実行した後、ID判別用のパルスPaaをシリアルトランシーバ43によりシリアル通信線へ送信する。
ID付与命令Pa0に応じたパルスPaaを送信した後、スレーブユニットAのコアプロセッサ41は、一定時間(監視時間)、シリアルトランシーバ43が受信するパルス(ID判別用のパルス)の数をカウントする。図6に示す例において、スレーブユニットAのコアプロセッサ41は、パルスPaaを送信した後、シリアルトランシーバ43により受信するパルスPab、パルスPac、・・・、パルスPanの数をカウントする。
スレーブユニットAのシリアルトランシーバ43で観測されるパルスは、スレーブユニットAよりも下位に接続されているスレーブユニットが送信したパルスである。ここで、「下位」とは、当該スレーブユニットよりもマスタユニットから遠くに接続されていることを指す。また、「上位」とは、当該スレーブユニットよりもマスタユニットに近くに接続されていることを指す。
図6に示す例では、スレーブユニットAよりも下位に接続されているスレーブユニットの数はN−1個である。このため、スレーブユニットAのシリアルトランシーバ43は、N−1個の各スレーブユニットから発信されたN−1個のID判別用のパルスを観測する。したがって、スレーブユニットAのコアプロセッサ41は、下位にN−1個のスレーブユニットが接続されていることを認識する。
スレーブユニットAのコアプロセッサ41は、スレーブユニットAよりも下位に接続されているスレーブユニットの数、即ち、シリアルトランシーバ43により観測したパルス数に基づいて自己のIDを決定する。たとえば、スレーブユニットAのコアプロセッサ41は、受信したパルスの数(「N−1」)を自己のIDとしても良いし、パルスの数を元に演算した結果をIDとしても良い。
シリアルトランシーバ43が観測したパルス数(下位に接続したスレーブユニットの数)に基づくIDを決定すると、コアプロセッサ41は、決定したIDを自己のIDとしてメモリ42に格納する。決定した自己のIDをメモリ42に格納すると、スレーブユニットAのコアプロセッサ41は、決定した自己のIDと自己の機器情報(当該スレーブユニットの用途、特性、接続機器などを示す情報)をマスタユニットMに送信する。マスタユニットMにID及び機器情報を送信した後、コアプロセッサ41は、当該IDを用いてマスタユニットMとの通信が可能となる。
次に、スレーブユニットBの動作について説明する。
マスタユニットMからのID付与命令Pb0を受信すると、スレーブユニットBのコアプロセッサ41は、処理時間(処理遅延)T0の処理を実行した後、ID判別用のパルスPbbをシリアルトランシーバ43によりシリアル通信線へ送信する。
ID付与命令Pb0に応じたパルスPbbを送信した後、スレーブユニットBのコアプロセッサ41は、一定時間(監視時間)、シリアルトランシーバ43が受信するパルス(ID判別用のパルス)の数をカウントする。図6に示す例において、スレーブユニットBのコアプロセッサ41は、パルスPbbを送信した後、シリアルトランシーバ43により受信するパルスPbc、・・・、パルスPbnの数をカウントする。
パルスPbbは、パルスPaaと重なる。このため、スレーブユニットBのシリアルトランシーバ43は、スレーブユニットAが送信したPaaを観測することができない。したがって、スレーブユニットBのシリアルトランシーバ43は、スレーブユニットBよりも下位に接続されているスレーブユニットが発生したパルスを観測する。つまり、スレーブユニットBのシリアルトランシーバ43が観測するパルス数は、スレーブユニットBよりも下位に接続されているスレーブユニットの数である。
図6に示す例では、スレーブユニットBよりも下位に接続されているスレーブユニットの数はN−2個である。このため、スレーブユニットBのシリアルトランシーバ43は、N−2個のスレーブユニットから発信されたN−2個のパルスを観測する。したがって、スレーブユニットBのコアプロセッサ41は、下記のN−2個のスレーブユニットが接続されていることを認識する。
スレーブユニットBのコアプロセッサ41は、スレーブユニットBよりも下位に接続されているスレーブユニットの数、即ち、シリアルトランシーバ43が観測したパルス数に基づいて自己のIDと決定する。たとえば、スレーブユニットBのコアプロセッサ41は、受信したパルスの数(「N−2」)を自己のIDとしても良いし、パルス数を元に演算した結果をIDとしても良い。
IDを決定すると、コアプロセッサ41は、決定したIDを自己のIDとして自己のメモリ42に格納する。さらに、コアプロセッサ41は、決定した自己のIDと自己の機器情報(当該スレーブユニットBの用途、特性、接続機器などを示す情報)をマスタユニットMに送信する。マスタユニットMにID及び機器情報を送信した後、スレーブユニットBのコアプロセッサ41は、当該IDを用いてマスタユニットとの通信が可能となる。
次に、スレーブユニットCの動作について説明する。
マスタユニットMからのID付与命令Pc0を受信すると、スレーブユニットCのコアプロセッサ41は、処理時間(処理遅延)T0の処理を実行した後、ID判別用のパルスPccをシリアルトランシーバ43によりシリアル通信線へ送信する。
ID付与命令Pc0に応じたパルスPccを送信した後、スレーブユニットCのコアプロセッサ41は、一定時間(監視時間)、シリアルトランシーバ43が受信するパルス(ID判別用のパルス)の数をカウントする。図6に示す例において、スレーブユニットCのコアプロセッサ41は、パルスPccを送信した後、シリアルトランシーバ43により受信するパルスPcd、・・・、パルスPcnの数をカウントする。
パルスPccは、パルスPbbと重なり、パルスPbbは既にパルスPaaと重なっている。このため、スレーブユニットCのシリアルトランシーバ43は、スレーブユニットAが送信したパルスPaaとスレーブユニットBが送信したパルスPbbを観測することができない。したがって、スレーブユニットCのシリアルトランシーバ43は、スレーブユニットCよりも下位に接続されているスレーブユニットが発生したパルスを観測する。つまり、スレーブユニットCのシリアルトランシーバ43が観測するパルス数は、スレーブユニットCよりも下位に接続されているスレーブユニットの数である。
図6に示す例では、スレーブユニットCよりも下位に接続されているスレーブユニットの数はN−3個である。このため、スレーブユニットCのシリアルトランシーバ43は、N−3個のスレーブユニットから発信されたN−3個のパルスを観測する。したがって、スレーブユニットCのコアプロセッサ41は、下位にN−3個のスレーブユニットが接続されているを認識する。
スレーブユニットCのコアプロセッサ41は、スレーブユニットCよりも下位に接続されているスレーブユニットの数、即ち、シリアルトランシーバ43が観測したパルス数に基づいて自己のIDを決定する。たとえば、スレーブユニットCのコアプロセッサ41は、受信したパルスの数(「N−3」)を自己のIDとしても良いし、パルス数を元に演算した結果をIDとしても良い。
IDを決定すると、コアプロセッサ41は、決定したIDを自己のIDとして自己のメモリ42に格納する。さらに、コアプロセッサ41は、決定した自己のIDと自己の機器情報(当該スレーブユニットCの用途、特性、接続機器などを示す情報)をマスタユニットMに送信する。マスタユニットMにID及び機器情報を送信した後、スレーブユニットCのコアプロセッサ41は、当該IDを用いてマスタユニットMとの通信が可能となる。
以下の各スレーブユニットも、上述したような動作をする。
すなわち、マスタユニットMからのID付与命令を受信したスレーブユニットのコアプロセッサ41は、処理時間(処理遅延)T0の処理を実行した後、ID判別用のパルスをシリアルトランシーバ43によりシリアル通信線へ送信する。パルスを送信したスレーブユニットのコアプロセッサ41は、一定時間(監視時間)、自己のシリアルトランシーバ43が受信するパルスの数をカウントする。
スレーブユニットが送信するパルスは、当該スレーブユニットよりも上位に接続されているスレーブユニットが送信したパルスと重なる。そのため、各スレーブユニットは、当該スレーブユニットよりも上位に接続されているスレーブユニットが発生するパルスを観測することができない。したがって、各スレーブユニットのシリアルトランシーバ43は、当該スレーブユニットよりも下位に接続されているスレーブユニットが発生したパルスを観測する。よって、各スレーブユニットのコアプロセッサ41は、当該スレーブユニットのシリアルトランシーバ43が観測するパルス数を当該スレーブユニットよりも下位に接続されているスレーブユニットの数として認識する。
スレーブユニットのコアプロセッサ41は、スレーブユニットよりも下位に接続されているスレーブユニットの数、即ち、シリアルトランシーバ43が観測したパルス数に基づいて自己のIDを決定する。IDを決定すると、コアプロセッサ41は、決定したIDを自己のIDとして自己のメモリ42に格納する。さらに、コアプロセッサ41は、決定した自己のIDと自己の機器情報(当該スレーブユニットの用途、特性、接続機器などを示す情報)をマスタユニットMに送信する。マスタユニットMにID及び機器情報を送信した後、当該スレーブユニットのコアプロセッサ41は、当該IDを用いてマスタユニットMとの通信が可能となる。
また、最後のスレーブユニットNは、他のスレーブユニットからのパルスを観測することができない。したがって、スレーブユニットNのコアプロセッサ41は、「0」あるいは「0」を元に演算した結果を自己のIDとして決定し、自己のメモリに格納する。
自己のIDを自己のメモリに格納したスレーブユニットNは、自己のIDと自己の機器情報とをマスタユニットMに送信する。マスタユニットMにID及び機器情報を送信した後、スレーブユニットNのコアプロセッサ41は、当該IDを用いてマスタユニットMとの通信が可能となる。
以上の処理によれば、最もマスタユニットに近いスレーブユニットAは「N−1」、次にマスタユニットに近いスレーブユニットBは「N−2」、・・・、最もマスタユニットから遠いスレーブユニットNは「0」といった各スレーブユニットに固有な値を得ることができ、それぞれに固有なIDを各スレーブユニット自身が自動的に決定することができる。また、マスタユニットMは、各スレーブユニットから各ユニットが決定したIDと機器情報とを取得することにより、各スレーブユニットとの通信が可能となる。
なお、各スレーブユニットは、自己のIDの決定方法として、カウントしたパルス数に任意の数を加算又は減算した値を、自己のIDとしてもよい。また、各スレーブユニットは、任意の数からカウントしたパルス数を減算した値を自己のIDとしてもよい。この場合、各スレーブユニットのIDは、マスタユニットMに近づくほど若くなる。さらに、各スレーブユニットは、スレーブユニットの数からカウントしたパルス数を減算した値を自己のIDとしてもよい。とすると、各スレーブユニットのIDは、マスタユニットに近い順に「1」から割り振られる。この場合、マスタユニットは、スレーブユニットの数を各スレーブユニットに送信する必要がある。
次に、マスタユニット及び各スレーブユニットにおけるパルス(ID判別用のパルス)の監視時間について説明する。
図7は、スレーブユニットAがスレーブユニットNから発信されたパルスをカウントできない監視時間の例を示す図である。
スレーブユニットにおけるID判別用のパルスの監視時間が短い場合、他のスレーブユニットが送信するID判別用のパルスが届く前に、当該スレーブユニットは、パルスのカウントを終了してしまう可能性がある。
図7に示す監視時間では、スレーブユニットAは、スレーブユニットNが発信したパルスをカウントできない。図7に示すように、全スレーブユニットからのID判別用のパルスが受信できないような監視時間が設定されている場合、スレーブユニットは、当該スレーブユニットよりも下位に接続されているスレーブユニットの数を正しく認識することができない。したがって、スレーブユニットは、正しく自己のIDを決定することができない。
全スレーブユニットからのパルスを確認にカウントできるように、各スレーブユニットが他のスレーブユニットからのパルスを監視する監視時間は、マスタユニットM及び各スレーブユニット間の通信遅延時間に応じて決定する必要がある。たとえば、マスタユニットMが物理的な通信距離が最も長くなる最後のスレーブユニットNからのID判別用のパルスをカウントできる監視時間は、マスタユニットMからのID付与命令が最後のスレーブユニットNに到達するまでの通信遅延時間と、最後のスレーブユニットがID付与命令に応じて発信するID判別用のパルスがマスタユニットに到達するまでの通信遅延時間を合計した時間であれば良い。したがって、ID判別用のパルスの監視時間は、信号がマスタユニットから最後のスレーブユニットまで到達するまでの通信遅延時間の2倍以上とすればよい。
また、他の例として、ID判別用のパルスの監視時間は、ある程度長い所定時間(例えば、数秒)を予め設定しておくようにしても良い。この場合、ネットワークシステムは、予め設定した監視時間に応じて、マスタユニットと最後のスレーブユニットとの最大の通信距離を制限するようにしても良い。
また、ID判別用のパルスの監視時間は、各ユニットが確実に全ユニットからのID判別用のパルスをカウントできるトータルの時間でなくともよい。例えば、マスタユニット及び各スレーブユニットは、1つのID判別用のパルスを受信するごとに、一定の監視期間(例えば、100ms)を新たに設定するようにしても良い。つまりマスタユニット及び各スレーブユニットは、1つのパルスを観測する度に、次のパルスを監視するための監視時間を設定していくようにしても良い。
次に、各スレーブユニットが送信するID判別用のパルスの幅について説明する。
まず、ID判別用のパルス幅が狭すぎる場合の例について説明する。
図8は、スレーブユニットが発信するID判別用のパルスが上位のスレーブユニットからのパルスと重ならない状態となる例を示す図である。、図8では、ID判別用のパルス幅が狭く、スレーブユニットBが送信するID判別用のパルスが、当該スレーブユニットBより上位に接続されたスレーブユニットAが送信したID判別用のパルスと重なっていない状態を示している。
各スレーブユニットは、通信設定に係る構成が同一であることを想定しているため、理想的には、各スレーブユニットは、ID付与命令を受信した後に実行する処理の処理時間(処理遅延)T0が同一となることが想定している。しかしながら、実際には各スレーブユニットの構成を完全に同性能とするのは困難である。たとえば、各スレーブユニットに備えられたシリアルトランシーバは、個体差などのため処理時間が異なることが多く、現実には、各スレーブユニットの処理遅延時間は、理想的な処理遅延T0とは異なることが多い。
図8に示す例では、スレーブユニットAがID付与命令を受信した後に実行する処理の処理時間(処理遅延)は、T0ではなく、T0+Ttaであり、スレーブユニットBがID付与命令を受信した後に実行する処理の処理時間(処理遅延)は、T0ではなく、T0+Ttbである。また、Ttaは、Ttbとは異なる値であるものとし、Tta>Ttbである場合を想定するものとする。
なお、図8に点線で示すパルスは、スレーブユニットAが理想的な処理遅延T0で送信するパルスと、スレーブユニットAから理想的な処理遅延T0で送信されるパルスをスレーブユニットBがTma時間後に受信したパルスとを示すものである。
図8に示す例において、スレーブユニットAのコアプロセッサ41は、ID付与命令を受信してからスレーブユニットAにおける処理時間(処理遅延)としてのT0+Tta時間後に、ID判別用のパルスPaaをシリアルトランシーバ43によりシリアル通信線へ送信する。これに対して、スレーブユニットBのコアプロセッサ41は、ID付与命令を受信してからスレーブユニットBにおける処理時間(処理遅延)としてのT0+Ttb時間後に、ID判別用のパルスPbbをシリアルトランシーバ43によりシリアル通信線へ送信する。
図8に示すように、Tta>Ttbである場合、スレーブユニットBのシリアルトランシーバ43は、スレーブユニットAからのID判別用のパルスPaaが到達する前に、ID判別用のパルスPbbを送信する。また、Tma−Ttb>Tnでもあるので、各ID判別用のパルスの幅Tnは、スレーブユニットAとスレーブユニットBとで生じる処理遅延の差を埋めることができない。この結果として、図8に示す例においては、スレーブユニットBがパルスPbbを送信するタイミングは、スレーブユニットAから送信されたパルスPaaを受信するタイミングとは重ならない。
図8に示すように、当該スレーブユニットが送信するID判別用のパルスが上位のスレーブユニットから受信するID判別用のパルスと重ならない場合、当該スレーブユニットは、下位のスレーブユニットからのID判別用のパルスだけでなく、上位のスレーブユニットからのID判別用のパルスも観測される。このような場合、スレーブユニットが観測するID判別用のパルス数は、当該スレーブユニットより下位のスレーブユニットの数と一致しなくなる。このような場合、各スレーブユニットが正しく自己のIDを決定することができなくなる。
発信するパルスが上位のスレーブユニットから受信するパルスと不一致となることを防止するため、本ネットワークシステムでは、各スレーブユニットが発信するID判別用のパルスの幅は、各スレーブユニットにおける処理遅延に差異(誤差)が生じても上位からのパルスと重なるような幅でなければならない。言い換えると、各スレーブユニットが発信するID判別用のパルスの幅は、各スレーブユニット間で生じる処理遅延の差を埋めるような幅に設定すればよい。たとえば、各スレーブユニットが発信するパルスの幅は、各スレーブユニットにおける処理遅延の差のうち最も長いくなる時間差より長くなるような幅に設定する。
次に、パルス幅が広すぎる場合の例について説明する。
図9は、スレーブユニットが発信するID判別用のパルスが下位のスレーブユニットからのパルスと重なった状態となる例を示す図である。図9では、ID判別用のパルス幅が広く、スレーブユニットAが送信するID判別用のパルスが、当該スレーブユニットAより下位に接続されたスレーブユニットBが送信するID判別用のパルスと重なってしまう状態を示している。
まず、スレーブユニットAのコアプロセッサ41は、ID判別用のパルスPaaをシリアルトランシーバ43によりシリアル通信線へ送信する。すると、スレーブユニットBのシリアルトランシーバ43は、スレーブユニットAがパルスPaaを送信してから、スレーブユニットAとスレーブユニットBとの通信遅延時間Tab分だけ遅れて、パルスPaaを受信する。スレーブユニットA及びスレーブユニットBにおける処理時間T0が同じであれば、スレーブユニットBは、スレーブユニットAからパルスPaaを受信するのと同じタイミングでID判別用のパルスPbbを送信する。このスレーブユニットBから送信されたパルスPbbは、スレーブユニットBがパルスPbbを送信してから、スレーブユニットAとスレーブユニットBとの通信遅延時間Tab分だけ遅れて、スレーブユニットAに到達する。
図9に示す例では、Tn>Tab×2であるので、スレーブユニットBが送信してからスレーブユニットAに到達するパルスPbbは、スレーブユニットAが発信中のパルスPaaと重なってしまう。図9では、スレーブユニットAがパルスPbbの受信を開始するタイミングを点線で示し、スレーブユニットAがパルスPaaの送信を終了するタイミングを一点鎖線で示している。
図9に示すような場合、各スレーブユニットで観測されるパルス数は、当該スレーブユニットより下位のスレーブユニットの数とならない。よって、各スレーブユニットは、正しく自己のIDを決定できない。
図9に示すように、あるスレーブユニットが送信するID判別用のパルスが下位のスレーブユニットから受信するID判別用のパルスと重なってしまう場合、当該スレーブユニットは、下位のスレーブユニットからのID判別用のパルスを観測できない。このような場合、スレーブユニットが観測するID判別用のパルス数は、当該スレーブユニットより下位のスレーブユニットの数と一致しなくなり、実際に下位に接続されたスレーブユニットの数よりも少ないカウント数となる。このような場合も、各スレーブユニットが正しく自己のIDを決定することができなくなる。
発信するパルスが下位のスレーブユニットから受信するパルスと重なってしまうことを防止するため、本ネットワークシステムでは、各スレーブユニットが発信するID判別用のパルスの幅は、各スレーブユニット間での通信遅延を考慮して決定される。即ち、ID判別用のパルスの幅は、隣接する各スレーブユニット間の通信遅延の2倍より短くなければならない。したがって、ID判別用のパルス幅は、隣接する各スレーブユニット間の通信遅延の中で最も短い時間の2倍より短い値に設定する。
上述した点を考慮すれば、各スレーブユニットがID付与命令に応じて出力するID判別用のパルスの幅は、各スレーブユニットにおける処理時間(処理遅延)の差のうち最も長い時間差より長く、かつ、隣接する各スレーブユニット間の通信遅延の中で最も短い時間の2倍より短い値に設定される。ID判別用のパルスの幅は、各スレーブユニット内の実処理時間、および、各スレーブユニット間の接続状態などに応じて適宜設定される。例えば、ID判別用のパルス幅は、各スレーブユニットにおける処理時間(処理遅延)T0の半分程度に設定される。
上記実施形態は、マスタユニットと複数のスレーブユニットとが半二重シリアル通信などによってデイジーチェーン接続されるネットワークシステムにおいて、各スレーブユニットが、マスタユニットからのID付与命令に応じてID判別用のパルスを発信し、ID判別用のパルスを発信した後に自己のスレーブユニットよりも下位に接続されたスレーブユニットが発信されたID判別用のパルスの数をカウントし、カウントしたパルス数に基づいて自己のIDを決定する。本実施形態によれば、各スレーブユニットのIDを外部からの入力なしに、各スレーブユニット自身が一意に決定することができる。この結果として、本実施形態のネットワークシステムによれば、高いシステム拡張性を実現でき、かつ、人的な作業によるID設定ミスなどによる通信不良を防止することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
M…マスタユニット、A(S1)、B(S2)、C(S3)、N(Sn)…スレーブユニット、31…コアプロセッサ、32…メモリ、33…シリアルトランシーバ、34…コネクタ、41…コアプロセッサ、42…メモリ、43…シリアルトランシーバ、44…コネクタ、45…コントローラ。

Claims (10)

  1. マスタユニットと複数のスレーブユニットとを有するネットワークシステムにおいて、
    前記マスタユニットは、
    前記複数のスレーブユニットとシリアル通信線を介して通信する第1の通信手段と、
    前記第1の通信手段により前記複数のスレーブユニットに対してID判別用のパルスの発信を要求するID付与命令を前記シリアル通信線へ送信する送信手段と、を有し、
    前記各スレーブユニットは、
    前記シリアル通信線を介して前記マスタユニットおよび他のスレーブユニットと通信する第2の通信手段と、
    前記第2の通信手段が前記ID付与命令を受信した場合、1つのID判別用のパルスをシリアル通信線へ発信する発信手段と、
    当該スレーブユニットよりも下位に接続した各スレーブユニットからのID判別用のパルスの数を計数する計数手段と、
    前記計数手段により計数したID判別用のパルスの数に基づいて自己のIDを決定する決定手段と、を有する、
    ネットワークシステム。
  2. 前記各スレーブユニットは、さらに、前記決定手段により決定した自己のIDを記憶する記憶手段を有する、
    前記請求項1に記載のネットワークシステム。
  3. 前記各スレーブユニットは、さらに、前記決定手段により決定した自己のIDと自己の特徴を示す機器情報とをマスタユニットに通知する通知手段を有し、
    前記マスタユニットは、さらに、前記各スレーブユニットから送信されるIDと機器情報とを対応づけて保存する保存手段を有する、
    前記請求項2に記載のネットワークシステム。
  4. 前記決定手段は、前記計数手段により計数したID判別用のパルスの数を自己のIDとする、
    前記請求項1乃至3の何れか1項に記載のネットワークシステム。
  5. 前記決定手段は、前記計数手段により計数するパルスの数を演算処理した結果を自己のIDとする、
    前記請求項1乃至3の何れか1項に記載のネットワークシステム。
  6. 前記計数手段は、前記発信手段によりID判別用のパルスを発信してから監視時間が経過するまでの間に、前記第2の通信手段が受信するID判別用のパルスの数を計数する、
    前記請求項1乃至5の何れか1項に記載のネットワークシステム。
  7. 前記監視時間は、前記マスタユニットと前記複数のスレーブユニットとの最大接続距離に応じた最大遅延時間に基づいて設定される、
    前記請求項6の何れか1項に記載のネットワークシステム。
  8. 前記パルスの幅は、各スレーブユニットにおける処理時間の差の中で最も長い時間差よりも長い、
    前記請求項1乃至7の何れか1項に記載のネットワークシステム。
  9. 前記パルスの幅は、隣接する各スレーブユニット間の通信遅延のうち最も短い時間の2倍よりも短い、
    前記請求項1乃至8の何れか1項に記載のネットワークシステム。
  10. マスタユニットと複数のスレーブユニットとを有するネットワークシステムにおける識別情報の設定方法であって、
    前記マスタユニットが複数のスレーブユニットに対してID判別用のパルスの発信を要求するID付与命令をシリアル通信線により送信し、
    前記ID付与命令を受信した各スレーブユニットがそれぞれID判別用のパルスをシリアル通信線へ発信し、
    前記ID判別用のパルスを発信した各スレーブユニットが下位に接続したスレーブユニットからのID判別用のパルスの数を計数し、
    前記計数したID判別用のパルスの数に基づいてIDを決定する、
    ネットワークシステムにおける識別情報の設定方法。
JP2012058734A 2012-03-15 2012-03-15 ネットワークシステムおよびネットワークシステムにおける識別情報の設定方法 Pending JP2013192173A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012058734A JP2013192173A (ja) 2012-03-15 2012-03-15 ネットワークシステムおよびネットワークシステムにおける識別情報の設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012058734A JP2013192173A (ja) 2012-03-15 2012-03-15 ネットワークシステムおよびネットワークシステムにおける識別情報の設定方法

Publications (1)

Publication Number Publication Date
JP2013192173A true JP2013192173A (ja) 2013-09-26

Family

ID=49391979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012058734A Pending JP2013192173A (ja) 2012-03-15 2012-03-15 ネットワークシステムおよびネットワークシステムにおける識別情報の設定方法

Country Status (1)

Country Link
JP (1) JP2013192173A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017515428A (ja) * 2014-02-24 2017-06-08 エルジー・ケム・リミテッド 周波数変調を用いて識別子を設定するバッテリー管理ユニット及び方法
JP2020174244A (ja) * 2019-04-09 2020-10-22 株式会社ジェイテクト 設備管理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017515428A (ja) * 2014-02-24 2017-06-08 エルジー・ケム・リミテッド 周波数変調を用いて識別子を設定するバッテリー管理ユニット及び方法
JP2020174244A (ja) * 2019-04-09 2020-10-22 株式会社ジェイテクト 設備管理システム
JP7314579B2 (ja) 2019-04-09 2023-07-26 株式会社ジェイテクト 設備管理システム

Similar Documents

Publication Publication Date Title
US9529351B2 (en) System and method for parameterizing field devices of an automation or control system
CN101578806B (zh) 通信装置、同步通信系统及同步通信方法
US10419237B2 (en) Slave device, control method of slave device, information processing program and recording medium
US9869987B2 (en) Field bus system with industrial measurement device having automonous control operation
US10320958B2 (en) Fast data transfer communication protocol for an industrial process network
US11650582B2 (en) Gated asynchronous multipoint network interface monitoring system
JP6355863B1 (ja) ネットワークシステムおよび通信方法
JP4976024B2 (ja) モジュール式数値制御装置
US20200346353A1 (en) Technique for controlling wireless command transmission to a robotic device
EP2983342B1 (en) Internet protocol addressing of industrial control devices employing the network ring topology
US20150381538A1 (en) Network, head subscriber and data transmission method
US11841390B2 (en) Monitoring system with bridges for interconnecting system elements
US20190310308A1 (en) Monitoring System With Multidrop Backplane Scheduler
US20160109862A1 (en) Multiplex control device
EP3016351B1 (en) Method for operating a sensor arrangement with multiple sensor devices, sensor device, sensor arrangement and sensor system
JP2013192173A (ja) ネットワークシステムおよびネットワークシステムにおける識別情報の設定方法
EP3157155A1 (en) Method of controlling inverters
JP2022109221A (ja) ループコンポーネントの応答性に基づく工業プロセスプラントにおけるコンポーネント劣化の検出
CN110469529B (zh) 服务器风扇控制系统
CN110268393A (zh) 通信装置、通信方法、程序和通信系统
US11381522B2 (en) Apparatus and method of monitoring ethernet communication for vehicle and vehicle including the same
US10313040B2 (en) Communication device, communication system, and method for synchronized transmission of telegrams
JP6783994B2 (ja) 電圧測定装置、電圧検出回路、及び電圧検出方法
JP6274436B2 (ja) 二重化制御システム
JP6279910B2 (ja) インバータ装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131212

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109