(57)【要約】      （修正有）【課題】ネットワークの伝送効率を低下させることなく、デバイスとそのコントロールユニットとの送受信を一定のタイミングで実行させるデバイス制御技術を提供する。【解決手段】デバイス制御システムの通信ユニット２０Ｎは、ネットワークを巡回するパケット３０を受信するパケット受信部２１と、パケットのビット列のデータ領域を検出するデータ領域検出部２２と、デバイス（センサＸ）から取得した取得データ及びデバイス（アクチュエータＹ）に指令する指令データを通信ユニットの内部と外部との間で伝送させるデータ転送部２３Ｘ、２３Ｙと、前記データ領域に対し取得データの記録及び指令データの読込を実行するデータ処理部２４と、パケットを再びネットワークで巡回するように送信するパケット送信部２５と、を備える。【選択図】図３
2016012789.tif 000002
【特許請求の範囲】
【請求項１】
リング型トポロジーで相互接続する複数の通信ユニットのそれぞれに設けられネットワークを巡回するパケットを受信するパケット受信部と、
前記パケットのビット列のうち所属の前記通信ユニットに割り当てられたデータ領域を検出するデータ領域検出部と、
デバイスから取得した取得データ及びデバイスに指令する指令データのうち少なくとも一方をそれぞれの前記通信ユニットの内部と外部との間で伝送させるデータ転送部と、
前記割り当てられたデータ領域に対し前記取得データの記録及び前記指令データの読込のうち少なくとも一方を実行するデータ処理部と、
前記割り当てられたデータ領域のデータ処理を実行したパケットを再び前記ネットワークで巡回するように送信するパケット送信部と、を備えることを特徴とするデバイス制御システム。
【請求項２】
請求項１に記載のデバイス制御システムにおいて、
前記パケットの前記データ領域は、前記ビット列が分割され、前記通信ユニットのそれぞれに個別に割り当てられていることを特徴とするデバイス制御システム。
【請求項３】
請求項１又は請求項２に記載のデバイス制御システムにおいて、
前記パケットを受信して、データ領域に記録されている前記取得データを読み込んで、前記指令データを導出して前記データ領域に記録し、パケットを送信するコントロールユニットが、前記ネットワークに設けられていることを特徴とするデバイス制御システム。
【請求項４】
請求項１から請求項３のいずれか１項に記載のデバイス制御システムにおいて、
前記パケット送信部で送信されるパケットの誤り検出符号を生成して前記ビット列に記録する符号記録部と、
前記パケット受信部で受信したパケットの誤り検出符号を生成し前記ビット列に記録されている誤り検出符号との一致／不一致をチェックし結果を前記ビット列に記録する符号チェック部と、をさらに備えることを特徴とするデバイス制御システム。
【請求項５】
請求項１から請求項４のいずれか１項に記載のデバイス制御システムにおいて、
前記デバイスからの前記取得データは、センサの出力信号であり、
前記デバイスへの前記指令データは、アクチュエータの入力信号であることを特徴とするデバイス制御システム。
【請求項６】
リング型トポロジーで相互接続する複数の通信ユニットのいずれか一つにおいてネットワークを巡回するパケットを受信するステップと、
前記パケットのビット列のうち所属の前記通信ユニットに割り当てられたデータ領域を検出するステップと、
デバイスから取得した取得データ及びデバイスに指令する指令データのうち少なくとも一方を前記通信ユニットの内部と外部との間で伝送させるステップと、
前記割り当てられたデータ領域に対し前記取得データの記録及び前記指令データの読込のうち少なくとも一方を実行するステップと、
前記割り当てられたデータ領域のデータ処理を実行したパケットを再び前記ネットワークで巡回するように送信するステップと、を含むことを特徴とするデバイス制御方法。
【請求項７】
コンピュータに、
リング型トポロジーで相互接続する複数の通信ユニットのいずれか一つにおいてネットワークを巡回するパケットを受信するステップ、
前記パケットのビット列のうち所属の前記通信ユニットに割り当てられたデータ領域を検出するステップ、
デバイスから取得した取得データ及びデバイスに指令する指令データのうち少なくとも一方を前記通信ユニットの内部と外部との間で伝送させるステップ、
前記割り当てられたデータ領域に対し前記取得データの記録及び前記指令データの読込のうち少なくとも一方を実行するステップ、
前記割り当てられたデータ領域のデータ処理を実行したパケットを再び前記ネットワークで巡回するように送信するステップ、を実行させることを特徴とするデバイス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ネットワーク接続されたデバイスをパケット信号の伝送により制御するデバイス制御技術に関する。
【背景技術】
【０００２】
システムによっては、ネットワーク接続されたデバイスとそのコントロールユニットとのデータ送受信を、一定のタイミングで実行することが要求される場合がある。
この要求を満たすためには、コリジョンが発生するおそれのあるバス式トポロジーに基づく伝送方式を採用することができない。
このため、一本の伝送路でデバイスとそのコントロールユニットとを１対１で接続し、コリジョンを発生させることなく、予め決められたタイミングでデータ送受信を実行する伝送方式が広く採用されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３４２０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような、デバイスとそのコントロールユニットとを１対１で接続する伝送方式においては、コントロールユニットが、複数のデバイスとの送受信タイミングを調整することになるため、データ伝送の効率低下が避けられない。
【０００５】
本発明の実施形態はこのような事情を考慮してなされたもので、ネットワークの伝送効率を低下させることなく、デバイスとそのコントロールユニットとの送受信を一定のタイミングで実行させるデバイス制御技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態に係るデバイス制御システムは、リング型トポロジーで相互接続する複数の通信ユニットのそれぞれに設けられネットワークを巡回するパケットを受信するパケット受信部と、前記パケットのビット列のうち所属の前記通信ユニットに割り当てられたデータ領域を検出するデータ領域検出部と、デバイスから取得した取得データ及びデバイスに指令する指令データのうち少なくとも一方をそれぞれの前記通信ユニットの内部と外部との間で伝送させるデータ転送部と、前記割り当てられたデータ領域に対し前記取得データの記録及び前記指令データの読込のうち少なくとも一方を実行するデータ処理部と、前記割り当てられたデータ領域のデータ処理を実行したパケットを再び前記ネットワークで巡回するように送信するパケット送信部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明の実施形態により、ネットワークの伝送効率を低下させることなく、デバイスとそのコントロールユニットとの送受信を一定のタイミングで実行させるデバイス制御技術が提供される。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るデバイス制御システムの全体ブロック図。
【図２】実施形態に適用されるパケットのビット列の説明図。
【図３】実施形態に適用されるデバイスの通信ユニットの内部ブロック図。
【図４】実施形態に係るデバイス制御システムの動作を説明するフローチャート。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を添付図面に基づいて説明する。
図１及び図３に示すようにデバイス制御システム１０は、リング型トポロジーで相互接続する複数の通信ユニット２０n（ｎ＝１，２，…Ｎ）のそれぞれに設けられネットワーク１１を巡回するパケット３０（図２）を受信するパケット受信部２１と、このパケット３０のビット列のうち所属の通信ユニット２０Nに割り当てられたデータ領域ＤNを検出するデータ領域検出部２２と、デバイス（センサＸ）から取得した取得データ１２及びデバイス（アクチュエータＹ）に指令する指令データ１３のうち少なくとも一方をそれぞれの通信ユニット２０nの内部と外部との間で伝送させるデータ転送部２３（２３X、２３Y）と、割り当てられたデータ領域ＤN（図２）に対し取得データ１２の記録及び指令データ１３の読込のうち少なくとも一方を実行するデータ処理部２４（２４X,２４Y）と、割り当てられたデータ領域ＤNのデータ処理を実行したパケット３０を再びネットワーク１１で巡回するように送信するパケット送信部２５と、を備えている。
【００１０】
コントロールユニット１５は、パケット３０を受信して、データ領域Ｄn（ｎ＝１，２，…Ｎ）に記録されている取得データ１２を読み込んで、指令データ１３を導出する。
そしてコントロールユニット１５は、この導出した指令データ１３をデータ領域Ｄn（ｎ＝１，２，…Ｎ）のそれぞれに記録し、最上流に位置する通信ユニット２０1にパケット３０を送信する。
【００１１】
図２に示すように、パケット３０のビット列の先頭には、パケット受信部２１において受信信号がパケット３０であることを認識させる、ヘッダー３１が形成されている。
このヘッダー３１の後段には、ビット列が分割され、通信ユニット２０n（ｎ＝１，２，…Ｎ）のそれぞれに個別に割り当てられたデータ領域Ｄn（ｎ＝１，２，…Ｎ）が形成されている。
【００１２】
このデータ領域Ｄn（ｎ＝１，２，…Ｎ）は、ネットワーク１１の上流に位置する通信ユニット２０1に対応するものから順番に、ヘッダー３１に向かって割り当てられる。
これにより、複数の通信ユニット２０nに対し、一つの長いパケット３０が串刺し状に通過し、それぞれの通信ユニット２０nにおいて、取得データ１２の記録及び指令データ１３の読込を、ほぼ同時に実行させることができる。
【００１３】
通信ユニット２０1のパケット受信部２１は、コントロールユニット１５から送信されるパケット３０を受信する。通信ユニット２０n（ｎ＝２，３…Ｎ）のパケット受信部２１は、通信ユニット２０n-1のパケット送信部２５から送信されるパケット３０を受信する。通信ユニット２０Nのパケット送信部２５は、パケット３０をコントロールユニット１５に送信する。
【００１４】
このように、通信ユニット２０n（ｎ＝１，２，…Ｎ）及びコントロールユニット１５は、論理的にリング型トポロジーで相互接続している。なお、物理的な接続は、リング型トポロジーとらない場合もある。
パケット３０は、それぞれの通信ユニット２０n（ｎ＝１，２，…Ｎ）及びコントロールユニット１５においてデータ処理されながら、ネットワーク１１を一定の周期で巡回することになる。
【００１５】
それぞれの通信ユニット２０n（ｎ＝１，２，…Ｎ）のパケット送信部２５には、符号記録部２６が設けられている。
この符号記録部２６は、所属の通信ユニット２０nでデータ処理されたパケット３０の誤り検出符号を生成し、ビット列に記録する。
誤り検出符号としては、巡回冗長検査（ＣＲＣ: Cyclic Redundancy Check）等が挙げられる。
【００１６】
図２に示すように、データ領域Ｄ1の後段のビット列には、パケット３０の誤り検出符号を記録するための記録ビット３２が設けられている。
このように、誤り検出符号の記録ビット３２が更新されたパケット３０は、パケット送信部２５から、巡回方向の次の通信ユニット２０nのパケット受信部２１に送信される。
【００１７】
それぞれの通信ユニット２０n（ｎ＝１，２，…Ｎ）のパケット受信部２１には、符号チェック部２７が設けられている。
この符号チェック部２７は、まずパケット受信部２１で受信したパケット３０の誤り検出符号を生成する。そしてこの生成したし誤り検出符号とパケット３０のビット列の記録ビット３２に記録されている誤り検出符号との一致／不一致をチェックする。
図２に示すように、誤り検出符号の記録ビット３２の後段のビット列には、パケット３０の誤り検出符号のチェック結果を記録するための記録ビット３３が設けられている。
【００１８】
パケット３０は、通信ユニット２０n-1と通信ユニット２０nの間を通過する度に、ビット列の内容が変化する場合がある。しかし、このチェック結果の記録ビット３３が「一致」の結果を示すものであれば、通信ユニット２０n-1と通信ユニット２０nとを結ぶ経路間で、伝送エラーが無かったことの証明になる。
【００１９】
一方で、このチェック結果の記録ビット３３が「不一致」の結果を示すものであれば、伝送エラーがあったことの証明となり、パケット３０が巡回してコントロールユニット１５に到達したところで、エラー処理がなされる。
【００２０】
なお、チェック結果の記録ビット３３は、一致／不一致を表す、少なくとも１ビット分がパケット３０に形成されていれば、機能は達成される。
この場合、複数のうちいずれか一つの通信ユニット２０nにおいてチェック結果が「不一致」であった場合は、後段の通信ユニット２０nは、チェック結果を記録ビット３３に記録せずにパケット３０を巡回させる。
そして、コントロールユニット１５では、ネットワーク１１上のいずれかの伝送経路においてエラーが発生したことを認識して、エラー処理を実行する。
【００２１】
一方において、チェック結果の記録ビット３３は、全ての通信ユニット２０n（ｎ＝１，２，…Ｎ）に対応して個別に割り当てられた、複数であってもよい。
この場合、複数のうちいずれか一つの通信ユニット２０nにおいてチェック結果が「不一致」であった場合であっても、後段の通信ユニット２０nは、チェック結果を自己に対応する記録ビット３３に記録し続ける。
これにより、コントロールユニット１５では、ネットワーク１１上でエラーが発生した伝送経路の箇所を特定することができる。
【００２２】
もしくは、チェック結果が「一致」を示す場合にカウンタをインクリメントしてビット列に記録し、「不一致」の結果を示す場合はそれ以降のカウンタのインクリメントを停止する方法も考えられる。
これにより、コントロールユニット１５で、パケット３０が受信された時点で、カウンタ数が通信ユニット２０nの数に一致していれば伝送エラーは無いと判断される。
そして、一致していなければカウンタ数に対応する順番の通信ユニット２０nの後でパケット３０の伝送エラーが発生したと判断される。
【００２３】
このような、カウンタを設ける場合、インクリメント処理をＦＰＧＡ等で実現しようとすると処理の複雑化が懸念される。
この場合、カウンタをＬＳＢファーストのグレーコード化することにより、ビットを反転させるだけでカウントアップが実現され、ロジックが単純化し、レイテンシも短縮化する。
【００２４】
なお、デバイス制御システム１０において、ネットワーク１１における伝送エラーを検出する必要が無ければ、符号記録部２６及び符号チェック部２７は、不要である。
【００２５】
データ領域検出部２２は、それぞれの通信ユニット２０n（ｎ＝１，２，…Ｎ）に固有のデータ領域情報２８を所持している。
このデータ領域情報２８は、パケット３０のビット列のうち所属の通信ユニット２０Nに割り当てられたデータ領域ＤNをサーチするための情報が含まれている。
【００２６】
データ処理部２４（２４X,２４Y）は、データ領域検出部２２で検出された通信ユニット２０Nに固有のデータ領域ＤN（図２）に対し、取得データ１２の記録及び指令データ１３の読込を実行する。
ここで取得データ１２とは、データ転送部２３Xを介して、デバイス（センサＸ）から取得したもので、データ保持部２９Xにおいて常に最新のものが、通信ユニット２０nに内部保持される。
データ保持部２９Xに保持されている最新の取得データ１２は、所属の通信ユニット２０Nにパケット３０が受信されデータ記録部２４Xを通過するタイミングで、固有のデータ領域ＤNに記録される。
【００２７】
またセンサは、現象等の機械的・電磁気的・熱的・音響的・化学的性質等を反映させた信号を出力するもので、例えば、リミットスイッチ、流量計、振動計、Ｘ線検出器、温度計、ｐＨメータ、ガス濃度計等に含まれている。
また取得データ１２を出力するデバイスは、このようなセンサに限定されるものでなく、論理演算等を実行する演算デバイス等も含まれる。
【００２８】
ここで指令データ１３とは、パケット３０のデータ領域Ｄn（ｎ＝１，２，…Ｎ）に記録されている取得データ１２基づき、コントロールユニット１５で導出されたものである。
所属の通信ユニット２０Nに固有のデータ領域ＤNに記録されている指令データ１３は、パケット３０が受信されデータ読込部２４Yを通過するタイミングで、データ保持部２９Ｙに保持される。
【００２９】
データ保持部２９Ｙに保持されている最新の指令データ１３は、データ転送部２３Ｙを介して、デバイス（アクチュエータＹ）に転送される。
アクチュエータＹは、機械・電気回路で構成され電気エネルギーを物理的運動や熱移動に変換するもので、例えば、モータ、ファン、開閉弁、冷却器・加熱器等に含まれる。
また指令データ１３を入力するデバイスは、このようなアクチュエータに限定されるものでなく、論理演算等を実行する演算デバイス等も含まれる。
【００３０】
なお、実施形態において、データ処理部２４は、データ記録部２４X及びデータ読込部２４Yを共に具備するものについて説明した。しかし、センサＸのみ接続される通信ユニット２０1やアクチュエータＹのみ接続される通信ユニット２０２の場合は、データ記録部２４X及びデータ読込部２４Yはそれぞれ一方のみ具備していればよい。
【００３１】
デバイス制御システム１０を構成する通信ユニット２０n（ｎ＝１，２，…Ｎ）及びコントロールユニット１５は、ＦＰＧＡ等のハードウェアを用いて実現可能である。
これにより、デバイス制御システム１０のレイテンシを大幅に短縮化することができ、デバイスが送受信するデータの伝送効率を大幅に向上することができる。
さらに、ＣＰＵで動作させるよりもレイテンシのバラツキが小さくなり、より一層、データ送受信のタイミングの一定化を図ることができる。
【００３２】
図４のフローチャートに基づいて、デバイス制御システム１０の動作を説明する（適宜、図１参照）。
最初に、コントロールユニット１５からパケット３０が送信される（Ｓ１１）。なお、予め、このパケット３０の誤り検出符号が生成され、記録ビット３２に記録されている（Ｓ１０）。
【００３３】
ネットワーク１１を巡回するパケット３０は、リング型トポロジーの上流に位置する通信ユニット２０1に受信される（Ｓ１２）。
【００３４】
次に、パケット３０のビット列のうち所属の通信ユニット２０1に割り当てられたデータ領域Ｄ1に対し、接続されているデバイス（センサＸ）から伝送された取得データ１２を記録する（Ｓ１３）。
さらに、このデータ領域Ｄ1に記録されている指令データ１３を読み込んで、接続されているデバイス（アクチュエータＹ）に伝送する（Ｓ１４）。
データ領域Ｄ1に対する処理前のパケットの３０の誤り検出符号を生成し、記録ビット３２に記録されているものとの「一致」「不一致」をチェックし、その結果を記録ビット３３に記録する（Ｓ１５）。
【００３５】
データ領域Ｄ1に対する処理が終了した後のパケット３０の誤り検出符号を生成し、記録ビット３２に記録（上書き）して（Ｓ１６）、下流に位置する通信ユニット２０2にパケット３０を送信する（Ｓ１７）。
（Ｓ１２）から（Ｓ１７）までのフローが、全ての通信ユニット２０n（ｎ＝１，２，…Ｎ）において行われる（Ｓ１８：Ｎｏ）。
ただし、データ領域ＤN（ｎ＝１，２，…Ｎ）の並びの順番が通信ユニット２０n（ｎ＝１，２，…Ｎ）の並びの順番に一致しているために、それぞれのデータ処理部２４における処理期間が重なり合うために、レイテンシの短縮化に寄与する。
【００３６】
最下流に位置する通信ユニット２０Nを通過したパケット３０は（Ｓ１８：Ｙｅｓ）、コントロールユニット１５に受信され、記録ビット３３をチェックし、伝送エラーの有無を確認する（Ｓ１９）。
エラーの存在が確認されれば、周回分の処理をリセットし（Ｓ２０：Ｎｏ,Ｓ１０）、連続してエラーの存在が確認されれば、システムを停止する。
【００３７】
記録ビット３３のチェックで伝送エラーが確認されなければ（Ｓ２０：Ｙｅｓ）、コントロールユニット１５において、データ領域Ｄn（ｎ＝１，２，…Ｎ）の記録データを読み込んで、指令データを生成しデータ領域Ｄn（ｎ＝１，２，…Ｎ）に記録する（Ｓ２１）。
この（Ｓ１０）から（Ｓ２１）までのフローを、システム停止命令がだされるまで繰り返す（Ｓ２２：Ｎｏ，Ｙｅｓ  ＥＮＤ）。
【００３８】
以上述べた少なくともひとつの実施形態のデバイス制御システムによれば、デバイスの通信ユニットをリング型トポロジーで相互接続することにより、ネットワークの伝送効率を低下させることなく、デバイスとそのコントロールユニットとの送受信を一定のタイミングで実行させることが可能となる。
【００３９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
また、デバイス制御システムの構成要素は、コンピュータのプロセッサで実現することも可能であり、デバイス制御プログラムにより動作させることが可能である。
【符号の説明】
【００４０】
１０…デバイス制御システム、１１…ネットワーク、１２…取得データ、１３…指令データ、１５…コントロールユニット、２０…通信ユニット、２１…パケット受信部、２２…データ領域検出部、２３（２３X，２３Y）…データ転送部、２４…データ処理部、２４X…データ記録部、２４Y…データ読込部、２５…パケット送信部、２６…符号記録部、２７…符号チェック部、２８…データ領域情報、２９（２９X，２９Y）…データ保持部、３０…パケット、３１…ヘッダー、３２…誤り検出符号の記録ビット、３３…チェック結果の記録ビット。
【図１】
2016012789.tif 000003
【図２】
2016012789.tif 000004
【図３】
2016012789.tif 000005
【図４】
2016012789.tif 000006