(57)【要約】【課題】  異なる系統に跨って所望の比率で同期制御ができ、所望の位相関係をもって同期制御が可能な数値制御装置を提供する。【解決手段】  マスタ軸１に取り付けられたワークＷに対して、同一系統１のスレーブ軸３に取り付けられた回転工具３ａで歯車加工する。また、異なる系統２のスレーブ軸４に取り付けられた回転工具４ａでワークＷに歯車加工する。各スレーブ軸３，４は、マスタ軸の移動指令に設定同期比を乗じてスレーブ軸の移動指令に換算して同期移動量を求める。この同期移動量をスレーブ軸３，４の移動指令に加算して、スレーブ軸を駆動する。これにより、スレーブ軸３，４はマスタ軸１に対して所定比率で同期して駆動される。また、スレーブ軸３，４の位置がマスタ軸１の位置に対して所定位相関係となるようにスレーブ軸の移動指令を補正する。【選択図】          図２
2005322076.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御系統を持つ数値制御装置において、
各系統間の軸の同期関係を設定する手段と、
設定された同期マスタ軸の移動指令に設定倍率をかけて同期移動量を生成する同期移動量生成手段と、
設定されたスレーブ軸の移動指令に前記同期移動量を加算しスレーブ軸への移動指令とするスレーブ軸同期指令手段と、
を備えることを特徴とする数値制御装置。
【請求項２】
マスタ軸とスレーブ軸の位相合わせ位置を設定する手段と、該設定されたマスタ軸とスレーブ軸の位相合わせ位置が合うようにスレーブ軸への移動指令を補正する手段を有する請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御系統を備え、系統を跨いだ軸をも同期制御が可能な数値制御装置に関する。
【背景技術】
【０００２】
複数の制御系統を備え、各制御系統毎にそれぞれの各軸を駆動制御する数値制御装置はすでに公知である。さらに、異なる制御系統の軸を同期制御できるようにした数値制御装置も公知である。通常、この同期制御は、一方の軸（マスタ軸）への移動指令を、同期させる他方の軸（スレーブ軸）への移動指令に加算してこの他方の軸（スレーブ軸）への最終的な移動指令とする重畳制御がなされている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述した従来の同期制御は、マスタ軸に対してスレーブ軸を１対１に同期させるものである。マスタ軸の移動指令をスレーブ軸への移動指令に加算することによって、スレーブ軸をマスタ軸と共に移動させ、かつ、マスタ軸に対してスレーブ軸を相対的に移動させることによって、移動しているマスタ軸に対して同期してスレーブ軸を相対移動させるものである。一方の軸に対して所定比率で他方の軸を同期させることはできない。
【０００４】
一方、歯車加工等においては、ワークを回転させる一方の軸に対して、工具を回転させる軸を所定比率で回転させることによって、ワークに対して歯車加工を行うものであるが、従来の数値制御装置では、このような一方の軸に対して他方の軸を所定比率で回転するように同期制御することができない。又、同期制御する際に所定位相関係をもって同期制御することもできない。
【０００５】
そこで、本発明の目的は、系統の異なる軸間を所望の比率で同期制御ができる数値制御装置を提供することにある。さらには、所望の位相関係をもって同期制御が可能な数値制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、複数の制御系統を持つ数値制御装置において、各系統間の軸の同期関係を設定する手段と、設定された同期マスタ軸の移動指令に設定倍率をかけて同期移動量を生成する同期移動量生成手段と、設定されたスレーブ軸の移動指令に前記同期移動量を加算しスレーブ軸への移動指令とするスレーブ軸同期指令手段とを備えることによって、スレーブ軸をマスタ軸に対して設定倍率で同期させて駆動制御できるようにした。  
また、マスタ軸とスレーブ軸の位相合わせ位置を設定する手段と、該設定されたマスタ軸とスレーブ軸の位相合わせ位置が合うようにスレーブ軸への移動指令を補正する手段を設けて、マスタ軸とスレーブ軸の位相関係をも設定し、駆動制御できるようにした。
【発明の効果】
【０００７】
本発明は、設定された所望の比率でマスタ軸とスレーブ軸を同期制御することができる。さらに、マスタ軸に対してスレーブ軸を、設定位相関係をもって同期制御させることができる。
【発明を実施するための最良の形態】
【０００８】
図１は本発明の一実施形態の数値制御装置１０の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１には、バス１９を介して、ＲＯＭ１２、ＲＡＭ１３、ＣＭＯＳ１４、インターフェイス１５，１８、ＰＭＣ（プログラマブル・マシン・コントローラ）１６、軸制御回路３０-1〜３０-nが接続されている。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス１９を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／手動入力ユニット２０を介してオペレータが入力した各種データが格納される。インタフェース１８を介してバス１９に接続される表示器／手動入力ユニット２０は、ＣＲＴや液晶等で構成される表示器とキーボート等で構成される手動入力手段とからなる。  
ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インターフェイス１５を介して読み込まれた加工プログラムや表示器／手動入力ユニット２０を介して入力された加工プログラム等が記憶される。
【０００９】
インターフェイス１５は、数値制御装置１０と外部機器との接続を可能とするものである。ＰＭＣ１６は、数値制御装置１０に内蔵されたシーケンスプログラムで制御対象物の工作機械の補助装置にＩ／Ｏユニット１７を介して信号を出力し制御する。また、数値制御装置で制御される制御対象物である工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。  
各軸の軸制御回路３０-1〜３０-nには、それぞれサーボアンプ３１-1〜３1-nが接続され、該サーボアンプ３１-1〜３1-nには、それぞれのサーボモータ３２-1〜３２-nが接続されている。又、各サーボモータ３２-1〜３２-nには位置・速度検出器３３-1〜３３-nが取り付けられており、該位置・速度検出器３３-1〜３３-nの出力はそれぞれの軸制御回路３０-1〜３０-nにフィードバックされている。
【００１０】
各軸の軸制御回路３０-1〜３０-nはＣＰＵ１１からの各軸の移動指令と位置・速度検出器からの位置、速度フィードバック信号に基づいて、位置、速度のフィードバック制御を行い、さらに、電流ループ制御をも行ってサーボアンプ３１-1〜３1-nを介して各軸サーボモータ３２-1〜３２-nを駆動制御する。
【００１１】
本実施形態の数値制御装置１０は複数の系統を制御できるものであり、図１に示した実施形態の数値制御装置は、２つの制御系統を制御できるものとし、サーボモータ３２-1〜３２-(i-1)は、制御系統１の各軸を駆動するサーボモータであり、サーボモータ３２-i〜３２-nは、制御系統２の各軸を駆動するサーボモータである。
【００１２】
図２は、この数値制御装置１０を用いた歯車加工の例の説明図である。  
ワークＷをチャック２によってマスタ軸１に取り付け、該ワークＷを回転工具３ａ，４ａにより歯車加工を行うものである。回転工具３ａ，４ａを回転させる軸がスレーブ軸３、４となり、このマスタ軸１とスレーブ軸３、４を同期制御して歯車５，６を加工するものである。この図２で示す例では、マスタ軸１と回転工具３ａのスレーブ軸３が制御系統１に属し、スレーブ軸４が制御系統２に属するものとしている。
【００１３】
この歯車加工を行う場合、マスタ軸１に回転に対して所定比率の回転速度で同期してスレーブ軸３，４を回転させて回転工具３ａ，４ａを回転させて加工を行う必要がある。さらに、繰り返し歯車の溝加工を行うことから、マスタ軸１とスレーブ軸３，４の位相を合わせる必要がある。
以上のような、マスタ軸に対してスレーブ軸を所定同期比率で駆動し、かつ、位相を合わせることが必要な加工に対して本実施形態の数値制御装置１０を適用するものである。
【００１４】
図３、図４は、本実施形態における同期制御を中心とした数値制御装置１０のＣＰＵ１１が実施する処理のフローチャートである。ＣＰＵ１１は、ＣＭＯＳメモリ１４に制御系統毎に設定格納されている加工プログラムに基づいて、制御系統毎に並行して図３，図４に示す処理を実行する。
【００１５】
まず、マスタ軸、スレーブ軸、スレーブ軸と同期開始させるマスタ軸の位相合わせ位置、同期比をパラメータ設定しておく。そして、加工指令を表示器／手動入力ユニット２０から入力すると、ＣＰＵ１１は制御系統毎に並行して図３，図４に示す処理を開始する。まず、位相合わせ量を「０」とし、当該系統の系統待ち合わせカウンタを「０」にセットする（ステップＳ１，Ｓ２）。次に、加工プログラムを１ブロックを読み出して解析し、該ブロックの指令が同期指令か、同期解除指令か、位相合わせ指令か、移動指令か判別し（ステップＳ４，Ｓ６，Ｓ８，Ｓ１０）、これらの指令でなければ、従来と同様に、解析したブロックの指令を実行して（ステップＳ１１）、ステップＳ１４に移行する。又、移動指令であると、該指令に基づいて補間分配処理を行い各軸移動指令を生成し（ステップＳ１２）、各軸の指令位置を記憶するレジスタに各軸への分配移動指令を加算して各軸位置（指令位置）を求め（ステップＳ１３）、ステップＳ１４に移行する。
【００１６】
ステップＳ１４では、補間後の加減速処理を実行し、加減速処理後の各軸移動指令を生成すると共に、該加減速処理での溜まり量を生成する。例えば、加減速方式が直線型加減速方式の場合には、加減速処理のためのレジスタに格納されている各移動指令を加算し溜まり量を求める。次に、同期処理中を示すフラグＦ１が「１」か判別し、「１」でなければ（最初は初期設定で「０」である。）、ステップＳ３２に移行して、ステップＳ１４で求めた加減速処理後の各軸移動指令を各軸の軸制御回路３０-1〜３０-(i-1)又は３０-i〜３０-nに出力し、ステップＳ３に移行する。  
以下、同期指令が加工プログラムから読み出されない限り、ステップＳ３，Ｓ４，Ｓ６，Ｓ８，Ｓ１０，Ｓ１２，Ｓ１３（又はＳ１１）及びステップＳ１４，Ｓ１５，Ｓ３２の処理を繰り返し実行し、各系統をそれぞれ独立して駆動制御する。
【００１７】
一方、読み出したブロックの指令が同期指令であると（ステップＳ４）、フラグＦ１，Ｆ３を「１」にセットし（ステップＳ５）、ステップＳ１４の補間後の加減速処理を行った後、ステップＳ１５でフラグＦ１が「１」か判断し、この場合「１」と判断されるから、ステップＳ１６に移行して、当該系統の系統待ち合わせカウンタを「１」インクリメントする。そして全系統の系統待ち合わせカウンタの値が同じになるまで待つ（ステップＳ１７）。
【００１８】
全系統待ち合わせカウンタの値が同じ値となると、当該系統が設定されたマスタ軸を有する系統か判断し（ステップＳ１８）、マスタ軸を有する系統であれば、ステップＳ１４で求めたマスタ軸に対する補間後の移動指令に同期比を乗じてスレーブ軸の移動量に換算した同期移動量を求め（ステップＳ１９）、該同期移動量にレジスタに記憶する位相合わせ量を加算して位相合わせ量（なお、この位相合わせ量は初期設定で最初は「０」である）を加算した同期移動量としてレジスタに記憶する。そして、位相合わせ量を「０」にリセットし（ステップＳ２０）、ステップＳ２１に移行する。又、ステップＳ１８で当該系統がマスタ軸を有する系統ではないと判断されたときには、ステップＳ１９，Ｓ２０処理を行わず、ステップＳ２１に移行する。  
ステップＳ２１では、待ち合わせカウンタを「１」インクリメントし、全系統の系統待ち合わせカウンタの値が同一の値になるまで待つ（ステップＳ２２）。全系統の系統待ち合わせカウンタの値が同じとなると、当該系統にスレーブ軸を有するか判断し（ステップＳ２３）、有していなければステップＳ３２に移行する。又、スレーブ軸を有していれば、フラグＦ３が「１」か判断し（ステップＳ２４）、「１」ならばステップＳ１３で求めたスレーブ軸の位置をスレーブ軸位相合わせ位置としてレジスタに格納し（ステップＳ２５）、フラグＦ３を「０」にリセットする（ステップＳ２６）。なお、ステップＳ２４でフラグＦ３が「１」でなければ、ステップＳ２５，Ｓ２６の処理は実行しない。すなわち、同期指令がなされ、フラグＦ３が「１」にセットされた時点でのみ、そのときのスレーブ軸位置をスレーブ軸位相合わせ位置として記憶するものである。
【００１９】
次に、ステップＳ１４で求めた加減速処理後の移動指令にステップＳ２０で求めた同期移動量を加算して、同期移動量を補正した、スレーブ軸に対する加減速処理後の移動指令を求める（ステップＳ２７）。そして、ステップＳ１３で求めたスレーブ軸の位置に同期移動量を加算してスレーブ軸位置を求め記憶する（ステップＳ２８）。
【００２０】
次にフラグＦ２が「１」か判断し、「１」でなければ、ステップＳ３２に移行して、各軸加減速処理後の移動指令を各軸制御回路各軸の軸制御回路３０-1〜３０-(i-1)又は３０-i〜３０-nに出力する。スレーブ軸以外の各軸に対しては、ステップＳ１４で求めた加減速後の移動指令が出力され、スレーブ軸に対しては、ステップＳ２７で求めた加減速後の移動指令が出力されることになる。
【００２１】
以下、同期指令が出力された後、位相合わせ指令が出力されるまでの間は、ステップＳ３，Ｓ４，Ｓ６，Ｓ８，Ｓ１０、Ｓ１２，Ｓ１３（又はＳ１１），Ｓ１４〜Ｓ２４，Ｓ２７〜Ｓ２９，Ｓ３２の処理を繰り返し実行することになり、スレーブ軸には、当該スレーブ軸の加減速処理後の移動指令に同期移動量（マスタ軸の加減速処理後の移動指令に同期比をかけて得られた移動量）が加算されて移動指令として出力されることになり、マスタ軸に対してスレーブ軸は、設定された同期比で、同期して駆動されることになる。
【００２２】
そして、加工プログラムより位相合わせ指令が読み込まれると（ステップＳ８）、ステップＳ９でフラグＦ２が「１」にセットされる。ステップＳ９でフラグＦ２が「１」にセットされた後、ステップＳ１４からステップＳ２９までの処理がなされ、該ステップＳ２９で、フラグＦ２が「１」であることが判別されるので、ステップＳ３０で位相合わせ量を求める。この位相合わせ量は、ステップＳ１３で求めたマスタ軸の位置（指令位置）からステップＳ１４で求めたマスタ軸の加減速処理での溜まり量を減じて、マスタ軸の実際の位置（軸制御回路に指令した位置）を求め、このマスタ軸の実際の位置から設定されているマスタ軸位相合わせ位置を減じて、マスタ軸の実際の位置と設定マスタ軸位相合わせ位置との差を求め、この差に同期比を乗じて、スレーブ軸の移動量に換算した差を求める。さらに、ステップＳ１３で求めたスレーブ軸の位置からスレーブ軸の加減速処理での溜まり量を減じて、スレーブ軸の実際の位置を求め、このスレーブ軸の実際の位置から、ステップＳ２５で求めたスレーブ軸位相合わせ位置を減じてスレーブ軸における実際の位置とスレーブ軸位相合わせ位置との差を求め、この差をマスタ軸の前記差から減じて、マスタ軸とスレーブ軸の位相合わせ位置からのずれ量の差を位相合わせ量として求める（ステップＳ３０）。そしてフラグＦ２を「０」にリセットし（ステップＳ３１）、スレーブ軸はステップＳ２７で求めた移動指令を他の軸はステップＳ１４で求めた加減速処理後の移動指令を出力する（ステップＳ３２）。
【００２３】
次の周期では、ステップＳ１９，Ｓ２０でマスタ軸の加減速処理後の移動指令をスレーブ軸の移動量に換算した移動指令にステップＳ３０で求めた位相合わせ量を加算し、同期移動量を求めて、ステップＳ２７で、スレーブ軸の加減速処理後の移動指令に加算されることになるから、スレーブ軸に対しては、マスタ軸の移動指令に対応する分及び、位相合わせ量分が加算されることになる。スレーブ軸に位相合わせ量が加算されるから、マスタ軸とスレーブ軸の位相合わせ位置からのずれ量が「０」となり、位相が合致することになる。よって、マスタ軸とスレーブ軸は設定同期比率で同期しかつ位相合わせがなされた状態で駆動されることになる。
【００２４】
そして次の周期からは、ステップＳ２０で位相合わせ量が「０」にセットされていることから、スレーブ軸は、マスタ軸の移動指令が重畳されるだけとなり、設定同期比率で駆動されることになる。
【００２５】
そして、加工プログラムから同期解除指令が読み込まれるとステップＳ６からステップＳ７に移行してフラグＦ１が「０」にリセットされることから、以後は、ステップＳ３，Ｓ４，Ｓ６，Ｓ８，Ｓ１０，Ｓ１２，Ｓ１３（又はＳ１１）及びステップＳ１４，Ｓ１５，Ｓ３２の処理を繰り返し実行し、各系統をそれぞれ独立して駆動制御する。
【００２６】
上述した実施形態では、補間後に加減速処理を行う場合について、説明した。補間前加減速処理を行う場合は、各軸への移動指令は、加減速された後の移動指令であるから、加減速処理の溜まり量を考慮する必要がなく、各軸への移動指令が、そのまま実際の移動指令となり、位置も溜まり量を考慮する必要なく指令位置が実際の位置となる。
【００２７】
上述した実施形態では、マスタ軸とスレーブ軸の位相合わせ位置について、マスタ軸の位相合わせ位置はパラメータで設定し、スレーブ軸の位相合わせ位置は同期開始時のスレーブ軸の位置（ステップＳ２５）とした。スレーブ軸の位相合わせ位置もパラメータにより設定してもよい。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態の要部ブロック図である。
【図２】同実施形態により制御する歯車加工の例の概要を示す図である。
【図３】同実施形態における同期制御を中心とした処理フローチャートである。
【図４】図３のフローチャートの続きである。
【符号の説明】
【００２９】
１  マスタ軸
２  チャック
３、４  スレーブ軸
３ａ、４ａ  回転工具
５、６  歯車
Ｗ  ワーク
【図１】
2005322076.tif 000003
【図２】
2005322076.tif 000004
【図３】
2005322076.tif 000005
【図４】
2005322076.tif 000006