国際・国内特許データベース検索
このアプリケーションの一部のコンテンツは現時点では利用できません。
このような状況が続く場合は、にお問い合わせくださいフィードバック & お問い合わせ
1. (WO2018179368) 制御装置およびモータ制御システム
Document

明 細 書

発明の名称 制御装置およびモータ制御システム

技術分野

0001  

背景技術

0002   0003   0004  

先行技術文献

特許文献

0005  

発明の概要

発明が解決しようとする課題

0006   0007  

課題を解決するための手段

0008  

発明の効果

0009  

図面の簡単な説明

0010  

発明を実施するための形態

0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063  

符号の説明

0064  

請求の範囲

1   2   3   4   5   6   7   8  

図面

1   2   3   4   5   6   7   8   9  

明 細 書

発明の名称 : 制御装置およびモータ制御システム

技術分野

[0001]
 本発明は、工作機械、ロボットをはじめとした数値制御される機械システムにおける制御装置およびモータ制御システムに関する。

背景技術

[0002]
 工作機械およびロボットといった機械システムでは、モータの回転方向および回転速度を制御することで制御対象物の位置、速度、回転数などを制御している。一般的には、数値制御装置が、一定時間周期毎に、位置、速度等の指令値を生成し、モータ制御装置がこの指令値を受け取り、モータの回転方向、回転速度等を制御する。これにより、制御対象物は、指令された位置に指令された速度で移動する。また、モータ制御装置は、モータ駆動電流、制御対象物の位置、速度といったフィードバックデータを受け取り、数値制御装置にこれらのフィードバックデータを送信する。数値制御装置は、これらのフィードバックデータを用いてフィードバック制御を行うことにより、次周期以降の指令値を生成している。このように、工作機械およびロボットといった機械システムでは、いわゆるサーボ制御が行われる。
[0003]
 一方、工作機械およびロボットといった機械システムでは、制御対象物を高速かつ高精度に制御することが求められている。処理速度を向上させかつ制御精度を向上させるためには、数値制御装置のプロセッサは、単位時間当たりにより多くの演算を実行しなければならない。さらには、より高精度な制御を実現するため、通常のサーボ制御に加えて、温度、湿度、制御対象物の振動などをセンサで検出し、センサの検出結果に応じて、指令値を変更したり、追加で指令値を発行したりするという適応制御が行われている。適応制御の例としては、温度センサの検出結果を利用した機械端または工具端の熱変位補正、加速度センサの検出結果を利用したびびり振動抑制、ビジョンセンサの検出結果を利用した衝突防止などがある。このような適応制御を実行することで、ますます数値制御装置のプロセッサの負荷が増大する。
[0004]
 数値制御装置のプロセッサの負荷の増大を回避する技術として、例えば、特許文献1には、数値制御装置に相当するホストコントローラの下にツリー構造で接続された複数の通信コントローラを設け、ホストコントローラと通信コントローラで分担してモータを制御することで、ホストコントローラの負荷を小さくする技術が開示されている。

先行技術文献

特許文献

[0005]
特許文献1 : 特開2004-78895号公報

発明の概要

発明が解決しようとする課題

[0006]
 しかしながら、特許文献1に記載の技術では、予め負荷を分散させることを前提に装置が構成されており、後から追加することは想定されていない。特許文献1に記載の技術では、通信コントローラは、ホストコントローラからのコマンドを解釈して、モータコントローラへの制御指令を計算している。下位のモータコントローラはホストコントローラのコマンドを解釈できず、通信コントローラからの制御指令のみを受け取ることができる。したがって、特許文献1に記載の技術では、通信コントローラが存在しない構成は成り立たないため、はじめから通信コントローラを設けるしかなく、通信コントローラを設けていない機械システムに、後から通信コントローラを追加することはできない。一方、機械システムに対する要求は、変化することが考えられ、例えば、機械システムの導入時には制御対象物に対する適応制御を行うことは想定しておらず後から適応制御を実施する必要が生じる可能性もある。また、数値制御装置、およびモータコントローラであるモータ制御装置の構成の変更の規模が大きいと運用停止時間なども大きくなることから数値制御装置およびモータコントローラの構成の変更は少ないことが望ましい。
[0007]
 本発明は、上記に鑑みてなされたものであって、数値制御装置およびモータコントローラの構成の変更を抑制しつつ、制御対象物に対する適応制御を追加可能な制御装置を得ることを目的とする。

課題を解決するための手段

[0008]
 上述した課題を解決し、目的を達成するために、本発明にかかる制御装置は、数値制御装置から受信した第1の指令値、第1の指令値に基づいてモータを制御するモータ制御装置から受信したフィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも1つに基づいて、モータに対する第2の指令値を生成するプロセッサ、を備える。また、本発明にかかる制御装置は、第2の指令値を数値制御装置へ送信する通信回路と、を備える。

発明の効果

[0009]
 本発明にかかる制御装置は、数値制御装置およびモータ制御装置の構成の変更を抑制しつつ、制御対象物に対する適応制御を追加可能であるという効果を奏する。

図面の簡単な説明

