(57)【要約】  事前指令および逐次指令を生成して追従制御部２０に送信する指令制御部１０と、外部入力信号Gが入力されると、事前指令格納部２２に格納されている前記事前指令に基づいてモータ３０を駆動制御し、その後、逐次指令格納部２３に格納されている前記逐次指令に基づいてモータ３０を駆動制御する追従制御部２０とを備える。モータ駆動中に、事前指令から逐次指令への切替えを実現する。
2019186625.tif 000002
【特許請求の範囲】
【請求項１】
モータ運動指令を生成して送信する第１の制御部と、
第２の制御部と、
を備え、
前記第２の制御部は、
第１の指令格納部と、
第２の指令格納部と、
モータ起動信号の入力前に前記第１の制御部で先行して生成されて送信されたモータ運動指令である第１のモータ運動指令を前記第１の指令格納部に格納し、前記モータ起動信号の入力後に前記第１の制御部で生成されて送信されたモータ運動指令である第２のモータ運動指令を前記第２の指令格納部に格納する指令格納管理部と、
前記モータ起動信号が入力されると、前記第１の指令格納部に格納されている前記第１のモータ運動指令に基づいてモータを駆動制御し、その後前記第２の指令格納部に格納されている前記第２のモータ運動指令に基づいて前記モータを駆動制御するモータ制御部と、
を備えることを特徴とするサーボ制御装置。
【請求項２】
前記第１の制御部は、
第１の制御信号をトリガにして前記第１のモータ運動指令を生成して前記第２の制御部に送信することを特徴とする請求項１に記載のサーボ制御装置。
【請求項３】
前記第１の制御部は、
第２の制御信号をトリガにして前記第２のモータ運動指令を生成して前記第２の制御部に送信することを特徴とする請求項２に記載のサーボ制御装置。
【請求項４】
前記第１の制御部は、
前記第１の制御信号および前記第２の制御信号に基づいて前記第１のモータ運動指令および前記第２のモータ運動指令の何れかを選択するための第３の制御信号を生成して前記第２の制御部に送信し、
前記指令格納管理部は、前記第３の制御信号に基づいて、前記第１のモータ運動指令を前記第１の指令格納部に格納し、前記第２のモータ運動指令を前記第２の指令格納部に格納することを特徴とする請求項３に記載のサーボ制御装置。
【請求項５】
前記モータ制御部は、前記モータ起動信号および前記第３の制御信号に基づいて、前記第１のモータ運動指令から前記第２のモータ運動指令への切替えを実行することを特徴とする請求項４に記載のサーボ制御装置。
【請求項６】
前記第１のモータ運動指令の個数は、パラメータ設定されることを特徴とする請求項１から５の何れか一つに記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指令制御部と追従制御部を備えるサーボ制御装置に関するものである。
【背景技術】
【０００２】
サーボ制御装置は、プログラムに従ってモータ運動指令を生成する指令制御部と、前記モータ運動指令に従ってモータを制御する追従制御部とを備え、外部入力信号をトリガにしてモータ駆動の起動を行う。例えば、追従制御部が外部入力信号を検出すると検出信号を指令制御部に通知し、この通知に基づいて指令制御部がモータ運動指令を追従制御部に送信する。このため、追従制御部が外部入力信号を検出してからモータ駆動を開始するまでに通信時間分の遅延が発生する。【０００３】
特許文献１には、指令制御部としての上位コントローラからの位置指令を位置決め開始から完了まで予め、追従制御部としてのサーボドライバに保存しておくことにより、上位コントローラから切り離された状態で、サーボドライバがモータを駆動することが示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１１０７００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、前記通信時間分の遅延を抑制することが可能であるが、指令制御部がリアルタイムに作成したモータ運動指令にモータ駆動中に切換えることができないため、モータ駆動中に指令制御部によるモータ運動指令の補正を行うことができない。【０００６】
本発明は、上記に鑑みてなされたものであって、モータ駆動中に、モータ運動指令の補正を行うことが可能なサーボ制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明のサーボ制御装置は、第１の制御部と、第２の制御部とを備える。前記第１の制御部は、モータ運動指令を生成して送信する。前記第２の制御部は、第１の指令格納部と、第２の指令格納部と、指令格納管理部と、モータ制御部とを備える。前記指令格納管理部は、モータ起動信号の入力前に前記第１の制御部で先行して生成されて送信されたモータ運動指令である第１のモータ運動指令を前記第１の指令格納部に格納し、前記モータ起動信号の入力後に前記第１の制御部で生成されて送信されたモータ運動指令である第２のモータ運動指令を前記第２の指令格納部に格納する。前記モータ制御部は、前記モータ起動信号が入力されると、前記第１の指令格納部に格納されている前記第１のモータ運動指令に基づいてモータを駆動制御し、その後前記第２の指令格納部に格納されている前記第２のモータ運動指令に基づいて前記モータを駆動制御する。
【発明の効果】
【０００８】
本発明にかかるサーボ制御装置は、モータ駆動中に第１のモータ運動指令から第２のモータ運動指令への切替えが可能であり、モータ運動指令の補正を行うことができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態のサーボ制御装置の機能構成例を示すブロック図
【図２】実施の形態のサーボ制御装置の外部入力信号の入力前の動作例を示すフローチャート
【図３】実施の形態のサーボ制御装置の外部入力信号の入力後の動作例を示すフローチャート
【図４】実施の形態のサーボ制御装置の動作例を示すタイムチャート
【図５】実施の形態のサーボ制御装置によって駆動される加工機械を示す図
【図６】実施の形態のサーボ制御装置のハードウェア構成例を示すブロック図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかるサーボ制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態．
図１は、実施の形態にかかるサーボ制御装置の機能構成例を示すブロック図である。サーボ制御装置１００は、第１の制御部としての指令制御部１０と、第２の制御部としての追従制御部２０とを備える。図１では、指令制御部１０と追従制御部２０とが１対１で接続される例を記載しているが、本実施の形態は、１つの指令制御部１０に対し複数の追従制御部２０が接続されるシステムにも適用可能である。追従制御部２０は、モータ３０と１対１で接続されている。
【００１２】
指令制御部１０は、加工プログラムに従ってモータを制御するモータ運動指令である位置指令を生成する。追従制御部２０は、指令制御部１０から送信された位置指令を電流指令に変換し、変換された電流指令に従ってモータ３０を駆動制御する。指令制御部１０と追従制御部２０は、ネットワークによって接続されている。
【００１３】
追従制御部２０には、モータ起動信号としての外部入力信号Gが入力される。外部入力信号Gは、モータ３０の起動信号として機能する。外部入力検出部２６は、外部入力信号Gが入力されると、検出情報を起動管理部２７に入力する。起動管理部２７は、外部入力検出部２６から検出情報が入力されると、起動情報ST2を指令制御部１０の指令生成管理部１１に入力する。起動情報ST2は、追従制御部２０が起動したことを示す信号である。
【００１４】
指令制御部１０は、指令生成管理部１１と、指令生成部１２と、指令選択情報生成部１３と、起動要求生成部１４と、指令切替要求生成部１５とを備える。起動要求生成部１４は、加工プログラムまたは外部入力信号に基づいて第１の制御信号としての起動要求ST1を生成して指令生成管理部１１に入力する。起動要求ST1は、指令制御部１０による位置指令の生成動作を開始するための信号である。起動要求ST1は、使用者が希望する任意のタイミングで発生するようにセット可能な信号であり、外部入力信号Gの入力時点より前に発生される。
【００１５】
指令切替要求生成部１５は、加工プログラムまたは外部入力信号に基づいて第２の制御信号としての指令切替要求SWを生成して指令生成管理部１１に入力する。指令切替要求SWは、モータ３０を駆動する位置指令を、外部入力信号Gの入力前に指令制御部１０で作成された位置指令から、外部入力信号Gの入力後に指令制御部１０で作成された位置指令に切替えるための信号である。外部入力信号Gの入力前に指令制御部１０で作成された位置指令を事前指令と呼び、外部入力信号Gの入力後に指令制御部１０で作成された位置指令を逐次指令と呼ぶ。事前指令が請求の範囲の第１のモータ運動指令に対応し、逐次指令が請求の範囲の第２のモータ運動指令に対応する。指令切替要求SWは、使用者が希望する任意のタイミングで発生するようにセット可能な信号であり、外部入力信号Gの入力後に発生される。
【００１６】
指令生成管理部１１は、起動要求ST1をトリガにして事前指令起動情報SG1を生成し、生成された事前指令起動情報SG1を指令生成部１２および指令選択情報生成部１３に入力する。指令生成管理部１１は、追従制御部２０から入力される起動情報ST2と、指令切替要求SWとに基づいて、逐次指令起動情報SG2を生成し、生成された逐次指令起動情報SG2を指令生成部１２および指令選択情報生成部１３に入力する。
【００１７】
指令生成部１２は、指令生成管理部１１から入力された事前指令起動情報SG1をトリガにして事前指令を制御周期Ｔ毎に生成し、指令生成管理部１１から入力された逐次指令起動情報SG2をトリガにして逐次指令を前記制御周期Ｔ毎に生成する。指令生成部１２は、生成されたモータ運動指令（事前指令または逐次指令）を追従制御部２０へ送信する。
【００１８】
指令選択情報生成部１３は、指令生成管理部１１から入力された事前指令起動情報SG1および逐次指令起動情報SG2に基づいて指令選択情報SLを生成し、生成された指令選択情報SLを追従制御部２０に送信する。指令選択情報SLは、指令制御部１０から追従制御部２０に送信する位置指令が事前指令であるか逐次指令であるかを示す情報である。指令選択情報SLが請求の範囲の第３の制御信号に対応する。
【００１９】
追従制御部２０は、指令格納管理部２１と、第１の指令格納部としての事前指令格納部２２と、第２の指令格納部としての逐次指令格納部２３と、指令取得部２４と、モータ指令生成部２５と、外部入力検出部２６と、起動管理部２７とを備える。指令取得部２４およびモータ指令生成部２５が請求の範囲のモータ制御部に対応する。
【００２０】
指令格納管理部２１は、指令制御部１０から受信した指令選択情報SLに従って、受信したモータ運動指令が事前指令か逐次指令であるかを判定し、事前指令を事前指令格納部２２に格納し、逐次指令を逐次指令格納部２３に格納する。
【００２１】
事前指令格納部２２は、複数の制御周期分の事前指令を格納可能なバッファ容量を有する。事前指令格納部２２は、例えば、ＦＩＦＯ（First  In  First  Out）型のバッファ、あるいはリングバッファである。事前指令格納部２２のバッファサイズは、メモリサイズ等のシステム依存の条件に合わせて任意に変更可能とする。逐次指令格納部２３は、制御周期毎の逐次指令を１制御周期分格納できるバッファ容量を有する。逐次指令格納部２３は、２制御周期分以上の逐次指令が格納可能なバッファ容量を持つようにしてもよい。
【００２２】
起動管理部２７は、外部入力検出部２６から入力される外部入力信号Gの検出情報に基づき起動情報ST2を生成して指令制御部１０の指令生成管理部１１に入力する。また、起動管理部２７は、起動情報ST2を指令生成管理部１１に入力するとき、指令選択情報SLが事前指令を選択する指示状態となっている場合、起動情報ST3を指令取得部２４に入力する。
【００２３】
指令取得部２４は、指令選択情報SLと、起動管理部２７から入力される起動情報ST3とに基づいて、事前指令格納部２２からの事前指令または逐次指令格納部２３からの逐次指令を取得し、取得したモータ運動指令をモータ指令生成部２５に入力する。指令取得部２４は、起動管理部２７からの起動情報ST3が入力された後、動作を開始する。指令取得部２４は、起動情報ST3が入力された後、指令選択情報SLが事前指令を指示している場合は、事前指令格納部２２からの事前指令を取得する。
【００２４】
起動情報ST3が入力された後、指令選択情報SLが逐次指令を指示している場合は、指令取得部２４は、逐次指令格納部２３からの逐次指令を取得する。
【００２５】
モータ指令生成部２５は、指令取得部２４から入力される位置指令としての事前指令および逐次指令を電流指令に変換し、変換された電流指令をモータ３０に出力する。
【００２６】
次に、図２、図３および図４に従って指令制御部１０および追従制御部２０の動作例について説明する。図２は、外部入力信号Gが入力される前の、指令制御部１０および追従制御部２０の動作例を示すフローチャートである。図３は、外部入力信号Gが入力された後の指令制御部１０および追従制御部２０の動作例を示すフローチャートである。図４は、外部入力信号Gが入力される前後の各種信号の状態を示すタイムチャートである。
【００２７】
図４において、横軸方向の一つの区分は、指令制御部１０および追従制御部２０の制御周期Ｔを示している。図４のラインＫの上側には、指令制御部１０に関係する信号のタイムチャートが示されている。図４のラインＫの上側には、起動要求ST1と、指令切替要求SWと、指令制御部１０から出力されるモータ運動指令と、指令選択情報SLとが示されている。図４のラインＫの下側には、追従制御部２０に関係する信号のタイムチャートが示されている。図４のラインＫの下側には、事前指令格納部２２に格納されるモータ運動指令（事前指令）と、逐次指令格納部２３に格納されるモータ運動指令（逐次指令）と、外部入力信号Gと、外部入力検出部２６の出力である検出情報と、起動情報ST2（ST3）と、モータ指令生成部２５から出力される電流指令とが示されている。図４のタイムチャートでは、指令制御部１０から送信された信号が追従制御部２０で受信されるまでに、２制御周期２Ｔ分の遅延が発生するとする。同様に、追従制御部２０から送信された信号が指令制御部１０で受信されるまでに、２制御周期２Ｔ分の遅延が発生する。
【００２８】
まず、図２および図４に従って、外部入力信号Gが入力される前の動作を説明する。起動要求生成部１４は、加工プログラムまたは外部入力信号によって起動要求が入力されると、起動要求ST1をオンにして指令生成管理部１１に入力する（図４  時刻ｔ1）。時刻ｔ1のとき、指令切替要求SWはオフである。指令生成管理部１１は、起動要求ST1のオンを検出すると（ステップＳ１）、事前指令起動情報SG1を生成し、生成された事前指令起動情報SG1を指令生成部１２および指令選択情報生成部１３に入力する。
【００２９】
指令生成部１２は事前指令起動情報SG1が入力されると、事前指令を制御周期Ｔ毎に順次生成する（ステップＳ２）。事前指令の作成個数、すなわち事前指令を作成する制御周期数は、使用者が設定可能なパラメータによって指定可能である。図４の場合、４個の事前指令「A」,「B」,「C」,「D」が作成されている（時刻ｔ1〜ｔ3）。指令選択情報生成部１３は、事前指令起動情報SG1が入力されると、指令制御部１０から追従制御部２０に送信されるモータ運動指令が事前指令であることを示す指令選択情報SLを生成する。すなわち、指令選択情報生成部１３は、事前指令起動情報SG1が入力されると、指令選択情報SLをオンにする。この後、指令選択情報生成部１３は、指令生成管理部１１からの逐次指令起動情報SG2がオンになるまで、指令選択情報SLのオンを維持する。
【００３０】
指令の生成後、指令生成部１２は事前指令を追従制御部２０に送信する（ステップＳ３）。また、指令選択情報生成部１３は、指令選択情報SLをオンにして追従制御部２０に送信する。指令生成部１２および指令選択情報生成部１３は、使用者が設定した回数分の事前指令の作成、送信が終了したか否かを判定し（ステップＳ４）、前記回数分の事前指令の作成および送信が終了するまでステップＳ２、Ｓ３の処理を繰り返す。
【００３１】
モータ運動指令を受信すると（ステップＳ５）、指令格納管理部２１は、指令選択情報SLに基づいて受信したモータ運動指令が事前指令であるか逐次指令であるかを判定し、事前指令の場合は受信したモータ運動指令を事前指令格納部２２に格納する。また、逐次指令の場合は、受信したモータ運動指令を逐次指令格納部２３に入力する。この場合は、受信したモータ運動情報が事前指令であるので、指令格納管理部２１は、受信した事前指令「A」,「B」,「C」,「D」を事前指令格納部２２に格納する（ステップＳ６，時刻ｔ2〜ｔ4）。
【００３２】
つぎに、図３および図４に従って、外部入力信号Gが入力された後の動作を説明する。図３に示した各ステップＳ２１〜Ｓ３５の動作は、１制御周期Ｔの動作を示している。外部入力検出部２６が外部入力信号Gを検出すると（時刻ｔ5）、外部入力検出部２６は起動管理部２７に検出情報を入力する（図３  ステップＳ２０、時刻ｔ6）。起動管理部２７は指令選択情報SLを判定し、指令選択情報SLが事前指令を指示している場合は、指令取得部２４に起動情報ST3を入力する。
【００３３】
起動情報ST3が入力されると、指令取得部２４は、指令選択情報SLの状態を判定し、かつ事前指令格納部２２にモータ運動指令が格納されているか否かを判定する（ステップＳ２１，Ｓ２２）。指令選択情報SLが事前指令を指示していて、かつ事前指令格納部２２にモータ運動指令が格納されている場合は、指令取得部２４は事前指令格納部２２から事前指令を取得し、取得した事前指令をモータ指令生成部２５に入力する（ステップＳ２３）。なお、指令選択情報SLが事前指令を指示していて、かつ事前指令格納部２２にモータ運動指令が格納されていない場合（ステップＳ２２  No）、指令取得部２４は、モータ運動指令をモータ指令生成部２５に出力しなくてもよいし、前回の制御周期時と同じモータ運動指令をモータ指令生成部２５に入力するようにしてもよい。
【００３４】
モータ指令生成部２５は、入力されたモータ運動指令を、電流指令に変換し、電流指令をモータ３０に送信する（ステップＳ２５）。また、起動管理部２７は、起動情報ST2をオンにして指令制御部１０に送信する（ステップＳ２６）。なお、ステップＳ２６の動作を、ステップＳ２０とＳ２１との間で実行するようにしてもよい。
【００３５】
図４の時刻ｔ6〜ｔ7の期間における追従制御部２０の動作について説明する。時刻ｔ6に、外部入力検出部２６は検出信号をオンにする。また、時刻ｔ6では、指令選択情報SLは事前指令を指示しているので、起動管理部２７は、起動情報ST3をオンにする。これにより、指令取得部２４は、指令選択情報SLの状態と、事前指令格納部２２にモータ運動指令が格納されているか否かを判定する。時刻ｔ6では、指令選択情報SLが事前指令を指示しているので、ステップＳ２１の判定はYesとなる。また、事前指令格納部２２には、事前指令「A」,「B」,「C」,「D」が格納されているので、ステップＳ２２の判定はYesとなる。したがって、指令取得部２４は、時刻ｔ6に、事前指令「A」を事前指令格納部２２から取得する（ステップＳ２３）。モータ指令生成部２５は、事前指令「A」を、電流指令に変換してモータ３０に送信する（ステップＳ２５）。起動管理部２７は、オンの起動情報ST2を指令制御部１０に送信する（ステップＳ２６）。
【００３６】
時刻ｔ7では、指令選択情報SLが事前指令を指示していて、事前指令格納部２２には、事前指令「B」,「C」,「D」が格納されているので、指令取得部２４は、時刻ｔ7に、事前指令「B」を事前指令格納部２２から取得する（ステップＳ２３）。モータ指令生成部２５は、事前指令「B」を、電流指令に変換してモータ３０に送信する（ステップＳ２５）。起動管理部２７は、オンの起動情報ST2を指令制御部１０に送信する（ステップＳ２６）。
【００３７】
時刻ｔ8では、指令制御部１０から送信される指令選択情報SLは逐次指令を指示するオフ状態に切り替わっているが、前述したように、追従制御部２０がこのオンからオフへの切替えを検出するまでには、２制御周期２Ｔ分の遅延が発生する。したがって、追従制御部２０は、時刻ｔ10に、指令選択情報SLのオンからオフへの切り替わりを検出する。このため、時刻ｔ8では、指令選択情報SLが事前指令を指示していて、事前指令格納部２２には、事前指令「C」,「D」が格納されているので、指令取得部２４は、時刻ｔ8に、事前指令「C」を事前指令格納部２２から取得する（ステップＳ２３）。モータ指令生成部２５は、事前指令「C」を、電流指令に変換してモータ３０に送信する（ステップＳ２５）。起動管理部２７は、オンの起動情報ST2を指令制御部１０に送信する（ステップＳ２６）。
【００３８】
時刻ｔ9では、指令選択情報SLが事前指令を指示していて、事前指令格納部２２には、事前指令「D」が格納されているので、指令取得部２４は、時刻ｔ9に、事前指令「D」を事前指令格納部２２から取得する（ステップＳ２３）。モータ指令生成部２５は、事前指令「D」を、電流指令に変換してモータ３０に送信する（ステップＳ２５）。起動管理部２７は、オンの起動情報ST2を指令制御部１０に送信する（ステップＳ２６）。
【００３９】
図３において、指令制御部１０は追従制御部２０からオンの起動情報ST2を受信する（ステップＳ２７）。指令生成管理部１１は、指令切替要求SWに基づいて、先に作成した事前指令に続く逐次指令の作成を開始するか否かを判定する（ステップＳ２８）。指令生成管理部１１は、指令切替要求SWが切替えを指示していない場合、逐次指令起動情報SG2をオンにしない。この場合、指令生成部１２はモータ運動指令の作成動作を行わず、また指令選択情報生成部１３は、指令選択情報SLを事前指令を指示している状態のまま維持する（ステップＳ２９）。
【００４０】
一方、指令生成管理部１１は、指令切替要求SWが切替えを指示している場合、逐次指令起動情報SG2をオンにする。指令生成部１２は、指令生成管理部１１から入力された逐次指令起動情報SG2のオンをトリガにして、逐次指令を制御周期毎に生成して追従制御部２０へ送信する（ステップＳ３０，Ｓ３１）。また、指令選択情報生成部１３は、逐次指令起動情報SG2のオンをトリガにして、逐次指令を指示する状態に指令選択情報SLを切り替える（ステップＳ３１）。
【００４１】
図４の時刻ｔ6〜ｔ11の期間における指令制御部１０の動作について説明する。時刻ｔ6に起動情報ST2がオンになる。指令生成管理部１１は、時刻ｔ6の２制御周期後である時刻ｔ8に、起動情報ST2のオンを検出する。時刻ｔ6においては、起動情報ST2がオフであるので、指令生成管理部１１は、指令生成部１２および指令選択情報生成部１３に対し、逐次指令起動情報SG2をまだ送信しない。このため、時刻ｔ6においては、指令生成部１２はモータ運動指令の作成動作を行わず、また指令選択情報生成部１３は指令選択情報SLをオンのままとする。時刻ｔ7でも、同様の動作が行われる。
【００４２】
時刻ｔ8において、指令生成管理部１１は、起動情報ST2のオンを検出し（ステップＳ２７）、指令切替要求SWのオンを検出する（ステップＳ２８）。したがって、指令生成管理部１１は、時刻ｔ8に逐次指令起動情報SG2をオンにする。これにより、指令生成部１２は、時刻ｔ8に、事前指令「D」に続く逐次指令「E」を作成して追従制御部２０に送信する。これ以降、時刻ｔ9に逐次指令「F」が追従制御部２０に送信され、時刻ｔ10に逐次指令「G」が追従制御部２０に送信され、時刻ｔ11に逐次指令「H」が追従制御部２０に送信される。また、指令選択情報生成部１３は、時刻ｔ8以降、逐次指令を指示するオフ状態に指令選択情報SLを切り替える。追従制御部２０は、この指令選択情報SLのオンからオフへの切替えを、時刻ｔ8の２制御周期後である時刻ｔ10に検出する。
【００４３】
なお、指令生成管理部１１が起動情報ST2のオンを検出した時点の後で、指令切替要求SWがオンになる場合、指令生成管理部１１が起動情報ST2のオンを検出した時点から指令切替要求SWがオンになるまでの期間は、ステップＳ２８の判定がNoとなって、ステップＳ２９の処理が実行される。ステップＳ２９では、指令生成部１２はモータ運動指令の作成動作を行わず、また指令選択情報生成部１３は指令選択情報SLをオンのままとする。
【００４４】
追従制御部２０では、時刻ｔ10に逐次指令「E」が逐次指令格納部２３に格納され、時刻ｔ11に逐次指令「F」が逐次指令格納部２３に格納され、時刻ｔ12に逐次指令「G」が逐次指令格納部２３に格納され、時刻ｔ13に逐次指令「H」が逐次指令格納部２３に格納される。
【００４５】
図３において、追従制御部２０は、指令制御部１０からの信号（モータ運動指令、指令選択情報SL、終了情報）を受信する（ステップＳ３４）。追従制御部２０は、終了情報を受信したか否かを判定する（ステップＳ３５）。追従制御部２０は、終了情報を受信していない場合、手順をステップＳ２１に移行する。
【００４６】
図３のステップＳ２１において、指令選択情報SLが逐次指令を指示している場合（ステップＳ２１  No）、指令取得部２４は、逐次指令格納部２３から逐次指令を取得し、取得した逐次指令をモータ指令生成部２５に入力する（ステップＳ２４）。モータ指令生成部２５は、入力された逐次指令を、電流指令に変換し、電流指令をモータ３０に送信する（ステップＳ２５）。また、起動管理部２７は、オンの起動情報ST2を指令制御部１０に送信する（ステップＳ２６）。
【００４７】
図４の時刻ｔ10〜ｔ13の期間における追従制御部２０の動作について説明する。時刻ｔ10では、指令選択情報SLが逐次指令を指示している。したがって、指令取得部２４は、時刻ｔ10に、逐次指令「E」を逐次指令格納部２３から取得する（ステップＳ２４）。モータ指令生成部２５は、逐次指令「E」を、電流指令に変換してモータ３０に送信する（ステップＳ２５）。起動管理部２７は、オンの起動情報ST2を指令制御部１０に送信する（ステップＳ２６）。時刻ｔ11，時刻ｔ12，時刻ｔ13においても、同様の処理が実行され、逐次指令「F」,「G」，「H」がモータ３０に出力される。
【００４８】
指令制御部１０は、位置決め動作を停止または終了する場合（ステップＳ３２）、位置決めの完了または停止を示す終了情報を追従制御部２０に送信する（ステップＳ３３）。指令制御部１０は、位置決め制御において目標位置に到達したとき、使用者から停止指令が入力されたとき、あるいはエラー発生による停止時に、終了情報を生成して追従制御部２０に送信する。追従制御部２０は、指令制御部１０から終了情報を受信すると（ステップＳ３５  Yes）、動作を終了する。指令制御部１０は、位置決めを完了するまで、Ｓ２７〜Ｓ３３の処理を繰り返し実行し、追従制御部２０は、終了情報を受信するまで、Ｓ２１〜Ｓ２６およびＳ３４〜Ｓ３５の動作を繰り返し実行する。
【００４９】
図５は、サーボ制御装置１００が制御する加工機械の一例を示す図である。この加工機械は、ワークＷを吸着する吸着装置４０と、搬送軸５０と、搬送軸５０を駆動して吸着装置４０を搬送軸５０に沿って搬送駆動するモータ３０とを備える。この加工機械では、ワークＷを吸着装置４０で吸着する第１工程と、ワークＷが吸着された吸着装置４０をモータ３０の駆動によって吸着位置から脱着位置まで搬送軸５０に沿って搬送する第２工程と、脱着位置に到達したワークＷを吸着装置４０から脱着する第３工程とが実行される。
【００５０】
吸着装置４０によるワークＷの吸着動作が終了したときに、外部入力信号Gがサーボ制御装置１００に入力される。外部入力信号Gの入力前に、起動要求ST1が発生するように、加工プログラムまたは外部入力を設定する。また、例えば、ワークＷの吸着位置から脱着位置までの搬送動作に係わる一連の位置指令が事前指令として設定される指令切替要求SWが発生するように、加工プログラムまたは外部入力を設定する。また、ワークＷの吸着位置から脱着位置までの搬送動作に係わる一連の事前指令の個数（制御周期数）をパラメータ設定する。これにより、外部入力信号Gが入力された直後から、事前指令に基づく吸着装置４０の搬送動作が開始され、吸着装置４０は事前指令によって吸着位置から脱着位置まで搬送される。脱着位置まで搬送された吸着装置４０は、事前指令の後に生成される逐次指令によって駆動されて次の工程が実行される。このように、外部入力信号Gの入力後、遅延なく吸着装置４０の搬送動作を行うことができる。また、指令切替要求SWによって、使用者が意図する任意のタイミングで、モータ運動中に、事前指令から逐次指令に切り替えることができる。逐次指令は、事前指令とは異なり、外部入力信号Gの入力前に予め生成される指令ではないので、モータ駆動中に逐次指令を補正することが可能となる。
【００５１】
次に、図１に示した指令制御部１０および追従制御部２０を実現するハードウェアの構成について説明する。指令制御部１０および追従制御部２０は、図６に示した処理回路１１０で実現可能である。  
【００５２】
処理回路１１０は、プロセッサ１０１、メモリ１０２、入力回路１０３および出力回路１０４を含んで構成されている。プロセッサ１０１は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰともいう）、システムＬＳＩ（Large  Scale  Integration）などである。メモリ１０２は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（登録商標  Electrically  Erasable  Programmable  Read  Only  Memory）等の、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはＤＶＤ（Digital  Versatile  Disc）等である。  
【００５３】
指令制御部１０に含まれる各構成要素および追従制御部２０に含まれる各構成要素は、それぞれに対応するプログラムをメモリ１０２から読み出してプロセッサ１０１が実行することにより実現できる。入力回路１０３は、プロセッサ１０１が処理する情報、メモリ１０２が記憶する情報などを外部から受け取る際に使用し、出力回路１０４は、プロセッサ１０１が生成した情報、メモリ１０２が記憶している情報を外部へ出力する際に使用する。
【００５４】
なお、追従制御部２０のモータ指令生成部２５は、外部から供給される電圧を変換してモータ３０に印加する電圧を生成する変換回路、変換回路を制御する制御回路などを含む専用の回路で実現される。
【００５５】
このように本実施の形態においては、モータ運動中に、事前指令から逐次指令に切り替えることができる。したがって、モータ駆動中に逐次指令を補正することが可能となる。
【００５６】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００５７】
１０  指令制御部、１１  指令生成管理部、１２  指令生成部、１３  指令選択情報生成部、１４  起動要求生成部、１５  指令切替要求生成部、２０  追従制御部、２１  指令格納管理部、２２  事前指令格納部、２３  逐次指令格納部、２４  指令取得部、２５  モータ指令生成部、２６  外部入力検出部、２７  起動管理部、３０  モータ、４０  吸着装置、５０  搬送軸、１００  サーボ制御装置、Ｗ  ワーク。
【図１】
2019186625.tif 000003
【図２】
2019186625.tif 000004
【図３】
2019186625.tif 000005
【図４】
2019186625.tif 000006
【図５】
2019186625.tif 000007
【図６】
2019186625.tif 000008
【国際調査報告】
2019186625.tif 000009
2019186625.tif 000010