IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特開2024-130044時刻同期装置、方法およびプログラム
<>
  • 特開-時刻同期装置、方法およびプログラム 図1
  • 特開-時刻同期装置、方法およびプログラム 図2
  • 特開-時刻同期装置、方法およびプログラム 図3
  • 特開-時刻同期装置、方法およびプログラム 図4
  • 特開-時刻同期装置、方法およびプログラム 図5
  • 特開-時刻同期装置、方法およびプログラム 図6
  • 特開-時刻同期装置、方法およびプログラム 図7
  • 特開-時刻同期装置、方法およびプログラム 図8
  • 特開-時刻同期装置、方法およびプログラム 図9
  • 特開-時刻同期装置、方法およびプログラム 図10
  • 特開-時刻同期装置、方法およびプログラム 図11
  • 特開-時刻同期装置、方法およびプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024130044
(43)【公開日】2024-09-30
(54)【発明の名称】時刻同期装置、方法およびプログラム
(51)【国際特許分類】
   G05B 19/05 20060101AFI20240920BHJP
【FI】
G05B19/05 J
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023039534
(22)【出願日】2023-03-14
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】▲高▼居 正一
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA06
5H220BB09
5H220CC06
5H220CX01
5H220JJ12
5H220JJ26
(57)【要約】
【課題】時刻同期のための補正速度を時刻差に応じて変更する。
【解決手段】装置は、第1周期毎に、ネットワーク通信で検出された基準時刻とタイマが計測するタイマ時刻との間の時刻差を算出し、第1周期内の第2周期毎に、時刻差を入力し、量子化ビット幅に量子化された量子化値と量子化誤差を出力し、第2周期毎に、量子化部が出力する量子化値を用いて、タイマ時刻を基準時刻を示すように補正し、第2周期毎に、当該第2周期が属する第1周期で算出された時刻差に当該第2周期の直前の第2周期における量子化誤差を加算し、加算後の時刻差を量子化部に出力する。
【選択図】図1
【特許請求の範囲】
【請求項1】
時刻同期装置であって、
第1周期毎に、ネットワーク通信によって検出された基準時刻とタイマが計測するタイマ時刻との間の時刻差を算出する算出部と、
第1周期内の第2周期毎に、時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力する量子化部と、
前記第2周期毎に、前記量子化部から出力される前記量子化値を用いて、前記タイマ時刻を前記基準時刻を示すように補正する補正部と、
前記第2周期毎に、当該第2周期が属する前記第1周期において算出された前記時刻差に当該第2周期の直前の第2周期における前記量子化誤差を加算し、加算後の時刻差を前記量子化部に出力する加算部と、を含む、時刻同期装置。
【請求項2】
前記時刻同期装置は、FA(ファクトリオートメーション)の制御装置に備えられる、請求項1に記載の時刻同期装置。
【請求項3】
前記予め定められた量子化ビット幅は、前記時刻差のデータが有するビット幅よりも短いビット幅であって、且つ、前記時刻差のデータのうちの最上位ビットを含む当該最上位ビットから続く上位ビットで構成される、請求項1または2に記載の時刻同期装置。
【請求項4】
前記時刻差は、前記ネットワーク通信における伝送遅延を含む、請求項1または2に記載の時刻同期装置。
【請求項5】
前記時刻同期装置は、マスタ装置と前記ネットワーク通信を実施するスレーブ装置に備えられ、
前記スレーブ装置は、前記マスタ装置と前記基準時刻のメッセージを通信する、請求項1または2に記載の時刻同期装置。
【請求項6】
前記スレーブ装置は、FA(ファクトリオートメーション)の制御装置を含む、請求項5に記載の時刻同期装置。
【請求項7】
前記時刻同期装置は、
前記量子化部と前記加算部とを有するノイズシェーピング部を含む、請求項1または2に記載の時刻同期装置。
【請求項8】
前記制御装置は、
対象を制御するための制御指令を算出する制御演算を実施する制御演算部と、
前記マスタ装置が属する前記ネットワークを接続するための第1コネクタと、
対象が属するフィールドネットワークであって、前記制御指令を通信するフィールドネットワークを接続するための第2コネクタと、を含む、請求項6に記載の時刻同期装置。
【請求項9】
タイマの時刻同期を実施する方法であって、
前記方法は、
第1周期毎に、ネットワーク通信によって取得した基準時刻と前記タイマが計測するタイマ時刻との間の時刻差を算出すること、
第1周期内の第2周期毎に、時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力すること、
前記第2周期毎に、前記量子化において出力される前記量子化値を用いて、前記タイマ時刻を前記基準時刻を示すように補正すること、および、
前記第2周期毎に、当該第2周期が属する前記第1周期において算出された前記時刻差に当該第2周期の直前の第2周期における前記量子化誤差を加算することを備え、
前記量子化することは、加算後の時刻差を入力し、前記予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力することを含む、方法。
【請求項10】
タイマの時刻同期の方法をコンピュータの実行させるプログラムであって、
前記方法は、
第1周期毎に、ネットワーク通信によって取得した基準時刻と前記タイマが計測するタイマ時刻との間の時刻差を算出すること、
第1周期内の第2周期毎に、時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力すること、
前記第2周期毎に、前記量子化において出力される前記量子化値を用いて、前記タイマ時刻を前記基準時刻を示すように補正すること、および、
前記第2周期毎に、当該第2周期が属する前記第1周期において算出された前記時刻差に当該第2周期の直前の第2周期における前記量子化誤差を加算することを備え、
前記量子化することは、加算後の時刻差を入力し、前記予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力することを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、タイマの時刻を基準時刻に同期させる時刻同期の技術に関する。
【背景技術】
【0002】
時間を調整する技術が種々提案されている。例えば、特許文献1(特開2009-157913号公報)は、スレーブは、スレーブとマスタとの間の時間差に基づく調整量を用いて、スレーブの時間軸のズレを徐々に調整する技術を開示する。また、特許文献2(特開2011-216085号公報)は、スレーブが、マスタから受信した時間同期フレームに格納された時刻情報と設定された補正時間とから当該スレーブの内部時計を補正する技術を開示する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009-157913号公報
【特許文献2】特開2011-216085号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記に述べた時刻の補正では、予め定められた補正の間隔において補正が完了するように、補正(調整)のスピードが予め設定された一定スピードであった。そのため、時間差の大きさによっては補正スピードが早すぎる等適切でないことがあった。
【0005】
それゆえに、本開示のある局面に係る目的は、時刻同期のための補正速度を時刻差に応じて変更できる技術を提供することである。
【課題を解決するための手段】
【0006】
本開示に係る時刻同期装置は、第1周期毎に、ネットワーク通信によって検出された基準時刻とタイマが計測するタイマ時刻との間の時刻差を算出する算出部と、第1周期内の第2周期毎に、時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力する量子化部と、第2周期毎に、量子化部から出力される量子化値を用いて、タイマ時刻を基準時刻を示すように補正する補正部と、第2周期毎に、当該第2周期が属する第1周期において算出された時刻差に当該第2周期の直前の第2周期における量子化誤差を加算し、加算後の時刻差を量子化部に出力する加算部と、を含む。
【0007】
上述の時刻同期装置によれば、量子化部によって量子化が実施されると、時刻差が大きいほど量子化値および量子化誤差は比較的大きな値として導出されて、第2周期毎の補正量は大きくなり、タイマ時刻の補正スピードを早くできる。これに対して、時刻差が小さいほど量子化値および量子化誤差は比較的小さな値として導出されて、第2周期毎の補正量は小さくなり、タイマ時刻の補正スピードを遅くできる。したがって、時刻同期のための補正速度を時刻差に応じて変更できる。
【0008】
上述の時刻同期装置は、FA(ファクトリオートメーション)の制御装置に備えられる。したがって、時刻同期装置を、FAの制御のための時刻同期に適用できる。
【0009】
上述の時刻同期装置において、予め定められた量子化ビット幅は、時刻差のデータが有するビット幅よりも短いビット幅であって、且つ、時刻差のデータのうちの最上位ビットを含む当該最上位ビットから続く上位ビットで構成される。
【0010】
上述の時刻同期装置によれば、量子化ビット幅を、最上位ビットを含む当該最上位ビットから続く上位ビットで構成することができる。
【0011】
上述の時刻同期装置において、時刻差は、ネットワーク通信における伝送遅延を含む。したがって、基準時刻がネットワーク通信を利用して検出される場合は、ネットワークの伝送遅延を含んだ時刻差を用いてタイマ時刻を補正できる。
【0012】
上述の時刻同期装置は、マスタ装置とネットワーク通信を実施するスレーブ装置に備えられ、スレーブ装置は、マスタ装置と基準時刻のメッセージを通信する。したがって、マスタ-スレーブのシステムにおいて、スレーブ装置のタイマ時刻を時刻同期装置によってマスタ装置の基準時刻に合わせることができる。
【0013】
上述の時刻同期装置が備えられるスレーブ装置は、FA(ファクトリオートメーション)の制御装置を含む。したがって、FAの制御システムにおいて、制御装置のタイマ時刻を時刻同期装置によって基準時刻に合わせることができる。
【0014】
上述の時刻同期装置は、上記に述べた量子化部と加算部とを有するノイズシェーピング部を含む。したがって、ノイズシェーピングを構成する量子化部と加算部とを備えた時刻同期装置を実現することができる。
【0015】
上述の時刻同期装置が備えられる制御装置は、対象を制御するための制御指令を算出する制御演算を実施する制御演算部と、マスタ装置が属するネットワークを接続するための第1コネクタと、対象が属するフィールドネットワークであって、制御指令を通信するフィールドネットワークを接続するための第2コネクタと、を含む。
【0016】
上述の時刻同期装置が備えられる制御装置は、基準時刻を提供するマスタ装置と通信するために接続するネットワークと、制御対象と通信するために接続するネットワークとを互いに独立させることができる。
【0017】
この開示に係るタイマの時刻同期を実施する方法は、第1周期毎に、ネットワーク通信によって取得した基準時刻とタイマが計測するタイマ時刻との間の時刻差を算出すること、第1周期内の第2周期毎に、時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力すること、第2周期毎に、量子化において出力される量子化値を用いて、タイマ時刻を前記基準時刻を示すように補正すること、および、第2周期毎に、当該第2周期が属する第1周期において算出された時刻差に当該第2周期の直前の第2周期における前記量子化誤差を加算することを備え、量子化することは、加算後の時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力することを含む。
【0018】
この開示に係るプログラムは、タイマの時刻同期の方法をコンピュータの実行させるプログラムである。方法は、第1周期毎に、ネットワーク通信によって取得した基準時刻とタイマが計測するタイマ時刻との間の時刻差を算出すること、第1周期内の第2周期毎に、時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力すること、第2周期毎に、量子化において出力される量子化値を用いて、タイマ時刻を基準時刻を示すように補正すること、および、第2周期毎に、当該第2周期が属する第1周期において算出された時刻差に当該第2周期の直前の第2周期における量子化誤差を加算することを備え、量子化することは、加算後の時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力することを含む。
【発明の効果】
【0019】
本開示によれば、時刻同期のための補正速度を時刻差に応じて変更できる。
【図面の簡単な説明】
【0020】
図1】本実施の形態に係る時刻同期部を有したスレーブ装置200の適用例を模式的に示す図である。
図2】本実施の形態に係る制御システムの構成を概略的に示す図である。
図3】本実施の形態に係る制御装置2のハードウェア構成例を示すブロック図である。
図4】ノイズシェーピングユニット33のブロック図である。
図5】ノイズシェーピングが奏する周波数特性を模式的に示す図である。
図6】本実施の形態に係る量子化器37の特性を示す図である。
図7】本実施の形態に係る量子化器37の特性を示す図である。
図8】ノイズシェーピングにおける量子化ノイズVgの伝達特性を示す図である。
図9】ノイズシェーピングにおける量子化ノイズVgの伝達特性を示す図である。
図10】本実施の形態に係る時刻同期処理のフローチャートである。
図11】本実施の形態に係る補正処理を他の補正処理と対比して示す図である。
図12】本実施の形態に係る補正処理を他の補正処理と対比して示す図である。
【発明を実施するための形態】
【0021】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0022】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。本実施の形態では、「制御装置」の典型例として、FA(ファクトリオートメーション)に適用されるコントローラであって、典型的にはPLC(プログラマブルロジックコントローラ)を説明するが、PLCの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。
【0023】
また、本実施の形態では、時刻同期装置は、マスタ装置とネットワーク通信するスレーブ装置に備えられる。スレーブ装置は、上記に述べた制御装置を含む。時刻同期装置(スレーブ装置、制御装置)は管理タイマを、基準時刻を管理する基準タイマに合わせるための「時刻同期処理」を実施する。本開示において、「時刻」は、時の流れにおけるある一点を示すものを意図し、例えば、時分秒などの単位を用いて規定される。
【0024】
管理タイマの時刻は、管理タイマのクロックに基づいて測定された時刻を示し、基準タイマの時刻は、基準タイマのクロックに基づいて測定された時刻を示す。より具体的には、基準タイマと管理タイマは、それぞれ、図示しない発振器によって生成された基準クロックをカウントし、カウント値をリセットされない内部レジスタに格納する。カウント値は、例えば整数値を表す。このように、基準タイマのレジスタのカウント値に基づき基準時刻が示され、管理タイマのレジスタのカウント値に基づき時刻が示される。管理タイマと基準タイマとの間の時刻差は、両タイマのクロック間の周波数ずれに起因した時刻差を含む。
【0025】
図1は、本実施の形態に係る時刻同期部を有したスレーブ装置200の適用例を模式的に示す図である。図1を参照して、スレーブ装置200は、伝送路を構成するネットワーク11を介してマスタ装置と通信する。マスタ装置は、基準時刻Rを管理する基準タイマ191を有する。マスタ装置は、予め定められた第1周期(例えば、1m秒)で基準時刻Rを配信するためのメッセージ(以下、時刻配信メッセージ21と称する)を、ネットワーク11を介して送信する。スレーブ装置200は、管理タイマ35と時刻同期部3を有する。時刻同期部3は、時刻同期装置に対応する。時刻同期部3は、管理タイマ35が管理する時刻44を、時刻44と基準時刻Rとの時刻差に基づき補正することにより「時刻同期処理」を実施する。
【0026】
スレーブ装置20は、マスタ装置から時刻配信メッセージ21を受信し、受信した時刻配信メッセージ21に基づき基準時刻Rを取得する。基準時刻Rは、時刻配信メッセージ21を転送するネットワーク11上の伝搬遅延(ジッタ)を含んだ値を示すので、基準時刻Rから取得される時刻差も、当該伝送遅延を含んだ値を示す。時刻同期部3は、取得された基準時刻Rと管理タイマ35の時刻44とを入力し、両者の間の偏差である時刻差41(時刻差41=基準時刻R-時刻44)を導出する算出部31と、時刻差41に基づき操作量42を導出するフィルタ32と、フィルタ32からの操作量42に基づき補正量43を導出するノイズシェーピングユニット33と、ノイズシェーピングユニット33からの補正量43を用いて管理タイマ35の時刻44を、基準時刻を示すように補正する補正部34とを含む。フィルタ32は第1周期に同期して動作し、ノイズシェーピングユニット33および補正部34は、時刻44に基づく後述する第2周期に同期して動作する。
【0027】
フィルタ32は、例えば時刻差41を入力としてPID制御(Proportional-Integral-Differential Controller)演算を実施することにより、フィルタ処理がなされた時刻差41を示す操作量42を導出する。フィルタ32は、第1周期に同期して動作することにより、第1周期毎に操作量42を出力する。
【0028】
ノイズシェーピングユニット33は、「量子化部」に相当する。ノイズシェーピングユニット33は、時刻配信メッセージ21の配信周期である第1周期内の第2周期毎に、当該第1周期で取得された時刻差41に対応した操作量42を入力し、当該操作量42を予め定められた量子化ビット幅に量子化し、量子化値である補正量43を出力する。また、ノイズシェーピングユニット33は、第2周期毎の量子化において発生する量子化誤差を出力する。
【0029】
補正部34も、また、第2周期毎に、ノイズシェーピングユニット33から出力される量子化値である補正量43を用いて、管理タイマ35の時刻44を基準時刻Rを示すように補正する。補正部34は、例えば、補正量43が加算されるように時刻44を補正する。補正部34によって実施される補正は、補正量43が示す値をレジスタのカウンタ値に加算または当該カウンタ値から減算減する「調整」の概念も表す。その場合、補正量43は、加減量を表す調整量の概念を表す。
【0030】
時刻同期部3は、ノイズシェーピングユニット33が入力する操作量42に、第2周期毎に、当該第2周期の直前の第2周期において出力された量子化誤差が加算し、加算後の操作量42をノイズシェーピングユニット33に出力する。
【0031】
本実施の形態に係るノイズシェーピングユニット33は、量子化モジュールを含む。量子化モジュールは、離散的な値である操作量42を、量子化ビット幅を有した離散的なデジタル値である補正量43を出力する。操作量42のうち量子化ビット幅に該当しないビット幅の値は、量子化誤差として次の第2周期の補正量43に加算されて、ノイズシェーピングユニット33は、加算後の補正量43について次の第2周期における量子化を実施し補正量43を導出する。
【0032】
このようなノイズシェーピングユニット33を用いた操作量42の量子化が実施されると、時刻差41が大きいほど、すなわち操作量42の変化が大きいほど量子化値および量子化誤差は比較的大きな値として導出されて、第2周期毎の補正量43は大きくなり、時刻44の補正スピードは早くなる。これに対して、時刻差41が小さいほど、すなわち操作量42の変化が小さいほど量子化値および量子化誤差は比較的小さな値として導出されるので、第2周期毎の補正量43は小さくなって、時刻44の補正スピードは遅くなる。
【0033】
したがって、ノイズシェーピングユニット33が導出する補正量43を用いて時刻44を補正することによって、第1周期毎の時刻同期のための補正速度(すなわち、第2周期毎の補正量43)を、当該第1周期において取得された時刻差41の大きさに応じた速度に変更することができる。
【0034】
<B.制御システムの構成>
上記に述べたスレーブ装置200は、FAの制御システムを構成するPLCに搭載することができる。図2は、本実施の形態に係る制御システムの構成を概略的に示す図である。図2を参照して、制御システム1は生産ラインのFAを実現する。より具体的には、制御システム1では、ネットワークが複数レベルに接続されており、各レベルのネットワークには、それぞれ異なる機能が割り当てられる。具体的には、限定されないが、例えば4つのレベルのネットワーク11~14が設けられている。
【0035】
コントロールレベルのネットワーク11には、複数の制御装置2A、2Bおよび2Cと、装置/ライン管理装置190よびSCADA(Supervisory Control And Data Acquisition)機能を提供する表示装置280とが属する。これら装置は、ネットワーク11を介して互いにデータを遣り取りする。制御装置2A、2Bおよび2Cを区別しない場合は「制御装置2」と称する。ネットワーク11は、主に、時刻同期および制御系に係る制御指令等の情報を伝送する。
【0036】
制御装置2は、フィールドレベルのネットワーク110を介して制御の対象となり得る1または複数のフィールド機器90を接続する。このようなフィルードネットワークに属する1または複数のフィールド機器90の各々は、製造装置または生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りする入出力装置などを含む。
【0037】
ネットワーク110を介して、制御装置2とフィールド機器90との間で遣り取りされるデータは、数100μsecオーダ~数10msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理は、入出力リフレッシュ処理とも称される。
【0038】
管理レベルのネットワーク12には、装置およびラインを管理する装置/ライン管理装置190、製造計画等を管理する製造管理装置380および390が接続される。装置/ライン管理装置190、製造管理装置380および390は、ネットワーク12を介して、製造計画等の管理情報の遣り取り、および装置またはラインの情報を遣り取りする。
【0039】
コンピュータレベルのネットワーク13には、製造管理装置380および390、ならびに時系列DB(データベースの略)450を管理する製造実行システム(MES:Manufacturing Execution System)400が接続される。製造管理装置380および390、ならびに製造実行システム400は、ネットワーク13を介して、生産管理および情報系のデータを遣り取りする。
【0040】
製造実行システム400は、ネットワーク13を介して収集するフィールド機器90からの入力値である観測値を、観測された順番に従う時系列のデータとして時系列DB450に格納する。具体的には、本実施の形態では、制御装置2は、指定された観測値(または制御指令)と管理タイマ35の時刻44のデータを含むフレームを生成し、ネットワーク11,12および13を介して製造実行システム400に転送する。
【0041】
インターネットなどの外部ネットワークを含むネットワーク14には、製造実行システム400とクラウド上の外部装置などが接続される。製造実行システム400は、クラウド上の装置とデータを遣り取りすることにより、時系列DB450のデータをクラウド上の装置に転送する。
【0042】
図2に示す制御システム1において、ネットワーク11~14およびネットワーク110には、このような要求される特性の違いに応じたプロトコルおよびフレームワークが採用される。例えば、ファクトリーネットワークに属するネットワーク11および12のプロトコルとしては、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)を用いてもよい。また、ネットワーク110のプロトコルとしては、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)を採用してもよい。なお、ネットワーク11のプロトコルとネットワーク110には、同じまたは異なるプロトコルが適用される。このようなマシンコントロールに適したネットワーク技術を採用することで、機器間の伝送に要する時間が保証されたリアルタイム性を提供できる。
【0043】
対照的に、コーポレートネットワークに属するネットワーク13および14は、接続先の多様性を担保するために、汎用的なEthernet等のプロトコルが適用される。汎用的なEthernetが採用されることで、送信可能なデータ量等の制限を排除できる。
【0044】
制御装置2または装置/ライン管理装置190は、サポート装置500が接続され得る。サポート装置500は、制御装置2が制御対象を制御するために必要な準備を支援する装置である。
【0045】
制御システム1は、制御装置2A、2Bおよび2Cが、それぞれ、異なる工程3A、3Bおよび3Cに備えられる分散型システム300を備える。限定されないが、例えば、工程3Aは、ワーク(部品、部材)を整列させながら搬送するパーツフィーダの工程を示し、工程3Bは、工程3Aで整列されたワークをロボットのPick And Place動作によって移動させる工程を示し、工程3Cは移動後のワークを組立てる工程を示す。分散型システム300では、各工程の制御装置2に接続されるフィールド機器90の動作は、前後工程の制御装置2に接続されるフィールド機器90の動作とは異なる。分散型システム300における要求タクトタイムを満たすために、ある工程における動作は当該工程の前後工程の動作と同期して実施される。
【0046】
制御装置2は、当該制御装置2に接続されるフィールド機器90のシーケンス制御を実現するための制御指令を出力する、例えばシーケンスプログラムおよびモーション制御を実現するためのモーションプログラムなどを含む制御に関する制御演算のプログラムを、同期した時刻に基づく予め定められた周期(これを、制御周期ともいう)毎に実行することで、フィールド機器90のリアルタイム制御を実現する。このような制御周期は、管理タイマ35の時刻44に基づく予め定められた周期に相当する。
【0047】
図2において時刻同期を実現する構成は、例えば、ネットワーク11が産業用ネットワークのプロトコルであるTSN(Time-Sensitive Networking)に従うデータ通信を実施するケースと、ネットワーク11がEtherCAT(登録商標:Ethernet for Control Automation Technology)に従うデータ通信を実施するケースとを含み得る。なお、ネットワーク11に適用される規格は、これらに限定されず、例えばIEEE1588であってもよい。
【0048】
図2を参照して、基準タイマ191を有するマスタ装置は、基準タイマが計測する基準時刻のデータを含む時刻配信メッセージ21をネットワーク11に送信する。基準タイマは、制御装置2A,2Bおよび2Cのいずれかが有するタイマまたはネットワーク11上の他の装置(例えば、装置/ライン管理装置190)のタイマであってよく、これらタイマのうち最も高い精度のタイマに相当する。本実施の形態では、例えば、装置/ライン管理装置190はマスタ装置として動作する。
【0049】
各制御装置2では、当該制御装置2の管理タイマ35を、基準タイマ191に合わせる図1に示した時刻同期処理が実施されるので、ある工程の制御装置2は当該工程におけるフィールド機器90を当該工程の前後工程のフィールド機器90と同期して動作させることができる。
【0050】
<C.制御装置の構成>
分散型システム300を構成する制御装置2に、図1に示した時刻同期装置のモジュールを有したスレーブ装置200が搭載されるケースを説明する。図3は、本実施の形態に係る制御装置2のハードウェア構成例を示すブロック図である。
【0051】
図3を参照して、制御装置2は、プロセッサ102と、チップセット104と、二次記憶装置106と、主記憶装置108と、上位ネットワークコントローラ105と、USB(Universal Serial Bus)コントローラ107と、メモリカードインターフェイス109と、フィールドネットワークコントローラ118と、カウンタ126と、RTC(Real Time Clock)128とを含む。
【0052】
プロセッサ102は、CPU(Central Processing Unit)、MPU(Microprocessor unit)、GPU(Graphics Processing Unit)などで構成され、二次記憶装置106に格納された各種プログラムを読出して、主記憶装置108に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。二次記憶装置106は、例えば、HDD(Hard Disk Drive)およびSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。主記憶装置108は、DRAM(Dynamic Random Access Memory)およびSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。
【0053】
チップセット104は、プロセッサ102と各デバイスを制御することで、制御装置2全体としての処理を実現する。
【0054】
二次記憶装置106には、基準時刻のための時刻配信メッセージ21を受信(配信)する第1周期および第2周期を示す周期データ202が格納される。第2周期は、ノイズシェーピングユニット33における量子化に係るサンプリング周期に相当する。
【0055】
二次記憶装置106には、制御対象の製造装置または設備に応じて作成されるUPG(ユーザプログラムの略)201が格納される。UPG201は、実行されると制御演算をプロセッサ102に実行させるための命令コードを含む制御プログラムと、実行されると時刻同期処理をプロセッサ102に実行させるための命令コードを含む時刻同期プログラム210とを含む。時刻同期プログラムは210は、実行されるとプロセッサ102に補正量43に基づき管理タイマの時刻補正を実施させる命令コードを有した補正プログラム211を含む。補正プログラム211は、実行されるとプロセッサ102にノイズシェーピングを実施させる命令コードを有したノイズシェーピングプログラム212を含む。本実施の形態では、プロセッサ102は、「制御演算部」に相当する。制御演算部は、制御プログラムを実行することにより、制御対象のフィールド機器90を制御するための制御指令を算出する。
【0056】
上位ネットワークコントローラ105は、ネットワーク11を接続するコネクタと、タイマ103を有するNIC(Network Interface Card)等の回路を含む。上位ネットワークコントローラ105は、上位のネットワーク11に属する各装置とデータを遣り取りする。USBコントローラ107は、USB接続を介して外部の装置との間のデータの遣り取りを制御する。
【0057】
メモリカードインターフェイス109は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムまたはトレースデータなど)を読出すことが可能になっている。
【0058】
カウンタ126は、制御装置2における各種処理の実行タイミングを管理するための時刻基準として用いられる。カウンタ126は、「管理タイマ」または「基準タイマ」となり得る。カウンタ126は、例えばプロセッサ102を駆動するシステムバス上に配置された、ハードウェアタイマーである高精度イベントタイマー(HPET:High Precision Event Timer)などを用いて実装してもよいし、あるいは、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)などの専用回路を用いて実装してもよい。制御装置2は、タイマ103、119、91Aおよび91Bを、カウンタ126に同期させる。ノイズシェーピングユニットの機能の実装は、ソフトウェアによる実装に限定されず、カウンタ126の回路に実装されてもよい。
【0059】
RTC128は、計時機能を有する一種のカウンタであり、現在時刻をプロセッサ102などへ提供する。
【0060】
フィールドネットワークコントローラ118は、ネットワーク110を介したフィールド機器90を含む他のデバイスとの間のデータの遣り取りを制御する。フィールドネットワークコントローラ118は、ネットワーク110を接続するコネクタと、他のデバイスとの間でタイミングを管理するための時刻基準として用いられるタイマ119を有する。図3では、フィールド機器90のタイマ91はタイマ91A、91B…で示される。
【0061】
タイマ119ならびにフィールド機器90などのデバイスが有するカウンタ(タイマ91A,91B)については、上述のカウンタ126と同様の構成を採用できる。タイマ119は、カウンタ126と同期する。
【0062】
フィールドネットワークコントローラ118は、ネットワーク110を介した定周期通信を行うための通信マスタとして機能し、フィールドバスに接続されている各デバイスが有するカウンタが示すカウンタ値とタイマ119が示すカウンタ値との差分を逐次監視して、必要に応じて、カウンタ値にずれが発生するデバイスに対して補正を指示するための同期信号を出力する。このように、フィールドネットワークコントローラ118は、デバイスのカウンタが示すカウンタ値をタイマ119が示すカウンタ値と一致させるための指令をデバイスへ与える同期管理機能を有する。
【0063】
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、LSI(Large Scale Integration)、ASIC(Application specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置2の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0064】
図3では、制御装置2が基準タイマ191を有して基準時刻を提供するマスタ装置と通信するためのネットワーク11と、制御装置2が制御対象であるフィールド機器90と通信するためのフィールドネットワーク110とを独立させることができる。したがって、基準時刻に関する通信と制御指令に関する通信とが同一ネットワーク上において輻輳することを回避できる。
【0065】
<D.ノイズシェーピング>
本実施の形態では、ノイズシェーピングユニット33には、時刻差41(または時刻差41に対応する操作量42)に基づく補正量43を導出するために、ノイズシェーピングの特性が適用される。図4図5を参照し、当該ノイズシェーピングの特性を説明する。図4は、ノイズシェーピングユニット33のブロック図である。図5は、ノイズシェーピングが奏する周波数特性を模式的に示す図である。図5の横軸はサンプリング周波数fsを示し、縦軸は利得(レベル)を示す。図中では、ビットはbitと示される。なお、本実施の形態では、ノイズシェーピングユニット33の入力Xおよび出力Yのデータ幅(ビット数)は図4のビット数に限定されず、設計仕様により変更される。
【0066】
図4を参照して、ノイズシェーピングユニット33は、時刻差に相当する操作量を表す入力Xを所定の量子化ビット幅を有した出力Yに量子化するための要素として、例えば、加算器36と、量子化器37と、遅延器38と、係数a1の増幅器381を含む。これらエレメントは、サンプリング周期(第2周期)に同期して動作する。量子化器37は、量子化において入力Xから出力Yを差引き、差し引いた値を値である量子化ノイズVgを出力する。遅延器38は、量子化器37から出力された量子化ノイズVgをサンプリング周期だけ遅延させて出力する。増幅器381は、遅延器38からの出力(すなわち、遅延された量子化ノイズ)を入力し係数a1で増幅した後に加算器36に出力する。加算器36は、入力Xに増幅器381からの出力(遅延および増幅された量子化ノイズVg)を加算し、このような量子化ノイズVgが加算された入力Xを量子化器37に出力する。ここでは、入力Xは、例えば8ビットのビット幅を有したデータを示し、量子化ビット幅は、限定されないが例えば2ビットを示す。この量子化ビット幅の2ビットは、入力Xのデータが有するビット幅よりも短いビット幅であって、且つ、入力Xのデータのうちの最上位ビットを含む当該最上位ビットから続く上位ビットで構成される。入力Xの最上位ビットは符号ビットであるから、量子化器37からの出力Yは-1、0および1のうちのいずれかの値を表す。出力Yは、ノイズシェーピングユニット33の外部に設けられたLPF(ローパスフィルタ)39を介して、図1に示す補正部34に出力される。
【0067】
本実施の形態では増幅器381の利得に相当する係数a1は(a1=1)と設定されるが、係数a1の設定値は変更され得る。係数a1の設定値を変更することでノイズシェーピングユニット33の特性を変更することができる。
【0068】
図5に示すように、入力Xについて単に量子化が実行されると、サンプリング周波数fsの全ての周波数帯域で一様に量子化ノイズVgが分布する。これに対してノイズシェービングにおける量子化は、図5に示すようにサンプリング周波数fsの高い周波数帯域に集中的に量子化ノイズVgが生じるとの特性を有する。LPF39は、このような特性を有した量子化器37の出力Yから高い周波数帯域における量子化ノイズを除去して出力する。LPF39は、必要な帯域、すなわち図5の入力信号の帯域81(第1周期の1m秒に対応の周波数帯域)においてノイズを低減するようなカットオフ周波数を有する。したがって、ノイズシェーピングユニット33によって、SN比の大きい出力Yを導出することができる。
【0069】
このように、ノイズシェーピングは、量子化器37によって生じる量子化ノイズVgを高周波数領域に集中させるようにコントロールして、量子化ノイズVgを容易に抽出(除去)できるよう構成される。
【0070】
なお、本実施の形態では、ノイズシェーピングユニット33を1次のノイズシェーピングユニットとして構成したが、1次の構成に限定されず、例えば、2次、3次、・・・のような高次のノイズシェーピングユニットであっても本実施の形態に適用できる。例えば、1次のノイズシェーピングユニットの場合、図5に示す0dbとなる周波数は係数a1=1であるとき1/6fsのポイントとなり、このポイントは2次のノイズシェーピングユニットによって0dbとなるポイントに一致する。一方、量子化ノイズの傾きについては20db/db(1次)、40db/dec(2次)、60db/dec(3次)・・・と変化する。このように、ノイズシェーピングユニット33の構成が高次であるほど、微分特性の傾きは大きくなり、ノイズシェーピングの効果は高まる。
【0071】
(d1.量子化器)
量子化(Quantization)は、標本化で得られた離散的な値を、離散的な固定のビット数のデジタル値に近似する操作を示す。図6図7は、本実施の形態に係る量子化器37の特性を示す図である。図7では、量子化器37が奏する周波数特性が模式的に示される。図7の横軸はサンプリング周波数fsを示し、縦軸は利得(レベル)を示す。
【0072】
図6では、量子化器37は、ビット数が8ビットの入力Xを量子化ビット幅(例えば、2ビット)で量子化する。量子化器37は、量子化において、入力Xの下位6ビットを削除し、入力Xの最上位ビットを含む当該最上位ビットから続く2ビットを出力Yとして導出する。このような量子化過程で入力Xから削除された6ビットのデータは量子化誤差に相当する量子化ノイズVgである。なお、図6の量子化器37の入力X、量子化ビット幅、量子化ノイズVgおよび出力Yのビット数は一例であって、設計仕様により変更され得る。
【0073】
量子化ノイズVgは、図7に示すように、量子化器37のサンプリング周波数(fs)に対して、一様に分布するから周波数依存性を有しない。より具体的には、量子化ノイズVgは、量子化器37によって入力Xから削除された3ビット目~8ビット目までの連続する6ビット幅のデータであって、この6ビット幅の量子化ノイズVgは前後のビットのデータとの依存性を有しない。
【0074】
(d2.量子化ノイズの伝達特性)
図8図9は、ノイズシェーピングにおける量子化ノイズVgの伝達特性を示す図である。図8には、伝達特性を算出するための演算式80が示され、図9には、このような伝達特性を奏する量子化器37および周辺部のブロック構成が示される。図9ではノイズシェーピングユニット33の量子化器37は、加算器36からの出力aに量子化ノイズVgを加算し、加算結果である出力Yを導出する加算器371と、加算器36の出力(出力a)から加算器371の加算結果(出力Y)を差し引く減算器372とを有する。遅延器38は減算器372からの減算結果である量子化ノイズVgを第2周期だけ遅延させて係数a1の増幅器381を介して加算器36に出力する。図8の演算式80の式(1)は図9の減算器372、遅延器38、増幅器381および加算器36の操作を示し、式(2)は図9の加算器371の操作を示す。出力aは、量子化器37の入力aに一致する。
【0075】
ノイズシェービングにおいて、出力Yは量子化器37の入力aと量子化ノイズVgの和であるから、出力Yは式(2)((a+Vg)=Y)で導出される。また、量子化器37の入力aは式(1)で導出される。式(1)と(式2)から、出力誤差(Y-X)は、式(3)に示される。式(3)では、出力誤差(Y-X)は、現在のサンプリング周期(第2周期)で導出された量子化ノイズVgから1つ前のサンプリング周期で導出された量子化ノイズVgを差し引いた項であり、当該項は微分の特徴を表す。図9に示す構成を有したノイズシェーピングユニット33は、微分回路の特徴を含む。微分回路はハイパスフィルタに相当するから、ノイズシェーピングユニット33は、図5に示されたようにサンプリング周波数fsの高い周波数帯域に集中的に量子化ノイズVgが生じるとの特性を有する。
【0076】
係数a1が(a1=1)である場合、量子化ノイズVgに対して0dB(利得1)となる周波数fは、式(3)とオイラー公式等を用いることによって、図5に示すように、f=1/6×fs(但し、fsはサンプリング周波数)と算出される。
【0077】
図9は1次のノイズシェーピングユニット33が示されるが、図9の構成は、図4と同様に、高次(2次、3次・・・)のノイズシェーピングユニットにも適用可能であり、また、図5で示したように、高次の構成になるほど、微分特性の傾きは大きくなり、ノイズシェーピングの効果は高まる。
【0078】
<E.フローチャート>
図10は、本実施の形態に係る時刻同期処理のフローチャートである。図10を参照して、プロセッサ102は、第1周期毎に、マスタ装置から転送される時刻配信メッセージ21を、ネットワーク11を介し受信するか否かを判断する(ステップS1)。時刻配信メッセージ21を受信しないと判定される(ステップS1でNO)間は、プロセッサ102はステップS10を繰返し実施する。時刻配信メッセージ21が受信されたと判定されると(ステップS1でYES)、プロセッサ102は、時刻配信メッセージ21に基づき基準時刻Rを検出し(ステップS10)、取得した基準時刻Rと、管理タイマ35が計測する時刻44との間の差を算出することによって、時刻差41を検出する(ステップS20)。
【0079】
プロセッサ102は、当該第1周期において第2周期に同期して処理を繰返し実施する(ステップS30)。ステップS30の処理は、補正量43を導出するノイズシェーピングの処理(ステップS35)と、プロセッサ102が補正部34として管理タイマ35の時刻44を補正する補正処理(ステップS37)を含む。
【0080】
より具体的には、ノイズシェーピングの処理(ステップS35)では、プロセッサ102は、時刻差41に基づく操作量42を、量子化ビット幅に量子化して、量子化結果である量子化値(補正量43)と量子化ノイズVgを出力する。また、補正処理(ステップS37)では、プロセッサ102は、第2周期毎に、量子化において出力された量子化値(補正量43)を用いて、管理タイマ35の時刻44を補正する。これにより、時刻44は基準時刻Rを示すように補正される。また、ノイズシェーピングの処理(ステップS35)では、プロセッサ102は、第2周期毎に、フィードバック処理を実施する。フィードバック処理は、当該第2周期が属する第1周期において算出された時刻差41に対応の操作量42に、当該第2周期の直前の第2周期における量子化ノイズVgを加算する処理を含む。プロセッサ102は、ノイズシェーピングの処理では、量子化において、加算後の操作量42を入力し、量子化ビット幅に量子化された量子化値と量子化誤差を出力する。
【0081】
<F.比較例>
図11図12は、本実施の形態に係る補正処理を他の補正処理と対比して示す図である。図11では、縦軸に時刻差41が取られ横軸に時間が取られる。また、図12では、横軸に時間が取られ縦軸に時刻差が取られる。
【0082】
図11では、本実施の形態に係る補正処理による補正スピードがグラフ50で示されて、他の補正処理による補正スピードがグラフ51で示される。横軸に示される補正間隔は、時刻配信メッセージ21の配信間隔である、例えば1msを示す。図11では、各補正間隔で検出された時刻差41が100ns(ナノ秒)、50nsおよび25nsである場合、各補正間隔において、グラフ50はグラフの傾きが、すなわち補正スピード(補正量43)は時刻差の大きさに応じて異なる。すなわち、時刻差41が大きいほど傾き(補正スピード)は大きくなる。一方、グラフ51は各補正間隔における当該グラフの傾き(補正スピード)は一定である、すなわち、時刻差の大きさにかかわらず補正スピードが一定である。
【0083】
そのため、本実施の形態に係る図11の補正スピード可変の補正処理によれば、図12のグラフ50に示すように時刻差を3回目の補正間隔で略ゼロにすることができる。一方、図11の補正スピード一定の他の補正処理によれば、図12のグラフ51に示すように時刻差がゼロに収束しない。図12のグラフ51は時刻の後戻りを示している。より具体的には、3番目の補正間隔において、管理タイマ35の時刻44が基準時刻Rより進んでいる場合に、管理タイマ35の時刻44に時刻差を加算する補正処理が実施されたことで、管理タイマ35の時刻44の変動量が大きくなって、管理タイマ35は計測する時刻が過去の時刻に戻ってしまっている。本実施の形態では、各補正間隔における補正スピード(補正量43)を、当該補正間隔において検出された時刻差41の大きさに応じて異ならせているので、このような時刻の後戻りは生じない。
【0084】
<G.プログラム>
制御装置2のプロセッサ102は、二次記憶装置106に非一時的に格納されたプログラムを実行することにより、上記に述べた時刻同期の処理を実現する。
【0085】
時刻同期処理を実現するために実行されるプログラムおよびデータは、外部装置から二次記憶装置106にダウンロードされてもよい。より具体的には、メモリカード116から、メモリカードインターフェイス109を介してダウンロードされる、または、ネットワークに接続される外部装置から上位ネットワークコントローラ105を介してダウンロードされる。
【0086】
メモリカード116は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって非一時的に格納する媒体である。
【0087】
<H.利点>
本実施の形態に係る時刻同期処理では、ノイズシェーピングの技術を応用して、時刻差41に応じて第2周期毎の補正量43を導出することで、第1周期毎の補正スピードを当該周期において検出された時刻差41の大きさに応じて変更できる。
【0088】
発明者の実験によれば、本実施の形態に係る補正処理を実施したところ、当該補正処理を実施しない場合は80nsの時刻差が発生していたが、当該補正処理を実施した場合は時刻差を-6nsとすることができて、同期精度を13倍にすることができた。
【0089】
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
時刻同期装置(3)であって、
第1周期毎に、ネットワーク通信によって検出された基準時刻(R)とタイマ(35)が計測するタイマ時刻(44)との間の時刻差(41)を算出する算出部(31)と、
第1周期内の第2周期毎に、時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値(Y)と量子化誤差(Vg)を出力する量子化部(37)と、
前記第2周期毎に、前記量子化部から出力される前記量子化値を用いて、前記タイマ時刻を前記基準時刻を示すように補正する補正部(34)と、
前記第2周期毎に、当該第2周期が属する前記第1周期において算出された前記時刻差に当該第2周期の直前の第2周期における前記量子化誤差を加算し、加算後の時刻差を前記量子化部に出力する加算部(36)と、を含む、時刻同期装置。
[構成2]
前記時刻同期装置は、FA(ファクトリオートメーション)の制御装置(2、2A、2B、2C)に備えられる、構成1に記載の時刻同期装置。
[構成3]
前記予め定められた量子化ビット幅は、前記時刻差のデータが有するビット幅よりも短いビット幅であって、且つ、前記時刻差のデータのうちの最上位ビットを含む当該最上位ビットから続く上位ビットで構成される、構成1または2に記載の時刻同期装置。
[構成4]
前記時刻差は、前記ネットワーク通信における伝送遅延を含む、構成1または2に記載の時刻同期装置。
[構成5]
前記時刻同期装置は、マスタ装置と前記ネットワーク通信を実施するスレーブ装置(20)に備えられ、
前記スレーブ装置は、前記マスタ装置と前記基準時刻のメッセージ(21)を通信する、構成1または2に記載の時刻同期装置。
[構成6]
前記スレーブ装置は、FA(ファクトリオートメーション)の制御装置(2,2A,2B,2C)を含む、構成5に記載の時刻同期装置。
[構成7]
前記時刻同期装置は、
前記量子化部と前記加算部とを有するノイズシェーピング部(33)を含む、構成1または2に記載の時刻同期装置。
[構成8]
前記制御装置は、
対象(90)を制御するための制御指令を算出する制御演算を実施する制御演算部(102)と、
前記マスタ装置が属する前記ネットワークを接続するための第1コネクタ(105)と、
対象(90)が属するフィールドネットワーク(110)であって、前記制御指令を通信するフィールドネットワークを接続するための第2コネクタ(118)と、を含む、構成6に記載の時刻同期装置。
[構成9]
タイマ(35)の時刻同期を実施する方法であって、
前記方法は、
第1周期毎に、ネットワーク通信によって取得した基準時刻(R)と前記タイマが計測するタイマ時刻(44)との間の時刻差を算出すること(S20)、
第1周期内の第2周期毎に、時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値(Y)と量子化誤差(Vg)を出力すること(S35)、
前記第2周期毎に、前記量子化において出力される前記量子化値を用いて、前記タイマ時刻を前記基準時刻を示すように補正すること(S37)、および、
前記第2周期毎に、当該第2周期が属する前記第1周期において算出された前記時刻差に当該第2周期の直前の第2周期における前記量子化誤差を加算することを備え、
前記量子化することは、加算後の時刻差を入力し、前記予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力することを含む、方法。
[構成10]
タイマ(35)の時刻同期の方法をコンピュータ(102)の実行させるプログラム(210)であって、
前記方法は、
第1周期毎に、ネットワーク通信によって取得した基準時刻(R)と前記タイマが計測するタイマ時刻(44)との間の時刻差(41)を算出すること(S20)、
第1周期内の第2周期毎に、時刻差を入力し、予め定められた量子化ビット幅に量子化された量子化値(Y)と量子化誤差(Vg)を出力すること(S35)、
前記第2周期毎に、前記量子化において出力される前記量子化値を用いて、前記タイマ時刻を前記基準時刻を示すように補正すること(S37)、および、
前記第2周期毎に、当該第2周期が属する前記第1周期において算出された前記時刻差に当該第2周期の直前の第2周期における前記量子化誤差を加算することを備え、
前記量子化することは、加算後の時刻差を入力し、前記予め定められた量子化ビット幅に量子化された量子化値と量子化誤差を出力することを含む、プログラム。
【0090】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0091】
1 制御システム、2,2A,2B 制御装置、3 時刻同期部、3A,3B,3C 工程、11,12,13,14,110 ネットワーク、200 スレーブ装置、21 時刻配信メッセージ、31 算出部、32 フィルタ、33 ノイズシェーピングユニット、34 補正部、35 管理タイマ、36,371 加算器、37 量子化器、38 遅延器、41 時刻差、42 操作量、43 補正量、44 時刻、50,51 グラフ、80 演算式、81 帯域、90 フィールド機器、91,91A,91B,103,119 タイマ、102 プロセッサ、104 チップセット、105 上位ネットワークコントローラ、106 二次記憶装置、107 USBコントローラ、108 主記憶装置、109 メモリカードインターフェイス、116 メモリカード、118 フィールドネットワークコントローラ、126 カウンタ、190 ライン管理装置、191 基準タイマ、202 周期データ、210 時刻同期プログラム、211 補正プログラム、212 ノイズシェーピングプログラム、280 表示装置、300 分散型システム、372 減算器、380 製造管理装置、381 増幅器、400 製造実行システム、500 サポート装置、R 基準時刻、Vg 量子化ノイズ、f 周波数、fs サンプリング周波数。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12