[0010]
[図1] 実施の形態1にかかるモータ制御システムの構成例を示す図
[図2] 実施の形態の適応制御装置の機能構成例を示す図
[図3] 実施の形態1の数値制御装置の機能構成例を示す図
[図4] 実施の形態1のモータ制御システムにおける動作の一例を示すシーケンス図
[図5] 実施の形態1の制御周期におけるフィードバックデータの通信期間と適応制御用指令値の通信期間との一例を示す図
[図6] 実施の形態2のモータ制御システムにおける動作の一例を示すシーケンス図
[図7] 実施の形態2の制御周期におけるサーボ制御用指令値の通信期間と適応制御用指令値の通信期間との一例を示す図
[図8] 実施の形態3にかかるモータ制御システムの構成例を示す図
[図9] 実施の形態4の異常監視処理手順の一例を示すフローチャート

発明を実施するための形態

[0011]
 以下に、本発明の実施の形態にかかる制御装置およびモータ制御システムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
[0012]
実施の形態1.
 図1は、本発明の実施の形態1にかかるモータ制御システムの構成例を示す図である。図1に示したモータ制御システムは、数値制御装置1、適応制御装置2、モータ制御装置3およびモータ4を備える。図1では、本発明にかかる制御装置である適応制御装置2が数値制御装置1とモータ制御装置3との間に接続された状態を示しているが、本実施の形態のモータ制御システムは、適応制御装置2が接続されていない状態でも動作可能である。すなわち、本実施の形態のモータ制御システムは、数値制御装置1が適応制御装置2を介さずにモータ制御装置3と接続されていても動作可能である。図1では、モータ4と該モータ4を駆動するモータ制御装置3との組を2組示しているが、モータ4と該モータ4を制御するモータ制御装置3との組の数は1以上であればよく、図1に示した例に限定されない。また、モータ4と該モータ4を制御するモータ制御装置3とは1対1でなくてもよく、1つのモータ制御装置3に複数のモータ4が接続されていてもよい。
[0013]
 適応制御装置2は、モータ制御システムの運用開始時から図1に示すように数値制御装置1とモータ制御装置3との間に設けられていてもよいし、モータ制御システムの運用開始時には設けらずに後で追加されてもよい。さらには、モータ制御システムの運用開始時に適応制御装置2が設けられており、後で適応制御装置2が取り除かれてもよい。このように、適応制御装置2は、モータ制御システムへ追加されることが可能であり、またモータ制御システムから除去されることが可能である。
[0014]
 本実施の形態のモータ制御システムは、例えば、工作機械、ロボットなどの機械システムに適用される。本実施の形態のモータ制御システムが機械システムに適用される場合、モータ4は、図示しない機械装置に接続され、回転トルクにより機械装置を駆動する。この場合、モータ制御システムの制御対象物は機械装置である。また、モータ制御システムの制御対象物は、機械装置および該機械装置を駆動するモータ4であるとも言える。一般に工作機械、ロボットなどの機械システムは複数の軸を有しており、各軸に対応する機械装置が設けられ、該機械装置をモータ4が駆動する。また、機械装置の位置、速度などを検出する図示しないセンサを設け、該センサにより検出された結果が数値制御装置1へ入力されてもよい。
[0015]
 数値制御装置1は、通信回路11、プロセッサ12および記憶部13を備える。通信回路11は、適応制御装置2との間で、あらかじめ定められた通信プロトコルにしたがってデータの送受信を行う。通信回路11は、モータ制御装置3との間で、あらかじめ定められた通信プロトコルにしたがってデータの送受信を行うことも可能である。
[0016]
 プロセッサ12は、例えばCPU(Central Processing Unit)であり、記憶部13に格納された数値制御用のプログラムまたは外部から入力される数値制御用のプログラムを実行する。具体的には、例えば、プロセッサ12は、記憶部13に格納された数値制御用のプログラムを解釈し、制御対象物を制御するために必要な各モータ4に対する指令値を一定周期ごとに生成し、通信回路11へ出力する。数値制御用のプログラムの例は、加工プログラム、ロボット制御用プログラムなどである。プロセッサ12は、指令値を生成する際に、後述するフィードバックデータを用いる。通信回路11は、指令値を対応するモータ制御装置3宛てに送信する。詳細には、例えば、通信回路11は、指令値に対応するモータ制御装置3の識別情報をフレーム内の宛先を示す領域に格納し、指令値をフレーム内のデータ領域に格納して、該フレームをモータ制御装置3との間の通信回線に送出する。
[0017]
 記憶部13は、プログラム、データなどを記憶可能なメモリであり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリなどの半導体メモリ、磁気ディスクなどである。
[0018]
 モータ制御装置3は、数値制御装置1から適応制御装置2を経由して受信した指令値に基づいて、モータ4を駆動するための駆動信号を生成して、モータ4へ駆動信号を印加する。モータ4は、駆動信号に基づいて回転する。モータ4が機械装置を駆動する場合、モータ4の回転トルクにより機械装置が駆動される。また、モータ制御装置3は、モータ4の位置、速度、電流などのフィードバックデータを数値制御装置1へ送信する。詳細には、例えば、モータ制御装置3は、あらかじめ定められた通信プロトコルにしたがって、数値制御装置1の識別情報をフレーム内の宛先を示す領域に格納し、フィードバックデータをフレーム内のデータ領域に格納して、該フレームを数値制御装置1との間の通信回線に送出する。
