(57)【要約】【課題】異常動作をマスター装置側にフィードバックすることを可能としたモータ制御装置を提供する。【解決手段】移動指令取り込み周期と通信周期を設定するタイミング設定手段１６と、マスター装置１から送信されるタイミングカウンタ値９により移動指令８を取り込むタイミングを検出するタイミング検出手段１０と、タイミング検出手段１０で検出した移動指令８を取り込むタイミングの周期がタイミング設定手段１６により設定された周期と異なる場合に異常として検出する異常検出手段４と、異常検出手段４が異常を検出した場合には警告情報１５をレスポンスデータに付加する警告付加手段５とを備え、警告情報１５を付加したレスポンスデータを通信手段３により一定の通信周期でマスター装置１にフィードバックする。【選択図】図１
2006288133.tif 000002
【特許請求の範囲】
【請求項１】
マスター装置からの移動指令および移動指令の取り込みタイミングカウンタ値を含むコマンドデータを通信手段により一定の通信周期で受け取り、かつマスター装置内で実行される移動指令演算周期を通信周期の整数倍に設定可能とし、さらに前記通信周期はサーボ演算周期の整数倍に設定されたシステムにおいて、移動指令取り込み周期と通信周期を設定するタイミング設定手段と、マスター装置から送信されるタイミングカウンタ値により移動指令を取り込むタイミングを検出するタイミング検出手段と、前記タイミング検出手段で検出した移動指令を取り込むタイミングの周期が前記タイミング設定手段により設定された周期と異なる場合に異常として検出する異常検出手段と、前記異常検出手段が異常を検出した場合には警告情報をレスポンスデータに付加する警告付加手段とを備え、警告情報を付加したレスポンスデータを通信手段により一定の通信周期でマスター装置にフィードバックすることを特徴とするモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスター装置からの移動指令および移動指令の取り込みタイミングカウンタ値を含むコマンドデータを通信手段により一定の通信周期でモータ制御装置が受け取るシステムにおいて、マスター装置側の移動指令演算周期とモータ制御装置側の移動指令取り込み周期が一致しない場合に異常として検出し、異常動作をマスター装置側にフィードバックすることを可能としたモータ制御装置に関するものである。
【背景技術】
【０００２】
マスター装置からの移動指令および移動指令の取り込みタイミングカウンタ値を含むコマンドデータを通信手段により一定の通信周期でモータ制御装置が受け取るシステムの従来例を図６から図１０に示す。
【０００３】
図６に示すように、マスター装置１０１とモータ制御装置１０２が双方に備えられた通信手段１０３により接続され、この通信手段１０３を経由してマスター装置１０１から通信コマンドデータの一部として移動指令１０８とタイミングカウンタ１０９をモータ制御装置１０２に送信している。前記移動指令１０８には原点位置０を基準とした絶対位置データを設定するものとする。
【０００４】
図７に示すように、モータ制御装置１０２内で実行されるサーボ演算処理の周期をＴとし、これに対しマスター装置１０１の移動指令演算処理の周期を６Ｔ（６倍周期）、通信周期を３Ｔ（３倍周期）としている。つまり、通信周期はサーボ演算周期の３倍で、指令演算周期は通信周期の２倍となる。なお、モータ制御装置１０２側の移動指令取り込み処理の周期は６Ｔでありマスター装置１０１側の移動指令演算処理の周期と一致した周期として、通信が開通する事前に通信周期３Ｔとともにタイミング設定手段１１６により設定している。
【０００５】
また、通信周期と移動指令演算周期が一致しない場合には、移動指令取り込みのタイミングをモータ制御装置１０２に知らせるために、マスター装置１０１からモータ制御装置１０２にタイミングカウンタ１０９を送信し、タイミングカウンタ１０９の値が＋１変化したタイミングを移動指令取り込みタイミングとしている。ただし、一旦モータ制御装置１０２が取り込みタイミングを認識したら、その後はタイミングカウンタ１０９が停止しても設定された周期ごとに取り込み処理を続けるものとしているが、再度タイミングカウンタ１０９が＋１変化した場合はそのタイミングを移動指令取り込みタイミングとして再認識するものとしている。
【０００６】
次に、モータ制御装置１０２内の通信割り込み処理（周期３Ｔ）、移動指令取り込み処理（周期６Ｔ）、およびサーボ演算処理（周期Ｔ）について図８を用いて説明する。
【０００７】
モータ制御装置１０２は周期３Ｔごとに発生する通信割り込み処理内にて、受信したタイミングカウンタ１０９の値から取り込みタイミングであるかどうかをタイミング検出手段１１０にて検出し、取り込みタイミングである場合は移動指令取り込み処理を実行する。移動指令取り込み処理内にて、絶対位置データである移動指令１０８と既にサーボ演算処理にて演算済みの移動指令累積値１１３との差分値から今回の取り込み周期間の移動指令量１１２を演算し、さらにサーボ演算周期ごとに均等に配分する。この場合、移動指令取り込み周期はサーボ演算周期の６倍であるため、取り込み周期間の移動指令量１１２を６等分し、分割後の移動指令量１１１［０］から１１１［５］に割り当てる(例えば、特許文献１参照)。
【０００８】
移動指令量の６等分の余りについては、例えば分割後の移動指令量１１１［０］、１１１［３］、１１１［１］、１１１［４］、１１１［２］、１１１［５］の順に割り当て、一定速運転時の平均化率を高めている。
【０００９】
さらに、サーボ演算処理内にて、周期Ｔ毎に６分割後の移動指令量１１１を演算に使用する移動指令量１１４にコピーする。移動指令取り込みタイミング時には、分割後の移動指令量１１１［０］を演算に使用する移動指令量１１４にコピーする。次の周期のサーボ演算処理では分割後の移動指令量１１１［１］、さらに次の周期では分割後の移動指令量１１１［２］といったように一定の順序で演算に使用する移動指令量１１４にコピーする。分割後の移動指令量１１１［５］をコピーした次の周期からは分割後の移動指令量１１１［０］に戻り、コピー処理を実行する。
【００１０】
つまり、サーボ演算処理において、取り込みタイミングである周期もしくは分割後の移動指令量１１１［５］をコピーした次の周期は分割後の移動指令量１１１［０］をコピーする手順とする。
【特許文献１】特開平２−２４５８０２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
解決しようとする問題点は、マスター装置側の移動指令演算周期とサーボ制御装置側の移動指令取り込み周期が一致しない値に設定された場合、例えば上述したマスター装置１０１側の移動指令演算周期が６Ｔではなく３Ｔに設定されている場合、タイミングカウンタ１０９の値が３Ｔの周期でインクリメントして送信されてくるため、モータ制御装置１０２側は周期３Ｔごとに６分割の処理を行うことになり、本来サーボ演算処理内においても分割後の移動指令量１１１［３］を演算に使用する移動指令量１１４へのコピーすべきタイミングである周期においても、取り込みタイミングであるが故に分割後の移動指令量１１１［０］から取り込んでコピーすることになる。この場合結果として、例えば図９に示すように実際にモータ制御に使用された移動指令の波形は上位装置１０１から送信された移動指令の波形から遅れた形となる。
【００１２】
また、逆にモータ制御装置１０２側の移動指令取り込み周期が６Ｔではなく３Ｔに設定されている場合、本来モータ制御装置１０２側にて周期６Ｔごとに６分割するはずの処理が、周期３Ｔごとに３分割することになるため、分割後の移動指令量１１１は［０］から［２］に設定され［３］から［５］の値は使用しないことになる。次にサーボ演算処理内では分割後の移動指令量１１１［２］を演算に使用する移動指令量１１４へコピーした次の周期では、手順に従いコピー元データを移動指令量１１１［０］に戻しコピー処理を行う。次の周期の移動指令取り込み処理では、移動指令１０８の値に変化がなく演算済み移動指令累積値１１３と一致しているため、取り込み周期間の移動指令量１１２は０となり、分割後の移動指令量１１１、演算に使用する移動指令量１１４についても共に０となる。結果として図１０に示すように周期３Ｔ毎に動作、停止を繰り返すような指令波形となる。
【００１３】
また、タイミングカウンタ１０９の値が０のままの場合、または＋２ずつインクリメントしたなど正常に＋１ずつインクリメントしない場合は、モータ制御装置１０２は正常な移動指令の取り込みタイミングを認識することができず移動指令１０８を取り込むことができず、結果として演算に使用する移動指令量１１４は０となり全く動作しない。
【００１４】
本発明は上記従来の課題を解決するものであり、マスター装置側の移動指令演算周期とモータ制御装置側の移動指令取り込み周期が一致しない場合に異常として検出し、異常動
作をマスター装置側にフィードバックすることを可能としたモータ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために本発明は、移動指令取り込み周期と通信周期を設定するタイミング設定手段と、マスター装置から送信されるタイミングカウンタ値により移動指令を取り込むタイミングを検出するタイミング検出手段と、前記タイミング検出手段で検出した移動指令を取り込むタイミングの周期が前記タイミング設定手段により設定された周期と異なる場合に異常として検出する異常検出手段と、前記異常検出手段が異常を検出した場合には警告情報をレスポンスデータに付加する警告付加手段とを備え、警告情報を付加したレスポンスデータを通信手段により一定の通信周期でマスター装置にフィードバックする。
【発明の効果】
【００１６】
本発明のモータ制御装置によれば、異常検出時に通信のレスポンスデータに警告情報を付加することで、通信手段を通じて異常動作が発生している旨をマスター装置に知らせることができる。その結果、異常動作をマスター装置側にて移動指令演算周期と移動指令取り込み周期の設定ミスおよびタイミングカウンタの演算処理ミスなどの不具合を検出可能となり、市場への流出を未然に防止することが可能となる。
【発明を実施するための最良の形態】
【００１７】
マスター装置からの移動指令および移動指令の取り込みタイミングカウンタ値を含むコマンドデータを通信手段により一定の通信周期で受け取り、かつマスター装置内で実行される移動指令演算周期を通信周期の整数倍に設定可能とし、さらに前記通信周期はサーボ演算周期の整数倍に設定されたシステムにおいて、移動指令取り込み周期と通信周期を設定するタイミング設定手段と、マスター装置から送信されるタイミングカウンタ値により移動指令を取り込むタイミングを検出するタイミング検出手段と、前記タイミング検出手段で検出した移動指令を取り込むタイミングの周期が前記タイミング設定手段により設定された周期と異なる場合に異常として検出する異常検出手段と、前記異常検出手段が異常を検出した場合には警告情報をレスポンスデータに付加する警告付加手段とを備え、警告情報を付加したレスポンスデータを通信手段により一定の通信周期でマスター装置にフィードバックする。
【実施例１】
【００１８】
図１において、マスター装置１とモータ制御装置２が双方に備えられた通信手段３により接続され、この通信手段３を経由してマスター装置１から通信コマンドデータの一部として移動指令８とタイミングカウンタ９をモータ制御装置２に送信している。前記移動指令８には原点位置０を基準とした絶対位置データを設定するものとする。
【００１９】
図２に示すように、モータ制御装置２内で実行されるサーボ演算処理の周期をＴとし、これに対しマスター装置１の移動指令演算処理の周期を６Ｔ（６倍周期）、通信周期を３Ｔ（３倍周期）としている。つまり、通信周期はサーボ演算周期の３倍で、指令演算周期は通信周期の２倍となる。なお、モータ制御装置２側の移動指令取り込み処理の周期は６Ｔでありマスター装置１側の移動指令演算処理の周期と一致した周期として、通信が開通する事前に通信周期３Ｔとともにタイミング設定手段１６により設定している。
【００２０】
例えば、タイミング設定手段１６はパラメータとし、このパラメータの設定値が２の場合は通信周期３Ｔかつ移動指令取り込み周期６Ｔの組み合わせ、設定値が１の場合は通信周期３Ｔかつ移動指令取り込み周期３Ｔの組み合わせとする。
【００２１】
また、移動指令取り込みのタイミングをモータ制御装置２に知らせるために、マスター装置１からモータ制御装置２にタイミングカウンタ９を送信し、タイミングカウンタ９の値が＋１変化したタイミングを移動指令取り込みタイミングとしている。ただし、一旦モータ制御装置２が取り込みタイミングを認識したら、その後はタイミングカウンタ９が停止しても設定された周期ごとに取り込み処理を続けるものとする。また、再度タイミングカウンタ１０９が＋１変化した場合はそのタイミングを移動指令取り込みタイミングとして再認識するものとしている。
【００２２】
次に、モータ制御装置２内の通信割り込み処理（周期３Ｔ）、移動指令取り込み処理（周期６Ｔ）、およびサーボ演算処理（周期Ｔ）について図３を用いて説明する。
【００２３】
図３において、モータ制御装置２は周期３Ｔごとに発生する通信割り込み処理内にて、受信したタイミングカウンタ９の値から取り込みタイミングであるかどうかをタイミング検出手段１０にて検出し、取り込みタイミングである場合は移動指令取り込み処理を実行する。移動指令取り込み処理内にて、絶対位置データである移動指令８と既にサーボ演算処理にて演算済みの移動指令累積値１３との差分値から今回の取り込み周期間の移動指令量１２を演算し、さらにサーボ演算周期ごとに均等に配分する。
【００２４】
この場合、上述したようにタイミング設定手段１６により移動指令取り込み周期はサーボ演算周期の６倍に設定しているため、サーボ演算周期ごとに均等に配分するために取り込み周期間の移動指令量１２を６等分し、分割後の移動指令量１１［０］から１１［５］に割り当てる。
【００２５】
移動指令量の６等分の余りについては、例えば分割後の移動指令量１１［０］、１１［３］、１１［１］、１１［４］、１１［２］、１１［５］の順に割り当て、一定速運転時の平均化率を高めている。
【００２６】
さらに、サーボ演算処理内にて、周期Ｔ毎に６分割後の移動指令量１１を演算に使用する移動指令量１４にコピーする。移動指令取り込みタイミング時には、分割後の移動指令量１１［０］を演算に使用する移動指令量１４にコピーする。次の周期のサーボ演算処理では分割後の移動指令量１１［１］、さらに次の周期では分割後の移動指令量１１［２］といったように一定の順序で演算に使用する移動指令量１４にコピーする。
【００２７】
分割後の移動指令量１１［５］をコピーした次の周期からは、分割後の移動指令量１１［０］に戻り、コピー処理を実行する。つまり、サーボ演算処理において、取り込みタイミングである周期もしくは分割後の移動指令量１１［５］をコピーした次の周期は分割後の移動指令量１１［０］をコピーする手順とする。
【００２８】
ここで、マスター装置１側の移動指令演算周期とサーボ制御装置２側の移動指令取り込み周期が、設定ミスにより一致しない値に設定された場合、例えばマスター装置１側の移動指令演算周期が６Ｔではなく３Ｔに設定されている場合について説明する。
【００２９】
タイミングカウンタ９の値が、３Ｔの周期でインクリメントして送信されてくるため、モータ制御装置２側は周期３Ｔ毎に６分割の処理を行うことになり、本来サーボ演算処理内においても分割後の移動指令量１１［３］を演算に使用する移動指令量１４へのコピーすべきタイミングである周期においても、取り込みタイミングとなってしまうために、上述した手順に従い分割後の移動指令量１１［０］から取り込んでコピーすることになる。この場合結果として、例えば図９に示すように実際にモータ制御に使用された移動指令の波形は上位装置１から送信された移動指令の波形から遅れた形となる。
【００３０】
この異常動作を検出するためにモータ制御装置２では、マスター装置１から送信されるタイミングカウンタ９の値により移動指令８を取り込むタイミングを検出するタイミング検出手段１０と、移動指令８を取り込むタイミングの周期がタイミング検出手段１０で検出した値と設定値との間で異なる場合に異常として検出する異常検出手段４を設けており、異常検出手段４が異常を検出した場合には警告情報１５を警告付加手段５によりレスポンスデータに付加し、通信手段３により一定の通信周期でマスター装置１にフィードバックする構成としている。
【００３１】
図４において、モータ制御装置２内の異常検出手段４で実行される警告検出処理の詳細について説明する。本処理は通信データを受信したときに発生する周期３Ｔの通信割り込み処理内にて実行されるものとする。
【００３２】
また、通信ラインに過大なノイズが印加し通信異常が発生した場合にはタイミングカウンタ９の値に信憑性がなく、タイミング異常を判断できないので、２回連続で正常受信した場合にのみ警告検出処理を実行する。よって、通信異常により２回連続して正常受信できなかった場合には警告Ａ検出カウンタ、警告Ｂ検出カウンタともに値を０にクリアする。
【００３３】
通信異常の検出は、本警告検出処理が実行される前に行い、その通信異常の検出方法については特に問わない、例えばＣＲＣによる検出方法などがある。
【００３４】
２回連続して正常に通信データを受信したことを確認し、次に取り込みタイミングであるかどうかを判定する。前回のタイミングカウンタ９の値に＋１加算した値と今回のタイミングカウンタ９の値が一致していれば、今回の通信周期は取り込みタイミングの周期であると判定する。
【００３５】
上述したように、マスター装置１側の移動指令演算周期が６Ｔではなく３Ｔに設定されている場合はタイミングカウンタ９の値が３Ｔの周期、つまり通信周期と同じタイミングで＋１インクリメントして送信されてくるため、全ての通信周期にて取り込みタイミングであると判定されてしまう。
【００３６】
つまり、今回および前回の周期も取り込みタイミングとなるため、取り込みタイミングが連続したことを異常として検出し、警告Ａ検出カウンタの値を＋１インクリメントし、この警告Ａ検出カウンタの値が警告Ａ判定回数以上となった場合に警告Ａをラッチする。さらに、ラッチした警告情報を警告付加手段５に転送し、レスポンスデータに警告情報１５として付加する。
【００３７】
上記の構成とすることで、移動指令演算周期と移動指令取り込み周期の設定ミスにより発生した異常動作をマスター装置１側にて検出することができる。
【実施例２】
【００３８】
実施例２では、実施例１とは逆にモータ制御装置２側の移動指令取り込み周期が６Ｔではなく３Ｔに設定されている場合、つまり通信周期と移動指令取り込み周期が３Ｔで一致している場合について説明する。マスター装置１およびモータ制御装置２の構成は実施例１の場合と同様な構成である。
【００３９】
この設定の場合図５に示すように、本来モータ制御装置２側にて周期６Ｔごとに６分割するはずの処理が、周期３Ｔ毎に３分割することになるため、分割後の移動指令量１１は［０］から［２］に設定され［３］から［５］の値は使用しないことになる。
【００４０】
次にサーボ演算処理内では分割後の移動指令量１１［２］を演算に使用する移動指令量１４へコピーした次の周期では手順に従いコピー元データを移動指令量１１［０］に戻しコピー処理を行う。次の周期の移動指令取り込み処理では、移動指令８の値に変化がなく演算済み移動指令累積値１３と一致しているため、取り込み周期間の移動指令量１２は０となり、分割後の移動指令量１１、演算に使用する移動指令量１４についても共に０となる。結果として図１０に示すように周期３Ｔごとに動作、停止を繰り返すような指令波形となる。
【００４１】
次に、図４にてモータ制御装置２内の異常検出手段４で実行される警告検出処理について説明する。上述したように、モータ制御装置２側の移動指令取り込み周期が６Ｔではなく３Ｔに設定されている場合は、通信周期と移動指令取り込み周期が一致しているため、本来はモータ制御装置２側としては全ての通信周期が取り込みタイミングであると判定されなければならない。
【００４２】
しかし、マスター装置１から送信されてくるタイミングカウンタ９は移動指令演算周期６Ｔごとに＋１インクリメントされるため、通信割り込み処理の２回に１回の割合で取り込みタイミングが発生することになる。取り込みタイミングではない周期が存在すると、警告Ｂ検出カウンタの値を＋１インクリメントし、この警告Ｂ検出カウンタの値が警告Ｂ判定回数以上となった場合に警告Ｂをラッチする。さらにラッチした警告情報を警告付加手段５に転送し、レスポンスデータに警告情報１５として付加する。
【００４３】
上記の構成とすることで、移動指令演算周期と移動指令取り込み周期の設定ミスにより発生した異常動作をマスター装置１側にて検出することができる。
【実施例３】
【００４４】
マスター装置１およびモータ制御装置２の構成は実施例１および実施例２と同様な構成とする。
【００４５】
タイミングカウンタ９の値が０のままの場合、または＋２ずつインクリメントしたなど正常に＋１ずつインクリメントしない場合、取り込みタイミングが発生しないためモータは動作しない異常現象が発生する。
【００４６】
この場合、取り込みタイミングではない周期が存在するため、警告Ｂ検出カウンタの値を＋１インクリメントし、この警告Ｂ検出カウンタの値が警告Ｂ判定回数以上となった場合に警告Ｂをラッチする。さらにラッチした警告情報を警告付加手段５に転送し、レスポンスデータに警告情報１５として付加する。
【００４７】
上記の構成とすることで、移動指令演算周期と移動指令取り込み周期の設定ミスにより発生した異常動作をマスター装置１側にて検出することができる。
【産業上の利用可能性】
【００４８】
本発明のモータ制御装置は、スレーブとしてシステムに組み込まれ、異常動作をマスター装置側にて検出可能であり、サーボシステム異常による不具合品の流出防止に有用である。
【図面の簡単な説明】
【００４９】
【図１】本発明のモータ制御装置における主要部の構成図
【図２】本発明におけるデータ受け渡しタイミングの説明図
【図３】本発明のモータ制御装置における処理例１の説明図
【図４】本発明のモータ制御装置における警告検出処理の説明図
【図５】本発明のモータ制御装置における処理例２の説明図
【図６】従来のモータ制御装置における主要部の構成図
【図７】従来におけるデータ受け渡しタイミングの説明図
【図８】従来のモータ制御装置における各処理の説明図
【図９】異常動作例１の説明図
【図１０】異常動作例２の説明図
【符号の説明】
【００５０】
１  マスター装置
２  モータ制御装置
３  通信手段
４  異常検出手段
５  警告付加手段
６  データ制御手段
７  モータ制御手段
８  移動指令
９  タイミングカウンタ値
１０  タイミング検出手段
１１  分割後の移動指令量
１２  取り込み周期間の移動指令量
１３  演算済みの移動指令累積値
１４  演算に使用する移動指令量
１５  警告情報
１６  タイミング設定手段
【図１】
2006288133.tif 000003
【図２】
2006288133.tif 000004
【図３】
2006288133.tif 000005
【図４】
2006288133.tif 000006
【図５】
2006288133.tif 000007
【図６】
2006288133.tif 000008
【図７】
2006288133.tif 000009
【図８】
2006288133.tif 000010
【図９】
2006288133.tif 000011
【図１０】
2006288133.tif 000012