(57)【要約】【課題】  基準時刻の伝搬遅延時間が揺らいだ場合でも、より正確な時刻を設定できる時刻同期装置を得ること。【解決手段】  推定時刻算出部は、基準となる時刻を示す基準時刻を送信する複数のタイムマスタ装置のうち対応するタイムマスタ装置から送信される基準時刻とタイムマスタ装置からの伝播遅延時間とに基づいて、対応するタイムマスタ装置の推定時刻を算出し、現在時刻算出部は、複数の推定時刻算出部が算出した複数の推定時刻に基づいて、現在の時刻を示す現在時刻を算出する。【選択図】          図１
2014235013.tif 000002
【特許請求の範囲】
【請求項１】
基準となる時刻を示す基準時刻を送信する複数のタイムマスタ装置のうち対応する前記タイムマスタ装置から送信される前記基準時刻と前記タイムマスタ装置からの伝播遅延時間とに基づいて、対応する前記タイムマスタ装置の推定時刻を算出する複数の推定時刻算出部と、
複数の前記推定時刻算出部が算出した複数の前記推定時刻に基づいて、現在の時刻を示す現在時刻を算出する現在時刻算出部と、
を備えることを特徴とする時刻同期装置。
【請求項２】
前記現在時刻算出部は、複数の前記推定時刻の平均値を前記現在時刻として設定することを特徴とする請求項１に記載の時刻同期装置。
【請求項３】
前記推定時刻算出部は、前記タイムマスタ装置に同期して値を更新する推定時刻カウンタを保持し、前記基準時刻と前記伝播遅延時間とに基づいて前記推定時刻カウンタの値を算出して出力し、
前記現在時刻算出部は、前記タイムマスタ装置に同期して値を更新する現在時刻カウンタを保持し、複数の前記推定時刻算出部から入力される複数の前記推定時刻カウンタの値に基づいて前記現在時刻カウンタの値を算出し、前記現在時刻カウンタの値から前記現在時刻を算出することを特徴とする請求項１又は２に記載の時刻同期装置。
【請求項４】
前記現在時刻算出部は、複数の前記推定時刻カウンタの値から求めた平均値との差が閾値以上の前記推定時刻カウンタの値を破棄することを特徴とする請求項３に記載の時刻同期装置。
【請求項５】
前記推定時刻算出部は、対応する前記タイムマスタ装置から送信される前記基準時刻の受信間隔が閾値以上の前記基準時刻を破棄することを特徴とする請求項１から４のいずれかに記載の時刻同期装置。
【請求項６】
複数の前記タイムマスタ装置から前記基準時刻を受信し、送信元の前記タイムマスタ装置を示すアドレス情報に基づいて対応する前記推定時刻算出部に前記基準時刻を通知する受信部を備えることを特徴とする請求項１から５のいずれかに記載の時刻同期装置。
【請求項７】
基準となる時刻を示す基準時刻を送信する複数のタイムマスタ装置と、
対応する前記タイムマスタ装置から送信される前記基準時刻と前記タイムマスタ装置からの伝播遅延時間とに基づいて、対応する前記タイムマスタ装置の推定時刻を算出する推定時刻算出部と、
複数の前記推定時刻算出部が算出した複数の前記推定時刻に基づいて、現在の時刻を示す現在時刻を算出する現在時刻算出部と、
を備える１以上の時刻同期装置と、
を備えることを特徴とする時刻同期システム。
【請求項８】
基準となる時刻を示す基準時刻を送信するタイムマスタ装置から送信される前記基準時刻と前記タイムマスタ装置からの伝播遅延時間とに基づいて、複数の前記タイムマスタ装置のうち対応する前記タイムマスタ装置の推定時刻を算出する推定時刻算出ステップと、
前記推定時刻算出ステップが算出した複数の前記推定時刻に基づいて、現在の時刻を示す現在時刻を算出する現在時刻算出ステップと、
を有する時刻同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワークで接続された装置の時刻同期に関する。
【背景技術】
【０００２】
ネットワークで接続された複数の機器が連携して動作するようなシステムにおいては、複数の機器の制御タイミングをあわせるために、各機器の時刻を一致させることが必要である。例えば、資材を搬送中に切断するシステムにおいて、資材を搬送するタイミングと資材を切断するタイミングが一致していると、搬送中であっても資材を正しい位置で切断できる。しかし、資材を搬送するタイミングと資材を切断するタイミングがずれていると、資材を誤った位置で切断することになってしまう。複数の機器の持つ時刻を一致させることを時刻同期と呼ぶ。
【０００３】
時刻同期の方法として、次の方法がある。基準となる時刻である基準時刻を持つ機器（以下、タイムマスタと称す）が基準時刻を配信する。タイムマスタ以外の機器（以下、タイムスレーブと称す）は、タイムマスタから配信された基準時刻を受信したタイミングで、配信された基準時刻から伝搬遅延時間分、経過した時刻を自身の時刻として設定する。タイムスレーブは時刻同期装置である。
【０００４】
しかし、タイムマスタが１台しか存在しない場合、タイムマスタに異常が発生すると、すべてのタイムスレーブの時刻が狂い、システムとして正しく動作できなくなってしまう。そこで、複数のタイムマスタから１台を選択し、選択したタイムマスタから配信される基準時刻に基づいて、タイムスレーブの時刻を設定する技術がある。タイムスレーブは、自身の持つ時刻と選択したタイムマスタから配信された基準時刻の時刻差を算出する。時刻差が前回時刻を設定したときより増加し、所定値を越えた場合、他のタイムマスタを選択し、その時刻を設定する。（下記特許文献１参照）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１７８３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、タイムスレーブがタイムマスタから配信された基準時刻を受信するタイミングは、温度条件の違いや中継処理の待ち合わせなどにより伝搬遅延時間が揺らぎ、意図したタイミングからずれる場合がある。その結果、タイムスレーブは誤差を含む時刻を設定してしまうという問題点があった。
【０００７】
本発明は上記のような問題点を解決するためになされたもので、基準時刻の伝搬遅延時間が揺らいだ場合でも、より正確な時刻を設定できる時刻同期装置を得ることを目的としている。
【課題を解決するための手段】
【０００８】
推定時刻算出部は、基準となる時刻を示す基準時刻を送信する複数のタイムマスタ装置のうち対応するタイムマスタ装置から送信される基準時刻とタイムマスタ装置からの伝播遅延時間とに基づいて、対応するタイムマスタ装置の推定時刻を算出し、現在時刻算出部は、複数の推定時刻算出部が算出した複数の推定時刻に基づいて、現在の時刻を示す現在時刻を算出する。
【発明の効果】
【０００９】
本発明によれば、時刻同期装置は、基準時刻の伝搬遅延時間が揺らいだ場合でも、より正確な時刻を設定することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るタイムスレーブの構成を示すブロック図。
【図２】実施の形態１に係るタイムマスタの構成を示すブロック図。
【図３】実施の形態１に係る基準時刻通知フレームの構成の例を示す図。
【図４】実施の形態１に係るタイムマスタの基準時刻計数部及び送信部の処理の流れを示すフローチャート。
【図５】実施の形態１に係るタイムスレーブの受信部、推定時刻算出部、及び現在時刻算出部の処理の流れを示すフローチャートである。
【図６】実施の形態２に係るタイムスレーブの受信部、推定時刻算出部、及び現在時刻算出部の処理の流れを示すフローチャートである。
【図７】実施の形態３に係るタイムスレーブの受信部、推定時刻算出部、及び現在時刻算出部の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は、実施の形態１に係るタイムスレーブ１１の構成を示すブロック図である。タイムスレーブ１１は、Ｎ台のタイムマスタ１２ａ〜ｎと接続されている。タイムマスタ１２ａ〜ｎはＮ台としたが、３台以上であれば何台でもよい。タイムスレーブ１１は１台としたが、複数台としてもよい。タイムスレーブ１１はタイムマスタ１２ａ〜ｎから通知される基準時刻に同期する時刻同期装置である。
【００１２】
タイムスレーブ１１は、受信部１３、推定時刻算出部１４ａ〜ｎ、及び現在時刻算出部１５から構成される。受信部１３は、タイムマスタ１２ａ〜ｎから送信される基準時刻を受信する。推定時刻算出部１４ａ〜ｎは、Ｎ台のタイムマスタ１２ａ〜ｎそれぞれに対応し、Ｎ個存在する。受信部１３は、タイムマスタ１２ａ〜ｎから受信した基準時刻をタイムマスタ１２ａ〜ｎに対応する推定時刻算出部１４ａ〜ｎに通知する。推定時刻算出部１４ａ〜ｎは、それぞれタイムマスタ１２ａ〜ｎの基準時刻から推定時刻を算出し、現在時刻算出部１５に通知する。現在時刻算出部１５は、推定時刻算出部１４ａ〜ｎから通知された推定時刻に基づいて現在時刻を算出する。
【００１３】
タイムマスタを３台以上とするのは、次の理由からである。例えばタイムマスタ１２ａが故障しているのか否かは、他のタイムマスタ１２ｂ〜ｎから送信される基準時刻とタイムマスタ１２ａから送信される基準時刻とを比較することにより判定する。このとき、３台以上あれば多数決で判定することができるからである。
【００１４】
タイムスレーブ１１及びタイムマスタ１２ａ〜ｎは、同じ周波数のクロックを保持している。推定時刻算出部１４ａ〜ｎは、推定時刻カウンタＳａ〜ｎを保持している。推定時刻算出部１４ａ〜ｎは、クロックの周期にあわせて推定時刻カウンタＳａ〜ｎの値を増加させている。また、現在時刻算出部１５は、現在時刻カウンタを保持している。現在時刻算出部１５も、クロックの周期にあわせて現在時刻カウンタの値を増加させている。よって、推定時刻カウンタＳａ〜ｎと現在時刻カウンタは、タイムマスタ１２ａ〜ｎに同期して値を更新している。
【００１５】
タイムスレーブ１１の推定時刻算出部１４ａ〜ｎは、それぞれ対応するタイムマスタ１２ａ〜ｎからタイムスレーブ１１までの伝搬遅延時間Ｔａ〜Ｔｎを保持しているものとする。伝搬遅延時間Ｔａ〜Ｔｎは、複数回測定した値から求めた平均値でもよい。推定時刻算出部１４ａ〜ｎは、タイムスレーブ１１の起動時に伝播遅延時間の値を設定するようにしてもよいし、タイムスレーブ１１の起動中に定期的又は不定期で伝搬遅延時間を測定し、すでに保持している値との平均値を求めるようにしてもよい。
【００１６】
タイムマスタ１２ａ〜ｎの構成について、タイムマスタ１２ａを例として説明する。
図２は、実施の形態１に係るタイムマスタ１２ａの構成を示すブロック図である。タイムマスタ１２ａは、基準時刻計数部２１及び送信部２２から構成される。基準時刻計数部２１は、基準時刻カウンタＫａを保持している。基準時刻計数部２１は、タイムマスタ１２ａが保持するクロックの周期にあわせて基準時刻カウンタＫａの値を増加させていく。基準時刻計数部２１は基準時刻カウンタＫａを参照し、基準時刻として基準時刻カウンタＫａの値を送信部２２に通知する。送信部２２は、通知された基準時刻カウンタＫａの値をタイムスレーブ１１にブロードキャストで送信する。
【００１７】
図３は、実施の形態１に係る基準時刻通知フレーム３１の構成の一例を示す図である。タイムマスタ１２ａから通知される場合を例として説明する。基準時刻通知フレーム３１は、宛先アドレス、送信元アドレス、長さ／タイプ、データ、エラー検出符号から構成される。宛先アドレスには、ブロードキャストアドレスが設定される。送信元アドレスには、基準時刻通知フレーム３１の送信元であるタイムマスタ１２ａを示すアドレスが設定される。
【００１８】
長さ／タイプには、データの長さとデータの種類を識別する値が設定される。データには、データ種別、及び基準時刻が設定される。データ種別はデータの種類を示す識別子である。この場合、基準時刻通知フレーム３１であることを示す識別子が設定される。基準時刻にはタイムマスタ１２ａの基準時刻カウンタＫａの値が設定される。エラー検出符号は、通信中に誤りが発生していないか検出するための符号である。
【００１９】
次に、タイムマスタ１２ａ〜ｎの動作について、タイムマスタ１２ａを例として説明する。
【００２０】
図４は、実施の形態１に係るタイムマスタ１２ａの基準時刻計数部２１及び送信部２２の処理の流れを示すフローチャートである。タイムマスタ１２ａは、定期的又は不定期で図４に示す処理を実施する。定期的に実施するのは、例えば、基準時刻カウンタＫａの値が前回基準時刻カウンタＫａの値を送信したときよりＭ増加した場合である。Ｍは１以上の整数とする。また、不定期に実施するのは、例えば、ネットワークにタイムスレーブ装置が新たに追加され、ユーザがタイムマスタ１２ａに基準時刻を送信するようにトリガをかけた場合である。タイムマスタ１２ａは、ステップＳ４１より処理を開始する。
【００２１】
ステップＳ４１において、基準時刻計数部２１は、基準時刻カウンタＫａを参照し、基準時刻カウンタＫａの値ｘを送信部２２へ通知する。処理はステップＳ４２へ進む。
【００２２】
ステップＳ４２において、送信部２２は、基準時刻カウンタＫａの値ｘを含む基準時刻通知フレーム３１を生成し、タイムスレーブ１１にブロードキャストで送信し、処理を終了する。
【００２３】
次に、タイムスレーブ１１の動作について説明する。タイムマスタ１２ａから基準時刻通知フレーム３１が送信された場合を例とする。
【００２４】
図５は、実施の形態１に係るタイムスレーブ１１の受信部１３、推定時刻算出部１４ａ、及び現在時刻算出部１５の処理の流れを示すフローチャートである。タイムスレーブ１１は、タイムマスタ１２ａからブロードキャストで送信された基準時刻通知フレーム３１を受信すると、ステップＳ５１より処理を開始する。
【００２５】
ステップＳ５１において、受信部１３は、タイムマスタ１２ａから基準時刻通知フレーム３１を受信する。受信部１３は、あらかじめタイムマスタ１２ａ〜ｎのアドレス情報を保持し、推定時刻算出部１４ａ〜ｎとの対応付けを保存しているものとする。受信部１３は、基準時刻通知フレーム３１の送信元アドレスを参照し、タイムマスタ１２ａのアドレス情報と一致するため、推定時刻算出部１４ａへ基準時刻カウンタＫａの値ｘを通知する。処理はステップＳ５２へ進む。
【００２６】
ステップＳ５２において、推定時刻算出部１４ａは、基準時刻カウンタＫａの値ｘが通知されると、推定時刻として推定時刻カウンタＳａの値を算出する。推定時刻算出部１４ａは、タイムマスタ１２ａからタイムスレーブ１１までの伝搬遅延時間Ｔａに対応するカウンタ値αを基準時刻カウンタＫａの値ｘに加算し、推定時刻カウンタＳａの値ｘ＋αを算出する。推定時刻算出部１４ａは、伝搬遅延時間Ｔａに対応するカウンタ値αを保持しているものとする。なお、推定時刻算出部１４ａは、伝搬遅延時間Ｔａから対応するカウンタ値αを算出してもよい。推定時刻算出部１４ａは、推定時刻カウンタＳａの値ｘ＋αを現在時刻算出部１５に通知する。処理はステップＳ５３へ進む。
【００２７】
ステップＳ５３において、現在時刻算出部１５は、推定時刻算出部１４ａから推定時刻カウンタＳａの値を受信する。図示していないが、現在時刻算出部１５は、他の推定時刻算出部１４ｂ〜ｎからも推定時刻カウンタＳｂ〜ｎの値を受信する。現在時刻算出部１５は、推定時刻カウンタＳａ〜ｎの値から平均値を算出する。
【００２８】
現在時刻算出部１５が推定時刻カウンタＳａ〜ｎの平均値を算出するタイミングは特に限定しない。例えば、受信部１３がタイムマスタ１２ａ〜ｎから同じ周期で基準時刻カウンタの値を受信する場合、現在時刻算出部１５は、新たな推定時刻カウンタＳａ〜ｎの値をすべて受信したタイミングで平均値を算出してもよい。また、新たな推定時刻カウンタａ〜ｎのいずれかの値を受信したタイミングで、すでに算出した平均値を用いて新たな平均値を算出するようにしてもよい。
【００２９】
現在時刻算出部１５は、算出した推定時刻カウンタＳａ〜ｎの平均値を現在時刻カウンタの値とし、設定する。処理は、ステップＳ５４へ進む。
【００３０】
ステップＳ５４において、現在時刻算出部１５は、現在時刻カウンタの値から現在時刻を算出する。例えば、現在時刻算出部１５は、数式１により現在時刻を算出する。ｚ、ｗは０以上の整数とする。また、現在の現在時刻カウンタの値はｚとする。処理は終了する。
【００３１】
【数１】
2014235013.tif 000003
【００３２】
なお、本実施の形態において、タイムマスタ１２ａ〜ｎは基準時刻通知フレーム３１をブロードキャストでタイムスレーブ１１に送信するようにしたが、ユニキャストで送信するようにしてもよい。また、複数台のタイムスレーブ１１が接続されている場合、タイムマスタ１２ａ〜ｎは基準時刻通知フレーム３１をマルチキャストでタイムスレーブ１１に送信するようにしてもよい。
【００３３】
また、本実施の形態において、推定時刻算出部１４ａ〜ｎは、タイムマスタ１２ａ〜ｎと１対１に対応するようにしたが、推定時刻算出部１４ａ〜ｎが複数のタイムマスタに対応するようにしてもよい。
【００３４】
したがって、本実施の形態では、推定時刻算出部１４ａ〜ｎは、基準となる時刻を示す基準時刻を送信するタイムマスタ１２ａ〜ｎのうち対応するタイムマスタから送信される基準時刻とタイムマスタからの伝播遅延時間とに基づいて、対応するタイムマスタの推定時刻を算出し、現在時刻算出部１５は、複数の推定時刻算出部１４ａ〜ｎが算出した複数の推定時刻に基づいて、現在の時刻を示す現在時刻を算出しているので、基準時刻の伝搬遅延時間が揺らいだ場合でも、より正確な時刻を設定することができる。
【００３５】
よって、例えばＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）の分野の複数の機器が連携して動作するようなシステムにも本実施の形態を適用することができる。
【００３６】
また、現在時刻算出部１５は、複数の推定時刻の平均値を現在時刻として設定しているので、基準時刻の伝搬遅延時間が揺らいだ場合でも、中心極限定理によって、より正確な時刻を設定することができる。
【００３７】
また、推定時刻算出部１４ａ〜ｎは、タイムマスタに同期して値を更新する推定時刻カウンタを保持し、基準時刻と伝播遅延時間とに基づいて推定時刻カウンタＳａ〜ｎの値を算出して出力し、現在時刻算出部１５は、タイムマスタに同期して値を更新する現在時刻カウンタを保持し、複数の推定時刻算出部１４ａ〜ｎから入力される複数の推定時刻カウンタＳａ〜ｎの値に基づいて現在時刻カウンタの値を算出し、現在時刻カウンタの値から現在時刻を算出しているので、基準時刻の伝搬遅延時間が揺らいだ場合でも、より正確な時刻を設定することができる。
【００３８】
また、受信部１３は、複数のタイムマスタから基準時刻を受信し、送信元のタイムマスタを示すアドレス情報に基づいて対応する推定時刻算出部１４ａ〜ｎに基準時刻を通知しているので、複数のタイムマスタの推定時刻を算出することができる。
【００３９】
実施の形態２．
以上の実施の形態１では、タイムスレーブ１１はタイムマスタ１２ａ〜ｎより送信される基準時刻カウンタの値をすべて推定時刻カウンタの値の算出に用いるようにしたものであるが、本実施の形態においては、タイムマスタ１２ａ〜ｎから送信される基準時刻カウンタの値から算出した推定時刻カウンタの値と平均値とを比較し、その差が閾値以上の場合にはそのタイムマスタに異常が発生していると判断し、当該推定時刻カウンタの値を破棄する実施の形態を示す。
なお、本実施の形態において、タイムスレーブ１１及びタイムマスタ１２ａ〜ｎの構成は、実施の形態１と同様である。
【００４０】
タイムスレーブ１１の動作について、タイムマスタ１２ａから基準時刻通知フレーム３１を受信した場合を例として説明する。
【００４１】
図６は、実施の形態２に係るタイムスレーブ１１の受信部１３、推定時刻算出部１４ａ、及び現在時刻算出部１５の処理の流れを示すフローチャートである。ステップＳ６１〜Ｓ６２の処理は、図５のステップＳ５１〜Ｓ５２と同じであるため、説明を省略する。
【００４２】
ステップＳ６１〜Ｓ６２の処理が行われ、処理はステップＳ６３へ進む。ステップＳ６３において、現在時刻算出部１５は、推定時刻算出部１４ａから通知された推定時刻カウンタＳａの値を受信する。図示していないが、現在時刻算出部１５は、他の推定時刻算出部１４ｂ〜ｎからも推定時刻カウンタＳｂ〜ｎの値を受信する。現在時刻算出部１５は、推定時刻カウンタＳａ〜ｎの値から平均値を算出する。現在時刻算出部１５は、閾値を保持しているものとする。
【００４３】
現在時刻算出部１５は、推定時刻カウンタＳａの値と平均値を比較する。推定時刻カウンタＳａの値と平均値との差が閾値以上の場合、処理はステップＳ６４へ進む。推定時刻カウンタＳａの値と平均値との差が閾値以上でない場合、処理はステップＳ６５へ進む。
【００４４】
ステップＳ６４において、現在時刻算出部１５は、タイムマスタ１２ａに異常が発生したと判断し、推定時刻カウンタＳａの値を破棄する。処理はステップＳ６６へ進む。
【００４５】
ステップＳ６５において、現在時刻算出部１５は、平均値との差が閾値以上でない推定時刻カウンタの値から平均値を算出する。例えば、推定時刻カウンタＳａの値が破棄された場合には、現在時刻算出部１５は、推定時刻カウンタＳｂ〜ｎの値から平均値を算出する。現在時刻算出部１５は、算出した平均値から現在時刻カウンタの値を算出し、設定する。処理はステップＳ６６へ進む。
【００４６】
ステップＳ６６において、現在時刻算出部１５は、現在時刻カウンタの値から現在時刻を算出し、処理を終了する。
【００４７】
したがって、本実施の形態では、現在時刻算出部１５は、複数の推定時刻カウンタの値から求めた平均値との差が閾値以上の推定時刻カウンタの値を破棄するので、異常が発生しているタイムマスタからの基準時刻の影響を受けず、より正確な時刻を設定することができる。
【００４８】
実施の形態３．
以上の実施の形態２では、タイムマスタ１２ａ〜ｎから送信される基準時刻から算出した推定時刻カウンタの値と平均値とを比較し、その差が閾値以上の場合にはタイムマスタに異常が発生していると判断し、当該推定時刻カウンタの値を破棄するようにしたものであるが、本実施の形態においては、タイムマスタ１２ａ〜ｎから送信される基準時刻の受信間隔が所定の時間以上の場合に当該タイムマスタに異常が発生していると判断し、当該基準時刻を破棄する実施の形態を示す。
なお、本実施の形態において、タイムスレーブ１１及びタイムマスタ１２ａ〜ｎの構成は、実施の形態２と同様である。
【００４９】
タイムスレーブ１１の動作について、タイムマスタ１２ａから基準時刻通知フレーム３１を受信した場合を例として説明する。
【００５０】
図７は、実施の形態３に係るタイムスレーブ１１の受信部１３、推定時刻算出部１４ａ、及び現在時刻算出部１５の処理の流れを示すフローチャートである。タイムスレーブ１１は、タイムマスタ１２ａからブロードキャストで送信された基準時刻通知フレーム３１を受信すると、ステップＳ７１より処理を開始する。
【００５１】
ステップＳ７１において、受信部１３は、タイムマスタ１２ａから基準時刻通知フレーム３１を受信し、推定時刻算出部１４ａへ基準時刻カウンタの値を通知する。処理はステップＳ７２へ進む。
【００５２】
ステップＳ７２において、推定時刻算出部１４ａは、基準時刻を前回受信してから今回受信するまでの受信間隔と閾値を比較する。推定時刻算出部１４ａは、閾値を保持しているものとする。受信間隔が閾値以上の場合、処理はステップＳ７３へ進む。受信間隔が閾値以上でない場合、処理はステップＳ７４へ進む。
【００５３】
ステップＳ７３において、推定時刻算出部１４ａは、タイムマスタ１２ａに異常が発生したと判断し、基準時刻カウンタの値を破棄する。処理はステップＳ７５へ進む。
【００５４】
ステップＳ７４の処理は、図５のステップＳ５２と同じであるため、説明を省略する。処理はステップＳ７５へ進む。
【００５５】
ステップＳ７５において、現在時刻算出部１５は、推定時刻カウンタＳａ〜ｎのうち通知された値から現在時刻カウンタの値を算出する。算出方法は、図５のステップＳ５３と同じであるため、説明を省略する。処理はステップＳ７６へ進む。
【００５６】
ステップＳ７６の処理は、図５のステップＳ５４と同じであるため、説明を省略する。処理は終了する。
【００５７】
なお、現在時刻算出部１５は、さらに実施の形態２で示したように、平均値との差が閾値以上の推定時刻カウンタの値を破棄し、現在時刻の算出に用いないようにしてもよい。
【００５８】
したがって、本実施の形態では、推定時刻算出部１４ａ〜ｎは、対応するタイムマスタ装置１２ａ〜ｎから送信される基準時刻の受信間隔が閾値以上の基準時刻を破棄するので、異常が発生しているタイムマスタからの基準時刻の影響を受けず、より正確な時刻を設定することができる。
【符号の説明】
【００５９】
１１  タイムスレーブ
１２、１２ａ〜ｎ  タイムマスタ
１３  受信部
１４ａ〜ｎ  推定時刻算出部
１５  現在時刻算出部
２１  基準時刻計数部
２２  送信部
３１  基準時刻通知フレーム
【図１】
2014235013.tif 000004
【図２】
2014235013.tif 000005
【図３】
2014235013.tif 000006
【図４】
2014235013.tif 000007
【図５】
2014235013.tif 000008
【図６】
2014235013.tif 000009
【図７】
2014235013.tif 000010