[0019]
 適応制御装置2は、信号中継回路20、通信回路21、プロセッサ22、センサI/F(InterFace)回路23および記憶部24を備える。信号中継回路20は、数値制御装置1とモータ制御装置3との間の通信回線に接続され、数値制御装置1から送信された指令値を電気的にそのまま通過させモータ制御装置3に伝達する。また、信号中継回路20は、モータ制御装置3から送信されたフィードバックデータを電気的にそのまま通過させ数値制御装置1に伝達する。通信回路21は、あらかじめ定められた通信プロトコルにしたがって、数値制御装置1との間でデータの送受信を行うことが可能である。センサI/F回路23は、センサ5により検出されたデータであるセンサデータをセンサ5から受信する。センサ5の種類はどのようなものであってもよく、後述する適応制御の内容に応じて設置される。センサ5の例は、温度センサ、加速度センサ、ジャイロセンサ、ビジョンセンサ等である。
[0020]
 プロセッサ22は、CPUなどであり、記憶部24に格納された適応制御用のプログラムであるアプリケーションプログラムを読み出して実行する。これにより、プロセッサ22は、数値制御装置1から送信された指令値、およびモータ制御装置3から送信されたフィードバックデータから適応制御に必要なデータを抽出し、抽出したデータおよびセンサI/F回路23から受け取ったセンサデータに基づいて後述する適応制御演算を実施し、適応制御用の指令値を生成する。すなわち、プロセッサ22は、数値制御装置1から受信した第1の指令値であるサーボ制御用の指令値、第1の指令値に基づいてモータ4を制御するモータ制御装置3から受信したフィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも1つに基づいて、適応制御演算を行う。さらに、プロセッサ22は、適応制御演算に基づいてモータ4に対する第2の指令値である適用制御用指令値を生成する。プロセッサ22は、通信回路21を介して適応制御用の指令値を数値制御装置1へ送信する。
[0021]
 記憶部24は、プログラム、データなどを記憶可能なメモリであり、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリなどの半導体メモリ、磁気ディスクなどである。
[0022]
 次に、本実施の形態の各装置の機能構成および動作について説明する。図2は、本実施の形態の適応制御装置2の機能構成例を示す図である。適応制御装置2は、中継部51、抽出部52、適応制御演算部53、指令値生成部54、通信部55およびセンサデータ受信部56を備える。中継部51は、図1に示した信号中継回路20により実現され、通信部55は、図1に示した通信回路21およびプロセッサ22により実現され、センサデータ受信部56は、図1に示したセンサI/F回路23により実現される。抽出部52、適応制御演算部53および指令値生成部54は、図1に示したプロセッサ22により実現される。詳細には、記憶部24に格納された、通信部55の一部、抽出部52、適応制御演算部53および指令値生成部54を実現するためのプログラムをプロセッサ22が読み出して実行することにより、通信部55の一部、抽出部52、適応制御演算部53および指令値生成部54が実現される。
[0023]
 中継部51は、数値制御装置1から送信された指令値をそのまま通過させモータ制御装置3へ伝達し、モータ制御装置3から送信されたフィードバックデータをそのまま通過させ数値制御装置1へ伝達する。通信部55は、数値制御装置1から送信された指令値を受信し、指令値を抽出部52へ出力する。また、通信部55は、モータ制御装置3から送信されたフィードバックデータを受信し、フィードバックデータを抽出部52へ出力する。センサデータ受信部56は、センサデータを受信し、受信したセンサデータを抽出部52へ渡す。
[0024]
 抽出部52は、入力された指令値、フィードバックデータおよびセンサデータのうち、後述する適応制御演算に必要なデータを抽出し、抽出したデータを適応制御演算部53へ渡す。適応制御演算部53は、抽出部52から入力されたデータを用いて適応制御演算を行い、適応制御演算により指令値を変更する必要があると判定した場合、指令値生成部54へその旨を通知する。指令値生成部54は、適応制御演算部53からの通知に基づいて適応制御用の指令値を生成し、通信部55へ出力する。適応制御演算部53からの通知は、数値制御装置1から送信された第1の指令値、フィードバックデータおよびセンサデータのうち少なくとも1つに基づいて生成されたものである。したがって、指令値生成部54は、第1の指令値、フィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも1つに基づいて、モータに対する第2の指令値である適応制御用の指令値を生成することになる。通信部55は、指令値生成部54から入力された適応制御用の指令値(以下、適応制御用指令値という)を数値制御装置1へ送信する。
[0025]
 適応制御演算は、適応制御のための演算である。例えば、本実施の形態のモータ制御システムが工作機械に適用されモータ4が工具を駆動するとし、びびり振動抑制のための適応制御を行う場合、センサ5に工具または被加工物の加速度を検出する加速度センサを含めておき、適応制御演算部53は、加速度センサにより検出されたセンサデータをFFT(Fast Fourier Transform:高速フーリエ変換)する。適応制御演算部53は、これにより、工具または被加工物の振動の周波数とその強度すなわち振幅を検出することができる。適応制御演算部53は、FFTにより得られた振動の周波数および強度のうちの少なくとも1つに対して閾値判定などを行うことにより、びびり振動が発生しているか否かを検出する。適応制御演算部53は、びびり振動が発生していると判定した場合、指令値を変更する必要があると判定し、びびり振動の発生により指令値を変更する旨を、指令値生成部54へ通知する。指令値生成部54は、びびり振動が発生していることを通知されると、例えば、工作機械の主軸に対応するモータ4の回転数を変更することを指示する指令値を生成し、生成した指令値を通信部55へ出力する。なお、びびり振動が検出された場合にどのような指令値を生成するかについては、あらかじめ定められていてもよいし、ユーザにより設定可能であってもよい。
