(57)【要約】【課題】上位制御装置及び下位制御装置などの複数制御部間の通信時に発生する通信遅延時間を補償しリアルタイム制御が可能な制御システムを提供すること。【解決手段】この発明の制御システムは、第１のタイマによりカウントされる送信時刻を含むコマンドを送信する第１の制御手段（１０１）と、前記第１の制御手段から送信される前記コマンドを受信し、このコマンドに含まれる前記送信時刻と前記第１のタイマに同期した第２のタイマによりカウントされる前記コマンドの受信時刻とを比較して送受信の遅延時間を検出し、この遅延時間に基づき前記コマンドにより指定される制御を補正し、前記受信時刻に対応した補正制御を実行する第２の制御ユニット（１０４）とを備えている。【選択図】      図６
2005269879.tif 000002
【特許請求の範囲】
【請求項１】
第１のタイマによりカウントされる送信時刻を含むコマンドを送信する制御手段と、
前記制御手段から送信される前記コマンドを受信し、このコマンドに含まれる前記送信時刻と前記第１のタイマに同期した第２のタイマによりカウントされる前記コマンドの受信時刻とを比較して送受信の遅延時間を検出する遅延時間検出手段と、この遅延時間検出手段により検出された遅延時間に基づき前記コマンドにより指定される制御内容を補正する補正手段と、この補正手段により補正された制御内容を実行する実行手段とを有する制御ユニットと、
を備えたことを特徴とする制御システム。
【請求項２】
第１のタイマによりカウントされる送信時刻を含み且つ複数の制御パラメータを含むコマンドを送信する制御手段と、
前記制御手段から送信される前記コマンドを受信し、このコマンドに含まれる前記送信時刻と前記第１のタイマに同期した第２のタイマによりカウントされる前記コマンドの受信時刻とを比較して送受信の遅延時間を検出する遅延時間検出手段と、この遅延時間検出手段により検出された遅延時間に基づき前記コマンドに含まれる複数の制御パラメータのうちのいくつかの制御パラメータを補正する補正手段と、この補正手段により補正された制御パラメータを含む全ての制御パラメータに基づいて制御を実行する実行手段とを有する制御ユニットと、
を備えたことを特徴とする制御システム。
【請求項３】
第１のタイマによりカウントされる送信時刻を含み且つ初速度、加速度、等速時間、減速度、及び終速度を制御する複数の制御パラメータを含むモータ制御コマンドを送信する制御手段と、
前記制御手段から送信される前記モータ制御コマンドを受信し、このモータ制御コマンドに含まれる前記送信時刻と前記第１のタイマに同期した第２のタイマによりカウントされる前記モータ制御コマンドの受信時刻とを比較して送受信の遅延時間を検出する遅延時間検出手段と、この遅延時間検出手段により検出された遅延時間に基づき前記モータ制御コマンドに含まれる加速度及び等速時間の制御パラメータを補正する補正手段と、この補正手段により補正された補正後の前記複数の制御パラメータにより定義される速度と時間の関係を示す台形面積と補正前の前記複数の制御パラメータにより定義される速度と時間の関係を示す台形面積とを一致させ、補正された加速度及び等速時間の制御パラメータを含む全ての制御パラメータに基づいて制御を実行する実行手段とを有する制御ユニットと、
を備えたことを特徴とする制御システム。
【請求項４】
第１のタイマによりカウントされる検出時刻を含み且つこの検出時刻に検出された検出データを含む送信データを送信する制御ユニットと、
前記制御ユニットから送信される前記送信データを受信し、この送信データに含まれる前記検出時刻と前記第１のタイマに同期した第２のタイマのタイマによりカウントされる前記送信データの受信時刻とを比較して検出から受信までの遅延時間を検出する遅延時間検出手段と、この遅延時間検出手段により検出された遅延時間に基づいて前記送信データに含まれる前記検出データを補正する補正手段とを有する制御手段と、
を備えたことを特徴とする制御システム。
【請求項５】
第１のタイマによりカウントされる検出時刻を含み且つこの検出時刻に検出された検出データを含む送信データを送信する制御ユニットと、
前記制御ユニットから送信される前記送信データを受信し、この送信データに含まれる前記検出時刻と前記第１のタイマに同期した第２のタイマによりカウントされる前記送信データの受信時刻とを比較して検出から受信までの遅延時間を検出する遅延時間検出手段と、この遅延時間検出手段により検出された遅延時間及び時間あたりの前記検出データの変化量を示すデータに基づいて前記送信データに含まれる前記検出データの前記受信時刻における変化量を推定し、推定された変化量を前記送信データに含まれる前記検出データへ反映して検出データを補正する補正手段とを有する制御手段と、
を備えたことを特徴とする制御システム。
【請求項６】
第１のタイマによりカウントされる検出時刻を含み且つこの検出時刻に検出されたアクチュエータの変位量を示す検出データを含む送信データを送信する第１の制御手段と、
前記第１の制御手段から送信される前記送信データを受信し、この送信データに含まれる前記検出時刻と前記第１のタイマに同期した第２のタイマによりカウントされる前記送信データの受信時刻とを比較して検出から受信までの遅延時間を検出し、この遅延時間及び時間あたりの前記アクチュエータの変位量を示すデータに基づき前記送信データに含まれる前記検出データの前記受信時刻における変位量を推定し、推定された変位量を前記送信データに含まれる前記検出データへ加えて、前記受信時刻に対応した検出データへ補正する第２の制御手段と、
を備えたことを特徴とする制御システム。
【請求項７】
アクチュエータ制御コマンドを送信する第１の制御部と、
前記第１の制御部とシリアル通信接続され、前記第１の制御部から送信される前記アクチュエータ制御コマンドに基づきアクチュエータを制御する第２の制御部と、
を備え、
前記第１の制御部は、第１のタイマを有し、この第１のタイマによりカウントされる送信時刻を含み且つ初速度、加速度、等速時間、減速度、及び終速度を制御する複数の制御パラメータを含む前記アクチュエータ制御コマンドを前記第２の制御部へ送信し、
前記第２の制御部は、前記第１のタイマに同期した第２のタイマを有し、前記第１の制御部から送信される前記アクチュエータ制御コマンドを受信し、このアクチュエータ制御コマンドに含まれる前記送信時刻と前記第２のタイマによりカウントされる前記アクチュエータ制御コマンドの受信時刻とを比較して送受信の遅延時間を検出し、この遅延時間に基づき前記アクチュエータ制御コマンドに含まれる加速度及び等速時間の制御パラメータを補正し、補正後の前記複数の制御パラメータにより定義される速度と時間の関係を示す台形面積と補正前の前記複数の制御パラメータにより定義される速度と時間の関係を示す台形面積とを一致させ、補正された加速度及び等速時間の制御パラメータを含む全ての制御パラメータに基づき前記受信時刻に対応した補正制御により前記アクチュエータを制御し、さらに前記第２のタイマによりカウントされる検出時刻を含み且つこの検出時刻に検出された前記アクチュエータの変位量を示す検出データを含む送信データを前記第１の制御部へ送信し、
前記第１の制御部は、前記第２の制御部から送信される前記送信データを受信し、この送信データに含まれる前記検出時刻と前記第１のタイマによりカウントされる前記送信データの受信時刻とを比較して検出から受信までの遅延時間を検出し、この遅延時間及び時間あたりの前記アクチュエータの変位量を示すデータに基づき前記送信データに含まれる前記検出データの前記受信時刻における変位量を推定し、推定された変位量を前記送信データに含まれる前記検出データへ加えて、前記受信時刻に対応した検出データへ補正する、
ことを特徴とする制御システム。
【請求項８】
動作開始時刻を含むコマンドを送信する制御手段と、
前記制御手段から送信される前記コマンドを受信し、このコマンドに基づく動作を実行する複数の制御ユニットとを備え、
前記制御ユニットの各々は、前記コマンドに含まれる前記動作開始時刻に到達したタイミングで前記コマンドにより指定される制御内容を実行する、
ことを特徴とする制御システム。
【請求項９】
動作開始時刻を含む第１及び第２のコマンドを送信する制御手段と、
前記制御手段から送信される前記第１のコマンドを受信し、この第１のコマンドに基づく動作を実行する第１の制御ユニットと、
前記制御手段から送信される前記第２のコマンドを受信し、この第２のコマンドに基づく動作を実行する第２の制御ユニットとを備え、
前記第１の制御ユニットは、第１のタイマに基づき前記第１のコマンドに含まれる前記動作開始時刻に到達したタイミングで前記第１のコマンドにより指定される第１の制御内容を実行し、
前記第２の制御ユニットは、前記第１のタイマに同期した第２のタイマに基づき前記第２のコマンドに含まれる前記動作開始時刻に到達したタイミングで前記第２のコマンドにより指定される第２の制御内容を実行する、
ことを特徴とする制御システム。
【請求項１０】
物理特性の変化を検知し、検知結果を通知する第１の制御ユニットと、
前記検知結果を受信し、第１のタイマのカウント時刻に基づき設定される動作開始時刻を含む第１及び第２のコマンドを送信する制御手段と、
前記制御手段から送信される前記第１のコマンドを受信し、この第１のコマンドに基づく動作を実行する第２の制御ユニットと、
前記制御手段から送信される前記第２のコマンドを受信し、この第２のコマンドに基づく動作を実行する第３の制御ユニットとを備え、
前記第２の制御ユニットは、前記第１のタイマに同期した第２のタイマに基づき前記第１のコマンドに含まれる前記動作開始時刻に到達したタイミングで前記第１のコマンドにより指定される第１の制御内容を実行し、
前記第３の制御ユニットは、前記第１及び第２のタイマに同期した第３のタイマに基づき前記第２のコマンドに含まれる前記動作開始時刻に到達したタイミングで前記第２のコマンドにより指定される第２の制御内容を実行する、
ことを特徴とする制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、多数のモータやセンサを含むユニット部、及びこのユニット部内のこれらモータやセンサを制御する制御コマンドを送信する主制御部により構成される制御システムに関する。
【背景技術】
【０００２】
制御システムの一例として、紙葉類などの媒体を搬送する媒体搬送装置が知られている。媒体搬送装置は、媒体の分離や移動のための多数のパルスモータやアクチュエータを備えた複数のユニット部（搬送部、取込部、集積部）、及びこれらユニット部内のパスルモータやアクチュエータの動作を制御する制御コマンドを発行する主制御部により構成されている（特許文献１参照）。
【特許文献１】特開２００１−１４５３９２
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば、上位ＣＰＵから制御コマンドの設定要求を受けた主制御部（上位制御装置）は、ユニット部に対して制御コマンドを送信する。これにより、ユニット部（下位制御装置）で制御コマンドに対応した動作が実行される。
【０００４】
ところが、主制御部とユニット部の間の通信では、遅延時間が発生することが知られており、この遅延時間は通信負荷に依存して変動する。このため、適当な遅延時間を規定することができず、リアルタイム制御を行なうことができないという問題があった。
【０００５】
また、主制御部が、複数台のユニット部に対して制御コマンドを送信し、これら複数台のユニット部を制御する場合には、遅延時間の影響からこれら複数台のユニット部の同期制御が難しいという問題があった。
【０００６】
本発明の目的は、上記課題を解決するためになされたものであり、上位制御装置及び下位制御装置などの複数制御部間の通信時に発生する通信遅延時間を補償し、リアルタイム制御が可能な制御システムを提供することにある。また、本発明の目的は、上位制御装置及び下位制御装置などの複数制御部間の通信時に発生する通信遅延時間の影響を受けることなく、複数台の下位制御装置の同期制御が可能な制御システムを提供することにある。
【課題を解決するための手段】
【０００７】
この発明の制御システムは、以下のように構成されている。
【０００８】
（１）この発明の制御システムは、第１のタイマによりカウントされる送信時刻を含むコマンドを送信する制御手段と、前記制御手段から送信される前記コマンドを受信し、このコマンドに含まれる前記送信時刻と前記第１のタイマに同期した第２のタイマによりカウントされる前記コマンドの受信時刻とを比較して送受信の遅延時間を検出し、この遅延時間に基づいて前記コマンドにより指定される制御内容を補正し、補正された制御内容を実行する制御ユニットとを備えている。
【０００９】
（２）この発明の制御システムは、第１のタイマによりカウントされる検出時刻を含み且つこの検出時刻に検出された検出データを含む送信データを送信する制御ユニットと、前記制御ユニットから送信される前記送信データを受信し、この送信データに含まれる前記検出時刻と前記第１のタイマに同期した第２のタイマによりカウントされる前記送信データの受信時刻とを比較して検出から受信までの遅延時間を検出し、この遅延時間に基づいて前記送信データに含まれる前記検出データを補正する制御手段とを備えている。
【００１０】
（３）この発明の制御システムは、アクチュエータ制御コマンドを送信する第１の制御部と、前記第１の制御部とシリアル通信接続され、前記第１の制御部から送信される前記アクチュエータ制御コマンドに基づきアクチュエータを制御する第２の制御部とを備え、前記第１の制御部は、第１のタイマを有し、この第１のタイマによりカウントされる送信時刻を含み且つ初速度、加速度、等速時間、減速度、及び終速度を制御する複数の制御パラメータを含む前記アクチュエータ制御コマンドを前記第２の制御部へ送信し、前記第２の制御部は、前記第１のタイマに同期した第２のタイマを有し、前記第１の制御部から送信される前記アクチュエータ制御コマンドを受信し、このアクチュエータ制御コマンドに含まれる前記送信時刻と前記第２のタイマによりカウントされる前記アクチュエータ制御コマンドの受信時刻とを比較して送受信の遅延時間を検出し、この遅延時間に基づき前記アクチュエータ制御コマンドに含まれる加速度及び等速時間の制御パラメータを補正し、補正後の前記複数の制御パラメータにより定義される速度と時間の関係を示す台形面積と補正前の前記複数の制御パラメータにより定義される速度と時間の関係を示す台形面積とを一致させ、補正された加速度及び等速時間の制御パラメータを含む全ての制御パラメータに基づき前記受信時刻に対応した補正制御により前記アクチュエータを制御し、さらに前記第２のタイマによりカウントされる検出時刻を含み且つこの検出時刻に検出された前記アクチュエータの変位量を示す検出データを含む送信データを前記第１の制御部へ送信し、前記第１の制御部は、前記第２の制御部から送信される前記送信データを受信し、この送信データに含まれる前記検出時刻と前記第１のタイマによりカウントされる前記送信データの受信時刻とを比較して検出から受信までの遅延時間を検出し、この遅延時間及び時間あたりの前記アクチュエータの変位量を示すデータに基づき前記送信データに含まれる前記検出データの前記受信時刻における変位量を推定し、推定された変位量を前記送信データに含まれる前記検出データへ加えて、前記受信時刻に対応した検出データへ補正する。
【００１１】
（４）この発明の制御システムは、動作開始時刻を含むコマンドを送信する制御手段と、前記制御手段から送信される前記コマンドを受信し、このコマンドに基づく動作を実行する複数の制御ユニットとを備え、前記制御ユニットの各々は、前記コマンドに含まれる前記動作開始時刻に到達したタイミングで前記コマンドにより指定される制御内容を実行する。
【発明の効果】
【００１２】
本発明によれば、上位制御装置及び下位制御装置などの複数制御部間の通信時に発生する通信遅延時間を補償し、リアルタイム制御が可能な制御システムを提供できる。また、本発明によれば、上位制御装置及び下位制御装置などの複数制御部間の通信時に発生する通信遅延時間の影響を受けることなく、複数台の下位制御装置の同期制御が可能な制御システムを提供できる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照し、本発明の実施形態について説明する。  
図１は、この発明の一例の制御システムの概略構成を示す図である。図１に示すように、制御システムは、主制御部１００Ａ及びユニット部１００Ｂを備えている。主制御部１００Ａは、コントロール用上位ＣＰＵ１０１、及び通信マスタ側ＣＰＵ１０２を備えており、コントロール用上位ＣＰＵ１０１は、通信マスタ側ＣＰＵ１０２に対して各種指示を出す。一方のユニット部１００Ｂは、複数のスレーブ側ＣＰＵ１０４（ＣＰＵ＃１、ＣＰＵ＃２、…、ＣＰＵ＃ｎ）、及び各スレーブ側ＣＰＵ１０４により制御されるモータユニット１０５Ｍ並びにセンサ１０５Ｓを備えている。
【００１４】
上記した主制御部１００Ａとユニット部１００Ｂはシリアルケーブル１０３で接続されており、通信マスタ側ＣＰＵ１０２とスレーブ側ＣＰＵ１０４によりシリアル通信が制御される。コントロール用上位ＣＰＵは、モータユニット１０５Ｍ並びにセンサ１０５Ｓに対する駆動を統括的に指令する。この指令値に従い、スレーブ側ＣＰＵ１０４がモータユニット１０５Ｍ並びにセンサ１０５Ｓの駆動等の細かい制御を行なう。
【００１５】
第１に、制御コマンドの補正について説明する。本制御システムに適用されているモータユニット１０５Ｍは例えばパルスモータＰＭを含み、このパルスモータＰＭの制御には、例えば台形制御が採用される。また、この台形制御には、通常の台形制御及びリアルタイム台形制御の二つがある。図２は、通常の台形制御のコマンドフォーマットの一例、及びリアルタイム台形制御のコマンドのコマンドフォーマットの一例を示すとともに、これら台形制御結果の一例を示す図である。
【００１６】
通常の台形制御に適用される制御コマンドは、例えば初速度Ｖ０、終速度Ｖ１、等速回転時間Ｔ、加速度α、減速度βの５つの制御項目を含み、これら５つの制御項目に対応する５つの制御パラメータを含む。これに対して、リアルタイム台形制御では等速回転時間Ｔを与えず、加速コマンド及び減速コマンドにより実行される。つまり、リアルタイム台形制御に適用される制御コマンドには加速コマンド及び減速コマンドがあり、加速コマンドは初速度Ｖ０、加速度α、及び目標速度Ｖ１を含み、減速コマンドは減速度β及び終速度Ｖ０を含む。
【００１７】
以上をまとめると、通常の台形制御とリアルタイム台形制御は以下の通りである。
【００１８】
通常の台形制御：予め５つの制御パラメータ全てを与える制御方法
リアルタイム台形制御：任意のタイミングで加速コマンド及び減速コマンドを発行する制御方法
図３は、上位制御装置と下位制御装置の間で実行される通常の台形制御時に発生するディレイの影響を説明するための図である。図４は、上位制御装置と下位制御装置の間で実行されるリアルタイム台形制御時に発生するディレイの影響を説明するための図である。図３及び図４において、コントロール用上位ＣＰＵ１０１からスレーブ側ＣＰＵ１０４へ（通信マスタ側ＣＰＵ１０２を介して）コマンドを発行した時刻をＴ０、スレーブ側ＣＰＵ１０４がコマンド受信した時刻をＴ１と定義する。図３に示すように、通常の台形制御時にはディレイにより、タイミング誤差Ｅ１が発生する。また、図４に示すように、リアルタイム台形制御時にはディレイにより、位置誤差Ｅ２が発生する。
【００１９】
図３に示すタイミング誤差Ｅ１、及び図４に示す位置誤差Ｅ２の問題を解消するために、制御コマンド発行時にタイムスタンプを付加する。
【００２０】
まず、図５に示すように、初期化時に全てのユニットのタイマを同期させる。即ちコントロール用上位ＣＰＵ１０１のタイマ１０１Ｔ、通信マスタ側ＣＰＵ１０２のタイマ１０２Ｔ、及びスレーブ側ＣＰＵ１０４のタイマ１０４Ｔを同期させる。各タイマ１０１Ｔ、１０２Ｔ、１０４Ｔの同期をとるときは、例えば本制御システムが無負荷状態のとき、コントロール用上位ＣＰＵ１０１−スレーブ側ＣＰＵ１０４の間のターンアラウンドタイムより無負荷時の回線の遅延時間を規定し、規定された遅延時間をもとに各タイマ１０１Ｔ、１０２Ｔ、１０４Ｔを同期させる。
【００２１】
上記した初期化シーケンス終了後、図６に示すように、コントロール用上位ＣＰＵ１０１からのコマンド送信時に、コマンドのヘッダにタイムスタンプ（Ｔ０）を付加してコマンドを送信する。即ちコントロール用上位ＣＰＵ１０１は、タイマ１０１Ｔによりカウントされる送信時刻（Ｔ０）を含み且つ複数の制御パラメータを含むコマンドを送信する。スレーブ側ＣＰＵ１０４でコマンドが受信されたとき、スレーブ側ＣＰＵ１０４のタイマ１０４Ｔによりカウントされるこのコマンドの受信時刻（Ｔ１）と、受信されたコマンドに含まれるタイムスタンプ、つまりコントロール用上位ＣＰＵ１０１によりカウントされた送信時刻（Ｔ０）とを比較する。これにより、コントロール用上位ＣＰＵ１０１−スレーブ側ＣＰＵ１０４の送受信の遅延時間を検出することができる。つまり、送受信の遅延時間Ｔｄは、Ｔｄ＝Ｔ１−Ｔ０と規定できる。
【００２２】
図４を参照して説明したように、遅延で発生する位置誤差により台形面積は小さくなる。そこで、図７に示すように、例えば、スレーブ側ＣＰＵ１０４は、遅延時間に基づきコマンドに含まれる複数の制御パラメータのうちの加速度α及び等速時間Ｔを補正し、補正された制御パラメータを含む全ての制御パラメータにより定義される速度と時間の関係を示す台形面積と、補正前の全ての制御パラメータにより定義される速度と時間の関係を示す台形面積とを一致させる。スレーブ側ＣＰＵ１０４は、このように補正された制御パラメータを含む全ての制御パラメータをモータドライバに設定し、コマンドの受信時刻に対応した補正制御を実行する。
【００２３】
コマンドの補正パターンは複数存在するが、上記説明した等速回転時間および加速度を補正する場合の補正式は、以下の通りである。
【００２４】
ｔ１＝ｔ０＋Ｔｄ
α１＝Ｖ１／（Ｖ１／α０−２Ｔｄ）
ｔ０［６０５］：等速回転時間（補正前）
ｔ１［６０６］：等速回転時間（補正後）
α０［６０３］：加速度（補正前）
α１［６０４］：加速度（補正後）
図１２は、上記説明した制御コマンドの補正を説明するためのコントロール用上位ＣＰＵ１０１における処理及びスレーブ側ＣＰＵ１０４における処理を示すフローチャートである。
【００２５】
図１２に示すように、コントロール用上位ＣＰＵ１０１は、コマンドを受信すると（ＳＴ１１、ＹＥＳ）、受信したコマンドに送信時刻を付加し（ＳＴ１２）、タイマ１０１Ｔによりカウントされる送信時刻（Ｔ０）を付加したコマンドをスレーブ側ＣＰＵ１０４（ユニットＣＰＵ）へ送信する（ＳＴ１３）。つまり、スレーブ側ＣＰＵ１０４（ユニットＣＰＵ）へ送信されるコマンドには、複数の制御パラメータに加えて送信時刻が含まれている。
【００２６】
スレーブ側ＣＰＵ１０４は、コントロール用上位ＣＰＵ１０１から送信されるコマンドを受信し（ＳＴ２１、ＹＥＳ）、コマンドに付加された送信時刻とタイマ１０４Ｔによりカウントされるコマンドの受信時刻（Ｔ１）との差を演算し、送受信の遅延時間を求める（ＳＴ２２）。さらに、スレーブ側ＣＰＵ１０４は、この遅延時間に基づいてコマンドに含まれる複数の制御パラメータのうちの加速度αと等速時間Ｔを補正し（ＳＴ２３）、補正した制御パラメータを含む全ての制御パラメータでモータを起動する（ＳＴ２４）。
【００２７】
第２に、センサデータの補正について説明する。図８に示すように、スレーブ側ＣＰＵ１０４はモータユニット１０５Ｍを備え、モータユニット１０５ＭはパルスモータＰＭ及びエンコーダＥＣを備える。スレーブ側ＣＰＵ１０４は、コントロール用上位ＣＰＵ１０１から送信されるコマンドに基づき制御パラメータをモータドライバに設定し、パルスモータＰＭの駆動を制御する。このパルスモータＰＭの駆動は、エンコーダＥＣにより検出される。つまり、エンコーダＥＣは、パルスモータＰＭの回転軸ＲＳの変位（変化）を検出する。例えば、回転軸ＲＳは、１２０［ｒａｄ／ｓ］で回転する。スレーブ側ＣＰＵ１０４は、エンコーダＥＣにより検出された検出データ（センサデータ）をコントロール用上位ＣＰＵ１０１へ送信する。
【００２８】
このとき、この検出データの送信の際にも、通信遅延時間が発生する。経時変化の影響が殆ど無いデータであれば問題はないが、パルスモータＰＭなどのアクチュエータのエンコーダは、ミリ秒（ｍｓ）のオーダーで反応させなくてはならない場合がある。
【００２９】
図９は、パルスモータＰＳの回転軸ＲＳの変位（変化）を示す図である。上記したように、例えば、回転軸ＲＳは１２０［ｒａｄ／ｓ］で回転しており、この回転軸ＲＳの変位はエンコーダＥＣにより検出されている。通信遅延時間の影響により、スレーブ側ＣＰＵ１０４のタイマ１０４Ｔによりカウントされる検出時刻Ｔ２における回転軸ＲＳの変位が３．５［ｒａｄ］であっても、コントロール用上位ＣＰＵ１０１のタイマ１０１Ｔによりカウントされる検出データの受信時刻Ｔ３における回転軸ＲＳの変位は４．７［ｒａｄ］となる。つまり、スレーブ側ＣＰＵ１０４による検出データの検出時とコントロール用上位ＣＰＵ１０１による検出データの受信時とでは、回転軸ＲＳの変位量に１．２［ｒａｄ］の誤差が生じている。
【００３０】
そこで、図１０に示すように、パルスモータＰＭ（アクチュエータ）の回転軸ＲＳの変位量の検出データ（センサデータ）を送信する際に、スレーブ側ＣＰＵ１０４はヘッダ情報としてタイマ１０４Ｔでカウントされた検出時刻のタイムスタンプを付加する。つまり、スレーブ側ＣＰＵ１０４からコントロール用上位ＣＰＵ１０１へ送信する送信データは、タイマ１０４Ｔによりカウントされた検出時刻（Ｔ２）を含み且つこの検出時刻にエンコーダＥＣにより検出された検出データ（ＳＥ）を含む。
【００３１】
スレーブ側ＣＰＵ１０４から送信された送信データを受信したコントロール用上位ＣＰＵ１０１は、送信データに含まれるヘッダに付加されている検出時刻Ｔ２とコントロール用上位ＣＰＵ１０１のタイマ１０１Ｔによりカウントされる受信時刻Ｔ３とを比較し、スレーブ側ＣＰＵ１０４のコマンド履歴ＣＭＤ（時間あたりの検出データの変位量を示すデータ）を用いて距離を積分し、積分値を検出データに加える。
【００３２】
例えば、図１１に示すように、コマンド履歴が１２０［ｒａｄ／ｓ］、遅延時間Ｔ３＝４７［ｍｓ］、検出時刻Ｔ２＝３７［ｍｓ］であるとすると、受信時刻Ｔ３−検出時刻Ｔ２＝遅延時間１０［ｍｓ］となり、検出データ（センサデータ）が３．５［ｒａｄ］のとき、現在の検出データ（補正検出データ）は、１２０［ｒａｄ／ｓ］×１０［ｍｓ］＋３．５［ｒａｄ］＝４．７［ｒａｄ］となる。
【００３３】
図１３は、上記説明したセンサデータの補正を説明するためのスレーブ側ＣＰＵ１０４における処理及びコントロール用上位ＣＰＵ１０１における処理を示すフローチャートである。
【００３４】
図１３に示すように、スレーブ側ＣＰＵ１０４は、エンコーダＥＣにより読み取られたパルスモータＰＭの回転軸ＲＳの変位量データを取得し（ＳＴ３１）、タイマ１０４Ｔによりカウントされた検出時刻（Ｔ２）をこの変位量データに付加し（ＳＴ３２）、これらを送信データとして上位装置へ送信する（ＳＴ３３）。
【００３５】
これに対応して、コントロール用上位ＣＰＵ１０１は、スレーブ側ＣＰＵ１０４から送信された送信データ（センサデータ）を受信し（ＳＴ４１、ＹＥＳ）、受信した送信データに含まれる検出時刻とタイマ１０１Ｔによりカウントされる受信時刻Ｔ３との差を演算し、遅延時間を求める（ＳＴ４２）。コントロール用上位ＣＰＵ１０１は、遅延時間に基づいて変位量データを補正する（ＳＴ４３）。
【００３６】
上記説明したように、この発明によれば、以下の作用効果を得ることができる。
【００３７】
上位制御装置から下位制御装置へ送信する制御コマンドにタイムスタンプ（コマンド送信時刻）を付加することで、通信負荷に依存して変動する遅延による時間誤差及び位置誤差の補正が可能となり、下位制御装置に接続されたモータなどのアクチュエータのリアルタイム制御（コマンド受信時刻に対応した制御）が可能となる。
【００３８】
また、下位制御装置から上位制御装置へ送信する送信データにタイムスタンプ（アクチュエータの変位量の検出時刻）を付加することで、通信遅延の影響を受けているセンサデータの補正が可能となり、実時間でセンシングを行った場合と同等なデータをコントロール用上位ＣＰＵ１０１は取得することが出来、クローズドループの制御系を組むことが出来る。
【００３９】
次に、他の実施形態について説明する。ここでは、上位制御装置及び下位制御装置などの複数制御部間の通信時に発生する通信遅延時間の影響を受けることなく、複数台の下位制御装置の同期制御が可能な制御システムについて説明する。
【００４０】
この実施形態で説明する制御システムの基本構成は、図５に示す通りである。つまり、主制御部１００Ａとユニット部１００Ｂはシリアルケーブル１０３で接続されており、通信マスタ側ＣＰＵ１０２とスレーブ側ＣＰＵ１０４によりシリアル通信が制御される。コントロール用上位ＣＰＵは、モータユニット１０５Ｍ並びにセンサ１０５Ｓに対する駆動を統括的に指令する。この指令値に従い、スレーブ側ＣＰＵ１０４がモータユニット１０５Ｍ並びにセンサ１０５Ｓの駆動等の細かい制御を行なう。また、コントロール用上位ＣＰＵ１０１、通信マスタ側ＣＰＵ１０２、スレーブ側ＣＰＵ１０４は、夫々が、同期したタイマ１０１Ｔ、１０２Ｔ、１０４Ｔを保持している。
【００４１】
本制御システムでは、イベントが発生したときにモータユニット１０５Ｍなどのアクチュエータを動作させるイベントドリブン方式を採用している。イベントドリブン方式でリアルタイムにシステムを制御する場合、通信負荷の影響でディレイが変動すると、末端のスレーブ側ユニットにおいては、モータユニット１０５Ｍなどのアクチュエータの始動タイミングを同期制御できない。この問題を解決するために、本制御システムでは、以下のような制御を行なう。
【００４２】
例えば、図１４に示すように、スレーブ側ユニット（スレーブ側ＣＰＵ１０４（ＣＰＵ＃１））にセンサ１０５Ｓ（フォトインタラプタ）が接続され、別のスレーブ側ユニット（スレーブ側ＣＰＵ１０４（ＣＰＵ＃２））にモータ１０５Ｍ（＃２）が接続され、さらに別のスレーブ側ユニット（スレーブ側ＣＰＵ１０４（ＣＰＵ＃３））にモータ１０５Ｍ（＃３）が接続されているとする。
【００４３】
フォトインタラプタ（センサ１０５Ｓ）が物体の通過（物理特性の変化）を検知し、この物体の通過検知に対応して、スレーブ側ユニット（スレーブ側ＣＰＵ１０４（ＣＰＵ＃２））に接続されたモータ１０５Ｍ（＃２）、及びスレーブ側ユニット（スレーブ側ＣＰＵ１０４（ＣＰＵ＃３））に接続されたモータ１０５Ｍ（＃３）を同期駆動させる制御について説明する。
【００４４】
フォトインタラプタ（センサ１０５Ｓ）は、物体の通過を検知すると、この検知結果をマスタ側ＣＰＵ１０２を介してコントロール用上位ＣＰＵ１０１へ通知する。コントロール用上位ＣＰＵ１０１は、この検知結果を受けて、各モータ１０５Ｍ（＃２、＃３）の同期制御を開始する。
【００４５】
ここで、図１５を参照して通信負荷の影響によるディレイを考慮しない制御について説明すると、コントロール用上位ＣＰＵが、検知結果を受信し、例えば二つのモータに対してコマンドを送信する。このとき、通信ディレイの影響で、一方のモータにコマンドがセットされる時間Ｔ０と、他方のモータにコマンドがセットされる時間Ｔ１に誤差が生じる。このように、各アクチュエータの駆動タイミングを一意に決定できず、複数のモータで同期を取ることが難しい。
【００４６】
そこで、本制御システムでは、各ユニットが保持している同期タイマ１０１Ｔ、１０２Ｔ、１０４Ｔを使用する。また、図１６に示すコマンドフォーマットを採用する。つまり、コマンドの種別(モータの同期駆動)、動作開始時刻（目標動作時刻）、制御コマンド部により構成されるコマンドフォーマットを採用する。つまり、同期駆動コマンドは、これらコマンドの種別及び動作開始時刻によりコマンドのヘッダ部が構成されており、このヘッダ部に制御コマンド部を加えた構成となっている。さらに、図１７に示すように、スレーブ側ユニット（スレーブ側ＣＰＵ１０４（ＣＰＵ＃２）はＦＩＦＯバッファ（＃２）を備え、同様にスレーブ側ＣＰＵ１０４（ＣＰＵ＃３）はＦＩＦＯバッファ（＃３）を備える。
【００４７】
以下、図１８に示すように、同期制御が実行される。つまり、イベントが発生する度に（ＳＴ５１）、コントロール用上位ＣＰＵ１０１は、同期駆動コマンドを発行する（ＳＴ５２）。つまり、コントロール用上位ＣＰＵ１０１は、フォトインタラプタ（センサ１０５Ｓ）からの検知結果を受信し、図１６に示すコマンドフォーマットの同期駆動コマンド（例えばモータＭ１０５（＃２）に対する第１の同期駆動コマンド、及びモータＭ１０５（＃２）に対する第２の同期駆動コマンド）を発行する。ここで発行される同期駆動コマンドは、同期タイマ１０１Ｔのカウント時刻に基づき設定される動作開始時刻（現在時刻から所定時間後の時刻）を含む。例えば、第１の同期駆動コマンドに含まれる動作開始時刻と第２の同期駆動コマンドに含まれる動作開始時刻を同一時刻にしておく。
【００４８】
各スレーブ側ユニットは、任意の時刻ｔ０〜ｔ２、ｔ０’〜ｔ２’に同期駆動コマンドを受信し（ＳＴ５３）、受信した同期駆動コマンドをＦＩＦＯバッファ（＃２）及びＦＩＦＯバッファ（＃３）にバッファリングする。例えば、スレーブ側ＣＰＵ１０４（ＣＰＵ＃２）が第１の同期駆動コマンドを受信し、この受信した第１の同期駆動コマンドをＦＩＦＯバッファ（＃２）にバッファリングし、スレーブ側ＣＰＵ１０４（ＣＰＵ＃３）が第２の同期駆動コマンドを受信し、この受信した第２の同期駆動コマンドをＦＩＦＯバッファ（＃３）にバッファリングする。
【００４９】
スレーブ側ユニット（スレーブ側ＣＰＵ１０４（ＣＰＵ＃２））は、同期タイマＴ１０４によりカウントされる現在時刻と第１の同期駆動コマンドに含まれる動作開始時刻とを比較し（ＳＴ５４）、現在時刻が動作開始時刻に到達したタイミングで（目標動作時刻になると）（ＳＴ５４、ＹＥＳ）、バッファ（＃２）から第１の同期駆動コマンドを取出し、第１の同期駆動コマンドをモータ１０５Ｍ（＃２）のモータドライバにセットし、第１の同期駆動コマンドにより指定される第１の制御内容を実行させる（ＳＴ５５）。同様に、スレーブ側ユニット（スレーブ側ＣＰＵ１０４（ＣＰＵ＃３））も、同期タイマＴ１０４によりカウントされる現在時刻と第２の同期駆動コマンドに含まれる動作開始時刻とを比較し、現在時刻が動作開始時刻に到達したタイミングで（目標動作時刻になると）（ＳＴ５４、ＹＥＳ）、バッファ（＃３）から第２の同期駆動コマンドを取出し、第２の同期駆動コマンドをモータ１０５Ｍ（＃３）のモータドライバにセットし、第２の同期駆動コマンドにより指定される第２の制御内容を実行させる（ＳＴ５５）。
【００５０】
このように同期タイマの保持する時刻を用いることで、図１９に示すように始動タイミングのバラツキを抑えることができ、高い精度で同期制御を行うことができる。
【００５１】
以上により、本制御システムでは、通信負荷に依存して変動する遅延による時間誤差の影響を受けずに、下位制御装置に接続した複数のアクチュエータの同期制御を行なうことができる。
【００５２】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００５３】
【図１】この発明の一例の制御システムの概略構成を示す図である。
【図２】通常の台形制御のコマンドフォーマットの一例、及びリアルタイム台形制御のコマンドのコマンドフォーマットの一例を示すとともに、これら台形制御結果の一例を示す図である。
【図３】上位制御装置と下位制御装置の間で実行される通常の台形制御時に発生するディレイの影響を説明するための図である。
【図４】上位制御装置と下位制御装置の間で実行されるリアルタイム台形制御時に発生するディレイの影響を説明するための図である。
【図５】初期化時における、コントロール用上位ＣＰＵのタイマ、通信マスタ側ＣＰＵのタイマ、及びスレーブ側ＣＰＵのタイマの同期を説明するための図である。
【図６】コントロール用上位ＣＰＵからスレーブ側ＣＰＵへのコマンド送信時の遅延時間の検出を説明するための図である。
【図７】コントロール用上位ＣＰＵからスレーブ側ＣＰＵへのコマンド送信時の遅延時間に基づくコマンド補正の一例を示す図である。
【図８】パルスモータの変位量検出のための概略構成を示す図である。
【図９】遅延時間の影響によるパルスモータの変位量の変化を説明するための図である。
【図１０】スレーブ側ＣＰＵからコントロール用上位ＣＰＵへの送信データ送信時の遅延時間の検出を説明するための図である。
【図１１】スレーブ側ＣＰＵからコントロール用上位ＣＰＵへの送信データ送信時の遅延時間に基づく検出データ（センサデータ）の補正の一例を示す図である。
【図１２】制御コマンドの補正を説明するためのコントロール用上位ＣＰＵ１０１における処理及びスレーブ側ＣＰＵ１０４における処理を示すフローチャートである。
【図１３】センサデータの補正を説明するためのスレーブ側ＣＰＵ１０４における処理及びコントロール用上位ＣＰＵ１０１における処理を示すフローチャートである。
【図１４】この発明の他の実施形態に係る制御システムの概略構成を示す図である。
【図１５】通信負荷の影響によるディレイによって発生する駆動タイミング誤差を説明するための図である。
【図１６】この発明の他の実施形態で適用されるコマンドフォーマットの一例を示す図である。
【図１７】各スレーブ側ユニットのＦＩＦＯバッファに蓄積され、動作開始時刻（目標時刻）に到達したタイミングでモータドライバにセットされる同期制御コマンドの様子を示す図である。
【図１８】この発明の他の実施形態に係る同期制御の一例を示すフローチャートである。
【図１９】この発明の他の実施形態に係る同期制御により、駆動タイミング誤差の発生が解消された様子を説明するための図である。
【符号の説明】
【００５４】
１００Ａ…主制御部、１００Ｂ…ユニット部、１０１…コントロール用上位ＣＰＵ、１０１Ｔ…タイマ、１０２…通信マスタ側ＣＰＵ、１０２Ｔ…タイマ、１０３…シリアルケーブル、１０４…スレーブ側ＣＰＵ、１０４Ｔ…タイマ、１０５Ｍ…モータユニット、１０５Ｓ…センサ、ＰＭ…パルスモータ、ＥＣ…エンコーダ
【図１】
2005269879.tif 000003
【図２】
2005269879.tif 000004
【図３】
2005269879.tif 000005
【図４】
2005269879.tif 000006
【図５】
2005269879.tif 000007
【図６】
2005269879.tif 000008
【図７】
2005269879.tif 000009
【図８】
2005269879.tif 000010
【図９】
2005269879.tif 000011
【図１０】
2005269879.tif 000012
【図１１】
2005269879.tif 000013
【図１２】
2005269879.tif 000014
【図１３】
2005269879.tif 000015
【図１４】
2005269879.tif 000016
【図１５】
2005269879.tif 000017
【図１６】
2005269879.tif 000018
【図１７】
2005269879.tif 000019
【図１８】
2005269879.tif 000020
【図１９】
2005269879.tif 000021