(57)【特許請求の範囲】
【請求項１】
数値制御装置から受信した第１の指令値、前記第１の指令値に基づいてモータを制御するモータ制御装置から受信したフィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも１つに基づいて、前記モータを制御するための第２の指令値を生成するプロセッサと、
前記第２の指令値を前記数値制御装置へ送信する通信回路と、
前記数値制御装置と前記モータ制御装置との間の通信回線に接続され、前記数値制御装置から前記モータ制御装置へ送信された前記第１の指令値をそのまま通過させ、前記モータ制御装置から前記数値制御装置へ送信された前記フィードバックデータをそのまま通過させる信号中継回路と、
を備えることを特徴とする制御装置。
【請求項２】
前記通信回路は、第２の指令値をさらに前記モータ制御装置へ送信することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記第１の指令値、前記フィードバックデータ、および前記センサデータのうち少なくとも１つを記憶するメモリ、
を備えることを特徴とする請求項１または２に記載の制御装置。
【請求項４】
外部に設けられた外部メモリに、前記第１の指令値、前記フィードバックデータ、および前記センサデータのうち少なくとも１つを記憶させることを特徴とする請求項１から３のいずれか１つに記載の制御装置。
【請求項５】
前記プロセッサは、前記第１の指令値の異常を検出した場合、前記モータ制御装置に対して前記モータを減速させる第３の指令値を生成し、
前記通信回路は、前記第３の指令値を前記モータ制御装置へ送信することを特徴とする請求項１から４のいずれか１つに記載の制御装置。
【請求項６】
数値制御装置から受信した第１の指令値、前記第１の指令値に基づいてモータを制御するモータ制御装置から受信したフィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも１つに基づいて、前記モータを制御するための第２の指令値を生成する指令値生成部と、
前記第２の指令値を前記数値制御装置へ送信する通信部と、
前記数値制御装置と前記モータ制御装置との間の通信回線に接続され、前記数値制御装置から前記モータ制御装置へ送信された前記第１の指令値をそのまま通過させ、前記モータ制御装置から前記数値制御装置へ送信された前記フィードバックデータをそのまま通過させる中継部と、
を備えることを特徴とする制御装置。
【請求項７】
数値制御装置と、
前記数値制御装置から受信した第１の指令値に基づいてモータを制御し、前記数値制御装置へフィードバックデータを送信するモータ制御装置と、
前記数値制御装置と前記モータ制御装置との間に接続可能な制御装置と、
を備え、
前記制御装置は、
前記数値制御装置から受信した前記第１の指令値、前記モータ制御装置から受信した前記フィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも１つに基づいて、前記モータを制御するための第２の指令値を生成するプロセッサと、
前記第２の指令値を前記数値制御装置へ送信する通信回路と、
前記数値制御装置と前記モータ制御装置との間の通信回線に接続され、前記数値制御装置から前記モータ制御装置へ送信された前記第１の指令値をそのまま通過させ、前記モータ制御装置から前記数値制御装置へ送信された前記フィードバックデータをそのまま通過させる信号中継回路と、
を備え、
前記数値制御装置は、
前記第２の指令値を受信すると前記第２の指令値に基づいて前記第１の指令値を補正することを特徴とするモータ制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械、ロボットをはじめとした数値制御される機械システムにおける制御装置およびモータ制御システムに関する。
【背景技術】
【０００２】
工作機械およびロボットといった機械システムでは、モータの回転方向および回転速度を制御することで制御対象物の位置、速度、回転数などを制御している。一般的には、数値制御装置が、一定時間周期毎に、位置、速度等の指令値を生成し、モータ制御装置がこの指令値を受け取り、モータの回転方向、回転速度等を制御する。これにより、制御対象物は、指令された位置に指令された速度で移動する。また、モータ制御装置は、モータ駆動電流、制御対象物の位置、速度といったフィードバックデータを受け取り、数値制御装置にこれらのフィードバックデータを送信する。数値制御装置は、これらのフィードバックデータを用いてフィードバック制御を行うことにより、次周期以降の指令値を生成している。このように、工作機械およびロボットといった機械システムでは、いわゆるサーボ制御が行われる。【０００３】
一方、工作機械およびロボットといった機械システムでは、制御対象物を高速かつ高精度に制御することが求められている。処理速度を向上させかつ制御精度を向上させるためには、数値制御装置のプロセッサは、単位時間当たりにより多くの演算を実行しなければならない。さらには、より高精度な制御を実現するため、通常のサーボ制御に加えて、温度、湿度、制御対象物の振動などをセンサで検出し、センサの検出結果に応じて、指令値を変更したり、追加で指令値を発行したりするという適応制御が行われている。適応制御の例としては、温度センサの検出結果を利用した機械端または工具端の熱変位補正、加速度センサの検出結果を利用したびびり振動抑制、ビジョンセンサの検出結果を利用した衝突防止などがある。このような適応制御を実行することで、ますます数値制御装置のプロセッサの負荷が増大する。【０００４】
数値制御装置のプロセッサの負荷の増大を回避する技術として、例えば、特許文献１には、数値制御装置に相当するホストコントローラの下にツリー構造で接続された複数の通信コントローラを設け、ホストコントローラと通信コントローラで分担してモータを制御することで、ホストコントローラの負荷を小さくする技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−７８８９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、予め負荷を分散させることを前提に装置が構成されており、後から追加することは想定されていない。特許文献１に記載の技術では、通信コントローラは、ホストコントローラからのコマンドを解釈して、モータコントローラへの制御指令を計算している。下位のモータコントローラはホストコントローラのコマンドを解釈できず、通信コントローラからの制御指令のみを受け取ることができる。したがって、特許文献１に記載の技術では、通信コントローラが存在しない構成は成り立たないため、はじめから通信コントローラを設けるしかなく、通信コントローラを設けていない機械システムに、後から通信コントローラを追加することはできない。一方、機械システムに対する要求は、変化することが考えられ、例えば、機械システムの導入時には制御対象物に対する適応制御を行うことは想定しておらず後から適応制御を実施する必要が生じる可能性もある。また、数値制御装置、およびモータコントローラであるモータ制御装置の構成の変更の規模が大きいと運用停止時間なども大きくなることから数値制御装置およびモータコントローラの構成の変更は少ないことが望ましい。【０００７】
本発明は、上記に鑑みてなされたものであって、数値制御装置およびモータコントローラの構成の変更を抑制しつつ、制御対象物に対する適応制御を追加可能な制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明にかかる制御装置は、数値制御装置から受信した第１の指令値、第１の指令値に基づいてモータを制御するモータ制御装置から受信したフィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも１つに基づいて、モータを制御するための第２の指令値を生成するプロセッサ、を備える。また、本発明にかかる制御装置は、第２の指令値を数値制御装置へ送信する通信回路と、数値制御装置とモータ制御装置との間の通信回線に接続され、数値制御装置からモータ制御装置へ送信された第１の指令値をそのまま通過させ、モータ制御装置から数値制御装置へ送信されたフィードバックデータをそのまま通過させる信号中継回路と、を備える。
【発明の効果】
【０００９】
本発明にかかる制御装置は、数値制御装置およびモータ制御装置の構成の変更を抑制しつつ、制御対象物に対する適応制御を追加可能であるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかるモータ制御システムの構成例を示す図
【図２】実施の形態の適応制御装置の機能構成例を示す図
【図３】実施の形態１の数値制御装置の機能構成例を示す図
【図４】実施の形態１のモータ制御システムにおける動作の一例を示すシーケンス図
【図５】実施の形態１の制御周期におけるフィードバックデータの通信期間と適応制御用指令値の通信期間との一例を示す図
【図６】実施の形態２のモータ制御システムにおける動作の一例を示すシーケンス図
【図７】実施の形態２の制御周期におけるサーボ制御用指令値の通信期間と適応制御用指令値の通信期間との一例を示す図
【図８】実施の形態３にかかるモータ制御システムの構成例を示す図
【図９】実施の形態４の異常監視処理手順の一例を示すフローチャート
【発明を実施するための形態】
【００１１】
以下に、本発明の実施の形態にかかる制御装置およびモータ制御システムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明の実施の形態１にかかるモータ制御システムの構成例を示す図である。図１に示したモータ制御システムは、数値制御装置１、適応制御装置２、モータ制御装置３およびモータ４を備える。図１では、本発明にかかる制御装置である適応制御装置２が数値制御装置１とモータ制御装置３との間に接続された状態を示しているが、本実施の形態のモータ制御システムは、適応制御装置２が接続されていない状態でも動作可能である。すなわち、本実施の形態のモータ制御システムは、数値制御装置１が適応制御装置２を介さずにモータ制御装置３と接続されていても動作可能である。図１では、モータ４と該モータ４を駆動するモータ制御装置３との組を２組示しているが、モータ４と該モータ４を制御するモータ制御装置３との組の数は１以上であればよく、図１に示した例に限定されない。また、モータ４と該モータ４を制御するモータ制御装置３とは１対１でなくてもよく、１つのモータ制御装置３に複数のモータ４が接続されていてもよい。
【００１３】
適応制御装置２は、モータ制御システムの運用開始時から図１に示すように数値制御装置１とモータ制御装置３との間に設けられていてもよいし、モータ制御システムの運用開始時には設けらずに後で追加されてもよい。さらには、モータ制御システムの運用開始時に適応制御装置２が設けられており、後で適応制御装置２が取り除かれてもよい。このように、適応制御装置２は、モータ制御システムへ追加されることが可能であり、またモータ制御システムから除去されることが可能である。
【００１４】
本実施の形態のモータ制御システムは、例えば、工作機械、ロボットなどの機械システムに適用される。本実施の形態のモータ制御システムが機械システムに適用される場合、モータ４は、図示しない機械装置に接続され、回転トルクにより機械装置を駆動する。この場合、モータ制御システムの制御対象物は機械装置である。また、モータ制御システムの制御対象物は、機械装置および該機械装置を駆動するモータ４であるとも言える。一般に工作機械、ロボットなどの機械システムは複数の軸を有しており、各軸に対応する機械装置が設けられ、該機械装置をモータ４が駆動する。また、機械装置の位置、速度などを検出する図示しないセンサを設け、該センサにより検出された結果が数値制御装置１へ入力されてもよい。
【００１５】
数値制御装置１は、通信回路１１、プロセッサ１２および記憶部１３を備える。通信回路１１は、適応制御装置２との間で、あらかじめ定められた通信プロトコルにしたがってデータの送受信を行う。通信回路１１は、モータ制御装置３との間で、あらかじめ定められた通信プロトコルにしたがってデータの送受信を行うことも可能である。
【００１６】
プロセッサ１２は、例えばＣＰＵ（Central  Processing  Unit）であり、記憶部１３に格納された数値制御用のプログラムまたは外部から入力される数値制御用のプログラムを実行する。具体的には、例えば、プロセッサ１２は、記憶部１３に格納された数値制御用のプログラムを解釈し、制御対象物を制御するために必要な各モータ４に対する指令値を一定周期ごとに生成し、通信回路１１へ出力する。数値制御用のプログラムの例は、加工プログラム、ロボット制御用プログラムなどである。プロセッサ１２は、指令値を生成する際に、後述するフィードバックデータを用いる。通信回路１１は、指令値を対応するモータ制御装置３宛てに送信する。詳細には、例えば、通信回路１１は、指令値に対応するモータ制御装置３の識別情報をフレーム内の宛先を示す領域に格納し、指令値をフレーム内のデータ領域に格納して、該フレームをモータ制御装置３との間の通信回線に送出する。
【００１７】
記憶部１３は、プログラム、データなどを記憶可能なメモリであり、例えば、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、フラッシュメモリなどの半導体メモリ、磁気ディスクなどである。
【００１８】
モータ制御装置３は、数値制御装置１から適応制御装置２を経由して受信した指令値に基づいて、モータ４を駆動するための駆動信号を生成して、モータ４へ駆動信号を印加する。モータ４は、駆動信号に基づいて回転する。モータ４が機械装置を駆動する場合、モータ４の回転トルクにより機械装置が駆動される。また、モータ制御装置３は、モータ４の位置、速度、電流などのフィードバックデータを数値制御装置１へ送信する。詳細には、例えば、モータ制御装置３は、あらかじめ定められた通信プロトコルにしたがって、数値制御装置１の識別情報をフレーム内の宛先を示す領域に格納し、フィードバックデータをフレーム内のデータ領域に格納して、該フレームを数値制御装置１との間の通信回線に送出する。
【００１９】
適応制御装置２は、信号中継回路２０、通信回路２１、プロセッサ２２、センサＩ／Ｆ（InterFace）回路２３および記憶部２４を備える。信号中継回路２０は、数値制御装置１とモータ制御装置３との間の通信回線に接続され、数値制御装置１から送信された指令値を電気的にそのまま通過させモータ制御装置３に伝達する。また、信号中継回路２０は、モータ制御装置３から送信されたフィードバックデータを電気的にそのまま通過させ数値制御装置１に伝達する。通信回路２１は、あらかじめ定められた通信プロトコルにしたがって、数値制御装置１との間でデータの送受信を行うことが可能である。センサＩ／Ｆ回路２３は、センサ５により検出されたデータであるセンサデータをセンサ５から受信する。センサ５の種類はどのようなものであってもよく、後述する適応制御の内容に応じて設置される。センサ５の例は、温度センサ、加速度センサ、ジャイロセンサ、ビジョンセンサ等である。
【００２０】
プロセッサ２２は、ＣＰＵなどであり、記憶部２４に格納された適応制御用のプログラムであるアプリケーションプログラムを読み出して実行する。これにより、プロセッサ２２は、数値制御装置１から送信された指令値、およびモータ制御装置３から送信されたフィードバックデータから適応制御に必要なデータを抽出し、抽出したデータおよびセンサＩ／Ｆ回路２３から受け取ったセンサデータに基づいて後述する適応制御演算を実施し、適応制御用の指令値を生成する。すなわち、プロセッサ２２は、数値制御装置１から受信した第１の指令値であるサーボ制御用の指令値、第１の指令値に基づいてモータ４を制御するモータ制御装置３から受信したフィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも１つに基づいて、適応制御演算を行う。さらに、プロセッサ２２は、適応制御演算に基づいてモータ４に対する第２の指令値である適応制御用の指令値を生成する。プロセッサ２２は、通信回路２１を介して適応制御用の指令値を数値制御装置１へ送信する。
【００２１】
記憶部２４は、プログラム、データなどを記憶可能なメモリであり、例えば、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、フラッシュメモリなどの半導体メモリ、磁気ディスクなどである。
【００２２】
次に、本実施の形態の各装置の機能構成および動作について説明する。図２は、本実施の形態の適応制御装置２の機能構成例を示す図である。適応制御装置２は、中継部５１、抽出部５２、適応制御演算部５３、指令値生成部５４、通信部５５およびセンサデータ受信部５６を備える。中継部５１は、図１に示した信号中継回路２０により実現され、通信部５５は、図１に示した通信回路２１およびプロセッサ２２により実現され、センサデータ受信部５６は、図１に示したセンサＩ／Ｆ回路２３により実現される。抽出部５２、適応制御演算部５３および指令値生成部５４は、図１に示したプロセッサ２２により実現される。詳細には、記憶部２４に格納された、通信部５５の一部、抽出部５２、適応制御演算部５３および指令値生成部５４を実現するためのプログラムをプロセッサ２２が読み出して実行することにより、通信部５５の一部、抽出部５２、適応制御演算部５３および指令値生成部５４が実現される。
【００２３】
中継部５１は、数値制御装置１から送信された指令値をそのまま通過させモータ制御装置３へ伝達し、モータ制御装置３から送信されたフィードバックデータをそのまま通過させ数値制御装置１へ伝達する。通信部５５は、数値制御装置１から送信された指令値を受信し、指令値を抽出部５２へ出力する。また、通信部５５は、モータ制御装置３から送信されたフィードバックデータを受信し、フィードバックデータを抽出部５２へ出力する。センサデータ受信部５６は、センサデータを受信し、受信したセンサデータを抽出部５２へ渡す。
【００２４】
抽出部５２は、入力された指令値、フィードバックデータおよびセンサデータのうち、後述する適応制御演算に必要なデータを抽出し、抽出したデータを適応制御演算部５３へ渡す。適応制御演算部５３は、抽出部５２から入力されたデータを用いて適応制御演算を行い、適応制御演算により指令値を変更する必要があると判定した場合、指令値生成部５４へその旨を通知する。指令値生成部５４は、適応制御演算部５３からの通知に基づいて適応制御用の指令値を生成し、通信部５５へ出力する。適応制御演算部５３からの通知は、数値制御装置１から送信された第１の指令値、フィードバックデータおよびセンサデータのうち少なくとも１つに基づいて生成されたものである。したがって、指令値生成部５４は、第１の指令値、フィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも１つに基づいて、モータに対する第２の指令値である適応制御用の指令値を生成することになる。通信部５５は、指令値生成部５４から入力された適応制御用の指令値（以下、適応制御用指令値という）を数値制御装置１へ送信する。
【００２５】
適応制御演算は、適応制御のための演算である。例えば、本実施の形態のモータ制御システムが工作機械に適用されモータ４が工具を駆動するとし、びびり振動抑制のための適応制御を行う場合、センサ５に工具または被加工物の加速度を検出する加速度センサを含めておき、適応制御演算部５３は、加速度センサにより検出されたセンサデータをＦＦＴ（Fast  Fourier  Transform：高速フーリエ変換）する。適応制御演算部５３は、これにより、工具または被加工物の振動の周波数とその強度すなわち振幅を検出することができる。適応制御演算部５３は、ＦＦＴにより得られた振動の周波数および強度のうちの少なくとも１つに対して閾値判定などを行うことにより、びびり振動が発生しているか否かを検出する。適応制御演算部５３は、びびり振動が発生していると判定した場合、指令値を変更する必要があると判定し、びびり振動の発生により指令値を変更する旨を、指令値生成部５４へ通知する。指令値生成部５４は、びびり振動が発生していることを通知されると、例えば、工作機械の主軸に対応するモータ４の回転数を変更することを指示する指令値を生成し、生成した指令値を通信部５５へ出力する。なお、びびり振動が検出された場合にどのような指令値を生成するかについては、あらかじめ定められていてもよいし、ユーザにより設定可能であってもよい。
【００２６】
適応制御には上述したびびり振動抑制の他に、ビジョンセンサの検出結果を利用した衝突防止をはじめとした制御がある。適応制御演算部５３が実施する適応制御演算の内容は、実施する適応制御の種別に応じて決定されればよく、演算内容に制約はない。適応制御演算部５３が、複数の種類の事象を検出し、検出した事象により指令値の変更内容が異なる場合に、例えば、検出した事象と指令値の変更内容とを対応付けてあらかじめ定めておく。
【００２７】
図３は、数値制御装置１の機能構成例を示す図である。図３に示すように、数値制御装置１は、通信部６１、サーボ制御演算部６２および適応制御反映部６３を備える。通信部６１は、図１に示した通信回路１１およびプロセッサ１２により実現される。サーボ制御演算部６２および適応制御反映部６３は、図１に示したプロセッサ１２により実現される。詳細には、記憶部１３に格納された、通信部６１の一部、サーボ制御演算部６２および適応制御反映部６３を実現するためのプログラムをプロセッサ１２が読み出して実行することにより、通信部６１の一部、サーボ制御演算部６２および適応制御反映部６３が実現される。
【００２８】
通信部６１は、モータ制御装置３から送信されたフィードバックデータを受信すると、フィードバックデータをサーボ制御演算部６２へ渡す。また、通信部６１は、適応制御反映部６３から受け取った後述するサーボ制御用の指令値をモータ制御装置３宛てに送信する。サーボ制御演算部６２は、制御周期ごとに、通信部６１から受け取ったフィードバックデータに基づいてサーボ制御用の指令値を生成する演算であるサーボ制御演算を行う。サーボ制御演算部６２は、生成したサーボ制御用の指令値を適応制御反映部６３へ渡す。サーボ制御演算部６２が実施するサーボ制御演算の内容に制約はなく、モータ４を制御するサーボ制御における演算であればどのようなものを用いてもよい。
【００２９】
適応制御反映部６３は、適応制御装置２から適応制御用指令値を受信した場合、モータ制御装置３へ次に送信する指令値へ反映させる。すなわち、適応制御反映部６３は、適応制御装置２から適応制御用指令値を受信すると、受信した適応制御用指令値に基づいて、サーボ制御用の指令値を補正する。例えば、適応制御反映部６３は、適応制御装置２から適応制御用指令値を受信した場合、該適応制御用指令値を受信した後サーボ制御演算部６２から最初に受け取った指令値に、適応制御用指令値を反映させる。例えば、適応制御用指令値が回転速度を１００ｒｐｍ下げることを意味するものであれば、適応制御反映部６３は、該適応制御用指令値を受信した後サーボ制御演算部６２から最初に受け取った指令値が示す回転速度から１００ｒｐｍを減じた値を指令値として通信部６１へ出力する。また、適応制御反映部６３は、適応制御装置２から適応制御用指令値を受信していない間は、サーボ制御演算部６２から受け取った指令値をそのまま通信部６１へ出力する。これにより、適応制御装置２から適応制御用指令値が送信された場合には、適応制御用指令値が反映された指令値が、適応制御が行われていない場合と同様の通信プロトコルでモータ制御装置３に伝達される。なお、適応制御用指令値は、上述した例のようにサーボ制御用指令値からの変更量を示すものであってもよいし、変更後の指令値例えば変更後の回転速度を示すものであってもよい。
【００３０】
また、適応制御装置２が設けられていない場合には、適応制御装置２から適応制御用指令値が送信されない。したがって、この場合、適応制御反映部６３は、サーボ制御演算部６２から受け取った指令値をそのまま通信部６１へ出力する。したがって、モータ制御装置３は、適応制御装置２の有無にかかわらず同じ手順によって、数値制御装置１から送信された指令値に基づいてモータ４を制御すればよい。
【００３１】
図４は、本実施の形態のモータ制御システムにおける動作の一例を示すシーケンス図である。以下、図２、図３および図４を用いて、本実施の形態のモータ制御システムにおける各装置の動作手順の一例を説明する。
【００３２】
図４に示すように、数値制御装置１はサーボ制御用の指令値を送信する。適応制御装置２は、サーボ制御用の指令値を数値制御装置１から受信すると、サーボ制御用の指令値をそのまま通過させてモータ制御装置３へ伝達する（ステップＳ１）。このサーボ演算用の指令値は、１つ前の制御周期で適応制御用指令値を受信していれば適応制御用指令値が反映されたものであり、１つ前の制御周期で適応制御用指令値を受信していなければ、サーボ制御演算により生成された指令値である。適応制御装置２は、センサデータをセンサ５から受信する（ステップＳ２）。モータ制御装置３は、１つ前の制御周期において受信した指令値に基づいて動作し、フィードバックデータを送信する。適応制御装置２は、フィードバックデータをモータ制御装置３から受信すると、フィードバックデータをそのまま通過させて数値制御装置１へ伝達する（ステップＳ３）。適応制御装置２は、上述した適応制御演算を実施し（ステップＳ４）、適応制御演算に基づいて適応制御用指令値を生成し（ステップＳ５）、適応制御用指令値を数値制御装置１へ送信する（ステップＳ６）。
【００３３】
数値制御装置１は、受信したフィードバックデータを用いてサーボ制御演算を実施し（ステップＳ７）、サーボ制御演算により生成された指令値に、適応制御装置２から受信した適応制御用指令値を反映させる（ステップＳ８）。数値制御装置１は、適応制御用指令値を反映させた後の指令値をモータ制御装置３へ送信する（ステップＳ９）。
【００３４】
図４で示した、ステップＳ１の指令値が送信されてからステップＳ９の指令値が送信されるまでが、制御周期すなわちサーボ演算用の制御周期の１周期に相当する。図４は一例であり、制御周期内において、サーボ制御用指令値、フィードバックデータおよび適応制御指令値が送信されるタイミングは図４の例に限定されない。各装置は上記の動作を制御周期ごとに実施する。なお、図４では、適応制御演算の結果、適応制御用指令値を送信すると判定された例を示しているが、適応制御用指令値を送信しないと判定された場合、適応制御用指令値は送信されなくてもよい。または、適応制御用指令値を送信しないと判定された場合に、適応制御装置２は、サーボ演算用の指令値を変更する必要がないことを示す適応制御用指令値、例えば変更量を０とした適応制御用指令値を送信するようにしてもよい。
【００３５】
なお、センサデータを受信する周期、および適応制御演算を実施する周期は、サーボ演算用の制御周期と同一でなくてもよい。また、図４に示した例では、適応制御用指令値が送信された制御周期の次の制御周期でサーボ演算用の指令値への反映が行われる例を示したが、数値制御装置１は、適応制御用指令値を受信するタイミングによっては、該適応制御用指令値を受信した制御周期内で適応制御用指令値の反映が行われてもよい。
【００３６】
次に、適応制御装置２から数値制御装置１への適応制御用指令値の送信方法の具体例について説明する。数値制御装置１とモータ制御装置３との間の通信回線が周期的な通信を行う通信プロトコルの通信回線である場合、適応制御装置２がこの通信回線を用いて数値制御装置１へ適応制御用指令値を送信するには、通信周期内の適応制御用指令値の通信期間を定めておく必要がある。ここでは、数値制御装置１からモータ制御装置３へ送信する方向である下り方向とモータ制御装置３から数値制御装置１へ送信する方向である上り方向との２つの方向ごとに、通信周期内の各データに対応する通信期間が定められるとする。また、一般には、モータ制御システムでは、通信周期と制御周期とは同一である。以上のことから、上り方向の通信における制御周期のフィードバックデータの通信期間と適応制御用指令値の通信期間とを定めておけば、数値制御装置１は、数値制御装置１とモータ制御装置３との間の通信回線を用いて、フィードバックデータと適応制御用指令値との両方を受信することができる。
【００３７】
図５は、制御周期におけるフィードバックデータの通信期間と適応制御用指令値の通信期間との一例を示す図である。図５に示した例では、制御周期内で、フィードバック通信期間の後に適応制御用指令値の通信期間である適応制御用指令値通信期間を設けているが、各通信期間の制御周期内の配置はこの例に限定されず、各通信期間が制御周期内で重複しないように配置されればどのような配置であってもよい。
【００３８】
なお、数値制御装置１と適応制御装置２との間で、図示しない別の通信回線が存在する場合には、該通信回線を用いて、適応制御装置２が適応制御用指令値を数値制御装置１へ送信するようにしてもよい。この場合、制御周期における適応制御用指令値の通信期間を定めておく必要はない。
【００３９】
なお、数値制御装置１が、はじめから、図３に示したように適応制御反映部６３を有し、かつ通信部６１が図５に例示した各通信期間の受信処理に対応している場合には、適応制御装置２が途中から設置された場合に、数値制御装置１に対する変更を行う必要はない。
【００４０】
一方で、本実施の形態の適応制御装置２を、既存のモータ制御システムに適用することもできる。ここでいう、既存のモータ制御システムとは、数値制御装置１が図３に示した適応制御反映部６３を備えずサーボ制御演算の機能を有するモータ制御システムである。既存のモータ制御システムに、本実施の形態の適応制御装置２を追加する場合、適応制御反映部６３の機能を実現し、図５に例示した各通信期間の受信処理が実施できるように、数値制御装置１のソフトウェアを変更する。このソフトウェア変更による数値制御装置１への負荷の増加は軽微である。
【００４１】
以上のように、本実施の形態では、適応制御装置２が適応制御を実施して、適応制御用指令値を数値制御装置１へ送信し、数値制御装置１が、モータ制御装置３へ送信する指令値に適応制御用指令値を反映させるようにした。これにより、数値制御装置のプロセッサの負荷を大きく増やせないモータ制御システム、または既設のモータ制御システムであっても、数値制御装置１のプロセッサの負荷の増加を抑えつつ、モータ制御装置３の構成は変更せずに、センサデータ、フィードバックデータなどに基づく高度な適応制御を実現できる。すなわち、本実施の形態では、数値制御装置１およびモータ制御装置３の構成の変更を抑制しつつ、制御対象物に対する適応制御を追加可能となる。
【００４２】
実施の形態２．
次に、本発明にかかる実施の形態２のモータ制御システムについて説明する。本実施の形態のモータ制御システムの構成は実施の形態１と同様である。また、モータ制御システムを構成する各装置の構成も実施の形態１と同様である。以下、実施の形態１と異なる部分を主に説明し、実施の形態１と重複する説明を省略する。
【００４３】
実施の形態１では、適応制御装置２から数値制御装置１に対して、適応制御用指令値を送信し、数値制御装置１が適応制御用指令値を反映させたサーボ制御用の指令値を生成していた。実施の形態２では、適応制御装置２は、数値制御装置１だけでなく、モータ制御装置３に対しても、適応制御用指令値を送信する。
【００４４】
図６は、本実施の形態のモータ制御システムにおける動作の一例を示すシーケンス図である。ステップＳ１からステップＳ５は実施の形態１と同様である。ステップＳ５の後、適応制御装置２の通信部５５は、適応制御用指令値を数値制御装置１へ送信する（ステップＳ１１）とともに、モータ制御装置３へ送信する（ステップＳ１２）。ステップＳ７からステップＳ９は実施の形態１と同様である。モータ制御装置３は、適応制御用指令値を受信すると、受信した適応制御用指令値とステップＳ１で受信したサーボ制御用指令値とに基づいてモータ４を制御する。また、サーボ制御用指令値と適応制御用指令値とが異なる指令値である場合には適応制御用指令値を優先するなどのように、適応制御用指令値とサーボ制御用指令値との両方に基づくモータ４の制御方法については予め制御方法を決めておく。例えば、サーボ制御用指令値が回転速度１０００ｒｐｍの指令であるのに対して、適応制御用指令値が回転速度９００ｒｐｍの指令である場合、モータ制御装置３は、適応制御用指令値に従い、モータの回転速度が９００ｒｐｍとなるよう制御する。
【００４５】
本実施の形態では、適応制御用指令値が数値制御装置１を経由せずにモータ制御装置３へ伝達されるため、適応制御用指令値が実施の形態１より早くモータ制御装置３に伝達される。このため、実施の形態１より速やかに適応制御を反映させることができる。なお、数値制御装置１においても、次の制御周期の指令値に適応制御用指令値を反映する。したがって、数値制御装置１は、次周期以降の制御においては、数値制御装置１から送信する指令値は適応制御用指令値が反映されたものとなり、数値制御装置１とモータ制御装置３との間で指令値の不整合を防止することができる。
【００４６】
適応制御装置２から数値制御装置１への適応制御用指令値の送信方法の具体例について説明する。実施の形態１と同様に、適応制御装置２から数値制御装置１への適応制御用指令値は、数値制御装置１とモータ制御装置３との間の通信回線を用いて行うことができる。図７は、制御周期におけるサーボ制御用指令値の通信期間と適応制御用指令値の通信期間との一例を示す図である。図７では、本実施の形態の実施の形態１の図５の例で説明したように、上り方向と下り方向とでそれぞれ制御周期内での通信期間が定められているとしている。図７に示すように、下り方向の通信では、制御周期内でサーボ制御用指令値の通信期間の後に適応制御用指令値の通信期間が設けられているが、各通信期間の制御周期内の配置はこの例に限定されず、各通信期間が制御周期内で重複しないように配置されればどのような配置であってもよい。
【００４７】
なお、数値制御装置１と適応制御装置２との間で、図示しない別の通信回線が存在する場合には、該通信回線を用いて、適応制御装置２が適応制御用指令値を数値制御装置１へ送信するようにしてもよい。この場合、制御周期における適応制御用指令値の通信期間を定めておく必要はない。なお、本実施の形態では、モータ制御装置３が、適応制御用指令値を受信する機能と、適応制御用指令値とサーボ制御用指令値とのうちいずれかを選択する機能とを有している必要がある。したがって、モータ制御装置３がこれらの機能を有していない場合、ソフトウェアを変更することによりこれらの機能が実現できる。このソフトウェア変更は軽微であり、モータ制御装置３の負荷の増加も軽微である。
【００４８】
以上のように、本実施の形態では、適応制御装置２が数値制御装置１だけでなくモータ制御装置３へも適応制御用指令値を送信するようにした。このため、実施の形態１と同様の効果が得られるとともに、実施の形態１にかかるモータ制御システムよりも高速にモータ制御装置に適応制御指令値を伝達することができる。
【００４９】
実施の形態３．
図８は、本発明の実施の形態３にかかるモータ制御システムの構成例を示す図である。図８に示すように、本実施の形態のモータ制御システムは、適応制御装置２の代わりに適応制御装置２ａを備える以外は、実施の形態１のモータ制御システムと同様である。適応制御装置２ａは、実施の形態１の適応制御装置２にデータ保存用メモリ２５を追加した構成を有する。実施の形態１と同様の機能を有する構成要素は、実施の形態１と同一の符号を付して実施の形態１と重複する説明を省略する。以下、実施の形態１と異なる点を主に説明する。
【００５０】
本実施の形態では、プロセッサ２２は、センサデータ、フィードバックデータおよびサーボ制御用指令値のうち、保存が必要なデータを選択して、選択したデータを一定時間、データ保存用メモリ２５へ格納する。すなわち、データ保存用メモリ２５は、第１の指令値であるサーボ制御用の指令値、フィードバックデータ、およびセンサデータのうち少なくとも１つを記憶するメモリである。保存が必要なデータとは、後述するように、過去のデータに基づく解析に使用されるデータである。プロセッサ２２は、データ保存用メモリ２５に格納されたデータに基づいて適応制御演算を実施する。なお、データ保存用メモリ２５と記憶部２４が１つのメモリにより実現されてもよい。
【００５１】
また、図８では、データ保存用メモリ２５は適応制御装置２ａの中に含まれているが、この例に限定されず、適応制御装置２ａが、ＵＳＢ（Universal  Serial  Bus）メモリ、ＳＤカードをはじめとした外部記憶媒体とのデータの送受信を行う外部記憶媒体Ｉ／Ｆ部、外部記憶媒体をデータ保存用メモリ２５として用いてもよい。また、適応制御装置２ａが、ＬＡＮ（Local  Area  Network）Ｉ／Ｆ部を備えこれらのＩ／Ｆ部を介して適応制御装置２の外部のＨＤＤ（Hard  Disk  Drive）、データサーバのメモリなどをデータ保存用メモリ２５として用いてもよい。また、適応制御装置２ａの内部のデータ保存用メモリ２５と、ＨＤＤ（Hard  Disk  Drive）、データサーバのメモリなどの外部のメモリとの両方に、上記の選択したデータを保存してもよい。すなわち、適応制御装置２ａは、適応制御装置２ａの外部に設けられた外部メモリに、サーボ制御用の指令値、フィードバックデータ、およびセンサデータのうち少なくとも１つを記憶させてもよい。
【００５２】
本実施の形態の各装置の機能構成例は実施の形態１と同様であるが、本実施の形態の適応制御装置２ａの適応制御演算部５３は、プロセッサ２２および記憶部２４だけでなくデータ保存用メモリ２５を用いて実現される。本実施の形態の適応制御演算部５３の動作について説明する。
【００５３】
適応制御演算部５３は、抽出部５２から適応制御演算に必要なデータを受け取ると、保存が必要なデータを選択して保存する。例えば、工作機械、ロボットなどにおいては、繰り返し同じ軌跡の制御を行うことがある。このような場合、適応制御演算部５３は、位置指令値とそれに対応する位置フィードバックデータとをデータ保存用メモリ２５に保存しておく。そして、適応制御演算部５３はデータ保存用メモリ２５に保存されている過去の同じ軌跡における位置指令値とそれに対応する位置フィードバックデータの誤差を計算し、その誤差が小さくなるように位置指令値を補正することで、制御対象物の実際の位置を本来の指令位置に近づけることができる。また、例えば、適応制御演算部５３は、温度データを用いた熱変位補正を行う場合において、温度データをデータ保存用メモリ２５に保存しておき、データ保存用メモリ２５に保存されている過去の温度データと位置の誤差データ、すなわち位置指令値とそれに対応する位置フィードバックデータの誤差を用いることで、より高精度な熱変異補正を実現できる。
【００５４】
なお、上記の例では、実施の形態１のモータ制御システムにデータ保存用メモリ２５を追加する例を説明したが、実施の形態２のモータ制御システムにおいて、適応制御装置２の内部および外部の少なくとも一方にデータ保存用メモリ２５を追加して、本実施の形態と同様に過去のデータを用いた適応制御を実現してもよい。
【００５５】
このように、本実施の形態では、適応制御装置２ａの内部および外部のうち少なくも一方にデータ保存用メモリ２５を備えるようにした。これにより、実施の形態１と同様の効果が得られるとともに、過去のデータを用いたより高精度な適応制御を実現できる。
【００５６】
実施の形態４．
次に、本発明にかかる実施の形態４のモータ制御システムについて説明する。本実施の形態のモータ制御システムの構成は実施の形態１と同様である。また、モータ制御システムを構成する各装置の構成も実施の形態１と同様である。また、本実施の形態の動作は、以下に述べる動作を実施の形態１のモータ制御システムの動作に追加するが、以下に述べる点以外の動作は実施の形態１と同様である。以下、実施の形態１と異なる部分を主に説明し、実施の形態１と重複する説明を省略する。
【００５７】
数値制御装置１が正常であれば、正しいタイミングかつ正しい内容のサーボ制御用指令値を出力する。もし、数値制御装置１が故障などによりサーボ制御用指令値を出力できなくなった場合、モータ制御装置３は、何らかの異常が発生したと判断し、通常、モータ４を緊急に減速させる。しかし、複数の軸が同期して動作している機械システムでは、他の軸との関係を考慮せずに各々の軸に対応するモータ４を緊急に減速させると、場合によっては制御対象物である工具、ワーク、ロボットアームなどが互いに衝突し、破損する恐れがある。これを防ぐため、本実施の形態では、適応制御装置２の適応制御演算部５３は、異常監視処理を実施する異常監視部としての機能も有し、数値制御装置１が生成するサーボ制御用指令値を監視し、サーボ制御用指令値の異常を確認すると、数値制御装置１に代わり、モータ制御装置３に対して、工具、ワーク、ロボットアームなどを互いに衝突させない減速の指令値を生成する。そして、生成した指令値を適応制御用指令値としてモータ制御装置３へ送信する。
【００５８】
図９は、実施の形態３の異常監視処理手順の一例を示すフローチャートである。適応制御演算部５３は、数値制御装置１から送信された指令値すなわちサーボ制御用指令値を抽出部５２から受け取り、指令値を正常に受信しているか否かを判断する（ステップＳ２１）。指令値を正常に受信しているか否かの判断は、例えば、一定時間以上数値制御装置１から指令値を受信しない場合に正常に受信していないと判断し、それ以外の場合に正常と判断する方法がある。また、受信した指令値が、あらかじめ定めた正常範囲を逸脱している場合にも、適応制御演算部５３は、指令値を正常に受信していないと判断する。指令値を正常に受信している場合（ステップＳ２１  Ｙｅｓ）、適応制御演算部５３は、ステップＳ２１を繰り返す。
【００５９】
指令値を正常に受信していない場合（ステップＳ２１  Ｎｏ）、すなわち指令値の異常を検出した場合、適応制御演算部５３は、モータ４を減速させる適応制御用指令値を生成する（ステップＳ２２）。指令値の異常を検出した場合に送信される適応制御用指令値は第３の指令値である。適応制御演算部５３は、第３の指令値である適応制御用指令値を、通信部５５を介してモータ制御装置３へ送信し（ステップＳ２３）、異常監視処理を終了する。なお、ステップＳ２３では、モータ４が複数存在する場合、複数のモータ４を減速させるようモータ制御装置３へ適応制御用指令値を送信する。なお、モータ４を減速させる指令値は、モータ４を停止させる指令値を含む。また、適応制御演算部５３は、ステップＳ２１でＮｏとなった場合、図示しない表示部、図示しないブザーなどを用いて異常であることをユーザに通知するようにしてもよい。また、図９では、ステップＳ２３の後、異常監視処理を終了しているが、ステップＳ２１へ戻るようにしてもよい。
【００６０】
適応制御装置２からモータ制御装置３への適応制御用指令値の送信方法は、実施の形態２で述べた方法を用いることができる。
【００６１】
以上のように、本実施の形態では、適応制御装置２が、サーボ制御用指令値を正常に受信していないことを検出すると、モータ制御装置３へモータ４を減速させる適応制御用指令値を送信するようにした。このため、実施の形態１と同様の効果が得られるとともに、数値制御装置１が故障等によりサーボ制御用指令値を出力できなくなった場合において、制御対象物である工具、ワーク、ロボットアーム等を破損することなく、かつ安全に各軸のモータを停止させることができる。
【００６２】
なお、上記の例では、実施の形態１のモータ制御システムに異常監視処理手順を追加する例を説明したが、実施の形態２または実施の形態３のモータ制御システムにおいて、異常監視処理手順を追加してもよい。
【００６３】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６４】
１  数値制御装置、２，２ａ  適応制御装置、３  モータ制御装置、４  モータ、１１，２１  通信回路、１２，２２  プロセッサ、１３，２４  記憶部、２０  信号中継回路、２３  センサＩ／Ｆ回路、２５  データ保存用メモリ、５１  中継部、５２  抽出部、５３  適応制御演算部、５４  指令値生成部、５５，６１  通信部、６２  サーボ制御演算部、６３  適応制御反映部。
【要約】
本発明にかかる適応制御装置（２）は、数値制御装置（１）から受信したサーボ制御用の指令値、第１の指令値に基づいてモータ（４）を制御するモータ制御装置（３）から受信したフィードバックデータ、およびセンサ（５）から受信したセンサデータのうち少なくとも１つに基づいて、モータ（４）に対する第２の指令値を生成するプロセッサ（２２）と、第２の指令値を数値制御装置（１）へ送信する通信回路（２１）と、を備える。【図１】
0006272599.tif 000002
【図２】
0006272599.tif 000003
【図３】
0006272599.tif 000004
【図４】
0006272599.tif 000005
【図５】
0006272599.tif 000006
【図６】
0006272599.tif 000007
【図７】
0006272599.tif 000008
【図８】
0006272599.tif 000009
【図９】
0006272599.tif 000010