[0026]
 適応制御には上述したびびり振動抑制の他に、ビジョンセンサの検出結果を利用した衝突防止をはじめとした制御がある。適応制御演算部53が実施する適応制御演算の内容は、実施する適応制御の種別に応じて決定されればよく、演算内容に制約はない。適応制御演算部53が、複数の種類の事象を検出し、検出した事象により指令値の変更内容が異なる場合に、例えば、検出した事象と指令値の変更内容とを対応付けてあらかじめ定めておく。
[0027]
 図3は、数値制御装置1の機能構成例を示す図である。図3に示すように、数値制御装置1は、通信部61、サーボ制御演算部62および適応制御反映部63を備える。通信部61は、図1に示した通信回路11およびプロセッサ12により実現される。サーボ制御演算部62および適応制御反映部63は、図1に示したプロセッサ12により実現される。詳細には、記憶部13に格納された、通信部61の一部、サーボ制御演算部62および適応制御反映部63を実現するためのプログラムをプロセッサ12が読み出して実行することにより、通信部61の一部、サーボ制御演算部62および適応制御反映部63が実現される。
[0028]
 通信部61は、モータ制御装置3から送信されたフィードバックデータを受信すると、フィードバックデータをサーボ制御演算部62へ渡す。また、通信部61は、適応制御反映部63から受け取った後述するサーボ制御用の指令値をモータ制御装置3宛てに送信する。サーボ制御演算部62は、制御周期ごとに、通信部61から受け取ったフィードバックデータに基づいてサーボ制御用の指令値を生成する演算であるサーボ制御演算を行う。サーボ制御演算部62は、生成したサーボ制御用の指令値を適応制御反映部63へ渡す。サーボ制御演算部62が実施するサーボ制御演算の内容に制約はなく、モータ4を制御するサーボ制御における演算であればどのようなものを用いてもよい。
[0029]
 適応制御反映部63は、適応制御装置2から適応制御用指令値を受信した場合、モータ制御装置3へ次に送信する指令値へ反映させる。すなわち、適応制御反映部63は、適応制御装置2から適応制御用指令値を受信すると、受信した適応制御用指令値に基づいて、サーボ制御用の指令値を補正する。例えば、適応制御反映部63は、適応制御装置2から適応制御用指令値を受信した場合、該適応制御用指令値を受信した後サーボ制御演算部62から最初に受け取った指令値に、適応制御用指令値を反映させる。例えば、適応制御用指令値が回転速度を100rpm下げることを意味するものであれば、適応制御反映部63は、該適応制御用指令値を受信した後サーボ制御演算部62から最初に受け取った指令値が示す回転速度から100rpmを減じた値を指令値として通信部61へ出力する。また、適応制御反映部63は、適応制御装置2から適応制御用指令値を受信していない間は、サーボ制御演算部62から受け取った指令値をそのまま通信部61へ出力する。これにより、適応制御装置2から適応制御用指令値が送信された場合には、適応制御用指令値が反映された指令値が、適応制御が行われていない場合と同様の通信プロトコルでモータ制御装置3に伝達される。なお、適応制御用指令値は、上述した例のようにサーボ制御用指令値からの変更量を示すものであってもよいし、変更後の指令値例えば変更後の回転速度を示すものであってもよい。
[0030]
 また、適応制御装置2が設けられていない場合には、適応制御装置2から適応制御用指令値が送信されない。したがって、この場合、適応制御反映部63は、サーボ制御演算部62から受け取った指令値をそのまま通信部61へ出力する。したがって、モータ制御装置3は、適応制御装置2の有無にかかわらず同じ手順によって、数値制御装置1から送信された指令値に基づいてモータ4を制御すればよい。
[0031]
 図4は、本実施の形態のモータ制御システムにおける動作の一例を示すシーケンス図である。以下、図2、図3および図4を用いて、本実施の形態のモータ制御システムにおける各装置の動作手順の一例を説明する。
[0032]
 図4に示すように、数値制御装置1はサーボ制御用の指令値を送信する。適応制御装置2は、サーボ制御用の指令値を数値制御装置1から受信すると、サーボ制御用の指令値をそのまま通過させてモータ制御装置3へ伝達する(ステップS1)。このサーボ演算用の指令値は、1つ前の制御周期で適応制御用指令値を受信していれば適応制御用指令値が反映されたものであり、1つ前の制御周期で適応制御用指令値を受信していなければ、サーボ制御演算により生成された指令値である。適応制御装置2は、センサデータをセンサ5から受信する(ステップS2)。モータ制御装置3は、1つ前の制御周期において受信した指令値に基づいて動作し、フィードバックデータを送信する。適応制御装置2は、フィードバックデータをモータ制御装置3から受信すると、フィードバックデータをそのまま通過させて数値制御装置1へ伝達する(ステップS3)。適応制御装置2は、上述した適応制御演算を実施し(ステップS4)、適応制御演算に基づいて適応制御用指令値を生成し(ステップS5)、適応制御用指令値を数値制御装置1へ送信する(ステップS6)。
