JP3748204B2 - 周期制御同期システム - Google Patents
周期制御同期システム Download PDFInfo
- Publication number
- JP3748204B2 JP3748204B2 JP2000360280A JP2000360280A JP3748204B2 JP 3748204 B2 JP3748204 B2 JP 3748204B2 JP 2000360280 A JP2000360280 A JP 2000360280A JP 2000360280 A JP2000360280 A JP 2000360280A JP 3748204 B2 JP3748204 B2 JP 3748204B2
- Authority
- JP
- Japan
- Prior art keywords
- timer
- control
- cycle
- global
- time
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0664—Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25479—Synchronize controllers using messages, add transmission time afterwards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Small-Scale Networks (AREA)
Description
【発明の属する技術分野】
この発明は、ネットワークに接続された1以上のコントローラと前記ネットワークに接続されたサーボモータなどの1以上のデバイスとの間の周期制御の同期をとる周期制御同期システムに関するものである。
【0002】
【従来の技術】
従来から、サーボモータ用のネットワークシステムとしては、たとえば、SERCOSインターフェース(IEEE1491)を用いたものがある。このSERCOSインターフェースは、図23に示すように、周期制御の制御周期毎に、ネットワークを使って、サーボドライブに同期パケット(Sync−Telegram)を送信することによって、このサーボドライブの周期動作の同期をとっている。
【0003】
図23に示すSERCOSインターフェースを用いたシステムでは、コントローラ(Master)から、周期的に全サーボドライブ(Slave)に同期パケット(Sync−Telegram)をブロードキャストすることによって、全サーボドライブ(Slave)の制御周期の同期をとっている。
【0004】
【発明が解決しようとする課題】
しかしながら、SERCOSインターフェースを用いた従来のシステムでは、同期パケット(Sync−Telegram)の周期送信精度によって、制御周期の精度が決まってしまい、大きなサイズのパケット転送や、スレーブ同士の非同期通信などを混在して行おうとすると、同期パケット(Sync−Telegram)の送信周期にジッタが生じてしまい、大きなサイズのパケット転送や、スレーブ同士の非同期通信などを行うことができず、柔軟性がないという問題点があった。
【0005】
この発明は、上記に鑑みてなされたもので、周期パケットの周期転送タイミングによって周期制御の同期をとる必要をなくし、周期パケットの周期転送精度が周期制御の同期精度に影響を与えず、周期制御の同期精度を維持したまま、大きなサイズのパケット転送やスレーブ同士の非同期通信などの柔軟な通信を行うことができる周期制御同期システムを得ることを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる周期制御同期システムは、ネットワークに接続された1以上のコントローラと前記ネットワークに接続された1以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、前記コントローラおよび前記デバイスは、前記ネットワークを介して制御されるグローバルタイマを備え、前記デバイスは、当該デバイス自体の動作周期を制御する動作周期タイマと、前記動作周期タイマが示す同期タイミング時に、当該デバイスのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該動作周期タイマを補正する補正手段とを備え、前記コントローラおよび前記デバイスは、前記グローバルタイマが示すグローバル時間を用いて前記周期制御の同期タイミングを生成して該周期制御の同期をとることを特徴とする。
【0007】
この発明によれば、ネットワークに接続された1以上のコントローラおよび前記ネットワークに接続された1以上のデバイスは、前記ネットワークを介して制御されるグローバルタイマが示すグローバル時間を用いて、コントローラとデバイスとの間の周期制御の同期タイミングを生成して該周期制御の同期をとり、画一的に転送される周期パケットの周期転送タイミングによって周期制御の同期をとらなくてもよく、周期パケットの周期転送速度が周期制御の同期精度に影響しないようにしている。このとき、前記デバイスの補正手段が、動作周期タイマが示す同期タイミング時に、当該デバイスのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該動作周期タイマを補正するようにしている。
【0008】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記コントローラのグローバルタイマをマスタグローバルタイマに設定し、前記デバイスのグローバルタイマをスレーブグローバルタイマに設定し、前記コントローラは、前記マスタグローバルタイマが示すグローバル時間を用いた同期タイミング時間を周期転送パケットとして前記デバイスに送信する送信手段を備え、前記デバイスは、送信手段が送信した周期転送パケットの同期タイミング時間と前記スレーブグローバルタイマが示すグローバル時間とを用いて周期制御を行う周期制御手段を備えたことを特徴とする。
【0009】
この発明によれば、前記コントローラの送信手段が、マスタグローバルタイマが示すグローバル時間を用いた同期タイミング時間を周期転送パケットとしてデバイスに送信し、デバイスの周期制御手段が、前記送信手段が送信した周期転送パケットの同期タイミング時間とスレーブグローバルタイマが示すグローバル時間とを用いて周期制御を行うようにしている。
【0012】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする。
【0013】
この発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うようにしている。
【0014】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記コントローラは、当該コントローラ自体の制御周期を制御する制御周期タイマと、前記制御周期タイマが示す同期タイミング時に、当該コントローラのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記制御周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該制御周期タイマを補正する補正手段とをさらに備えたことを特徴とする。
【0015】
この発明によれば、前記コントローラの補正手段が、制御周期タイマが示す同期タイミング時に、当該コントローラのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記制御周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該制御周期タイマを補正するようにしている。
【0016】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記制御周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記制御周期タイマを補正しない制御を行うことを特徴とする。
【0017】
この発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記制御周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記制御周期タイマを補正しない制御を行うようにしている。
【0018】
つぎの発明にかかる周期制御同期システムは、ネットワークに接続された1以上のコントローラと前記ネットワークに接続された1以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、前記コントローラは、前記ネットワークを介して制御される第1のグローバルタイマと、前記周期制御の制御周期を制御する制御周期タイマと、前記第1のグローバルタイマが示すグローバル時間を用いて前記制御周期タイマが指定した前記周期制御の同期タイミングを示すタイムスタンプを周期転送パケットに付加するタイムスタンプ付加手段と、前記タイムスタンプが付加された前記周期転送パケットを前記デバイスに送信する送信手段とを備え、前記デバイスは、前記ネットワークを介して制御される第2のグローバルタイマと、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させる周期制御手段とを備えたことを特徴とする。
【0019】
この発明によれば、コントローラのタイムスタンプ付加手段が、第1のグローバルタイマが示すグローバル時間を用いて制御周期タイマが指定した周期制御の同期タイミングを示すタイムスタンプを周期転送パケットに付加し、送信手段が、前記タイムスタンプが付加された前記周期転送パケットを前記デバイスに送信し、前記デバイスの周期制御手段が、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させるようにしている。
【0020】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記コントローラは、前記第1のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持するラッチ手段を備え、前記制御周期タイマは、当該制御周期タイマが指定した周期制御の同期タイミング時に、前記ラッチ手段に前記第1のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段は、前記ラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加することを特徴とする。
【0021】
この発明によれば、前記制御周期タイマが、当該制御周期タイマが指定した周期制御の同期タイミング時に、ラッチ手段に前記第1のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段が、前記ラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加し、次の制御周期の同期タイミングを指示するようにしている。
【0022】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記デバイスは、当該デバイス自体の動作周期を制御する動作周期タイマと、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを比較する比較手段と、前記動作周期タイマが示す同期タイミング時に、前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差を求め、この時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求め、前記動作周期タイマを補正する補正手段とを備えたことを特徴とする。
【0023】
この発明によれば、デバイスの補正手段が、動作周期タイマが示す同期タイミング時に、記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差を求め、この時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求め、前記動作周期タイマを補正するようにしている。
【0024】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする。
【0025】
この発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことによって、誤った同期補正を行わないようにしている。
【0026】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記デバイスは、当該デバイス自体の動作周期を制御する動作周期タイマと、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを比較する比較手段と、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第2のグローバルタイマが示すグローバル時間が達したとき、前記動作周期タイマをリセットする補正手段とを備えたことを特徴とする。
【0027】
この発明によれば、比較手段が、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを比較し、補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第2のグローバルタイマが示すグローバル時間が達したとき、前記動作周期タイマをリセットすることによって、動作周期タイマを制御周期タイマに同期するようにしている。
【0028】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第2のグローバルタイマが示すグローバル時間が達するまでに、前記動作周期タイマが示す同期タイミングに達した場合に該動作周期タイマをリセットし、その後前記タイムスタンプが示す周期制御の同期タイミング時間が前記第2のグローバルタイマが示すグローバル時間と同一または越えた場合に、再び前記動作周期タイマをリセットすることを特徴とする。
【0029】
この発明によれば、前記補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第2のグローバルタイマが示すグローバル時間が達するまでに、前記動作周期タイマが示す同期タイミングに達した場合に該動作周期タイマをリセットし、その後前記タイムスタンプが示す周期制御の同期タイミング時間が前記第2のグローバルタイマが示すグローバル時間と同一または越えた場合に、再び前記動作周期タイマをリセットすることによって、前記周期転送パケットが消失しても動作周期タイマは周期を刻むようにしている。
【0030】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記動作周期タイマが示す同期タイミング時に前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする。
【0031】
この発明によれば、検出手段が、前記動作周期タイマが示す同期タイミング時に前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことによって、誤った同期補正を行わないようにしている。
【0032】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記タイムスタンプが示す周期制御の同期タイミング時における前記動作周期タイマの値を求めて該動作周期タイマのタイマ周期補正値を求め、あるいは動作周期タイマが示す同期タイミング時において、前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差から前記動作周期タイマのタイマ周期補正値を求め、該タイマ周期補正値をもとに前記動作周期タイマを補正することを特徴とする。
【0033】
この発明によれば、前記補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時における前記動作周期タイマの値を求めて該動作周期タイマのタイマ周期補正値を求め、あるいは動作周期タイマが示す同期タイミング時において、前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差から前記動作周期タイマのタイマ周期補正値を求め、該タイマ周期補正値をもとに前記動作周期タイマを補正することによって、制御周期と動作周期のずれを補正するようにしている。
【0034】
つぎの発明にかかる周期制御同期システムは、第1および第2のネットワークに接続されたコントローラと、前記第1のネットワークに接続された1以上のデバイスおよび前記第2のネットワークに接続された1以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、前記コントローラは、前記第1のネットワークを介して制御される第1のグローバルタイマと、前記第2のネットワークを介して制御される第2のグローバルタイマと、当該周期制御同期システムの周期制御の制御周期を制御する制御周期タイマと、前記第1および第2のネットワークに周期的に送信される周期転送パケットに、前記制御周期タイマによって指定された前記周期制御の同期タイミングを示すタイムスタンプを第1および第2のグローバルタイマが示すグローバル時間を用いてそれぞれ付加するタイムスタンプ付加手段と、前記タイムスタンプが付加された周期転送パケットを、対応する第1のネットワークに接続された1以上のデバイスに送信する第1の送信手段と、前記タイムスタンプが付加された周期転送パケットを、対応する第2のネットワークに接続された1以上のデバイスに送信する第2の送信手段とを備え、前記第1および第2のネットワークに接続された1以上のデバイスは、前記第1および第2のネットワークを介してそれぞれ制御される第3のグローバルタイマと、前記第1および第2の送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第3のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させる周期制御手段とを備えたことを特徴とする。
【0035】
この発明によれば、コントローラのタイムスタンプ付加手段が、前記第1および第2のネットワークに周期的に送信される周期転送パケットに、前記制御周期タイマによって指定された前記周期制御の同期タイミングを示すタイムスタンプを第1および第2のグローバルタイマが示すグローバル時間を用いてそれぞれ付加し、第1および第2の送信手段が、前記タイムスタンプが付加された周期転送パケットを、対応する第1および第2のネットワークに接続された1以上のデバイスにそれぞれ送信し、前記第1および第2のネットワークに接続された1以上のデバイスの周期制御手段が、前記第1および第2の送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第3のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させるようにしている。
【0036】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記コントローラは、前記第1のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持する第1のラッチ手段と、前記第2のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持する第2のラッチ手段とを備え、前記制御周期タイマは、当該制御周期タイマが指定した周期制御の同期タイミング時に、前記第1および第1のラッチ手段に前記第1および第2のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段は、前記第1および第2のラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加することを特徴とする。
【0037】
この発明によれば、コントローラの制御周期タイマが、当該制御周期タイマが指定した周期制御の同期タイミング時に、前記第1および第1のラッチ手段に前記第1および第2のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段が、前記第1および第2のラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加することによって、前記第1および第2のネットワークに接続されたデバイスに次の制御周期の同期タイミングを指示するようにしている。
【0038】
【発明の実施の形態】
以下、添付図面を参照して、この発明にかかる周期制御同期システムおよびその方法の好適な実施の形態を詳細に説明する。
【0039】
実施の形態1.
図1は、この発明の実施の形態1である周期制御同期システムの全体構成を示すブロック図である。図1において、コントローラ2a,2bとデバイス3a〜3dとは、ネットワーク1に接続される。コントローラ2aは、デバイス3a,3bを制御し、コントローラ2bは、デバイス3c,3dを制御する。ネットワーク1には、さらに複数のコントローラとデバイスとを接続することができる。デバイス3a,3bを制御するコントローラを増設する場合、この増設したコントローラとコントローラ2aとのいずれかがデバイス3a,3bを制御することになる。
【0040】
コントローラ2a,2bは、それぞれ周期制御命令を含む周期転送パケット6a,6bをデバイス3a,3bおよびデバイス3c,3dに送信する。デバイス3a,3bのデバイス動作部5a,5bおよびデバイス3c,3dのデバイス動作部5c,5dは、送信された周期転送パケット6a,6bをもとに各デバイス動作の周期制御を行う。
【0041】
図1では、コントローラ2a,デバイス3a,3bとコントローラ2b,デバイス3c,3dとの2つの周期制御系が一つのネットワーク1に接続される形態を示したが、各周期制御系のコントローラおよびデバイス、たとえば、コントローラ2a,デバイス3a,3bは、それぞれ図2に示すように、グローバルタイマ7,8a,8bが示すグローバル時間を用いて、周期制御の同期(システムシンク)タイミングを生成し、コントローラ2aの制御部の周期(制御周期)とデバイス3a,3bのデバイス動作部5a,5bの周期(動作周期)とをシステムシンクに同期させるようにしている。これによって、コントローラ2aの制御周期と各デバイス3a,3bの動作周期とが同一の周期で動作する周期制御を行うことができる。
【0042】
図2に示すように、グローバルタイマ7,8a,8bが提供するグローバル時間を用いて、コントローラ2aの制御周期と各デバイス3a,3bの動作周期との周期制御がなされるため、従来のような周期パケットの周期転送タイミングによって周期制御の同期を取る必要がないため、周期パケットの周期転送精度が周期制御の同期精度に影響せず、周期制御の同期精度を保持したまま、大きなサイズのパケット転送やスレーブ(デバイス3a,3b)同士の非同期通信などのフレキシブルな通信が可能になる。
【0043】
ここで、グローバルタイマは、ネットワーク毎にグローバル時間の基準となる1つのマスタグローバルタイマとその他のスレーブグローバルタイマとで構成される。図2において、コントローラ2aのグローバルタイマ7は、マスタグローバルタイマに設定され、デバイス3a,3bのグローバルタイマ8a,8bは、スレーブグローバルタイマに設定される。マスタグローバルタイマであるグローバルタイマ7を有するノード(コントローラ2a)は、ネットワーク1にマスタグローバル時間を設定したグローバルタイマ同期パケット9を送信し、スレーブグローバルタイマであるグローバルタイマ8a,8bをもつノード(デバイス3a,3b)は、受信したグローバルタイマ同期パケット9から、マスタグローバルタイマであるグローバルタイマ7のグローバル時間を取り出し、スレーブグローバルタイマであるグローバルタイマ8a,8bに設定する。これによって、スレーブグローバルタイマであるグローバルタイマ8a,8bは、定期的にマスタグローバルタイマであるグローバルタイマ8に同期される。
【0044】
これによって、コントローラ2aの制御周期は、グローバルタイマ7がマスタグローバルタイマのため、同期の必要がなく、時間のぶれがないため、グローバルタイマ7を用いた時間指定の精度を保つことができる。また、コントローラ2aは、全てのデバイス3a,3bのスレーブグローバルタイマであるグローバルタイマ8a,8bの同期タイミングを指定することができるため、デバイス3a,3bのデバイス動作部5a,5bに適切なタイミングで、デバイス3a,3bのスレーブグローバルタイマであるグローバルタイマ8a,8bを同期させることができ、時間指定の精度を保つことができる。
【0045】
実施の形態2.
つぎに、この発明の実施の形態2について説明する。図3は、この発明の実施の形態2である周期制御同期システムの構成を示すブロック図である。図3において、コントローラ2は、グローバルタイマ7と、制御部4と、制御部4に対して周期的に起動をかける制御周期タイマ10と、制御周期タイマ10をグローバルタイマ7に同期させるタイマ同期部12とを有する。また、デバイス3a,3bは、グローバルタイマ8a,8bと、デバイス動作部5a,5bと、デバイス動作部5a,5bに対して周期的に起動をかける動作周期タイマ11a,11bと、動作周期タイマ11a,11bをグローバルタイマ8a,8bに同期させるタイマ同期部12a,12bとをそれぞれ有する。
【0046】
コントローラ2のタイマ同期部12は、制御周期タイマ10が示す同期(ローカルシンク)タイミングで、グローバルタイマ7が示す時間と周期制御の同期(システムシンク)時間との時間差から、制御周期タイマ10の補正値を求め、制御周期タイマ10に設定する。これによって、制御部4に適切なタイミングで、制御周期タイマ10を更新できるので、任意のタイミングで生じるグローバルタイマ7,8a,8b同士の時刻同期による時間のぶれの影響を受けず、制御周期タイマ10を用いた時間指定の精度を保持できる。
【0047】
一方、デバイス3a,3bのタイマ同期部12a,12bは、動作周期タイマ11a,11bが示す同期(ローカルシンク)タイミングで、グローバルタイマ8a,8bが示す時間と周期制御の同期(システムシンク)時間との時間差から、動作周期タイマ11a,11bの補正値をそれぞれ求め、動作周期タイマ11a,11bに補正値をそれぞれ設定する。これによって、デバイス動作部5a,5bに適切なタイミングで、動作周期タイマ11a,11bを更新できるので、任意のタイミングで生じるグローバルタイマ7,8a,8b同士の時刻同期による時間のぶれの影響を受けず、動作周期タイマ11a,11bを用いた時間指定の精度を保持できる。
【0048】
ここで、図4〜図8に示したタイミングチャートをもとに、タイマ同期部12,12a,12bによる制御周期タイマ10あるいは動作周期タイマ11a,11bに対するタイマ補正処理について説明する。まず、図4は、制御周期タイマ10あるいは動作周期タイマ11a,11bの周期が、グローバルタイマ7,8a,8bが示す周期制御の周期に比して長い場合における制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ補正処理を、グローバル時間に対して示している。タイマ同期部12あるいはタイマ同期部12a,12bは、制御周期タイマ10あるいは動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ7,8a,8bのグローバル時間と、周期制御の同期(システムシンク)時間との時間差から、制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ補正値D1を計算し、このタイマ補正値D1を制御周期タイマ10あるいは動作周期タイマ11a,11bに設定する。これによって、周期制御の周期と、制御周期タイマ10あるいは動作周期タイマ11a,11bの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。
【0049】
図5は、制御周期タイマ10あるいは動作周期タイマ11a,11bの周期が、グローバルタイマ7,8a,8bが示す周期制御の周期に比して短い場合における制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ補正処理の一例を、グローバル時間に対して示している。タイマ同期部12あるいはタイマ同期部12a,12bは、制御周期タイマ10あるいは動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ7,8a,8bのグローバル時間と、周期制御の同期(システムシンク)時間との時間差から、制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ補正値D2を計算し、このタイマ補正値D2を制御周期タイマ10あるいは動作周期タイマ11a,11bに設定する。これによって、周期制御の周期と、制御周期タイマ10あるいは動作周期タイマ11a,11bの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。ここで、制御周期タイマ10あるいは動作周期タイマ11a,11bの周期が、グローバルタイマ7,8a,8bが示す周期制御の周期に比して短いため、タイマ補正値D2は、負の値になる。なお、制御周期タイマ10あるいは動作周期タイマ11a,11bが周期カウンタによって実現される場合には、この周期カウンタのタイマ値がゼロになったときに同期しないように処理する必要がある。
【0050】
図6は、制御周期タイマ10あるいは動作周期タイマ11a,11bの周期が、グローバルタイマ7,8a,8bが示す周期制御の周期に比して短い場合における制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ補正処理の他の一例を、グローバル時間に対して示している。タイマ同期部12あるいはタイマ同期部12a,12bは、制御周期タイマ10あるいは動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ7,8a,8bのグローバル時間と、周期制御の同期(システムシンク)時間との時間差から、制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ補正リセットタイマ値D3を計算し、制御周期タイマ10あるいは制御周期タイマ11a,11bがこのタイマ補正リセットタイマ値D3に達したときに、制御周期タイマ10あるいは制御周期タイマ11a,11bをリセットさせる。これによって、周期制御の周期と、制御周期タイマ10あるいは動作周期タイマ11a,11bの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。なお、タイマ補正リセットタイマ値D3の値は、タイマ補正D2と絶対値が同じで、符号が異なる。また、タイマ補正リセットタイマ値D3に達したときのリセット時に、制御周期タイマ10あるいは動作周期タイマ11a,11bが同期しないように処理する必要がある。
【0051】
または、図6において、タイマ同期部12,12a,12bは、制御周期タイマ10あるいは動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ7,8a,8bのグローバル時間と、周期制御の同期(システムシンク)時間との時間差から、制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ補正リセット時間t3を計算し、このタイマ補正リセット時間t3に達したときに、制御周期タイマ10あるいは動作周期タイマ11a,11bをリセットする。あるいは、タイマ補正リセット時間t3の間、制御周期タイマ10あるいは動作周期タイマ11a,11bを停止させる。これによって、周期制御の周期と、制御周期タイマ10あるいは動作周期タイマ11a,11bの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。
【0052】
さらに、図7は、制御周期タイマ10あるいは動作周期タイマ11a,11bの周期が、グローバルタイマ7,8a,8bが示す周期制御の周期に比して長い場合における制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ周期補正処理を、グローバル時間に対して示している。タイマ同期部12あるいはタイマ同期部12a,12bは、制御周期タイマ10あるいは動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ7,8a,8bのグローバル時間と、周期制御の同期(システムシンク)時間との時間差から、制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ周期補正値D4を計算し、制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ周期を補正させる。これによって、周期制御の周期と、制御周期タイマ10あるいは動作周期タイマ11a,11bの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。
【0053】
また、図8は、制御周期タイマ10あるいは動作周期タイマ11a,11bの周期が、グローバルタイマ7,8a,8bが示す周期制御の周期に比して短い場合における制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ周期補正処理を、グローバル時間に対して示している。タイマ同期部12あるいはタイマ同期部12a,12bは、制御周期タイマ10あるいは動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ7,8a,8bのグローバル時間と、周期制御の同期(システムシンク)時間との時間差から、制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ周期補正値D5を計算し、制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ周期を補正させる。これによって、周期制御の周期と、制御周期タイマ10あるいは動作周期タイマ11a,11bの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。
【0054】
図4〜図8に示したタイマ補正処理あるいはタイマ周期補正処理のいずれも、制御周期タイマ10あるいは動作周期タイマ11a,11bが示す同期(ローカルシンク)タイミングで、グローバルタイマ7,8a,8bのグローバル時間と、周期制御の同期(システムシンク)時間との時間差が、同期許容範囲Δt内にない場合、ネットワーク1の不具合などによるグローバルタイマ7,8a,8bの不正同期や停止などが生じたものと認識し、制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ補正あるいはタイマ周期補正を行わない。これによって、制御周期タイマ10あるいは動作周期タイマ11a,11bは、周期を刻み続けるため、制御周期タイマ10あるいは動作周期タイマ11a,11bの突然の停止や暴走を防ぐことができる。
【0055】
なお、制御周期タイマ10あるいは動作周期タイマ11a,11bが示す同期(ローカルシンク)タイミングで、グローバルタイマ7,8a,8bのグローバル時間と周期制御の同期(システムシンク)時間との時間差が、同期許容範囲Δt内に戻らないとき、コントローラ2は、周期制御を中断し、制御周期タイマ10および動作周期タイマ11a,11bと、グローバルタイマ7,8a,8bとの同期許容範囲Δtのチェックを行わない強制同期などを行う。
【0056】
実施の形態3.
つぎに、この発明の実施の形態3について説明する。図9は、この発明の実施の形態3である周期制御同期システムの構成を示すブロック図である。図9において、コントローラ2は、グローバルタイマ13と、制御部4と、制御部4に周期的に起動をかける制御周期タイマ10と、任意のタイミングでグローバルタイマ13をラッチし、このラッチした時間を保持するラッチ時間保持部16と、制御部4がデバイス3a,3bに周期的に送信する周期転送パケット6に、グローバルタイマ時間で指定したタイムスタンプを付加するタイムスタンプ付加部14とを有する。
【0057】
一方、デバイス3a,3bは、グローバルタイマ13a,13bと、デバイス動作部5a,5bと、デバイス動作部5a,5bに周期的に起動をかける動作周期タイマ11a,11bと、グローバルタイマ13a,13bが示す時間と受信した周期転送パケット6に付加されたタイムスタンプが示す時間とを比較するタイムスタンプ比較部15a,15bとをそれぞれ有する。
【0058】
図10は、タイムスタンプを用いたローカルシンクタイミングの同期処理を示すタイミングチャートである。図10において、コントローラ2のラッチ時間保持部16は、制御周期タイマ10によって指定された周期制御の同期(システムシンク)タイミングでグローバルタイマ13をラッチする。タイムスタンプ付加部14は、このラッチした時間に制御周期分、オフセットしたタイムスタンプを周期転送パケット6に付加してデバイス3a,3bに送信する。
【0059】
デバイス3a,3bのタイムスタンプ比較部15a,15bは、動作周期タイマ11a,11bが示す同期(ローカルシンク)タイミングで受信した周期転送パケット6に付加されたタイムスタンプが示す(システムシンク)時間と、デバイス3a,3bのグローバルタイマ13a,13bが示す時間との時間差から、動作周期タイマ11a,11bのタイマ補正値あるいはタイマ周期補正値を求め、動作周期タイマ11a,11bに対してこのタイマ補正値あるいはタイマ周期補正値を設定する。これによって、各デバイス3a,3bの動作周期タイマ11a,11bは、コントローラ2の制御周期タイマ10に同期し、コントローラ2の制御部4とデバイス3a,3bのデバイス動作部5a,5bとは、周期制御を行う。
【0060】
コントローラ2の制御周期タイマ10は、制御周期で周回する単純なカウンタによって実現され、制御周期タイマ10は、制御部4に周期的に起動をかける。制御周期タイマ10は、周期制御の基準となり、グローバルタイマ13,13a,13b同士の時刻同期によって、グローバルタイマ13,13a,13bのグローバル時間にぶれが生じても、影響されることなく、制御周期の精度を保つことができる。
【0061】
また、コントローラ2の制御周期タイマ10が指定するシステムシンクで、各デバイス3a,3bの動作周期タイマ11a,11bを同時に同期させることができる。さらに、ラッチ時間保持部16は、正確なシステムシンク時間を示すタイムスタンプを算出することができる。
【0062】
また、制御周期タイマ10のタイマ割込によって簡単にコントローラ2のローカルシンクタイミングを生成することができるので、タイムスタンプ算出と、周期転送パケット6に対するタイムスタンプ書込とがソフトウェアで処理することができる。
【0063】
さらに、動作周期タイマ11a,11bのタイマ割込によって簡単にデバイス3a,3bのローカルシンクタイミングを生成することができるので、タイムスタンプとグローバル時間との比較がソフトウェアで処理することができる。
【0064】
また、ネットワーク1の再構築などによるグローバルタイマ13,13a,13bのリセットが発生することによってグローバル時間にずれが生じても、コントローラ2とデバイス3a,3bとの各グローバルタイマ13,13a,13bが再同期すれば、再同期後のグローバル時間でタイムスタンプが生成されるので、リセット後においても制御周期を保ち、連続した制御を行うことができる。
【0065】
図11は、動作周期タイマ11a,11bの周期が制御周期タイマ10が示す制御周期に比して長いときの動作周期タイマ11a,11bのタイマ補正処理をグローバル時間に対して示したタイミングチャートである。図11において、タイムスタンプ比較部15a,15bは、動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差から、動作周期タイマ11a,11bのタイマ補正値D11を計算し、このタイマ補正値D11を動作周期タイマ11a,11bに設定する。これによって、制御周期タイマ10が示す制御周期と、動作周期タイマ11a,11bのずれを補正し、動作周期を制御周期に一致させることができる。
【0066】
図12は、動作周期タイマ11a,11bの周期が制御周期タイマ10が示す制御周期に比して短いときの動作周期タイマ11a,11bのタイマ補正処理の一例を、グローバル時間に対して示したタイミングチャートである。図11において、タイムスタンプ比較部15a,15bは、動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差から、制御周期タイマのタイマ補正値D12を計算し、このタイマ補正値D12を動作周期タイマ11a,11bに設定する。これによって、制御周期タイマ10が示す制御周期と、動作周期タイマ11a,11bのずれを補正し、動作周期を制御周期に一致させることができる。なお、動作周期タイマ11a,11bの周期が制御周期タイマ10が示す制御周期に比して短いため、タイマ補正値D12は負の値になり、動作周期タイマ11a,11bが周期カウンタによって実現される場合、タイマ値がゼロになったときに同期しないように処理する必要がある。
【0067】
図13は、動作周期タイマ11a,11bの周期が制御周期タイマ10が示す制御周期に比して短いときの動作周期タイマ11a,11bのタイマ補正処理の他の一例を、グローバル時間に対して示したタイミングチャートである。図11において、タイムスタンプ比較部15a,15bは、動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差から、動作周期タイマ11a,11bのタイマ補正リセットタイマ値D13を計算し、動作周期タイマ11a,11bがこのタイマ補正リセットタイマ値に達したとき、動作周期タイマ11a,11bをリセットする。これによって、制御周期タイマ10が示す制御周期と動作周期タイマ11a,11bとのずれを補正し、動作周期が制御周期に一致する。なお、タイマ補正のためのリセット時に、同期しないように処理する必要がある。
【0068】
あるいは、タイムスタンプ比較部15a,15bは、動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差から、動作周期タイマ11a,11bのタイマ補正リセット時間t13を計算し、このタイマ補正リセット時間t13後に動作周期タイマ11a,11bをリセットする。または、タイマ補正リセット時間t13、動作周期タイマ11a,11bを停止させる。これによっても、動作周期タイマ11a,11bのずれを補正し、動作周期を制御周期に一致させることができる。
【0069】
さらに、図14は、制御周期タイマ10あるいは動作周期タイマ11a,11bの周期が、グローバルタイマ13,13a,13bが示す周期制御の周期に比して長い場合における制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ周期補正処理を、グローバル時間に対して示している。タイムスタンプ比較部15a,15bは、動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差から、動作周期タイマ11a,11bのタイマ周期補正値D14を計算し、動作周期タイマ11a,11bのタイマ周期を補正させる。これによって、制御周期タイマ10が示す制御周期と、動作周期タイマ11a,11bのずれが補正され、動作周期が制御周期に一致する。
【0070】
また、図15は、制御周期タイマ10あるいは動作周期タイマ11a,11bの周期が、グローバルタイマ13,13a,13bが示す周期制御の周期に比して短い場合における制御周期タイマ10あるいは動作周期タイマ11a,11bのタイマ周期補正処理を、グローバル時間に対して示している。タイムスタンプ比較部15a,15bは、動作周期タイマ11a,11bのローカルシンクタイミングにおけるグローバルタイマ13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差から、動作周期タイマ11a,11bのタイマ周期補正値D15を計算し、動作周期タイマ11a,11bのタイマ周期を補正させる。これによって、制御周期タイマ10が示す制御周期と、動作周期タイマ11a,11bのずれが補正され、動作周期が制御周期に一致する。
【0071】
図11〜図15に示したタイマ補正処理あるいはタイマ周期補正処理のいずれも、動作周期タイマ11a,11bが示す同期(ローカルシンク)タイミングで、グローバルタイマ13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差が、同期許容範囲Δt内にない場合、ネットワーク1の不具合などによるグローバルタイマ13,13a,13bの不正同期や停止などが生じたものと認識し、動作周期タイマ11a,11bのタイマ補正あるいはタイマ周期補正を行わない。これによって、動作周期タイマ11a,11bは、周期を刻み続けるため、動作周期タイマ11a,11bの突然の停止や暴走を防ぐことができる。
【0072】
なお、動作周期タイマ11a,11bが示す同期(ローカルシンク)タイミングで、グローバルタイマ13,13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差が、同期許容範囲Δt内に戻らないとき、コントローラ2は、周期制御を中断し、動作周期タイマ11a,11bの同期許容範囲Δtのチェックを行わない強制同期などを行う。
【0073】
実施の形態4.
つぎに、この発明の実施の形態4について説明する。図16は、この発明の実施の形態4である周期制御同期システムの構成を示すブロック図である。図16において、コントローラ2は、実施の形態3に示したコントローラ2と同じであり、グローバルタイマ13と、制御部4と、制御部4に周期的に起動をかける制御周期タイマ10と、任意のタイミングでグローバルタイマ13をラッチし、このラッチした時間を保持するラッチ時間保持部16と、制御部4がデバイス3a,3bに周期的に送信する周期転送パケット6に、グローバルタイマ時間で指定したタイムスタンプを付加するタイムスタンプ付加部14とを有する。
【0074】
一方、デバイス3a,3bは、グローバルタイマ13a,13bと、デバイス動作部5a,5bと、デバイス動作部5a,5bに周期的に起動をかける動作周期タイマ11a,11bと、グローバルタイマ13a,13bが示す時間と受信した周期転送パケット6に付加されたタイムスタンプが示す時間とを比較するタイムスタンプ比較部25a,25bとをそれぞれ有する。
【0075】
図17は、タイムスタンプを用いたローカルシンクタイミングの同期処理を示すタイミングチャートである。図17において、コントローラ2のラッチ時間保持部16は、制御周期タイマ10によって指定された周期制御の同期(システムシンク)タイミングでグローバルタイマ13をラッチする。タイムスタンプ付加部14は、このラッチした時間に制御周期分、オフセットしたタイムスタンプを周期転送パケット6に付加してデバイス3a,3bに送信する。
【0076】
デバイス3a,3bのタイムスタンプ比較部25a,25bは、コントローラ2から受信した周期転送パケット6に付加されたタイムスタンプが示す時間が、デバイス3a,3bのグローバルタイマ13a,13bが示す時間と同じ、あるいは越えたときに周期制御の同期(システムシンク)タイミングと認識し、デバイス3a,3bの動作周期タイマ11a,11bのローカルシンクタイミングよりも先にシステムシンクタイミングがきた場合、動作周期タイマ11a,11bをリセットし、デバイス動作部5a,5bを起動する。この場合、動作周期タイマ11a,11bがリセットされるため、ローカルシンクは発生しない。
【0077】
また、タイムスタンプ比較部25a,25bは、システムシンクタイミングよりも、デバイス3a,3bの動作周期タイマ11a,11bのローカルシンクタイミングが先にきた場合、ローカルシンクタイミングで動作周期タイマ11a,11bをリセットし、デバイス動作部5a,5bを起動する。その後、システムシンクタイミングで、デバイス3a,3bの動作周期タイマ11a,11bを再度リセットし、動作周期を制御周期に同期させる。2度目のリセット時には、デバイス動作部5a,5bを起動しない。これによって、各デバイス3a,3bの動作周期タイマ11a,11bは、コントローラ2の制御周期タイマ10に同期し、コントローラ2の制御部4とデバイス3a,3bのデバイス動作部5a,5bは周期制御を行う。
【0078】
また、ネットワーク1の再構築などによるグローバルタイマ13,13a,13bのリセットによってグローバル時間にずれが生じても、コントローラ2とデバイス3a,3bの各グローバルタイマ13,13a,13bが再同期すれば、再同期後のグローバル時間でタイムスタンプが生成されるため、リセット後も制御周期が保たれ、連続して制御を行うことができる。
【0079】
図18は、システムシンクタイミングがローカルシンクタイミングよりも先にきた場合における動作周期タイマ11a,11bのリセット処理をグローバル時間に対して示したタイミングチャートである。図18において、タイムスタンプ比較部25a,25bは、受信した周期転送パケット6に付加されたタイムスタンプが示す時間に、デバイス3a,3bのグローバルタイマ13a,13bが示す時間が達したときに周期制御の同期(システムシンク)タイミングと認識し、動作周期タイマ11a,11bをリセットする。これによって、動作周期を制御周期に一致させる。この場合、システムシンクによって動作周期タイマ11a,11bをリセットするので、動作周期を制御周期に一致させる際に遅れが生じない。
【0080】
図19は、ローカルシンクタイミングがシステムシンクタイミングよりも先にきた場合の動作周期タイマ11a,11bのリセット処理の一例を、グローバル時間に対して示したタイミングチャートである。図19において、タイムスタンプ比較部25a,25bは、動作周期タイマ11a,11bをリセットし、デバイス動作部5a,5bを起動する。その後、システムシンクタイミングで、デバイス3a,3bの動作周期タイマ11a,11bを再度リセットし、動作周期を制御周期に同期させる。なお、周期転送パケット6の送受信エラーなどによって、タイムスタンプが得られないときでも、動作周期タイマ11a,11bが示す同期(ローカルシンク)タイミングで、動作周期タイマ11a,11bがリセットされ、動作周期が安定して持続される。また、コントローラ2の不具合によって、タイムスタンプが異常に遅くなったときに、誤った周期同期(システムシンク)を行うことがなくなる。
【0081】
図18および図19のいずれも、デバイス3a,3bは、受信した周期転送パケット6に付加されたタイムスタンプが示す時間と、動作周期タイマ11a,11bが示す同期(ローカルシンク)時間でのグローバル時間との時間差が、同期許容範囲Δt内にない場合、ネットワーク1の不具合などによるグローバルタイマ13,13a,13bの不正同期や停止などが生じたものと認識し、動作周期タイマ11a,11bの補正を行わない。これによって、動作周期タイマ11a,11bは、周期を刻み続けるため、動作周期タイマ11a,11bの突然の停止や暴走を防ぐことができる。
【0082】
なお、動作周期タイマ11a,11bが示す同期(ローカルシンク)タイミングで、グローバルタイマ13,13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差が、同期許容範囲Δt内に戻らないとき、コントローラ2は、周期制御を中断し、動作周期タイマ11a,11bの同期許容範囲Δtのチェックを行わない強制同期などを行う。
【0083】
図20は、動作周期タイマ11a,11bのタイマ周期を補正する処理を示すタイミングチャートである。図20において、タイムスタンプ比較部25a,25bは、動作周期タイマ11a,11bが示すローカルシンクがタイムスタンプが示すシステムシンクよりも早い場合、動作周期タイマ11a,11bのローカルシンクタイミングでのグローバルタイマ13a,13bのグローバル時間と、受信した周期転送パケット6に付加されたタイムスタンプが示す同期(システムシンク)時間との時間差から、動作周期タイマ11a,11bのタイマ周期補正値を計算し、動作周期タイマ11a,11bのタイマ周期を補正する。
【0084】
また、動作周期タイマ11a,11bが示すローカルシンクがタイムスタンプが示すシステムシンクよりも遅い場合、動作周期タイマ11a,11bはリセットされ、直前の値を用いて動作周期タイマ11a,11bのタイマ周期補正値を計算し、動作周期タイマ11a,11bのタイマ周期を補正し、動作周期タイマ11a,11bのタイマ周期を制御周期に追従させる。
【0085】
実施の形態5.
つぎに、この発明の実施の形態5について説明する。図21は、この発明の実施の形態5である周期制御同期システムの構成を示すブロック図である。図21において、コントローラ2は、複数の系統A,Bのネットワーク1A,1Bに接続される。系統Aのネットワーク1Aには、デバイス3aが接続され、系統Bのネットワーク1Bには、デバイス3bが接続される。
【0086】
コントローラ2は、系統A,Bのグローバルタイマ13A,13Bと、任意のタイミングで系統A,Bのグローバルタイマ13A,13Bをラッチし、ラッチした時間を保持するラッチ時間保持部16A,16Bとをそれぞれ有するとともに、制御部4と、制御部4に周期的に起動をかける制御周期タイマ10と、系統A,Bのデバイス3a,3bにそれぞれ周期的に送信する周期転送パケット6A,6Bにグローバルタイマ時間で指定したタイムスタンプを付加するタイムスタンプ付加部14とを有する。
【0087】
デバイス3a,3bは、実施の形態3と同じように、グローバルタイマ13a,13bと、デバイス動作部5a,5bと、デバイス動作部5a,5bに周期的に起動をかける動作周期タイマ11a,11bと、グローバルタイマ13a,13bが示す時間と受信した周期転送パケット6A,6Bに付加されたタイムスタンプが示す時間とを比較するタイムスタンプ比較部15a,15bとを有する。
【0088】
コントローラ2は、制御周期タイマ10によって指定された周期制御の同期(システムシンク)タイミングで、系統Aのラッチ時間保持部16Aがグローバルタイマ13Aをラッチし、系統Bのラッチ時間保持部16Bがグローバルタイマ13Bをラッチする。タイムスタンプ付加部14は、系統Aのラッチした時間に制御周期分、オフセットしたタイムスタンプを周期転送パケット6Aに付加してデバイス3aに送信し、系統Bのラッチした時間に制御周期分、オフセットしたタイムスタンプを周期転送パケット6Bに付加してデバイス3bに送信する(図22参照)。
【0089】
デバイス3aは、動作周期タイマ11aが示す同期(ローカルシンク)タイミングで、受信した周期転送パケット6Aに付加されたタイムスタンプが示す同期(システムシンク)時間とグローバルタイマ13aが示す時間との時間差から、動作周期タイマ11aのタイマ補正値あるいはタイマ周期補正値を求め、動作周期タイマ11aに、このタイマ補正値あるいはタイマ周期補正値を設定する。同じように、デバイス3bは、動作周期タイマ11bが示す同期(ローカルシンク)タイミングで、受信した周期転送パケット6Bに付加されたタイムスタンプが示す同期(システムシンク)時間とグローバルタイマ13bが示す時間との時間差から、動作周期タイマ11bのタイマ補正値あるいはタイマ周期補正値を求め、動作周期タイマ11bに、このタイマ補正値あるいはタイマ周期補正値を設定する。これによって、コントローラ2の制御周期タイマ10に、系統Aのデバイス3aの動作周期タイマ11aと系統Bのデバイス3bの動作周期タイマ11bとが同期し、コントローラ2の制御部4と系統A,Bのデバイス13a,13bとは周期制御される。
【0090】
また、系統A,Bのラッチ時間保持部16A,16Bを独立して持つことによって、系統A,B毎の正確なシステムシンク時間を示すタイムスタンプを算出することができる。さらに、系統A,Bのネットワーク1A,1Bの再構築などによるグローバルタイマ13A,13Bのリセットがあって、系統A,B間にグローバル時間にずれが生じても、システムシンクのタイミングで系統A,B毎に、グローバル時間がラッチされるので、異なる系統A,Bのデバイス3a,3bに対しても同期をとり続けることができるので、リセット後も制御同期を保持し、連続した制御を行うことができる。
【0091】
【発明の効果】
以上説明したように、この発明によれば、ネットワークに接続された1以上のコントローラおよび前記ネットワークに接続された1以上のデバイスは、前記ネットワークを介して制御されるグローバルタイマが示すグローバル時間を用いて、コントローラとデバイスとの間の周期制御の同期タイミングを生成して該周期制御の同期をとり、画一的に転送される周期パケットの周期転送タイミングによって周期制御の同期をとらなくてもよく、周期パケットの周期転送速度が周期制御の同期精度に影響しないようにしているので、周期制御の同期制御を保ったまま、大きなサイズのパケット転送や、スレーブであるデバイス同士の非同期通信などを行え、柔軟な通信が可能になるという効果を奏する。また、前記デバイスの補正手段が、動作周期タイマが示す同期タイミング時に、当該デバイスのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該動作周期タイマを補正するようにしているので、デバイス動作機能に都合の良いタイミングで動作周期タイマを更新することができ、任意のタイミングで生じるグローバルタイマ同士の時刻同期による時間のずれの影響を受けず、動作周期タイマを用いた時間指定の精度を保つことができるという効果を奏する。
【0092】
つぎの発明によれば、前記コントローラの送信手段が、マスタグローバルタイマが示すグローバル時間を用いた同期タイミング時間を周期転送パケットとしてデバイスに送信し、デバイスの周期制御手段が、前記送信手段が送信した周期転送パケットの同期タイミング時間とスレーブグローバルタイマが示すグローバル時間とを用いて周期制御を行うようにしているので、コントローラの制御周期は、グローバルタイマの同期による時間のずれの影響がなく、制御周期タイマを用いた時間指定の精度を保つことができるとともに、コントローラは、全てのデバイスのグローバルタイマの同期タイミングを指定できるため、デバイスのデバイス動作機能に都合のよいタイミングで、デバイスのグローバルタイマを同期することができ、時間指定の精度を保つことができるという効果を奏する。
【0094】
つぎの発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うようにしているので、ネットワークの不具合などによるグローバルタイマの不正同期や停止などがあっても、動作周期タイマは動作周期を刻み続けるため、動作周期タイマの突然の停止や暴走を防ぐことができるという効果を奏する。
【0095】
つぎの発明によれば、前記コントローラの補正手段が、制御周期タイマが示す同期タイミング時に、当該コントローラのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記制御周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該制御周期タイマを補正するようにしているので、コントローラの制御機能に都合の良いタイミングで制御周期タイマを更新することができ、任意のタイミングで生じるグローバルタイマ同士の時刻同期による時間のずれの影響を受けず、制御周期タイマを用いた時間指定の精度を保つことができるという効果を奏する。
【0096】
つぎの発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記制御周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記制御周期タイマを補正しない制御を行うようにしているので、ネットワークの不具合などによるグローバルタイマの不正同期や停止などがあっても、制御周期タイマは制御周期を刻み続けるため、制御周期タイマの突然の停止や暴走を防ぐことができるという効果を奏する。
【0097】
つぎの発明によれば、コントローラのタイムスタンプ付加手段が、第1のグローバルタイマが示すグローバル時間を用いて制御周期タイマが指定した周期制御の同期タイミングを示すタイムスタンプを周期転送パケットに付加し、送信手段が、前記タイムスタンプが付加された前記周期転送パケットを前記デバイスに送信し、前記デバイスの周期制御手段が、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させるようにしているので、グローバルタイマの構造や精度に関係のないタイマを用いることができ、グローバルタイマ同士の時刻同期による時間のずれに影響されず、制御周期の精度を保つことができるとともに、コントローラの都合の良いタイミングでシステム全体の動作周期タイマを同時に同期させることができるという効果を奏する。
【0098】
つぎの発明によれば、前記制御周期タイマが、当該制御周期タイマが指定した周期制御の同期タイミング時に、ラッチ手段に前記第1のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段が、前記ラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加するようにしているので、正確な周期制御の同期時間を示すタイムスタンプを算出することができ、このタイムスタンプの算出と、パケットに対するタイムスタンプの書込をソフトウェアによって簡単に処理することができるという効果を奏する。
【0099】
つぎの発明によれば、デバイスの補正手段が、動作周期タイマが示す同期タイミング時に、記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差を求め、この時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求め、前記動作周期タイマを補正するようにしているので、タイムスタンプとグローバルタイマとの比較タイミングが決まっているので、比較手段の構成が容易となり、特にソフトウェアによる構成が可能になるとともに、ネットワークなどの再構築などによってグローバルタイマのリセットに影響されず、リセット後も制御周期を保ち、連続して制御を続けることができるという効果を奏する。
【0100】
つぎの発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うようにしているので、コントローラの不具合によって、タイムスタンプが示す時間と動作周期タイマが示す時間とが大幅に異なったときに、誤った周期制御に同期しないという効果を奏する。
【0101】
つぎの発明によれば、比較手段が、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを比較し、補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第2のグローバルタイマが示すグローバル時間が達したとき、前記動作周期タイマをリセットするようにしているので、ネットワークの不具合などによるグローバルタイマのリセットに影響されず、リセット後も制御周期を保ち、連続して制御を続けることができるという効果を奏する。
【0102】
つぎの発明によれば、前記補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第2のグローバルタイマが示すグローバル時間が達するまでに、前記動作周期タイマが示す同期タイミングに達した場合に該動作周期タイマをリセットし、その後前記タイムスタンプが示す周期制御の同期タイミング時間が前記第2のグローバルタイマが示すグローバル時間と同一または越えた場合に、再び前記動作周期タイマをリセットするようにしているので、周期転送パケットの送受信エラーなどによってタイムスタンプが得られない場合であっても、動作周期タイマが示す同期タイミングで動作周期タイマがリセットされ、動作周期が安定して持続されるとともに、コントローラの不具合によってタイムスタンプが異常に遅くなった場合でも、誤った周期制御に同期しないようにすることができるという効果を奏する。
【0103】
つぎの発明によれば、検出手段が、前記動作周期タイマが示す同期タイミング時に前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うようにしているので、コントローラの不具合によってタイムスタンプが示す時間と動作周期タイマが示す時間とが大幅に異なる場合であっても、誤った周期制御に同期しないという効果を奏する。
【0104】
つぎの発明によれば、前記補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時における前記動作周期タイマの値を求めて該動作周期タイマのタイマ周期補正値を求め、あるいは動作周期タイマが示す同期タイミング時において、前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差から前記動作周期タイマのタイマ周期補正値を求め、該タイマ周期補正値をもとに前記動作周期タイマを補正するようにしているので、デバイスの動作周期がコントローラの制御周期に精度良く同期するという効果を奏する。
【0105】
つぎの発明によれば、コントローラのタイムスタンプ付加手段が、前記第1および第2のネットワークに周期的に送信される周期転送パケットに、前記制御周期タイマによって指定された前記周期制御の同期タイミングを示すタイムスタンプを第1および第2のグローバルタイマが示すグローバル時間を用いてそれぞれ付加し、第1および第2の送信手段が、前記タイムスタンプが付加された周期転送パケットを、対応する第1および第2のネットワークに接続された1以上のデバイスにそれぞれ送信し、前記第1および第2のネットワークに接続された1以上のデバイスの周期制御手段が、前記第1および第2の送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第3のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させるようにしているので、各ネットワークに接続された1以上のデバイスの動作周期は、複数のネットワークに接続されたコントローラの制御周期に同期させることができるという効果を奏する。
【0106】
つぎの発明によれば、コントローラの制御周期タイマが、当該制御周期タイマが指定した周期制御の同期タイミング時に、前記第1および第1のラッチ手段に前記第1および第2のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段が、前記第1および第2のラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加するようにしているので、正確な周期制御の同期タイミング時間を示すタイムスタンプを算出することができるとともに、このタイムスタンプの算出と、パケットに対するタイムスタンプの書込とが、ソフトウェアで簡単に処理することができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1である周期制御同期システムの概要構成を示すブロック図である。
【図2】 図1に示したコントローラにマスタグローバルタイマが設定された場合のコントローラとデバイスとの周期制御関係を示すブロック図である。
【図3】 この発明の実施の形態2である周期制御同期システムの構成を示すブロック図である。
【図4】 図3に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して長い場合におけるタイマ補正処理を示すタイミングチャートである。
【図5】 図3に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して短い場合におけるタイマ補正処理を示すタイミングチャートである。
【図6】 図3に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して短い場合における他のタイマ補正処理を示すタイミングチャートである。
【図7】 図3に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して長い場合におけるタイマ周期補正処理を示すタイミングチャートである。
【図8】 図3に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して短い場合におけるタイマ周期補正処理を示すタイミングチャートである。
【図9】 この発明の実施の形態3である周期制御同期システムの構成を示すブロック図である。
【図10】 タイムスタンプを用いたローカルシンクタイミングの同期処理を示すタイミングチャートである。
【図11】 図10に示した動作周期タイマの周期が制御周期に比して長い場合のタイマ補正処理を示すタイミングチャートである。
【図12】 図10に示した動作周期タイマの周期が制御周期に比して短い場合のタイマ補正処理を示すタイミングチャートである。
【図13】 図10に示した動作周期タイマの周期が制御周期に比して短い場合の他のタイマ補正処理を示すタイミングチャートである。
【図14】 図10に示した制御周期タイマまたは動作周期タイマの周期が周期制御の周期に比して長い場合のタイマ周期補正処理を示すタイミングチャートである。
【図15】 図10に示した制御周期タイマまたは動作周期タイマの周期が周期制御の周期に比して短い場合のタイマ周期補正処理を示すタイミングチャートである。
【図16】 この発明の実施の形態4である周期制御同期システムの構成を示すブロック図である。
【図17】 タイムスタンプを用いたシステムシンクタイミングの同期処理を示すタイミングチャートである。
【図18】 システムシンクタイミングがローカルシンクタイミングより先である場合の同期処理を示すタイミングチャートである。
【図19】 ローカルシンクタイミングがシステムシンクタイミングより先である場合の同期処理を示すタイミングチャートである。
【図20】 タイマ周期補正処理を示すタイミングチャートである。
【図21】 この発明の実施の形態5である周期制御同期システムの構成を示すブロック図である。
【図22】 タイムスタンプを用いた多系統の周期制御の同期処理を示すタイミングチャートである。
【図23】 SERCOSインターフェースを用いた従来の周期制御同期システムの構成を示す図である。
【符号の説明】
1 ネットワーク、2,2a,2b コントローラ、3a〜3d デバイス、4,4a,4b 制御部、5a〜5d デバイス動作部、6,6a,6b,6AA,6B 周期転送パケット、7,8a,8b,13,13a,13b,13A,13B グローバルタイマ、9 グローバルタイマ同期パケット、10 制御周期タイマ、11a,11b 動作周期タイマ、12,12a,12b タイマ同期部、14 タイムスタンプ付加部、15a,15b,25a,25b タイムスタンプ比較部、16,16A,16B ラッチ時間保持部。
Claims (15)
- ネットワークに接続された1以上のコントローラと前記ネットワークに接続された1以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、
前記コントローラおよび前記デバイスは、前記ネットワークを介して制御されるグローバルタイマを備え、
前記デバイスは、当該デバイス自体の動作周期を制御する動作周期タイマと、前記動作周期タイマが示す同期タイミング時に、当該デバイスのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該動作周期タイマを補正する補正手段とを備え、
前記コントローラおよび前記デバイスは、前記グローバルタイマが示すグローバル時間を用いて前記周期制御の同期タイミングを生成して該周期制御の同期をとることを特徴とする周期制御同期システム。 - 前記コントローラのグローバルタイマをマスタグローバルタイマに設定し、
前記デバイスのグローバルタイマをスレーブグローバルタイマに設定し、
前記コントローラは、前記マスタグローバルタイマが示すグローバル時間を用いた同期タイミング時間を周期転送パケットとして前記デバイスに送信する送信手段を備え、
前記デバイスは、送信手段が送信した周期転送パケットの同期タイミング時間と前記スレーブグローバルタイマが示すグローバル時間とを用いて周期制御を行う周期制御手段を備えたことを特徴とする請求項1に記載の周期制御同期システム。 - 前記補正手段は、
前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、
前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする請求項1または2に記載の周期制御同期システム。 - 前記コントローラは、
当該コントローラ自体の制御周期を制御する制御周期タイマと、
前記制御周期タイマが示す同期タイミング時に、当該コントローラのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記制御周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該制御周期タイマを補正する補正手段と、
をさらに備えたことを特徴とする請求項1に記載の周期制御同期システム。 - 前記補正手段は、
前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、
前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記制御周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記制御周期タイマを補正しない制御を行うことを特徴とする請求項4に記載の周期制御同期システム。 - ネットワークに接続された1以上のコントローラと前記ネットワークに接続された1以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、
前記コントローラは、
前記ネットワークを介して制御される第1のグローバルタイマと、
前記周期制御の制御周期を制御する制御周期タイマと、
前記第1のグローバルタイマが示すグローバル時間を用いて前記制御周期タイマが指定した前記周期制御の同期タイミングを示すタイムスタンプを周期転送パケットに付加するタイムスタンプ付加手段と、
前記タイムスタンプが付加された前記周期転送パケットを前記デバイスに送信する送信手段と、
を備え、
前記デバイスは、
前記ネットワークを介して制御される第2のグローバルタイマと、
前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させる周期制御手段と、
を備えたことを特徴とする周期制御同期システム。 - 前記コントローラは、
前記第1のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持するラッチ手段を備え、
前記制御周期タイマは、
当該制御周期タイマが指定した周期制御の同期タイミング時に、前記ラッチ手段に前記第1のグローバルタイマのグローバル時間をラッチさせ、
前記タイムスタンプ付加手段は、
前記ラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加する
ことを特徴とする請求項6に記載の周期制御同期システム。 - 前記デバイスは、
当該デバイス自体の動作周期を制御する動作周期タイマと、
前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを比較する比較手段と、
前記動作周期タイマが示す同期タイミング時に、前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差を求め、この時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求め、前記動作周期タイマを補正する補正手段と、
を備えたことを特徴とする請求項6または7に記載の周期制御同期システム。 - 前記補正手段は、
前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、
前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする請求項8に記載の周期制御同期システム。 - 前記デバイスは、
当該デバイス自体の動作周期を制御する動作周期タイマと、
前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間とを比較する比較手段と、
前記タイムスタンプが示す周期制御の同期タイミング時間に前記第2のグローバルタイマが示すグローバル時間が達したとき、前記動作周期タイマをリセットする補正手段と、
を備えたことを特徴とする請求項6または7に記載の周期制御同期システム。 - 前記補正手段は、
前記タイムスタンプが示す周期制御の同期タイミング時間に前記第2のグローバルタイマが示すグローバル時間が達するまでに、前記動作周期タイマが示す同期タイミングに達した場合に該動作周期タイマをリセットし、その後前記タイムスタンプが示す周期制御の同期タイミング時間が前記第2のグローバルタイマが示すグローバル時間と同一または越えた場合に、再び前記動作周期タイマをリセットすることを特徴とする請求項10に記載の周期制御同期システム。 - 前記補正手段は、
前記動作周期タイマが示す同期タイミング時に前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、
前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする請求項10に記載の周期制御同期システム。 - 前記補正手段は、
前記タイムスタンプが示す周期制御の同期タイミング時における前記動作周期タイマの値を求めて該動作周期タイマのタイマ周期補正値を求め、あるいは動作周期タイマが示す同期タイミング時において、前記タイムスタンプが示す周期制御の同期タイミング時間と前記第2のグローバルタイマが示すグローバル時間との時間差から前記動作周期タイマのタイマ周期補正値を求め、該タイマ周期補正値をもとに前記動作周期タイマを補正することを特徴とする請求項10または11に記載の周期制御同期システム。 - 第1および第2のネットワークに接続されたコントローラと、前記第1のネットワークに接続された1以上のデバイスおよび前記第2のネットワークに接続された1以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、
前記コントローラは、
前記第1のネットワークを介して制御される第1のグローバルタイマと、
前記第2のネットワークを介して制御される第2のグローバルタイマと、
当該周期制御同期システムの周期制御の制御周期を制御する制御周期タイマと、
前記第1および第2のネットワークに周期的に送信される周期転送パケットに、前記制御周期タイマによって指定された前記周期制御の同期タイミングを示すタイムスタンプを第1および第2のグローバルタイマが示すグローバル時間を用いてそれぞれ付加するタイムスタンプ付加手段と、
前記タイムスタンプが付加された周期転送パケットを、対応する第1のネットワークに接続された1以上のデバイスに送信する第1の送信手段と、
前記タイムスタンプが付加された周期転送パケットを、対応する第2のネットワークに接続された1以上のデバイスに送信する第2の送信手段と、
を備え、
前記第1および第2のネットワークに接続された1以上のデバイスは、
前記第1および第2のネットワークを介してそれぞれ制御される第3のグローバルタイマと、
前記第1および第2の送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第3のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させる周期制御手段と、
を備えたことを特徴とする周期制御同期システム。 - 前記コントローラは、
前記第1のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持する第1のラッチ手段と、
前記第2のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持する第2のラッチ手段と、
を備え、
前記制御周期タイマは、
当該制御周期タイマが指定した周期制御の同期タイミング時に、前記第1および第1のラッチ手段に前記第1および第2のグローバルタイマのグローバル時間をラッチさせ、
前記タイムスタンプ付加手段は、
前記第1および第2のラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加する
ことを特徴とする請求項14に記載の周期制御同期システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000360280A JP3748204B2 (ja) | 2000-11-27 | 2000-11-27 | 周期制御同期システム |
US09/841,102 US7356617B2 (en) | 2000-11-27 | 2001-04-25 | Periodic control synchronous system |
DE10127901A DE10127901B4 (de) | 2000-11-27 | 2001-06-08 | Synchrones System für periodische Steuerung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000360280A JP3748204B2 (ja) | 2000-11-27 | 2000-11-27 | 周期制御同期システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002164872A JP2002164872A (ja) | 2002-06-07 |
JP3748204B2 true JP3748204B2 (ja) | 2006-02-22 |
Family
ID=18831906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000360280A Expired - Fee Related JP3748204B2 (ja) | 2000-11-27 | 2000-11-27 | 周期制御同期システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7356617B2 (ja) |
JP (1) | JP3748204B2 (ja) |
DE (1) | DE10127901B4 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4400040B2 (ja) * | 2002-12-04 | 2010-01-20 | セイコーエプソン株式会社 | デバイス管理装置 |
US20060026214A1 (en) * | 2004-07-29 | 2006-02-02 | International Business Machines Corporation | Switching from synchronous to asynchronous processing |
JP2006155367A (ja) * | 2004-11-30 | 2006-06-15 | Canon Inc | 画像形成装置、データ処理方法、画像形成方法及びプログラム |
JP4349276B2 (ja) * | 2004-12-22 | 2009-10-21 | トヨタ自動車株式会社 | 異常判定システム |
US7809131B1 (en) * | 2004-12-23 | 2010-10-05 | Arcsight, Inc. | Adjusting sensor time in a network security system |
DE102006006509A1 (de) * | 2006-02-10 | 2007-08-16 | Robert Bosch Gmbh | Verfahren zum Betreiben eines Netzwerkes |
US7738611B2 (en) * | 2006-08-07 | 2010-06-15 | Harris Stratex Networks, Inc. | Remote monitoring and calibration of system reference clock using network timing reference |
EP2064822B1 (en) * | 2006-09-06 | 2018-10-10 | Nxp B.V. | Network and method for clock synchronization of clusters in a time triggered network |
US8181217B2 (en) * | 2007-12-27 | 2012-05-15 | Microsoft Corporation | Monitoring presentation timestamps |
WO2009147726A1 (ja) * | 2008-06-03 | 2009-12-10 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法および半導体装置 |
CN101478359B (zh) * | 2009-01-16 | 2013-01-23 | 华为技术有限公司 | 一种管理ieee1588时戳的方法、装置及系统 |
US8193481B2 (en) * | 2009-01-26 | 2012-06-05 | Centre De Recherche Industrielle De Quebec | Method and apparatus for assembling sensor output data with data representing a sensed location on a moving article |
KR101204445B1 (ko) | 2011-12-07 | 2012-11-26 | 시큐아이닷컴 주식회사 | 마스터 장치와 슬레이브 장치 간 시간 동기화 시스템 및 시간 동기화 방법 |
FR2994000B1 (fr) | 2012-07-30 | 2015-06-05 | Airbus Operations Sas | Procede de surveillance de l'execution coordonnee de taches sequencees par une carte electronique comportant au moins deux processeurs synchronises sur une meme horloge |
FR2994001B1 (fr) * | 2012-07-30 | 2015-05-29 | Airbus Operations Sas | Procede de surveillance de l'execution coordonnee de taches sequencees par une carte electronique comportant au moins deux processeurs synchronises sur deux horloges differentes |
JP6029433B2 (ja) | 2012-11-26 | 2016-11-24 | ルネサスエレクトロニクス株式会社 | マイコン |
JP6174479B2 (ja) * | 2013-12-25 | 2017-08-02 | 一般財団法人電力中央研究所 | センサ端末のカウンタの同期方法、同期装置及び同期プログラム |
US9681407B2 (en) * | 2013-12-28 | 2017-06-13 | Qualcomm Incorporated | Time synchronization function rollover solution |
US20170105076A1 (en) * | 2014-05-28 | 2017-04-13 | Sonova Ag | Hearing assistance system and method |
US10423468B2 (en) * | 2015-02-10 | 2019-09-24 | Red Hat, Inc. | Complex event processing using pseudo-clock |
US9891966B2 (en) | 2015-02-10 | 2018-02-13 | Red Hat, Inc. | Idempotent mode of executing commands triggered by complex event processing |
CN106576038B (zh) | 2015-07-08 | 2018-09-21 | 三菱电机株式会社 | 网络系统、时间主站点、以及时间从站点 |
CN105334907A (zh) * | 2015-09-28 | 2016-02-17 | 成都成电光信科技股份有限公司 | 时钟同步方法和数据处理系统 |
US9864399B2 (en) * | 2015-12-10 | 2018-01-09 | Apple Inc. | Timebase synchronization |
JP2019101480A (ja) * | 2017-11-28 | 2019-06-24 | オムロン株式会社 | 制御装置および制御方法 |
JP6973427B2 (ja) * | 2019-02-15 | 2021-11-24 | 株式会社安川電機 | 通信システム、通信方法、及びプログラム |
EP3902166B1 (de) * | 2020-04-21 | 2022-03-23 | TTTech Computertechnik Aktiengesellschaft | Fehlertoleranter zeitserver für ein echtzeitcomputersystem |
WO2022123677A1 (ja) * | 2020-12-09 | 2022-06-16 | 日本電信電話株式会社 | パケットキャプチャ装置、タイムスタンプ補正方法、パケットキャプチャ方法およびパケットキャプチャプログラム |
FR3119287B1 (fr) * | 2021-01-26 | 2023-12-22 | St Microelectronics Grenoble 2 | Procédé de synchronisation de domaines temporels d’un système sur puce. |
CN114791896A (zh) | 2021-01-26 | 2022-07-26 | 意法半导体(格勒诺布尔2)公司 | 片上系统中的时域同步 |
SE2150797A1 (en) * | 2021-06-22 | 2022-12-23 | Bombardier Transp Gmbh | A pulse width modulation system and a method in relation thereto |
EP4311134A1 (de) * | 2022-07-19 | 2024-01-24 | B&R Industrial Automation GmbH | Kontinuierliche zeitsynchronisation |
EP4311135A1 (de) * | 2022-07-19 | 2024-01-24 | B&R Industrial Automation GmbH | Zeitsynchronisation zwischen einem master und einem slave in einem netzwerk |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4677614A (en) * | 1983-02-15 | 1987-06-30 | Emc Controls, Inc. | Data communication system and method and communication controller and method therefor, having a data/clock synchronizer and method |
US5689688A (en) * | 1993-11-16 | 1997-11-18 | International Business Machines Corporation | Probabilistic anonymous clock synchronization method and apparatus for synchronizing a local time scale with a reference time scale |
US5822381A (en) * | 1995-05-05 | 1998-10-13 | Silicon Graphics, Inc. | Distributed global clock system |
US5887143A (en) * | 1995-10-26 | 1999-03-23 | Hitachi, Ltd. | Apparatus and method for synchronizing execution of programs in a distributed real-time computing system |
DE19626287A1 (de) | 1996-07-01 | 1997-02-13 | Abb Management Ag | Verfahren zum Betrieb eines Antriebssystems und Vorrichtung zur Durchführung des Verfahrens |
JP3339786B2 (ja) * | 1996-12-02 | 2002-10-28 | オークマ株式会社 | 環状通信路におけるタイマー同期化装置および初期化方法 |
US6157957A (en) * | 1998-01-22 | 2000-12-05 | Cisco Technology, Inc. | Clock synchronization system and method using a continuous conversion function for a communication network |
US6199169B1 (en) * | 1998-03-31 | 2001-03-06 | Compaq Computer Corporation | System and method for synchronizing time across a computer cluster |
US6202067B1 (en) * | 1998-04-07 | 2001-03-13 | Lucent Technologies, Inc. | Method and apparatus for correct and complete transactions in a fault tolerant distributed database system |
US6061802A (en) * | 1998-07-02 | 2000-05-09 | Advanced Micro Devices, Inc. | Software based clock synchronization |
US6587957B1 (en) * | 1999-07-30 | 2003-07-01 | Emc Corporation | Disk drive controller for controlling data flow therethrough by switching to secondary bus to receive clock pulses when a failure on master bus is detected |
-
2000
- 2000-11-27 JP JP2000360280A patent/JP3748204B2/ja not_active Expired - Fee Related
-
2001
- 2001-04-25 US US09/841,102 patent/US7356617B2/en not_active Expired - Fee Related
- 2001-06-08 DE DE10127901A patent/DE10127901B4/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20020065940A1 (en) | 2002-05-30 |
DE10127901A1 (de) | 2002-08-29 |
DE10127901B4 (de) | 2006-03-30 |
US7356617B2 (en) | 2008-04-08 |
JP2002164872A (ja) | 2002-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3748204B2 (ja) | 周期制御同期システム | |
KR102278867B1 (ko) | 네트워크 디바이스들의 클록들을 동기화하는 방법 | |
JP3902592B2 (ja) | リアルタイム処理用の分散型システムのノードの同期方法及び同期ユニット | |
US7366205B2 (en) | Method for synchronizing nodes of a communications system | |
CN105680973B (zh) | 航空电子设备网络中的自由运转节点的时间同步方法 | |
JP4824662B2 (ja) | 多数のバスのサイクルタイムを同期させる方法と装置及び対応するバスシステム | |
US20060251046A1 (en) | Master-slave synchronization communication method | |
JP4571668B2 (ja) | 時間制御される通信システム内にグローバルなタイムベースを確立する方法および通信システム | |
JP2003523130A (ja) | パケット・ネットワークにおけるノード間のクロック同期方法 | |
WO2019107022A1 (ja) | 制御装置および制御方法 | |
CN105959079A (zh) | 一种基于分布式控制系统的时钟同步方法 | |
JP4898187B2 (ja) | 低ジッタ同期によるモジュラー方式数値制御装置 | |
CN104243079A (zh) | 一种实时以太网的微秒级时钟同步方法 | |
US10222786B2 (en) | Numerical control system having synchronous control function between units | |
US11831403B2 (en) | Network interface card structure and clock synchronization method to precisely acquire heterogeneous PTP synchronization information for PTP synchronization network extension | |
KR100597436B1 (ko) | 무선 1394 시스템의 사이클 타임 동기화 장치 및 그 방법 | |
JP2003163691A5 (ja) | ||
Ballesteros et al. | Achieving elementary cycle synchronization between masters in the flexible time-triggered replicated star for Ethernet | |
JP2821091B2 (ja) | 遠方監視制御装置および時刻同期装置 | |
JP7161505B2 (ja) | 情報通信システム及び情報通信装置 | |
JPH11355256A (ja) | 同期動作システム | |
US10909063B2 (en) | Communication system and transmitting device | |
JP2005064951A (ja) | 遠隔監視制御システム | |
JPH07250392A (ja) | 局間の同期制御装置 | |
JPH04352535A (ja) | ループ式伝送路制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051027 |
|
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: 20051122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101209 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111209 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111209 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121209 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121209 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131209 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |