(57)【要約】  第１の通信フレームを送信すると共に、第１の通信フレームを送信する優先度より低い優先度の第２の通信フレームを送信する通信装置（１００）において、第２の通信フレームの送信中に第１の通信フレームの送信要求が発生した場合、マスタ装置において第１の通信フレームの受信が開始されるまでにかかる時間の許容時間と、第２の通信フレームの送信が完了するまでの残り時間と、マスタ装置において第１の通信フレームの受信が開始されるまでの所要時間とを取得し、取得した許容時間と残り時間と所要時間とに基づいて、第２の通信フレームの送信を継続するか否かを判定する通信調停部（１０７）を備える。
2016132530.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信フレームを送信すると共に、前記第１の通信フレームを送信する優先度より低い優先度の第２の通信フレームを送信する通信装置において、
前記第２の通信フレームの送信中に前記第１の通信フレームの送信要求が発生した場合、送信先装置において前記第１の通信フレームの受信が開始されるまでにかかる時間の許容時間と、前記第２の通信フレームの送信が完了するまでの残り時間と、前記送信先装置において前記第１の通信フレームの受信が開始されるまでの所要時間とを取得し、取得した前記許容時間と前記残り時間と前記所要時間とに基づいて、前記第２の通信フレームの送信を継続するか否かを判定する通信調停部を備える通信装置。
【請求項２】
前記第１の通信フレームは、通信周期を表す通信時間以内に送信元装置から前記送信先装置に送信され、
前記通信調停部は、
前記送信元装置により前記第１の通信フレームの送信が開始された時点から現時点までの経過時間を、前記通信時間から減じた時間を前記許容時間として取得する請求項１に記載の通信装置。
【請求項３】
前記通信調停部は、
前記残り時間と前記所要時間とを加算した時間を加算時間として算出し、算出した前記加算時間と前記許容時間とを比較し、前記許容時間が前記加算時間以上の場合、前記第２の通信フレームの送信を継続し、前記第２の通信フレームの送信完了後に前記第１の通信フレームの送信を開始し、
前記許容時間が前記加算時間より短い場合、前記第２の通信フレームの送信を中断して前記第１の通信フレームの送信を開始し、前記第１の通信フレームの送信完了後に前記第２の通信フレームの送信を再び開始する請求項２に記載の通信装置。
【請求項４】
前記第１の通信フレームは、中継装置を経由して前記送信先装置に送信され、
前記通信装置は、
前記中継装置が前記第１の通信フレームの経由に要する経由時間を含む通信情報を記憶する通信情報記憶部を備え、
前記通信調停部は、
前記残り時間と前記所要時間と前記経由時間とを加算した時間を前記加算時間として算出する請求項３に記載の通信装置。
【請求項５】
前記通信情報は、さらに、前記所要時間を含む請求項４に記載の通信装置。
【請求項６】
第１の通信フレームを送信すると共に、前記第１の通信フレームを送信する優先度より低い優先度の第２の通信フレームを送信する通信装置の通信方法において、
通信調停部が、前記第２の通信フレームの送信中に前記第１の通信フレームの送信要求が発生したか否かを判定し、
通信調停部が、前記第２の通信フレームの送信中に前記第１の通信フレームの送信要求が発生したと判定された場合、送信先装置において前記第１の通信フレームの受信が開始されるまでにかかる時間の許容時間と、前記第２の通信フレームの送信が完了するまでの残り時間と、前記送信先装置において前記第１の通信フレームの受信が開始されるまでの所要時間とを取得し、取得した前記許容時間と前記残り時間と前記所要時間とに基づいて、前記第２の通信フレームの送信を継続するか否かを判定する通信方法。
【請求項７】
第１の通信フレームを送信すると共に、前記第１の通信フレームを送信する優先度より低い優先度の第２の通信フレームを送信する通信装置のプログラムにおいて、
前記第２の通信フレームの送信中に前記第１の通信フレームの送信要求が発生したか否かを判定する送信判定処理と、
前記送信判定処理により前記第２の通信フレームの送信中に前記第１の通信フレームの送信要求が発生したと判定された場合、送信先装置において前記第１の通信フレームの受信が開始されるまでにかかる時間の許容時間と、前記第２の通信フレームの送信が完了するまでの残り時間と、前記送信先装置において前記第１の通信フレームの受信が開始されるまでの所要時間とを取得し、取得した前記許容時間と前記残り時間と前記所要時間とに基づいて、前記第２の通信フレームの送信を継続するか否かを判定する優先度判定処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信方法及びプログラムに関する。特に、ネットワークに接続される機器が通信する際の優先度制御を行う通信装置、通信方法及びプログラムに関する。
【背景技術】
【０００２】
ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）システムでは、１台のマスタ装置と複数台のスレーブ装置で制御システムを構成するケースが多い。一般的に、マスタ装置と各スレーブ装置はＦＡ向けの制御ネットワークで通信が行われ、マスタ装置が各スレーブ装置に指令を与え、スレーブ装置は指令を実行して動作する。そして、スレーブ装置は、指令に対する応答結果などをマスタ装置に送る。
マスタ装置と各スレーブ装置の間で送受信される指令及び応答が一巡するまでの時間は、サイクルタイムと呼ばれる。
モーション制御などを活用して精度の高い制御を行う際は、予め通信を行う周期を設定しておく。このように予め設定される通信を行う周期は通信周期と呼ばれる。マスタ装置と各スレーブ装置は、この通信周期より短い時間でサイクルタイムが完了するように通信を行う。
具体的には、通信周期が２００ｕｓであるときは、マスタ装置から各スレーブへの指令、各スレーブからマスタへの応答、が２００ｕｓに１回行われる。このため、サイクルタイムは２００ｕｓ未満とならなければならない。【０００３】
ＦＡネットワークには、フィールド通信向けのフィールドネットワーク、モーション通信向けのモーションネットワークなどが存在する。モーション通信は、フィールド通信よりもきめ細かな制御を必要とし、より短い通信周期が設定されることが多い。
フィールド通信とモーション通信は、ネットワークを区別することもあるが、省配線を目的として１つのネットワークでフィールド通信とモーション通信とを行うケースがある。
通信周期は、フィールド通信よりもモーション通信の方が短いケースが多い。【０００４】
ＦＡネットワークでは、あるスレーブ装置が通信フレームを送出する際、この通信フレームの出力が、他のスレーブ装置から送られた通信フレームを中継するための出力と競合することがある。この競合を解消するためには、通信フレームには優先度を設定しておき、高優先度の通信フレームの送出を優先させることが考えられる。
フィールド通信を低優先度、モーション通信を高優先度に設定することにより、フィールド通信とモーション通信とが混在するネットワークにおいて、通信周期が短いモーション通信のサイクルタイムを短くすることができる。【０００５】
特許文献１は、スレーブ装置で優先度が異なる通信フレームが競合した場合の制御方法を開示している。
特許文献１に開示された方法では、障害通知用の通信フレームを高優先度の通信、他の通信フレームを低優先度の通信と置き換えることが可能である。特許文献１の方法では、障害通知の通信フレームの送信が発生した場合、他の通信フレームを送信している途中であっても、その送信を中断し、障害通知の通信フレームを先に送信する。そして、特許文献１の方法では、障害通知の通信フレームの送信が完了した後で他の通信フレームを最初から送信し直す。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１３／１１１２８５号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示されている方法は、障害通知を最優先で送信する方法としては適切な方法と考えられる。しかし、モーション通信とフィールド通信が混在するネットワークにおいて、優先度が高いモーション通信に特許文献１の方法を適用することは、適切とは言えない。
モーション通信においては、通信周期内で、各スレーブ装置がマスタ装置にモーション通信フレームを届けなければならない。しかし、スレーブ装置において、フィールド通信の通信フレームの送信中にモーション通信の通信フレームの送信要求が発生した場合、常にフィールド通信の通信フレームの送信を中断すると、フィールド通信の効率が落ちてしまう。このように、特許文献１の方法では、モーション通信とフィールド通信が混在するネットワークにおいて、モーション通信を優先させつつフィールド通信もなるべく早く実施したいという要求は満たせないという課題がある。【０００８】
本発明は、モーション通信を優先させつつ、フィールド通信もなるべく早く完了させることができる通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る通信装置は、第１の通信フレームを送信すると共に、前記第１の通信フレームを送信する優先度より低い優先度の第２の通信フレームを送信する通信装置において、
前記第２の通信フレームの送信中に前記第１の通信フレームの送信要求が発生した場合、送信先装置において前記第１の通信フレームの受信が開始されるまでにかかる時間の許容時間と、前記第２の通信フレームの送信が完了するまでの残り時間と、前記送信先装置において前記第１の通信フレームの受信が開始されるまでの所要時間とを取得し、取得した前記許容時間と前記残り時間と前記所要時間とに基づいて、前記第２の通信フレームの送信を継続するか否かを判定する通信調停部を備える。
【発明の効果】
【００１０】
本発明に係る通信装置によれば、第２の通信フレームの送信中に第１の通信フレームの送信要求が発生した場合、送信先装置において第１の通信フレームの受信が開始されるまでにかかる時間の許容時間と、第２の通信フレームの送信が完了するまでの残り時間と、送信先装置において第１の通信フレームの受信が開始されるまでの所要時間とを取得し、取得した許容時間と残り時間と所要時間とに基づいて、第２の通信フレームの送信を継続するか否かを判定する通信調停部を備えるので、優先度の高い通信フレームの送信を適切に優先させつつ、優先度の低い通信フレームについても必要以上に遅延させることがないように優先度を制御することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係るネットワークシステムの構成の一例を示す図。
【図２】実施の形態１に係る通信装置のブロック構成図。
【図３】実施の形態１に係る通信装置のハードウェア構成の一例を示す図。
【図４】実施の形態１に係る通信装置の通信方法、通信処理を示すフロー図。
【図５】実施の形態１に係る通信装置の優先度判定処理を示すフロー図。
【図６】実施の形態１に係る通信情報の構成の一例を示す図。
【図７】実施の形態２に係る通信情報の構成の一例を示す図。
【図８】実施の形態２に係る通信装置の優先度判定処理を示すフロー図。
【発明を実施するための形態】
【００１２】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係るネットワークシステム５００の構成の一例を示す図である。
図１に示すように、ネットワークシステム５００は、ライン型ネットワークであり、マスタ装置２００と、複数のスレーブ装置ＳＲ０１，ＳＲ０２，ＳＲ０３，ＳＲ０４とを備える。各スレーブ装置は、本実施の形態に係る通信装置１００である。
すなわち、通信装置１００は、ネットワークシステム５００に接続され、マスタ装置２００と通信を行うスレーブ装置である。なお、ネットワークは、ライン型ネットワークでなくてもよく、リング型、スター型、バス型等、他の形状のネットワークであっても本実施の形態を適用することができる。
【００１３】
本実施の形態では、省配線を目的として１つのネットワークでフィールド通信とモーション通信とを行うＦＡネットワークを想定している。
フィールド通信では、フィールド通信フレームが送受信される。フィールド通信フレームは、第２の通信フレーム１０１２の例である。
モーション通信では、フィールド通信フレームを送信する優先度より高い優先度のモーション通信フレームが送受信される。モーション通信フレームは、第１の通信フレーム１０１１の例である。
以下の説明では、モーション通信フレームを第１の通信フレーム１０１１とし、フィールド通信フレームを第２の通信フレーム１０１２として説明する。
【００１４】
図２は、本実施の形態に係る通信装置１００のブロック構成図である。
通信装置１００は、第１の通信フレーム１０１１を送信すると共に、第１の通信フレーム１０１１を送信する優先度より低い優先度の第２の通信フレーム１０１２を送信する。
通信装置１００は、通信部１０２、通信フレーム生成部１０６、通信調停部１０７、バッファ１０８、通信情報記憶部１０９、タイマ部１１０、ネットワークポート１０２２、ネットワークポート１０４２を備える。通信部１０２は、ネットワークインタフェース部１０２１、ネットワークインタフェース部１０４１を備える。
【００１５】
ネットワークインタフェース部１０２１は、ネットワークポート１０２２及びマスタ装置側ネットワークケーブルを介してマスタ装置側ネットワークと通信フレームを送受する。
ネットワークインタフェース部１０４１は、ネットワークポート１０４２及び非マスタ装置側ネットワークケーブルを介して非マスタ装置側ネットワークと通信フレームを送受する。
通信装置１００は、一方のネットワークポートから受信した通信フレームを他方のネットワークポートに中継する。
また、通信装置１００は、通信フレーム生成部１０６で生成した通信フレームをネットワークポート１０２２もしくはネットワークポート１０４２から送信する。
【００１６】
通信フレーム生成部１０６は、通信フレームを生成する。通信フレームには、モーション通信により送受される高優先度の第１の通信フレーム１０１１と、フィールド通信により送受される低優先度の第２の通信フレーム１０１２とがある。
通信装置１００がモーション通信を行うためのスレーブ装置であれば、自局の通信フレーム生成部１０６で生成するのはモーション通信フレーム、すなわち第１の通信フレーム１０１１となる。また、通信装置１００がフィールド通信を行うためのスレーブ装置であれば、自局の通信フレーム生成部１０６で生成するのはフィールド通信フレーム、すなわち第２の通信フレーム１０１２となる。
【００１７】
以下の説明において、通信フレーム生成部１０６で生成された通信フレームを自局生成通信フレームとし、一方のネットワークポートから受信して他方のネットワークポートに中継する通信フレームを中継通信フレームとする。
通信調停部１０７は、自局生成通信フレームと、中継通信フレームとの調停を行う。
自局生成通信フレームと中継通信フレームとは、それぞれ、第１の通信フレーム１０１１の場合もあれば、第２の通信フレーム１０１２の場合もある。
【００１８】
通信情報記憶部１０９は、通信情報１０９１を記憶する。通信情報１０９１には、ネットワークシステム５００の構成情報が設定される。通信情報１０９１はネットワーク構成情報とも称される。また、通信情報記憶部１０９は、ネットワーク構成情報を管理するネットワーク構成情報管理部とも称される。
通信情報１０９１には、通信装置１００から送信が開始された通信フレームが、ネットワークシステム５００に接続される他の装置の各々において受信が開始されるまでの所要時間が予め設定されている。通信情報１０９１の詳細については後述する。
【００１９】
通信調停部１０７は、第２の通信フレーム１０１２の送信中に第１の通信フレーム１０１１の送信要求が発生したか否かを判定する。通信調停部１０７は、第２の通信フレーム１０１２の送信中に第１の通信フレーム１０１１の送信要求が発生した場合、許容時間ＲＴと、残り時間ＳＴと、所要時間ＮＴとを取得する。
【００２０】
許容時間ＲＴは、送信先装置において第１の通信フレーム１０１１の受信が開始されるまでにかかる時間の許容時間である。送信先装置は、マスタ装置２００、あるいは自装置である通信装置１００以外の他の通信装置１００である。
上述したように、モーション通信フレーム、すなわち第１の通信フレーム１０１１は、通信周期を表すｋＴ１以内に送信元装置から送信先装置に送信される必要がある。
よって、通信調停部１０７は、送信元装置により第１の通信フレーム１０１１の送信が開始された時点から現時点までの経過時間Ｔ２を、通信時間Ｔ１から減じた時間を許容時間ＲＴとして算出する。
【００２１】
残り時間ＳＴは、送信中の第２の通信フレーム１０１２の送信が完了するまでの残り時間である。
所要時間ＮＴは、送信先装置において第１の通信フレーム１０１１の受信が開始されるまでの所要時間である。
通信調停部１０７は、取得した許容時間ＲＴと残り時間ＳＴと所要時間ＮＴとに基づいて、第２の通信フレーム１０１２の送信を継続するか否かを判定する。
【００２２】
通信調停部１０７は、自局生成通信フレームをネットワークインタフェース部１０２１とネットワークポート１０２２とを経由してマスタ装置側のネットワークへ送信中に、中継通信フレームをマスタ装置側のネットワークへ送信する送信要求が発生する場合がある。この中継通信フレームは、ネットワークポート１０４２からネットワークインタフェース部１０４１を経由して受信され、ネットワークインタフェース部１０２１とネットワークポート１０２２を経由してマスタ装置側のネットワークへ送信される通信フレームである。この場合、通信調停部１０７は、自局生成通信フレームと中継通信フレームとのどちらの通信フレームの送信を優先するかを判定する。
【００２３】
通信調停部１０７は、現在送信中の通信フレームがモーション通信フレーム、すなわち第１の通信フレーム１０１１である時は、その第１の通信フレーム１０１１の送信を完了してから、後から送信要求があった通信フレームの送信を行う。
バッファ１０８は、上記のケースのように、送信要求があったときに直ちに送信できない通信フレームを格納する。
【００２４】
また、通信調停部１０７は、現在送信中の通信フレームがフィールド通信フレーム、すなわち第２の通信フレーム１０１２であり、後から送信要求があった通信フレームがモーション通信フレーム、すなわち第１の通信フレーム１０１１である時は、どちらの通信フレームの送信を優先するかを判定する。
通信調停部１０７は、残り時間ＳＴと所要時間ＮＴとを加算した時間を加算時間ＡＴとして算出し、算出した加算時間ＡＴと許容時間ＲＴとを比較する。通信調停部１０７は、許容時間ＲＴが加算時間ＡＴ以上の場合、第２の通信フレーム１０１２の送信を継続する。そして、通信調停部１０７は、第２の通信フレーム１０１２の送信完了後に第１の通信フレーム１０１１の送信を開始する。
また、通信調停部１０７は、許容時間ＲＴが加算時間ＡＴより短い場合、第２の通信フレーム１０１２の送信を中断する。そして、通信調停部１０７は、第１の通信フレーム１０１１の送信を開始し、第１の通信フレーム１０１１の送信完了後に第２の通信フレーム１０１２の送信を再び開始する。
【００２５】
通信調停部１０７は、上記の判定処理を、通信調停部１０７からネットワークインタフェース部１０２１へ送信する経路、通信調停部１０７からネットワークインタフェース部１０４１へ送信する経路のそれぞれにおいて独立して実行する。
【００２６】
図３を用いて、本実施の形態に係る通信装置１００のハードウェア構成の一例について説明する。
【００２７】
通信装置１００はコンピュータである。
通信装置１００は、プロセッサ９０１、補助記憶装置９０２、メモリ９０３、通信装置９０４、入力インタフェース９０５、ディスプレイインタフェース９０６といったハードウェアを備える。
プロセッサ９０１は、信号線９１０を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース９０５は、入力装置９０７に接続されている。
ディスプレイインタフェース９０６は、ディスプレイ９０８に接続されている。
【００２８】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ９０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
補助記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。
メモリ９０３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、データを受信するレシーバー９０４１及びデータを送信するトランスミッター９０４２を含む。
通信装置９０４は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入力インタフェース９０５は、入力装置９０７のケーブル９１１が接続されるポートである。
入力インタフェース９０５は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。
ディスプレイインタフェース９０６は、ディスプレイ９０８のケーブル９１２が接続されるポートである。
ディスプレイインタフェース９０６は、例えば、ＵＳＢ端子又はＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。
入力装置９０７は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ９０８は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【００２９】
補助記憶装置９０２には、図２に示す通信部１０２、通信フレーム生成部１０６、通信調停部１０７の機能を実現するプログラムが記憶されている。以下、通信部１０２、通信フレーム生成部１０６、通信調停部１０７をまとめて「部」と表記する。
【００３０】
上述した「部」の機能を実現するプログラムは、通信処理プログラムとも称される。「部」の機能を実現するプログラムは、１つのプログラムであってもよいし、複数のプログラムから構成されていてもよい。
このプログラムは、メモリ９０３にロードされ、プロセッサ９０１に読み込まれ、プロセッサ９０１によって実行される。
更に、補助記憶装置９０２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がメモリ９０３にロードされ、プロセッサ９０１はＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
図３では、１つのプロセッサ９０１が図示されているが、通信装置１００が複数のプロセッサ９０１を備えていてもよい。
そして、複数のプロセッサ９０１が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ９０３、補助記憶装置９０２、又は、プロセッサ９０１内のレジスタ又はキャッシュメモリにファイルとして記憶される。
【００３１】
「部」を「サーキットリー」で提供してもよい。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。また、「処理」を「回路」又は「工程」又は「手順」又は「部」に読み替えてもよい。
「回路」及び「サーキットリー」は、プロセッサ９０１だけでなく、ロジックＩＣ又はＧＡ（Ｇａｔｅ  Ａｒｒａｙ）又はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）又はＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった他の種類の処理回路をも包含する概念である。
【００３２】
なお、プログラムプロダクトと称されるものは、「部」として説明している機能を実現するプログラムが記録された記憶媒体、記憶装置などであり、見た目の形式に関わらず、コンピュータ読み取り可能なプログラムをロードしているものである。
【００３３】
＊＊＊動作の説明＊＊＊
図４を用いて、本実施の形態に係る通信装置１００の通信方法、通信処理Ｓ１００について説明する。
通信装置１００は、第１の通信フレーム１０１１を送信すると共に、第１の通信フレーム１０１１を送信する優先度より低い優先度の第２の通信フレーム１０１２を送信する。
【００３４】
＜送信判定処理Ｓ１１０＞
通信調停部１０７は、第２の通信フレーム１０１２の送信中に第１の通信フレーム１０１１の送信要求が発生したか否かを判定する送信判定処理Ｓ１１０を実行する。
Ｓ２０１において、通信調停部１０７は、通信調停部１０７に対して送信要求があるか否かを判定する。
Ｓ２０１において送信要求があると判定した場合は、Ｓ２０２に進む。
Ｓ２０１において送信要求がないと判定した場合は、送信要求があると判定されるまで、Ｓ２０１の処理を繰り返す。
【００３５】
Ｓ２０２において、通信調停部１０７は、現在通信フレームを送信中であるか否かを判定する。
Ｓ２０２において送信中の通信フレームがあると判定した場合は、Ｓ２０３に進む。
Ｓ２０２において送信中の通信フレームがないと判定した場合は、Ｓ２０４に進む。
【００３６】
Ｓ２０３において、通信調停部１０７は、送信中の通信フレームが第２の通信フレーム１０１２であり、かつ、送信要求された通信フレームが第１の通信フレーム１０１１であるか否かを判定する。すなわち、通信調停部１０７は、フィールド通信フレームを送信中にモーション通信フレームの送信要求が発生したものであるか否かを確認する。
Ｓ２０３において第２の通信フレーム１０１２の送信中に第１の通信フレーム１０１１の送信要求が発生したと判定した場合は、Ｓ２０５に進む。
Ｓ２０３において第２の通信フレーム１０１２の送信中に第１の通信フレーム１０１１の送信要求が発生したものではないと判定した場合は、Ｓ２０７に進む。
【００３７】
＜優先度判定処理Ｓ１２０＞
通信調停部１０７は、送信判定処理Ｓ１１０により第２の通信フレーム１０１２の送信中に第１の通信フレーム１０１１の送信要求が発生したと判定された場合、優先度判定処理Ｓ１２０を実行する。通信調停部１０７は、送信先装置において第１の通信フレーム１０１１の受信が開始されるまでにかかる時間の許容時間ＲＴと、第２の通信フレーム１０１２の送信が完了するまでの残り時間ＳＴと、送信先装置において第１の通信フレーム１０１１の受信が開始されるまでの所要時間ＮＴとを取得する。通信調停部１０７は、取得した許容時間ＲＴと残り時間ＳＴと所要時間ＮＴとに基づいて、第２の通信フレーム１０１２の送信を継続するか否かを判定する優先度判定処理Ｓ１２０を実行する。
【００３８】
Ｓ２０５において、通信調停部１０７は、モーション通信を待機させることができる時間が、現在送信中のフィールド通信の完了まで待つ時間よりも短いかどうかを確認する。
優先度判定処理Ｓ１２０の詳細については後述する。
【００３９】
Ｓ２０５において、モーション通信を待機させることができる時間が現在送信中のフィールド通信の完了まで待つ時間よりも短いと判定した場合、Ｓ２０６に進む。
Ｓ２０５において、モーション通信を待機させることができる時間が現在送信中のフィールド通信の完了まで待つ時間よりも短くないと判定した場合、Ｓ２０７に進む。
【００４０】
＜送信実行処理Ｓ１３０＞
Ｓ２０４において、通信調停部１０７は、送信要求された通信フレームの送信を実行する。すなわち、Ｓ２０４では、通信調停部１０７は、送信要求があり、かつ送信中の通信フレームが無い場合は、送信要求された通信フレームの送信を実行する。
【００４１】
Ｓ２０６において、通信調停部１０７は、送信実行中の通信フレームの送信を中断して、後から送信要求があった通信フレームの送信を実行する。
通信調停部１０７は、第１の通信フレーム１０１１の送信要求が、第２の通信フレーム１０１２の送信中に発生した場合、第２の通信フレーム１０１２の送信完了まで第１の通信フレーム１０１１を待機させることができるか否かを判定する。
そして、第１の通信フレーム１０１１を待機させることができないと判定した場合は、Ｓ２０６で通信調停部１０７は送信中の第２の通信フレーム１０１２の送信を中断し、第１の通信フレーム１０１１の送信を実行する。
【００４２】
Ｓ２０７で、通信調停部１０７は、送信実行中の通信フレームが送信完了するまで待機し、送信実行中の通信フレームの送信が完了後、Ｓ２０１に戻る。
【００４３】
以上で、本実施の形態の係る通信装置１００の通信処理Ｓ１００についての説明を終わる。
【００４４】
図５を用いて、本実施の形態に係る通信装置１００の優先度判定処理Ｓ１２０について説明する。
通信調停部１０７は、通信情報記憶部１０９から通信調停部１０７に入力される通信情報１０９１と、タイマ部１１０から通信調停部１０７に入力されるタイマ情報１１０１とを用いて、優先度判定処理Ｓ１２０を実行する。
【００４５】
図６を用いて、通信情報１０９１の構成の一例について説明する。
通信情報１０９１は、ネットワークを介してマスタ装置２００と接続されているスレーブ装置である通信装置１００が、マスタ装置２００との間に何局のスレーブ装置を介しているかを示す情報である。
図６は、図１に示すスレーブ装置ＳＲ０２が通信装置１００である場合の通信情報１０９１の一例を示している。
【００４６】
通信情報１０９１には、ネットワークシステム５００に接続されている各装置を一意に示す装置ＩＤと、各装置の接続順と、各装置の種別と、通信フレームが各装置に受信されるまでの所要時間とが設定される。
装置ＩＤには、マスタ装置２００を示すＭＳＲ０１、各スレーブ装置を示すＳＲ０１，ＳＲ０２，ＳＲ０３，ＳＲ０４が設定される。
接続順には、各装置がマスタ装置から何番目に接続されているかが設定される。
種別には、各装置がマスタであるか、スレーブであるか、自装置であるかが設定される。
【００４７】
所要時間には、通信フレームが自装置から各装置に届くまでの中継時間が設定される。これは、通信装置１００が通信フレームの先頭の１ビットの送信を開始してから、通信フレームの先頭の１ビットが各装置に届くまでの時間である。
装置起動後などの装置初期化のフェーズにおいて、マスタ装置２００が各スレーブ装置までのネットワーク中継時間を測定し、測定結果を各スレーブ装置に送信する。各スレーブ装置は、マスタ装置２００から送信された測定結果をもとに通信情報１０９１に所要時間を設定する。このような方法により所要時間が通信情報１０９１に設定される。また、このような方法に限らず、他の方法によって通信情報１０９１を設定しても構わない。
【００４８】
Ｓ１２０１において、通信調停部１０７は、送信先装置において第１の通信フレーム１０１１の先頭の１ビットの受信が開始されるまでの所要時間ＮＴを算出する。ここでは、通信調停部１０７は、通信情報１０９１を参照し、通信フレームの先頭の１ビットが送信先装置であるマスタ装置２００に届くまでの所要時間ＮＴを取得する。
図６を用いて具体的に説明する。通信調停部１０７は、通信情報１０９１を用いて、自装置から送信先装置であるマスタ装置２００までの所要時間２０μｓを取得する。
【００４９】
Ｓ１２０２において、通信調停部１０７は、送信先装置であるマスタ装置２００において第１の通信フレーム１０１１の受信が開始されるまでにかかる時間の許容時間ＲＴを算出する。上述したように、モーション通信フレーム、すなわち第１の通信フレーム１０１１は、通信周期を表す通信時間Ｔ１以内に送信元装置から送信先装置に送信される必要がある。よって、通信調停部１０７は、送信元装置により第１の通信フレーム１０１１の送信が開始された時点から現時点までの経過時間Ｔ２を通信時間Ｔ１から減じた時間を許容時間ＲＴとして算出する。
【００５０】
第１の通信フレーム１０１１には、通信周期が開始された通信開始時刻が設定されている。通信調停部１０７は、第１の通信フレーム１０１１からこの通信開始時刻を取得する。また、通信調停部１０７は、タイマ部１１０から現在時刻をタイマ情報１１０１として取得する。通信調停部１０７は、取得した通信開始時刻と現在時刻とを用いて、モーション通信周期が開始してからの経過時間Ｔ２を算出する。そして、通信調停部１０７は、通信周期を表す通信時間Ｔ１から経過時間Ｔ２を減じた時間を、通信周期の残りの時間として許容される許容時間ＲＴとして算出する。
なお、通信調停部１０７は通信開始時刻をタイマ部１１０に出力するものとし、タイマ部１１０が許容時間ＲＴを算出するものとしてもよい。
【００５１】
Ｓ１２０３において、通信調停部１０７は、送信中の第２の通信フレーム１０１２の送信が完了するまでの残り時間ＳＴを算出する。通信調停部１０７は、現在送信中の第２の通信フレーム１０１２において、送るべき残りのデータサイズを元に送信完了までの残り時間ＳＴを算出する。
【００５２】
なお、Ｓ１２０１，Ｓ１２０２，Ｓ１２０３の処理の順番は、上記の通りでなくともよい。所要時間ＮＴ、許容時間ＲＴ、残り時間ＳＴを求めることができれば、これらを求める順番はどのような順番でも構わない。
【００５３】
Ｓ１２０４において、通信調停部１０７は、残り時間ＳＴと所要時間ＮＴとを加算した加算時間と許容時間ＲＴとを比較する。
通信調停部１０７は、ＲＴ＜ＮＴ＋ＳＴであるときは、モーション通信を待機させることができる時間が現在送信中のフィールド通信の完了まで待つ時間よりも短いと判定し、Ｓ２０６に進む。これは、モーション通信を待たせると、現在のモーション通信の通信周期の完了までに、モーション通信フレームである第１の通信フレーム１０１１をマスタ装置２００に届けることができないことになるためである。
【００５４】
通信調停部１０７は、ＲＴ＜ＮＴ＋ＳＴでないとき、すなわちＲＴ≧ＮＴ＋ＳＴであるときは、モーション通信を待機させることができる時間が現在送信中のフィールド通信の完了まで待つ時間以上であると判定し、Ｓ２０７に進む。これは、モーション通信を待たせても、現在のモーション通信周期の完了までに、モーション通信フレームをマスタ装置２００に届けることができるためである。
【００５５】
以上で、本実施の形態に係る優先度判定処理Ｓ１２０についての説明を終わる。
【００５６】
＊＊＊効果の説明＊＊＊
本実施の形態に係る通信装置によれば、優先度が異なる通信フレームが混在するネットワークにおいて、優先度の低い通信フレームを送信している最中に、優先度が高い通信の送信要求が発生したとき、適切な優先度制御処理を実行することができる。通信装置は、送信先への到着完了までの許容時間を考慮し、優先度の低い通信フレームの送信を完了してから高優先度の通信フレームの送信を行うか、優先度の低い通信フレームの送信をキャンセルし、高優先度の通信フレームの送信を行い、その後で優先度の低い通信フレームの送信を再実行するかの判定機能を有する。
したがって、本実施の形態に係る通信装置によれば、優先度の高い通信フレームの送信を適切に優先させつつ、優先度の低い通信フレームについても必要以上に遅延させることがないように優先度を制御することができる。すなわち、モーション通信のリアルタイム性を確保しつつ、フィールド通信の完了時間の遅延を抑制することができる。
【００５７】
実施の形態２．
本実施の形態では、主に、実施の形態１との差異点について説明する。
本実施の形態において、実施の形態１で説明した構成部と同様の機能を有する構成部については同一の符号を付し、その説明を省略する場合がある。
【００５８】
＊＊＊構成の説明＊＊＊
図１に示すように、例えば、通信装置１００がマスタ装置２００から２番目のスレーブ装置ＳＲ０２である場合、通信フレームをマスタ装置２００に届けるためには、通信フレームはスレーブ装置ＳＲ０１を経由する必要がある。このスレーブ装置ＳＲ０１のように、通信フレームを中継する装置を中継装置３００とも称する。
【００５９】
本実施の形態に係る通信装置１００ａの構成は、実施の形態１で説明した図２の通信装置１００の構成と同様である。
本実施の形態では、第１の通信フレーム１０１１は、中継装置３００を経由して送信先装置であるマスタ装置２００に送信されるものとする。
通信装置１００は、中継装置３００が第１の通信フレーム１０１１の経由に要する経由時間Ｔ３を含む通信情報１０９１ａを記憶する通信情報記憶部１０９ａを備える。
通信調停部１０７ａは、残り時間ＳＴと所要時間ＮＴと経由時間Ｔ３とを加算した時間を加算時間ＡＴとして算出し、優先度判定処理Ｓ１２０ａを実行する。
【００６０】
図７を用いて、本実施の形態に係る通信情報１０９１ａの構成の一例について説明する。図７は、実施の形態１で説明した図６に対応する図である。
図６と異なる点は、各装置に対応して経由時間が設定されている点である。
経由時間は、各装置が通信フレームを中継するのに要する遅延時間とも称される。
【００６１】
なお、通信調停部１０７ａは、通信情報１０９１ａを参照することにより、通信装置１００とマスタ装置２００との間に何台のスレーブ装置もしくはネットワークスイッチを介するかを知ることができる。また、通信調停部１０７ａは、通信情報１０９１ａを参照することにより、通信フレームを中継する装置やスイッチが通信フレームを中継するのに要する経由時間を知ることができる。通信情報１０９１ａには、装置やスイッチ間を接続しているネットワークケーブル長、ネットワーク中継時間に影響を与えるその他の情報を設定してもよい。
【００６２】
＊＊＊動作の説明＊＊＊
図８を用いて、本実施の形態に係る通信装置１００ａの優先度判定処理Ｓ１２０ａについて説明する。
【００６３】
Ｓ１２０１，Ｓ１２０２，Ｓ１２０３の処理は、実施の形態１と同様である。
Ｓ１２０３ａにおいて、通信調停部１０７ａは、第１の通信フレーム１０１１がマスタ装置２００に到達するまでに経由する中継装置３００の経由時間Ｔ３を取得する。
図７を用いて具体的に説明する。通信調停部１０７ａは、通信情報１０９１ａを用いて、自装置からマスタ装置２００までに通信フレームが経由する中継装置３００であるスレーブ装置ＳＲ０１の経由時間５μｓを取得する。
【００６４】
Ｓ１２０４ａにおいて、通信調停部１０７ａは、残り時間ＳＴと所要時間ＮＴと経由時間Ｔ３とを加算した加算時間と、許容時間ＲＴとを比較する。
通信調停部１０７ａは、ＲＴ＜ＮＴ＋ＳＴ＋Ｔ３であるときは、モーション通信を待機させることができる時間が現在送信中のフィールド通信の完了まで待つ時間よりも短いと判定し、Ｓ２０６に進む。
通信調停部１０７は、ＲＴ＜ＮＴ＋ＳＴ＋Ｔ３でないとき、すなわちＲＴ≧ＮＴ＋ＳＴ＋Ｔ３であるときは、モーション通信を待機させることができる時間が現在送信中のフィールド通信の完了まで待つ時間以上であると判定し、Ｓ２０７に進む。
【００６５】
以上で、本実施の形態に係る優先度判定処理Ｓ１２０ａについての説明を終わる。
【００６６】
なお、スレーブ装置からマスタ装置へのモーション通信は、どのスレーブ装置から順番に送信するかが、モーションネットワークの通信プロトコルによって決まっているケースが多い。この場合、スレーブ装置からマスタ装置宛てのモーション通信フレームは、どれだけ待機させることが可能であるかは、マスタ装置に送る順番によって異なる。
例えば、通信周期が始まって、早いタイミングでマスタに届けるべきモーション通信フレームがある場合について説明する。このモーション通信フレームを送信したスレーブ装置と、マスタ装置の間に位置する別のスレーブ装置とが、通信周期の完了時刻まで余裕があると判定し、フィールド通信完了後にこのモーション通信フレームを送信することがある。このような場合には、このモーション通信フレームよりも、遅い時間に送信されたマスタ装置宛てのモーション通信フレームが、通信周期終了時刻までに間に合わなくなってしまうことが考えられる。
このため、モーション通信を待機できる時間は、送信要求があったモーション通信フレームの送信元によって、都度異なることとなる。
このようなケースを考慮して、優先度の判定を行うために、通信情報１０９１ａには、スレーブ装置の順番を考慮した経由時間を設定しておくことが好適である。
【００６７】
＊＊＊効果の説明＊＊＊
本実施の形態に係る通信装置によれば、優先度の低い通信フレームの送信をキャンセル要否の判定において、予め設定されていたネットワークの構成情報における、自装置と送信先装置との間の通信に伴う遅延時間を計算して判定に使用することができる。
さらに、優先度の低い通信フレームの送信をキャンセル要否の判定において、送信要求があった通信フレームの送信元情報を元に、通信フレームごとに異なる予め設定されていたネットワークの構成情報における自局装置と送信先装置の間の通信に伴う遅延時間を計算して判定に使用することができる。
したがって、本実施の形態に係る通信装置によれば、より精度の高い優先度制御を行うことができる。
【００６８】
上記の実施の形態では、ネットワークインタフェース部１０２１、ネットワークインタフェース部１０４１、通信フレーム生成部１０６、通信調停部１０７、タイマ部１１０がそれぞれ独立した機能ブロックとして通信装置１００，１００ａを構成している。しかし、通信装置は上記のような構成でなくてもよく、通信装置の構成は任意である。通信装置の機能ブロックは、上記の実施の形態で説明した機能を実現することができれば、任意である。これらの機能ブロックを、他のどのような組み合わせ、あるいは任意のブロック構成で通信装置を構成しても構わない。
また、通信装置は、１つの装置でなく、複数の装置から構成された通信システムでもよい。
【００６９】
また、実施の形態１，２について説明したが、これらの２つの実施の形態のうち、複数を部分的に組み合わせて実施しても構わない。あるいは、これらの２つの実施の形態のうち、１つの実施の形態を部分的に実施しても構わない。その他、これらの２つの実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
なお、上記の実施の形態は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００７０】
１００，１００ａ  通信装置、１０２  通信部、１０６  通信フレーム生成部、１０７，１０７ａ  通信調停部、１０８  バッファ、１０９，１０９ａ  通信情報記憶部、１１０  タイマ部、２００  マスタ装置、３００  中継装置、５００  ネットワークシステム、９０１  プロセッサ、９０２  補助記憶装置、９０３  メモリ、９０４  通信装置、９０５  入力インタフェース、９０６  ディスプレイインタフェース、９０７  入力装置、９０８  ディスプレイ、９１０  信号線、９１１，９１２  ケーブル、１０１１  第１の通信フレーム、１０１２  第２の通信フレーム、１０２１  ネットワークインタフェース部、１０４１  ネットワークインタフェース部、１０２２  ネットワークポート、１０４２  ネットワークポート、１０９１，１０９１ａ  通信情報、１１０１  タイマ情報、９０４１  レシーバー、９０４２  トランスミッター、ＡＴ  加算時間、ＮＴ  所要時間、ＲＴ  許容時間、ＳＴ  残り時間、Ｔ１  通信時間、Ｔ２  経過時間、Ｔ３  経由時間、ＳＲ０１，ＳＲ０２，ＳＲ０３，ＳＲ０４  スレーブ装置、Ｓ１００  通信処理、Ｓ１１０  送信判定処理、Ｓ１２０，Ｓ１２０ａ  優先度判定処理、Ｓ１３０  送信実行処理。
【図１】
2016132530.tif 000003
【図２】
2016132530.tif 000004
【図３】
2016132530.tif 000005
【図４】
2016132530.tif 000006
【図５】
2016132530.tif 000007
【図６】
2016132530.tif 000008
【図７】
2016132530.tif 000009
【図８】
2016132530.tif 000010
【国際調査報告】
2016132530.tif 000011
2016132530.tif 000012
2016132530.tif 000013
2016132530.tif 000014