[0033]
 数値制御装置1は、受信したフィードバックデータを用いてサーボ制御演算を実施し(ステップS7)、サーボ制御演算により生成された指令値に、適応制御装置2から受信した適応制御用指令値を反映させる(ステップS8)。数値制御装置1は、適応制御用指令値を反映させた後の指令値をモータ制御装置3へ送信する(ステップS9)。
[0034]
 図4で示した、ステップS1の指令値が送信されてからステップS9の指令値が送信されるまでが、制御周期すなわちサーボ演算用の制御周期の1周期に相当する。図4は一例であり、制御周期内において、サーボ制御用指令値、フィードバックデータおよび適応制御指令値が送信されるタイミングは図4の例に限定されない。各装置は上記の動作を制御周期ごとに実施する。なお、図4では、適応制御演算の結果、適応制御用指令値を送信すると判定された例を示しているが、適応制御用指令値を送信しないと判定された場合、適応制御用指令値は送信されなくてもよい。または、適応制御用指令値を送信しないと判定された場合に、適応制御装置2は、サーボ演算用の指令値を変更する必要がないことを示す適応制御用指令値、例えば変更量を0とした適応制御用指令値を送信するようにしてもよい。
[0035]
 なお、センサデータを受信する周期、および適応制御演算を実施する周期は、サーボ演算用の制御周期と同一でなくてもよい。また、図4に示した例では、適応制御用指令値が送信された制御周期の次の制御周期でサーボ演算用の指令値への反映が行われる例を示したが、数値制御装置1は、適応制御用指令値を受信するタイミングによっては、該適応制御用指令値を受信した制御周期内で適応制御用指令値の反映が行われてもよい。
[0036]
 次に、適応制御装置2から数値制御装置1への適応制御用指令値の送信方法の具体例について説明する。数値制御装置1とモータ制御装置3との間の通信回線が周期的な通信を行う通信プロトコルの通信回線である場合、適応制御装置2がこの通信回線を用いて数値制御装置1へ適応制御用指令値を送信するには、通信周期内の適応制御用指令値の通信期間を定めておく必要がある。ここでは、数値制御装置1からモータ制御装置3へ送信する方向である下り方向とモータ制御装置3から数値制御装置1へ送信する方向である上り方向との2つの方向ごとに、通信周期内の各データに対応する通信期間が定められるとする。また、一般には、モータ制御システムでは、通信周期と制御周期とは同一である。以上のことから、上り方向の通信における制御周期のフィードバックデータの通信期間と適応制御用指令値の通信期間とを定めておけば、数値制御装置1は、数値制御装置1とモータ制御装置3との間の通信回線を用いて、フィードバックデータと適応制御用指令値との両方を受信することができる。
[0037]
 図5は、制御周期におけるフィードバックデータの通信期間と適応制御用指令値の通信期間との一例を示す図である。図5に示した例では、制御周期内で、フィードバック通信期間の後に適応制御用指令値の通信期間である適応制御用指令値通信期間を設けているが、各通信期間の制御周期内の配置はこの例に限定されず、各通信期間が制御周期内で重複しないように配置されればどのような配置であってもよい。
[0038]
 なお、数値制御装置1と適応制御装置2との間で、図示しない別の通信回線が存在する場合には、該通信回線を用いて、適応制御装置2が適応制御用指令値を数値制御装置1へ送信するようにしてもよい。この場合、制御周期における適応制御用指令値の通信期間を定めておく必要はない。
[0039]
 なお、数値制御装置1が、はじめから、図3に示したように適応制御反映部63を有し、かつ通信部61が図5に例示した各通信期間の受信処理に対応している場合には、適応制御装置2が途中から設置された場合に、数値制御装置1に対する変更を行う必要はない。
[0040]
 一方で、本実施の形態の適応制御装置2を、既存のモータ制御システムに適用することもできる。ここでいう、既存のモータ制御システムとは、数値制御装置1が図3に示した適応制御反映部63を備えずサーボ制御演算の機能を有するモータ制御システムである。既存のモータ制御システムに、本実施の形態の適応制御装置2を追加する場合、適応制御反映部63の機能を実現し、図5に例示した各通信期間の受信処理が実施できるように、数値制御装置1のソフトウェアを変更する。このソフトウェア変更による数値制御装置1への負荷の増加は軽微である。
[0041]
 以上のように、本実施の形態では、適応制御装置2が適応制御を実施して、適応制御用指令値を数値制御装置1へ送信し、数値制御装置1が、モータ制御装置3へ送信する指令値に適応制御用指令値を反映させるようにした。これにより、数値制御装置のプロセッサの負荷を大きく増やせないモータ制御システム、または既設のモータ制御システムであっても、数値制御装置1のプロセッサの負荷の増加を抑えつつ、モータ制御装置3の構成は変更せずに、センサデータ、フィードバックデータなどに基づく高度な適応制御を実現できる。すなわち、本実施の形態では、数値制御装置1およびモータ制御装置3の構成の変更を抑制しつつ、制御対象物に対する適応制御を追加可能となる。
[0042]
実施の形態2.
 次に、本発明にかかる実施の形態2のモータ制御システムについて説明する。本実施の形態のモータ制御システムの構成は実施の形態1と同様である。また、モータ制御システムを構成する各装置の構成も実施の形態1と同様である。以下、実施の形態1と異なる部分を主に説明し、実施の形態1と重複する説明を省略する。
