(57)【要約】  サーボモータ（１１）の回転を検出するエンコーダ（１２）と、エンコーダのカウント値（以下「エンコーダ値」という）に基づいてサーボモータの回転をフィードバック制御するサーボアンプ（１３）と、サーボアンプの動作を制御するアンプコントロール部（１７）とを備え、前記アンプコントロール部は、エンコーダのエラー発生時に前記サーボアンプとの間をサーボネットワークで定周期接続した状態で前記エンコーダを初期化するための初期化指示を前記サーボアンプに送信する。一方、サーボアンプは、アンプコントロール部から送信されてくる初期化指示を受信したときにサーボネットワークを切断せずにエンコーダの初期化を実行する。
2017002257.tif 000002
【特許請求の範囲】
【請求項１】
駆動対象物の駆動源となるサーボモータの回転を検出するエンコーダと、前記エンコーダのカウント値（以下「エンコーダ値」という）に基づいて前記サーボモータの回転をフィードバック制御するサーボアンプと、前記サーボアンプの動作を制御するアンプコントロール部とを備えたサーボモータ駆動装置において、
前記アンプコントロール部は、前記エンコーダのエラー発生時に前記サーボアンプとの間をサーボネットワークで定周期接続した状態で前記エンコーダを初期化するための初期化指示を前記サーボアンプに送信する機能を備え、
前記サーボアンプは、前記アンプコントロール部から送信されてくる前記初期化指示を受信したときに前記サーボネットワークを切断せずに前記エンコーダの初期化を実行する機能を備えていることを特徴とするサーボモータ駆動装置。
【請求項２】
前記サーボアンプは、エンコーダ情報として、前記エンコーダの初期化の実行状態とエンコーダ値を判断できる状態を保持する機能を備え、
前記アンプコントロール部は、前記サーボアンプから前記エンコーダの初期化の実行状態とエンコーダ値を取得して上位装置コントロール部に送信する機能を備えていることを特徴とする請求項１に記載のサーボモータ駆動装置。
【請求項３】
前記サーボアンプ及び前記アンプコントロール部は、前記エンコーダ値が無効なエンコーダ値である場合に、そのエンコーダ値で制御する前記サーボモータのサーボオンを禁止する機能を備えていることを特徴とする請求項２に記載のサーボモータ駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータの回転を検出するエンコーダのエラー発生時の復旧方式を改善したサーボモータ駆動装置に関する発明である。
【背景技術】
【０００２】
部品実装機等の産業用機械やロボットの駆動源としてサーボモータが用いられている（特許文献１等参照）。一般に、サーボモータは、その回転をエンコーダで検出し、サーボアンプで、エンコーダのカウント値（エンコーダ値）を指令値と比較してサーボモータの回転をフィードバック制御するようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４８４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、エンコーダの動作に何らかのエラーが発生すると、エンコーダ値が無効なエンコーダ値となることがあるが、このような無効なエンコーダ値でサーボモータを駆動し続けると、駆動対象物が大きく位置ずれしてメカ干渉等の重大なトラブルが発生する可能性がある。このため、エンコーダにエラーが発生した場合には、電源を一旦オフして再起動するようにしている。【０００５】
しかし、電源をオフしてしまうと、サーボアンプのアンプコントロール部への電源の供給も遮断されてしまうため、電源をオンした後に、上位装置コントロール部とアンプコントロール部との間で通信を確立し直す必要がある。その結果、エンコーダのエラー発生時にサーボモータの駆動を開始できる状態に復旧するまでに時間がかかってしまう。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は、駆動対象物の駆動源となるサーボモータの回転を検出するエンコーダと、前記エンコーダのカウント値（以下「エンコーダ値」という）に基づいて前記サーボモータの回転をフィードバック制御するサーボアンプと、前記サーボアンプの動作を制御するアンプコントロール部とを備えたサーボモータ駆動装置において、前記アンプコントロール部は、前記エンコーダのエラー発生時に前記サーボアンプとの間をサーボネットワークで定周期接続した状態で前記エンコーダを初期化するための初期化指示を前記サーボアンプに送信する機能を備え、前記サーボアンプは、前記アンプコントロール部から送信されてくる前記初期化指示を受信したときに前記サーボネットワークを切断せずに前記エンコーダの初期化を実行する機能を備えていることを特徴とするものである。【０００７】
この構成では、エンコーダのエラー発生時にアンプコントロール部とサーボアンプとの間をサーボネットワークで定周期接続した状態でアンプコントロール部からエンコーダを初期化するための初期化指示をサーボアンプに送信してエンコーダを初期化するようにしたので、エンコーダのエラー発生時にアンプコントロール部とサーボアンプとの間をサーボネットワークで定周期接続した状態でエンコーダを速やかに初期化することができ、短時間でエラー復旧を行うことができる。【０００８】
この場合、前記サーボアンプは、エンコーダ情報として、前記エンコーダの初期化の実行状態（初期化前、初期化中、初期化完了、初期化失敗）とエンコーダ値を判断できる状態を保持する機能を備え、前記アンプコントロール部は、前記サーボアンプから前記エンコーダの初期化の実行状態とエンコーダ値を取得して上位装置コントロール部に送信する機能を備えるようにすると良い。このようにすれば、上位装置コントロール部においても、エンコーダの初期化の実行状態とエンコーダ値を監視することができる。【０００９】
更に、前記サーボアンプ及び前記アンプコントロール部は、エンコーダ値が無効なエンコーダ値である場合に、そのエンコーダ値で制御する前記サーボモータのサーボオンを禁止するようにすると良い。このようにすれば、エンコーダ値が無効なエンコーダ値である場合に、エンコーダの初期化の正常終了により有効なエンコーダ値に復旧するまでサーボモータの駆動を確実に防止することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は本発明の一実施例におけるサーボモータ駆動装置の構成を示すブロック図である。
【図２】図２はアンプコントロール部制御プログラムの処理の流れを示すフローチャートである。
【図３】図３はサーボアンプ制御プログラムの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態を具体化した一実施例を説明する。
まず、図１に基づいてサーボモータ駆動装置の構成を説明する。
【００１２】
部品実装機等の産業用機械には、駆動対象物の駆動源として複数のサーボモータ１１が搭載され（図１にはサーボモータ１１が１つのみ図示されている）、各サーボモータ１１の回転角（回転位置）、回転速度、回転方向等を検出するアブソリュート式のエンコーダ１２が設けられている。各サーボモータ１１は、エンコーダ１２のカウント値（以下「エンコーダ値」という）に基づいてサーボアンプ１３によってフィードバック制御される。この場合、複数のサーボモータ１１の各々にサーボアンプ１３を１つずつ設けた構成としても良いし、複数のサーボモータ１１を１つの多軸アンプによってフィードバック制御するようにしても良い。
【００１３】
サーボアンプ１３には、サーボモータ１１に供給する電流を制御する電流制御部１４や、サーボネットワーク処理部１５等が設けられている。サーボアンプ１３は、サーボネットワークを介してアンプコントロール部１７と接続されている。アンプコントロール部１７には、サーボネットワーク処理部１６や、サーボモータ１１の指令トルクを計算する指令トルク計算部１８等が設けられている。アンプコントロール部１７は、サーボネットワークを介して上位装置コントロール部２１と接続されている。
【００１４】
この場合、アンプコントロール部１７は、後述する図２のアンプコントロール部制御プログラムを実行することで、エンコーダ１２のエラー発生時にサーボアンプ１３との間をサーボネットワークで定周期接続した状態でエンコーダ１２を初期化するための初期化指示をサーボアンプ１３に送信するようにしている。
【００１５】
一方、サーボアンプ１３は、後述する図３のサーボアンプ制御プログラムを実行することで、アンプコントロール部１７から送信されてくる初期化指示を受信したときに、サーボネットワークを切断せずにエンコーダ１２の初期化を実行する。更に、サーボアンプ１３は、エンコーダ１２の初期化の実行状態（初期化前、初期化中、初期化完了、初期化失敗）とエンコーダ値を書き替え可能な不揮発性メモリ（図示せず）に記憶して保持すると共に、エンコーダ値が無効なエンコーダ値である場合に、そのエンコーダ値で制御するサーボモータ１１のサーボオンを禁止するようにしている。
【００１６】
一方、アンプコントロール部１７は、サーボアンプ１３からエンコーダ１２の初期化の実行状態とエンコーダ値を取得して上位装置コントロール部２１に送信する機能を備えている。
【００１７】
以下、アンプコントロール部１７が実行する図２のアンプコントロール部制御プログラムの処理内容を説明する。図２のアンプコントロール部制御プログラムは、アンプコントロール部１７の電源オン中に実行される。本プログラムが起動されると、まず、ステップ１０１で、アンプコントロール部１７とサーボアンプ１３との間をサーボネットワークで定周期接続した状態でエンコーダ１２を初期化するための初期化指示をサーボアンプ１３に送信する。この際、エンコーダ１２の再初期化が可能であるか否か（エンコーダ１２が再初期化に対応しているか否か）をサーボアンプ１３に問い合わせる。
【００１８】
次のステップ１０２で、サーボネットワークの伝送周期になるまで待機した後、ステップ１０３に進み、サーボネットワーク情報を更新する。この際、指令トルク計算部１８で計算した指令トルクをサーボネットワークの送信データに設定すると共に、サーボネットワークを介してサーボアンプ１３からエンコーダ情報として、エンコーダ１２の初期化の実行状態（初期化前、初期化中、初期化完了、初期化失敗のいずれかの状態）とエンコーダ値を取得する。エンコーダ値は、初期化前や初期化失敗時には不定なエンコーダ値となる。
【００１９】
この後、ステップ１０４に進み、エンコーダ１２のエラーが発生したか否かを判定し、エラーが発生していなければ、ステップ１０５に進み、指令トルク計算部１８で指令トルクを計算して、上記ステップ１０２に戻る。これにより、アンプコントロール部１７の電源オン中は、エンコーダ１２のエラーが発生しなければ、サーボネットワークの伝送周期でサーボネットワーク情報の更新と指令トルクの計算を繰り返す。
【００２０】
その後、エンコーダ１２のエラーが発生した時点で、ステップ１０６に進み、アンプコントロール部１７から上位装置コントロール部２１にエンコーダ１２のエラーを通知する。そして、次のステップ１０７で、エンコーダ１２の再初期化が可能であるか否かを判定し、エンコーダ１２の再初期化ができなければ、ステップ１０１に戻り、上述した処理を繰り返す。
【００２１】
これに対し、エンコーダ１２の再初期化が可能であれば、ステップ１０８に進み、上位装置コントロール部２１からの復旧指示を受信するまで待機する。上位装置コントロール部２１からの復旧指示を受信した時点で、ステップ１０９に進み、エンコーダ１２の再初期化をサーボアンプ１３に指示する。
【００２２】
この後、ステップ１１０に進み、サーボネットワークの伝送周期になるまで待機した後、ステップ１１１に進み、サーボネットワーク情報を更新する。この際、エンコーダ１２の再初期化完了状態をサーボネットワークを介して確認する。次のステップ１１２で、エンコーダ１２の再初期化が完了したか否かを判定し、エンコーダ１２の再初期化が完了するまで、サーボネットワークの伝送周期でサーボネットワーク情報を更新する処理を繰り返す。その後、エンコーダ１２の再初期化が完了した時点で、前記ステップ１０２に戻り上述した処理を繰り返す。このような処理により、エンコーダ１２のエラーによりエンコーダ値が無効なエンコーダ値になっている場合は、エンコーダ１２の初期化の正常終了により有効なエンコーダ値に復旧するまでサーボモータ１１のサーボオンが禁止される。
【００２３】
次に、サーボアンプ１３が実行する図３のサーボアンプ制御プログラムの処理内容を説明する。図３のサーボアンプ制御プログラムは、サーボアンプ１３の電源オン中に実行される。本プログラムが起動されると、まず、ステップ２０１で、エンコーダ１２の初期化を実行する。
【００２４】
そして、次のステップ２０２で、エンコーダ１２の更新周期のトリガを受信するまで待機する。定周期でエンコーダ１２が更新を行うための内部トリガが発行される。トリガ受信後は、エンコーダ１２の初期化完了状態となる。トリガを受信した時点で、ステップ２０３に進み、エンコーダ１２からエンコーダ情報（エンコーダ値、エンコーダエラー情報等）を取得する。
【００２５】
この後、ステップ２０４に進み、サーボアンプ１３のサーボネットワーク処理部１５とデータの受け渡しを行う。この際、サーボアンプ１３の電流制御部１４がサーボネットワーク処理部１５から取得するデータは、指令トルクであり、一方、サーボアンプ１３のサーボネットワーク処理部１５が電流制御部１４から取得するデータは、エンコーダ値、発生しているエラー情報（エンコーダエラー等）、エンコーダ１２の初期化の実行状態（初期化前、初期化中、初期化完了）である。
【００２６】
そして、次のステップ２０５で、エンコーダ１２のエラーが発生しているか否かを判定し、エンコーダ１２のエラーが発生していなければ、ステップ２０６に進み、指令トルクから電流値を計算し、次のステップ２０７で、指令トルクから計算した電流値をサーボモータ１１に出力して、ステップ２０２に戻り、上述した処理を繰り返す。これにより、サーボアンプ１３の電源オン中は、エンコーダ１２のエラーが発生しなければ、エンコーダ１２の更新周期で指令トルクを電流値に変換してサーボモータ１１に出力する処理を繰り返す。
【００２７】
その後、エンコーダ１２のエラーが発生した時点で、ステップ２０８に進み、サーボモータ制御用の電流出力を停止し、次のステップ２０９で、エラー状態を設定する。これにより、エンコーダ１２のエラーが発生すると、エンコーダ１２の初期化の実行状態が初期化前の状態に遷移する。この後、ステップ２１０に進み、アンプコントロール部１７からエンコーダ１２の再初期化指示を受信するまで待機し、再初期化指示を受信した時点で、上記ステップ２０１に戻り、上述した処理を繰り返す。このような処理により、エンコーダ１２のエラーによりエンコーダ値が無効なエンコーダ値になっている場合は、エンコーダ１２の初期化の正常終了により有効なエンコーダ値に復旧するまでサーボモータ１１のサーボオンが禁止される。
【００２８】
以上説明した本実施例によれば、エンコーダ１２のエラー発生時にアンプコントロール部１７とサーボアンプ１１との間をサーボネットワークで定周期接続した状態でアンプコントロール部１７からエンコーダ１２を初期化するための初期化指示をサーボアンプ１３に送信してエンコーダ１２を初期化するようにしたので、エンコーダ１２のエラー発生時にアンプコントロール部１７とサーボアンプ１３との間をサーボネットワークで定周期接続した状態でエンコーダ１２を速やかに初期化することができ、短時間でエラー復旧を行うことができる。
【００２９】
尚、本発明は、上記実施例に限定されず、サーボアンプ１３やアンプコントロール部１７の構成を適宜変更しても良い等、要旨を逸脱しない範囲内で種々変更して実施できることは言うまでもない。
【符号の説明】
【００３０】
１１…サーボモータ、１２…エンコーダ、１３…サーボアンプ、１４…電流制御部、１５，１６…サーボネットワーク処理部、１７…アンプコントロール部、１８…指令トルク計算部、２１…上位装置コントロール部
【図１】
2017002257.tif 000003
【図２】
2017002257.tif 000004
【図３】
2017002257.tif 000005
【国際調査報告】
2017002257.tif 000006
2017002257.tif 000007