JP7122496B2 - 時刻補正装置、時刻補正方法及び時刻補正プログラム - Google Patents

時刻補正装置、時刻補正方法及び時刻補正プログラム Download PDF

Info

Publication number
JP7122496B2
JP7122496B2 JP2022527443A JP2022527443A JP7122496B2 JP 7122496 B2 JP7122496 B2 JP 7122496B2 JP 2022527443 A JP2022527443 A JP 2022527443A JP 2022527443 A JP2022527443 A JP 2022527443A JP 7122496 B2 JP7122496 B2 JP 7122496B2
Authority
JP
Japan
Prior art keywords
time
frequency deviation
correction amount
time correction
synchronization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022527443A
Other languages
English (en)
Other versions
JPWO2021240783A1 (ja
JPWO2021240783A5 (ja
Inventor
太一 坂上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2021240783A1 publication Critical patent/JPWO2021240783A1/ja
Publication of JPWO2021240783A5 publication Critical patent/JPWO2021240783A5/ja
Application granted granted Critical
Publication of JP7122496B2 publication Critical patent/JP7122496B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G5/00Setting, i.e. correcting or changing, the time-indication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)

Description

本開示は、時刻同期に関する。
近年TSN(Time Sensitive Networking)のFA(Factory Automation)ネットワークへの適用が検討されている。TSNでは、IEEE802.1AS又はIEEE1588で規格化されている時刻同期プロトコル(以下、単にプロトコルともいう)を用いて時分割通信を実施する。FAネットワークのリアルタイム性を保証するためには同期精度を±1μsで実現する必要がある。同期精度を左右する要因として時刻配信を行うフレームの伝搬時間のジッタと各機器の水晶発振器の周波数偏差がある。水晶発振器の周波数偏差の要因として、水晶発信器固有の周波数の偏差と温度変化による周波数の変化が存在する。これらの要因により、十分な同期精度を保証できないケースが存在する。
また、時刻同期を実施する非常に多数の機器がネットワークに存在している場合に十分な同期精度を満たすためには、フレームの伝搬時間ジッタの影響、周波数変化による時刻ずれの両方の要因を軽減する必要がある。しかし、周波数変化が激しい環境(恒温槽試験など温度変化が激しい環境)においては、平均化回数を増やすと同期性能がかえって劣化する。十分な同期精度を得るためには、ジッタの影響を軽減するだけでなく、周波数偏差による時刻ずれも補正する必要がある。
特許文献1には、周波数偏差による時刻ずれを補正する技術が開示されている。
特開2017-188876号公報
特許文献1では、周波数偏差が一定の場合に周波数偏差による時刻ずれを補正する技術が開示されるのみである。つまり、特許文献1の技術では、周波数偏差が変動する場合には、変動する周波数偏差に合わせて時刻補正することはできないという課題がある。
本開示は、上記のような課題を解決することを主な目的の一つとする。より具体的には、本開示は、周波数偏差が変動する場合に、変動する周波数偏差に合わせた時刻補正を可能にすることを主な目的とする。
本開示に係る時刻補正装置は、
時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の単位時間あたりの変化率である周波数偏差変化率を算出する周波数偏差変化率算出部と、
前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の固定的な周波数偏差に対応する第1の補正量を算出し、前記周波数偏差変化率の時間積分を行って前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の周波数偏差の時間推移に対応する第2の補正量を算出し、前記第1の補正量と前記第2の補正量とを用いて、前記時刻同期装置の時刻を補正するための時刻補正量を算出する時刻補正量算出部と、
前記時刻補正量を用いて、前記時刻同期装置の時刻を補正する時刻補正部とを有する。
本開示によれば、周波数偏差が変動する場合に、変動する周波数偏差に合わせた時刻補正が可能である。
実施の形態1に係る時刻同期システムの構成例を示す図。 実施の形態1に係るスレーブ装置のハードウェア構成例を示す図。 実施の形態1に係るスレーブ装置の機能構成例を示す図。 実施の形態1に係るスレーブ装置の動作例を示すフローチャート。 実施の形態1に係る時刻補正方法の具体例を示す図。 実施の形態2に係るスレーブ装置の機能構成例を示す図。 実施の形態2に係る時刻補正方法(2-a)を実現する学習部の内部構成例を示す図。 実施の形態2に係る時刻補正方法(2-a)を実現するスレーブ装置の動作例を示すフローチャート。 実施の形態2に係る時刻補正方法(2-)の具体例を示す図。 実施の形態2に係る時刻補正方法(2-b)を実現する学習部の内部構成例を示す図。 実施の形態2に係る時刻補正方法(2-b)を実現するスレーブ装置の動作例を示すフローチャート。 実施の形態2に係る時刻補正方法(2-b)の具体例を示す図。 実施の形態3に係る水晶発振器の周波数偏差特性の例を示す図。 実施の形態3に係る偏差温度特性推定部、偏差時間特性推定部及び時刻補正量推定部の関係を示す図。 実施の形態3に係る時刻補正方法(3-a)を実現する学習部の内部構成例を示す図。 実施の形態3に係る時刻補正方法(3-b)を実現する学習部の内部構成例を示す図。 実施の形態3に係る時刻補正量の推定を示す図。 実施の形態3に係る予兆検知の例(3-a)を示す図。 実施の形態3に係る予兆検知の例(3-b)を示す図。 実施の形態3に係る時刻補正量の計算方法を示す図。 実施の形態3に係る微小時間で時刻補正量の計算する方法を示す図。 実施の形態3に係る予兆検知の例(3-a)における時刻補正方法を示す図。 実施の形態3に係る予兆検知の例(3-b)における時刻補正方法を示す図。 実施の形態4に係るスレーブ装置の機能構成例を示す図。 実施の形態5に係る時刻同期システムの構成例を示す図。 実施の形態5に係るスレーブ装置の機能構成例を示す図。 実施の形態5に係るサーバ装置の機能構成例を示す図。 IEEE802.1ASの時刻同期の原理を示す図。
以下、実施の形態を図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
実施の形態1.
***IEEE802.1ASの時刻同期***
先ず、本実施の形態を説明する前に、本実施の形態の前提となるIEEE802.1ASの時刻同期の原理を説明する。
図28は、IEEE802.1ASの時刻同期における通信シーケンスを示す。
図28の例では、スレーブ装置がグランドマスタ装置の時刻に同期する例を説明する。
グランドマスタ装置及びスレーブ装置は、時刻カウンタとフリーランカウンタの2種類のカウンタを実装する。
時刻カウンタは、グランドマスタ装置の時刻に合わせてカウンタ値が補正される。
フリーランカウンタは、補正されることなく自走し続けるカウンタである。
スレーブ装置では、フリーランカウンタで時刻を刻む。そして、スレーブ装置は、フリーランカウンタの値に基づいて時刻カウンタのカウントを進める。スレーブ装置の時刻カウンタはグランドマスタの時刻(時刻カウンタの値)に定期的に補正される。
以下では、フリーランカウンタの値をT*freeと表現し、時刻カウンタの値をT*timeと表現する。
時刻同期では、以下の(1)、(2)及び(3)の処理が行われる。
(1)周波数偏差の計算
(a)スレーブ装置がPdelay_Reqフレームをグランドマスタ装置に送信する。グランドマスタ装置がPdelay_Reqフレームへの応答としてPdelay_Respフレームをスレーブ装置に送信する。グランドマスタ装置は、Pdelay_Respフレームの送信時のタイムスタンプ(T3free(0))を取得する。
(b)スレーブ装置は、Pdelay_Respフレームを受信する。また、スレーブ装置は、Pdelay_Respフレームの受信時のタイムスタンプ(T4free(0))を取得する。
(c)次に、グランドマスタ装置は、T3free(0)のタイムスタンプ情報をPDelayResp_Follow_Upフレームに格納し、PdelayResp_Follow_Upフレームをスレーブ装置に送信する(図28ではPdelayResp_Follow_Upフレームの送信の図示を省略)。
(d)上記の(a)からN周期後のPdelay_Respのフレームの送信時のタイムスタンプ(T3free(N))と受信時のタイムスタンプ(T4free(N))からスレーブ装置は以下の式1により周波数偏差Rを計算する(厳密にはRは周波数偏差比であり、IEEE802.1ASでは、Rate Ratioとして定義される)。
Figure 0007122496000001
(2)伝搬遅延時間の計算
(a)スレーブ装置がPdelay_Reqフレームを送信し、Pdelay_Reqフレームの送信時のタイムスタンプ(T1free(N))を取得する。
(b)グランドマスタ装置はPdelay_Reqフレームを受信し、Pdelay_Reqフレームの受信時のタイムスタンプ(T2free(N))を取得する。
(c)グランドマスタ装置はPdelay_Reqフレームの受信時のタイムスタンプ(T2free(N))をPdelay_Respフレームに格納し、Pdelay_Respフレームをスレーブ装置に送信する。このとき、グランドマスタ装置は、Pdelay_Respフレームの送信時のタイムスタンプ(T3free(N))を取得する。
(d)スレーブ装置は、Pdelay_Respフレームを受信し、Pdelay_Respフレームの受信時のタイムスタンプ(T4free(N))を取得する。
(e)グランドマスタ装置は、Pdelay_Resp_Follow_UpフレームにT3free(N)のタイムスタンプ情報を格納し、Pdelay_Resp_Follow_Upフレームをスレーブ装置に送信する(図28ではPdelayResp_Follow_Upフレームの送信の図示を省略)。
(f)スレーブ装置は、Pdelay_Resp_Follow_Upフレームを受信し、T3free(N)のタイムスタンプ情報を取得する。
(g)スレーブ装置は、以下の式2により伝搬遅延時間Dを計算する。
Figure 0007122496000002
(3)時刻補正
(a)グランドマスタ装置はSyncフレームを送信し、Syncフレームの送信時のタイムスタンプ(T5time(N))を取得する。
(b)スレーブ装置はSyncフレームを受信し、Syncフレームの受信時のタイムスタンプ(T6time(N))を取得する。
(c)グランドマスタ装置は、Follow_UpフレームにT5time(N)のタイムスタンプ情報を格納し、Follow_Upフレームをスレーブ装置に送信する(図28ではFollow_Upフレームの送信の図示を省略)。
(d)スレーブ装置は、Follow_Upフレームを受信し、T5time(N)のタイムスタンプ情報を取得する。
(e)スレーブ装置は、Syncフレームの受信後、時刻同期を実施する時刻Ttime,syncでのグランドマスタ装置での時刻C(T)を以下の式3により計算し、時刻Ttime,syncでC(T)に時刻補正する。
Figure 0007122496000003
なお、グランドマスタ装置とスレーブ装置との間の時刻ずれは、主に、式3の「D+R×(Ttime,sync-T6time(N))により発生する。つまり、スレーブ装置が自走している間に時刻のずれが生じる。
周波数偏差はPdelay_Reqフレーム及びPdelay_Respで取得されるN周期分(N≧1の整数)のタイムスタンプを用いて計算される。よって、図28において、周波数偏差測定周期INTRRはPdelay_Req送信周期INTPDの整数倍となる。
INTRR = INTPD×N(N≧1の整数)
Pdelay_Req送信周期INTPDとSync送信周期INTsyncとの大小関係について規格上は特に規定はされていない。本実施の形態では、INTPD=INTsyncであることを前提とするが、INTPDとINTsyncの大小関係は問わない。
後述する周波数偏差計算周期はPdelay_Req送信周期INTPDと同等の長さとする。なお、周波数偏差計算周期は規格上定義されているものではない。
周波数偏差測定周期と周波数計算周期の関係は図5の通り。周波数偏差測定で使用するタイムスタンプはPdelay_Req送信周期毎に取得し、最新値とN周期前のタイムスタンプによって周波数偏差を計算する。よって、周波数偏差自体は、Pdelay_Req送信周期(周波数偏差計算周期)毎周期計算される。
***構成の説明***
図1は、本実施の形態に係る時刻同期システム1000の例を示す。
本実施の形態に係る時刻同期システム1000は、グランドマスタ装置100とスレーブ装置200で構成される。
グランドマスタ装置100は、時刻同期の基準となる。グランドマスタ装置100は、時刻配信を実施する。グランドマスタ装置100は、同期基準装置に相当する。
スレーブ装置200は、グランドマスタ装置100と時刻同期する。スレーブ装置200は時刻同期装置に相当する。
グランドマスタ装置100は、コンピュータである。具体的には、グランドマスタ装置100は、時刻同期専用のスイッチ、時刻同期専用のターミナル、時刻同期専用のIC(Integrated Circuit)チップ、汎用のPC(Personal Computer)のような非制御用途装置でもよい。また、グランドマスタ装置100は、PLC(Programmable Logic Controller)、モーションコントローラ等の制御装置でもよい。
スレーブ装置200も、コンピュータである。具体的には、スレーブ装置200は、時刻同期専用のスイッチ、時刻同期専用のターミナル、時刻同期専用のICチップ、汎用のPCのような非制御用途装置でもよい。また、スレーブ装置200は、PLC、モーションコントローラ等の制御装置でもよい。
図2は、スレーブ装置200のハードウェア構成例を示す。
スレーブ装置200は、ハードウェアとして、プロセッサ901、主記憶装置902、補助記憶装置903及び通信装置904を備える。
また、スレーブ装置200は、機能構成として、後述する通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205及び時刻補正部206を備える。
補助記憶装置903には、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205及び時刻補正部206の機能を実現するプログラムが記憶されている。
これらプログラムは、補助記憶装置903から主記憶装置902にロードされる。そして、プロセッサ901がこれらプログラムを実行して、後述する通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205及び時刻補正部206の動作を行う。
図3では、プロセッサ901が通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205及び時刻補正部206の機能を実現するプログラムを実行している状態を模式的に表している。
図3は、本実施の形態に係るスレーブ装置200の機能構成例を示す。
通信部201は、通信装置904を用いて、Pdelay_Reqフレームの送信、Pdelay_Respフレームの受信等の図28を用いて説明した通信フレームの送信及び受信を行う。なお、図28を用いて説明した、時刻同期に用いられる通信フレームを時刻同期フレームという。
制御部202は、スレーブ装置200の動作を制御する。具体的には、制御部202は、Pdelay_Reqフレーム等のグランドマスタ装置100に送信する時刻同期フレームを生成する。また、制御部202は、Pdelay_Respフレーム等のグランドマスタ装置100から受信した時刻同期フレームを処理する。更に、制御部202は、タイムスタンプの管理を行う。
時刻管理部203は、フリーランカウンタ2031と時刻カウンタ2032を管理する。
フリーランカウンタ2031と時刻カウンタ2032は、図28で説明したものと同様である。
周波数偏差変化率算出部204は、周波数偏差および周波数偏差変化率を算出する。周波数偏差変化率は、周波数偏差の単位時間あたりの変化率である。この周波数偏差は、グランドマスタ装置100のクロック周波数とスレーブ装置200のクロック周波数との偏差である。
周波数偏差変化率算出部204により行われる処理は、周波数偏差変化率算出処理に相当する。
時刻補正量算出部205は、周波数偏差を時間積分して、スレーブ装置200の時刻を補正するための時刻補正量を算出する。つまり、時刻補正量算出部205は、時刻カウンタ2032の値を補正するための時刻補正量を算出する。
時刻補正量算出部205により行われる処理は、補正量算出処理に相当する。
時刻補正部206は、時刻補正量算出部205により算出された時刻補正量を用いて、スレーブ装置200の時刻を補正する。より具体的には、時刻補正部206は、スレーブ装置200の内部時刻である時刻カウンタ2032のカウンタ値から時刻補正量を減算してスレーブ装置200の時刻を補正する。
時刻補正部206により行われる処理は、時刻補正処理に相当する。
周波数偏差変化率算出部204、時刻補正量算出部205及び時刻補正部206は時刻補正装置300を構成する。
時刻補正装置300の動作手順は、時刻同期方法に相当する。また、時刻補正装置300の動作を実現するプログラムは、時刻同期プログラムに相当する。
***動作の説明***
本実施の形態では、周波数偏差変化率算出部204が、グランドマスタ装置100のクロック周波数とスレーブ装置200のクロック周波数との周波数偏差を定期的に算出し、また、周波数偏差変化率を定期的に算出する。また、本実施の形態では、時刻補正量算出部205が、周波数変化による時刻ずれを補正する時刻補正量を周波数偏差変化率の時間積分値として算出する。そして、時刻補正部206が、時刻補正量を用いて時刻補正を実施する。
(A)周波数偏差変化率の算出
周波数偏差変化率算出部204は、IEEE1588又はIEEE802.1ASのプロトコルを用いて周波数偏差を算出し、算出した周波数偏差の値を主記憶装置902又は補助記憶装置903に格納する。また、周波数偏差変化率算出部204は、過去N周期前の周波数偏差から周波数偏差変化率を算出する。
(B)時刻の補正
周波数偏差変化率はppm/sの単位で表すことができる。周波数偏差変化率P’(s)[ppm/s]とすると、絶対時間t秒が経過したときの時刻カウンタ2032の値は、以下の式4のように、p’(t)×tの時間積分で表すことができる。
Figure 0007122496000004
なお、式4における近似式(1/2×P’(t)×t)は、周波数変化が単調増加とみなせる区間での近似である。
本実施の形態では、周波数変化を単調増加とみなせる。このため、時刻補正量算出部205は、固定的な偏差による時刻ずれを補正するための補正量に加えて、Sync受信時刻(もしくは平均Sync受信時刻)からの経過時間Tを用いて、以下の式5より、グランドマスタ装置100とスレーブ装置200との間の周波数偏差の時間推移に対応する補正量ΔCp’(t)を算出する。補正量ΔCp’(t)は第2の補正量に相当する。ここでは、計算を単純にするために、式5により第2の補正量を算出する例を示すが、周波数変化が単調増加とみなせない場合は、式4に示すように、時刻補正量算出部205は周波数偏差変化率の時間積分を行って補正量ΔCp’(t)を算出する。また、周波数変化が単調増加とみなせる場合でも、高精度の時刻補正を実施するために、時刻補正量算出部205は、式4に示すように、周波数偏差変化率の時間積分を行って補正量ΔCp’(t)を算出してもよい。
Figure 0007122496000005
次に、本実施の形態に係るスレーブ装置200の動作例をより詳細に説明する。
図4は、本実施の形態に係るスレーブ装置200の動作例を示す。また、図5は、本実施の形態に係る時刻補正方法の具体例を示す。
先ず、周波数偏差変化率算出部204が、周波数偏差P(1)を算出する(ステップS401)。
より具体的には、周波数偏差変化率算出部204は、図5に示す周波数偏差測定周期INTRR(1)の区間でグランドマスタ装置100とスレーブ装置200との間のクロック周波数の周波数偏差P(1)を式6に従って算出する。
なお、周波数偏差変化率算出部204は、例えば、図28を参照して説明した手順と同じ手順に従って式6内のTRR,M(1)及びTRR,S(1)を算出する。
RR,M(1)はマスタが計測したINTRR(1)分の時間、TRR,S(1)はスレーブが計測したINTRR(1)分の時間である。下式でマスタとスレーブの時刻の進みの比率を求めている。
Figure 0007122496000006
次に、周波数偏差変化率算出部204は、周波数偏差P(2)を算出する(ステップS402)。
つまり、周波数偏差変化率算出部204は、図5に示す周波数偏差測定周期INTRR(2)の区間でグランドマスタ装置100とスレーブ装置200との間のクロック周波数の周波数偏差P(2)を式7に従って算出する。
式6の場合と同様に、周波数偏差変化率算出部204は、例えば、図28を参照して説明した手順と同じ手順に従って式内のTRR,M(2)及びTRR,S(2)を算出する。
RR,M(2)はマスタが計測したINTRR(2)分の時間、TRR,S(2)はスレーブが計測したINTRR(2)分の時間である。
Figure 0007122496000007
次に、周波数偏差変化率算出部204は、ステップS401で算出した周波数偏差P(1)とステップS402で算出した周波数偏差P(2)とを用いて周波数偏差変化率P’(t)を式8により算出する(ステップS403)。
なお、図5に示すように、周波数偏差計算周期はINTPD(*)(=INTSync(*))である。周波数偏差計算周期INTPD(*)はPdelay_Req送信周期を兼ねる。INTSync(*)は、図28に示すように、Sync送信周期である。Sync送信周期は、時刻同期フレーム送信周期に相当する。
Figure 0007122496000008
次に、周波数偏差変化率算出部204が、Sync受信時刻Cs,rx(2)を算出する(ステップS404)。
具体的には、通信部201がグランドマスタ装置100から時刻配信フレームであるSyncフレームを受信する。そして、周波数偏差変化率算出部204が、Syncフレームで通知されるグランドマスタ装置100でのSyncフレームの送信時刻に基づき、式9により、Sync受信時刻Cs,rx(2)を算出する。
なお、式9において、Dは伝搬遅延時間を表し、Cm,tx(2)は、Syncフレームで通知されるグランドマスタ装置100でのSyncフレームの送信時刻である。
Figure 0007122496000009
次に、時刻補正量算出部205が、時刻補正量ΔC(t)を算出する(ステップS405)。
具体的には、時刻補正量算出部205は、式10に従って、ΔC(t)を算出する。また、時刻補正量算出部205は、式5に従って、ΔCp’(t)を算出する。ΔC(t)は、グランドマスタ装置100とスレーブ装置200との間の固定的な周波数偏差による時刻ずれに対応する補正量である。ΔC(t)は第1の補正量に相当する。前述したように、ΔCp’(t)は、周波数変化による時刻ずれを補正するための補正量であり、第2の補正量に相当する。ΔCp’(t)は式5により得られる。
そして、時刻補正量算出部205は、式11に示すように、ΔC(t)とΔCp’(t)とを加算して、最終的に時刻カウンタ2032を補正するための時刻補正量ΔC(t)を算出する。時刻補正量ΔC(t)は、Syncフレームの受信から後述するステップS406での時刻補正までの時刻ずれ量を補正するための値である。
周波数偏差変化率算出部204は、時刻同期フレーム送信周期であるSync送信周期に合わせて周波数偏差変化率を算出する。また、時刻補正量算出部205は、Sync送信周期に合わせてΔC(t)とΔCp’(t)を算出する。そして、時刻補正量算出部205は、現在のSync送信周期の1つ前のSync送信周期に算出されたΔC(t)とΔCp’(t)とを用いて、現在のSync送信周期の時刻補正量ΔC(t)を算出する。
Figure 0007122496000010
Figure 0007122496000011
最後に、時刻補正部206が補正量ΔC(t)を用いて時刻補正を行う(ステップS406)。
具体的には、時刻補正部206は、以下のように補正量ΔC(t)を用いて時刻カウンタ2032のカウンタ値を補正する。
補正前のスレーブ装置200の時刻CS,before(2)は以下の式12で表すことができる。なお、Tmは、グランドマスタ装置100がSyncフレームを送信してから時刻補正部206が時刻同期を行うまでの時間に相当する、グランドマスタ装置100のフリーランカウンタのカウンタ値である。
Figure 0007122496000012
式9及び式11より、式13に示すように、T[s]後に時刻補正部206が、時刻カウンタ2032において、時刻CS,before(2)から時刻補正量ΔC(t)の値を差し引くことで、時刻カウンタ2032をグランドマスタ装置100の時刻カウンタと同期させることができる。
式13において、CS,after(2)が時刻同期時の時刻カウンタ2032のカウンタ値である。また、式13において、Cm(2)は、時刻補正部206が時刻同期すべきグランドマスタ装置100の時刻カウンタのカウンタ値である。
Figure 0007122496000013
***実施の形態の効果の説明***
本実施の形態によれば、周波数偏差が変動する場合に、変動する周波数偏差に合わせた時刻補正が可能である。このため、本実施の形態によれば、周波数変化が激しい環境においても周波数変化の影響を軽減することができる。更に、本実施の形態によれば、周波数変化の影響を軽減することで、ジッタの平均化回数を増やすことが可能となる。このため、ジッタによる時刻ずれも軽減することができる。
スレーブ装置を多数接続した大規模ネットワークでは、周波数変化の影響による時刻ずれ及びジッタによる時刻ずれが累積することが考えられる。本実施の形態よれば、このような大規模ネットワークであっても、周波数変化の影響を軽減することで、高精度な時刻同期を実現することができる。
なお、本実施の形態では、時刻補正装置300がスレーブ装置200に存在する例を説明したが、時刻補正装置300がグランドマスタ装置100に存在する。
時刻同期システム1000の立ち上げ時には、調停によりグランドマスタ装置100として動作するノードが決定されるため、調停が収束するまでどのノードがグランドマスタ装置100として動作するかが定まっていない。このため、スレーブ装置200として動作するノードだけでなく、グランドマスタ装置100として動作するノードにも時刻補正装置300が存在する。グランドマスタ装置100として動作するノードがグランドマスタ装置100に指定されるまでの間、時刻補正装置300により当該ノードの周波数偏差を補正することができる。
実施の形態2.
本実施の形態では、AI(Artificial Intelligence)を活用して周波数偏差変化率の時間推移を機械学習し、機械学習結果に基づいて時刻補正を行う例を説明する。
なお、本実施の形態では、主に実施の形態1との差異を説明する。
また、以下で説明していない事項は、実施の形態1と同様である。例えば、本実施の形態においても、時刻同期システム1000の構成例は図1に示す通りである。
周波数偏差はスレーブ装置200の動作環境によって時間変化を予測できる。例えば、常温環境でスレーブ装置200が動作する場合(スレーブ装置200が発熱するような制御も行われない場合)は、温度変化は微小であり、スレーブ装置200の状態は安定している。一方、スレーブ装置200の立ち上げ時は水晶発振器の温度が単調に上昇する。前者の動作環境では、IEEE802.1AS又はIEEE1588の時刻同期プロトコルで十分な時刻同期が実現できる。一方、後者の動作環境では、IEEE802.1AS又はIEEE1588の時刻同期プロトコルでは十分な時刻同期を実施することが難しい。
また、温度が急激に上昇又は降下するような動作環境では、周波数偏差も急激に上昇又は降下する。
温度が急激に上昇又は降下する現象は、設備又は機器の制御によって発生することが原因と考えられる。温度の急激な上昇又は降下の原因が設備又は機器の制御である場合は、温度が急激に上昇又は降下する現象は周期的に発生すると予想できる。もしくは、ある制御の動作を起点に温度の急激な上昇又は降下が発生すると予想できる。
そこで、本実施の形態に係るスレーブ装置200は、ニューラルネットワークを用いて、周波数偏差の周期性又は周波数が急激に変動する予兆を学習し、更に、時刻補正のための補正量を学習する。
本実施の形態では、スレーブ装置200は、機械学習方法として、「(2-a)周波数偏差の時間周期性を検出して時刻補正する方法」と「(2-b)周波数偏差の時間推移の特徴量を検出して時刻補正する方法」のいずれかを行う。以下では、「(2-a)周波数偏差の時間周期性を検出して時刻補正する方法」を時刻補正方法(2-a)という。また、「(2-b)周波数偏差の時間推移の特徴量を検出して時刻補正する方法」を時刻補正方法(2-b)という。
時刻補正方法(2-a)及び時刻補正方法(2-b)のいずれでも、スレーブ装置200に搭載された時刻同期AIが学習フェーズで、周波数偏差の特性を学習し、時刻補正量を算出する。また、スレーブ装置200は、活用フェーズで、時刻同期AIの学習により得られた時刻補正量で時刻補正を実施する。
図6は、本実施の形態に係るスレーブ装置200の機能構成例を示す。
なお、本実施の形態に係るスレーブ装置200のハードウェア構成例は図2に示す通りである。なお、後述する学習部207の機能もプログラムで実現され、学習部207の機能を実現するプログラムもプロセッサ901で実行される。
図2と比較して、図6では、学習部207が追加されている。図6の他の要素は、図2に示すものと同じである。なお、本実施の形態では、時刻補正部206と学習部207が時刻補正装置300に相当する。
学習部207は、時刻同期AIである。
学習部207は、学習フェーズにて、周波数偏差の時間推移を学習する。つまり、学習部207は、グランドマスタ装置100のクロック周波数とスレーブ装置200のクロック周波数との周波数偏差の時間推移を学習する。そして、学習部207は、周波数偏差の時間推移のパターンを周波数偏差パターンとして抽出し、周波数偏差パターンにおける周波数偏差変化率を算出する。また、学習部207は、周波数偏差変化率と時間との積と規定タイミングでの周波数偏差とを時間積分して、スレーブ装置200の時刻補正に用いられる時刻補正量を算出する。
学習部207は、時刻補正方法(2-a)を行う場合は、周波数偏差の時間推移のパターンの周期性を学習する。前述のように、周波数偏差の時間推移のパターンを周波数偏差パターンという。また、学習部207は、規定タイミングとして、周波数偏差パターンの開始タイミングを推定する。そして、学習部207は、周波数偏差変化率と時間との積と周波数偏差パターンの開始タイミングでの周波数偏差とを時間積分して、時刻補正量を算出する。
また、学習部207は、時刻補正方法(2-b)を行う場合は、周波数偏差の時間推移のパターン(周波数偏差パターン)とスレーブ装置200への制御との関係を学習し、周波数偏差が急激に変化する予兆を推定する。つまり、学習部207は、周波数偏差変化率が急激に変化する時間推移のパターンを周波数偏差パターンとして抽出し、周波数偏差パターンが発生する前に発生する予兆を推定する。また、学習部207は、規定タイミングとして予兆の検知タイミングを推定し、周波数偏差変化率と時間との積と予兆の検知タイミングでの周波数偏差とを時間積分して、時刻補正量を算出する。
本実施の形態では、時刻補正部206は、活用フェーズにて、学習部207により生成された補正量を用いて、時刻補正を行う。
時刻補正方法(2-a)を行う場合は、時刻補正部206は、周波数偏差パターンの開始タイミングが到来した場合に、学習部207により生成された時刻補正量を用いて、時刻補正を行う。
一方、時刻補正方法(2-b)を行う場合は、時刻補正部206は、予兆が検出された場合に、学習部207により生成された時刻補正量を用いて、時刻補正を行う。
なお、時刻補正方法(2-a)を行う場合に、周波数偏差パターンの開始タイミングが到来しない場合は、実施の形態1と同様に、時刻補正量算出部205が時刻補正量を算出する。
同様に、時刻補正方法(2-b)を行う場合に、予兆が検出されない場合は、実施の形態1と同様に、時刻補正量算出部205が時刻補正量を算出する。
図6の他の構成要素は、図2に示すものと同じであるため、説明を省略する。
先ず、時刻補正方法(2-a)の詳細を説明する。
**時刻補正方法(2-a)**
図7は、時刻補正方法(2-a)を実現する学習部207の内部構成例を示す。
学習部207は、偏差時間特性推定部2071及び時刻補正量推定部2072を含む。
図8は、偏差時間特性推定部2071及び時刻補正量推定部2072の動作例を示す。
また、図9は、時刻補正方法(2-a)の具体例を示す。
学習フェーズでは、偏差時間特性推定部2071が、周波数偏差(入力A1)、時刻情報(入力A2)及び水晶発振器温度(入力A3)から、周波数偏差の時間推移である周波数偏差パターン(出力A1)、周波数偏差特性周期(出力A2)及び周波数偏差特性周期の開始タイミング(出力A3)を学習する。
また、時刻補正量推定部2072は、偏差時間特性推定部2071からの出力A1、出力A2及び出力A3から、時刻補正量(出力B1)を学習する。学習にはニューラルネットワークが用いられる。周波数偏差パターン(出力A1)はP(t)で表される式であるが、周波数偏差パターン(出力A1)の入力方法の詳細は実施の形態3で説明する。
(α)学習フェーズ
以下、学習フェーズにおける偏差時間特性推定部2071及び時刻補正量推定部2072の動作を図8に従って説明する。
先ず、偏差時間特性推定部2071が、以下の入力A1~入力A3を取得する(ステップS801)。
入力A1:IEEE802.1AS又はIEEE1588で計測された周波数偏差
入力A2:入力A1の周波数偏差を計測した時間
入力A3:水晶発振器の温度(任意)
入力A1は、計算周期ごとの周波数偏差である。計算周期は、周波数偏差及び周波数偏差変化率を算出するための単位時間である。
入力A3は、省略してもよい。
次に、偏差時間特性推定部2071が、計算周期ごとに、周波数偏差変化率を算出する(ステップS802)。
より具体的には、偏差時間特性推定部2071は、計算周期nで、計算周期(n-2)の周波数偏差と計算周期(n-1)の周波数偏差との変化率(周波数偏差変化率)を算出する。計算周期(n-2)の周波数偏差と計算周期(n-1)の周波数偏差は、入力A1で得られる。
次に、偏差時間特性推定部2071が、周波数偏差特性周期を算出する(ステップS803)。
偏差時間特性推定部2071は、入力A1、入力A2及びステップS802で得られた計算周期ごとの周波数偏差変化率に基づき、周波数偏差の時間推移のパターン(図9の波形パターン)が周期的に繰り返されていることを検知する。偏差時間特性推定部2071は周波数偏差の時間推移について、特定の規則性を検出し、検出した特定の規則性を学習する。この特定の規則性のある周波数偏差の時間推移を周波数偏差パターンとする。また、偏差時間特性推定部2071は、周波数偏差パターンの周期を周波数偏差特性周期として抽出する。このとき、偏差時間特性推定部2071は、周波数偏差特性周期の開始タイミングも推定する。
図9に周波数偏差特性周期の例を示す。
また、偏差時間特性推定部2071がステップS801で入力A3を取得している場合は、偏差時間特性推定部2071は、入力A3に基づき、水晶発振器の温度変化から周波数偏差特性周期を算出してもよい(この場合は、実施の形態3に示す方法を用いる)。
次に、偏差時間特性推定部2071は、周波数偏差特性周期の開始タイミングからt秒後の周波数偏差変化率P(t)を算出する(ステップS804)。
具体的には、偏差時間特性推定部2071は、以下の式14により周波数偏差P(t)を算出する。なお、P(t)は、周波数偏差特性周期の開始タイミングでの周波数偏差である。P’(t)は時刻tにおける周波数偏差変化率である。
P(t)=P’(t)×t+P(t) 式14
P(t)、P’(t)の単位はそれぞれppm、ppm/sである。
次に、偏差時間特性推定部2071は、出力A1~出力A3を時刻補正量推定部2072に出力し、時刻補正量推定部2072が出力A1~出力A3を取得する(ステップS805)。
次に、時刻補正量推定部2072が、ステップS804の算出結果をもとに、ステップS803で算出した周波数偏差変化率から、式15に従い、時刻補正量(ΔC(t))を算出する(ステップS806)。つまり、時刻補正量推定部2072は、式15に従い、周波数偏差変化率と時間との積(P’(t)×t)と周波数偏差パターンの開始タイミングでの周波数偏差(P(t))とを時間積分して、時刻補正量(ΔC(t))を算出する。
Figure 0007122496000014
最後に、時刻補正量推定部2072は、出力B1~出力B3を出力する(ステップS807)。
具体的には、時刻補正量推定部2072は、ステップS806で算出された時刻補正量ΔC(t)を出力B1として時刻補正部206に出力する。また、時刻補正量推定部2072は、偏差時間特性推定部2071から取得した周波数偏差特性周期(出力A2)を出力B2として周波数偏差変化率算出部204に出力する。また、時刻補正量推定部2072は、偏差時間特性推定部2071から取得した周波数偏差特性周期の開始タイミング(出力A3)を出力B3として周波数偏差変化率算出部204に出力する。
(β)活用フェーズ
周波数偏差変化率算出部204は、IEEE802.1AS又はIEEE1588のプロトコルに従い、計算周期ごとに、周波数偏差変化率を算出する。そして、周波数偏差変化率算出部204は、算出した周波数偏差変化率と時刻補正量推定部2072から取得した周波数偏差特性周期(出力A2)及び周波数偏差特性周期の開始タイミング(出力A3)とに基づき、周波数偏差特性周期の開始タイミングを検出する。
そして、周波数偏差変化率算出部204は、周波数偏差特性周期の開始タイミングを検出した後は、時刻補正部206に開始タイミングが到来したことを通知する。
時刻補正部206は、開始タイミングが到来したことを通知された場合に、時刻補正量(出力B1)を用いて時刻同期を行う。
なお、開始タイミングが到来しない場合は、実施の形態1の方法に従って時刻補正が行われる。
図9は、学習部207の動作の具体例を示す。
以下、図9を説明する。
学習フェーズにおいて、偏差時間特性推定部2071が、周波数偏差の時間推移のパターンの周期性を学習する。この結果、偏差時間特性推定部2071は、波形パターンが周波数偏差特性周期で繰り返されていることを検知する。そして、偏差時間特性推定部2071は、周波数偏差特性周期の長さと周波数偏差特性周期の開始タイミングを学習する。また、時刻補正量推定部2072が、時刻補正量を算出する。
活用フェーズにおいて、周波数偏差変化率算出部204が、周波数偏差特性周期の開始タイミングを検出する。そして、時刻補正部206が、学習部207により得られた時刻補正量を用いて時刻補正を行う。
次に、時刻補正方法(2-b)の詳細を説明する。
**時刻補正方法(2-b)**
図10は、時刻補正方法(2-b)を実現する学習部207の内部構成例を示す。
図7の例と同様に、学習部207は、偏差時間特性推定部2071及び時刻補正量推定部2072を含む。
図11は、偏差時間特性推定部2071及び時刻補正量推定部2072の動作例を示す。
また、図12は、時刻補正方法(2-b)の具体例を示す。
学習フェーズでは、偏差時間特性推定部2071が、周波数偏差(入力A1)、時刻情報(入力A2)、水晶発振器温度(入力A3)及び制御情報(入力A4)から、周波数偏差パターン(出力A1)、周波数偏差特性周期(出力A2)及び予兆検知タイミング(出力A3)を学習する。
また、時刻補正量推定部2072は、偏差時間特性推定部2071からの出力A1、出力A2及び出力A3から、時刻補正量(出力B1)を学習する。学習にはニューラルネットワークが用いられる。
(α)学習フェーズ
以下、学習フェーズにおける偏差時間特性推定部2071及び時刻補正量推定部2072の動作を図11に従って説明する。
先ず、偏差時間特性推定部2071が、以下の入力A1~入力A3を取得する(ステップS1101)。
入力A1:IEEE802.1AS又はIEEE1588で計測された周波数偏差
入力A2:入力A1の周波数偏差を計測した時間
入力A3:水晶発振器の温度(任意)
入力A4:制御情報
入力A1は、計算周期ごとの周波数偏差である。計算周期は、前述の通りである。
入力A3は、省略してもよい。
入力4は、スイッチのオンオフ等の制御コマンドである。入力A4として、例えば、溶接、放電処理、冷却等を実行するコマンドが入力される。スレーブ装置200で溶接、放電処理等が実行されると、スレーブ装置200の水晶発振器の温度が急激に上昇すると考えられる。一方、スレーブ装置200で冷却が実行されると、スレーブ装置200の水晶発振器の温度が急激に降下すると考えられる。
次に、偏差時間特性推定部2071が、計算周期ごとに、周波数偏差パターンを算出する(ステップS1102)。周波数偏差パターンは時刻に対応する周波数偏差であり、周波数偏差を時間の関数で表した式である。周波数偏差パターンの実態については後述する。
次に、偏差時間特性推定部2071が、周波数偏差が急激に変化する時間推移の波形のパターンと、周波数偏差が急激に変化する予兆を学習する(ステップS1103)。
偏差時間特性推定部2071は、予兆の学習として、例えば、周波数偏差と入力A4の制御情報との時間相関をとる。そして、偏差時間特性推定部2071は、特定のイベントが発生したとき(例えば、特定のコマンドが入力されたとき)の周波数偏差の時間推移のパターンを学習する。
また、偏差時間特性推定部2071がステップS1101で入力A3を取得している場合は、偏差時間特性推定部2071は、水晶発振器の温度変化から、周波数偏差が急激に変化する時間推移の波形のパターンと、周波数偏差が急激に変化する予兆を学習してもよい(この場合は、実施の形態3に示す方法を用いる)。
次に、偏差時間特性推定部2071は、周波数偏差が急激に変化する予兆を検知し、対応する周波数偏差の時間推移のパターンを予想する(ステップS1104)。
また、偏差時間特性推定部2071がステップS1101で入力A3を取得している場合は、偏差時間特性推定部2071は、水晶発振器の温度変化から、周波数偏差が急激に変化する予兆を検知し、対応する周波数偏差の時間推移のパターンを予想してもよい(この場合は、実施の形態3に示す方法を用いる)。
偏差時間特性推定部2071が予想する周波数偏差の時間推移のパターンは周波数偏差パターンに相当する。
次に、偏差時間特性推定部2071が、予兆を検知したタイミングからt秒後の周波数偏差P(t)を式16により算出する(ステップS1105)。なお、P(t0)は、予兆を検知したタイミングでの周波数偏差である。
P(t)=P’(t)×t+P(t) 式16
P(t)、P’(t)の単位はそれぞれppm、ppm/sである。
次に、偏差時間特性推定部2071は、出力A1~出力A3を時刻補正量推定部2072に出力し、時刻補正量推定部2072が出力A1~出力A3を取得する(ステップS1106)。
次に、時刻補正量推定部2072が、ステップS1105で算出された周波数偏差から、式17に従い、時刻補正量(ΔC(t))を算出する(ステップS1107)。つまり、時刻補正量推定部2072は、式17に従い、周波数偏差変化率と時間との積(P’(t)×t)と予兆の検知タイミングでの周波数偏差(P(t))とを時間積分して、時刻補正量(ΔC(t))を算出する。
Figure 0007122496000015
最後に、時刻補正量推定部2072は、出力B1、出力B2及び出力B3を出力する(ステップS1108)。
具体的には、時刻補正量推定部2072は、ステップS1107で算出された時刻補正量ΔC(t)を出力B1として時刻補正部206に出力する。また、時刻補正量推定部2072は、偏差時間特性推定部2071から取得した予兆検知タイミング(出力A3)を出力B2として時刻補正部206に出力する。
(β)活用フェーズ
偏差時間特性推定部2071は、予兆検知タイミング(出力A3)に基づき、周波数偏差の急激な変化の予兆を検知する。
偏差時間特性推定部2071は、予兆を検知した場合は、時刻補正量推定部2072経由で時刻補正部206に予兆を検知したことを通知する。
時刻補正部206は、偏差時間特性推定部2071から予兆を検知したことを通知された場合に、時刻補正量推定部2072から取得した時刻補正量(出力B1)を用いて時刻補正を行う。
なお、予兆が検出されない場合は、実施の形態1の方法に従って時刻補正が行われる。
図12は、学習部207の動作の具体例を示す。
以下、図12を説明する。
学習フェーズにおいて、時刻t1で、偏差時間特性推定部2071に、入力A1、入力A2及び入力A4が入力される。
時刻t1では、入力A4の制御情報として溶接実行コマンドがスレーブ装置200で発行されたものとする。
偏差時間特性推定部2071は、溶接実行コマンドに起因して周波数偏差が波形パターン1で変化することを学習する。
また、時刻補正量推定部2072が、波形パターン1に対応する時刻補正量ΔC(t1)を以下の式18により計算する。
時刻補正量推定部2072は、出力B1として時刻補正量ΔC(t1)を時刻補正部206に出力し、出力B2として溶接実行コマンドを制御部202と時刻補正部206に出力する。
Figure 0007122496000016
また、学習フェーズにおいて、時刻t2で、偏差時間特性推定部2071に、入力A1、入力A2及び入力A4が入力される。
時刻t2では、入力A4の制御情報として冷却コマンドがスレーブ装置200で発行されたものとする。
偏差時間特性推定部2071は、冷却コマンドに起因して周波数偏差が波形パターン2で変化することを学習する。
また、時刻補正量推定部2072が、波形パターン2に対応する時刻補正量を以下の式19により計算する。
時刻補正量推定部2072は、出力B1として時刻補正量ΔC(t2)を時刻補正部206に出力し、出力B2として冷却コマンドを制御部202と時刻補正部206に出力する。
Figure 0007122496000017
活用フェーズでは、時刻t3で制御部202が溶接実行コマンドの発行とその時のタイムスタンプ(時刻)を偏差時間特性推定部2071に通知する。偏差時間特性推定部2071は時刻補正量推定部2072を経由して、溶接実行コマンドの発行の時刻を時刻補正部206に通知する。
溶接実行コマンドの発行は波形パターン1の予兆であるため、時刻補正部206は、波形パターン1に対応する時刻補正量ΔC(t1)を用いて時刻補正を行う。
具体的な時刻補正量の計算方法は実施の形態3で説明する。また、時刻補正時の、周波数偏差特性周期、開始タイミング、予兆検知タイミングの活用方法についても実施の形態3で説明する。
周波数偏差が変動する場合に、本実施の形態によっても、変動する周波数偏差に合わせた時刻補正が可能である。また、本実施の形態では、学習により得られた時刻補正量を用いて時刻補正が行われるため、周波数偏差変化率及び時刻補正量の算出が不要であり、演算負荷を軽減することができる。
実施の形態3.
本実施の形態でも、AIを活用して周波数偏差変化率の時間推移を学習し、学習結果に基づいて時刻補正を行う例を説明する。
なお、本実施の形態では、主に実施の形態1及び実施の形態2との差異を説明する。
また、以下で説明していない事項は、実施の形態1及び実施の形態2と同様である。
本実施の形態においても、時刻同期システム1000の構成例は図1に示す通りである。
また、本実施の形態においてもスレーブ装置200のハードウェア構成例は図2に示す通りである。また、本実施の形態においてもスレーブ装置200の機能構成例は図6に示す通りである。
実施の形態3では、実施の形態2と周波数偏差の算出方法が異なる。実施の形態2では、時刻同期プロトコルで測定された周波数偏差がそのまま用いられる。実施の形態3では、水晶発振器の温度とプロトコルで測定された周波数偏差との相関関係をAIが推定する。また、実施の形態3では、AIが水晶発振器固有の周波数偏差温度特性を求める。また、実施の形態3では、AIが、求めた周波数偏差温度特性から、AIに入力された水晶発振器温度に対する周波数偏差を算出し、この周波数偏差を用いて時刻補正を行う。本実施の形態よって、プロトコルで測定された周波数偏差だけでなく、水晶発振器本来の周波数偏差の温度特性を分析することができるため、実際の水晶発振器の周波数偏差により近い時刻補正量を計算することが可能である。
水晶発振器の周波数偏差は図13のように水晶発信器の個体ごとに異なり、水晶の温度によって、周波数偏差が変化する。上記の個体ごとに異なる周波数偏差の特性をAIが学習する。さらに学習した周波数偏差特性の情報をもとにAIが時刻補正量を推定する。本AIの実態は学習部207である。実施の形態3に係る学習部207の内部は以下の(1)~(3)に示すように、偏差温度特性推定部2075、偏差時間特性推定部2076及び時刻補正量推定部2077で構成される。
(1)偏差温度特性推定部2075
偏差温度特性推定部2075は、スレーブ装置200の水晶発振器の周波数偏差温度特性を学習して、波数偏差温度特性を推定する。
(2)偏差時間特性推定部2076
偏差時間特性推定部2076は、偏差温度特性推定部2075により推定された周波数偏差温度特性から温度に対する周波数偏差を算出し、周波数偏差の時間推移を学習する。偏差時間特性推定部2076は、周波数偏差の時間推移から周波数偏差変化率と周波数偏差パターン(特定の規則性がある周波数偏差の時間推移)を算出し、後述の時刻補正量推定部2077に周波数偏差変化率及び周波数偏差パターンを出力する。偏差時間特性推定部2076は、実施の形態2と同様に、周波数偏差特性周期、周波数偏差パターンの開始タイミング、周波数偏差パターン、予兆検知タイミングを学習する。
(3)時刻補正量推定部2077
時刻補正量推定部2077は、偏差時間特性推定部2076が学習した周波数偏差の時間推移をもとに、スレーブ装置200の時刻補正量を学習して、時刻補正量を推定する。
偏差温度特性推定部2075、偏差時間特性推定部2076及び時刻補正量推定部2077の関係を図14に示す。
図14は、周波数偏差温度特性と周波数偏差パターンP(Q(t))の式を用いて、周波数偏差と温度の関係を、周波数偏差と時刻の関係に変換し、これによって時刻補正量が推定できることを表している。
学習部207では、図14の(1)に従って偏差温度特性推定部2075が周波数偏差温度特性P(Q)を学習する。そして、図14の(2)のように、偏差時間特性推定部2076が、偏差温度特性推定部2075によって学習された周波数偏差温度特性P(Q)と、入力された時刻情報から、周波数偏差パターンP(Q(t))を推定する。そして、図14の(3)に示すように、時刻補正量推定部2077が、周波数偏差パターンP(Q(t))に対応した時刻補正量ΔCcorrectを推定する。つまり、時刻補正量推定部2077が周波数偏差パターンP(Q(t))ごとの周波数偏差および周波数偏差変化率を計算し、これらの時間積分から時刻補正量ΔCcorrectを推定する。
時刻補正量ΔCcorrectは図14の網掛け部分の面積に対応する。
前記AIを活用した時刻補正量の推定を行うための機能ブロックを図15に示す。
本手段では、(α)学習フェーズ、(β)活用フェーズでそれぞれ以下の動作を実施する。
(α)学習フェーズ
学習フェーズでは、教師有り学習(ニューラルネットワーク)を実施する。偏差温度特性推定部2075に水晶発振器の温度と、周波数偏差を入力し、偏差温度特性推定部2075が周波数偏差温度特性のモデルを作成する。
(1)偏差温度特性推定部2075が、入力A1:時刻同期プロトコルによって測定した周波数偏差と入力A3:センサから取得した水晶発振器温度を取得する。また、偏差温度特性推定部2075は、入力A5:データシート上の周波数偏差温度特性を取得してもよい。
(2)偏差温度特性推定部2075は、取得された水晶発振器温度と周波数偏差をもとに、温度に対する周波数偏差の特性を3次関数として近似して周波数偏差温度特性を表すための係数の値(式20のα、β、γ、δ)を学習する。そして、偏差温度特性推定部2075は、学習した係数の値(α、β、γ、δ)が含まれる周波数偏差温度特性(出力A2)を偏差時間特性推定部2076に出力する。周波数偏差温度特性(出力A2)は、温度を変数とする関数であり下式で表すことができる。
P(Q)=αQ+βQ+γQ+δ [ppm] 式20
P(Q):周波数偏差[ppm] (入力A1)
Q:水晶発振器の温度[℃] (入力A2)
データシートの周波数偏差温度特性(入力A5)を取得している場合は、偏差温度特性推定部2075は、取得した周波数偏差温度特性と周波数偏差をもとに、データシート上の特性に最も近い特性を示す、係数の値(α、β、γ、δ)を学習する。そして、偏差温度特性推定部2075は、学習した係数の値(α、β、γ、δ)が含まれる周波数偏差温度特性(出力A2)を偏差時間特性推定部2076に出力する。
偏差温度特性推定部2075は、周波数偏差温度特性の係数値(α、β、γ、δ)を学習するにあたり、プロトコルで測定された周波数偏差(入力A1)を式20の左辺のP(Q)に代入し、周波数偏差を測定したときの水晶発振器の温度(入力A3)を式20の右辺のQに代入する。プロトコルにより繰り返し測定を行うことで、偏差温度特性推定部2075は、α、β、γ、δの4つ係数について、4元連立方程式を解き、係数の値を導出する。
(3)偏差時間特性推定部2076は、上記の(2)で算出された周波数偏差温度特性(出力A2)と水晶発振器温度(入力A3)を取得する。そして、偏差時間特性推定部2076は、周波数偏差温度特性(出力A2)と水晶発振器温度(入力A3)を用いて、周波数偏差及び周波数変化率を算出する。さらに、偏差時間特性推定部2076は、前記水晶発振器温度が入力された時刻(入力A2:時刻情報)を取得する。また、偏差時間特性推定部2076は、周波数偏差の時間推移を測定し、周波数偏差の時間推移を周波数偏差パターン(出力B1)として時刻補正量推定部2077に出力する。また、偏差時間特性推定部2076は、特定の規則性がある周波数偏差の時間推移を周波数偏差パターンとして検知する。さらに、偏差時間特性推定部2076は、周波数偏差パターンが発生する前に発生する予兆を検知し、予兆を記憶する。周波数偏差パターンと予兆は、以下の(3-a)もしくは(3-b)に示す通りである。
(3-a)(図15)
実施の形態2の(2-a)と同様に、偏差時間特性推定部2076は、周波数偏差パターン(波形パターン)が周波数偏差特性周期で繰り返されていることを検知し、周波数偏差特性周期と周波数偏差特性周期の開始タイミングを学習する。偏差時間特性推定部2076は、周波数偏差特性周期(出力B3)と周期開始タイミング(出力B2)を時刻補正量推定部2077に出力する。周期開始タイミング(出力B2)は、周波数偏差特性周期の開始タイミングである。
時刻補正量推定部2077は、実施の形態2の(2-a)と同様に、周波数偏差特性パターンに対応する時刻補正量を学習する。
(3-b)(図16)
実施の形態2の(2-b)と同様に、偏差時間特性推定部2076は、制御情報(入力A4)を取得する。また、偏差時間特性推定部2076は、制御情報に対する周波数偏差の時間推移を周波数偏差パターンとして学習する。また、偏差時間特性推定部2076は、前記時間推移の波形の長さを周波数偏差特性周期として学習し、予兆検知タイミングを学習する。予兆検知タイミングは、周波数偏差パターンが発生する前に発生する予兆の発生タイミングである。偏差時間特性推定部2076は、予兆検知タイミング(出力B2)と周波数偏差特性周期(出力B3)を時刻補正量推定部2077に出力する。
(3-a)、(3-b)の時刻補正量の計算方法の考え方は実施の形態2と同様であるが、本実施の形態では、水晶発振器温度の情報と時刻情報から、周波数偏差の時間推移を求める点が異なる。
次に、周波数偏差パターンの実態について説明する。周波数偏差パターンの実態は、時刻tを変数とする周波数偏差P(t)の式である。偏差時間特性推定部2076は、P(t)を表すための関数の形式とその形式を識別するための識別番号を設ける。
偏差時間特性推定部2076は、P(t)の多項式の係数値と各項のtの次数、関数の形式の識別番号を時刻補正量推定部2077に出力する。図15及び図16では、この情報を出力B1:周波数偏差パターンと表記している。
例えば、P(t)がP(t)=At+Bt+Ct+Dのように、3次の多項式で表せる場合は、偏差時間特性推定部2076は、関数の形式が3次の多項式であることを表す識別子(識別番号)と、係数A、B、C及びDのそれぞれの値と上記式のtの項のそれぞれの次数を、時刻補正量推定部2077に出力する。P(t)=A×exp(t)+Bのように、P(t)が指数関数で表せる場合は、偏差時間特性推定部2076は、関数の形式が指数関数であることを表す識別子(識別番号)と、係数A、Bのそれぞれの値と、上記式のtの項の次数の値を時刻補正量推定部2077に出力する。
なお、具体的な関数の形式と識別番号の割り当て方は実装方法に依存するため本明細書では、詳細は定義しない。
時刻補正量の計算の考え方を図17に示す。
図17に記載の通り、式2より、時刻tの時の水晶発振器温度Q(t)に対する周波数偏差は下式で表せる。
P(Q(t))
=α×{Q(t)}+β×{Q(t)}+γ×Q(t)+δ
式21
=t1、tN-1=t2と置くと、時刻t1~t2における周波数偏差による時刻ずれは、区間t1からt2における周波数偏差P(Q(t))×微小時間Δtの和で表せる。すなわち前記時刻ずれを打ち消す時刻補正量は以下のように計算される。
Figure 0007122496000018
Δtは微小時間なので下式に変形することができる。よって、以下の式より時刻補正量が算出される。
Figure 0007122496000019
(β)活用フェーズ
偏差時間特性推定部2076は、水晶発振器温度(入力A3)、時刻情報(入力A2)及び制御情報(入力A4)を取得する。また、偏差時間特性推定部2076は、学習フェーズ(3-a)で学習された、周波数偏差特性周期と周波数偏差特性周期の開始タイミングを検知し、周波数偏差特性周期と周波数偏差特性周期の開始タイミングを時刻補正量推定部2077に出力する。時刻補正量推定部2077は、前記周波数偏差特性周期に対応する時刻補正量を時刻補正部206に出力する。
時刻補正量は式23の通り、周波数偏差パターンP(Q(t))を時間積分することで導出できる。
時刻補正部206は時刻補正量を用いて時刻補正を実施する。
もしくは、偏差時間特性推定部2076は、学習フェーズ(3-b)で学習された制御情報に対する周波数偏差の時間推移から予兆検知タイミングと周波数偏差パターンを検知し、予兆検知タイミングと周波数偏差パターンを時刻補正量推定部2077に出力する。時刻補正量推定部2077は周波数偏差パターンに対応する時刻補正量を、時刻補正部206に出力する。時刻補正部206は、時刻補正量を用いて時刻補正を実施する。
なお、前記の周波数偏差特性周期と周波数偏差特性周期の開始タイミング、予兆検知タイミングと周波数偏差パターンは、水晶発振器温度の情報を式20に代入し、水晶発振器温度を周波数偏差の値に変換して求めている。これに代えて、周波数偏差に変換する前の水晶発振器温度の時間推移から周波数偏差特性周期等を直接求めてもよい。これは、周波数偏差の時間推移を求める過程で、水晶発振器温度とそれに対応する時刻が求められているので、前記の周波数偏差パターンと同様に温度の時間推移の規則性をAIが学習し、予兆検出のパターンとして使用することもできるためである。
時刻補正
時刻補正の方法について説明する。
(3-a)と(3-b)のケースで同様に時刻補正量推定部2077が、図20、図21のように時刻補正量を計算する。
図20において、偏差時間特性推定部2076が絶対時刻t1で予兆を検知し、時刻補正部206が絶対時刻t2で時刻補正を実施する場合を想定する。時刻補正量推定部2077は、絶対時刻t1を起点として絶対時刻t2のときの時刻カウンタ値を推定する。絶対時刻t1に対応する時刻カウンタ値が(3-a)の周波数偏差特性周期の開始タイミング又は(3-b)の予兆検知タイミングに相当する。
絶対時刻t1における時刻カウンタ値をC(t)とする。また、絶対時刻t1における時刻カウンタ値(時刻補正済み)をCcorrect(t1)とする。また、絶対時刻t2における補正前の時刻カウンタ値をC(t2)とする。絶対時刻t2における補正後の時刻カウンタ値をCcorrect(t2)とする。この場合は、以下のように時刻カウンタが補正される。時刻補正量推定部2077から時刻補正量が時刻補正部206に入力され、時刻補正部206がスレーブ装置200の時刻補正を実施する。
絶対時刻t1から絶対時刻t2までの時刻ずれ量がC(t2)に反映されているので、式24に示すように、時刻補正部206は、時刻補正量ΔCcorrectを時刻カウンタ値C(t2)から差し引くことで時刻補正が可能である。
Figure 0007122496000020
ここで、式24について説明する。
前述の通り、Ccorrect(t2)は、絶対時刻t2における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。Ccorrect(t1)は絶対時刻t1における時刻補正後のスレーブ装置200の時刻カウンタ値を表す。
(t2-t1)は絶対時刻におけるt1からt2の経過時間である。一方、スレーブ装置200の時刻は周波数偏差によって、絶対時刻から周波数偏差分の誤差が発生する。この誤差は、図20のグラフの網掛け部分に相当する。よって、絶対時刻t2において、周波数偏差の誤差が発生しているスレーブ装置200の時刻カウンタ値C(t2)から、時刻補正量推定部2077により推定された時刻補正量ΔCcorrectを差し引くことにより、正確な時刻に補正することができる。
なお、絶対時刻t1の時点では、前の周期で時刻補正済みであるため、絶対時刻t1の補正済みの時刻をCcorrect(t1)と表記している。また予兆を最初に検知した場合についても、予兆を検知するまで従来の方法で時刻補正済みのため、絶対時刻t1の補正済みの時刻をCcorrect(t1)と表記する。
また、時刻補正部206は、図21のように絶対時刻t1から絶対時刻t2の区間(周波数偏差特性周期)について絶対時刻t2のタイミングでまとめて時刻補正するのではなく、Δtの微小な区間ごとに時刻補正を実施してもよい。
この場合も、偏差時間特性推定部2076が予兆を検知したあと、時刻補正部206が、推定された周波数偏差特性周期に従って、Δtの微小な区間ごとに時刻補正を実施する。例えば、図21に示す周波数偏差の時間推移が繰り返されているとすると、時刻補正部206は、時刻tから時刻tの微小区間Δtの時刻補正を実施する。以降、時刻補正部206は微小区間Δtごとに時刻補正を実施する。そして、時刻tN-2から時刻tN-1の微小区間Δtの時刻補正を実施すると、更に、時刻補正部206は、後続する周波数偏差特性周期の時刻t~tの微小区間Δtの時刻補正量の時刻補正を実施する。以降、時刻補正部206は、この動作を各周波数偏差特性周期で繰り返す。
図22に、(3-a)のように周波数偏差の時間推移に周期性がある場合の時刻補正の例を示す。
図22においても、図20と同様に、Ccorrect(t2)は絶対時刻t2における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。Ccorrect(t1)は絶対時刻t1における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。(t2-t1)は絶対時刻におけるt1からt2の経過時間である。一方、スレーブ装置200の時刻には周波数偏差によって、絶対時刻から周波数偏差分の誤差が発生する。この誤差は、図22のグラフの網掛け部分に相当する。よって、時刻補正部206は、絶対時刻t2において、周波数偏差の誤差が発生しているスレーブ装置200の時刻カウンタ値C(t2)から、時刻補正量推定部2077により推定された時刻補正量ΔCcorrectを差し引くことにより、正確な時刻に補正することができる。また、周波数偏差特性周期(周期の長さ(t2-t1))で同じ周波数偏差パターンとなっているので、時刻補正部206は、絶対時刻t3においても、時刻補正量ΔCcorrectを時刻カウンタ値C(t3)から差し引くことで時刻補正を行う。この結果、スレーブ装置200の時刻カウンタ値はCcorrect(t3)に補正される。
図23に、(3-b)のように制御コマンドと周波数偏差の変化に相関関係がある場合の時刻補正例を示す。
図23においても、図20と同様に、Ccorrect(t2)は絶対時刻t2における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。Ccorrect(t1)は絶対時刻t1における、時刻補正後のスレーブ装置200の時刻カウンタ値を表す。(t2-t1)は絶対時刻におけるt1からt2の経過時間である。一方、スレーブ装置200の時刻は周波数偏差によって、絶対時刻から周波数偏差分の誤差が発生する。この誤差は、図23のグラフの網掛け部分に相当する。よって、時刻補正部206は、絶対時刻t2において、周波数偏差の誤差が発生しているスレーブ装置200の時刻カウンタ値C(t2)から、時刻補正量推定部2077により推定された時刻補正量ΔCcorrect,aを差し引くことにより、正確な時刻に補正できる。時刻補正量ΔCcorrect,aは溶接実行コマンドが発行されてから、周波数偏差特性周期の時間が経過するまでの周波数偏差による時刻ずれ量を表している。よって、時刻補正部206は、溶接実行コマンドが発行された時刻から周波数偏差特性周期の時間が経過した時刻に時刻補正量ΔCcorrect,aの値をスレーブ装置200の時刻カウンタ値から差し引くことで、時刻を補正することができる。同様に、時刻補正量ΔCcorrect,bは冷却コマンドが発行されてから周波数偏差特性周期の時間が経過するまでの周波数偏差による時刻ずれ量を表している。溶接実行コマンドと同様に、時刻補正部206は、冷却コマンドが発行された時刻から周波数偏差特性周期の時間が経過した時刻に時刻補正量ΔCcorrect,bの値をスレーブ装置200の時刻カウンタ値から差し引くことで、時刻を補正することができる。
<具体例>
具体例を以下に示す。
****学習フェーズ****
(1)偏差温度特性推定部2075がセンサから水晶発振器温度(入力A3)を取得し、更に、プロトコルによって測定された周波数偏差(入力A1)を取得する。なお、偏差温度特性推定部2075は、センサから水晶発振器温度(入力A3)を取得したときの時刻情報を保持しておく。これらの時刻情報のタイムスタンプは時刻管理部203で取得する。なお、周波数偏差パターンは、周期的に同じパターンが観測される後述の(3-a)のケースと、ある制御コマンドに対応して特定の周波数偏差パターンが現れる後述の(3-b)のケースがある。(3-a)のケースでは学習部207は図15の構成で学習を実施し、(3-b)のケースでは学習部207は図16の構成で学習を実施する。
(2)偏差特性推定部は、(1)で取得した水晶発振器温度と周波数偏差の情報から図14(水晶発振器1)のようなスレーブ装置200の水晶発振器の周波数偏差温度特性を推定する。
周波数温度特性は、温度変数として周波数偏差を3次関数で近似した式である。偏差時間特性推定部2076は、3次関数の各項の係数を算出し、この係数の値を時刻補正量推定部2077に入力する。周波数温度特性の推定は学習フェーズで実施される。例えば、温度に対する周波数偏差をP(Q)とすると周波数偏差特性は以下の式で表せる。
P(Q)=αQ+βQ+γQ+δ [ppm] 式20
偏差時間特性推定部2076は、周波数偏差とその時の水晶発振器温度を取得し、周波数偏差とその時の水晶発振器温度を上記の式20に代入し、係数α、β、γ、δの4元連立方程式を解く。解を求めるには最低、測定4点分の周波数偏差と水晶発振器温度の情報が必要である。測定点数が多いほど尤もらしい係数が偏差時間特性推定部2076によって導出される。例えば、偏差時間特性推定部2076は、各係数の測定回数分の平均値を最終的な係数として出力してもよい。もしくは、偏差時間特性推定部2076は、あらかじめ、入力されたデータシートの特性に最も近い係数を測定結果から導出してもよい。データシートの特性を用いる場合は、式20の形式の式が偏差時間特性推定部2076に入力される。
上記の方法で、偏差時間特性推定部2076は上式のα、β、γ及びδの係数値を推定し、時刻補正量推定部2077に特性(計算式)を入力する。
(3)時刻補正量推定部2077は、偏差時間特性推定部2076から入力された周波数偏差パターンとその偏差を取得した時刻(水晶発振器温度を取得した時刻)に対応する時刻情報から、周波数偏差パターンに対応する時刻補正量を推定する。時刻補正量の計算方法は、実施の形態2と同様の考え方である。つまり、時刻補正量推定部2077は、周波数偏差変化率と時間との積と規定タイミングでの周波数偏差の時間積分値を時刻補正量とする。ただし、実施の形態3では、周波数偏差を温度と時間の関数で表現しているため、温度周波数偏差をP(Q(t))と表す。
Q(t)は時刻tにおける水晶発振器の温度を表す。時刻tでの温度周波数偏差が、P(Q(t))として表される。この時、時刻t1から時刻t2の区間における時刻補正量ΔC(t)は下式で表される。なお、下式を導出する過程は図17に記載の通りである。
Figure 0007122496000021
またP(Q(t))は式20の温度Qに時刻tの時の温度を表す関数Q(t)を代入したものであり、P(Q(t))は前述の式21で表される。
P(Q(t))
=α×{Q(t)}+β×{Q(t)}+γ×Q(t)+δ
式21
(4)時刻補正量推定部2077は、前記時刻補正量を計算するとともに、前記時刻補正量に対応する時間周波数偏差特性P(C(t))のパターンを学習し、時間周波数偏差特性P(C(t))のパターンを予兆検知に用いる。予兆検知に用いる情報は、実施の形態2の(2-a)で記載したものと同様である。
図18は、周期性のある水晶発振器温度の時間推移と周波数偏差の時間推移の関係を表している。図18の(a)のグラフが水晶発振器の温度の時間推移を表す。また、P(Q(t))の式(式21)によって、図18の(a)に示す温度と時間の関係を図18の(b)のグラフのように周波数偏差と時間推移の関係に変換することができる。
そして、時刻補正量推定部2077は、図18のような周波数偏差特性周期、周波数偏差特性周期の開始タイミングを学習し、周波数偏差特性周期、周波数偏差特性周期の開始タイミングを予兆検知に用いる。
もしくは実施の形態2の(2-b)と同様に、時刻補正量推定部2077は、図19のような周波数偏差パターン、予兆検知タイミングを学習し、周波数偏差パターン、予兆検知タイミングを予兆検知に用いる。
図19は、各種コマンドが発行されたときの水晶発振器温度の時間推移と周波数偏差の時間推移の関係を表している。図19(a)のグラフが水晶発振器の温度の時間推移を表す。また、P(Q(t)の式(式21)によって、図19の(a)に示す温度と時間の関係を図19の(b)のグラフのように周波数偏差と時間推移の関係に変換することができる。図19では周波数偏差パターンは2パターンあり、それぞれの予兆検知タイミングは、溶接実行コマンド発行の時刻、冷却コマンド発行の時刻である。活用フェーズでは、図19の例では、偏差時間特性推定部2076が、溶接実行コマンド発行の時刻及び冷却コマンド発行の時刻を予兆検知タイミングとして検知し、予兆検知タイミングを時刻補正量推定部2077に入力する。
図19に示す具体例では、温度情報を偏差時間特性に変換したものを予兆検知に用いているが、温度情報を偏差時間特性に変換せず、水晶発振器温度の時間推移を予兆検知に用いてもよい。
****活用フェーズ****
(3-a)
偏差時間特性推定部2076が、入力された水晶発振器温度と温度を観測したときの時刻情報から、周波数偏差が図18の周波数偏差パターンとなっていることを検知する。そして、偏差時間特性推定部2076は、周波数偏差パターンと周波数偏差特性周期と周期開始タイミングを時刻補正量推定部2077に通知する。
時刻補正量推定部2077は、入力された周波数偏差パターンに対応する時刻補正量を時刻補正部206に通知する。
時刻補正部206は、通知された時刻補正量で時刻補正を実施する。
本具体例では、温度情報を偏差時間特性に変換したものを予兆(偏差時間特性)の検知に用いているが、温度情報を偏差時間特性に変換せず、水晶発振器温度の時間推移を予兆検知に用いてもよい。
(3-b)
偏差時間特性推定部2076が、入力された水晶発振器温度と温度を観測したときの時刻情報及び制御情報から、周波数偏差が図19の周波数偏差パターンとなっていることを検知する。そして、偏差時間特性推定部2076は、周波数偏差パターンと周波数偏差特性周期と周期開始タイミングを時刻補正量推定部2077に通知する。
時刻補正量推定部2077は、入力された周波数偏差パターンに対応する時刻補正量を時刻補正部206に通知する。
時刻補正部206は、通知された時刻補正量で時刻補正を実施する。
本具体例では、温度情報を偏差時間特性に変換したものを予兆(偏差時間特性)の検知に用いているが、温度情報を偏差時間特性に変換せず、水晶発振器温度の時間推移を予兆検知に用いてもよい。
なお、以上では、スレーブ装置200で水晶発振器が用いられていることを前提にして説明を行った。スレーブ装置200に水晶発振器以外の発振器(例えば、シリコン発振器、MEMS(Micro Electro Mechanical Systems)発振器)が用いられる場合は、学習部207は、対応する発振器の温度特性を学習する。
以上、本実施の形態によっても、周波数偏差が変動する場合に、変動する周波数偏差に合わせた時刻補正が可能である。また、本実施の形態では、学習により得られた時刻補正量を用いて時刻補正が行われるため、周波数偏差変化率及び時刻補正量の算出が不要であり、演算負荷を軽減することができる。
実施の形態4.
本実施の形態では、実施の形態1~3に示した時刻同期の方法を選択し、選択した時刻同期の方法を実施する構成を説明する。
なお、本実施の形態では、主に実施の形態1~3との差異を説明する。
また、以下で説明していない事項は、実施の形態1~3と同様である。
本実施の形態においても、時刻同期システム1000の構成例は図1に示す通りである。
図24は、本実施の形態に係るスレーブ装置200の機能構成例を示す。
なお、本実施の形態に係るスレーブ装置200のハードウェア構成例は図2に示す通りである。なお、後述する選択部208の機能もプログラムで実現され、選択部208の機能を実現するプログラムもプロセッサ901で実行される。
図6と比較して、図24では、選択部208が追加されている。図24の他の要素は、図6の示すものと同じである。
本実施の形態では、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部、学習部207及び選択部208が時刻補正装置300に相当する。
選択部208は、方法選択フェーズで、周波数偏差変化率算出部204により算出された周波数偏差変化率を監視期間の間、監視する。そして、選択部208は、監視期間の周波数偏差変化率に応じて、実施の形態1で説明した時刻補正方法、実施の形態2で説明した時刻補正方法(2-a)、実施の形態2で説明した時刻補正方法(2-b)及び実施の形態3で説明した時刻補正方法のうちのいずれかを選択する。
以下では、実施の形態1で説明した時刻補正方法を時刻補正方法(1)という。また、実施の形態3で説明した時刻補正方法を時刻補正方法(3)という。
周波数偏差変化率が、監視期間の間、閾値1未満で推移した場合は、選択部208は、例えば、時刻補正方法(1)を選択する。
また、周波数偏差変化率が、監視期間の間、閾値1以上閾値2未満で推移した場合は、選択部208は、例えば、時刻補正方法(2-a)又は時刻補正方法(2-b)を選択する。
また、周波数偏差変化率が、監視期間の間、閾値2を超えている場合は、選択部208は、例えば、時刻補正方法(3)を選択する。
選択部208の時刻補正方法の選択基準は上記に限らない。選択部208は、上記以外の任意の選択基準で時刻補正方法を選択することができる。
選択部208は、時刻補正方法(1)を選択した場合は、周波数偏差変化率算出部204に周波数偏差変化率を算出するよう指示し、時刻補正量算出部205に時刻補正量を算出するよう指示する。
選択部208は、時刻補正方法(2-a)を選択した場合は、学習部207に実施の形態2で説明した時刻補正方法(2-a)の学習及び時刻補正量の算出を指示する。
選択部208は、時刻補正方法(2-b)を選択した場合は、学習部207に実施の形態2で説明した時刻補正方法(2-b)の学習及び時刻補正量の算出を指示する。
選択部208は、時刻補正方法(3)を選択した場合は、学習部207に時刻補正方法(3)の学習及び時刻補正量の算出を指示する。
本実施の形態によれば、周波数偏差変化率のレベルにより適切な時刻補正方法を選択することができる。
なお、選択部208の時刻同期方法の選択肢として、IEEE802.1AS又はIEEE1588による時刻補正を加えてもよい。
実施の形態5.
本実施の形態では、時刻補正装置300がスレーブ装置200とサーバ装置400に分離している例を説明する。
なお、本実施の形態では、主に実施の形態2及び実施の形態3との差異を説明する。
また、以下で説明していない事項は、実施の形態2及び実施の形態3と同様である。
図25は、本実施の形態に係る時刻同期システム1000の構成例を示す。
図25では、図1と比較して、サーバ装置400が追加されている。
なお、本実施の形態においても、グランドマスタ装置100は同期基準装置に相当し、スレーブ装置200は時刻同期装置に相当する。
図26は、本実施の形態に係るスレーブ装置200の機能構成例を示す。
図26の機能構成例は図3に示すものと同じであるが、本実施の形態では、周波数偏差変化率算出部204は、算出した周波数偏差変化率を制御部202に通知する。制御部202は、周波数偏差変化率算出部204から通知された周波数偏差変化率を通信部201を介してサーバ装置400に通知する。また、通信部201は、サーバ装置400で算出された時刻補正量をサーバ装置400から受信する。通信部201は受信した時刻補正量を制御部202に通知する。制御部202は、通知された時刻補正量を時刻補正部206に通知する。時刻補正部206は、制御部202から通知された時刻補正量を用いて時刻補正を行う。
また、本実施の形態では、時刻補正部206と後述する学習部402が時刻補正装置300に相当する。
図27は、サーバ装置400の機能構成例を示す。
通信部401は、スレーブ装置200と通信を行う。
具体的には、通信部401は、スレーブ装置200から周波数偏差変化率を受信し、受信した周波数偏差変化率を学習部402に通知する。
また、通信部401は、学習部402により算出された時刻補正量をスレーブ装置200に送信する。
学習部402は、実施の形態2及び実施の形態3で説明した学習部207と同様の機能を有する。
つまり、学習部402は、通信部401から通知された周波数偏差変化率を用いて、実施の形態2で説明した時刻補正方法(2-a)及び時刻補正方法(2-b)の学習フェーズの動作を行い、時刻補正量を算出する。学習部402が時刻補正方法(2-b)の学習フェーズの動作を行う場合は、スレーブ装置200の制御部202は周波数偏差変化率とともに予兆となり得るイベント(図12の溶接実行コマンド発行、冷却コマンド発行等)を学習部402に通知する。
また、学習部402は、通信部401から通知された周波数偏差変化率を用いて、実施の形態3で説明した時刻補正方法(3)の学習フェーズの動作を行い、時刻補正量を算出する。学習部402が時刻補正方法(3)の学習フェーズの動作を行う場合は、スレーブ装置200の制御部202は周波数偏差変化率とともにスレーブ装置200の水晶発振器の温度特性を学習部402に通知する。
学習部402は、算出した時刻補正量を通信部401を介してスレーブ装置200に送信する。また、学習部402が時刻補正方法(2-a)の学習フェーズの動作を行った場合は、周波数偏差パターンの開始タイミングも通信部401を介してスレーブ装置200に送信する。また、学習部402が時刻補正方法(2-b)の学習フェーズの動作を行った場合は、予兆検知タイミングも通信部401を介してスレーブ装置200に送信する。
上述したように、本実施の形態では、時刻補正部206と学習部402が時刻補正装置300に相当する。
以上、本実施の形態のようにサーバ装置で時刻補正量を学習させる場合でも、変動する周波数偏差に合わせた時刻補正が可能である。
以上、実施の形態1~5を説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
また、これらの実施の形態に記載された構成及び手順を必要に応じて変更してもよい。
***ハードウェア構成の補足説明***
最後に、スレーブ装置200のハードウェア構成の補足説明を行う。
図2に示すプロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図2に示す主記憶装置902は、RAM(Random Access Memory)である。
図2に示す補助記憶装置903は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
図2に示す通信装置904は、データの通信処理を実行する電子回路である。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
また、補助記憶装置903には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ901により実行される。
プロセッサ901はOSの少なくとも一部を実行しながら、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部206、学習部207及び選択部208の機能を実現するプログラムを実行する。
プロセッサ901がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部206、学習部207及び選択部208の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、主記憶装置902、補助記憶装置903、プロセッサ901内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部206、学習部207及び選択部208の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部206、学習部207及び選択部208の機能を実現するプログラムが格納された可搬記録媒体を流通させてもよい。
また、通信部201、制御部202、時刻管理部203、周波数偏差変化率算出部204、時刻補正量算出部205、時刻補正部206、学習部207及び選択部208の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
また、スレーブ装置200は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)である。
なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
100 グランドマスタ装置、200 スレーブ装置、201 通信部、202 制御部、203 時刻管理部、2031 フリーランカウンタ、2032 時刻カウンタ、204 周波数偏差変化率算出部、205 時刻補正量算出部、206 時刻補正部、207 学習部、2071 偏差時間特性推定部、2072 時刻補正量推定部、2075 偏差温度特性推定部、2076 偏差時間特性推定部、2077 時刻補正量推定部、208 選択部、300 時刻補正装置、400 サーバ装置、401 通信部、402 学習部、901 プロセッサ、902 主記憶装置、903 補助記憶装置、904 通信装置、1000 時刻同期システム。

Claims (13)

  1. 時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の単位時間あたりの変化率である周波数偏差変化率を算出する周波数偏差変化率算出部と、
    前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の固定的な周波数偏差に対応する第1の補正量を算出し、前記周波数偏差変化率の時間積分を行って前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の周波数偏差の時間推移に対応する第2の補正量を算出し、前記第1の補正量と前記第2の補正量とを用いて、前記時刻同期装置の時刻を補正するための時刻補正量を算出する時刻補正量算出部と、
    前記時刻補正量を用いて、前記時刻同期装置の時刻を補正する時刻補正部とを有する時刻補正装置。
  2. 前記時刻補正部は、
    前記時刻同期装置の時刻カウンタから前記時刻補正量を減算して前記時刻同期装置の時刻を補正する請求項1に記載の時刻補正装置。
  3. 前記周波数偏差変化率算出部は、
    前記同期基準装置が前記時刻同期装置に時刻同期のための時刻同期フレームを送信する周期である時刻同期フレーム送信周期に合わせて前記周波数偏差変化率を算出し、
    前記時刻補正量算出部は、
    前記時刻同期フレーム送信周期に合わせて前記第1の補正量と前記第2の補正量を算出し、
    現在の時刻同期フレーム送信周期の1つ前の時刻同期フレーム送信周期に算出された前記第1の補正量と前記第2の補正量とを用いて、現在の時刻同期フレーム送信周期の前記時刻補正量を算出する請求項1に記載の時刻補正装置。
  4. 前記時刻補正装置は、更に、
    前記時刻補正部に機械学習により算出された時刻補正量と前記時刻補正量算出部により算出された時刻補正量のいずれを用いさせるかを選択する選択部を有する請求項1に記載の時刻補正装置。
  5. 前記選択部は、
    前記時刻補正部に機械学習により算出された時刻補正量を用いさせる場合に、更に、複数の機械学習方法のうちのいずれの機械学習方法により算出された時刻補正量を前記時刻補正部に用いさせるかを選択する請求項4に記載の時刻補正装置。
  6. 学習フェーズにて、時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の時間推移を学習し、前記周波数偏差の時間推移のパターンを周波数偏差パターンとして抽出し、前記周波数偏差パターンにおける周波数偏差変化率を算出し、前記周波数偏差変化率と時間との積と規定タイミングでの周波数偏差とを時間積分して、前記時刻同期装置の時刻を補正するための時刻補正量を算出する学習部と、
    活用フェーズにて、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する時刻補正部とを有する時刻補正装置。
  7. 前記学習部は、
    前記学習フェーズにて、前記規定タイミングとして前記周波数偏差パターンの開始タイミングを推定し、前記周波数偏差変化率と時間との積と前記周波数偏差パターンの開始タイミングでの周波数偏差とを時間積分して、前記時刻補正量を算出し、
    前記時刻補正部は、
    前記活用フェーズにて、前記周波数偏差パターンの開始タイミングが到来した場合に、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する請求項6に記載の時刻補正装置。
  8. 前記学習部は、
    前記学習フェーズにて、前記周波数偏差変化率が急激に変化する時間推移のパターンを前記周波数偏差パターンとして抽出し、前記周波数偏差パターンが発生する前に発生する予兆を推定し、前記規定タイミングとして前記予兆の検知タイミングを推定し、前記周波数偏差変化率と時間との積と前記予兆の検知タイミングでの周波数偏差とを時間積分して、前記時刻補正量を算出し、
    前記時刻補正部は、
    前記活用フェーズにて、前記予兆が検知された場合に、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する請求項6に記載の時刻補正装置。
  9. 前記学習部は、
    前記学習フェーズにて、前記同期基準装置のクロックの生成に用いられる発振器での温度特性を学習し、温度特性に対応させた前記時刻補正量を算出し、
    前記時刻補正部は、
    前記活用フェーズにて、温度特性に対応させた前記時刻補正量を用いて前記時刻同期装置の時刻を補正する請求項6に記載の時刻補正装置。
  10. コンピュータが、時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の単位時間あたりの変化率である周波数偏差変化率を算出し、
    前記コンピュータが、前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の固定的な周波数偏差に対応する第1の補正量を算出し、前記周波数偏差変化率の時間積分を行って前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の周波数偏差の時間推移に対応する第2の補正量を算出し、前記第1の補正量と前記第2の補正量とを用いて、前記時刻同期装置の時刻を補正するための時刻補正量を算出し、
    前記コンピュータが、前記時刻補正量を用いて、前記時刻同期装置の時刻を補正する時刻補正方法。
  11. コンピュータが、学習フェーズにて、時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の時間推移を学習し、前記周波数偏差の時間推移のパターンを周波数偏差パターンとして抽出し、前記周波数偏差パターンにおける周波数偏差変化率を算出し、前記周波数偏差変化率と時間との積と規定タイミングでの周波数偏差とを時間積分して、前記時刻同期装置の時刻を補正するための時刻補正量を算出し、
    前記コンピュータが、活用フェーズにて、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する時刻補正方法。
  12. 時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の単位時間あたりの変化率である周波数偏差変化率を算出する周波数偏差変化率算出処理と、
    前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の固定的な周波数偏差に対応する第1の補正量を算出し、前記周波数偏差変化率の時間積分を行って前記同期基準装置のクロック周波数と前記時刻同期装置のクロック周波数との間の周波数偏差の時間推移に対応する第2の補正量を算出し、前記第1の補正量と前記第2の補正量とを用いて、前記時刻同期装置の時刻を補正するための時刻補正量を算出する時刻補正量算出処理と、
    前記時刻補正量を用いて、前記時刻同期装置の時刻を補正する時刻補正処理とをコンピュータに実行させる時刻補正プログラム。
  13. 学習フェーズにて、時刻同期の基準となる同期基準装置のクロック周波数と前記同期基準装置と時刻同期する時刻同期装置のクロック周波数との周波数偏差の時間推移を学習し、前記周波数偏差の時間推移のパターンを周波数偏差パターンとして抽出し、前記周波数偏差パターンにおける周波数偏差変化率を算出し、前記周波数偏差変化率と時間との積と規定タイミングでの周波数偏差とを時間積分して、前記時刻同期装置の時刻を補正するための時刻補正量を算出する学習処理と、
    活用フェーズにて、前記時刻補正量を用いて前記時刻同期装置の時刻を補正する時刻補正処理とをコンピュータに実行させる時刻補正プログラム。
JP2022527443A 2020-05-29 2020-05-29 時刻補正装置、時刻補正方法及び時刻補正プログラム Active JP7122496B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/021347 WO2021240783A1 (ja) 2020-05-29 2020-05-29 時刻補正装置、時刻補正方法及び時刻補正プログラム

Publications (3)

Publication Number Publication Date
JPWO2021240783A1 JPWO2021240783A1 (ja) 2021-12-02
JPWO2021240783A5 JPWO2021240783A5 (ja) 2022-08-10
JP7122496B2 true JP7122496B2 (ja) 2022-08-19

Family

ID=78723283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022527443A Active JP7122496B2 (ja) 2020-05-29 2020-05-29 時刻補正装置、時刻補正方法及び時刻補正プログラム

Country Status (5)

Country Link
US (1) US20230010155A1 (ja)
JP (1) JP7122496B2 (ja)
DE (1) DE112020006988B4 (ja)
TW (1) TW202144952A (ja)
WO (1) WO2021240783A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102418059B1 (ko) * 2020-12-08 2022-07-06 현대오토에버 주식회사 차량의 이종 제어기간 통신 응답시간 추정 장치 및 방법
TWI835438B (zh) * 2022-11-29 2024-03-11 瑞昱半導體股份有限公司 媒體通訊系統及其具有訊號同步機制的媒體通訊裝置及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015111059A (ja) 2013-12-06 2015-06-18 ニチコン株式会社 電子時計
JP6351889B1 (ja) 2017-06-27 2018-07-04 三菱電機株式会社 通信システム及びスレーブ装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717661A (en) * 1994-12-20 1998-02-10 Poulson; T. Earl Method and apparatus for adjusting the accuracy of electronic timepieces
JP2017069669A (ja) * 2015-09-29 2017-04-06 富士通株式会社 時刻同期装置、基地局装置、及び、時刻同期方法
JP6953735B2 (ja) 2016-04-01 2021-10-27 富士通株式会社 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015111059A (ja) 2013-12-06 2015-06-18 ニチコン株式会社 電子時計
JP6351889B1 (ja) 2017-06-27 2018-07-04 三菱電機株式会社 通信システム及びスレーブ装置

Also Published As

Publication number Publication date
JPWO2021240783A1 (ja) 2021-12-02
DE112020006988T5 (de) 2023-01-19
TW202144952A (zh) 2021-12-01
DE112020006988B4 (de) 2024-01-18
WO2021240783A1 (ja) 2021-12-02
US20230010155A1 (en) 2023-01-12

Similar Documents

Publication Publication Date Title
US8959381B2 (en) Method and system for clock offset and skew estimation
CN108923876B (zh) 时间同步方法、装置及系统
JP7122496B2 (ja) 時刻補正装置、時刻補正方法及び時刻補正プログラム
JP6192995B2 (ja) 通信装置、通信システム、通信方法およびコンピュータプログラム
US7114091B2 (en) Synchronization of distributed systems
JP4931108B2 (ja) 高精度時刻同期処理装置およびそのプログラム,ならびにネットワーク混雑度警告装置およびそのプログラム
EP2893656B1 (en) Method and system for clock offset and skew estimation
TWI640165B (zh) 感測器時鐘估計方法及其裝置
US10594424B2 (en) Time synchronization slave apparatus capable of adjusting time synchronization period, and method of determining time synchronization period
WO2013051447A1 (ja) 時刻制御装置、時刻制御方法、およびプログラム
WO2013051446A1 (ja) 時刻制御装置、時刻制御方法、およびプログラム
KR101636496B1 (ko) 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법
US20230236624A1 (en) Clock error-bound tracker
CN115333660A (zh) 精确时间戳校正
Luckinger et al. Software-based AUTOSAR-compliant precision clock synchronization over CAN
JP2011023788A (ja) ネットワーク同期方法と同期化回路
JPWO2021240783A5 (ja)
JP6654498B2 (ja) ディジタル保護継電装置及びディジタル保護継電システム
CN112703705A (zh) 通信装置、通信系统、通信方法及通信程序
Kopetz Why a global time is needed in a dependable sos
JP7094452B2 (ja) 情報処理装置、プログラム及び情報処理方法
WO2023062709A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN115459897B (zh) 电力实时仿真中的步长同步校准方法、装置及相关设备
CN108400827A (zh) 基于模型预测控制的时钟同步方法
CN115442244B (zh) 电力实时仿真中通信间隔的校准方法、装置及相关设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220531

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220531

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220808

R150 Certificate of patent or registration of utility model

Ref document number: 7122496

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150