[0043]
 実施の形態1では、適応制御装置2から数値制御装置1に対して、適応制御用指令値を送信し、数値制御装置1が適応制御用指令値を反映させたサーボ制御用の指令値を生成していた。実施の形態2では、適応制御装置2は、数値制御装置1だけでなく、モータ制御装置3に対しても、適応制御用指令値を送信する。
[0044]
 図6は、本実施の形態のモータ制御システムにおける動作の一例を示すシーケンス図である。ステップS1からステップS5は実施の形態1と同様である。ステップS5の後、適応制御装置2の通信部55は、適応制御用指令値を数値制御装置1へ送信する(ステップS11)とともに、モータ制御装置3へ送信する(ステップS12)。ステップS7からステップS9は実施の形態1と同様である。モータ制御装置3は、適応制御用指令値を受信すると、受信した適応制御用指令値とステップS1で受信したサーボ制御用指令値とに基づいてモータ4を制御する。また、サーボ制御用指令値と適応制御用指令値とが異なる指令値である場合には適応制御用指令値を優先するなどのように、適応制御用指令値とサーボ制御用指令値との両方に基づくモータ4の制御方法については予め制御方法を決めておく。例えば、サーボ制御用指令値が回転速度1000rpmの指令であるのに対して、適応制御用指令値が回転速度900rpmの指令である場合、モータ制御装置3は、適応制御用指令値に従い、モータの回転速度が900rpmとなるよう制御する。
[0045]
 本実施の形態では、適応制御用指令値が数値制御装置1を経由せずにモータ制御装置3へ伝達されるため、適応制御用指令値が実施の形態1より早くモータ制御装置3に伝達される。このため、実施の形態1より速やかに適応制御を反映させることができる。なお、数値制御装置1においても、次の制御周期の指令値に適応制御用指令値を反映する。したがって、数値制御装置1は、次周期以降の制御においては、数値制御装置1から送信する指令値は適応制御用指令値が反映されたものとなり、数値制御装置1とモータ制御装置3との間で指令値の不整合を防止することができる。
[0046]
 適応制御装置2から数値制御装置1への適応制御用指令値の送信方法の具体例について説明する。実施の形態1と同様に、適応制御装置2から数値制御装置1への適応制御用指令値は、数値制御装置1とモータ制御装置3との間の通信回線を用いて行うことができる。図7は、制御周期におけるサーボ制御用指令値の通信期間と適応制御用指令値の通信期間との一例を示す図である。図7では、本実施の形態の実施の形態1の図5の例で説明したように、上り方向と下り方向とでそれぞれ制御周期内での通信期間が定められているとしている。図7に示すように、下り方向の通信では、制御周期内でサーボ制御用指令値の通信期間の後に適応制御用指令値の通信期間が設けられているが、各通信期間の制御周期内の配置はこの例に限定されず、各通信期間が制御周期内で重複しないように配置されればどのような配置であってもよい。
[0047]
 なお、数値制御装置1と適応制御装置2との間で、図示しない別の通信回線が存在する場合には、該通信回線を用いて、適応制御装置2が適応制御用指令値を数値制御装置1へ送信するようにしてもよい。この場合、制御周期における適応制御用指令値の通信期間を定めておく必要はない。なお、本実施の形態では、モータ制御装置3が、適応制御用指令値を受信する機能と、適応制御用指令値とサーボ制御用指令値とのうちいずれかを選択する機能とを有している必要がある。したがって、モータ制御装置3がこれらの機能を有していない場合、ソフトウェアを変更することによりこれらの機能が実現できる。このソフトウェア変更は軽微であり、モータ制御装置3の負荷の増加も軽微である。
[0048]
 以上のように、本実施の形態では、適応制御装置2が数値制御装置1だけでなくモータ制御装置3へも適応制御用指令値を送信するようにした。このため、実施の形態1と同様の効果が得られるとともに、実施の形態1にかかるモータ制御システムよりも高速にモータ制御装置に適応制御指令値を伝達することができる。
[0049]
実施の形態3.
 図8は、本発明の実施の形態3にかかるモータ制御システムの構成例を示す図である。図8に示すように、本実施の形態のモータ制御システムは、適応制御装置2の代わりに適応制御装置2aを備える以外は、実施の形態1のモータ制御システムと同様である。適応制御装置2aは、実施の形態1の適応制御装置2にデータ保存用メモリ25を追加した構成を有する。実施の形態1と同様の機能を有する構成要素は、実施の形態1と同一の符号を付して実施の形態1と重複する説明を省略する。以下、実施の形態1と異なる点を主に説明する。
[0050]
 本実施の形態では、プロセッサ22は、センサデータ、フィードバックデータおよびサーボ制御用指令値のうち、保存が必要なデータを選択して、選択したデータを一定時間、データ保存用メモリ25へ格納する。すなわち、データ保存用メモリ25は、第1の指令値であるサーボ制御用の指令値、フィードバックデータ、およびセンサデータのうち少なくとも1つを記憶するメモリである。保存が必要なデータとは、後述するように、過去のデータに基づく解析に使用されるデータである。プロセッサ22は、データ保存用メモリ25に格納されたデータに基づいて適応制御演算を実施する。なお、データ保存用メモリ25と記憶部24が1つのメモリにより実現されてもよい。
