以下に、本発明の実施の形態にかかる無線親局、無線子局、無線通信システムおよび無線通信方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
本実施の形態では、無線マスタ装置において、トークンフレームを受信する順番に従って、ポーリングを実行する方法について説明する。
図1は、本発明の実施の形態1にかかる無線通信システムを含む産業用ネットワークの構成例を示す図である。産業用ネットワークは、産業用ネットワークのコントローラである産業用マスタ機器N1と、産業用ネットワークにおける各種のIO機器、測定器などである産業用スレーブ機器N101,N102,N103,…,N100+mと、産業用マスタ機器N1と有線接続して産業用スレーブ機器N101,N102,N103,…,N100+m側と無線通信を行う無線親局となる無線通信装置である無線マスタ装置N201と、産業用スレーブ機器N101,N102,N103,…,N100+mと1対1で有線接続して産業用マスタ機器N1側と無線通信を行う無線子局となる無線通信装置である無線スレーブ装置N301,N302,N303,…,N300+mと、を備える。
無線通信システムは、無線マスタ装置N201、および無線スレーブ装置N301,N302,N303,…,N300+mで構成される。無線通信システムでは、1個の産業用マスタ機器N1に接続される無線マスタ装置N201と、m個ある産業用スレーブ機器N101,N102,N103,…,N100+mに接続される無線スレーブ装置N301,N302,N303,…,N300+mとの間で、従来の定周期で行われる制御通信を無線通信によって行う。
図2は、実施の形態1において図1の産業用ネットワークの構成例から無線通信システムを除いた有線通信による産業用ネットワークの構成例を示す図である。産業用マスタ機器N1と、産業用スレーブ機器N101,N102,N103,…,N100+mとが、定周期で行われる制御通信の間で相互に連携して動作を行っている。ここでは、接続トポロジーがデイジーチェーンであるが、一例であり、スター、バス、リングの構成でもよい。図1に示すように、本発明の実施の形態で適用される無線化後の無線通信システムでのトポロジーはツリー型とするが、これに限定するものではない。
図3は、実施の形態1にかかる産業用ネットワークのプロトコルスタックを示す図である。有線側は、物理層およびデータリンク層においてイーサネットが採用され、ネットワーク層において、トークンパッシング方式が採用されている。また、無線側は、物理層ではIEEE802.11a/b/g/n/acなどの標準規格が採用され、データリンク層ではIEEE802.11で示される標準規格に加えて、以降で説明する本発明の手順が採用されている。無線側において、ネットワーク層では、有線側と同様、トークンパッシング方式が採用されている。図1および図2において、スレーブ機器である産業用スレーブ機器N101,N102,N103,…,N100+mと、マスタ機器である産業用マスタ機器N1は、トークンパッシング方式によりデータの送受信を行っている。
つづいて、無線マスタ装置N201および無線スレーブ装置N301,N302,N303,…,N300+mの構成について説明する。図4は、実施の形態1にかかる無線通信システム30を構成する無線マスタ装置N201および無線スレーブ装置N301の構成例を示すブロック図である。無線スレーブ装置N301,N302,N303,…,N300+mは同様の構成のため、ここでは、無線スレーブ装置N301を用いて説明する。
産業用ネットワークにおいて、産業用マスタ機器N1と無線マスタ装置N201との間の有線接続されている区間を有線区間S1とする。また、無線マスタ装置N201と無線スレーブ装置N301,N302,N303,…,N300+mとの間の無線接続されている区間を無線区間S2とする。また、無線スレーブ装置N301,N302,N303,…,N300+mと産業用スレーブ機器N101,N102,N103,…,N100+mとの間の有線接続されている区間を有線区間S3とする。なお、有線区間S1,S3は無線区間S2と比較して十分高速であるとする。例えば、有線区間S1,S3のデータ転送レートは1Gbps、無線区間S2のデータ転送レートは1Mbps〜100Mbpsとする。
無線マスタ装置N201は、産業用マスタ機器N1との間で、従来の産業用ネットワークにおける定周期通信の信号を有線区間S1で送受信する有線通信部11と、無線スレーブ装置N301〜N300+mとの間で、無線区間S2で無線信号の送受信を行う無線通信部12と、を備える。有線通信部11は、産業用マスタ機器N1との間で、具体的に、データフレームおよびトークンフレームなどを送受信する。無線通信部12は、無線送信部13と、巡回路情報保持部14と、無線受信部15と、を備える。無線送信部13は、有線通信部11から入力された産業用マスタ機器N1からの信号を無線信号にして、無線区間S2経由で無線スレーブ装置N301〜N300+mへ送信する。無線送信部13は、具体的に、データフレームおよびトークンフレームなどを無線区間S2経由で無線スレーブ装置N301〜N300+mへ送信する。巡回路情報保持部14は、産業用ネットワークにおいてトークンフレームを受信する産業用スレーブ機器N101,N102,N103,…,N100+mおよび産業用マスタ機器N1の順番が示されたトークン巡回路の情報を保持する。無線受信部15は、無線区間S2経由で無線スレーブ装置N301〜N300+mから無線信号を受信し、受信した無線信号を有線通信部11へ出力する。なお、巡回路情報保持部14については、無線送信部13の内部に含む構成であってもよい。
無線送信部13は、巡回路情報保持部14で保持されているトークン巡回路の情報に基づいて、トークンフレームを受信する産業用スレーブ機器の順番に従って該当する産業用スレーブ機器と接続する無線スレーブ装置へ無線通信のポーリングを実行する。具体的に、無線送信部13は、宛先の無線スレーブ装置へポーリングフレームを送信する。図5は、実施の形態1にかかる無線送信部13がポーリングを行う動作を示すフローチャートである。無線送信部13は、巡回路情報保持部14で保持されているトークン巡回路の情報を読み出し(ステップST1)、読み出したトークン巡回路の情報に基づいて、トークンフレームを受信する産業用スレーブ機器の順番に従って該当する産業用スレーブ機器と接続する無線スレーブ装置へ無線通信のポーリングを実行する(ステップST2)。なお、無線送信部13は、トークン巡回路の情報に基づいてポーリングを実行する際、無線マスタ装置N201と接続する産業用マスタ機器N1から受信したトークンフレームをトリガにすることで、トークンフレームを送信するタイミングとポーリングを実行するタイミングとの同期を取ることができる。例えば、トークン巡回路の順番が、産業用マスタ機器N1、産業用スレーブ機器N102、産業用スレーブ機器N101、産業用スレーブ機器N103の順番で、その後、産業用マスタ機器N1に戻るものとする。無線送信部13は、産業用マスタ機器N1から産業用スレーブ機器N102宛のトークンフレームを受信すると、産業用スレーブ機器N102宛のトークンフレームを送信する。無線送信部13は、産業用スレーブ機器N102宛のトークンフレームを送信後、トークン巡回路の情報に基づいて、産業用スレーブ機器N102と接続する無線スレーブ装置N302へのポーリングを実行する。すなわち、無線送信部13は、産業用スレーブ機器N102と接続する無線スレーブ装置N302からポーリングを開始する。これにより、無線送信部13では、トークンフレームを送信するタイミングとポーリングを実行するタイミングとの同期を取ることができる。また、無線送信部13は、無線マスタ装置N201と接続する産業用マスタ機器N1からトークンフレームを受信するごとに上記の処理を行うことにより、トークンフレームを送信するタイミングとポーリングを実行するタイミングとの同期を取ることができ、かつ、トークンフレームを送信するタイミングとポーリングを実行するタイミングとの間でズレが生じた場合に、ズレが累積されて大きくなる事態を回避することができる。以降の説明においても同様とする。
巡回路情報保持部14においてトークン巡回路の情報を取得する方法は、例えば、産業用ネットワークの初期設定時に管理者などが手動で巡回路情報保持部14にトークン巡回路の情報を設定してもよいし、巡回路情報保持部14が産業用ネットワークを流れるトークンフレームの宛先の順番を自動で学習してトークン巡回路の情報を取得してもよい。一般的に複数の装置間でトークンフレームが送受信される場合、各装置が順番にトークンフレームを受信する。そのため、巡回路情報保持部14では、トークンフレームの宛先で指定される装置を確認することで、トークンフレームを受信する装置の順番、すなわち、トークン巡回路の情報を、手動によらず自動で学習して取得することが可能である。図6は、実施の形態1にかかる巡回路情報保持部14がトークン巡回路の情報を保持するまでの動作を示すフローチャートである。巡回路情報保持部14は、前述の管理者による設定により、または産業用ネットワークを流れるトークンフレームの宛先の順番を自動で学習することによってトークン巡回路の情報を取得し(ステップST11)、取得したトークン巡回路の情報を内蔵する記憶部に記憶して保持する(ステップST12)。
無線スレーブ装置N301は、産業用スレーブ機器N101との間で、従来の産業用ネットワークにおける定周期通信の信号を有線区間S3で送受信する有線通信部21と、無線マスタ装置N201との間で、無線区間S2で無線信号の送受信を行う無線通信部22と、を備える。有線通信部21は、産業用スレーブ機器N101との間で、具体的に、データフレームおよびトークンフレームなどを送受信する。無線通信部22は、無線送信部23と、無線受信部24と、を備える。無線送信部23は、有線通信部21から入力された産業用スレーブ機器N101からの信号を無線信号にして、無線区間S2経由で無線マスタ装置N201へ送信する。無線送信部23は、具体的に、データフレームおよびトークンフレームなどを無線区間S2経由で無線マスタ装置N201へ送信する。無線受信部24は、無線区間S2経由で無線マスタ装置N201から無線信号を受信し、受信した無線信号を有線通信部21へ出力する。
無線受信部24は、無線マスタ装置N201からのポーリングが自装置宛のポーリングかどうかを判定する。自装置宛のポーリングの場合、無線送信部23は、送信可能なデータを保有している場合は無線マスタ装置N201へ送信可能なデータを含むデータフレームを送信し、送信可能なデータを保有していない場合は無線マスタ装置N201へデータが無いことを通知する。なお、無線スレーブ装置N301では、無線マスタ装置N201から他の無線スレーブ装置宛のポーリングフレームを受信した場合、何もせずに処理を終了する。図7は、実施の形態1にかかる無線受信部24のポーリングの判定動作を示すフローチャートである。無線受信部24は、無線マスタ装置N201からのポーリングが自装置宛のポーリングの場合(ステップST21:Yes)、自装置宛であることを無線送信部23へ通知し(ステップST22)、無線マスタ装置N201からのポーリングが他の無線スレーブ装置宛の場合(ステップST21:No)、何もせずに処理を終了する。図8は、実施の形態1にかかる無線送信部23のポーリングに対する動作を示すフローチャートである。無線送信部23は、無線受信部24から自装置宛のポーリングであることの通知を受けると(ステップST31)、送信可能なデータを保有しているか否かを確認する(ステップST32)。無線送信部23は、送信可能なデータを保有している場合(ステップST32:Yes)、無線マスタ装置N201へ送信可能なデータを含むデータフレームを送信し(ステップST33)、送信可能なデータを保有していない場合(ステップST32:No)、無線マスタ装置N201へデータが無いことを通知する(ステップST34)。
つぎに、無線通信システムを含む産業用ネットワークにおいて、無線マスタ装置N201がポーリングを実行して無線スレーブ装置N301が応答する無線通信方法について説明する。図9は、実施の形態1にかかる無線マスタ装置N201がポーリングを実行して無線スレーブ装置N301が応答する処理を示すフローチャートである。ステップS11〜S12の処理が無線マスタ装置N201の処理、ステップS13〜S16の処理が無線スレーブ装置N301の処理である。
まず、無線マスタ装置N201では、巡回路情報保持部14が、トークン巡回路の情報を取得する(ステップS11)。巡回路情報保持部14においてトークン巡回路の情報を取得する方法は前述のとおりである。無線マスタ装置N201では、巡回路情報保持部14で保持するトークン巡回路の情報に基づいて、無線送信部13が、トークンフレームを受信する産業用スレーブ機器の順番に従って該当する産業用スレーブ機器と接続する無線スレーブ装置へ無線通信のポーリングを実行する(ステップS12)。
無線スレーブ装置N301では、無線受信部24が、無線マスタ装置N201からのポーリングが自装置宛のポーリングかどうかを判定する(ステップS13)。自装置宛のポーリングではない場合(ステップS13:No)、無線スレーブ装置N301では処理を終了する。自装置宛のポーリングの場合(ステップS13:Yes)、すなわち、自装置宛のポーリングフレームを受信した場合、無線送信部23が、無線マスタ装置N201へ送信可能なデータを保有しているかどうかを確認する(ステップS14)。送信可能なデータを保有している場合(ステップS14:Yes)、無線送信部23が、無線マスタ装置N201へ前述の送信可能なデータを含むデータフレームを送信する(ステップS15)。送信可能なデータを保有していない場合(ステップS14:No)、無線送信部23が、無線マスタ装置N201へデータが無いことを通知する(ステップS16)。
ここで、本実施の形態のように、無線マスタ装置N201が、トークン巡回路に基づいて、トークンフレームを受信する順番に従ってトークンフレームを受信する産業用スレーブ機器と接続する無線スレーブ装置へポーリングを実行する場合と、トークン巡回路を考慮せずにポーリングを実行する場合について、産業用ネットワークの全ての機器でデータの送信を行う通信周期の長さの違いについて説明する。
図10は、比較例としての産業用ネットワークにおいて、トークン巡回路の順番を考慮せずにポーリングを実行する場合の各機器または各装置間で送受信されるフレームを示すシーケンス図である。一例として、無線スレーブ装置および産業用スレーブ機器の数は3つとする。また、説明の便宜上、実施の形態1と同様の符号を付与した産業用マスタ機器N1、無線マスタ装置N201、無線スレーブ装置N301,N302,N303、および産業用スレーブ機器N101,N102,N103を用いて説明する。ただし、無線マスタ装置N201において巡回路情報保持部14の機能は使用しないものとする。
まず、産業用マスタ機器N1は、無線マスタ装置N201へデータフレームを送信し(ステップS101)、無線マスタ装置N201へ産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS102)。
無線マスタ装置N201は、無線スレーブ装置N301〜N303へ、産業用マスタ機器N1から受信したデータフレームを送信する(ステップS103)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信したデータフレームを送信する(ステップS104)。また、無線マスタ装置N201は、無線スレーブ装置N301〜N303へ、産業用マスタ機器N1から受信した産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS105)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信した産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS106)。
自装置宛のトークンフレームを受信すると、産業用スレーブ機器N102は、無線スレーブ装置N302へデータフレームを送信し(ステップS107)、無線スレーブ装置N302へ産業用スレーブ機器N101を宛先とするトークンフレームを送信する(ステップS108)。
無線マスタ装置N201は、無線スレーブ装置N301へのポーリングを実行する(ステップS109)。無線スレーブ装置N301は、送信可能なデータを保有していないため、無線マスタ装置N201へデータが無いことを通知する(ステップS110)。なお、無線スレーブ装置N302,N303では、実際には無線マスタ装置N201からポーリングフレームを受信していることも考えられる。ただし、無線スレーブ装置N302,N303は、前述のように自装置宛のポーリングではないときは何の処理もしない。そのため、シーケンス図では、記載を簡潔にするため、無線マスタ装置N201がポーリングを実行する場合について、宛先の無線スレーブ装置へのみポーリングの実行を示す矢印を記載する。以降についても同様とする。
つぎに、無線マスタ装置N201は、無線スレーブ装置N302へのポーリングを実行する(ステップS111)。無線スレーブ装置N302は、産業用スレーブ機器N102からデータフレームを受信しており(ステップS107)、送信可能なデータを保有しているため、無線マスタ装置N201へデータフレームを送信する(ステップS112)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N302から受信したデータフレームを送信する(ステップS113,S114)。無線マスタ装置N201は、受信したデータフレームの宛先が産業用マスタ機器N1に限定したものでない場合、例えば、ブロードキャスト、マルチキャスト、または産業用マスタ機器N1以外のユニキャスト通信の場合、受信したデータフレームを無線スレーブ装置N301〜N303へ送信することとする。以降においても同様とする。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信したデータフレームを送信する(ステップS115)。なお、無線スレーブ装置N302は、ここでは、無線マスタ装置N201へ1回のみデータフレームを送信しているが、一例であり、産業用スレーブ機器N102から受信しているデータフレームのデータサイズが大きい場合、無線マスタ装置N201へ複数回にわたってデータフレームを送信する。以降についても同様とする。
無線マスタ装置N201は、無線スレーブ装置N302へのポーリングを実行する(ステップS116)。無線スレーブ装置N302は、データフレームの送信後、産業用スレーブ機器N102からトークンフレームを受信しているため(ステップS108)、無線マスタ装置N201へ、産業用スレーブ機器N101を宛先とするトークンフレームを送信する(ステップS117)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N302から受信した産業用スレーブ機器N101を宛先とするトークンフレームを送信する(ステップS118,S119)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信した産業用スレーブ機器N101を宛先とするトークンフレームを送信する(ステップS120)。
自装置宛のトークンフレームを受信すると、産業用スレーブ機器N101は、無線スレーブ装置N301へデータフレームを送信し(ステップS121)、無線スレーブ装置N301へ産業用スレーブ機器N103を宛先とするトークンフレームを送信する(ステップS122)。
つぎに、無線マスタ装置N201は、無線スレーブ装置N303へのポーリングを実行する(ステップS123)。無線スレーブ装置N303は、送信可能なデータを保有していないため、無線マスタ装置N201へデータが無いことを通知する(ステップS124)。
つぎに、無線マスタ装置N201は、無線スレーブ装置N301へのポーリングを実行する(ステップS125)。無線スレーブ装置N301は、産業用スレーブ機器N101からデータフレームを受信しており(ステップS121)、送信可能なデータを保有しているため、無線マスタ装置N201へデータフレームを送信する(ステップS126)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N301から受信したデータフレームを送信する(ステップS127,S128)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信したデータフレームを送信する(ステップS129)。
無線マスタ装置N201は、無線スレーブ装置N301へのポーリングを実行する(ステップS130)。無線スレーブ装置N301は、産業用スレーブ機器N101からトークンフレームを受信しているため(ステップS122)、無線マスタ装置N201へ産業用スレーブ機器N103を宛先とするトークンフレームを送信する(ステップS131)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N301から受信した産業用スレーブ機器N103を宛先とするトークンフレームを送信する(ステップS132,S133)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信した産業用スレーブ機器N103を宛先とするトークンフレームを送信する(ステップS134)。
自装置宛のトークンフレームを受信すると、産業用スレーブ機器N103は、無線スレーブ装置N303へデータフレームを送信し(ステップS135)、無線スレーブ装置N303へ産業用マスタ機器N1を宛先とするトークンフレームを送信する(ステップS136)。
つぎに、無線マスタ装置N201は、無線スレーブ装置N302へのポーリングを実行する(ステップS137)。無線スレーブ装置N302は、送信可能なデータを保有していないため、無線マスタ装置N201へデータが無いことを通知する(ステップS138)。
つぎに、無線マスタ装置N201は、無線スレーブ装置N303へのポーリングを実行する(ステップS139)。無線スレーブ装置N303は、産業用スレーブ機器N103からデータフレームを受信しており(ステップS135)、送信可能なデータを保有しているため、無線マスタ装置N201へデータフレームを送信する(ステップS140)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N303から受信したデータフレームを送信する(ステップS141,S142)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信したデータフレームを送信する(ステップS143)。
無線マスタ装置N201は、無線スレーブ装置N303へのポーリングを実行する(ステップS144)。無線スレーブ装置N303は、産業用スレーブ機器N103からトークンフレームを受信しているため(ステップS136)、無線マスタ装置N201へ産業用マスタ機器N1を宛先とするトークンフレームを送信する(ステップS145)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N303から受信した産業用マスタ機器N1を宛先とするトークンフレームを送信する(ステップS146,S147)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、産業用マスタ機器N1を宛先とするトークンフレームを送信する(ステップS148)。
そして、産業用マスタ機器N1は、無線マスタ装置N201へ、データフレームを送信し(ステップS101)、産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS102)。以降の処理は前述のとおりである。
このように、トークンフレームを受信する順番、すなわちトークン巡回路は、産業用マスタ機器N1、産業用スレーブ機器N102、産業用スレーブ機器N101、産業用スレーブ機器N103である。一方、無線マスタ装置N201がポーリングを実行する順番は、無線スレーブ装置N301、無線スレーブ装置N302、無線スレーブ装置N303である。無線マスタ装置N201では、トークンフレームを受信していない産業用スレーブ機器と接続する無線スレーブ装置に対してポーリングを実行しても、データが無いことが通知されるため、無駄な処理となる。そのため、無線マスタ装置N201がポーリングを実行して、全ての無線スレーブ装置、ここでは、無線スレーブ装置N301〜N303がデータの送信を終了するまでの通信周期が長くなってしまうことになる。
図11は、実施の形態1にかかる産業用ネットワークにおいて、トークン巡回路の順番に基づいてポーリングを実行する場合の各機器または各装置間で送受信されるフレームを示すシーケンス図である。図10と同様、産業用マスタ機器N1、無線マスタ装置N201、無線スレーブ装置N301,N302,N303、および産業用スレーブ機器N101,N102,N103を用いて説明する。ここでは、無線マスタ装置N201は、巡回路情報保持部14の機能を使用する。また、巡回路情報保持部14は、既にトークン巡回路の情報を保持しているものとする。本実施の形態におけるトークンフレームを受信する順番であるトークン巡回路の情報は、具体的に、産業用マスタ機器N1、産業用スレーブ機器N102、産業用スレーブ機器N101、産業用スレーブ機器N103の順番を示し、その後、産業用マスタ機器N1に戻ることを示す情報である。トークン巡回路の情報で示されるトークンフレームを受信する順番は、図10に示すシーケンス図の場合と同様である。
まず、産業用マスタ機器N1は、無線マスタ装置N201へ、データフレームを送信し(ステップS201)、産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS202)。
無線マスタ装置N201は、無線スレーブ装置N301〜N303へ、産業用マスタ機器N1から受信したデータフレームを送信する(ステップS203)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信したデータフレームを送信する(ステップS204)。また、無線マスタ装置N201は、無線スレーブ装置N301〜N303へ、産業用マスタ機器N1から受信した産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS205)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信した産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS206)。
自装置宛のトークンフレームを受信すると、産業用スレーブ機器N102は、無線スレーブ装置N302へデータフレームを送信し(ステップS207)、無線スレーブ装置N302へ産業用スレーブ機器N101を宛先とするトークンフレームを送信する(ステップS208)。
無線マスタ装置N201では、無線送信部13が、巡回路情報保持部14が保持するトークン巡回路の情報に基づいて、自装置のつぎにトークンフレームを受信している産業用スレーブ機器N102と接続する無線スレーブ装置N302へのポーリングを実行する(ステップS209)。無線スレーブ装置N302は、産業用スレーブ機器N102からデータフレームを受信しており(ステップS207)、送信可能なデータを保有しているため、無線マスタ装置N201へデータフレームを送信する(ステップS210)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N302から受信したデータフレームを送信する(ステップS211,S212)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信したデータフレームを送信する(ステップS213)。
無線マスタ装置N201は、無線スレーブ装置N302へのポーリングを実行する(ステップS214)。無線スレーブ装置N302は、産業用スレーブ機器N102からトークンフレームを受信しているため(ステップS208)、無線マスタ装置N201へ産業用スレーブ機器N101を宛先とするトークンフレームを送信する(ステップS215)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N302から受信した産業用スレーブ機器N101を宛先とするトークンフレームを送信する(ステップS216,S217)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信した産業用スレーブ機器N101を宛先とするトークンフレームを送信する(ステップS218)。
自装置宛のトークンフレームを受信すると、産業用スレーブ機器N101は、無線スレーブ装置N301へデータフレームを送信し(ステップS219)、無線スレーブ装置N301へ産業用スレーブ機器N103を宛先とするトークンフレームを送信する(ステップS220)。
つぎに、無線マスタ装置N201では、無線送信部13が、巡回路情報保持部14が保持するトークン巡回路の情報に基づいて、つぎにトークンフレームを受信している産業用スレーブ機器N101と接続する無線スレーブ装置N301へのポーリングを実行する(ステップS221)。無線スレーブ装置N301は、産業用スレーブ機器N101からデータフレームを受信しており(ステップS219)、送信可能なデータを保有しているため、無線マスタ装置N201へデータフレームを送信する(ステップS222)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N301から受信したデータフレームを送信する(ステップS223,S224)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信したデータフレームを送信する(ステップS225)。
無線マスタ装置N201は、無線スレーブ装置N301へのポーリングを実行する(ステップS226)。無線スレーブ装置N301は、産業用スレーブ機器N101からトークンフレームを受信しているため(ステップS220)、無線マスタ装置N201へ産業用スレーブ機器N103を宛先とするトークンフレームを送信する(ステップS227)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N301から受信した産業用スレーブ機器N103を宛先とするトークンフレームを送信する(ステップS228,S229)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信した産業用スレーブ機器N103を宛先とするトークンフレームを送信する(ステップS230)。
自装置宛のトークンフレームを受信すると、産業用スレーブ機器N103は、無線スレーブ装置N303へデータフレームを送信し(ステップS231)、無線スレーブ装置N303へ産業用マスタ機器N1を宛先とするトークンフレームを送信する(ステップS232)。
つぎに、無線マスタ装置N201では、無線送信部13が、巡回路情報保持部14が保持するトークン巡回路の情報に基づいて、つぎにトークンフレームを受信している産業用スレーブ機器N103と接続する無線スレーブ装置N303へのポーリングを実行する(ステップS233)。無線スレーブ装置N303は、産業用スレーブ機器N103からデータフレームを受信しており(ステップS231)、送信可能なデータを保有しているため、無線マスタ装置N201へデータフレームを送信する(ステップS234)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N303から受信したデータフレームを送信する(ステップS235,S236)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信したデータフレームを送信する(ステップS237)。
無線マスタ装置N201は、無線スレーブ装置N303へのポーリングを実行する(ステップS238)。無線スレーブ装置N303は、産業用スレーブ機器N103からトークンフレームを受信しているため(ステップS232)、無線マスタ装置N201へ産業用マスタ機器N1を宛先とするトークンフレームを送信する(ステップS239)。
無線マスタ装置N201は、産業用マスタ機器N1および無線スレーブ装置N301〜N303へ、無線スレーブ装置N303から受信した産業用マスタ機器N1を宛先とするトークンフレームを送信する(ステップS240,S241)。無線スレーブ装置N301〜N303は、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201から受信した産業用マスタ機器N1を宛先とするトークンフレームを送信する(ステップS242)。
そして、産業用マスタ機器N1は、無線マスタ装置N201へ、データフレームを送信し(ステップS201)、産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS202)。以降の処理は前述のとおりである。
無線マスタ装置N201では、無線送信部13が、巡回路情報保持部14が保持するトークン巡回路の情報に基づいて、トークンフレームを受信する産業用スレーブ機器の順番に従って該当する産業用スレーブ機器と接続する無線スレーブ装置へ無線通信のポーリングを実行する。無線マスタ装置N201では、トークンフレームを受信していない産業用スレーブ機器と接続する無線スレーブ装置に対してポーリングを実行しないことで、無駄な処理を回避して通信効率を向上し、図10に示す処理と比較して、通信周期を短くすることができ、また、図11に示す通信周期を定周期とすることが可能となる。
以上説明したように、本実施の形態によれば、1つの産業用マスタ機器と1つまたは複数の産業用スレーブ機器との間で通信周期毎に通信を行う通信ネットワークにおいて、産業用マスタ機器と接続する無線マスタ装置と、産業用スレーブ機器と1対1で接続する産業用スレーブ機器と同数の無線スレーブ装置とが無線通信を行う無線通信システムにおいて、無線マスタ装置は、下位ネットワークである無線通信の区間におけるポーリング順序を決定する際に、上位のネットワークであるトークンパッシング方式のトークン順序を考慮し、無線スレーブ装置へポーリングを実行することとした。これにより、送信可能なデータを保有していない無線スレーブ装置に対して、ポーリングを実行して無効な手順が発生することを防止し、高い信頼性と高い通信効率を両立させて、定周期で行われる制御通信の通信周期を短くし、周波数資源を有効に利用出来るという効果を奏する。
また、無線通信の区間におけるポーリング順序とトークンパッシング方式におけるトークン順序が無関係である場合では産業用ネットワークの通信周期が確定しないが、ポーリング順序をトークン順序に合わせることにより、通信周期の把握が容易になる効果を奏する。
なお、本実施の形態では、無線マスタ装置N201が1つの産業用マスタ機器N1と接続し、無線スレーブ装置N301,N302,N303,…,N300+mが、産業用スレーブ機器N101,N102,N103,…,N100+mと1対1で接続する場合について説明したが、これに限定するものではない。産業用ネットワークの構成によって、無線マスタ装置N201は、異なる産業用ネットワークに属する複数の産業用マスタ機器N1と接続してもよい。また、無線スレーブ装置N301,N302,N303,…,N300+mでは、1つの無線スレーブ装置において複数の産業用スレーブ機器と接続してもよい。以降の実施の形態についても同様とする。
実施の形態2.
本実施の形態では、無線マスタ装置において、トークンフレームの送信を省略する方法について説明する。
図12は、実施の形態2にかかる無線通信システム30aを構成する無線マスタ装置N201aおよび無線スレーブ装置N301aの構成例を示すブロック図である。実施の形態2において、産業用ネットワークの構成は図1において、無線マスタ装置N201を無線マスタ装置N201aに置き換え、無線スレーブ装置N301,N302,N303,…,N300+mを無線スレーブ装置N301a,N302a,N303a,…,N(300+m)aに置き換えたものである。また、実施の形態2において、無線通信システムは、無線マスタ装置N201a、および無線スレーブ装置N301a,N302a,N303a,…,N(300+m)aで構成される。無線スレーブ装置N301a,N302a,N303a,…,N(300+m)aは同様の構成のため、ここでは、無線スレーブ装置N301aを用いて説明する。
無線マスタ装置N201aは、有線通信部11と、無線スレーブ装置N301a〜N(300+m)aとの間で、無線区間S2で無線信号の送受信を行う無線通信部12aと、を備える。無線通信部12aは、無線送信部13aと、巡回路情報保持部14と、トークン省略部16と、無線受信部15と、を備える。
トークン省略部16は、無線送信部13aにおいて、有線通信部11経由で産業用マスタ機器N1からトークンフレームを受信し、無線スレーブ装置N301a,N302a,N303a,…,N(300+m)aへの未送信のデータフレームがある場合、無線マスタ装置N201aからのトークンフレームの送信を省略することを示すマスタ省略情報を生成する。図13は、実施の形態2にかかるトークン省略部16がマスタ省略情報を生成する処理を示すフローチャートである。トークン省略部16は、トークンフレームを受信した無線送信部13aから、未送信のデータフレームがあることの通知を受けると(ステップST41)、マスタ省略情報を生成し(ステップST42)、生成したマスタ省略情報を無線送信部13aへ出力する(ステップST43)。
無線送信部13aは、無線送信部13の機能に加えて、さらに、無線区間S2へデータフレームを複数回送信する場合は、最後に送信するデータフレームにトークン省略部16で生成されたマスタ省略情報を格納して送信する。無線送信部13aは、マスタ省略情報を、最後のデータフレームのヘッダまたはペイロード部分に格納して送信する。マスタ省略情報は、例えば、あらかじめ無線通信システム30aを構成する無線マスタ装置N201aおよび無線スレーブ装置N301a〜N(300+m)aで定義しておくことで、「0」または「1」などの形式の情報で表すことができる。図14は、実施の形態2にかかる無線送信部13aがトークンフレームを受信したときの処理を示すフローチャートである。無線送信部13aは、有線通信部11経由で産業用マスタ機器N1からトークンフレームを受信すると(ステップST51)、未送信のデータフレームがある場合(ステップST52:Yes)、トークン省略部16へ未送信のデータフレームがあることを通知し(ステップST53)、トークン省略部16からマスタ省略情報を取得し(ステップST54)、最後に送信するデータフレームにマスタ省略情報を格納して送信する(ステップST55)。無線送信部13aは、未送信のデータフレームがない場合(ステップST52:No)、データフレームとは別にトークンフレームを送信する(ステップST56)。
なお、巡回路情報保持部14およびトークン省略部16については、無線送信部13aの内部にあってもよい。
無線スレーブ装置N301aは、有線通信部21と、無線マスタ装置N201aとの間で、無線区間S2で無線信号の送受信を行う無線通信部22aと、を備える。無線通信部22aは、無線送信部23と、無線受信部24aと、トークン生成部25と、を備える。
トークン生成部25は、トークン巡回路の情報を保持し、無線受信部24aで受信された無線マスタ装置N201aからのデータフレームにマスタ省略情報が格納されていた場合、トークン巡回路の情報に基づいて、無線マスタ装置N201aで送信が省略されたトークンフレームを生成する。トークン巡回路の情報は、実施の形態1において巡回路情報保持部14が保持する情報と同様である。
トークン生成部25においてトークン巡回路の情報を取得する方法については、巡回路情報保持部14と同様、産業用ネットワークの初期設定時に管理者などが手動でトークン生成部25にトークン巡回路の情報を設定してもよいし、トークン生成部25が産業用ネットワークを流れるトークンフレームの宛先の順番を自動で学習してトークン巡回路の情報を取得してもよい。なお、トークン生成部25において産業用ネットワークを流れるトークンフレームの宛先の順番を自動で学習する場合、学習が終了するまではトークン生成部25でトークンフレームを生成できない。そのため、例えば、産業用ネットワークの運用開始後、規定された一定の期間は、トークン生成部25の学習期間として、無線マスタ装置N201aではトークンフレームの送信の省略はしないこととする。図15は、実施の形態2にかかるトークン生成部25がトークンフレームを生成する処理を示すフローチャートである。トークン生成部25は、前述の管理者による設定により、または産業用ネットワークを流れるトークンフレームの宛先の順番を自動で学習することによってトークン巡回路の情報を取得し(ステップST61)、取得したトークン巡回路の情報を内蔵する記憶部に記憶して保持する(ステップST62)。トークン生成部25は、データフレームを受信した無線受信部24aから、マスタ省略情報が格納されていたことの通知を受けると(ステップST63)、トークン巡回路の情報に基づいてトークンフレームを生成し(ステップST64)、生成したトークンフレームを無線受信部24aへ出力する(ステップST65)。なお、トークン生成部25では、初回のみステップST61〜ST62の処理を行い、トークン巡回路の情報を既に保持している場合はステップST61〜ST62の処理を省略する。
無線受信部24aは、無線マスタ装置N201aからマスタ省略情報が格納されていたデータフレームを受信すると、データフレームからマスタ省略情報を取り出し、マスタ省略情報が取り出されたデータフレームを有線通信部21経由で産業用スレーブ機器N101へ送信する。その後、無線受信部24aは、トークン生成部25で生成されたトークンフレームを、有線通信部21経由で産業用スレーブ機器N101へ送信する。無線受信部24aは、データフレームについて、マスタ省略情報を取り出さずに産業用スレーブ機器N101へ送信してもよい。図16は、実施の形態2にかかる無線受信部24aにおいてマスタ省略情報が格納されていたデータフレームを受信してトークンフレームを送信する処理を示すフローチャートである。無線受信部24aは、無線マスタ装置N201aからマスタ省略情報が格納されていたデータフレームを受信すると(ステップST71)、トークン生成部25へマスタ省略情報が格納されていたことを通知し(ステップST72)、トークン生成部25からトークンフレームを取得し(ステップST73)、取得したトークンフレームを送信する(ステップST74)。
なお、トークン生成部25については、無線受信部24aの内部にあってもよい。
つぎに、無線通信システムを含む産業用ネットワークにおいて、無線マスタ装置N201aがトークンフレームの送信を省略して無線スレーブ装置N301aがトークンフレームを生成する無線通信方法について説明する。図17は、実施の形態2にかかる無線マスタ装置N201aがトークンフレームの送信を省略して無線スレーブ装置N301aがトークンフレームを生成する処理を示すフローチャートである。ステップS21〜S24およびS29の処理が無線マスタ装置N201aの処理、ステップS25〜S28およびS30の処理が無線スレーブ装置N301aの処理である。ここでは、トークン生成部25において、トークン巡回路の情報が管理者などにより既に設定されているものとする。
まず、無線マスタ装置N201aでは、無線通信部12aが、有線通信部11経由で産業用マスタ機器N1からトークンフレームを受信する(ステップS21)。無線通信部12aでは、トークン省略部16が、無線送信部13aにおいて無線スレーブ装置N301aへの未送信のデータフレームがあるか確認する(ステップS22)。
未送信のデータフレームがある場合(ステップS22:Yes)、トークン省略部16が、マスタ省略情報を生成する(ステップS23)。無線送信部13aは、無線スレーブ装置N301aへ送信するデータフレームのうち、最後のデータフレームにマスタ省略情報を格納して無線スレーブ装置N301aへ送信する(ステップS24)。
無線スレーブ装置N301aでは、無線受信部24aが、無線マスタ装置N201aからマスタ省略情報が格納されたデータフレームを受信する(ステップS25)。トークン生成部25は、無線受信部24aで受信されたデータフレームにマスタ省略情報が格納されていたことから、トークン巡回路の情報に基づいて、産業用スレーブ機器N101へのトークンフレームを生成する(ステップS26)。
無線受信部24aは、マスタ省略情報を取り出したデータフレームを有線通信部21経由で産業用スレーブ機器N101へ送信し(ステップS27)、トークン生成部25で生成されたトークンフレームを有線通信部21経由で産業用スレーブ機器N101へ送信する(ステップS28)。
なお、無線マスタ装置N201aでは、無線送信部13aにおいて無線スレーブ装置N301aへの未送信のデータフレームがない場合(ステップS22:No)、無線送信部13aが、産業用マスタ機器N1からのトークンフレームを無線スレーブ装置N301aへ送信する(ステップS29)。無線スレーブ装置N301aでは、無線受信部24aが、トークンフレームを受信すると(ステップS30)、トークンフレームを有線通信部21経由で産業用スレーブ機器N101へ送信する(ステップS28)。
ここで、本実施の形態のように、無線マスタ装置N201aが、トークンフレームを省略する場合と、実施の形態1のようにトークンフレームを省略しない場合について、産業用ネットワークの全ての機器でデータの送信を行う通信周期の違いについて説明する。
図18は、実施の形態2にかかる産業用ネットワークにおいて、無線マスタ装置N201aがトークンフレームを省略する場合の各機器または各装置間で送受信されるフレームを示すシーケンス図である。産業用マスタ機器N1、無線マスタ装置N201a、無線スレーブ装置N301a,N302a,N303a、および産業用スレーブ機器N101,N102,N103を用いて説明する。無線スレーブ装置N301a〜N303aのトークン生成部25は、既にトークン巡回路の情報を保持しているものとする。本実施の形態におけるトークンフレームを受信する順番であるトークン巡回路の情報は、実施の形態1と同様、産業用マスタ機器N1、産業用スレーブ機器N102、産業用スレーブ機器N101、産業用スレーブ機器N103の順番を示し、その後、産業用マスタ機器N1に戻ることを示す情報である。
まず、産業用マスタ機器N1は、無線マスタ装置N201aへ、データフレームを送信し(ステップS301)、産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS302)。
無線マスタ装置N201aでは、無線送信部13aが、無線スレーブ装置N301a〜N303aへデータフレームを送信する(ステップS303)。このとき、無線マスタ装置N201aでは、トークン省略部16がマスタ省略情報を生成し、無線送信部13aが、無線スレーブ装置N301a〜N303aへ送信するデータフレームのうち、最後のデータフレームにマスタ省略情報を格納して無線スレーブ装置N301a〜N303aへ送信する。
無線スレーブ装置N301a〜N303aは、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201aから受信したデータフレームを送信する(ステップS304)。無線スレーブ装置N301a〜N303aの無線受信部24aでは、産業用スレーブ機器N101〜N103へデータフレームを送信する際、データフレームからマスタ省略情報を取り出して送信してもよいし、格納したままにして送信してもよい。以降についても同様とする。
このとき、無線スレーブ装置N301a〜N303aでは、無線受信部24aにおいてマスタ省略情報が格納されたデータフレームを受信したことから、トークン生成部25が、トークン巡回路の情報に基づいて、トークンフレームを生成する。無線スレーブ装置N301a〜N303aにおいて、トークン生成部25は、無線マスタ装置N201aから受信したデータフレームにマスタ省略情報が格納されていたことから、無線マスタ装置N201aと接続する産業用マスタ機器N1がトークンフレームを受信していたと判断できる。前述のようにトークン巡回路の順番は、産業用マスタ機器N1のつぎが産業用スレーブ機器N102である。そのため、トークン生成部25は、トークン巡回路の情報に基づいて、産業用スレーブ機器N102を宛先とするトークンフレームを生成する。
無線スレーブ装置N301a〜N303aでは、無線受信部24aが、トークン生成部25で生成された産業用スレーブ機器N102を宛先とするトークンフレームを接続する産業用スレーブ機器N101〜N103へ送信する(ステップS305)。
以降のステップS306〜S341の各処理は、実施の形態1の図11のシーケンス図に示すステップS207〜S242の各処理と同様のため、説明を省略する。
無線マスタ装置N201aでは、無線送信部13aが、データフレームを複数回送信する場合は、最後に送信するデータフレームにトークン省略部16で生成されたマスタ省略情報を格納して送信する。無線スレーブ装置N301a〜N303aでは、トークン生成部25が、無線マスタ装置N201aにおいて送信が省略されたトークンフレームを生成して、産業用スレーブ機器N101〜N103へ送信する。この結果、実施の形態2の図18のシーケンス図と実施の形態1の図11のシーケンス図を比較すると、実施の形態2では、実施の形態1よりも通信周期を短くすることができる。
以上説明したように、本実施の形態によれば、1つの産業用マスタ機器と1つまたは複数の産業用スレーブ機器との間で通信周期毎に通信を行う通信ネットワークにおいて、産業用マスタ機器と接続する無線マスタ装置と、産業用スレーブ機器と1対1で接続する産業用スレーブ機器と同数の無線スレーブ装置とが無線通信を行う無線通信システムにおいて、無線マスタ装置は、無線においてトークンフレームを送信する際に、無線区間に未送信のデータフレームがある場合、最後のデータフレームを送信する際にトークンフレームの送信を省略することを示すマスタ省略情報を格納して送信する。無線スレーブ装置は、送信が省略されたトークンフレームを生成して産業用スレーブ機器に送信することとした。これにより、有線区間よりも通信帯域が細い無線区間でのトークンフレームのやり取りを行う時間を短縮し、高い信頼性と高い通信効率を両立させて、定周期で行われる制御通信の通信周期を短くし、周波数資源を有効に利用出来るという効果を奏する。
実施の形態3.
実施の形態2では、無線マスタ装置においてトークンフレームの送信を省略する方法について説明した。本実施の形態では、無線マスタ装置とともに、さらに、無線スレーブ装置においてトークンフレームの送信を省略する方法について説明する。
図19は、実施の形態3にかかる無線通信システム30bを構成する無線マスタ装置N201bおよび無線スレーブ装置N301bの構成例を示すブロック図である。実施の形態3において、産業用ネットワークの構成は図1において、無線マスタ装置N201を無線マスタ装置N201bに置き換え、無線スレーブ装置N301,N302,N303,…,N300+mを無線スレーブ装置N301b,N302b,N303b,…,N(300+m)bに置き換えたものである。また、実施の形態3において、無線通信システムは、無線マスタ装置N201b、および無線スレーブ装置N301b,N302b,N303b,…,N(300+m)bで構成される。無線スレーブ装置N301b,N302b,N303b,…,N(300+m)bは同様の構成のため、ここでは、無線スレーブ装置N301bを用いて説明する。
無線マスタ装置N201bは、有線通信部11と、無線スレーブ装置N301b〜N(300+m)bとの間で、無線区間S2で無線信号の送受信を行う無線通信部12bと、を備える。無線通信部12bは、無線送信部13aと、巡回路情報保持部14と、トークン省略部16と、無線受信部15aと、トークン生成部17と、を備える。
トークン生成部17は、無線受信部15aで受信された無線スレーブ装置N301b〜N303bからのデータフレームに、無線スレーブ装置N301b〜N303bからのトークンフレームの送信を省略することを示すスレーブ省略情報が格納されていた場合、トークン巡回路の情報に基づいて、無線スレーブ装置N301b〜N303bで送信が省略されたトークンフレームを生成する。トークン巡回路の情報は、実施の形態1において巡回路情報保持部14が保持する情報と同様である。無線マスタ装置N201bでは、トークン生成部17は、トークン巡回路の情報を保持してもよいし、トークン巡回路の情報を保持せず、巡回路情報保持部14が保持するトークン巡回路の情報を利用してもよい。
トークン生成部17においてトークン巡回路の情報を取得する方法については、巡回路情報保持部14と同様、産業用ネットワークの初期設定時に管理者などが手動でトークン生成部17にトークン巡回路の情報を設定してもよいし、トークン生成部17が産業用ネットワークを流れるトークンフレームの宛先の順番を自動で学習してトークン巡回路の情報を取得してもよい。なお、トークン生成部17において産業用ネットワークを流れるトークンフレームの宛先の順番を自動で学習する場合、学習が終了するまではトークン生成部17でトークンフレームを生成できない。そのため、例えば、産業用ネットワークの運用開始後、規定された一定の期間は、トークン生成部17の学習期間として、無線スレーブ装置N301b〜N303bではトークンフレームの送信の省略はしないこととする。図20は、実施の形態3にかかるトークン生成部17がトークンフレームを生成する処理を示すフローチャートである。トークン生成部17は、前述の管理者による設定により、または産業用ネットワークを流れるトークンフレームの宛先の順番を自動で学習することによってトークン巡回路の情報を取得し(ステップST81)、取得したトークン巡回路の情報を内蔵する記憶部に記憶して保持する(ステップST82)。トークン生成部17は、データフレームを受信した無線受信部15aから、スレーブ省略情報が格納されていたことの通知を受けると(ステップST83)、トークン巡回路の情報に基づいてトークンフレームを生成し(ステップST84)、生成したトークンフレームを無線受信部15aへ出力する(ステップST85)。なお、トークン生成部17では、初回のみステップST81〜ST82の処理を行い、トークン巡回路の情報の情報を既に保持している場合はステップST81〜ST82の処理を省略する。また、トークン生成部17では、巡回路情報保持部14が保持するトークン巡回路の情報を利用する場合は、初回からステップST81〜ST82の処理を省略してよい。
無線受信部15aは、無線スレーブ装置N301b〜N303bからスレーブ省略情報が格納されていたデータフレームを受信すると、データフレームからスレーブ省略情報を取り出し、スレーブ省略情報が取り出されたデータフレームを有線通信部11経由で産業用マスタ機器N1へ送信する。その後、無線受信部15aは、トークン生成部17で生成されたトークンフレームを、有線通信部11経由で産業用マスタ機器N1へ送信する。無線受信部15aは、データフレームについて、スレーブ省略情報を取り出さずに産業用マスタ機器N1へ送信してもよい。図21は、実施の形態3にかかる無線受信部15aにおいてスレーブ省略情報が格納されていたデータフレームを受信してトークンフレームを送信する処理を示すフローチャートである。無線受信部15aは、無線スレーブ装置N301b〜N303bからスレーブ省略情報が格納されていたデータフレームを受信すると(ステップST91)、トークン生成部17へスレーブ省略情報が格納されていたことを通知し(ステップST92)、トークン生成部17からトークンフレームを取得し(ステップST93)、取得したトークンフレームを送信する(ステップST94)。
なお、トークン生成部17については、無線受信部15aの内部にあってもよい。
無線スレーブ装置N301bは、有線通信部21と、無線マスタ装置N201bとの間で、無線区間S2で無線信号の送受信を行う無線通信部22bと、を備える。無線通信部22bは、無線送信部23aと、トークン省略部26と、無線受信部24aと、トークン生成部25と、を備える。
トークン省略部26は、有線通信部21経由で産業用スレーブ機器N101からトークンフレームを受信し、無線送信部23aにおいて、無線区間S2への未送信のデータフレームがある場合、無線スレーブ装置N301bからのトークンフレームの送信を省略することを示すスレーブ省略情報を生成する。図22は、実施の形態3にかかるトークン省略部26がスレーブ省略情報を生成する処理を示すフローチャートである。トークン省略部26は、トークンフレームを受信した無線送信部23aから、未送信のデータフレームがあることの通知を受けると(ステップST101)、スレーブ省略情報を生成し(ステップST102)、生成したスレーブ省略情報を無線送信部23aへ出力する(ステップST103)。
無線送信部23aは、無線送信部13の機能に加えて、さらに、無線区間S2へデータフレームを複数回送信する場合は、最後に送信するデータフレームにトークン省略部26で生成されたスレーブ省略情報を格納して送信する。無線送信部23aは、スレーブ省略情報を、最後のデータフレームのヘッダまたはペイロード部分に格納して送信する。スレーブ省略情報は、例えば、あらかじめ無線通信システム30bを構成する無線マスタ装置N201bおよび無線スレーブ装置N301b〜N(300+m)bで定義しておくことで、「0」または「1」などの形式の情報で表すことができる。図23は、実施の形態3にかかる無線送信部23aがトークンフレームを受信したときの処理を示すフローチャートである。無線送信部23aは、有線通信部21経由で産業用スレーブ機器N101からトークンフレームを受信すると(ステップST111)、未送信のデータフレームがある場合(ステップST112:Yes)、トークン省略部26へ未送信のデータフレームがあることを通知し(ステップST113)、トークン省略部26からスレーブ省略情報を取得し(ステップST114)、最後に送信するデータフレームにスレーブ省略情報を格納して送信する(ステップST115)。無線送信部23aは、未送信のデータフレームがない場合(ステップST112:No)、データフレームとは別にトークンフレームを送信する(ステップST116)。
トークン生成部25は、無線受信部24aで受信された無線マスタ装置N201bからのデータフレームに、無線マスタ装置N201bからのトークンフレームの送信を省略することを示すマスタ省略情報が格納されていた場合、トークン巡回路の情報に基づいて、無線マスタ装置N201bで送信が省略されたトークンフレームを生成する。また、トークン生成部25は、無線マスタ装置N201bから転送された無線スレーブ装置N301b〜N303bからのデータフレームに、無線スレーブ装置N301b〜N303bからのトークンフレームの送信を省略することを示すスレーブ省略情報が格納されていた場合、トークン巡回路の情報に基づいて、無線スレーブ装置N301b〜N303bで送信が省略されたトークンフレームを生成する。トークン巡回路の情報は、実施の形態1において巡回路情報保持部14が保持する情報と同様である。
なお、トークン省略部26については、無線送信部23aの内部にあってもよい。
本実施の形態における無線通信システムを含む産業用ネットワークにおいて、無線スレーブ装置N301bがトークンフレームの送信を省略して無線マスタ装置N201bがトークンフレームを生成する無線通信方法は、フレームの流れが逆向きになるが、実施の形態2の図17に示すフローチャートの各処理と同様である。そのため、詳細な説明については省略する。
ここで、本実施の形態のように、無線マスタ装置N201bおよび無線スレーブ装置N301b〜N303bが、トークンフレームを省略する場合の通信周期について説明する。図24は、実施の形態3にかかる産業用ネットワークにおいて、無線マスタ装置N201bおよび無線スレーブ装置N301b〜N303bがトークンフレームを省略する場合の各機器または各装置間で送受信されるフレームを示すシーケンス図である。産業用マスタ機器N1、無線マスタ装置N201b、無線スレーブ装置N301b,N302b,N303b、および産業用スレーブ機器N101,N102,N103を用いて説明する。無線マスタ装置N201bのトークン生成部17は、既にトークン巡回路の情報を保持している、または利用できるものとする。本実施の形態におけるトークンフレームを受信する順番であるトークン巡回路の情報は、実施の形態1と同様、産業用マスタ機器N1、産業用スレーブ機器N102、産業用スレーブ機器N101、産業用スレーブ機器N103の順番を示し、その後、産業用マスタ機器N1に戻ることを示す情報である。
まず、産業用マスタ機器N1は、無線マスタ装置N201bへ、データフレームを送信し(ステップS401)、産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS402)。
無線マスタ装置N201bでは、無線送信部13aが、無線スレーブ装置N301b〜N303bへデータフレームを送信する(ステップS403)。このとき、無線マスタ装置N201bでは、トークン省略部16がマスタ省略情報を生成し、無線送信部13aが、無線スレーブ装置N301b〜N303bへ送信するデータフレームのうち、最後のデータフレームにマスタ省略情報を格納して無線スレーブ装置N301b〜N303bへ送信する。
無線スレーブ装置N301b〜N303bは、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201bから受信したデータフレームを送信する(ステップS404)。無線スレーブ装置N301b〜N303bの無線受信部24aでは、産業用スレーブ機器N101〜N103へデータフレームを送信する際、データフレームからマスタ省略情報を取り出して送信してもよいし、格納したままにして送信してもよい。以降についても同様とする。
このとき、無線スレーブ装置N301b〜N303bでは、無線受信部24aにおいてマスタ省略情報が格納されたデータフレームを受信したことから、トークン生成部25が、トークン巡回路の情報に基づいて、トークンフレームを生成する。無線スレーブ装置N301b〜N303bにおいて、トークン生成部25は、無線マスタ装置N201bから受信したデータフレームにマスタ省略情報が格納されていたことから、無線マスタ装置N201bと接続する産業用マスタ機器N1がトークンフレームを受信していたと判断できる。前述のようにトークン巡回路の順番は、産業用マスタ機器N1のつぎが産業用スレーブ機器N102である。そのため、トークン生成部25は、トークン巡回路の情報に基づいて、産業用スレーブ機器N102を宛先とするトークンフレームを生成する。
無線スレーブ装置N301b〜N303bでは、無線受信部24aが、トークン生成部25で生成された産業用スレーブ機器N102を宛先とするトークンフレームを接続する産業用スレーブ機器N101〜N103へ送信する(ステップS405)。
自装置宛のトークンフレームを受信すると、産業用スレーブ機器N102は、無線スレーブ装置N302bへデータフレームを送信し(ステップS406)、無線スレーブ装置N302bへ産業用スレーブ機器N101を宛先とするトークンフレームを送信する(ステップS407)。
無線マスタ装置N201bでは、無線送信部13aが、巡回路情報保持部14が保持するトークン巡回路の情報に基づいて、自装置のつぎにトークンフレームを受信している産業用スレーブ機器N102と接続する無線スレーブ装置N302bへのポーリングを実行する(ステップS408)。無線スレーブ装置N302bは、産業用スレーブ機器N102からデータフレームを受信しており(ステップS406)、送信可能なデータを保有しているため、無線マスタ装置N201bへデータフレームを送信する(ステップS409)。
このとき、無線スレーブ装置N302bでは、トークン省略部26がスレーブ省略情報を生成し、無線送信部23aが、無線マスタ装置N201bへ送信するデータフレームのうち、最後のデータフレームにスレーブ省略情報を格納して無線マスタ装置N201bへ送信する。
無線マスタ装置N201bでは、産業用マスタ機器N1および無線スレーブ装置N301b〜N303bへ、無線スレーブ装置N302bから受信したデータフレームを送信する(ステップS410,S412)。無線マスタ装置N201bの無線受信部15aでは、産業用マスタ機器N1へデータフレームを送信する際、データフレームからスレーブ省略情報を取り出して送信してもよいし、格納したままにして送信してもよい。以降についても同様とする。なお、無線マスタ装置N201bの無線受信部15aでは、無線スレーブ装置N301b〜N303bへデータフレームを送信する際は、データフレームにスレーブ省略情報を格納したまま送信する。以降についても同様とする。
このとき、無線マスタ装置N201bでは、無線受信部15aにおいてスレーブ省略情報が格納されたデータフレームを受信したことから、トークン生成部17が、トークン巡回路の情報に基づいて、トークンフレームを生成する。無線マスタ装置N201bにおいて、トークン生成部17は、無線スレーブ装置N302bから受信したデータフレームにスレーブ省略情報が格納されていたことから、無線スレーブ装置N302bと接続する産業用スレーブ機器N102がトークンフレームを受信していたと判断できる。前述のようにトークン巡回路の順番は、産業用スレーブ機器N102のつぎが産業用スレーブ機器N101である。そのため、トークン生成部17は、トークン巡回路の情報に基づいて、産業用スレーブ機器N101を宛先とするトークンフレームを生成する。
無線マスタ装置N201bでは、無線受信部15aが、トークン生成部17で生成された産業用スレーブ機器N101を宛先とするトークンフレームを接続する産業用マスタ機器N1へ送信する(ステップS411)。
無線スレーブ装置N301b〜N303bは、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201bから受信したデータフレームを送信する(ステップS413)。このとき、無線スレーブ装置N301b〜N303bでは、無線受信部24aにおいてスレーブ省略情報が格納されたデータフレームを受信したことから、トークン生成部25が、トークン巡回路の情報に基づいて、トークンフレームを生成する。トークン生成部25において産業用スレーブ機器N101を宛先とするトークンフレームを生成する方法は、前述のトークン生成部17と同様である。
無線スレーブ装置N301b〜N303bでは、無線受信部24aが、トークン生成部25で生成された産業用スレーブ機器N101を宛先とするトークンフレームを接続する産業用スレーブ機器N101〜N103へ送信する(ステップS414)。
自装置宛のトークンフレームを受信すると、産業用スレーブ機器N101は、無線スレーブ装置N301bへデータフレームを送信し(ステップS415)、無線スレーブ装置N301bへ産業用スレーブ機器N103を宛先とするトークンフレームを送信する(ステップS416)。
無線マスタ装置N201bでは、無線受信部15aが、無線スレーブ装置N302bからスレーブ省略情報が格納されたデータフレームを受信したので、無線スレーブ装置N302bにおいて保有するフレームは無いと判断し、無線スレーブ装置N302bはフレームを保有していないことを無線送信部13aへ通知する。無線マスタ装置N201bでは、無線送信部13aが、巡回路情報保持部14が保持するトークン巡回路の情報に基づいて、つぎにトークンフレームを受信している産業用スレーブ機器N101と接続する無線スレーブ装置N301bへのポーリングを実行する(ステップS417)。無線スレーブ装置N301bは、産業用スレーブ機器N101からデータフレームを受信しており(ステップS415)、送信可能なデータを保有しているため、無線マスタ装置N201bへデータフレームを送信する(ステップS418)。
このとき、無線スレーブ装置N301bでは、トークン省略部26がスレーブ省略情報を生成し、無線送信部23aが、無線マスタ装置N201bへ送信するデータフレームのうち、最後のデータフレームにスレーブ省略情報を格納して無線マスタ装置N201bへ送信する。
無線マスタ装置N201bでは、産業用マスタ機器N1および無線スレーブ装置N301b〜N303bへ、無線スレーブ装置N301bから受信したデータフレームを送信する(ステップS419,S421)。このとき、無線マスタ装置N201bでは、無線受信部15aにおいてスレーブ省略情報が格納されたデータフレームを受信したことから、トークン生成部17が、トークン巡回路の情報に基づいて、トークンフレームを生成する。
無線マスタ装置N201bにおいて、トークン生成部17は、無線スレーブ装置N301bから受信したデータフレームにスレーブ省略情報が格納されていたことから、無線スレーブ装置N301bと接続する産業用スレーブ機器N101がトークンフレームを受信していたと判断できる。前述のようにトークン巡回路の順番は、産業用スレーブ機器N101のつぎが産業用スレーブ機器N103である。そのため、トークン生成部17は、トークン巡回路の情報に基づいて、産業用スレーブ機器N103を宛先とするトークンフレームを生成する。
無線マスタ装置N201bでは、無線受信部15aが、トークン生成部17で生成された産業用スレーブ機器N103を宛先とするトークンフレームを接続する産業用マスタ機器N1へ送信する(ステップS420)。
無線スレーブ装置N301b〜N303bは、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201bから受信したデータフレームを送信する(ステップS422)。このとき、無線スレーブ装置N301b〜N303bでは、無線受信部24aにおいてスレーブ省略情報が格納されたデータフレームを受信したことから、トークン生成部25が、トークン巡回路の情報に基づいて、トークンフレームを生成する。トークン生成部25において産業用スレーブ機器N103を宛先とするトークンフレームを生成する方法は、前述のトークン生成部17と同様である。
無線スレーブ装置N301b〜N303bでは、無線受信部24aが、トークン生成部25で生成された産業用スレーブ機器N103を宛先とするトークンフレームを接続する産業用スレーブ機器N101〜N103へ送信する(ステップS423)。
自装置宛のトークンフレームを受信すると、産業用スレーブ機器N103は、無線スレーブ装置N303bへデータフレームを送信し(ステップS424)、無線スレーブ装置N303bへ産業用マスタ機器N1を宛先とするトークンフレームを送信する(ステップS425)。
無線マスタ装置N201bでは、無線受信部15aが、無線スレーブ装置N301bからスレーブ省略情報が格納されたデータフレームを受信したので、無線スレーブ装置N301bにおいて保有するフレームは無いと判断し、無線スレーブ装置N301bはフレームを保有していないことを無線送信部13aへ通知する。無線マスタ装置N201bでは、無線送信部13aが、巡回路情報保持部14が保持するトークン巡回路の情報に基づいて、つぎにトークンフレームを受信している産業用スレーブ機器N103と接続する無線スレーブ装置N303bへのポーリングを実行する(ステップS426)。無線スレーブ装置N303bは、産業用スレーブ機器N103からデータフレームを受信しており(ステップS424)、送信可能なデータを保有しているため、無線マスタ装置N201bへデータフレームを送信する(ステップS427)。
このとき、無線スレーブ装置N303bでは、トークン省略部26がスレーブ省略情報を生成し、無線送信部23aが、無線マスタ装置N201bへ送信するデータフレームのうち、最後のデータフレームにスレーブ省略情報を格納して無線マスタ装置N201bへ送信する。
無線マスタ装置N201bでは、産業用マスタ機器N1および無線スレーブ装置N301b〜N303bへ、無線スレーブ装置N303bから受信したデータフレームを送信する(ステップS428,S430)。このとき、無線マスタ装置N201bでは、無線受信部15aにおいてスレーブ省略情報が格納されたデータフレームを受信したことから、トークン生成部17が、トークン巡回路の情報に基づいて、トークンフレームを生成する。
無線マスタ装置N201bにおいて、トークン生成部17は、無線スレーブ装置N303bから受信したデータフレームにスレーブ省略情報が格納されていたことから、無線スレーブ装置N303bと接続する産業用スレーブ機器N103がトークンフレームを受信していたと判断できる。前述のようにトークン巡回路の順番は、産業用スレーブ機器N103のつぎが産業用マスタ機器N1である。そのため、トークン生成部17は、トークン巡回路の情報に基づいて、産業用マスタ機器N1を宛先とするトークンフレームを生成する。
無線マスタ装置N201bでは、無線受信部15aが、トークン生成部17で生成された産業用マスタ機器N1を宛先とするトークンフレームを接続する産業用マスタ機器N1へ送信する(ステップS429)。
無線スレーブ装置N301b〜N303bは、接続する産業用スレーブ機器N101〜N103へ、無線マスタ装置N201bから受信したデータフレームを送信する(ステップS431)。このとき、無線スレーブ装置N301b〜N303bでは、無線受信部24aにおいてスレーブ省略情報が格納されたデータフレームを受信したことから、トークン生成部25が、トークン巡回路の情報に基づいて、トークンフレームを生成する。トークン生成部25において産業用マスタ機器N1を宛先とするトークンフレームを生成する方法は、前述のトークン生成部17と同様である。
無線スレーブ装置N301b〜N303bでは、無線受信部24aが、トークン生成部25で生成された産業用マスタ機器N1を宛先とするトークンフレームを接続する産業用スレーブ機器N101〜N103へ送信する(ステップS432)。
そして、産業用マスタ機器N1は、無線マスタ装置N201bへ、データフレームを送信し(ステップS401)、産業用スレーブ機器N102を宛先とするトークンフレームを送信する(ステップS402)。以降の処理は前述のとおりである。
このように、本実施の形態では、無線マスタ装置N201bに加えて、無線スレーブ装置N301b〜N303bがトークンフレームの送信を省略することで、実施の形態2と比較して、通信周期を短くすることができる。
以上説明したように、本実施の形態によれば、1つの産業用マスタ機器と1つまたは複数の産業用スレーブ機器との間で通信周期毎に通信を行う通信ネットワークにおいて、産業用マスタ機器と接続する無線マスタ装置と、産業用スレーブ機器と1対1で接続する産業用スレーブ機器と同数の無線スレーブ装置とが無線通信を行う無線通信システムにおいて、無線マスタ装置と無線スレーブ装置間では、トークンフレームのやり取りを省略し、ポーリングを順次実行する際にも無効なポーリングは省略されることとした。これにより、有線区間よりも通信帯域が細い無線区間でのトークンフレームのやり取りを行う時間を短縮し、高い信頼性と高い通信効率を両立させて、定周期で行われる制御通信の通信周期を短くし、周波数資源を有効に利用出来るという効果を奏する。
ここで、図4,12,19に示す無線マスタ装置および無線スレーブ装置の各構成を実現するハードウェア構成について説明する。無線マスタ装置の有線通信部11および無線スレーブ装置の有線通信部21は、有線通信のインターフェースカードによって実現される。同様に、無線マスタ装置の無線通信部および無線スレーブ装置の無線通信部は、無線通信のインターフェースカードによって実現される。なお、図4,12,19に示す無線マスタ装置および無線スレーブ装置において、無線通信部の構成のうち、一部の構成はソフトウェアにより構成してもよい。図25は、実施の形態1から3にかかる無線マスタ装置または無線スレーブ装置の無線通信部のハードウェア構成の例を示す図である。
無線通信部12,12a,12bにおいて、無線送信部13,13aは、送信器93とともに、プロセッサ91がメモリ92に記憶された各構成用のプログラムを実行することにより実現される。無線通信部12,12a,12bにおいて、巡回路情報保持部14は、メモリ92とともに、プロセッサ91がメモリ92に記憶された巡回路情報保持部14用のプログラムを実行することにより実現される。無線通信部12,12a,12bにおいて、無線受信部15,15aは、受信器94とともに、プロセッサ91がメモリ92に記憶された各構成用のプログラムを実行することにより実現される。無線通信部12a,12bにおいて、トークン省略部16は、プロセッサ91がメモリ92に記憶されたトークン省略部16用のプログラムを実行することにより実現される。無線通信部12bにおいて、トークン生成部17は、プロセッサ91がメモリ92に記憶されたトークン生成部17用のプログラムを実行することにより実現される。または、トークン生成部17は、メモリ92とともに、プロセッサ91がメモリ92に記憶されたトークン生成部17用のプログラムを実行することにより実現される。
無線通信部22,22a,22bにおいて、無線送信部23,23aは、送信器93とともに、プロセッサ91がメモリ92に記憶された各構成用のプログラムを実行することにより実現される。無線通信部22,22a,22bにおいて、無線受信部24,24aは、受信器94とともに、プロセッサ91がメモリ92に記憶された各構成用のプログラムを実行することにより実現される。無線通信部22a,22bにおいて、トークン生成部25は、メモリ92とともに、プロセッサ91がメモリ92に記憶されたトークン生成部25用のプログラムを実行することにより実現される。無線通信部22bにおいて、トークン省略部26は、プロセッサ91がメモリ92に記憶されたトークン省略部26用のプログラムを実行することにより実現される。
プロセッサ91、メモリ92、送信器93および受信器94は、システムバス95により接続されている。複数のプロセッサ91および複数のメモリ92が連携して各構成の機能を実行してもよい。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。