(57)【要約】  通信システム（１）は、マスタスレーブ方式で同期通信を行う。スレーブとして機能する通信装置（２０１）と通信装置（２０２）とはそれぞれ異なる通信周期でマスタとして機能する通信装置（１００）と通信するように設定されている。通信装置（２０１、２０２）の同期判別部（２４０）は、計時部（２１０）が計時する時刻が、設定された時刻から自機に設定された通信周期の時間が経過したことを示すか否かに応じて、通信装置（１００）にデータを送信する送信タイミングであるか否かを判別する。通信部（２５０）は、同期判別部（２４０）が送信タイミングであると判別すると通信装置（１００）にデータを送信する。通信装置（１００）の計時部（１１０）は、基準時刻を計時する。時刻同期部（１２０）は、基準時刻を通信装置（２０１、２０１）に通知して、計時部（２１０）と計時部（１１０）とを時刻同期させる。
2020095413.tif 000002
【特許請求の範囲】
【請求項１】
スレーブとして機能する第１通信装置及び第２通信装置と、マスタとして機能する第３通信装置とを含み、マスタスレーブ方式で同期通信を行う通信システムであって、
前記第１通信装置と前記第２通信装置とはそれぞれ異なる通信周期でマスタと通信するように設定されており、
前記スレーブは、
時刻を計時する第１計時手段と、
前記第１計時手段が計時する時刻が、設定された時刻から自機に設定された前記通信周期の時間が経過したことを示すか否かに応じて、前記マスタにデータを送信する送信タイミングであるか否かを判別する同期判別手段と、
前記同期判別手段が前記送信タイミングであると判別すると、前記マスタにデータを送信する通信手段と、
を備え、
前記マスタは、
基準時刻を計時する第２計時手段と、
前記基準時刻を前記スレーブに通知して、前記スレーブの前記第１計時手段と前記第２計時手段とを時刻同期させる時刻同期手段と、
を備える、
通信システム。
【請求項２】
前記第１通信装置の前記通信周期として第１周期が設定されており、前記第２通信装置の前記通信周期として第２周期が設定されており、
前記第１通信装置の前記同期判別手段は、前記第１通信装置の前記第１計時手段が計時する時刻が、前記第１通信装置が前記マスタに前回データを送信したときから前記第１周期の時間が経過したことを示す場合に、前記送信タイミングであると判別し、
前記第２通信装置の前記同期判別手段は、前記第２通信装置の前記第１計時手段が計時する時刻が、前記第２通信装置が前記マスタに前回データを送信したときから前記第２周期の時間が経過したことを示す場合に、前記送信タイミングであると判別する、
請求項１に記載の通信システム。
【請求項３】
前記第１周期は、予め設定された基準周期をＭ倍（Ｍは自然数）した周期であり、
前記第２周期は、前記基準周期をＮ倍（Ｎは自然数）した周期である、
請求項２項に記載の通信システム。
【請求項４】
前記Ｍの値は、前記第１通信装置の処理能力が、前記第２通信装置の処理能力に対して高い場合、前記Ｎの値より小さく設定され、
前記Ｍの値は、前記第１通信装置の処理能力が、前記第２通信装置の処理能力に対して低い場合、前記Ｎの値より大きく設定される、
請求項３に記載の通信システム。
【請求項５】
前記スレーブは、
前記マスタの前記時刻同期手段と協働して、前記マスタと前記スレーブとの間の伝搬遅延時間を求め、求めた前記伝搬遅延時間に応じて、前記第１計時手段の時刻を補正する時刻補正手段、
をさらに有する、
請求項１から４のいずれか１項に記載の通信システム。
【請求項６】
前記時刻補正手段は、前記マスタの前記時刻同期手段と協働して、前記マスタの前記第２計時手段の時刻と前記スレーブの前記第１計時手段の時刻とのオフセットを求め、求めたオフセットに応じて、前記第１計時手段の時刻を補正する、
請求項５に記載の通信システム。
【請求項７】
前記スレーブの前記時刻補正手段は、
前記マスタの前記時刻同期手段から時刻同期のための第１メッセージを受信すると、前記マスタの前記時刻同期手段に時刻同期のための第２メッセージを送信し、
（ｉ）前記スレーブが前記マスタから前記第１メッセージを受信した第１時刻と、前記マスタが前記第１メッセージを前記スレーブに送信した第２時刻と、の差と、（ｉｉ）前記スレーブが前記第２メッセージを前記マスタに送信した第３時刻と、前記マスタが前記スレーブから前記第２メッセージを受信した第４時刻と、の差と、から前記伝搬遅延時間を求める、
請求項５に記載の通信システム。
【請求項８】
前記スレーブの前記時刻補正手段は、
前記マスタの前記時刻同期手段から時刻同期のための第１メッセージを受信すると、前記マスタの前記時刻同期手段に時刻同期のための第２メッセージを送信し、
（ｉ）前記スレーブが前記マスタから前記第１メッセージを受信した第１時刻と、前記マスタが前記第１メッセージを前記スレーブに送信した第２時刻と、の差と、（ｉｉ）前記スレーブが前記第２メッセージを前記マスタに送信した第３時刻と、前記マスタが前記スレーブから前記第２メッセージを受信した第４時刻と、の差と、から前記オフセットを求める、
請求項６に記載の通信システム。
【請求項９】
前記スレーブの前記時刻補正手段は、前記第１時刻及び前記第３時刻を前記第１計時手段から取得し、
前記マスタの前記時刻同期手段は、前記第２計時手段から取得した前記第２時刻及び前記第４時刻を前記スレーブの前記時刻補正手段に送信する、
請求項７又は８に記載の通信システム。
【請求項１０】
マスタスレーブ方式の通信システムにおいて、スレーブとして機能する第１通信装置及び第２通信装置に対して、マスタとして機能する通信装置であって、
基準時刻を計時する基準時刻計時手段と、
設定された基準周期をＭ倍（Ｍは自然数）した第１周期で通信する前記第１通信装置と、前記基準周期をＮ倍（Ｎは自然数；Ｍ≠Ｎ）した第２周期で通信する前記第２通信装置とに、前記基準時刻を通知して、前記第１通信装置及び前記第２通信装置がそれぞれ備える計時手段と、前記基準時刻計時手段とを時刻同期させる時刻同期手段と、
を備える通信装置。
【請求項１１】
マスタスレーブ方式でマスタとグループ分けされた複数のスレーブとが通信し、前記グループ毎に通信周期が異なるように設定されている通信システムにおいて、前記スレーブとして機能する通信装置であって、
前記マスタから通知された基準時刻に合わせて自機が備える計時手段の時刻を補正し、
前記計時手段の時刻が、設定された時刻から自機が属するグループに設定された前記通信周期の時間が経過したことを示すか否かに応じて、前記マスタにデータを送信する送信タイミングであるか否かを判別する同期判別手段と、
前記送信タイミングで前記マスタにデータを送信する通信手段と、
を備える通信装置。
【請求項１２】
マスタが、前記マスタの計時時刻と、第１スレーブの第１計時時刻及び第２スレーブの第２計時時刻とを時刻同期させるステップと、
前記第１スレーブが、前記第１計時時刻が、設定された第１時刻から設定された第１周期の時間が経過したことを示すか否かに応じて、前記第１スレーブが前記マスタにデータを送信する送信タイミングであるか否かを判別するステップと、
前記第１スレーブが、前記送信タイミングであると判別した場合に前記マスタにデータを送信するステップと、
前記第２スレーブが、前記第２計時時刻が、設定された第２時刻から前記第１周期とは異なる第２周期の時間が経過したことを示すか否かに応じて、前記第２スレーブが前記マスタにデータを送信する前記送信タイミングであるか否かを判別するステップと、
前記第２スレーブが、前記送信タイミングであると判別した場合に前記マスタにデータを送信するステップと、
を含む方法。
【請求項１３】
マスタスレーブ方式で同期通信を行い、スレーブ毎に異なる通信周期でマスタと通信する通信システムにおいて、前記スレーブとして機能するコンピュータに、
前記マスタから通知された基準時刻に合わせて前記コンピュータが備える計時手段の時刻を補正させ、
前記計時手段の時刻が、設定された時刻から自機が属するグループに設定された通信周期の時間が経過したことを示すか否かに応じて、前記マスタにデータを送信する送信タイミングであるか否かを判別させ、
前記送信タイミングで前記マスタにデータの送信させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
マスタスレーブ方式の通信システムにおいて、スレーブ毎に、あるいは、スレーブのグループ毎に、異なる通信周期を設定し、スレーブが設定された通信周期でマスタと通信することがある。特許文献１には、スレーブがグループ分けされ、スレーブがグループ毎に異なる通信周期でマスタと通信することが記載されている。特許文献１に記載された構成においては、マスタは、データの送信タイミングをスレーブに通知するため、同期フレームを一定間隔でスレーブに送信する。同期フレームには、基準周期の時間が経過するたびに加算されるカウンタの値がセットされている。スレーブは、受信した同期フレームに設定されたカウンタの値が、自機が属するグループに設定された通信周期であることを示す値であると判別すると、マスタにデータを送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−６７２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された構成では、スレーブは、同期フレームにセットされたカウンタの値から、マスタにデータを送信するタイミングを判別する。従って、同じグループに属するスレーブには、同じタイミングで同期用のフレームが到達している必要がある。しかし、伝搬遅延、通信装置の処理による遅延等により、同期フレームが同じグループに属するスレーブに到達する時刻がばらつく状況も起こり得る。この場合、同じグループに属するスレーブがマスタにデータを送信するタイミングがずれてしまう。特許文献１に記載されているように、同期フレームを使用してスレーブの送信タイミングを取る構成では、伝搬遅延、通信装置の処理による遅延等が発生した場合には、同期精度が低下する。さらに、スレーブがマスタにデータを送信するタイミングのずれが大きくなると、同期通信が成り立たなくなる。このように、スレーブ毎、あるいはグループ毎に異なる通信周期が設定されている場合に、同期フレームを使用してスレーブの送信タイミングを取って同期通信を行うことは困難であった。【０００５】
本発明は、上記実情に鑑みてなされたものであり、マスタスレーブ方式の通信システムにおいて、スレーブ毎に異なる通信周期が設定されている場合に、同期通信を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る通信システムは、スレーブとして機能する第１通信装置及び第２通信装置と、マスタとして機能する第３通信装置とを含み、マスタスレーブ方式で同期通信を行う。第１通信装置と第２の通信装置とはそれぞれ異なる通信周期でマスタと通信するように設定されている。スレーブの第１計時手段は、時刻を計時する。スレーブの同期判別手段は、第１計時手段が計時する時刻が、設定された時刻から自機に設定された通信周期の時間が経過したことを示すか否かに応じて、マスタにデータを送信する送信タイミングであるか否かを判別する。スレーブの通信手段は、同期判別手段が送信タイミングであると判別すると、マスタにデータを送信する。マスタの第２計時手段は基準時刻を計時する。マスタの時刻同期手段は、基準時刻をスレーブに通知して、スレーブの第１計時手段と第２計時手段とを時刻同期させる。
【発明の効果】
【０００７】
本発明の通信システムにおいては、スレーブとして機能する第１通信装置と第２通信装置とはそれぞれ異なる通信周期でマスタと通信するように設定されている。スレーブは、自機が備える第１計時手段が計時する時刻が、設定された時刻から自機に設定された通信周期の時間が経過したことを示すか否かに応じて、マスタにデータを送信する送信タイミングであるか否かを判別する。スレーブは送信タイミングであると判別すると、マスタにデータを送信する。マスタは、基準時刻をスレーブに通知して、スレーブの第１計時手段と第２計時手段とを時刻同期させる。このような構成を備えることで、スレーブ毎に異なる周期が設定されている場合に、同期通信が可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態に係る通信システムの機能構成を示すブロック図
【図２】実施の形態に係る通信システムのハードウェア構成を示す図
【図３】実施の形態に係るデータを送信するタイミングを示す図
【図４】時刻同期の方法を説明するための図
【図５】スレーブのデータ送信処理のフローチャート
【発明を実施するための形態】
【０００９】
（実施の形態）
以下、本発明の実施の形態に係る通信システムについて、図面を参照しつつ詳細に説明する。
【００１０】
図１に示すように、通信システム１は、相互に通信する通信装置１００と通信装置２０１と通信装置２０２とを含む。通信装置１００と通信装置２０１と通信装置２０２とは、ネットワーク５を介して通信可能に接続されている。
【００１１】
通信システム１において、通信装置１００と通信装置２０１と通信装置２０２とはマスタスレーブ方式で通信する。通信装置１００はマスタとして機能する。通信装置２０１及び２０２はスレーブとして機能する。スレーブとして機能する通信装置２０１及び２０２は、マスタとして機能する通信装置１００の管理下でデータの送受信を行う。通信装置１００と通信装置２０１と通信装置２０２とは、例えば、生産システム、制御システム等において稼動するプログラマブルロジックコントローラである。例えば、通信装置２０１及び２０２は、それぞれが管理するセンサから収集したデータを、予め設定されたタイミングでマスタとして機能する通信装置１００に送信する。ネットワーク５は、例えば、１００Ｂａｓｅ−Ｔの規格に則ったネットワークである。
【００１２】
以下、マスタとして機能する通信装置１００を、単にマスタという場合がある。スレーブとして機能する通信装置２０１及び２０２を、単にスレーブという場合がある。また、通信装置２０１及び２０２をまとめて通信装置２００と称することがある。通信装置１００は、本発明の第３の通信装置の一例である。通信装置２０１は、本発明の第１の通信装置の一例である。通信装置２０２は、本発明の第２の通信装置の一例である。また、通信装置２０１は本発明の第１スレーブの一例であり、通信装置２０２は本発明の第２スレーブの一例である。
【００１３】
スレーブとして機能する通信装置２０１と通信装置２０２とはそれぞれ異なる周期でマスタにデータを送信する。実施の形態において、通信装置２０１と通信装置２０２とは、共通の基準周期Ｔｓを整数倍した通信周期でマスタにデータを送信する。共通の基準周期Ｔｓは、マスタのクロックの信号に同期した周期である。例えば、通信装置２０１の通信周期Ｔ１として、マスタのクロックの信号に同期した共通の基準周期を２倍した周期が設定され、通信装置２０２の通信周期Ｔ２として、共通の基準周期を３倍した周期が設定される。
【００１４】
図２に示すように、通信装置１００は計時装置１３を有しており、通信装置２０１及び２０２は、計時装置２３をそれぞれ有している。計時装置１３及び計時装置２３それぞれの時刻は一致しているものとする。スレーブとして機能する通信装置２０１及び２０２はそれぞれが有する計時装置２３の時刻から、設定された時刻から自機に設定された通信周期の時間が経過したと判別したときに、マスタとして機能する通信装置１００に対してデータを送信するタイミングであると判別する。実施の形態においては、スレーブとして機能する通信装置２０１及び２０２は、マスタに前回データを送信した時刻から自機に設定された通信周期の時間が経過したと判別したときに、マスタとして機能する通信装置１００に対してデータを送信する。マスタの計時装置１３及びスレーブの計時装置２３それぞれの時刻は一致しているため、スレーブとして機能する通信装置２０１及び２０２はそれぞれ設定された通信周期でマスタとして機能する通信装置１００にデータを送信することができる。
【００１５】
図２に示すように、マスタとして機能する通信装置１００は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ１１と、通信装置２０１及び２０２と通信を行う通信インタフェース１２と、時刻を計時する計時装置１３と、通信装置１００全体を制御するプロセッサ１４とを有する。メモリ１１と、通信インタフェース１２と、計時装置１３とはバス１９を介してプロセッサ１４に接続されており、プロセッサ１４と通信する。
【００１６】
メモリ１１は、揮発性メモリと不揮発性メモリとを含む。メモリ１１には、時刻補正を行うための時刻同期プログラム１１１と、ネットワーク５全体を管理するための通信パラメータ１１２とが格納されている。通信システム１を管理するユーザが設定ツールを使用して、時刻同期プログラム１１１と通信パラメータ１１２とを予めメモリ１１に格納しているものとする。また、メモリ１１は、プロセッサ１４のワークメモリとして用いられる。時刻同期プログラム１１１は、本発明のプログラムの一例である。
【００１７】
時刻同期プログラム１１１は、プロセッサ１４により実行される。プロセッサ１４は時刻同期プログラム１１１を実行して、スレーブの計時装置の時刻を補正する。
【００１８】
通信パラメータ１１２は、マスタとして機能する通信装置１００がネットワーク５全体を管理するために必要なパラメータである。例えば、通信パラメータ１１２は、各スレーブの通信周期に関するパラメータを含む。
【００１９】
通信インタフェース１２は、通信装置１００が他の通信装置と通信するためネットワークインタフェース回路を含む。通信インタフェース１２は、プロセッサ１４から供給されたデータを電気信号に変換し、変換した信号をネットワーク５を介して通信装置２００に送信する。また、通信インタフェース１２は、ネットワーク５を介して通信装置２００から受信した電気信号をデータに復元してプロセッサ１４に出力する。
【００２０】
計時装置１３は、クロック信号を出力する発振回路を含み、時刻を計時する装置である。
【００２１】
プロセッサ１４は、ＭＰＵ（Micro Processing Unit）を含み、メモリ１１に記憶される各種プログラムを実行して、通信装置１００の各種機能を実現する。
【００２２】
スレーブとして機能する通信装置２０１は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ２１と、通信装置１００と通信を行う通信インタフェース１２と、時刻を計時する計時装置２３と、通信装置２０１全体を制御するプロセッサ２４とを有する。メモリ２１と、通信インタフェース２２と、計時装置２３とはバス２９を介してプロセッサ２４に接続されており、プロセッサ２４と通信する。通信装置２０２も通信装置２０１と同様の構成を備える。
【００２３】
メモリ２１は、揮発性メモリと不揮発性メモリとを含む。メモリ２１は、マスタと通信するための通信プログラム２１１と、マスタとの通信に使用される通信パラメータ２１２とを格納する。通信システム１を管理するユーザが設定ツールを使用して、通信プログラム２１１と、通信パラメータ２１２とを予めメモリ２１に格納しているものとする。また、メモリ２１は、プロセッサ２４のワークメモリとして用いられる。
【００２４】
通信プログラム２１１は、プロセッサ２４により実行される。プロセッサ２４は通信プログラム２１１を実行して、通信装置２０１がセンサから収集したデータをマスタに送信する。さらに、プロセッサ２４は通信プログラム２１１を実行して、マスタと協働して計時装置２３の時刻を補正する。
【００２５】
通信パラメータ２１２は、スレーブとして機能する通信装置２０１がマスタと通信するために必要なパラメータである。例えば、通信パラメータ２１２は、通信装置２０１がマスタにデータを送信する間隔を示す通信周期に関するパラメータを含む。
【００２６】
通信インタフェース２２は、通信装置２０１が他の通信装置と通信するためネットワークインタフェース回路を含む。通信インタフェース２２は、プロセッサ２４から供給されたデータを電気信号に変換し、変換した信号をネットワーク５を介してマスタに送信する。また、通信インタフェース２２は、ネットワーク５を介してマスタから受信した電気信号をデータに復元してプロセッサ２４に出力する。
【００２７】
計時装置２３は、クロック信号を出力する発振回路を含み、時刻を計時する装置である。
【００２８】
プロセッサ２４は、ＭＰＵを含み、メモリ２１に記憶される各種プログラムを実行して、通信装置２０１の各種機能を実現する。例えば、プロセッサ２４は、計時装置２３が計時する時刻が設定された通信周期であると判別した場合、データをマスタに送信する。
【００２９】
図１に示すように、マスタとして機能する通信装置１００は、機能的には、時刻を計時する計時部１１０と、マスタとスレーブの時刻同期を行う時刻同期部１２０と、同期通信に必要なパラメータを記憶する同期情報記憶部１３０と、スレーブと通信する通信部１４０と、を有する。計時部１１０は、本発明の第２計時手段の一例である。計時部１１０が計時する時刻は、本発明の計時時刻の一例である。
【００３０】
計時部１１０は時刻を計時する。通信装置１００はマスタであるため、計時部１１０が計時する時刻は通信システム１における基準時刻となる。計時部１１０の機能は、図２に示す計時装置１３により実現される。
【００３１】
図１に示す時刻同期部１２０は、後述の通信装置２００の時刻補正部２２０と協働して、基準時刻に合わせるように通信装置２０１及び２０２それぞれの計時部２１０の時刻の同期を行う。時刻同期部１２０は、時刻補正の具体的な方法として、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）１５８８、ＩＥＥＥ８０２．１ＡＳ等に規定された時刻同期プロトコルを採用することができる。時刻補正の具体的な手法については後述する。時刻同期部１２０の機能は、図２に示すプロセッサ１４により実現される。時刻同期部１２０は、本発明の時刻同期手段の一例である。
【００３２】
図１に示す同期情報記憶部１３０は、通信周期に関するパラメータを記憶する。前述のように、通信装置２０１と通信装置２０２とは共通の基準周期Ｔｓを整数倍した通信周期でマスタと通信する。実施の形態においては、通信装置２０１の通信周期Ｔ１は、基準周期ＴｓをＭ倍（Ｍは自然数）したものとし、通信装置２０２の通信周期Ｔ２は、基準周期ＴｓをＮ倍（Ｎは自然数）したものと設定する。通信装置２０１の通信周期Ｔ１は、本発明の第１周期の一例であり、通信装置２０２の通信周期Ｔ２は、本発明の第２周期の一例である。
【００３３】
例えば、通信装置２０２の処理能力が、通信装置２０１の処理能力より劣っているとする。よって、通信装置２０１は、通信装置２０２より、短い間隔でマスタと通信するように、通信周期Ｔ１が設定される。図３に示す例では、通信装置２０１は、基準周期Ｔｓを２倍した通信周期Ｔ１でマスタにデータを送信する。通信装置２０２は、基準周期Ｔｓを３倍した通信周期Ｔ２でマスタにデータを送信する。
【００３４】
図１に示す同期情報記憶部１３０は、基準周期と、スレーブの通信周期が基準周期の何倍であるかを示す情報を記憶する。これらの情報は、マスタとスレーブとが通信するのに先だって、マスタからスレーブに提供される。同期情報記憶部１３０の機能は、図２に示すメモリ１１により実現される。
【００３５】
図１に示す通信部１４０は、スレーブとデータの送受信を行う。例えば、通信部１４０は、時刻同期部１２０から出力された時刻同期のためのメッセージを通信装置２０１及び２０２に送信する。通信部１４０の機能は、図２に示す通信インタフェース１２により実現される。
【００３６】
図１に示すように、スレーブとして機能する通信装置２０１は、機能的には、時刻を計時する計時部２１０と、マスタと協働して計時部２１０が計時する時刻を補正する時刻補正部２２０と、同期通信に必要なパラメータを記憶する同期情報記憶部２３０と、マスタにデータを送信するタイミングを判別する同期判別部２４０と、マスタと通信する通信部２５０と、を有する。
【００３７】
計時部２１０は時刻を計時する。計時部２１０が計時する時刻は、後述の同期判別部２４０がデータの送信タイミングを判別するのに使用される。計時部２１０の機能は、図２に示す計時装置２３により実現される。計時部２１０は、本発明の第１計時手段の一例である。通信装置２０１の計時部２１０が計時する時刻は、本発明の第１計時時刻の一例である。通信装置２０２の計時部２１０が計時する時刻は、本発明の第２計時時刻の一例である。
【００３８】
図１に示す時刻補正部２２０は、前述の通信装置１００の時刻同期部１２０と協働して、計時部２１０が計時する時刻を補正する。時刻補正の具体的な方法については後述する。時刻補正部２２０の機能は、図２に示すプロセッサ２４により実現される。時刻補正部２２０は、本発明の時刻補正手段の一例である。
【００３９】
図１に示す同期情報記憶部２３０は、同期に関するパラメータを記憶する。前述のように、通信装置２０１の通信周期は、基準周期をＭ倍（Ｍは自然数）した周期であり、通信装置２０２の通信周期は、基準周期をＮ倍（Ｎは自然数）した周期である。このため、通信装置２０１の同期情報記憶部２３０には、基準周期と、基準周期のＭ倍が通信周期であることを示す情報が格納される。通信装置２０２の同期情報記憶部２３０には、基準周期と、基準周期のＮ倍が通信周期であることを示す情報が格納されることになる。同期情報記憶部２３０に格納されるデータは、マスタとスレーブとが通信するのに先だって、マスタからスレーブに提供される。同期情報記憶部２３０の機能は、図２に示すメモリ２１により実現される。
【００４０】
図１に示す同期判別部２４０は、計時部２１０が計時する時刻が、マスタに前回データを送信した時刻から、同期情報記憶部２３０が格納されている通信周期の時間が経過したことを示すとき、マスタにデータを送信するタイミングであると判別する。同期判別部２４０の機能は、図２に示すプロセッサ２４により実現される。同期判別部２４０は、本発明の同期判別手段の一例である。同期判別部２４０が判別するマスタにデータを送信するタイミングは、本発明の送信タイミングの一例である。
【００４１】
図１に示す通信部２５０は、マスタと通信する。例えば、通信部１４０は、同期判別部２４０からデータを送信するタイミングである旨を通知されると、マスタにデータを送信する。また、通信部２５０は、マスタから受信した時刻同期のためのメッセージを時刻補正部２２０に出力する。通信部２５０の機能は、図２に示す通信インタフェース２２により実現される。通信部２５０は、本発明の通信手段の一例である。
【００４２】
次に、時刻同期部１２０と、時刻補正部２２０とが協働して、計時部１１０が計時する時刻と計時部２１０が計時する時刻を時刻同期する方法を説明する。以下、ＩＥＥＥ１５８８の時刻同期プロトコルを採用した構成を説明する。マスタである通信装置１００のプロセッサ１４は時刻同期プログラム１１１を実行し、スレーブである通信装置２００のプロセッサ２４は通信プログラム２１１を実行して、下記の処理を行う。
【００４３】
図４に示すように、マスタのプロセッサ１４は、まず、時刻同期の開始を示すＳｙｎｃメッセージをスレーブに送信する。このとき、マスタのプロセッサ１４は、Ｓｙｎｃメッセージを送信したときの計時装置１３の時刻ｔ１をメモリ１１に記憶しておく。Ｓｙｎｃメッセージは、本発明の第１メッセージの一例である。マスタは、Ｓｙｎｃメッセージを、スレーブとの通信を確立してから一定期間毎に送信するものとする。
【００４４】
スレーブのプロセッサ２４は、Ｓｙｎｃメッセージを受信すると、Ｓｙｎｃメッセージを受信したときの計時装置２３の時刻ｔ２をメモリ２１に記憶しておく。マスタのプロセッサ１４は、Ｓｙｎｃメッセージを送信してから設定された時間待機し、その後、時刻ｔ１をスレーブに通知するためのＦｏｌｌｏｗ＿Ｕｐメッセージを生成し、生成したメッセージにメモリ２１に記憶していた時刻ｔ１をセットして、当該メッセージをスレーブに送信する。
【００４５】
スレーブのプロセッサ２４は、Ｆｏｌｌｏｗ＿Ｕｐメッセージを受信すると、Ｆｏｌｌｏｗ＿Ｕｐメッセージにセットされた時刻ｔ１をメモリ２１に記憶しておく。スレーブのプロセッサ２４は、Ｆｏｌｌｏｗ＿Ｕｐメッセージを受信してから予め設定された時間待機し、その後、マスタに応答するためのＤｅｌａｙ＿Ｒｅｑメッセージをマスタに送信する。さらに、スレーブのプロセッサ２４は、Ｄｅｌａｙ＿Ｒｅｑメッセージを送信したときの計時装置２３の時刻ｔ３をメモリ２１に記憶しておく。Ｄｅｌａｙ＿Ｒｅｑメッセージは、本発明の第２メッセージの一例である。
【００４６】
マスタのプロセッサ１４は、Ｄｅｌａｙ＿Ｒｅｑメッセージを受信すると、Ｄｅｌａｙ＿Ｒｅｑメッセージを受信したときの計時装置１３の時刻ｔ４をメモリ１１に記憶しておく。マスタのプロセッサ１４は予め設定された時間待機してから、スレーブに応答するためのＤｅｌａｙ＿Ｒｅｓｐメッセージを生成し、生成したメッセージにメモリ１１に記憶していた時刻ｔ４をセットして、当該メッセージをスレーブに送信する。スレーブのプロセッサ２４は、Ｄｅｌａｙ＿Ｒｅｑメッセージを受信すると、当該メッセージにセットされた時刻ｔ４をメモリ２１に記憶する。
【００４７】
ここで、マスタとスレーブとの間の伝搬遅延が一定であると仮定すると、伝搬遅延による片道の遅延時間は下記式で表される。
遅延時間Ｄｌｙ１＝｛（ｔ２−ｔ１）＋（ｔ４−ｔ３）｝／２・・・・・式（１）
【００４８】
マスタのクロックとスレーブのクロックの差、即ち、マスタのクロックとスレーブのクロックのオフセットは下記式で求められる。
スレーブのクロックのオフセットＯｆｆ１
＝（ｔ２−ｔ１）−（片道の遅延時間Ｄｌｙ１）
＝｛（ｔ２−ｔ１）−（ｔ４−ｔ３）｝／２・・・・・・・・・・・・・式（２）
【００４９】
よって、スレーブは、取得したｔ１〜ｔ４の値と、上記式（１）とから、片道の遅延時間Ｄｌｙ１を算出する。スレーブは算出した遅延時間Ｄｌｙ１だけ計時部２１０の時刻を調整する。さらに、スレーブは、取得したｔ１〜ｔ４の値と、上記式（２）とから、スレーブのクロックのオフセットＯｆｆ１を算出する。スレーブは算出したオフセットＯｆｆ１だけ計時部２１０の時刻を調整する。
【００５０】
上記のような処理を行うのは、スレーブの計時装置２３の時刻とマスタの計時装置１３の時刻との差は、（ａ）伝搬遅延と、（ｂ）スレーブの計時装置１３の時刻とマスタの計時装置２３の時刻との差と、により生じるからである。実施の形態においては、上記のように、遅延時間Ｄｌｙ１とオフセットＯｆｆ１とに応じた時間だけ、計時部２１０が計時する時刻を補正する。例えば、スレーブの計時部２１０の時刻がマスタの計時部１１０の時刻より遅れている場合には、スレーブは計時部２１０の時刻を遅延時間Ｄｌｙ１とオフセットＯｆｆ１とに応じた時間だけ早めるように補正する。遅延時間Ｄｌｙ１は、本発明の伝搬遅延時間の一例である。オフセットＯｆｆ１は、本発明のオフセットの一例である。
【００５１】
次に、マスタの計時装置１３と、スレーブの計時装置２３との時刻同期の処理を説明する。マスタは、例えば、コネクション確立時に、スレーブに、通信周期に関するパラメータを送信するとともに、スレーブと協働してスレーブの計時装置２３の時刻補正を行う。
【００５２】
続いてスレーブ側処理を説明する。図２に示す通信装置２０１のプロセッサ２４は、通信プログラム２１１を実行して、マスタへのデータの送信処理とともに、計時装置２３の時刻を補正する。通信装置１００から、通信周期に関するパラメータを受信すると、データの送信処理を開始するものとする。なお、通信装置２０２も同様の処理を行うものとする。
【００５３】
図５に示すように、通信装置２０１のプロセッサ２４は、マスタから受信した通信周期に関するパラメータを、通信パラメータ２１２としてメモリ２１に格納する（ステップＳ２１）。マスタから受信した通信周期に関するパラメータには、基準周期Ｔｓと、通信装置２０１の通信周期とが含まれる。図３に示すように、通信装置２０１の通信周期Ｔ１は、基準周期Ｔｓ×２倍と設定されている。通信装置２０２の通信周期Ｔ２は、基準周期Ｔｓ×３倍と設定されている。また、スレーブの計時装置２３の時刻は、マスタの計時装置１３の時刻より遅れていると仮定する。
【００５４】
プロセッサ２４は、時刻補正を実施するか否かを判別する（ステップＳ２２）。具体的には、プロセッサ２４は、通信インタフェース２２が、マスタから図４に示すＳｙｎｃメッセージを受信したか否かを判別する。プロセッサ２４は、通信インタフェース２２がＳｙｎｃメッセージを受信している場合、時刻補正を実施するべきであると判別し（ステップＳ２２；Ｙｅｓ）、以下の処理を実行して、図２に示す計時装置２３の時刻を補正する（ステップＳ２３）。
【００５５】
図５に示すステップＳ２３において、プロセッサ２４は、具体的には、図４に示すＳｙｎｃメッセージを受信したときの計時装置２３の時刻をメモリ２１に格納する。この時刻は、図４に示す時刻ｔ２に相当する。
【００５６】
プロセッサ２４は、通信インタフェース２２が、Ｆｏｌｌｏｗ＿Ｕｐメッセージを受信するのを待って、通信インタフェース２２がＦｏｌｌｏｗ＿Ｕｐメッセージを受信すると、そのメッセージにセットされた時刻データをメモリ２１に格納する。Ｆｏｌｌｏｗ＿Ｕｐメッセージにセットされた時刻データは、図４に示すように、マスタがＳｙｎｃメッセージを送信した時刻であり、マスタの計時装置１３が計時した時刻を示すデータである。この時刻は図４に示す時刻ｔ１に相当する。
【００５７】
プロセッサ２４は、Ｆｏｌｌｏｗ＿Ｕｐメッセージを取得すると、通信インタフェース２２を介して、マスタにＤｅｌａｙ＿Ｒｅｑメッセージを送信する。プロセッサ２４は、Ｄｅｌａｙ＿Ｒｅｑメッセージを送信したときの計時装置２３の時刻をメモリ２１に格納する。この時刻は、図４に示す時刻ｔ３に相当する。
【００５８】
プロセッサ２４は、通信インタフェース２２がＤｅｌａｙ＿Ｒｅｓｐメッセージを受信すると、そのメッセージに設定された時刻データをメモリ２１に格納する。Ｄｅｌａｙ＿Ｒｅｓｐメッセージにセットされた時刻データは、図４に示すように、マスタがＤｅｌａｙ＿Ｒｅｑメッセージを受信した時刻であり、マスタの計時装置１３が計時した時刻を示すデータである。この時刻は図４に示す時刻ｔ４に相当する。
【００５９】
その後、プロセッサ２４は、メモリ２１に格納した時刻データから、上述の式（１）を使用して遅延時間Ｄｌｙ１を、さらに、式（２）を使用してオフセットＯｆｆ１を算出する。
【００６０】
プロセッサ２４は、計時装置２３の時刻を遅延時間Ｄｌｙ１とオフセットＯｆｆ１とに応じた時間だけ早めるように補正する。その後、ステップＳ２４において、プロセッサ２４は、計時装置２３の時刻が、自機に設定された通信周期と一致する時刻であるか否かを判別する（ステップＳ２４）。ここでは、通信装置２０１の通信周期が、図３に示すように、基準周期Ｔｓを２倍とした通信周期Ｔ１として設定されていると仮定する。プロセッサ２４は、計時装置２３の時刻が、自機に設定された通信周期と一致するタイミングを示す場合（ステップＳ２４；Ｙｅｓ）、マスタにデータを送信する（ステップＳ２５）。
【００６１】
以上説明したように、実施の形態に係る通信システムにおいては、スレーブは自機が有する計時装置２３の時刻から、自機に設定された通信周期と一致するタイミングで、マスタにデータを送信する。このため、マスタからスレーブへの時刻同期フレームを送信せずとも、マスタとスレーブとは同期通信を行うことが可能である。よって、特許文献１にように時刻同期フレームを使用する場合に、時刻同期フレームの遅延の影響を受けることがない。さらに、スレーブそれぞれは、自機が有する計時装置２３の時刻をマスタの計時装置２３が計時する基準時刻に合わせるように補正する。よって、マスタとスレーブのクロックの誤差による同期精度の低下を抑制することができる。
【００６２】
また、スレーブの通信周期として、基準周期を整数倍した周期が設定されているため、スレーブは、マスタの計時装置１３と同期した計時装置２３と、通信周期が基準周期の何倍であるかを示す情報とを有していれば、各スレーブが異なる通信周期でマスタと通信することが可能である。
【００６３】
同じネットワーク上のスレーブが異なる通信周期でマスタと通信することが可能であるため、例えば、処理能力の低いスレーブと、処理能力の高いスレーブとが、同一のネットワーク上で通信を行うことができる。これにより、例えば、処理能力の高いスレーブが、処理能力の低いスレーブと同じタイミングでマスタと通信する必要はない。また、処理能力の低いスレーブが、処理能力が高いスレーブと同じ周期で通信することができず、ネットワークに接続することができないといった状況も発生しない。
【００６４】
実施の形態においては、マスタが、スレーブと協働してスレーブの計時装置２３の時刻を補正する例を説明したが、これに限られない。通信システムに、マスタ以外の他の装置、例えば、タイムサーバを追加してもよい。タイムサーバは基準時刻を計時する計時装置を備える。この場合、タイムサーバが、マスタ及びスレーブに基準時刻を示すデータを配信する。マスタ及びスレーブは供給された基準時刻に合わせるように自機の計時装置の時刻を補正すればよい。
【００６５】
実施の形態においては、通信装置２００の時刻補正部２２０が、遅延時間Ｄｌｙ１とマスタのクロックとスレーブのクロックとのオフセットＯｆｆ１とを求め、求めた遅延時間Ｄｌｙ１とオフセットＯｆｆ１とに応じて時刻を補正する例を説明したが、これに限られない。時刻補正部２２０は、遅延時間Ｄｌｙ１だけを使用して時刻を補正してもよいし、あるいは、オフセットＯｆｆ１だけを使用して時刻を補正してもよい。通信装置２００は、さらに、クロック調整アルゴリズムを使用して、計時装置２３の時刻を補正してもよい。あるいは、マスタとして機能する通信装置１００が、クロック調整アルゴリズムを使用して、計時装置２３の補正値を算出し、算出した補正値を通信装置２００に供給してもよい。この場合、通信装置２００は、通信装置１００から供給された補正値で計時装置２３の時刻を補正すればよい。
【００６６】
実施の形態においては、通信装置２０１の通信周期Ｔ１を基準周期Ｔｓ×２倍と設定し、通信装置２０２の通信周期Ｔ２を基準周期Ｔｓ×３倍と設定し、基準周期Ｔｓに乗ずるＭ、Ｎとして整数を採用する例を説明した。しかしながら、Ｍ、Ｎは自然数であればよく、整数に限られない。
【００６７】
また、実施の形態においては、ＭとＮの値が異なる例を説明したが、ＭとＮの値は同じであってもよい。通信装置２０１と通信装置２０２のそれぞれ処理能力に差がある場合には、処理能力の高い方の通信周期を短くし、処理能力の方の低い方の通信周期を長くするように、ＭとＮの値を決定することが望ましい。例えば、通信装置２０１の処理能力が通信装置２０２の処理能力より高い場合、Ｍ＞Ｎとなるように設定してもよい。通信装置２０１の処理能力が通信装置２０２の処理能力より低い場合、Ｍ＜Ｎとなるように設定してもよい。
【００６８】
実施の形態においては、通信装置２０１は、通信周期Ｔ１でマスタにデータを送信し、通信装置２０２は、通信周期Ｔ２でマスタにデータを送信し、装置毎に通信周期が異なる例を説明したが、これに限られない。例えば、スレーブの数が３つ以上である場合であって、スレーブをグループに分け、グループ毎に異なる通信周期を設定してもよい。よって、同一グループ内の１又は複数のスレーブは同じ通信周期でマスタにデータを送信する。また、スレーブが１つだけの場合であっても、実施の形態に係る構成を採用することで、時刻同期フレームの遅延の影響を受けることがなく、マスタとスレーブのクロックの誤差による同期精度の低下を抑制することができる。
【００６９】
実施の形態においては、時刻同期する方法として、ＩＥＥＥ１５８８の時刻同期プロトコルを採用した例を説明したが、これに限られず、他の時刻同期プロトコルを同期してもよい。
【００７０】
実施の形態においては、設定された通信周期の時間経過をカウントする起点となる設定された時刻を、スレーブがマスタに前回データを送信した時刻とする例を説明したがこれに限られない。例えば、スレーブがマスタに初回データを送信するときには、設定された時刻を、マスタから特定の通知を受けた時刻としてもよい。
【００７１】
上記のプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
【００７２】
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【００７３】
Ｄｌｙ１  遅延時間、Ｏｆｆ１  オフセット、Ｔ１，Ｔ２  通信周期、ｔ１，ｔ２，ｔ３，ｔ４  時刻、Ｔｓ  基準周期、１  通信システム、５  ネットワーク、１１，２１  メモリ、１２，２２  通信インタフェース、１３，２３  計時装置、１４，２４  プロセッサ、１９，２９  バス、１００，２００，２０１，２０２  通信装置、１１０，２１０  計時部、１１１  時刻同期プログラム、１１２，２１２  通信パラメータ、１２０  時刻同期部、１３０，２３０  同期情報記憶部、１４０，２５０  通信部、２１１  通信プログラム、２２０  時刻補正部、２４０  同期判別部
【図１】
2020095413.tif 000003
【図２】
2020095413.tif 000004
【図３】
2020095413.tif 000005
【図４】
2020095413.tif 000006
【図５】
2020095413.tif 000007
【手続補正書】
【提出日】令和1年7月10日(2019.7.10)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、通信システム、通信装置、及びプログラムに関する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記目的を達成するため、本発明に係る通信システムは、スレーブとして機能する複数の通信装置とマスタとして機能する通信装置とがマスタスレーブ方式で同期通信し、スレーブはグループ分けされ、グループ毎に設定された通信周期でマスタと通信するように設定されている。スレーブとして機能する通信装置それぞれが備える第１計時手段は、時刻を計時する。スレーブとして機能する通信装置それぞれが備える同期判別手段は、第１計時手段が計時する時刻が、設定された時刻から自機が属するグループに設定された通信周期の時間が経過したことを示すか否かに応じて、マスタにデータを送信する送信タイミングであるか否かを判別する。スレーブとして機能する通信装置それぞれが備える通信手段は、同期判別手段が送信タイミングであると判別すると、マスタにデータを送信する。マスタとして機能する通信装置が備える第２計時手段は基準時刻を計時する。マスタとして機能する通信装置が備える時刻同期手段は、基準時刻をスレーブに通知して、スレーブの第１計時手段と第２計時手段とを時刻同期させる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明の通信システムにおいては、スレーブはグループ分けされ、グループ毎に設定された通信周期でマスタと通信するように設定されている。スレーブは、自機が備える第１計時手段が計時する時刻が、設定された時刻から自機が属するグループに設定された通信周期の時間が経過したことを示すか否かに応じて、マスタにデータを送信する送信タイミングであるか否かを判別する。スレーブは送信タイミングであると判別すると、マスタにデータを送信する。マスタは、基準時刻をスレーブに通知して、スレーブの第１計時手段とマスタの第２計時手段とを時刻同期させる。このような構成を備えることで、異なる周期が設定されているスレーブがマスタと通信することが可能となる。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スレーブとして機能する複数の通信装置とマスタとして機能する通信装置とがマスタスレーブ方式で同期通信し、前記スレーブはグループ分けされ、前記グループ毎に設定された通信周期で前記マスタと通信するように設定されている通信システムであって、
前記スレーブとして機能する前記複数の通信装置それぞれは、
時刻を計時する第１計時手段と、
前記第１計時手段が計時する時刻が、設定された時刻から自機が属するグループに設定された前記通信周期の時間が経過したことを示すか否かに応じて、前記マスタにデータを送信する送信タイミングであるか否かを判別する同期判別手段と、
前記同期判別手段が前記送信タイミングであると判別すると、前記マスタにデータを送信する通信手段と、
を備え、
前記マスタとして機能する前記通信装置は、
基準時刻を計時する第２計時手段と、
前記基準時刻を前記スレーブに通知して、前記スレーブの前記第１計時手段と前記第２計時手段とを時刻同期させる時刻同期手段と、
を備える、
通信システム。
【請求項２】
前記スレーブのうち第１グループに属する前記スレーブの前記通信周期として第１周期が設定されており、前記スレーブのうち第２グループに属する前記スレーブの前記通信周期として第２周期が設定されており、
前記第１グループに属する前記スレーブの前記同期判別手段は、前記第１グループに属する前記スレーブの前記第１計時手段が計時する時刻が、前記第１グループに属する前記スレーブが前記マスタに前回データを送信したときから前記第１周期の時間が経過したことを示す場合に、前記送信タイミングであると判別し、
前記第２グループに属する前記スレーブの前記同期判別手段は、前記第２グループに属する前記スレーブの前記第１計時手段が計時する時刻が、前記第２グループに属する前記スレーブが前記マスタに前回データを送信したときから前記第２周期の時間が経過したことを示す場合に、前記送信タイミングであると判別する、
請求項１に記載の通信システム。
【請求項３】
前記第１周期は、予め設定された基準周期をＭ倍（Ｍは自然数）した周期であり、
前記第２周期は、前記基準周期をＮ倍（Ｎは自然数）した周期である、
請求項２項に記載の通信システム。
【請求項４】
前記Ｍの値は、前記第１グループに属する前記スレーブの処理能力が、前記第２グループに属する前記スレーブの処理能力に対して高い場合、前記Ｎの値より小さく設定され、
前記Ｍの値は、前記第１グループに属する前記スレーブの処理能力が、前記第２グループに属する前記スレーブの処理能力に対して低い場合、前記Ｎの値より大きく設定される、
請求項３に記載の通信システム。
【請求項５】
前記スレーブは、
前記マスタの前記時刻同期手段と協働して、前記マスタと前記スレーブとの間の伝搬遅延時間を求め、求めた前記伝搬遅延時間に応じて、前記第１計時手段の時刻を補正する時刻補正手段、
をさらに有する、
請求項１から４のいずれか１項に記載の通信システム。
【請求項６】
前記時刻補正手段は、前記マスタの前記時刻同期手段と協働して、前記マスタの前記第２計時手段の時刻と前記スレーブの前記第１計時手段の時刻とのオフセットを求め、求めたオフセットに応じて、前記第１計時手段の時刻を補正する、
請求項５に記載の通信システム。
【請求項７】
前記スレーブの前記時刻補正手段は、
前記マスタの前記時刻同期手段から時刻同期のための第１メッセージを受信すると、前記マスタの前記時刻同期手段に時刻同期のための第２メッセージを送信し、
（ｉ）前記スレーブが前記マスタから前記第１メッセージを受信した第１時刻と、前記マスタが前記第１メッセージを前記スレーブに送信した第２時刻と、の差と、（ｉｉ）前記スレーブが前記第２メッセージを前記マスタに送信した第３時刻と、前記マスタが前記スレーブから前記第２メッセージを受信した第４時刻と、の差と、から前記伝搬遅延時間を求める、
請求項５に記載の通信システム。
【請求項８】
前記スレーブの前記時刻補正手段は、
前記マスタの前記時刻同期手段から時刻同期のための第１メッセージを受信すると、前記マスタの前記時刻同期手段に時刻同期のための第２メッセージを送信し、
（ｉ）前記スレーブが前記マスタから前記第１メッセージを受信した第１時刻と、前記マスタが前記第１メッセージを前記スレーブに送信した第２時刻と、の差と、（ｉｉ）前記スレーブが前記第２メッセージを前記マスタに送信した第３時刻と、前記マスタが前記スレーブから前記第２メッセージを受信した第４時刻と、の差と、から前記オフセットを求める、
請求項６に記載の通信システム。
【請求項９】
前記スレーブの前記時刻補正手段は、前記第１時刻及び前記第３時刻を前記第１計時手段から取得し、
前記マスタの前記時刻同期手段は、前記第２計時手段から取得した前記第２時刻及び前記第４時刻を前記スレーブの前記時刻補正手段に送信する、
請求項７又は８に記載の通信システム。
【請求項１０】
マスタスレーブ方式でマスタとグループ分けされた複数のスレーブとが通信し、前記グループ毎に通信周期が異なるように設定されている通信システムにおいて、前記スレーブとして機能する通信装置であって、
前記マスタから通知された基準時刻に合わせて自機が備える計時手段の時刻を補正する時刻補正手段と、
前記計時手段の時刻が、設定された時刻から自機が属するグループに設定された前記通信周期の時間が経過したことを示すか否かに応じて、前記マスタにデータを送信する送信タイミングであるか否かを判別する同期判別手段と、
前記送信タイミングで前記マスタにデータを送信する通信手段と、
を備える通信装置。
【請求項１１】
マスタスレーブ方式で同期通信を行い、スレーブ毎に異なる通信周期でマスタと通信する通信システムにおいて、前記スレーブとして機能するコンピュータに、
前記マスタから通知された基準時刻に合わせて前記コンピュータが備える計時手段の時刻を補正させ、
前記計時手段の時刻が、設定された時刻から自機が属するグループに設定された通信周期の時間が経過したことを示すか否かに応じて、前記マスタにデータを送信する送信タイミングであるか否かを判別させ、
前記送信タイミングで前記マスタにデータを送信させる、
プログラム。
【手続補正書】
【提出日】令和1年10月24日(2019.10.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記目的を達成するため、本発明に係る通信システムは、スレーブとして機能する複数の通信装置とマスタとして機能する通信装置とがマスタスレーブ方式で同期通信し、スレーブはグループ分けされ、グループ毎に異なる通信周期が設定されており、スレーブは自機が属するグループに設定された通信周期でマスタと通信する。スレーブとして機能する通信装置それぞれが備える第１計時手段は、時刻を計時する。スレーブとして機能する通信装置それぞれが備える同期判別手段は、第１計時手段が計時する時刻が、設定された時刻から自機が属するグループに設定された通信周期の時間が経過したことを示すか否かに応じて、マスタにデータを送信する送信タイミングであるか否かを判別する。スレーブとして機能する通信装置それぞれが備える通信手段は、同期判別手段が送信タイミングであると判別すると、マスタにデータを送信する。マスタとして機能する通信装置が備える第２計時手段は基準時刻を計時する。マスタとして機能する通信装置が備える時刻同期手段は、基準時刻をスレーブに通知して、スレーブの第１計時手段と第２計時手段とを時刻同期させる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明の通信システムにおいては、スレーブはグループ分けされ、グループ毎に異なる通信周期が設定されており、スレーブは自機が属するグループに設定された通信周期でマスタと通信する。スレーブは、自機が備える第１計時手段が計時する時刻が、設定された時刻から自機が属するグループに設定された通信周期の時間が経過したことを示すか否かに応じて、マスタにデータを送信する送信タイミングであるか否かを判別する。スレーブは送信タイミングであると判別すると、マスタにデータを送信する。マスタは、基準時刻をスレーブに通知して、スレーブの第１計時手段とマスタの第２計時手段とを時刻同期させる。このような構成を備えることで、異なる周期が設定されているスレーブがマスタと通信することが可能となる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
スレーブとして機能する通信装置２０１は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ２１と、通信装置１００と通信を行う通信インタフェース２２と、時刻を計時する計時装置２３と、通信装置２０１全体を制御するプロセッサ２４とを有する。メモリ２１と、通信インタフェース２２と、計時装置２３とはバス２９を介してプロセッサ２４に接続されており、プロセッサ２４と通信する。通信装置２０２も通信装置２０１と同様の構成を備える。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
図１に示す通信部２５０は、マスタと通信する。例えば、通信部２５０は、同期判別部２４０からデータを送信するタイミングである旨を通知されると、マスタにデータを送信する。また、通信部２５０は、マスタから受信した時刻同期のためのメッセージを時刻補正部２２０に出力する。通信部２５０の機能は、図２に示す通信インタフェース２２により実現される。通信部２５０は、本発明の通信手段の一例である。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
スレーブのプロセッサ２４は、Ｓｙｎｃメッセージを受信すると、Ｓｙｎｃメッセージを受信したときの計時装置２３の時刻ｔ２をメモリ２１に記憶しておく。マスタのプロセッサ１４は、Ｓｙｎｃメッセージを送信してから設定された時間待機し、その後、時刻ｔ１をスレーブに通知するためのＦｏｌｌｏｗ＿Ｕｐメッセージを生成し、生成したメッセージにメモリ１１に記憶していた時刻ｔ１をセットして、当該メッセージをスレーブに送信する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
続いてスレーブ側処理を説明する。図２に示す通信装置２０１のプロセッサ２４は、通信プログラム２１１を実行して、マスタへのデータの送信処理をするとともに、計時装置２３の時刻を補正する。通信装置１００から、通信周期に関するパラメータを受信すると、データの送信処理を開始するものとする。なお、通信装置２０２も同様の処理を行うものとする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
また、実施の形態においては、ＭとＮの値が異なる例を説明したが、ＭとＮの値は同じであってもよい。通信装置２０１と通信装置２０２のそれぞれ処理能力に差がある場合には、処理能力の高い方の通信周期を短くし、処理能力の低い方の通信周期を長くするように、ＭとＮの値を決定することが望ましい。例えば、通信装置２０１の処理能力が通信装置２０２の処理能力より高い場合、Ｍ＜Ｎとなるように設定してもよい。通信装置２０１の処理能力が通信装置２０２の処理能力より低い場合、Ｍ＞Ｎとなるように設定してもよい。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
実施の形態においては、時刻同期する方法として、ＩＥＥＥ１５８８の時刻同期プロトコルを採用した例を説明したが、これに限られず、他の時刻同期プロトコルを採用してもよい。
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2020095413.tif 000008
【手続補正１０】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スレーブとして機能する複数の通信装置とマスタとして機能する通信装置とがマスタスレーブ方式で同期通信し、前記スレーブはグループ分けされ、前記グループ毎に異なる通信周期が設定されており、前記スレーブは自機が属するグループに設定された通信周期で前記マスタと通信する通信システムであって、
前記スレーブとして機能する前記複数の通信装置それぞれは、
時刻を計時する第１計時手段と、
前記第１計時手段が計時する時刻が、設定された時刻から自機が属するグループに設定された前記通信周期の時間が経過したことを示すか否かに応じて、前記マスタにデータを送信する送信タイミングであるか否かを判別する同期判別手段と、
前記同期判別手段が前記送信タイミングであると判別すると、前記マスタにデータを送信する通信手段と、
を備え、
前記マスタとして機能する前記通信装置は、
基準時刻を計時する第２計時手段と、
前記基準時刻を前記スレーブに通知して、前記スレーブの前記第１計時手段と前記第２計時手段とを時刻同期させる時刻同期手段と、
を備える、
通信システム。
【請求項２】
前記スレーブのうち第１グループに属する前記スレーブの前記通信周期として第１周期が設定されており、前記スレーブのうち第２グループに属する前記スレーブの前記通信周期として第２周期が設定されており、
前記第１グループに属する前記スレーブの前記同期判別手段は、前記第１グループに属する前記スレーブの前記第１計時手段が計時する時刻が、前記第１グループに属する前記スレーブが前記マスタに前回データを送信したときから前記第１周期の時間が経過したことを示す場合に、前記送信タイミングであると判別し、
前記第２グループに属する前記スレーブの前記同期判別手段は、前記第２グループに属する前記スレーブの前記第１計時手段が計時する時刻が、前記第２グループに属する前記スレーブが前記マスタに前回データを送信したときから前記第２周期の時間が経過したことを示す場合に、前記送信タイミングであると判別する、
請求項１に記載の通信システム。
【請求項３】
前記第１周期は、予め設定された基準周期をＭ倍（Ｍは自然数）した周期であり、
前記第２周期は、前記基準周期をＮ倍（Ｎは自然数）した周期である、
請求項２に記載の通信システム。
【請求項４】
前記Ｍの値は、前記第１グループに属する前記スレーブの処理能力が、前記第２グループに属する前記スレーブの処理能力に対して高い場合、前記Ｎの値より小さく設定され、
前記Ｍの値は、前記第１グループに属する前記スレーブの処理能力が、前記第２グループに属する前記スレーブの処理能力に対して低い場合、前記Ｎの値より大きく設定される、
請求項３に記載の通信システム。
【請求項５】
前記スレーブは、
前記マスタの前記時刻同期手段と協働して、前記マスタと前記スレーブとの間の伝搬遅延時間を求め、求めた前記伝搬遅延時間に応じて、前記第１計時手段の時刻を補正する時刻補正手段、
をさらに有する、
請求項１から４のいずれか１項に記載の通信システム。
【請求項６】
前記時刻補正手段は、前記マスタの前記時刻同期手段と協働して、前記マスタの前記第２計時手段の時刻と前記スレーブの前記第１計時手段の時刻とのオフセットを求め、求めたオフセットに応じて、前記第１計時手段の時刻を補正する、
請求項５に記載の通信システム。
【請求項７】
前記スレーブの前記時刻補正手段は、
前記マスタの前記時刻同期手段から時刻同期のための第１メッセージを受信すると、前記マスタの前記時刻同期手段に時刻同期のための第２メッセージを送信し、
（ｉ）前記スレーブが前記マスタから前記第１メッセージを受信した第１時刻と、前記マスタが前記第１メッセージを前記スレーブに送信した第２時刻と、の差と、（ｉｉ）前記スレーブが前記第２メッセージを前記マスタに送信した第３時刻と、前記マスタが前記スレーブから前記第２メッセージを受信した第４時刻と、の差と、から前記伝搬遅延時間を求める、
請求項５に記載の通信システム。
【請求項８】
前記スレーブの前記時刻補正手段は、
前記マスタの前記時刻同期手段から時刻同期のための第１メッセージを受信すると、前記マスタの前記時刻同期手段に時刻同期のための第２メッセージを送信し、
（ｉ）前記スレーブが前記マスタから前記第１メッセージを受信した第１時刻と、前記マスタが前記第１メッセージを前記スレーブに送信した第２時刻と、の差と、（ｉｉ）前記スレーブが前記第２メッセージを前記マスタに送信した第３時刻と、前記マスタが前記スレーブから前記第２メッセージを受信した第４時刻と、の差と、から前記オフセットを求める、
請求項６に記載の通信システム。
【請求項９】
前記スレーブの前記時刻補正手段は、前記第１時刻及び前記第３時刻を前記第１計時手段から取得し、
前記マスタの前記時刻同期手段は、前記第２計時手段から取得した前記第２時刻及び前記第４時刻を前記スレーブの前記時刻補正手段に送信する、
請求項７又は８に記載の通信システム。
【請求項１０】
マスタスレーブ方式でマスタとグループ分けされた複数のスレーブとが通信し、前記グループ毎に通信周期が異なるように設定されている通信システムにおいて、前記スレーブとして機能する通信装置であって、
前記マスタから通知された基準時刻に合わせて自機が備える計時手段の時刻を補正する時刻補正手段と、
前記計時手段の時刻が、設定された時刻から自機が属するグループに設定された前記通信周期の時間が経過したことを示すか否かに応じて、前記マスタにデータを送信する送信タイミングであるか否かを判別する同期判別手段と、
前記送信タイミングで前記マスタにデータを送信する通信手段と、
を備える通信装置。
【請求項１１】
マスタスレーブ方式でマスタとグループ分けされた複数のスレーブとが通信し、前記グループ毎に通信周期が異なるように設定されている通信システムにおいて、前記スレーブとして機能するコンピュータに、
前記マスタから通知された基準時刻に合わせて前記コンピュータが備える計時手段の時刻を補正させ、
前記計時手段の時刻が、設定された時刻から自機が属するグループに設定された前記通信周期の時間が経過したことを示すか否かに応じて、前記マスタにデータを送信する送信タイミングであるか否かを判別させ、
前記送信タイミングで前記マスタにデータを送信させる、
プログラム。
【国際調査報告】
2020095413.tif 000009
2020095413.tif 000010
2020095413.tif 000011
2020095413.tif 000012