[0051]
 また、図8では、データ保存用メモリ25は適応制御装置2aの中に含まれているが、この例に限定されず、適応制御装置2aが、USB(Universal Serial Bus)メモリ、SDカードをはじめとした外部記憶媒体とのデータの送受信を行う外部記憶媒体I/F部、外部記憶媒体をデータ保存用メモリ25として用いてもよい。また、適応制御装置2aが、LAN(Local Area Network)I/F部を備えこれらのI/F部を介して適応制御装置2の外部のHDD(Hard Disk Drive)、データサーバのメモリなどをデータ保存用メモリ25として用いてもよい。また、適応制御装置2aの内部のデータ保存用メモリ25と、HDD(Hard Disk Drive)、データサーバのメモリなどの外部のメモリとの両方に、上記の選択したデータを保存してもよい。すなわち、適応制御装置2aは、適応制御装置2aの外部に設けられた外部メモリに、サーボ制御用の指令値、フィードバックデータ、およびセンサデータのうち少なくとも1つを記憶させてもよい。
[0052]
 本実施の形態の各装置の機能構成例は実施の形態1と同様であるが、本実施の形態の適応制御装置2aの適応制御演算部53は、プロセッサ22および記憶部24だけでなくデータ保存用メモリ25を用いて実現される。本実施の形態の適応制御演算部53の動作について説明する。
[0053]
 適応制御演算部53は、抽出部52から適応制御演算に必要なデータを受け取ると、保存が必要なデータを選択して保存する。例えば、工作機械、ロボットなどにおいては、繰り返し同じ軌跡の制御を行うことがある。このような場合、適応制御演算部53は、位置指令値とそれに対応する位置フィードバックデータとをデータ保存用メモリ25に保存しておく。そして、適応制御演算部53はデータ保存用メモリ25に保存されている過去の同じ軌跡における位置指令値とそれに対応する位置フィードバックデータの誤差を計算し、その誤差が小さくなるように位置指令値を補正することで、制御対象物の実際の位置を本来の指令位置に近づけることができる。また、例えば、適応制御演算部53は、温度データを用いた熱変位補正を行う場合において、温度データをデータ保存用メモリ25に保存しておき、データ保存用メモリ25に保存されている過去の温度データと位置の誤差データ、すなわち位置指令値とそれに対応する位置フィードバックデータの誤差を用いることで、より高精度な熱変異補正を実現できる。
[0054]
 なお、上記の例では、実施の形態1のモータ制御システムにデータ保存用メモリ25を追加する例を説明したが、実施の形態2のモータ制御システムにおいて、適応制御装置2の内部および外部の少なくとも一方にデータ保存用メモリ25を追加して、本実施の形態と同様に過去のデータを用いた適応制御を実現してもよい。
[0055]
 このように、本実施の形態では、適応制御装置2aの内部および外部のうち少なくも一方にデータ保存用メモリ25を備えるようにした。これにより、実施の形態1と同様の効果が得られるとともに、過去のデータを用いたより高精度な適応制御を実現できる。
[0056]
実施の形態4.
 次に、本発明にかかる実施の形態4のモータ制御システムについて説明する。本実施の形態のモータ制御システムの構成は実施の形態1と同様である。また、モータ制御システムを構成する各装置の構成も実施の形態1と同様である。また、本実施の形態の動作は、以下に述べる動作を実施の形態1のモータ制御システムの動作に追加するが、以下に述べる点以外の動作は実施の形態1と同様である。以下、実施の形態1と異なる部分を主に説明し、実施の形態1と重複する説明を省略する。
[0057]
 数値制御装置1が正常であれば、正しいタイミングかつ正しい内容のサーボ制御用指令値を出力する。もし、数値制御装置1が故障などによりサーボ制御用指令値を出力できなくなった場合、モータ制御装置3は、何らかの異常が発生したと判断し、通常、モータ4を緊急に減速させる。しかし、複数の軸が同期して動作している機械システムでは、他の軸との関係を考慮せずに各々の軸に対応するモータ4を緊急に減速させると、場合によっては制御対象物である工具、ワーク、ロボットアームなどが互いに衝突し、破損する恐れがある。これを防ぐため、本実施の形態では、適応制御装置2の適応制御演算部53は、異常監視処理を実施する異常監視部としての機能も有し、数値制御装置1が生成するサーボ制御用指令値を監視し、サーボ制御用指令値の異常を確認すると、数値制御装置1に代わり、モータ制御装置3に対して、工具、ワーク、ロボットアームなどを互いに衝突させない減速の指令値を生成する。そして、生成した指令値を適応制御用指令値としてモータ制御装置3へ送信する。
[0058]
 図9は、実施の形態3の異常監視処理手順の一例を示すフローチャートである。適応制御演算部53は、数値制御装置1から送信された指令値すなわちサーボ制御用指令値を抽出部52から受け取り、指令値を正常に受信しているか否かを判断する(ステップS21)。指令値を正常に受信しているか否かの判断は、例えば、一定時間以上数値制御装置1から指令値を受信しない場合に正常に受信していないと判断し、それ以外の場合に正常と判断する方法がある。また、受信した指令値が、あらかじめ定めた正常範囲を逸脱している場合にも、適応制御演算部53は、指令値を正常に受信していないと判断する。指令値を正常に受信している場合(ステップS21 Yes)、適応制御演算部53は、ステップS21を繰り返す。
