(57)【要約】【課題】モーションコントローラと複数のサーボドライブがネットワークで接続されたモーションコントロールシステムにおいて、前記ネットワークに同期通信や同期クロックを伝える配線を必要としない安価な通信を使用して複数軸の同期を実現し、同期通信周期にとらわれずにサーボ制御処理を駆動することで応答性の向上を図れるようにする。【解決手段】前記モーションコントローラに、設定時間毎に起動割り込みを出力するインターバルタイマと、前記インターバルタイマの割り込み出力から設定時間遅延させた起動割り込みを出力する遅延タイマを備え、前記インターバルタイマからの起動割り込みでモーション指令をサーボドライブへ出力する処理を起動し、前記遅延タイマからの起動割り込みでタイマクリア要求をサーボドライブへ出力する処理を起動する。【選択図】図１
2010244505.tif 000002
【特許請求の範囲】
【請求項１】
モーションコントローラと複数のサーボドライブとを同期通信機能を備えない高速シリアルバスやシリアル通信で接続したモーションコントロールシステムにおいて、
前記モーションコントローラは設定時間毎に起動割り込みを出力するインターバルタイマと、前記インターバルタイマの割り込み出力から設定時間遅延させて起動割り込みを出力する遅延タイマを備え、前期インターバルタイマからの起動割り込みで位置指令をサーボドライブへのモーション指令として出力する処理を起動し、前記遅延タイマからの起動割り込みでタイマクリア要求をサーボドライブへ出力する処理を起動し、
前記サーボドライブは、前記モーションコントローラから受け取った位置指令を基に前記モーションコントローラからのタイマクリア要求による割り込みでサーボ制御処理を実行すること
を特徴とするモーションコントロールシステム。
【請求項２】
モーションコントローラと複数のサーボドライブとを同期通信機能を備えない高速シリアルバスやシリアル通信で接続したモーションコントロールシステムにおいて、
前記モーションコントローラは設定時間毎に起動割り込みを出力するインターバルタイマと、前記インターバルタイマの割り込み出力から設定時間遅延させて起動割り込みを出力する遅延タイマを備え、前期インターバルタイマからの起動割り込みで速度指令をサーボドライブへのモーション指令として出力する処理を起動し、前記遅延タイマからの起動割り込みでタイマクリア要求をサーボドライブへ出力する処理を起動し、
前記サーボドライブは、前記モーションコントローラから受け取った速度指令を基に前記モーションコントローラからのタイマクリア要求による割り込みでサーボ制御処理を実行すること
を特徴とするモーションコントロールシステム。
【請求項３】
モーションコントローラと複数のサーボドライブとを同期通信機能を備えない高速シリアルバスやシリアル通信で接続したモーションコントロールシステムにおいて、
前記モーションコントローラは設定時間毎に起動割り込みを出力するインターバルタイマと、前記インターバルタイマの割り込み出力から設定時間遅延させて起動割り込みを出力する遅延タイマを備え、前期インターバルタイマからの起動割り込みで電流指令をサーボドライブへのモーション指令として出力する処理を起動し、前記遅延タイマからの起動割り込みでタイマクリア要求をサーボドライブへ出力する処理を起動し、
前記サーボドライブは、前記モーションコントローラから受け取った電流指令を基に前記モーションコントローラからのタイマクリア要求による割り込みでサーボ制御処理を実行すること
を特徴とするモーションコントロールシステム。
【請求項４】
前記サーボドライブは、前記モーションコントローラからのタイマクリア要求を、設定時間遅延させて前記サーボドライブ内のタイマをクリアする遅延回路を備え、前記タイマがクリアされたことによる割り込みでサーボ制御処理を実行すること
を特徴とする請求項１から３に記載のモーションコントロールシステム。
【請求項５】
前記サーボドライブは、前記モーションコントローラからのタイマクリア要求を、設定時間遅延させて前記サーボドライブ内のシフトタイマをクリアする遅延回路を備え、前記シフトタイマがクリアされて設定時間経過後に出力する割り込みでフィードバックデータ出力処理を実行すること
を特徴とする請求項１から３に記載のモーションコントロールシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モーションコントローラとサーボドライブ間をネットワークで接続したモーションコントロールシステムに関する。
【背景技術】
【０００２】
工作機械や半導体製造装置、産業用ロボットなど、複数の軸を使用した高精度なモーション動作が必要とされるモーションコントロールシステムにおいて、モーションコントローラと複数の制御される軸はお互いに同期して動作を行う必要がある。
図５は従来技術１のシステム構成を示す図である。図５においてモーションコントローラ１０とサーボドライブ（１）２１、サーボドライブ（２）２２、サーボドライブ（３）２３はサーボネットワーク４２で接続されている。このサーボネットワーク４２には、ＩＥＣ６１４９１やＩＥＥＥ１３９４のように、あらかじめ設定した周期毎に一定数のデータを送信する同期通信機能を備えたネットワークを使用している。
上記同期通信機能を用いてモーションコントローラから複数のサーボドライブへ周期的かつ同一タイミングでモーション指令データの受け渡しを行っている。
さらに同期通信機能を備えたネットワークには、ネットワークに接続された各ノードに対して周期毎に起動割り込みを発生させる機能も備えており、その割り込み機能を用いて各サーボドライブにおけるサーボ制御処理を周期的かつ同一タイミングで実行させている。
このようにして従来技術１では、モーションコントローラと複数の制御される軸の同期を実現している。
【０００３】
図６は従来技術２のシステム構成を模式的に示した図である。図６において中央コントローラは複数の駆動制御部とシリアル通信でデイジーチェーン形式に接続されている。また、中央コントローラと複数の駆動制御部は同期クロックを伝える信号線で接続されている（例えば、特許文献１参照）。
図７は中央コントローラおよび4個の駆動制御部のデータ転送方式を示す図である。図７に示す通り、中央コントローラ１０は１MHzの周期クロックにより制御指令を駆動制御部２１−１に出力する、駆動制御部２１−１は自駆動制御部への指示データのみを取り込んで駆動制御部２１−２に転送する。駆動制御部２１−２、２１−３、２１−４も同様に 自駆動制御部への指示データのみを取り込んで次の駆動制御部へデータ転送を行う。ただし、駆動制御部２１−４は最後の駆動制御部なので、次駆動部へのデータ転送は行わない。
このように、自駆動制御部への指示データを取り込んだ後、次の周期クロックの入力タイミングで各駆動制御部は位置制御、速度制御などの制御演算を行う。
このようにして従来技術２では、モーションコントローラと複数の制御される軸の同期を実現している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１４７７０６号公報（第８頁、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら従来技術１のシステムは、同期通信機能を備えたネットワークが必要となるので通信LSIの機能が複雑になり、高価なものになるという問題がある。
また、従来技術２のシステムはシリアル通信による接続に加えて、同期クロックを伝える配線が必要となるのでシステムが複雑になるという問題がある。また、駆動制御部の駆動制御実行開始のタイミングに、モーションコントローラが制御指令の出力を開始する周期クロックと同一クロックを使用しているため、モーションコントローラが制御指令を出力してから１制御周期後まで駆動制御処理を開始できないこととなり、応答性をそれ以上に上げられないという問題がある。
本発明はこのような問題点に鑑みてなされたものであり、同期通信や同期クロックを伝える配線を必要としない高速シリアルバスやシリアル通信を使用して、複数軸の同期を実現するとともに、同期通信周期や同期クロックの周期とは独立してサーボ制御処理を駆動することで応答性の向上を図る事を目的とする。
【課題を解決するための手段】
【０００６】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、モーションコントローラと複数のサーボドライブを備えたモーションコントロールシステムにおいて、前記モーションコントローラと前記複数のサーボドライブを、同期通信機能を備えない高速シリアルバスまたはシリアル通信で接続し、モーションコントローラから複数のサーボドライブへ位置指令等のモーション指令、およびサーボドライブ内のタイマに対するタイマクリア要求を伝送する。
請求項２に記載の発明は、前記モーションコントローラに、設定時間毎に起動割り込みを出力するインターバルタイマと、前記インターバルタイマの割り込み出力から設定時間遅延させた起動割り込みを出力する遅延タイマを備え、前記インターバルタイマからの起動割り込みでモーション指令をサーボドライブへ出力する処理を起動し、前記遅延タイマからの起動割り込みでタイマクリア要求をサーボドライブへ出力する処理を起動する。
請求項３に記載の発明は、前記サーボドライブに、前記モーションコントローラからのタイマクリア要求を設定時間遅延させてサーボドライブ内のタイマをクリアする遅延回路を備える。
請求項５の発明は、前記モーションコントローラが高速シリアルバスやシリアル通信を使用してサーボドライブへデータを指令する場合に、モーションコントローラ内のバスコントローラや通信LSIへ指令データを出力し終えるとモーションコントローラ側のデータ出力処理は終了して次の処理を実行することが出来るが、モーションコントローラがサーボドライブからのフィードバックデータを読み出そうとすると、モーションコントローラからの読み出し要求をバスコントローラや通信LSIを介してサーボドライブへ伝え、その応答がサーボドライブから帰ってくるまでの間モーションコントローラの処理が待たされてしまい、次の処理を実行することが出来ずにモーションコントローラの性能が低下してしまうという問題がある。そこで、サーボドライブからのフィードバックデータをサーボドライブがモーションコントローラの内部メモリへ書き込む処理を、システムに影響を及ぼさない任意のタイミングで起動する事が出来るシフトタイマをサーボドライブに備える。
【発明の効果】
【０００７】
請求項１に記載の発明によると、モーションコントローラと複数のサーボドライブを、同期通信機能を備えない高速シリアルバスまたはシリアル通信で接続できるので、バスコントローラや通信LSIが複雑にならず、安価なネットワークでモーションコントロールシステムが構築できる。
また、請求項２に記載の発明によると、モーションコントローラから位置指令をサーボドライブへ出力した後、遅延タイマに設置した遅延時間の後にタイマクリア要求をサーボドライブへ出力する事でサーボ制御処理の起動タイミングを任意に調整できるので、モーションコントローラがモーション指令を出力してから最短のタイミングでサーボ制御処理を開始することができ、応答性の向上が図れる。
また、請求項３記載の遅延回路により、各サーボドライブのサーボ制御処理を同時に実行させる事が出来るので、複数の制御軸間の同期を非常に高精度に行う事が出来る。
また、請求項５記載のシフトタイマにより、サーボドライブのモーションコントローラへのフィードバックデータ書き込み処理が起動され、サーボドライブがコントローラの内部メモリへフィードバックデータを書き込むので、モーションコントローラはフィードバックデータを内部メモリから読み出すだけで良く、フィードバックデータ読み出し処理における待ち時間がほとんど無いのでモーションコントローラの性能低下が発生しない。
【図面の簡単な説明】
【０００８】
【図１】本発明におけるモーションコントロールシステムの構成図
【図２】本発明におけるモーションコントローラと各サーボドライブの処理のタイミングを示すタイムチャート
【図３】本発明におけるタイマクリア処理およびサーボ制御処理の詳細タイミングを示すタイミングチャート
【図４】本発明におけるシリアル通信を用いたモーションコントロールシステムの構成図
【図５】従来技術１におけるシステム構成を示す図
【図６】従来技術２におけるシステム構成を模式的に示した図
【図７】従来技術２におけるデータ転送方式を示す図
【図８】本発明におけるサーボドライブがフィードバックデータをモーションコントローラ内のメモリへ書き込む処理のタイミングを示すタイミングチャート
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【００１０】
図１は、本発明におけるモーションコントロールシステムの構成図である。
本モーションコントロールシステムはモーションコントローラ１０とサーボドライブ（１）２１、サーボドライブ（２）２２、サーボドライブ（３）２３が高速シリアルバス４０で接続されている。
また、サーボドライブ（１）２１、サーボドライブ（２）２２、サーボドライブ（３）２３にはアクチュエータ３１〜３３と位置を検出するスケール３４〜３６が接続されている。
モーションコントローラ１０はＣＰＵ１０３、メモリ１０４、インターバルタイマ１０１、シフトタイマ１０２、バスコントローラ１０５で構成される。
サーボドライブ（１）２１はＣＰＵ２１５、メモリ２１４、バスブリッジ２１１、遅延回路２１２、タイマ２１３、電流アンプ２１７、カウンタ２１６、シフトタイマ２１９で構成される。サーボドライブ（２）２２、サーボドライブ（３）２３も同様の構成である。
なお、本実施例ではサーボドライブが３個接続されているが、その数は特に限定されない。
【００１１】
図２はモーションコントローラと各サーボドライブの処理のタイミングを示すタイムチャートである。図２を参照しながら、各処理の動作を説明する。
モーションコントローラのインターバルタイマはＴｉ毎に起動割り込みＩＣ−ｎを発生し、モーション処理ＭＣ１−ｎを起動する（ｎ＝１，２，３．．．）。図２ではｎ=1、２について示している。
モーション処理ＭＣ−１は図示してないモーションプログラムに記載されたモーション動作や、図示していない上位コントローラからのモーション指令に従ったモーション動作を実現するために、制御周期Ｔi毎にモーション動作に従った各軸の位置指令を生成する。
モーション処理ＭＣ−１に引き続きサーボ出力処理ＤＣ−１が実行される。サーボ出力処理ＤＣ−１はＭＣ−１で生成された位置指令をバスコントローラ１０５、高速シリアルバス４０を介して各サーボドライブへ出力する。この際、各サーボドライブへ位置指令を出力する順番は、サーボドライブ（１）、サーボドライブ（２）、サーボドライブ（３）の順番とする。
高速シリアルバス４０を介してサーボドライブ（１）に伝えられた位置指令は、サーボデータ入力処理ＤＡ１−１において、バスブリッジ２１１を介してメモリ２１４に書き込まれる。
サーボドライブ（１）のサーボデータ入力処理ＤＡ１−１の実行に続いて、サーボドライブ（２）のサーボデータ入力処理ＤＡ２−１、サーボデータ（３）のサーボデータ入力処理ＤＡ３−１が順次実行される。
この時、サーボドライブ１のサーボデータ入力処理ＤＡ１−１の実行開始からサーボドライブ２のサーボデータ入力処理ＤＡ２−１の実行開始までの遅れ時間は、サーボドライブ２に対する位置指令が、モーションコントローラ１０内のバスコントローラ１０５から高速シリアルバス４０を通じてサーボドライブ（２）内のバスブリッジに送られるまでの伝送時間となる。
同様に、サーボドライブ（２）のサーボデータ入力処理ＤＡ２−１の実行開始からサーボドライブ（３）のサーボデータ入力処理ＤＡ３−１の実行開始までの遅れ時間は、サーボドライブ（３）に対する位置指令が、モーションコントローラ１０内のバスコントローラ１０５からサーボドライブ（３）内のバスブリッジに送られるまでの伝送時間となる。
以上の動作により、モーションコントローラから各サーボドライブへ位置指令が伝えられた事になる。
次にモーションコントローラはシフトタイマによりインタバルタイマーからの起動割り込みからシフト時間Ｔｓだけ起動を遅らせた、シフト割り込みＩＣＳ−１を発生する。シフト割り込みＩＣＳ−１により、タイマクリア出力処理ＫＣ−１が起動される。
タイマクリア出力処理ＫＣ−１から出力されたタイマクリア要求はバスコントローラ１０５、高速シリアルバス４０を介してサーボドライブへ伝えられ、各サーボドライブ内のタイマ（サーボドライブ（１）ではタイマ２１３）をクリアする。
この際、各サーボドライブへタイマクリア要求を出力する順番は、サーボドライブ（１）、サーボドライブ（２）、サーボドライブ（３）の順番とする。
各サーボドライブのタイマを同時にクリアすることで、各サーボドライブ間を正確に同期させる事となる。
シフト時間Ｔｓは、全てのサーボドライブのサーボデータ入力処理が終了した後にタイマクリア出力処理が起動されるように、モーションコントローラからサーボドライブへ出力されるモーション指令のデータ数や接続されるサーボドライブ数、高速シリアルバスの伝送速度を元にあらかじめ計算して設定しておく。
サーボドライブ（１）に伝えられたタイマクリア要求は、タイマクリア処理ＫＡ１−１にて、バスブリッジ２１１から遅延回路２１２を介してタイマ２１３に伝えられる。
タイマ２１３はタイマクリア要求を受け取ると直ちにＣＰＵ２１５へ起動割り込みＩＡ１−１を出力し、タイマ内部のカウンタのクリアを行う。
起動割り込みＩＡ１−１により、サーボ制御処理ＳＡ１−１が実行される。サーボ制御処理ＳＡ１−１では、メモリ２１４に書き込まれた位置指令を読み込むとともに、カウンタ２１６を介してスケール３４から位置フィードバックを読み込み、上記位置指令と位置フィードバックを用いてサーボ制御処理を行い、電流アンプ２１７を介してアクチュエータ３１へ指令電流を出力する。
【００１２】
図３はタイマクリア処理およびサーボ制御処理の詳細タイミングを示すタイミングチャートである。
モーションコントローラのタイマクリア出力処理ＫＣ−１が実行された後にサーボドライブ（１）のタイマクリア処理ＫＡ１−１、サーボドライブ（２）のタイマクリア処理ＫＡ２−１、サーボドライブ（３）のタイマクリア処理ＫＡ３−１の順番で起動される。
ここで、前記のようにサーボドライブ内のタイマがクリアされると直ちにＣＰＵへ起動割り込みが出力されてサーボ制御処理が実行されるが、各サーボドライブのサーボ制御処理の実行タイミングを合わせるために、サーボドライブ（１）のタイマクリアはタイマクリア遅延時間Ｔｄｌ１、サーボドライブ（２）のタイマクリアはタイマクリア遅延時間Ｔｄｌ２だけ遅延回路でタイマクリア要求を遅延させて実行する。
サーボドライブ（１）のタイマクリア遅延時間Ｔｄｌ１は、サーボドライブ（２）とサーボドライブ（３）に対するタイマクリア要求がモーションコントローラ内のバスコントローラから高速シリアルバスを通じてサーボドライブ（２）、およびサーボドライブ（３）内のバスブリッジに送られるまでの伝送時間を、高速シリアルバスの伝送速度を元にあらかじめ計算して設定しておく。
同様に、サーボドライブ（２）のタイマクリア遅延時間Ｔｄｌ２は、サーボドライブ（３）に対するタイマクリア要求がモーションコントローラ内のバスコントローラからサーボドライブ（３）内のバスブリッジに送られるまでの伝送時間をあらかじめ計算して設定しておく。
これにより、各サーボドライブのサーボ制御処理が同時に起動される事となる。
図８はサーボドライブがフォードバックデータをモーションコントローラ内のメモリへ書き込む処理のタイミングを示すタイミングチャートである。
前記のコントローラからサーボドライブへのデータ書き込み処理で説明した様に、サーボドライブ（１）に伝えられたタイマクリア要求は、タイマクリア処理ＫＡ１−１にて、バスブリッジ２１１から遅延回路２１２を介してタイマ２１３に伝えられる。このとき遅延回路２１２はタイマ２１３に加えてシフトタイマ２１９にもタイマクリア要求を伝える。シフトタイマ２１９はタイマ内部のカウンタのクリアを行い、タイマ２１３による起動割り込みＩＡ１−１からあらかじめ設定されたシフト時間Ｔｓａ１後にＣＰＵ２１５へ起動割り込みＩＡＳ１−１を出力する。
起動割り込みＩＡＳ１−１により、フィードバックデータ出力処理ＥＡ１−１が実行される。フィードバックデータ出力処理ＥＡ１−１では、フィードバックデータをバスブリッジ２１１へ出力する。バスブリッジ２１１へ出力されたフィードバックデータはバスコントローラ１０５を介してモーションコントローラ内のメモリ１０４に書き込む。
モーションコントローラはフィードバックデータ読み出し処理ＥＣ−２でモーションコントローラ内のメモリ１０４からフィードバックデータを読み出す。
ここで、シフト時間Ｔｓａ１は、サーボドライブからのフィードバックデータ書き込み処理が、モーションコントローラからの指令データ書き込み動作とぶつかることなく、また、モーションコントローラへ遅延無くデータ伝送できるタイミングとなるように設定しておく。なお、このタイミングはシステム構成やソフト処理の構成によって最適なタイミングは異なってくるが、シフト時間を調整することでシステムに応じた適切なタイミングでフィードバックデータ書き込み処理を起動することが出来る。
上記フィードバックデータ書き込みの動作は、サーボドライブ（２）、サーボドライブ（３）においても同様である。
【００１３】
以上のように本発明では、モーションコントローラから位置指令が全てのサーボドライブに伝送し終わるタイミングを遅延タイマＴｓに設定してタイマクリア要求を出力することで、サーボ制御処理の起動タイミングを任意に調整出来るので、モーションコントローラから位置指令をサーボドライブに出力してから、最短のタイミングでサーボ制御処理を起動出来る。これにより、モーション制御性能の向上が図れる。
また、モーションコントローラからのタイマクリア要求を遅延回路によりタイマクリア遅延時間だけ遅延させて実行することで、各サーボドライブのサーボ制御処理を同時に実行させる事が出来るので、複数の制御軸間の同期を非常に高精度に行う事が出来る。
また、サーボドライブがコントローラの内部メモリへフィードバックデータを書き込むので、モーションコントローラはフィードバックデータを内部メモリから読み出すだけで良く、フィードバックデータ読み出し処理における待ち時間がほとんど無いのでモーションコントローラの性能低下が発生しない。
【００１４】
図４は、高速シリアルバスの変わりにＵＳＢに代表されるシリアル通信を用いたモーションコントロールシステムの構成図である。
通信デバイスの違いにより、図１に示すバスコントローラ１０５とバスブリッジ２１１が通信ＬＳＩ１０６と通信ＬＳＩ２１８に置き換わっているが、動作の仕組みは高速シリアルバスを用いたシステムと同様に行うことが出来る。
また本実施例では、モーションコントローラからサーボドライブへ位置指令を出力しているが、モーションコントローラ側で位置制御処理や速度制御処理を行い、モーションコントローラからサーボドライブへ速度指令や電流指令を出力しても良い。
【符号の説明】
【００１５】
１０  モーションコントローラ
１０１  インターバルタイマ
１０２  シフトタイマ
１０３  ＣＰＵ
１０４  メモリ
１０５  バスコントローラ
１０６、２１８  通信ＬＳＩ
２１  サーボドライブ１
２１１  バスブリッジ
２１２  遅延回路
２１３  タイマ
２１４  メモリ
２１５  ＣＰＵ
２１６  カウンタ
２１７  電流アンプ
２１８  通信LSI
２１９  シフトタイマ
２２  サーボドライブ２
２３  サーボドライブ３
３１、３２、３３  アクチュエータ
３４、３５、３６  スケール
４０  高速シリアルバス
【図１】
2010244505.tif 000003
【図２】
2010244505.tif 000004
【図３】
2010244505.tif 000005
【図４】
2010244505.tif 000006
【図５】
2010244505.tif 000007
【図６】
2010244505.tif 000008
【図７】
2010244505.tif 000009
【図８】
2010244505.tif 000010