(57)【要約】【課題】同期制御の場合において、スレーブ軸の位置決め精度を予め設定した位置決め完了誤差範囲内に満足させる位置決め完了検出方法を提供する。【解決手段】加工プログラムに従って複数の制御軸を制御する数値制御において、マスタ軸に対して１軸以上の軸がマスタ軸の実位置に追従して同期動作をさせ、加工プログラムの１ブロックの各制御軸に対する移動指令を前記各制御軸のモータを制御するサーボドライブに全て指令したか否かを判別し、前記加工プログラムの１ブロック終了位置での位置と前記制御軸の実位置との差の絶対値を予め設定された位置決め完了と判断する誤差範囲と比較して前記誤差範囲以下の場合は、位置決め完了したと判別し、前記マスタ軸が、前記１ブロック指令完了判別部で１ブロックの指令を全て指令したと判別された場合に、マスタ軸だけでなくマスタ軸の実位置に追従するスレーブ軸についても位置決め完了か否かを判別する。【選択図】　　図１
2004034214.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御軸を有し、加工プログラムに従って前記制御軸を制御する数値制御装置における特定の軸（以下、マスタ軸）に対して１軸または複数の軸が前記マスタ軸の実位置に追従して同期動作する同期制御軸の位置決め完了検出方法において、前記１軸または複数の軸を前記マスタ軸の実位置に追従して同期動作させる同期制御部と、加工プログラムの１ブロックの各制御軸に対する移動指令を前記各制御軸のモータを制御するサーボドライブに全て指令したか否かを判別する１ブロック指令完了判別部と、前記加工プログラムの１ブロック終了位置での位置と前記制御軸の実位置との差を算出し、前記差の絶対値と予め設定された位置決め完了と判断する誤差範囲とを比較して前記誤差範囲以下の場合は、位置決め完了したと判別する位置決め完了判別部とを有し、前記マスタ軸が、前記１ブロック指令完了判別部で１ブロックの指令を全て指令したと判別された場合に、前記マスタ軸の実位置に追従する軸（以下、スレーブ軸）について位置決め完了判別部で位置決め完了か否かを判別することを特徴とする同期制御軸の位置決め完了検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御装置における同期制御軸の位置決め完了の検出方法に関する。
【０００２】
【従来の技術】
特定のマスタ軸に対して１軸または複数の軸が前記マスタ軸の実位置に追従して同期動作する同期制御における従来の位置決め完了検出では、前記マスタ軸の位置決め完了判別のみ行い、前記スレーブ軸は判別しない。
これは、前記同期制御の場合、前記スレーブ軸の移動指令は前記マスタ軸の実位置を基に作成されるため、前記スレーブ軸の全移動指令がサーボドライブに指令されるためには、前記マスタ軸の実位置が移動指令位置とほぼ一致する必要があるためである。
前記同期制御における従来の位置決め完了の判別方法を図３のフローチャートに示す。
以下の説明では全制御軸がマスタ軸と１軸のスレーブ軸の場合として説明する。
（１）まず、所定の周期毎の移動指令をサーボドライブに対し指令する（ステップ３１）。
（２）加工プログラムで現在実行中のブロックの前記マスタ軸に対する全移動指令をサーボドライブに指令したか否かを判別する（ステップ３２）。
（３）全移動指令を指令した場合は、ステップ３３へ進み、指令していない場合は、ステップ３１に戻る。
（４）全移動指令を指令した場合は、現在のブロックの終了位置と前記マスタ軸の実位置との差の絶対値を求める。（ステップ３３）。
（５）次に、ステップ３３にて求めた差の絶対値と予め設定された位置決め完了誤差範囲以下であるかを判別する（ステップ３４）。
（６）誤差範囲以下の場合は、ステップ３５に進み、誤差範囲より大きい場合は、ステップ３１に戻る。
（７）誤差範囲以下の場合は、前記マスタ軸と前記マスタ軸の実位置に追従するスレーブ軸の位置決め完了フラグをＯＮする（ステップ３５）。
（８）次に、全制御軸の位置決め完了フラグがＯＮしているか否かを判別する（ステップ３６）。
（９）全制御軸の位置決め完了フラグがＯＮしている場合はステップ３７へ進み、位置決め完了フラグがＯＦＦの場合は、ステップ３１に戻る。
（１０）全制御軸の位置決め完了フラグがＯＮしている場合は、加工プログラムの次のブロックへ移行する（ステップ３７）。
【０００３】
【発明が解決しようとする課題】
ところが、従来の技術では、前記スレーブ軸の位置決め完了検出を行っていないため、スレーブ軸の位置決め精度は、前記マスタ軸の単位移動距離あたりの前記スレーブ軸の移動距離に依存し、予め設定された前記位置決め完了の誤差範囲を満足しない場合があった。
前記マスタ軸の位置決め完了誤差範囲をＡ、前記マスタ軸の１回転あたりの前記マスタ軸の移動距離をＢ、前記マスタ軸の１回転あたりの前記スレーブ軸の移動距離をＣとした場合、前記スレーブ軸の位置決め精度Ｓは数式（１）となる。
Ｓ＝Ａ×Ｃ／Ｂ　・・・数式（１）
そこで、本発明は、前記同期制御の場合において、前記スレーブ軸の位置決め精度を予め設定した位置決め完了誤差範囲内に満足させることを目的とする。
【０００４】
【課題を解決するための手段】
上記問題を解決するため、請求項１記載の同期制御軸の位置決め完了検出方法の発明は、複数の制御軸を有し、加工プログラムに従って前記制御軸を制御する数値制御装置における特定の軸（以下、マスタ軸）に対して１軸または複数の軸が前記マスタ軸の実位置に追従して同期動作する同期制御軸の位置決め完了検出方法において、前記１軸または複数の軸を前記マスタ軸の実位置に追従して同期動作させる同期制御部と、加工プログラムの１ブロックの各制御軸に対する移動指令を前記各制御軸のモータを制御するサーボドライブに全て指令したか否かを判別する１ブロック指令完了判別部と、前記加工プログラムの１ブロック終了位置での位置と前記制御軸の実位置との差を算出し、前記差の絶対値と予め設定された位置決め完了と判断する誤差範囲とを比較して前記誤差範囲以下の場合は、位置決め完了したと判別する位置決め完了判別部とを有し、前記マスタ軸が、前記１ブロック指令完了判別部で１ブロックの指令を全て指令したと判別された場合に、前記マスタ軸の実位置に追従する軸（以下、スレーブ軸）について位置決め完了判別部で位置決め完了か否かを判別することを特徴とする。
【０００５】
【発明の実施の形態】
図１に本発明に係る位置決め完了の判別方法のフローチャートを示す。
以下の説明では制御軸が前記マスタ軸とそのスレーブ軸のみとして説明する。（１）まず、移動指令出力部にて所定の周期毎の移動指令をサーボドライブに対し指令する（ステップ１１）。
（２）加工プログラムで現在実行中のブロックの前記マスタ軸に対する全移動指令をサーボドライブに指令したか否かを判別する（ステップ１２）。
（３）全移動指令を指令した場合は、ステップ１３へ進み、指令していない場合は、ステップ１１に戻る。ステップ１３では、現在のブロックの終了位置と前記マスタ軸の実位置との差の絶対値を求める。
（４）次に、前記スレーブ軸のブロック終了位置と実位置との差の絶対値を求める（ステップ１４）。
（５）次に、ステップ１３にて求めた差の絶対値が予め設定された位置決め完了誤差範囲以下であるかを判別する（ステップ１５）。
（６）誤差範囲以下でなければステップ１１に戻る。以下であればマスタ軸の位置決め完了フラグをＯＮする（ステップ１６）。
（７）また、ステップ１４にて求めた差の絶対値が予め設定された位置決め完了誤差範囲以下であるかを判別する（ステップ１７）。
（８）誤差範囲以下でなければステップ１１に戻る。以下であればスレーブ軸の位置決め完了フラグをＯＮする（ステップ１８）。
（９）次に、全制御軸の位置決め完了フラグがＯＮしているか否かを判別する（ステップ１９）。
（１０）ステップ１８の判別結果、少なくとも１軸の位置決め完了フラグがＯＦＦの場合はステップ１１に戻る。全制御軸の位置決め完了フラグがＯＮしている場合はステップ１８へ進み、加工プログラムの次のブロックへ移行する（ステップ１８）。
【０００６】
図２に本発明を実施した場合の前記マスタ軸およびスレーブ軸の位置および速度の例を示す。また、図４に従来の技術における前記マスタ軸およびスレーブ軸の位置および速度の例を示す。
図２および図４において、（ａ）はマスタ軸の時間（横軸）対実移動距離（縦軸）の線図で、実線は実位置、点線は指令位置を示している。（ｂ）はスレーブ１軸の時間（横軸）対実移動距離（縦軸）の線図で、実線は実位置、点線は指令位置を示している。（ｃ）はマスタ軸実速度（点線）、スレーブ軸指令速度（実線）およびスレーブ軸実速度（鎖線）の時間（横軸）対速度（縦軸）の線図である。
図４の（ｂ）においてブロック終了位置でのスレーブ軸の実位置の位置決め誤差Ｅは予め設定された位置決め完了誤差範囲Ａを逸脱している。
これに対して、図２の（ｂ）において、ブロック終了位置でのマスタ軸の実位置の位置決め誤差Ｅは、マスタ軸の実位置に追従するスレーブ軸についても位置決め完了か否かを判別しているので、位置決め完了誤差範囲Ｓ内に納まっているのが分かる。
【０００７】
図５は本発明に係る位置決め検出方法を実行する数値制御装置周辺のブロック図である。図５において、５０は数値制御装置、５０１はプログラム解析部、５１は補間部、５２は１ブロック読み込み部、５３は速度指令作成部、５４はマスタ軸位置指令作成部、５５は同期制御部、５６ａはマスタ軸位置指令出力部、５６ｂはスレーブ軸位置指令出力部、５１Ａは１ブロック指令完了判別部、５１Ｂは位置決め完了判別部である。５７ａは指令に従ってマスタ軸モータを駆動するマスタ軸サーボドライブ、５８ａはマスタ軸モータ、５９ａはマスタ軸モータ５８ａの位置を検出する位置検出器（エンコーダ）である。また、５７ｂは指令に従ってスレーブ軸モータを駆動するスレーブ軸サーボドライブ、５８ｂはスレーブ軸モータ、５９ｂはスレーブ軸モータ５８ｂの位置を検出する位置検出器（エンコーダ）である。
数値制御装置５０は大きくプログラム解析部５０１と補間部５１とから構成され、補間部５１は、１ブロック読み込み部５２と速度指令作成部５３とマスタ軸位置指令作成部５４と、同期制御部５５と、マスタ軸位置指令出力部５６ａと、スレーブ軸位置指令出力部５６ｂと、１ブロック指令完了判別部５１Ａと、位置決め完了判別部５１Ｂとで構成される。
プログラム解析部５０１は指令された加工プログラムを解析し、１ブロック毎の内部情報を作成する。
１ブロック読み込み部５２はプログラム解析部５０１にて作成された内部情報を１ブロックずつ読み込む。
速度指令作成部５３は補間周期毎の速度指令を作成する。
マスタ軸位置指令作成部５４はマスタ軸に対する位置指令を作成する。
同期制御部５５とはマスタ軸の実位置を基にマスタ軸移動量当たりのスレーブ軸位置指令を作成する。
マスタ軸位置指令出力部５６ａはマスタ軸サーボドライブに対して位置指令を出力する。
スレーブ軸位置指令出力部５６ｂはマスタ軸サーボドライブに対して位置指令を出力する。
１ブロック指令完了判別部５１Ａはマスタ軸位置指令を監視し、１ブロック移動量を全て指令したかを判別する。
位置決め完了判別部５１Ｂは、本発明により設けられたブロックで、各サーボドライブに出力された位置指令と位置検出器からの実位置を比較し、位置決め完了したかを判別する。
【０００８】
このように、加工プログラムに従って制御軸を制御する数値制御装置において、同期制御部５５でマスタ軸に対して１軸または複数の軸がマスタ軸の実位置に追従して同期動作をさせ、１ブロック指令完了判別部５１Ａで加工プログラムの１ブロックの各制御軸に対する移動指令を各制御軸のモータを制御するサーボドライブに全て指令したか否かを判別し、その後、位置決め完了判別部５１Ｂで加工プログラムの１ブロック終了位置での位置と制御軸の実位置との差を算出し、前記差の絶対値と予め設定された位置決め完了と判断する誤差範囲とを比較して前記誤差範囲以下の場合は位置決め完了したと判別し、そしてマスタ軸が１ブロック指令完了判別部５１Ａで１ブロックの指令を全て指令したと判別された場合に、マスタ軸の実位置に追従するスレーブ軸について位置決め完了判別部５１Ｂで位置決め完了か否かを判別するようにしている。
【０００９】
【発明の効果】
以上述べたように、本発明によれば、特定のマスタ軸に対して１軸または複数の軸がマスタ軸の実位置に追従して同期動作を行う同期制御において、マスタ軸が１ブロック指令完了判別部で１ブロックの指令を全て指令したと判別された場合に、マスタ軸およびマスタ軸の実位置に追従する軸について位置決め完了か否かを判別することによって、マスタ軸だけでなく、スレーブ軸において位置決め精度を予め設定された位置決め完了誤差範囲を満足する効果がある。
【図面の簡単な説明】
【図１】本発明に係る位置決め完了の判別方法のフローチャートである。
【図２】本発明における位置および速度の概要図である。
【図３】従来の位置決め完了の判別方法のフローチャートである。
【図４】従来技術における位置および速度の概要図である。
【図５】本発明に係る位置決め検出方法を実行する数値制御装置周辺のブロック図である。
【符号の説明】
５０　数値制御装置
５０１　プログラム解析部
５１　補間部
５１Ａ　１ブロック指令完了判別部
５１Ｂ　位置決め完了判別部
５２　１ブロック読み込み部
５３　速度指令作成部
５４　マスタ軸位置指令作成部
５５は同期制御部
５６ａ　マスタ軸位置指令出力部
５６ｂ　スレーブ軸位置指令出力部
５７ａ　マスタ軸サーボドライブ
５８ａ　マスタ軸モータ
５９ａ　マスタ軸モータの位置検出器
５７ｂ　スレーブ軸サーボドライブ
５８ｂ　スレーブ軸モータ
５９ｂ　スレーブ軸モータの位置検出器
【図１】
2004034214.tif 000003
【図２】
2004034214.tif 000004
【図３】
2004034214.tif 000005
【図４】
2004034214.tif 000006
【図５】
2004034214.tif 000007