[0059]
 指令値を正常に受信していない場合(ステップS21 No)、すなわち指令値の異常を検出した場合、適応制御演算部53は、モータ4を減速させる適応制御用指令値を生成する(ステップS22)。指令値の異常を検出した場合に送信される適応制御用指令値は第3の指令値である。適応制御演算部53は、第3の指令値である適応制御用指令値を、通信部55を介してモータ制御装置3へ送信し(ステップS23)、異常監視処理を終了する。なお、ステップS23では、モータ4が複数存在する場合、複数のモータ4を減速させるようモータ制御装置3へ適応制御用指令値を送信する。なお、モータ4を減速させる指令値は、モータ4を停止させる指令値を含む。また、適応制御演算部53は、ステップS21でNoとなった場合、図示しない表示部、図示しないブザーなどを用いて異常であることをユーザに通知するようにしてもよい。また、図9では、ステップS23の後、異常監視処理を終了しているが、ステップS21へ戻るようにしてもよい。
[0060]
 適応制御装置2からモータ制御装置3への適応制御用指令値の送信方法は、実施の形態2で述べた方法を用いることができる。
[0061]
 以上のように、本実施の形態では、適応制御装置2が、サーボ制御用指令値を正常に受信していないことを検出すると、モータ制御装置3へモータ4を減速させる適応制御用指令値を送信するようにした。このため、実施の形態1と同様の効果が得られるとともに、数値制御装置1が故障等によりサーボ制御用指令値を出力できなくなった場合において、制御対象物である工具、ワーク、ロボットアーム等を破損することなく、かつ安全に各軸のモータを停止させることができる。
[0062]
 なお、上記の例では、実施の形態1のモータ制御システムに異常監視処理手順を追加する例を説明したが、実施の形態2または実施の形態3のモータ制御システムにおいて、異常監視処理手順を追加してもよい。
[0063]
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。

符号の説明

[0064]
 1 数値制御装置、2,2a 適応制御装置、3 モータ制御装置、4 モータ、11,21 通信回路、12,22 プロセッサ、13,24 記憶部、20 信号中継回路、23 センサI/F回路、25 データ保存用メモリ、51 中継部、52 抽出部、53 適応制御演算部、54 指令値生成部、55,61 通信部、62 サーボ制御演算部、63 適応制御反映部。

請求の範囲

[請求項1]
 数値制御装置から受信した第1の指令値、前記第1の指令値に基づいてモータを制御するモータ制御装置から受信したフィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも1つに基づいて、前記モータに対する第2の指令値を生成するプロセッサと、
 前記第2の指令値を前記数値制御装置へ送信する通信回路と、
 を備えることを特徴とする制御装置。
[請求項2]
 前記数値制御装置と前記モータ制御装置との間の通信回線に接続され、前記数値制御装置から前記モータ制御装置へ送信された前記第1の指令値をそのまま通過させ、前記モータ制御装置から前記数値制御装置へ送信された前記フィードバックデータをそのまま通過させる信号中継回路を備えることを特徴とする請求項1に記載の制御装置。
[請求項3]
 前記通信回路は、第2の指令値をさらに前記モータ制御装置へ送信することを特徴とする請求項1または2に記載の制御装置。
[請求項4]
 前記第1の指令値、前記フィードバックデータ、および前記センサデータのうち少なくとも1つを記憶するメモリ、
 を備えることを特徴とする請求項1から3のいずれか1つに記載の制御装置。
[請求項5]
 前記適応制御装置の外部に設けられた外部メモリに、前記第1の指令値、前記フィードバックデータ、および前記センサデータのうち少なくとも1つを記憶させることを特徴とする請求項1から4のいずれか1つに記載の制御装置。
[請求項6]
 前記プロセッサは、前記第1の指令値の異常を検出した場合、前記モータ制御装置に対して前記モータを減速させる第3の指令値を生成し、
 前記通信回路は、前記第3の指令値を前記モータ制御装置へ送信することを特徴とする請求項1から5のいずれか1つに記載の制御装置。
[請求項7]
 数値制御装置から受信した第1の指令値、前記第1の指令値に基づいてモータを制御するモータ制御装置から受信したフィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも1つに基づいて、前記モータに対する第2の指令値を生成する指令値生成部と、
 前記第2の指令値を前記数値制御装置へ送信する通信部と、
 を備えることを特徴とする制御装置。
[請求項8]
 数値制御装置と、
 数値制御装置から受信した第1の指令値に基づいてモータを制御し、前記数値制御装置へフィードバックデータを送信するモータ制御装置と、
 前記数値制御装置と前記モータ制御装置との間に接続可能な制御装置と、
 を備え、
 前記制御装置は、
 前記数値制御装置から受信した前記第1の指令値、前記モータ制御装置から受信した前記フィードバックデータ、およびセンサから受信したセンサデータのうち少なくとも1つに基づいて、前記モータに対する第2の指令値を生成するプロセッサと、
 前記第2の指令値を前記数値制御装置へ送信する通信部と、
 を備え、
 前記数値制御装置は、
 前記第2の指令値を受信すると前記第2の指令値に基づいて前記第1の指令値を補正することを特徴とするモータ制御システム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]