(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された１以上のコントローラと前記ネットワークに接続された１以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、
前記コントローラおよび前記デバイスは、前記ネットワークを介して制御されるグローバルタイマを備え、
前記デバイスは、当該デバイス自体の動作周期を制御する動作周期タイマと、前記動作周期タイマが示す同期タイミング時に、当該デバイスのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該動作周期タイマを補正する補正手段とを備え、
前記コントローラおよび前記デバイスは、前記グローバルタイマが示すグローバル時間を用いて前記周期制御の同期タイミングを生成して該周期制御の同期をとることを特徴とする周期制御同期システム。
【請求項２】
前記コントローラのグローバルタイマをマスタグローバルタイマに設定し、
前記デバイスのグローバルタイマをスレーブグローバルタイマに設定し、
前記コントローラは、前記マスタグローバルタイマが示すグローバル時間を用いた同期タイミング時間を周期転送パケットとして前記デバイスに送信する送信手段を備え、
前記デバイスは、送信手段が送信した周期転送パケットの同期タイミング時間と前記スレーブグローバルタイマが示すグローバル時間とを用いて周期制御を行う周期制御手段を備えたことを特徴とする請求項１に記載の周期制御同期システム。
【請求項３】
前記補正手段は、
前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、
前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする請求項１または２に記載の周期制御同期システム。
【請求項４】
前記コントローラは、
当該コントローラ自体の制御周期を制御する制御周期タイマと、
前記制御周期タイマが示す同期タイミング時に、当該コントローラのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記制御周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該制御周期タイマを補正する補正手段と、
をさらに備えたことを特徴とする請求項１に記載の周期制御同期システム。
【請求項５】
前記補正手段は、
前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、
前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記制御周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記制御周期タイマを補正しない制御を行うことを特徴とする請求項４に記載の周期制御同期システム。
【請求項６】
ネットワークに接続された１以上のコントローラと前記ネットワークに接続された１以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、
前記コントローラは、
前記ネットワークを介して制御される第１のグローバルタイマと、
前記周期制御の制御周期を制御する制御周期タイマと、
前記第１のグローバルタイマが示すグローバル時間を用いて前記制御周期タイマが指定した前記周期制御の同期タイミングを示すタイムスタンプを周期転送パケットに付加するタイムスタンプ付加手段と、
前記タイムスタンプが付加された前記周期転送パケットを前記デバイスに送信する送信手段と、
を備え、
前記デバイスは、
前記ネットワークを介して制御される第２のグローバルタイマと、
前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させる周期制御手段と、
を備えたことを特徴とする周期制御同期システム。
【請求項７】
前記コントローラは、
前記第１のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持するラッチ手段を備え、
前記制御周期タイマは、
当該制御周期タイマが指定した周期制御の同期タイミング時に、前記ラッチ手段に前記第１のグローバルタイマのグローバル時間をラッチさせ、
前記タイムスタンプ付加手段は、
前記ラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加する
ことを特徴とする請求項６に記載の周期制御同期システム。
【請求項８】
前記デバイスは、
当該デバイス自体の動作周期を制御する動作周期タイマと、
前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを比較する比較手段と、
前記動作周期タイマが示す同期タイミング時に、前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差を求め、この時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求め、前記動作周期タイマを補正する補正手段と、
を備えたことを特徴とする請求項６または７に記載の周期制御同期システム。
【請求項９】
前記補正手段は、
前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、
前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする請求項８に記載の周期制御同期システム。
【請求項１０】
前記デバイスは、
当該デバイス自体の動作周期を制御する動作周期タイマと、
前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを比較する比較手段と、
前記タイムスタンプが示す周期制御の同期タイミング時間に前記第２のグローバルタイマが示すグローバル時間が達したとき、前記動作周期タイマをリセットする補正手段と、
を備えたことを特徴とする請求項６または７に記載の周期制御同期システム。
【請求項１１】
前記補正手段は、
前記タイムスタンプが示す周期制御の同期タイミング時間に前記第２のグローバルタイマが示すグローバル時間が達するまでに、前記動作周期タイマが示す同期タイミングに達した場合に該動作周期タイマをリセットし、その後前記タイムスタンプが示す周期制御の同期タイミング時間が前記第２のグローバルタイマが示すグローバル時間と同一または越えた場合に、再び前記動作周期タイマをリセットすることを特徴とする請求項１０に記載の周期制御同期システム。
【請求項１２】
前記補正手段は、
前記動作周期タイマが示す同期タイミング時に前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、
前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする請求項１０に記載の周期制御同期システム。
【請求項１３】
前記補正手段は、
前記タイムスタンプが示す周期制御の同期タイミング時における前記動作周期タイマの値を求めて該動作周期タイマのタイマ周期補正値を求め、あるいは動作周期タイマが示す同期タイミング時において、前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差から前記動作周期タイマのタイマ周期補正値を求め、該タイマ周期補正値をもとに前記動作周期タイマを補正することを特徴とする請求項１０または１１に記載の周期制御同期システム。
【請求項１４】
第１および第２のネットワークに接続されたコントローラと、前記第１のネットワークに接続された１以上のデバイスおよび前記第２のネットワークに接続された１以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、
前記コントローラは、
前記第１のネットワークを介して制御される第１のグローバルタイマと、
前記第２のネットワークを介して制御される第２のグローバルタイマと、
当該周期制御同期システムの周期制御の制御周期を制御する制御周期タイマと、
前記第１および第２のネットワークに周期的に送信される周期転送パケットに、前記制御周期タイマによって指定された前記周期制御の同期タイミングを示すタイムスタンプを第１および第２のグローバルタイマが示すグローバル時間を用いてそれぞれ付加するタイムスタンプ付加手段と、
前記タイムスタンプが付加された周期転送パケットを、対応する第１のネットワークに接続された１以上のデバイスに送信する第１の送信手段と、
前記タイムスタンプが付加された周期転送パケットを、対応する第２のネットワークに接続された１以上のデバイスに送信する第２の送信手段と、
を備え、
前記第１および第２のネットワークに接続された１以上のデバイスは、
前記第１および第２のネットワークを介してそれぞれ制御される第３のグローバルタイマと、
前記第１および第２の送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第３のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させる周期制御手段と、
を備えたことを特徴とする周期制御同期システム。
【請求項１５】
前記コントローラは、
前記第１のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持する第１のラッチ手段と、
前記第２のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持する第２のラッチ手段と、
を備え、
前記制御周期タイマは、
当該制御周期タイマが指定した周期制御の同期タイミング時に、前記第１および第１のラッチ手段に前記第１および第２のグローバルタイマのグローバル時間をラッチさせ、
前記タイムスタンプ付加手段は、
前記第１および第２のラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加する
ことを特徴とする請求項１４に記載の周期制御同期システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ネットワークに接続された１以上のコントローラと前記ネットワークに接続されたサーボモータなどの１以上のデバイスとの間の周期制御の同期をとる周期制御同期システムに関するものである。
【０００２】
【従来の技術】
従来から、サーボモータ用のネットワークシステムとしては、たとえば、ＳＥＲＣＯＳインターフェース（ＩＥＥＥ１４９１）を用いたものがある。このＳＥＲＣＯＳインターフェースは、図２３に示すように、周期制御の制御周期毎に、ネットワークを使って、サーボドライブに同期パケット（Ｓｙｎｃ−Ｔｅｌｅｇｒａｍ）を送信することによって、このサーボドライブの周期動作の同期をとっている。
【０００３】
図２３に示すＳＥＲＣＯＳインターフェースを用いたシステムでは、コントローラ（Ｍａｓｔｅｒ）から、周期的に全サーボドライブ（Ｓｌａｖｅ）に同期パケット（Ｓｙｎｃ−Ｔｅｌｅｇｒａｍ）をブロードキャストすることによって、全サーボドライブ（Ｓｌａｖｅ）の制御周期の同期をとっている。
【０００４】
【発明が解決しようとする課題】
しかしながら、ＳＥＲＣＯＳインターフェースを用いた従来のシステムでは、同期パケット（Ｓｙｎｃ−Ｔｅｌｅｇｒａｍ）の周期送信精度によって、制御周期の精度が決まってしまい、大きなサイズのパケット転送や、スレーブ同士の非同期通信などを混在して行おうとすると、同期パケット（Ｓｙｎｃ−Ｔｅｌｅｇｒａｍ）の送信周期にジッタが生じてしまい、大きなサイズのパケット転送や、スレーブ同士の非同期通信などを行うことができず、柔軟性がないという問題点があった。
【０００５】
この発明は、上記に鑑みてなされたもので、周期パケットの周期転送タイミングによって周期制御の同期をとる必要をなくし、周期パケットの周期転送精度が周期制御の同期精度に影響を与えず、周期制御の同期精度を維持したまま、大きなサイズのパケット転送やスレーブ同士の非同期通信などの柔軟な通信を行うことができる周期制御同期システムを得ることを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる周期制御同期システムは、ネットワークに接続された１以上のコントローラと前記ネットワークに接続された１以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、前記コントローラおよび前記デバイスは、前記ネットワークを介して制御されるグローバルタイマを備え、前記デバイスは、当該デバイス自体の動作周期を制御する動作周期タイマと、前記動作周期タイマが示す同期タイミング時に、当該デバイスのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該動作周期タイマを補正する補正手段とを備え、前記コントローラおよび前記デバイスは、前記グローバルタイマが示すグローバル時間を用いて前記周期制御の同期タイミングを生成して該周期制御の同期をとることを特徴とする。
【０００７】
この発明によれば、ネットワークに接続された１以上のコントローラおよび前記ネットワークに接続された１以上のデバイスは、前記ネットワークを介して制御されるグローバルタイマが示すグローバル時間を用いて、コントローラとデバイスとの間の周期制御の同期タイミングを生成して該周期制御の同期をとり、画一的に転送される周期パケットの周期転送タイミングによって周期制御の同期をとらなくてもよく、周期パケットの周期転送速度が周期制御の同期精度に影響しないようにしている。このとき、前記デバイスの補正手段が、動作周期タイマが示す同期タイミング時に、当該デバイスのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該動作周期タイマを補正するようにしている。
【０００８】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記コントローラのグローバルタイマをマスタグローバルタイマに設定し、前記デバイスのグローバルタイマをスレーブグローバルタイマに設定し、前記コントローラは、前記マスタグローバルタイマが示すグローバル時間を用いた同期タイミング時間を周期転送パケットとして前記デバイスに送信する送信手段を備え、前記デバイスは、送信手段が送信した周期転送パケットの同期タイミング時間と前記スレーブグローバルタイマが示すグローバル時間とを用いて周期制御を行う周期制御手段を備えたことを特徴とする。
【０００９】
この発明によれば、前記コントローラの送信手段が、マスタグローバルタイマが示すグローバル時間を用いた同期タイミング時間を周期転送パケットとしてデバイスに送信し、デバイスの周期制御手段が、前記送信手段が送信した周期転送パケットの同期タイミング時間とスレーブグローバルタイマが示すグローバル時間とを用いて周期制御を行うようにしている。
【００１２】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする。
【００１３】
この発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うようにしている。
【００１４】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記コントローラは、当該コントローラ自体の制御周期を制御する制御周期タイマと、前記制御周期タイマが示す同期タイミング時に、当該コントローラのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記制御周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該制御周期タイマを補正する補正手段とをさらに備えたことを特徴とする。
【００１５】
この発明によれば、前記コントローラの補正手段が、制御周期タイマが示す同期タイミング時に、当該コントローラのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記制御周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該制御周期タイマを補正するようにしている。
【００１６】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記制御周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記制御周期タイマを補正しない制御を行うことを特徴とする。
【００１７】
この発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記制御周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記制御周期タイマを補正しない制御を行うようにしている。
【００１８】
つぎの発明にかかる周期制御同期システムは、ネットワークに接続された１以上のコントローラと前記ネットワークに接続された１以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、前記コントローラは、前記ネットワークを介して制御される第１のグローバルタイマと、前記周期制御の制御周期を制御する制御周期タイマと、前記第１のグローバルタイマが示すグローバル時間を用いて前記制御周期タイマが指定した前記周期制御の同期タイミングを示すタイムスタンプを周期転送パケットに付加するタイムスタンプ付加手段と、前記タイムスタンプが付加された前記周期転送パケットを前記デバイスに送信する送信手段とを備え、前記デバイスは、前記ネットワークを介して制御される第２のグローバルタイマと、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させる周期制御手段とを備えたことを特徴とする。
【００１９】
この発明によれば、コントローラのタイムスタンプ付加手段が、第１のグローバルタイマが示すグローバル時間を用いて制御周期タイマが指定した周期制御の同期タイミングを示すタイムスタンプを周期転送パケットに付加し、送信手段が、前記タイムスタンプが付加された前記周期転送パケットを前記デバイスに送信し、前記デバイスの周期制御手段が、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させるようにしている。
【００２０】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記コントローラは、前記第１のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持するラッチ手段を備え、前記制御周期タイマは、当該制御周期タイマが指定した周期制御の同期タイミング時に、前記ラッチ手段に前記第１のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段は、前記ラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加することを特徴とする。
【００２１】
この発明によれば、前記制御周期タイマが、当該制御周期タイマが指定した周期制御の同期タイミング時に、ラッチ手段に前記第１のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段が、前記ラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加し、次の制御周期の同期タイミングを指示するようにしている。
【００２２】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記デバイスは、当該デバイス自体の動作周期を制御する動作周期タイマと、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを比較する比較手段と、前記動作周期タイマが示す同期タイミング時に、前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差を求め、この時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求め、前記動作周期タイマを補正する補正手段とを備えたことを特徴とする。
【００２３】
この発明によれば、デバイスの補正手段が、動作周期タイマが示す同期タイミング時に、記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差を求め、この時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求め、前記動作周期タイマを補正するようにしている。
【００２４】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする。
【００２５】
この発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことによって、誤った同期補正を行わないようにしている。
【００２６】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記デバイスは、当該デバイス自体の動作周期を制御する動作周期タイマと、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを比較する比較手段と、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第２のグローバルタイマが示すグローバル時間が達したとき、前記動作周期タイマをリセットする補正手段とを備えたことを特徴とする。
【００２７】
この発明によれば、比較手段が、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを比較し、補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第２のグローバルタイマが示すグローバル時間が達したとき、前記動作周期タイマをリセットすることによって、動作周期タイマを制御周期タイマに同期するようにしている。
【００２８】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第２のグローバルタイマが示すグローバル時間が達するまでに、前記動作周期タイマが示す同期タイミングに達した場合に該動作周期タイマをリセットし、その後前記タイムスタンプが示す周期制御の同期タイミング時間が前記第２のグローバルタイマが示すグローバル時間と同一または越えた場合に、再び前記動作周期タイマをリセットすることを特徴とする。
【００２９】
この発明によれば、前記補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第２のグローバルタイマが示すグローバル時間が達するまでに、前記動作周期タイマが示す同期タイミングに達した場合に該動作周期タイマをリセットし、その後前記タイムスタンプが示す周期制御の同期タイミング時間が前記第２のグローバルタイマが示すグローバル時間と同一または越えた場合に、再び前記動作周期タイマをリセットすることによって、前記周期転送パケットが消失しても動作周期タイマは周期を刻むようにしている。
【００３０】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記動作周期タイマが示す同期タイミング時に前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差が所定の許容範囲内であるか否かを検出する検出手段を備え、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことを特徴とする。
【００３１】
この発明によれば、検出手段が、前記動作周期タイマが示す同期タイミング時に前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うことによって、誤った同期補正を行わないようにしている。
【００３２】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記補正手段は、前記タイムスタンプが示す周期制御の同期タイミング時における前記動作周期タイマの値を求めて該動作周期タイマのタイマ周期補正値を求め、あるいは動作周期タイマが示す同期タイミング時において、前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差から前記動作周期タイマのタイマ周期補正値を求め、該タイマ周期補正値をもとに前記動作周期タイマを補正することを特徴とする。
【００３３】
この発明によれば、前記補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時における前記動作周期タイマの値を求めて該動作周期タイマのタイマ周期補正値を求め、あるいは動作周期タイマが示す同期タイミング時において、前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差から前記動作周期タイマのタイマ周期補正値を求め、該タイマ周期補正値をもとに前記動作周期タイマを補正することによって、制御周期と動作周期のずれを補正するようにしている。
【００３４】
つぎの発明にかかる周期制御同期システムは、第１および第２のネットワークに接続されたコントローラと、前記第１のネットワークに接続された１以上のデバイスおよび前記第２のネットワークに接続された１以上のデバイスとの間の周期制御の同期をとる周期制御同期システムにおいて、前記コントローラは、前記第１のネットワークを介して制御される第１のグローバルタイマと、前記第２のネットワークを介して制御される第２のグローバルタイマと、当該周期制御同期システムの周期制御の制御周期を制御する制御周期タイマと、前記第１および第２のネットワークに周期的に送信される周期転送パケットに、前記制御周期タイマによって指定された前記周期制御の同期タイミングを示すタイムスタンプを第１および第２のグローバルタイマが示すグローバル時間を用いてそれぞれ付加するタイムスタンプ付加手段と、前記タイムスタンプが付加された周期転送パケットを、対応する第１のネットワークに接続された１以上のデバイスに送信する第１の送信手段と、前記タイムスタンプが付加された周期転送パケットを、対応する第２のネットワークに接続された１以上のデバイスに送信する第２の送信手段とを備え、前記第１および第２のネットワークに接続された１以上のデバイスは、前記第１および第２のネットワークを介してそれぞれ制御される第３のグローバルタイマと、前記第１および第２の送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第３のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させる周期制御手段とを備えたことを特徴とする。
【００３５】
この発明によれば、コントローラのタイムスタンプ付加手段が、前記第１および第２のネットワークに周期的に送信される周期転送パケットに、前記制御周期タイマによって指定された前記周期制御の同期タイミングを示すタイムスタンプを第１および第２のグローバルタイマが示すグローバル時間を用いてそれぞれ付加し、第１および第２の送信手段が、前記タイムスタンプが付加された周期転送パケットを、対応する第１および第２のネットワークに接続された１以上のデバイスにそれぞれ送信し、前記第１および第２のネットワークに接続された１以上のデバイスの周期制御手段が、前記第１および第２の送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第３のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させるようにしている。
【００３６】
つぎの発明にかかる周期制御同期システムは、上記の発明において、前記コントローラは、前記第１のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持する第１のラッチ手段と、前記第２のグローバルタイマのグローバル時間をラッチし、このラッチしたグローバル時間を保持する第２のラッチ手段とを備え、前記制御周期タイマは、当該制御周期タイマが指定した周期制御の同期タイミング時に、前記第１および第１のラッチ手段に前記第１および第２のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段は、前記第１および第２のラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加することを特徴とする。
【００３７】
この発明によれば、コントローラの制御周期タイマが、当該制御周期タイマが指定した周期制御の同期タイミング時に、前記第１および第１のラッチ手段に前記第１および第２のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段が、前記第１および第２のラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加することによって、前記第１および第２のネットワークに接続されたデバイスに次の制御周期の同期タイミングを指示するようにしている。
【００３８】
【発明の実施の形態】
以下、添付図面を参照して、この発明にかかる周期制御同期システムおよびその方法の好適な実施の形態を詳細に説明する。
【００３９】
実施の形態１．
図１は、この発明の実施の形態１である周期制御同期システムの全体構成を示すブロック図である。図１において、コントローラ２ａ，２ｂとデバイス３ａ〜３ｄとは、ネットワーク１に接続される。コントローラ２ａは、デバイス３ａ，３ｂを制御し、コントローラ２ｂは、デバイス３ｃ，３ｄを制御する。ネットワーク１には、さらに複数のコントローラとデバイスとを接続することができる。デバイス３ａ，３ｂを制御するコントローラを増設する場合、この増設したコントローラとコントローラ２ａとのいずれかがデバイス３ａ，３ｂを制御することになる。
【００４０】
コントローラ２ａ，２ｂは、それぞれ周期制御命令を含む周期転送パケット６ａ，６ｂをデバイス３ａ，３ｂおよびデバイス３ｃ，３ｄに送信する。デバイス３ａ，３ｂのデバイス動作部５ａ，５ｂおよびデバイス３ｃ，３ｄのデバイス動作部５ｃ，５ｄは、送信された周期転送パケット６ａ，６ｂをもとに各デバイス動作の周期制御を行う。
【００４１】
図１では、コントローラ２ａ，デバイス３ａ，３ｂとコントローラ２ｂ，デバイス３ｃ，３ｄとの２つの周期制御系が一つのネットワーク１に接続される形態を示したが、各周期制御系のコントローラおよびデバイス、たとえば、コントローラ２ａ，デバイス３ａ，３ｂは、それぞれ図２に示すように、グローバルタイマ７，８ａ，８ｂが示すグローバル時間を用いて、周期制御の同期（システムシンク）タイミングを生成し、コントローラ２ａの制御部の周期（制御周期）とデバイス３ａ，３ｂのデバイス動作部５ａ，５ｂの周期（動作周期）とをシステムシンクに同期させるようにしている。これによって、コントローラ２ａの制御周期と各デバイス３ａ，３ｂの動作周期とが同一の周期で動作する周期制御を行うことができる。
【００４２】
図２に示すように、グローバルタイマ７，８ａ，８ｂが提供するグローバル時間を用いて、コントローラ２ａの制御周期と各デバイス３ａ，３ｂの動作周期との周期制御がなされるため、従来のような周期パケットの周期転送タイミングによって周期制御の同期を取る必要がないため、周期パケットの周期転送精度が周期制御の同期精度に影響せず、周期制御の同期精度を保持したまま、大きなサイズのパケット転送やスレーブ（デバイス３ａ，３ｂ）同士の非同期通信などのフレキシブルな通信が可能になる。
【００４３】
ここで、グローバルタイマは、ネットワーク毎にグローバル時間の基準となる１つのマスタグローバルタイマとその他のスレーブグローバルタイマとで構成される。図２において、コントローラ２ａのグローバルタイマ７は、マスタグローバルタイマに設定され、デバイス３ａ，３ｂのグローバルタイマ８ａ，８ｂは、スレーブグローバルタイマに設定される。マスタグローバルタイマであるグローバルタイマ７を有するノード（コントローラ２ａ）は、ネットワーク１にマスタグローバル時間を設定したグローバルタイマ同期パケット９を送信し、スレーブグローバルタイマであるグローバルタイマ８ａ，８ｂをもつノード（デバイス３ａ，３ｂ）は、受信したグローバルタイマ同期パケット９から、マスタグローバルタイマであるグローバルタイマ７のグローバル時間を取り出し、スレーブグローバルタイマであるグローバルタイマ８ａ，８ｂに設定する。これによって、スレーブグローバルタイマであるグローバルタイマ８ａ，８ｂは、定期的にマスタグローバルタイマであるグローバルタイマ８に同期される。
【００４４】
これによって、コントローラ２ａの制御周期は、グローバルタイマ７がマスタグローバルタイマのため、同期の必要がなく、時間のぶれがないため、グローバルタイマ７を用いた時間指定の精度を保つことができる。また、コントローラ２ａは、全てのデバイス３ａ，３ｂのスレーブグローバルタイマであるグローバルタイマ８ａ，８ｂの同期タイミングを指定することができるため、デバイス３ａ，３ｂのデバイス動作部５ａ，５ｂに適切なタイミングで、デバイス３ａ，３ｂのスレーブグローバルタイマであるグローバルタイマ８ａ，８ｂを同期させることができ、時間指定の精度を保つことができる。
【００４５】
実施の形態２．
つぎに、この発明の実施の形態２について説明する。図３は、この発明の実施の形態２である周期制御同期システムの構成を示すブロック図である。図３において、コントローラ２は、グローバルタイマ７と、制御部４と、制御部４に対して周期的に起動をかける制御周期タイマ１０と、制御周期タイマ１０をグローバルタイマ７に同期させるタイマ同期部１２とを有する。また、デバイス３ａ，３ｂは、グローバルタイマ８ａ，８ｂと、デバイス動作部５ａ，５ｂと、デバイス動作部５ａ，５ｂに対して周期的に起動をかける動作周期タイマ１１ａ，１１ｂと、動作周期タイマ１１ａ，１１ｂをグローバルタイマ８ａ，８ｂに同期させるタイマ同期部１２ａ，１２ｂとをそれぞれ有する。
【００４６】
コントローラ２のタイマ同期部１２は、制御周期タイマ１０が示す同期（ローカルシンク）タイミングで、グローバルタイマ７が示す時間と周期制御の同期（システムシンク）時間との時間差から、制御周期タイマ１０の補正値を求め、制御周期タイマ１０に設定する。これによって、制御部４に適切なタイミングで、制御周期タイマ１０を更新できるので、任意のタイミングで生じるグローバルタイマ７，８ａ，８ｂ同士の時刻同期による時間のぶれの影響を受けず、制御周期タイマ１０を用いた時間指定の精度を保持できる。
【００４７】
一方、デバイス３ａ，３ｂのタイマ同期部１２ａ，１２ｂは、動作周期タイマ１１ａ，１１ｂが示す同期（ローカルシンク）タイミングで、グローバルタイマ８ａ，８ｂが示す時間と周期制御の同期（システムシンク）時間との時間差から、動作周期タイマ１１ａ，１１ｂの補正値をそれぞれ求め、動作周期タイマ１１ａ，１１ｂに補正値をそれぞれ設定する。これによって、デバイス動作部５ａ，５ｂに適切なタイミングで、動作周期タイマ１１ａ，１１ｂを更新できるので、任意のタイミングで生じるグローバルタイマ７，８ａ，８ｂ同士の時刻同期による時間のぶれの影響を受けず、動作周期タイマ１１ａ，１１ｂを用いた時間指定の精度を保持できる。
【００４８】
ここで、図４〜図８に示したタイミングチャートをもとに、タイマ同期部１２，１２ａ，１２ｂによる制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂに対するタイマ補正処理について説明する。まず、図４は、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの周期が、グローバルタイマ７，８ａ，８ｂが示す周期制御の周期に比して長い場合における制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ補正処理を、グローバル時間に対して示している。タイマ同期部１２あるいはタイマ同期部１２ａ，１２ｂは、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ７，８ａ，８ｂのグローバル時間と、周期制御の同期（システムシンク）時間との時間差から、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ補正値Ｄ１を計算し、このタイマ補正値Ｄ１を制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂに設定する。これによって、周期制御の周期と、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。
【００４９】
図５は、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの周期が、グローバルタイマ７，８ａ，８ｂが示す周期制御の周期に比して短い場合における制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ補正処理の一例を、グローバル時間に対して示している。タイマ同期部１２あるいはタイマ同期部１２ａ，１２ｂは、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ７，８ａ，８ｂのグローバル時間と、周期制御の同期（システムシンク）時間との時間差から、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ補正値Ｄ２を計算し、このタイマ補正値Ｄ２を制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂに設定する。これによって、周期制御の周期と、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。ここで、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの周期が、グローバルタイマ７，８ａ，８ｂが示す周期制御の周期に比して短いため、タイマ補正値Ｄ２は、負の値になる。なお、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂが周期カウンタによって実現される場合には、この周期カウンタのタイマ値がゼロになったときに同期しないように処理する必要がある。
【００５０】
図６は、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの周期が、グローバルタイマ７，８ａ，８ｂが示す周期制御の周期に比して短い場合における制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ補正処理の他の一例を、グローバル時間に対して示している。タイマ同期部１２あるいはタイマ同期部１２ａ，１２ｂは、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ７，８ａ，８ｂのグローバル時間と、周期制御の同期（システムシンク）時間との時間差から、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ補正リセットタイマ値Ｄ３を計算し、制御周期タイマ１０あるいは制御周期タイマ１１ａ，１１ｂがこのタイマ補正リセットタイマ値Ｄ３に達したときに、制御周期タイマ１０あるいは制御周期タイマ１１ａ，１１ｂをリセットさせる。これによって、周期制御の周期と、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。なお、タイマ補正リセットタイマ値Ｄ３の値は、タイマ補正Ｄ２と絶対値が同じで、符号が異なる。また、タイマ補正リセットタイマ値Ｄ３に達したときのリセット時に、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂが同期しないように処理する必要がある。
【００５１】
または、図６において、タイマ同期部１２，１２ａ，１２ｂは、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ７，８ａ，８ｂのグローバル時間と、周期制御の同期（システムシンク）時間との時間差から、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ補正リセット時間ｔ３を計算し、このタイマ補正リセット時間ｔ３に達したときに、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂをリセットする。あるいは、タイマ補正リセット時間ｔ３の間、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂを停止させる。これによって、周期制御の周期と、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。
【００５２】
さらに、図７は、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの周期が、グローバルタイマ７，８ａ，８ｂが示す周期制御の周期に比して長い場合における制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ周期補正処理を、グローバル時間に対して示している。タイマ同期部１２あるいはタイマ同期部１２ａ，１２ｂは、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ７，８ａ，８ｂのグローバル時間と、周期制御の同期（システムシンク）時間との時間差から、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ周期補正値Ｄ４を計算し、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ周期を補正させる。これによって、周期制御の周期と、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。
【００５３】
また、図８は、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの周期が、グローバルタイマ７，８ａ，８ｂが示す周期制御の周期に比して短い場合における制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ周期補正処理を、グローバル時間に対して示している。タイマ同期部１２あるいはタイマ同期部１２ａ，１２ｂは、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ７，８ａ，８ｂのグローバル時間と、周期制御の同期（システムシンク）時間との時間差から、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ周期補正値Ｄ５を計算し、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ周期を補正させる。これによって、周期制御の周期と、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの時間ずれが補正され、制御周期あるいは動作周期が周期制御の周期に一致する。
【００５４】
図４〜図８に示したタイマ補正処理あるいはタイマ周期補正処理のいずれも、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂが示す同期（ローカルシンク）タイミングで、グローバルタイマ７，８ａ，８ｂのグローバル時間と、周期制御の同期（システムシンク）時間との時間差が、同期許容範囲Δｔ内にない場合、ネットワーク１の不具合などによるグローバルタイマ７，８ａ，８ｂの不正同期や停止などが生じたものと認識し、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ補正あるいはタイマ周期補正を行わない。これによって、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂは、周期を刻み続けるため、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの突然の停止や暴走を防ぐことができる。
【００５５】
なお、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂが示す同期（ローカルシンク）タイミングで、グローバルタイマ７，８ａ，８ｂのグローバル時間と周期制御の同期（システムシンク）時間との時間差が、同期許容範囲Δｔ内に戻らないとき、コントローラ２は、周期制御を中断し、制御周期タイマ１０および動作周期タイマ１１ａ，１１ｂと、グローバルタイマ７，８ａ，８ｂとの同期許容範囲Δｔのチェックを行わない強制同期などを行う。
【００５６】
実施の形態３．
つぎに、この発明の実施の形態３について説明する。図９は、この発明の実施の形態３である周期制御同期システムの構成を示すブロック図である。図９において、コントローラ２は、グローバルタイマ１３と、制御部４と、制御部４に周期的に起動をかける制御周期タイマ１０と、任意のタイミングでグローバルタイマ１３をラッチし、このラッチした時間を保持するラッチ時間保持部１６と、制御部４がデバイス３ａ，３ｂに周期的に送信する周期転送パケット６に、グローバルタイマ時間で指定したタイムスタンプを付加するタイムスタンプ付加部１４とを有する。
【００５７】
一方、デバイス３ａ，３ｂは、グローバルタイマ１３ａ，１３ｂと、デバイス動作部５ａ，５ｂと、デバイス動作部５ａ，５ｂに周期的に起動をかける動作周期タイマ１１ａ，１１ｂと、グローバルタイマ１３ａ，１３ｂが示す時間と受信した周期転送パケット６に付加されたタイムスタンプが示す時間とを比較するタイムスタンプ比較部１５ａ，１５ｂとをそれぞれ有する。
【００５８】
図１０は、タイムスタンプを用いたローカルシンクタイミングの同期処理を示すタイミングチャートである。図１０において、コントローラ２のラッチ時間保持部１６は、制御周期タイマ１０によって指定された周期制御の同期（システムシンク）タイミングでグローバルタイマ１３をラッチする。タイムスタンプ付加部１４は、このラッチした時間に制御周期分、オフセットしたタイムスタンプを周期転送パケット６に付加してデバイス３ａ，３ｂに送信する。
【００５９】
デバイス３ａ，３ｂのタイムスタンプ比較部１５ａ，１５ｂは、動作周期タイマ１１ａ，１１ｂが示す同期（ローカルシンク）タイミングで受信した周期転送パケット６に付加されたタイムスタンプが示す（システムシンク）時間と、デバイス３ａ，３ｂのグローバルタイマ１３ａ，１３ｂが示す時間との時間差から、動作周期タイマ１１ａ，１１ｂのタイマ補正値あるいはタイマ周期補正値を求め、動作周期タイマ１１ａ，１１ｂに対してこのタイマ補正値あるいはタイマ周期補正値を設定する。これによって、各デバイス３ａ，３ｂの動作周期タイマ１１ａ，１１ｂは、コントローラ２の制御周期タイマ１０に同期し、コントローラ２の制御部４とデバイス３ａ，３ｂのデバイス動作部５ａ，５ｂとは、周期制御を行う。
【００６０】
コントローラ２の制御周期タイマ１０は、制御周期で周回する単純なカウンタによって実現され、制御周期タイマ１０は、制御部４に周期的に起動をかける。制御周期タイマ１０は、周期制御の基準となり、グローバルタイマ１３，１３ａ，１３ｂ同士の時刻同期によって、グローバルタイマ１３，１３ａ，１３ｂのグローバル時間にぶれが生じても、影響されることなく、制御周期の精度を保つことができる。
【００６１】
また、コントローラ２の制御周期タイマ１０が指定するシステムシンクで、各デバイス３ａ，３ｂの動作周期タイマ１１ａ，１１ｂを同時に同期させることができる。さらに、ラッチ時間保持部１６は、正確なシステムシンク時間を示すタイムスタンプを算出することができる。
【００６２】
また、制御周期タイマ１０のタイマ割込によって簡単にコントローラ２のローカルシンクタイミングを生成することができるので、タイムスタンプ算出と、周期転送パケット６に対するタイムスタンプ書込とがソフトウェアで処理することができる。
【００６３】
さらに、動作周期タイマ１１ａ，１１ｂのタイマ割込によって簡単にデバイス３ａ，３ｂのローカルシンクタイミングを生成することができるので、タイムスタンプとグローバル時間との比較がソフトウェアで処理することができる。
【００６４】
また、ネットワーク１の再構築などによるグローバルタイマ１３，１３ａ，１３ｂのリセットが発生することによってグローバル時間にずれが生じても、コントローラ２とデバイス３ａ，３ｂとの各グローバルタイマ１３，１３ａ，１３ｂが再同期すれば、再同期後のグローバル時間でタイムスタンプが生成されるので、リセット後においても制御周期を保ち、連続した制御を行うことができる。
【００６５】
図１１は、動作周期タイマ１１ａ，１１ｂの周期が制御周期タイマ１０が示す制御周期に比して長いときの動作周期タイマ１１ａ，１１ｂのタイマ補正処理をグローバル時間に対して示したタイミングチャートである。図１１において、タイムスタンプ比較部１５ａ，１５ｂは、動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差から、動作周期タイマ１１ａ，１１ｂのタイマ補正値Ｄ１１を計算し、このタイマ補正値Ｄ１１を動作周期タイマ１１ａ，１１ｂに設定する。これによって、制御周期タイマ１０が示す制御周期と、動作周期タイマ１１ａ，１１ｂのずれを補正し、動作周期を制御周期に一致させることができる。
【００６６】
図１２は、動作周期タイマ１１ａ，１１ｂの周期が制御周期タイマ１０が示す制御周期に比して短いときの動作周期タイマ１１ａ，１１ｂのタイマ補正処理の一例を、グローバル時間に対して示したタイミングチャートである。図１１において、タイムスタンプ比較部１５ａ，１５ｂは、動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差から、制御周期タイマのタイマ補正値Ｄ１２を計算し、このタイマ補正値Ｄ１２を動作周期タイマ１１ａ，１１ｂに設定する。これによって、制御周期タイマ１０が示す制御周期と、動作周期タイマ１１ａ，１１ｂのずれを補正し、動作周期を制御周期に一致させることができる。なお、動作周期タイマ１１ａ，１１ｂの周期が制御周期タイマ１０が示す制御周期に比して短いため、タイマ補正値Ｄ１２は負の値になり、動作周期タイマ１１ａ，１１ｂが周期カウンタによって実現される場合、タイマ値がゼロになったときに同期しないように処理する必要がある。
【００６７】
図１３は、動作周期タイマ１１ａ，１１ｂの周期が制御周期タイマ１０が示す制御周期に比して短いときの動作周期タイマ１１ａ，１１ｂのタイマ補正処理の他の一例を、グローバル時間に対して示したタイミングチャートである。図１１において、タイムスタンプ比較部１５ａ，１５ｂは、動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差から、動作周期タイマ１１ａ，１１ｂのタイマ補正リセットタイマ値Ｄ１３を計算し、動作周期タイマ１１ａ，１１ｂがこのタイマ補正リセットタイマ値に達したとき、動作周期タイマ１１ａ，１１ｂをリセットする。これによって、制御周期タイマ１０が示す制御周期と動作周期タイマ１１ａ，１１ｂとのずれを補正し、動作周期が制御周期に一致する。なお、タイマ補正のためのリセット時に、同期しないように処理する必要がある。
【００６８】
あるいは、タイムスタンプ比較部１５ａ，１５ｂは、動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差から、動作周期タイマ１１ａ，１１ｂのタイマ補正リセット時間ｔ１３を計算し、このタイマ補正リセット時間ｔ１３後に動作周期タイマ１１ａ，１１ｂをリセットする。または、タイマ補正リセット時間ｔ１３、動作周期タイマ１１ａ，１１ｂを停止させる。これによっても、動作周期タイマ１１ａ，１１ｂのずれを補正し、動作周期を制御周期に一致させることができる。
【００６９】
さらに、図１４は、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの周期が、グローバルタイマ１３，１３ａ，１３ｂが示す周期制御の周期に比して長い場合における制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ周期補正処理を、グローバル時間に対して示している。タイムスタンプ比較部１５ａ，１５ｂは、動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差から、動作周期タイマ１１ａ，１１ｂのタイマ周期補正値Ｄ１４を計算し、動作周期タイマ１１ａ，１１ｂのタイマ周期を補正させる。これによって、制御周期タイマ１０が示す制御周期と、動作周期タイマ１１ａ，１１ｂのずれが補正され、動作周期が制御周期に一致する。
【００７０】
また、図１５は、制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂの周期が、グローバルタイマ１３，１３ａ，１３ｂが示す周期制御の周期に比して短い場合における制御周期タイマ１０あるいは動作周期タイマ１１ａ，１１ｂのタイマ周期補正処理を、グローバル時間に対して示している。タイムスタンプ比較部１５ａ，１５ｂは、動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングにおけるグローバルタイマ１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差から、動作周期タイマ１１ａ，１１ｂのタイマ周期補正値Ｄ１５を計算し、動作周期タイマ１１ａ，１１ｂのタイマ周期を補正させる。これによって、制御周期タイマ１０が示す制御周期と、動作周期タイマ１１ａ，１１ｂのずれが補正され、動作周期が制御周期に一致する。
【００７１】
図１１〜図１５に示したタイマ補正処理あるいはタイマ周期補正処理のいずれも、動作周期タイマ１１ａ，１１ｂが示す同期（ローカルシンク）タイミングで、グローバルタイマ１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差が、同期許容範囲Δｔ内にない場合、ネットワーク１の不具合などによるグローバルタイマ１３，１３ａ，１３ｂの不正同期や停止などが生じたものと認識し、動作周期タイマ１１ａ，１１ｂのタイマ補正あるいはタイマ周期補正を行わない。これによって、動作周期タイマ１１ａ，１１ｂは、周期を刻み続けるため、動作周期タイマ１１ａ，１１ｂの突然の停止や暴走を防ぐことができる。
【００７２】
なお、動作周期タイマ１１ａ，１１ｂが示す同期（ローカルシンク）タイミングで、グローバルタイマ１３，１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差が、同期許容範囲Δｔ内に戻らないとき、コントローラ２は、周期制御を中断し、動作周期タイマ１１ａ，１１ｂの同期許容範囲Δｔのチェックを行わない強制同期などを行う。
【００７３】
実施の形態４．
つぎに、この発明の実施の形態４について説明する。図１６は、この発明の実施の形態４である周期制御同期システムの構成を示すブロック図である。図１６において、コントローラ２は、実施の形態３に示したコントローラ２と同じであり、グローバルタイマ１３と、制御部４と、制御部４に周期的に起動をかける制御周期タイマ１０と、任意のタイミングでグローバルタイマ１３をラッチし、このラッチした時間を保持するラッチ時間保持部１６と、制御部４がデバイス３ａ，３ｂに周期的に送信する周期転送パケット６に、グローバルタイマ時間で指定したタイムスタンプを付加するタイムスタンプ付加部１４とを有する。
【００７４】
一方、デバイス３ａ，３ｂは、グローバルタイマ１３ａ，１３ｂと、デバイス動作部５ａ，５ｂと、デバイス動作部５ａ，５ｂに周期的に起動をかける動作周期タイマ１１ａ，１１ｂと、グローバルタイマ１３ａ，１３ｂが示す時間と受信した周期転送パケット６に付加されたタイムスタンプが示す時間とを比較するタイムスタンプ比較部２５ａ，２５ｂとをそれぞれ有する。
【００７５】
図１７は、タイムスタンプを用いたローカルシンクタイミングの同期処理を示すタイミングチャートである。図１７において、コントローラ２のラッチ時間保持部１６は、制御周期タイマ１０によって指定された周期制御の同期（システムシンク）タイミングでグローバルタイマ１３をラッチする。タイムスタンプ付加部１４は、このラッチした時間に制御周期分、オフセットしたタイムスタンプを周期転送パケット６に付加してデバイス３ａ，３ｂに送信する。
【００７６】
デバイス３ａ，３ｂのタイムスタンプ比較部２５ａ，２５ｂは、コントローラ２から受信した周期転送パケット６に付加されたタイムスタンプが示す時間が、デバイス３ａ，３ｂのグローバルタイマ１３ａ，１３ｂが示す時間と同じ、あるいは越えたときに周期制御の同期（システムシンク）タイミングと認識し、デバイス３ａ，３ｂの動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングよりも先にシステムシンクタイミングがきた場合、動作周期タイマ１１ａ，１１ｂをリセットし、デバイス動作部５ａ，５ｂを起動する。この場合、動作周期タイマ１１ａ，１１ｂがリセットされるため、ローカルシンクは発生しない。
【００７７】
また、タイムスタンプ比較部２５ａ，２５ｂは、システムシンクタイミングよりも、デバイス３ａ，３ｂの動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングが先にきた場合、ローカルシンクタイミングで動作周期タイマ１１ａ，１１ｂをリセットし、デバイス動作部５ａ，５ｂを起動する。その後、システムシンクタイミングで、デバイス３ａ，３ｂの動作周期タイマ１１ａ，１１ｂを再度リセットし、動作周期を制御周期に同期させる。２度目のリセット時には、デバイス動作部５ａ，５ｂを起動しない。これによって、各デバイス３ａ，３ｂの動作周期タイマ１１ａ，１１ｂは、コントローラ２の制御周期タイマ１０に同期し、コントローラ２の制御部４とデバイス３ａ，３ｂのデバイス動作部５ａ，５ｂは周期制御を行う。
【００７８】
また、ネットワーク１の再構築などによるグローバルタイマ１３，１３ａ，１３ｂのリセットによってグローバル時間にずれが生じても、コントローラ２とデバイス３ａ，３ｂの各グローバルタイマ１３，１３ａ，１３ｂが再同期すれば、再同期後のグローバル時間でタイムスタンプが生成されるため、リセット後も制御周期が保たれ、連続して制御を行うことができる。
【００７９】
図１８は、システムシンクタイミングがローカルシンクタイミングよりも先にきた場合における動作周期タイマ１１ａ，１１ｂのリセット処理をグローバル時間に対して示したタイミングチャートである。図１８において、タイムスタンプ比較部２５ａ，２５ｂは、受信した周期転送パケット６に付加されたタイムスタンプが示す時間に、デバイス３ａ，３ｂのグローバルタイマ１３ａ，１３ｂが示す時間が達したときに周期制御の同期（システムシンク）タイミングと認識し、動作周期タイマ１１ａ，１１ｂをリセットする。これによって、動作周期を制御周期に一致させる。この場合、システムシンクによって動作周期タイマ１１ａ，１１ｂをリセットするので、動作周期を制御周期に一致させる際に遅れが生じない。
【００８０】
図１９は、ローカルシンクタイミングがシステムシンクタイミングよりも先にきた場合の動作周期タイマ１１ａ，１１ｂのリセット処理の一例を、グローバル時間に対して示したタイミングチャートである。図１９において、タイムスタンプ比較部２５ａ，２５ｂは、動作周期タイマ１１ａ，１１ｂをリセットし、デバイス動作部５ａ，５ｂを起動する。その後、システムシンクタイミングで、デバイス３ａ，３ｂの動作周期タイマ１１ａ，１１ｂを再度リセットし、動作周期を制御周期に同期させる。なお、周期転送パケット６の送受信エラーなどによって、タイムスタンプが得られないときでも、動作周期タイマ１１ａ，１１ｂが示す同期（ローカルシンク）タイミングで、動作周期タイマ１１ａ，１１ｂがリセットされ、動作周期が安定して持続される。また、コントローラ２の不具合によって、タイムスタンプが異常に遅くなったときに、誤った周期同期（システムシンク）を行うことがなくなる。
【００８１】
図１８および図１９のいずれも、デバイス３ａ，３ｂは、受信した周期転送パケット６に付加されたタイムスタンプが示す時間と、動作周期タイマ１１ａ，１１ｂが示す同期（ローカルシンク）時間でのグローバル時間との時間差が、同期許容範囲Δｔ内にない場合、ネットワーク１の不具合などによるグローバルタイマ１３，１３ａ，１３ｂの不正同期や停止などが生じたものと認識し、動作周期タイマ１１ａ，１１ｂの補正を行わない。これによって、動作周期タイマ１１ａ，１１ｂは、周期を刻み続けるため、動作周期タイマ１１ａ，１１ｂの突然の停止や暴走を防ぐことができる。
【００８２】
なお、動作周期タイマ１１ａ，１１ｂが示す同期（ローカルシンク）タイミングで、グローバルタイマ１３，１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差が、同期許容範囲Δｔ内に戻らないとき、コントローラ２は、周期制御を中断し、動作周期タイマ１１ａ，１１ｂの同期許容範囲Δｔのチェックを行わない強制同期などを行う。
【００８３】
図２０は、動作周期タイマ１１ａ，１１ｂのタイマ周期を補正する処理を示すタイミングチャートである。図２０において、タイムスタンプ比較部２５ａ，２５ｂは、動作周期タイマ１１ａ，１１ｂが示すローカルシンクがタイムスタンプが示すシステムシンクよりも早い場合、動作周期タイマ１１ａ，１１ｂのローカルシンクタイミングでのグローバルタイマ１３ａ，１３ｂのグローバル時間と、受信した周期転送パケット６に付加されたタイムスタンプが示す同期（システムシンク）時間との時間差から、動作周期タイマ１１ａ，１１ｂのタイマ周期補正値を計算し、動作周期タイマ１１ａ，１１ｂのタイマ周期を補正する。
【００８４】
また、動作周期タイマ１１ａ，１１ｂが示すローカルシンクがタイムスタンプが示すシステムシンクよりも遅い場合、動作周期タイマ１１ａ，１１ｂはリセットされ、直前の値を用いて動作周期タイマ１１ａ，１１ｂのタイマ周期補正値を計算し、動作周期タイマ１１ａ，１１ｂのタイマ周期を補正し、動作周期タイマ１１ａ，１１ｂのタイマ周期を制御周期に追従させる。
【００８５】
実施の形態５．
つぎに、この発明の実施の形態５について説明する。図２１は、この発明の実施の形態５である周期制御同期システムの構成を示すブロック図である。図２１において、コントローラ２は、複数の系統Ａ，Ｂのネットワーク１Ａ，１Ｂに接続される。系統Ａのネットワーク１Ａには、デバイス３ａが接続され、系統Ｂのネットワーク１Ｂには、デバイス３ｂが接続される。
【００８６】
コントローラ２は、系統Ａ，Ｂのグローバルタイマ１３Ａ，１３Ｂと、任意のタイミングで系統Ａ，Ｂのグローバルタイマ１３Ａ，１３Ｂをラッチし、ラッチした時間を保持するラッチ時間保持部１６Ａ，１６Ｂとをそれぞれ有するとともに、制御部４と、制御部４に周期的に起動をかける制御周期タイマ１０と、系統Ａ，Ｂのデバイス３ａ，３ｂにそれぞれ周期的に送信する周期転送パケット６Ａ，６Ｂにグローバルタイマ時間で指定したタイムスタンプを付加するタイムスタンプ付加部１４とを有する。
【００８７】
デバイス３ａ，３ｂは、実施の形態３と同じように、グローバルタイマ１３ａ，１３ｂと、デバイス動作部５ａ，５ｂと、デバイス動作部５ａ，５ｂに周期的に起動をかける動作周期タイマ１１ａ，１１ｂと、グローバルタイマ１３ａ，１３ｂが示す時間と受信した周期転送パケット６Ａ，６Ｂに付加されたタイムスタンプが示す時間とを比較するタイムスタンプ比較部１５ａ，１５ｂとを有する。
【００８８】
コントローラ２は、制御周期タイマ１０によって指定された周期制御の同期（システムシンク）タイミングで、系統Ａのラッチ時間保持部１６Ａがグローバルタイマ１３Ａをラッチし、系統Ｂのラッチ時間保持部１６Ｂがグローバルタイマ１３Ｂをラッチする。タイムスタンプ付加部１４は、系統Ａのラッチした時間に制御周期分、オフセットしたタイムスタンプを周期転送パケット６Ａに付加してデバイス３ａに送信し、系統Ｂのラッチした時間に制御周期分、オフセットしたタイムスタンプを周期転送パケット６Ｂに付加してデバイス３ｂに送信する（図２２参照）。
【００８９】
デバイス３ａは、動作周期タイマ１１ａが示す同期（ローカルシンク）タイミングで、受信した周期転送パケット６Ａに付加されたタイムスタンプが示す同期（システムシンク）時間とグローバルタイマ１３ａが示す時間との時間差から、動作周期タイマ１１ａのタイマ補正値あるいはタイマ周期補正値を求め、動作周期タイマ１１ａに、このタイマ補正値あるいはタイマ周期補正値を設定する。同じように、デバイス３ｂは、動作周期タイマ１１ｂが示す同期（ローカルシンク）タイミングで、受信した周期転送パケット６Ｂに付加されたタイムスタンプが示す同期（システムシンク）時間とグローバルタイマ１３ｂが示す時間との時間差から、動作周期タイマ１１ｂのタイマ補正値あるいはタイマ周期補正値を求め、動作周期タイマ１１ｂに、このタイマ補正値あるいはタイマ周期補正値を設定する。これによって、コントローラ２の制御周期タイマ１０に、系統Ａのデバイス３ａの動作周期タイマ１１ａと系統Ｂのデバイス３ｂの動作周期タイマ１１ｂとが同期し、コントローラ２の制御部４と系統Ａ，Ｂのデバイス１３ａ，１３ｂとは周期制御される。
【００９０】
また、系統Ａ，Ｂのラッチ時間保持部１６Ａ，１６Ｂを独立して持つことによって、系統Ａ，Ｂ毎の正確なシステムシンク時間を示すタイムスタンプを算出することができる。さらに、系統Ａ，Ｂのネットワーク１Ａ，１Ｂの再構築などによるグローバルタイマ１３Ａ，１３Ｂのリセットがあって、系統Ａ，Ｂ間にグローバル時間にずれが生じても、システムシンクのタイミングで系統Ａ，Ｂ毎に、グローバル時間がラッチされるので、異なる系統Ａ，Ｂのデバイス３ａ，３ｂに対しても同期をとり続けることができるので、リセット後も制御同期を保持し、連続した制御を行うことができる。
【００９１】
【発明の効果】
以上説明したように、この発明によれば、ネットワークに接続された１以上のコントローラおよび前記ネットワークに接続された１以上のデバイスは、前記ネットワークを介して制御されるグローバルタイマが示すグローバル時間を用いて、コントローラとデバイスとの間の周期制御の同期タイミングを生成して該周期制御の同期をとり、画一的に転送される周期パケットの周期転送タイミングによって周期制御の同期をとらなくてもよく、周期パケットの周期転送速度が周期制御の同期精度に影響しないようにしているので、周期制御の同期制御を保ったまま、大きなサイズのパケット転送や、スレーブであるデバイス同士の非同期通信などを行え、柔軟な通信が可能になるという効果を奏する。また、前記デバイスの補正手段が、動作周期タイマが示す同期タイミング時に、当該デバイスのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該動作周期タイマを補正するようにしているので、デバイス動作機能に都合の良いタイミングで動作周期タイマを更新することができ、任意のタイミングで生じるグローバルタイマ同士の時刻同期による時間のずれの影響を受けず、動作周期タイマを用いた時間指定の精度を保つことができるという効果を奏する。
【００９２】
つぎの発明によれば、前記コントローラの送信手段が、マスタグローバルタイマが示すグローバル時間を用いた同期タイミング時間を周期転送パケットとしてデバイスに送信し、デバイスの周期制御手段が、前記送信手段が送信した周期転送パケットの同期タイミング時間とスレーブグローバルタイマが示すグローバル時間とを用いて周期制御を行うようにしているので、コントローラの制御周期は、グローバルタイマの同期による時間のずれの影響がなく、制御周期タイマを用いた時間指定の精度を保つことができるとともに、コントローラは、全てのデバイスのグローバルタイマの同期タイミングを指定できるため、デバイスのデバイス動作機能に都合のよいタイミングで、デバイスのグローバルタイマを同期することができ、時間指定の精度を保つことができるという効果を奏する。
【００９４】
つぎの発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うようにしているので、ネットワークの不具合などによるグローバルタイマの不正同期や停止などがあっても、動作周期タイマは動作周期を刻み続けるため、動作周期タイマの突然の停止や暴走を防ぐことができるという効果を奏する。
【００９５】
つぎの発明によれば、前記コントローラの補正手段が、制御周期タイマが示す同期タイミング時に、当該コントローラのグローバルタイマが示すグローバル時間と前記コントローラが示す同期タイミング時間との時間差を求め、この求めた時間差をもとに前記制御周期タイマのタイマ補正値あるいはタイマ周期補正値を求めて該制御周期タイマを補正するようにしているので、コントローラの制御機能に都合の良いタイミングで制御周期タイマを更新することができ、任意のタイミングで生じるグローバルタイマ同士の時刻同期による時間のずれの影響を受けず、制御周期タイマを用いた時間指定の精度を保つことができるという効果を奏する。
【００９６】
つぎの発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記制御周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記制御周期タイマを補正しない制御を行うようにしているので、ネットワークの不具合などによるグローバルタイマの不正同期や停止などがあっても、制御周期タイマは制御周期を刻み続けるため、制御周期タイマの突然の停止や暴走を防ぐことができるという効果を奏する。
【００９７】
つぎの発明によれば、コントローラのタイムスタンプ付加手段が、第１のグローバルタイマが示すグローバル時間を用いて制御周期タイマが指定した周期制御の同期タイミングを示すタイムスタンプを周期転送パケットに付加し、送信手段が、前記タイムスタンプが付加された前記周期転送パケットを前記デバイスに送信し、前記デバイスの周期制御手段が、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させるようにしているので、グローバルタイマの構造や精度に関係のないタイマを用いることができ、グローバルタイマ同士の時刻同期による時間のずれに影響されず、制御周期の精度を保つことができるとともに、コントローラの都合の良いタイミングでシステム全体の動作周期タイマを同時に同期させることができるという効果を奏する。
【００９８】
つぎの発明によれば、前記制御周期タイマが、当該制御周期タイマが指定した周期制御の同期タイミング時に、ラッチ手段に前記第１のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段が、前記ラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加するようにしているので、正確な周期制御の同期時間を示すタイムスタンプを算出することができ、このタイムスタンプの算出と、パケットに対するタイムスタンプの書込をソフトウェアによって簡単に処理することができるという効果を奏する。
【００９９】
つぎの発明によれば、デバイスの補正手段が、動作周期タイマが示す同期タイミング時に、記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差を求め、この時間差をもとに前記動作周期タイマのタイマ補正値あるいはタイマ周期補正値を求め、前記動作周期タイマを補正するようにしているので、タイムスタンプとグローバルタイマとの比較タイミングが決まっているので、比較手段の構成が容易となり、特にソフトウェアによる構成が可能になるとともに、ネットワークなどの再構築などによってグローバルタイマのリセットに影響されず、リセット後も制御周期を保ち、連続して制御を続けることができるという効果を奏する。
【０１００】
つぎの発明によれば、検出手段が、前記時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内である場合、前記タイマ補正値あるいは前記タイマ周期補正値をもとに前記動作周期タイマを補正し、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うようにしているので、コントローラの不具合によって、タイムスタンプが示す時間と動作周期タイマが示す時間とが大幅に異なったときに、誤った周期制御に同期しないという効果を奏する。
【０１０１】
つぎの発明によれば、比較手段が、前記送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間とを比較し、補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第２のグローバルタイマが示すグローバル時間が達したとき、前記動作周期タイマをリセットするようにしているので、ネットワークの不具合などによるグローバルタイマのリセットに影響されず、リセット後も制御周期を保ち、連続して制御を続けることができるという効果を奏する。
【０１０２】
つぎの発明によれば、前記補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時間に前記第２のグローバルタイマが示すグローバル時間が達するまでに、前記動作周期タイマが示す同期タイミングに達した場合に該動作周期タイマをリセットし、その後前記タイムスタンプが示す周期制御の同期タイミング時間が前記第２のグローバルタイマが示すグローバル時間と同一または越えた場合に、再び前記動作周期タイマをリセットするようにしているので、周期転送パケットの送受信エラーなどによってタイムスタンプが得られない場合であっても、動作周期タイマが示す同期タイミングで動作周期タイマがリセットされ、動作周期が安定して持続されるとともに、コントローラの不具合によってタイムスタンプが異常に遅くなった場合でも、誤った周期制御に同期しないようにすることができるという効果を奏する。
【０１０３】
つぎの発明によれば、検出手段が、前記動作周期タイマが示す同期タイミング時に前記比較手段が比較した前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差が所定の許容範囲内であるか否かを検出し、補正手段が、前記時間差が所定の許容範囲内でない場合、前記動作周期タイマを補正しない制御を行うようにしているので、コントローラの不具合によってタイムスタンプが示す時間と動作周期タイマが示す時間とが大幅に異なる場合であっても、誤った周期制御に同期しないという効果を奏する。
【０１０４】
つぎの発明によれば、前記補正手段が、前記タイムスタンプが示す周期制御の同期タイミング時における前記動作周期タイマの値を求めて該動作周期タイマのタイマ周期補正値を求め、あるいは動作周期タイマが示す同期タイミング時において、前記タイムスタンプが示す周期制御の同期タイミング時間と前記第２のグローバルタイマが示すグローバル時間との時間差から前記動作周期タイマのタイマ周期補正値を求め、該タイマ周期補正値をもとに前記動作周期タイマを補正するようにしているので、デバイスの動作周期がコントローラの制御周期に精度良く同期するという効果を奏する。
【０１０５】
つぎの発明によれば、コントローラのタイムスタンプ付加手段が、前記第１および第２のネットワークに周期的に送信される周期転送パケットに、前記制御周期タイマによって指定された前記周期制御の同期タイミングを示すタイムスタンプを第１および第２のグローバルタイマが示すグローバル時間を用いてそれぞれ付加し、第１および第２の送信手段が、前記タイムスタンプが付加された周期転送パケットを、対応する第１および第２のネットワークに接続された１以上のデバイスにそれぞれ送信し、前記第１および第２のネットワークに接続された１以上のデバイスの周期制御手段が、前記第１および第２の送信手段が送信した周期転送パケットのタイムスタンプが示す周期制御の同期タイミング時間と前記第３のグローバルタイマが示すグローバル時間とを用いて当該デバイスの動作周期を前記制御周期に同期させるようにしているので、各ネットワークに接続された１以上のデバイスの動作周期は、複数のネットワークに接続されたコントローラの制御周期に同期させることができるという効果を奏する。
【０１０６】
つぎの発明によれば、コントローラの制御周期タイマが、当該制御周期タイマが指定した周期制御の同期タイミング時に、前記第１および第１のラッチ手段に前記第１および第２のグローバルタイマのグローバル時間をラッチさせ、前記タイムスタンプ付加手段が、前記第１および第２のラッチ手段がラッチしたグローバル時間に制御周期分オフセットしたタイムスタンプを前記周期転送パケットに付加するようにしているので、正確な周期制御の同期タイミング時間を示すタイムスタンプを算出することができるとともに、このタイムスタンプの算出と、パケットに対するタイムスタンプの書込とが、ソフトウェアで簡単に処理することができるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の実施の形態１である周期制御同期システムの概要構成を示すブロック図である。
【図２】  図１に示したコントローラにマスタグローバルタイマが設定された場合のコントローラとデバイスとの周期制御関係を示すブロック図である。
【図３】  この発明の実施の形態２である周期制御同期システムの構成を示すブロック図である。
【図４】  図３に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して長い場合におけるタイマ補正処理を示すタイミングチャートである。
【図５】  図３に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して短い場合におけるタイマ補正処理を示すタイミングチャートである。
【図６】  図３に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して短い場合における他のタイマ補正処理を示すタイミングチャートである。
【図７】  図３に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して長い場合におけるタイマ周期補正処理を示すタイミングチャートである。
【図８】  図３に示した制御周期タイマあるいは動作周期タイマの周期が周期制御の周期に比して短い場合におけるタイマ周期補正処理を示すタイミングチャートである。
【図９】  この発明の実施の形態３である周期制御同期システムの構成を示すブロック図である。
【図１０】  タイムスタンプを用いたローカルシンクタイミングの同期処理を示すタイミングチャートである。
【図１１】  図１０に示した動作周期タイマの周期が制御周期に比して長い場合のタイマ補正処理を示すタイミングチャートである。
【図１２】  図１０に示した動作周期タイマの周期が制御周期に比して短い場合のタイマ補正処理を示すタイミングチャートである。
【図１３】  図１０に示した動作周期タイマの周期が制御周期に比して短い場合の他のタイマ補正処理を示すタイミングチャートである。
【図１４】  図１０に示した制御周期タイマまたは動作周期タイマの周期が周期制御の周期に比して長い場合のタイマ周期補正処理を示すタイミングチャートである。
【図１５】  図１０に示した制御周期タイマまたは動作周期タイマの周期が周期制御の周期に比して短い場合のタイマ周期補正処理を示すタイミングチャートである。
【図１６】  この発明の実施の形態４である周期制御同期システムの構成を示すブロック図である。
【図１７】  タイムスタンプを用いたシステムシンクタイミングの同期処理を示すタイミングチャートである。
【図１８】  システムシンクタイミングがローカルシンクタイミングより先である場合の同期処理を示すタイミングチャートである。
【図１９】  ローカルシンクタイミングがシステムシンクタイミングより先である場合の同期処理を示すタイミングチャートである。
【図２０】  タイマ周期補正処理を示すタイミングチャートである。
【図２１】  この発明の実施の形態５である周期制御同期システムの構成を示すブロック図である。
【図２２】  タイムスタンプを用いた多系統の周期制御の同期処理を示すタイミングチャートである。
【図２３】  ＳＥＲＣＯＳインターフェースを用いた従来の周期制御同期システムの構成を示す図である。
【符号の説明】
１  ネットワーク、２，２ａ，２ｂ  コントローラ、３ａ〜３ｄ  デバイス、４，４ａ，４ｂ  制御部、５ａ〜５ｄ  デバイス動作部、６，６ａ，６ｂ，６ＡＡ，６Ｂ  周期転送パケット、７，８ａ，８ｂ，１３，１３ａ，１３ｂ，１３Ａ，１３Ｂ  グローバルタイマ、９  グローバルタイマ同期パケット、１０  制御周期タイマ、１１ａ，１１ｂ  動作周期タイマ、１２，１２ａ，１２ｂ  タイマ同期部、１４  タイムスタンプ付加部、１５ａ，１５ｂ，２５ａ，２５ｂ  タイムスタンプ比較部、１６，１６Ａ，１６Ｂ  ラッチ時間保持部。
【図１】
0003748204.tif 000002
【図２】
0003748204.tif 000003
【図３】
0003748204.tif 000004
【図４】
0003748204.tif 000005
【図５】
0003748204.tif 000006
【図６】
0003748204.tif 000007
【図７】
0003748204.tif 000008
【図８】
0003748204.tif 000009
【図９】
0003748204.tif 000010
【図１０】
0003748204.tif 000011
【図１１】
0003748204.tif 000012
【図１２】
0003748204.tif 000013
【図１３】
0003748204.tif 000014
【図１４】
0003748204.tif 000015
【図１５】
0003748204.tif 000016
【図１６】
0003748204.tif 000017
【図１７】
0003748204.tif 000018
【図１８】
0003748204.tif 000019
【図１９】
0003748204.tif 000020
【図２０】
0003748204.tif 000021
【図２１】
0003748204.tif 000022
【図２２】
0003748204.tif 000023
【図２３】
0003748204.tif 000024