(57)【特許請求の範囲】
【請求項１】
主軸にワークを取り付け回転させ、複数の工具を前記ワークの半径方向、回転の中心軸と平行な方向に動かすことで切削を行う複数系統を備えた機械を単系統用の加工プログラムに基づいて制御する数値制御装置であって、
前記加工プログラムを早送りを区切りとした切削送りグループに分割し、分割した前記切削送りグループを前記複数の系統のそれぞれに割り付けると共に、割り付けたそれぞれの前記切削送りグループについて、前記加工プログラム上で前に位置する切削グループと後に位置する切削送りグループとの間で、前記後に位置する切削送りグループによる切削位置が前記前に位置する切削送りグループによる切削位置に追い付かないようにオーバラップさせた系統割り付け情報を生成する系統割り付け手段と、
を備え、
前記系統割り付け手段により生成された前記系統割り付け情報に基づいて前記機械の前記複数の系統を制御する、
ことを特徴とする数値制御装置。
【請求項２】
前記系統割り付け手段は、前記後に位置する切削送りグループの切削開始のタイミングを設定することにより、前記後に位置する切削送りグループによる切削位置が前記前に位置する切削送りグループによる切削位置に追い付かないようにオーバラップさせる、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記系統割り付け手段は、予め設定された前記前に位置する切削送りグループによる切削と前記後に位置する切削送りグループによる切削との間の最低時間差の設定値に基づいて、前記後に位置する切削送りグループの切削開始のタイミングを設定する、
ことを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記系統割り付け手段は、予め設定された前記前に位置する切削送りグループによる切削と前記後に位置する切削送りグループによる切削との間の最低距離差の設定値に基づいて、前記後に位置する切削送りグループの切削開始のタイミングを設定する、
ことを特徴とする請求項２に記載の数値制御装置。
【請求項５】
前記系統割り付け手段は、前記前に位置する切削送りグループによる切削位置と前記後に位置する切削送りグループによる切削位置とが主軸の回転軸方向の座標位置において重なりが無いと判断した場合、前記後に位置する切削送りグループによる切削を前記前に位置する切削送りグループによる切削位置に関係なく開始するように系統割り付け情報に設定する、
ことを特徴とする請求項１〜４のいずれか１つに記載の数値制御装置。
【請求項６】
前記系統割り付け手段は、前記前に位置する切削送りグループによる切削よりも前記後に位置する切削送りグループによる切削が先に完了する場合は、次の切削送りグループには先に切削が完了した系統を割り付ける、
ことを特徴とする請求項１〜４のいずれか１つに記載の数値制御装置。
【請求項７】
主軸にワークを取り付け回転させ、複数の工具を前記ワークの半径方向、回転の中心軸と平行な方向に動かすことで切削を行う複数系統を備えた機械の動作を単系統用の加工プログラムに基づいてシミュレーションするシミュレーション装置であって、
前記加工プログラムを早送りを区切りとした切削送りグループに分割し、分割した前記切削送りグループを前記複数の系統のそれぞれに割り付けると共に、割り付けたそれぞれの前記切削送りグループについて、前記加工プログラム上で前に位置する切削グループと後に位置する切削送りグループとの間で、前記後に位置する切削送りグループによる切削位置が前記前に位置する切削送りグループによる切削位置に追い付かないようにオーバラップさせた系統割り付け情報を生成する系統割り付け手段と、
を備え、
前記系統割り付け手段により生成された前記系統割り付け情報に基づいて前記機械の前記複数の系統の動作をシミュレーションする、
ことを特徴とするシミュレーション装置。
【請求項８】
前記系統割り付け手段は、前記後に位置する切削送りグループの切削開始のタイミングを設定することにより、前記後に位置する切削送りグループによる切削位置が前記前に位置する切削送りグループによる切削位置に追い付かないようにオーバラップさせる、
ことを特徴とする請求項７に記載のシミュレーション装置。
【請求項９】
前記系統割り付け手段は、予め設定された前記前に位置する切削送りグループによる切削と前記後に位置する切削送りグループによる切削との間の最低時間差の設定値に基づいて、前記後に位置する切削送りグループの切削開始のタイミングを設定する、
ことを特徴とする請求項８に記載のシミュレーション装置。
【請求項１０】
前記系統割り付け手段は、予め設定された前記前に位置する切削送りグループによる切削と前記後に位置する切削送りグループによる切削との間の最低距離差の設定値に基づいて、前記後に位置する切削送りグループの切削開始のタイミングを設定する、
ことを特徴とする請求項８に記載のシミュレーション装置。
【請求項１１】
前記系統割り付け手段は、前記前に位置する切削送りグループによる切削位置と前記後に位置する切削送りグループによる切削位置とが主軸の回転軸方向の座標位置において重なりが無いと判断した場合、前記後に位置する切削送りグループによる切削を前記前に位置する切削送りグループによる切削位置に関係なく開始するように系統割り付け情報に設定する、
ことを特徴とする請求項７〜１０のいずれか１つに記載のシミュレーション装置。
【請求項１２】
前記系統割り付け手段は、前記前に位置する切削送りグループによる切削よりも前記後に位置する切削送りグループによる切削が先に完了する場合は、次の切削送りグループには先に切削が完了した系統を割り付ける、
ことを特徴とする請求項７〜１０のいずれか１つに記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置およびシミュレーション装置に関し、特に単系統用のプログラムで複数系統の軸を制御する数値制御装置およびそのシミュレーション装置に関する。
【背景技術】
【０００２】
図２３は旋盤加工の状況を示す図である。旋盤加工では、主軸にワーク（加工物）を取り付けて回転させ、工具をワークの半径方向、回転の中心軸と平行な方向に動かすことで切削を行う。工具は刃物台と呼ばれる台に固定されており、刃物台が１つのものを単系統（または１系統）、複数持つものを多系統（または複数系統）と呼ぶ。旋盤加工において、主軸の位置決めが無い加工においては、工具をワークの回転中心に向かってどの方向からあてても同じ加工ができるので、複数系統を制御して同時に加工を行うことで、高速に加工を行うことができる。
【０００３】
上記したような複数系統を制御した加工を行う際には、それぞれの系統を制御するために加工プログラムを複数作成する必要があるが、複数系統に対して指令を行うための加工プログラムの作成は非常に手間がかかる。そこで、このような複数系統に対して指令を行うための加工プログラムを作成することを支援する従来技術が提案されてきた。
例えば、特許文献１には、複数系統を制御するための加工プログラムを主軸又は刃物台を特定しない間接指令を用いて作成し、加工を行う際には各系統の加工プログラムの間接指令を特定の主軸や刃物台に対する直接指令に変換して使用する技術が開示されている。
また、特許文献２には、オペレータによって入力された加工工程について、それぞれの加工工程を実行可能な系統、実行可能な順番、および同時に実行可能な加工工程に関する入力を受け付け、これら入力された条件を満たす加工時間が最短となる加工プログラムを作成する技術が開示されている。
更に、特許文献３には、複数の主軸を有する数値制御工作機械の自動プログラミング装置において、１つの座標系上で作成された１つのプログラムが２つの主軸での加工プロセスと、設定されたワーク基準原点位置とワーク原点位置との差に基づいて自動的に作成される、両主軸間でワークの受け渡しを行う受け渡しプロセスとを含み、この１つのプログラムを前記複数の主軸を有する数値制御工作機械を制御する数値制御装置に出力する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３４４０１４９号公報
【特許文献２】特許第４８３７１１８号公報
【特許文献３】特許第２６９２０１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記した従来技術を用いて複数系統の加工プログラムを生成する場合、加工工程の間で干渉などが発生する可能性がある場合には同時に実行できない加工工程として同時に実行されないように加工プログラムが作成される。しかしながら、このような方法で複数系統の加工プログラムを生成したとしても旋盤加工では効率的な加工の高速化ができないという問題がある。
【０００６】
図２４は、単系統で旋盤加工を行う場合の工具の動きを示している。また、図２５は、図２４における工具の動きの順序を概略的に示している。図２４、図２５において、実線矢印は工具の切削送り経路を、点線矢印は工具の早送り経路を示している。このように、単系統の旋盤加工では加工後のワーク形状に基づいて作成された複数の指令に基づいて複数の切削送りを順に実行することにより加工が行われる。このような加工を複数系統で行う場合、複数の切削送りの指令をそれぞれの系統に割り振ることとなるが、例えば、図２５に示す第１加工工程と第２加工工程とはＺ軸座標において重畳するワークの位置を加工しているため、これら加工工程を異なる系統に割り振って同時に加工しようとした場合、第１加工工程による加工が行われていないワークの位置に対して第２加工工程による加工が行われると適切な切り込み量での加工が行われず、工具や該工具を駆動するサーボモータに大きな負荷がかかったり、加工面の品質が低下したりするなどの問題が発生する。そのため、従来技術を用いて複数系統を制御する加工プログラムを生成すると、図２５に示す第１加工工程と第２加工工程は同じ系統に割り振られるか、または、異なる系統に割り振られたとしても第１加工工程が完了するまで第２加工工程を開始しないように待合わせさせるようにして、第１加工工程と第２加工工程が同時に行われないように加工プログラムが生成される。また、これと同様に、図２５に示す各加工工程は、ほぼすべての加工工程がＺ軸座標において重畳する位置を加工しているため、ほぼすべての加工工程が同時に行われないように加工プログラムが生成されるため、複数系統を用いた効率的な加工の高速化ができない。
【０００７】
そこで本発明の目的は、単系統用のプログラムで複数系統の制御を行い、効率的に加工を高速化することを可能とする数値制御装置およびそのシミュレーション装置を提供することである。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明は、主軸にワークを取り付け回転させ、複数の工具を前記ワークの半径方向、回転の中心軸と平行な方向に動かすことで切削を行う複数系統を備えた機械を単系統用の加工プログラムに基づいて制御する数値制御装置であって、前記加工プログラムを早送りを区切りとした切削送りグループに分割し、分割した前記切削送りグループを前記複数の系統のそれぞれに割り付けると共に、割り付けたそれぞれの前記切削送りグループについて、前記加工プログラム上で前に位置する切削グループと後に位置する切削送りグループとの間で、前記後に位置する切削送りグループによる切削位置が前記前に位置する切削送りグループによる切削位置に追い付かないようにオーバラップさせた系統割り付け情報を生成する系統割り付け手段と、を備え、前記系統割り付け手段により生成された前記系統割り付け情報に基づいて前記機械の前記複数の系統を制御する、ことを特徴とする数値制御装置である。
【０００９】
本願の請求項２に係る発明は、前記系統割り付け手段は、前記後に位置する切削送りグループの切削開始のタイミングを設定することにより、前記後に位置する切削送りグループによる切削位置が前記前に位置する切削送りグループによる切削位置に追い付かないようにオーバラップさせる、ことを特徴とする請求項１に記載の数値制御装置である。
【００１０】
本願の請求項３に係る発明は、前記系統割り付け手段は、予め設定された前記前に位置する切削送りグループによる切削と前記後に位置する切削送りグループによる切削との間の最低時間差の設定値に基づいて、前記後に位置する切削送りグループの切削開始のタイミングを設定する、ことを特徴とする請求項２に記載の数値制御装置である。
【００１１】
本願の請求項４に係る発明は、前記系統割り付け手段は、予め設定された前記前に位置する切削送りグループによる切削と前記後に位置する切削送りグループによる切削との間の最低距離差の設定値に基づいて、前記後に位置する切削送りグループの切削開始のタイミングを設定する、ことを特徴とする請求項２に記載の数値制御装置である。
【００１２】
本願の請求項５に係る発明は、前記系統割り付け手段は、前記前に位置する切削送りグループによる切削位置と前記後に位置する切削送りグループによる切削位置とが主軸の回転軸方向の座標位置において重なりが無いと判断した場合、前記後に位置する切削送りグループによる切削を前記前に位置する切削送りグループによる切削位置に関係なく開始するように系統割り付け情報に設定する、ことを特徴とする請求項１〜４のいずれか１つに記載の数値制御装置である。
【００１３】
本願の請求項６に係る発明は、前記系統割り付け手段は、前記前に位置する切削送りグループによる切削よりも前記後に位置する切削送りグループによる切削が先に完了する場合は、次の切削送りグループには先に切削が完了した系統を割り付ける、ことを特徴とする請求項１〜４のいずれか１つに記載の数値制御装置である。
【００１４】
本願の請求項７に係る発明は、主軸にワークを取り付け回転させ、複数の工具を前記ワークの半径方向、回転の中心軸と平行な方向に動かすことで切削を行う複数系統を備えた機械の動作を単系統用の加工プログラムに基づいてシミュレーションするシミュレーション装置であって、前記加工プログラムを早送りを区切りとした切削送りグループに分割し、分割した前記切削送りグループを前記複数の系統のそれぞれに割り付けると共に、割り付けたそれぞれの前記切削送りグループについて、前記加工プログラム上で前に位置する切削グループと後に位置する切削送りグループとの間で、前記後に位置する切削送りグループによる切削位置が前記前に位置する切削送りグループによる切削位置に追い付かないようにオーバラップさせた系統割り付け情報を生成する系統割り付け手段と、を備え、前記系統割り付け手段により生成された前記系統割り付け情報に基づいて前記機械の前記複数の系統の動作をシミュレーションする、ことを特徴とするシミュレーション装置である。
【００１５】
本願の請求項８に係る発明は、前記系統割り付け手段は、前記後に位置する切削送りグループの切削開始のタイミングを設定することにより、前記後に位置する切削送りグループによる切削位置が前記前に位置する切削送りグループによる切削位置に追い付かないようにオーバラップさせる、ことを特徴とする請求項７に記載のシミュレーション装置である。
【００１６】
本願の請求項９に係る発明は、前記系統割り付け手段は、予め設定された前記前に位置する切削送りグループによる切削と前記後に位置する切削送りグループによる切削との間の最低時間差の設定値に基づいて、前記後に位置する切削送りグループの切削開始のタイミングを設定する、ことを特徴とする請求項８に記載のシミュレーション装置である。
【００１７】
本願の請求項１０に係る発明は、前記系統割り付け手段は、予め設定された前記前に位置する切削送りグループによる切削と前記後に位置する切削送りグループによる切削との間の最低距離差の設定値に基づいて、前記後に位置する切削送りグループの切削開始のタイミングを設定する、ことを特徴とする請求項８に記載のシミュレーション装置である。
【００１８】
本願の請求項１１に係る発明は、前記系統割り付け手段は、前記前に位置する切削送りグループによる切削位置と前記後に位置する切削送りグループによる切削位置とが主軸の回転軸方向の座標位置において重なりが無いと判断した場合、前記後に位置する切削送りグループによる切削を前記前に位置する切削送りグループによる切削位置に関係なく開始するように系統割り付け情報に設定する、ことを特徴とする請求項７〜１０のいずれか１つに記載のシミュレーション装置である。
【００１９】
本願の請求項１２に係る発明は、前記系統割り付け手段は、前記前に位置する切削送りグループによる切削よりも前記後に位置する切削送りグループによる切削が先に完了する場合は、次の切削送りグループには先に切削が完了した系統を割り付ける、ことを特徴とする請求項７〜１０のいずれか１つに記載のシミュレーション装置である。
【発明の効果】
【００２０】
本発明により、オペレータが作成した単系統用のプログラムに含まれる各切削送り指令を自動的に複数の系統へと割り振り、割り振った切削送り指令により複数の系統のそれぞれを制御するため、オペレータは複数系統用の切削プログラムを作成する労力をかけることなく、複数系統を用いて加工を高速化することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の数値制御装置における単系統用加工プログラムの複数系統への割り付ける例を示す図である。
【図２】本発明の数値制御装置における２つの切削送りを２つの系統へと割り付ける例を示す図である。
【図３】図２の後に、更に次の切削送りを系統へと割り付ける例を示す図である。
【図４】前の切削と後の切削について時間ＴとＺ軸座標の関係をグラフで示した図である。
【図５】前の切削に対する後の切削の開始タイミングを時間差でずらす方法について説明する図である。
【図６】前の切削に対する後の切削の開始タイミングを距離差でずらす方法について説明する図である。
【図７】前の切削に対する後の切削の開始タイミングをずらす他の方法について説明する図である。
【図８】送り速度が異なる前の切削と後の切削について時間ＴとＺ軸座標の関係をグラフで示した図である。
【図９】送り速度が異なる前の切削に対する後の切削の開始タイミングを時間差でずらす方法について説明する図である。
【図１０】送り速度が異なる前の切削に対する後の切削の開始タイミングを距離差でずらす方法について説明する図である。
【図１１】送り速度が異なる前の切削に対する後の切削の開始タイミングをずらす他の方法について説明する図である。
【図１２】切削開始のＺ座標が異なる前の切削と後の切削について時間ＴとＺ軸座標の関係をグラフで示した図である。
【図１３】切削開始のＺ座標が異なる前の切削に対する後の切削の開始タイミングを時間差でずらす方法について説明する図である。
【図１４】Ｚ座標が重ならない前の切削と後の切削について時間ＴとＺ軸座標の関係をグラフで示した図である。
【図１５】切削方向が異なる前の切削と後の切削について時間ＴとＺ軸座標の関係をグラフで示した図である。
【図１６】切削方向が異なる前の切削に対する後の切削の開始タイミングをずらす方法について説明する図である。
【図１７】前の切削に対して後の切削が先に完了する場合の割り付け方法について説明する図である。
【図１８】本発明の数値制御装置において実行される切削送りグループの系統に対する割り付け処理の例を示す概略フローチャートである。
【図１９】本発明による割り付け後の加工プログラムの表示例である。
【図２０】本発明による割り付け後の加工プログラムの動作シミュレーションの表示例である。
【図２１】本発明の一実施形態による数値制御装置の機能ブロック図である。
【図２２】本発明の一実施形態によるシミュレーション装置の機能ブロック図である。
【図２３】単系統および他系統の旋盤加工の例を示す図である。
【図２４】単系統の加工プログラムによる工具の切削経路を示す図である。
【図２５】図２４の工具の切削経路を経路順に示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図面と共に説明する。まず、本発明の基本的な動作原理について説明する。
本発明の数値制御装置は、単系統用のプログラムの切削送り指令を複数の系統に対して自動的に割り当て、割り当てた指令に基づいてそれぞれの系統を制御することで切削加工を行う。図１に示すように、切削プログラムは大きく分けると切削送りと早送りとから構成されるが、この切削プログラムを早送りで区切って複数の切削送りのセットを作成し、該複数の切削送りのセットをそれぞれの系統へと割り振り、それぞれの系統を同時に制御することで、複数の切削送りをオーバラップさせて実行することで加工の高速化を図る。
【００２３】
図２に示すように、加工プログラムの２つの切削送りを、１系統目（前の切削）と２系統目（後の切削）に分けて制御を行う場合、それぞれの系統の工具経路は図２に示す通りだが、前の切削と後の切削の順番が入れ替わらなければ、前の切削が完了していなくても、後の加工を前の加工に対してオーバラップさせて開始することができる。
しかしながら、図２に示すように２つの切削送りを順番に行う際に、１系統目の工具へと１つ目の切削送りを割り当て、２系統目の工具へと２つ目の切削送りを割り当てた場合、Ｚ座標上で２系統目の工具が１系統目の工具を追い抜いてしまうと（すなわち、順番が入れ替わってしまうと）、２系統目の工具によるワークの切り込み量が大きくなり、工具の破損や加工面の品質低下が発生する。また、これを防ぐためにそれぞれの系統において工具の送り速度を途中で変更したりすれば、やはり加工面の品質などに変化が生じるなどの問題が発生するため、送り速度は加工プログラムにより指令された値をそのまま維持することが好ましい。従って、２系統目の工具を制御する際には、既に１系統目の工具による切削が終わった箇所を切削可能と判断して、２系統目に割り振られている切削指令による制御を開始するように制御する必要がある。その際には、加工プログラムや加工条件などにより工具の送り速度が決まっているので、その送り速度で動かしても１つ前の切削を追い越さないように切削開始のタイミングを制御する。
【００２４】
また、図３に示すように、１系統目の工具による１つ目の切削が完了した場合には、次は２系統目で切削している切削送りの指令を飛ばして、３つ目の切削指令により１系統目の工具を制御する。その際には、２系統目の工具の軌跡を確認し、既に２系統目の工具による切削が終わった箇所を切削可能と判断し、次の切削指令による制御を開始する。
このように、それぞれの系統における切削送りをオーバラップさせることで、オーバラップさせた分の加工時間を短縮することができる。
【００２５】
本発明の数値制御装置では、それぞれの切削指令によるそれぞれの系統の工具のＺ座標の動きを簡単にシミュレーションすることで、前の切削を行う系統の工具の位置を、後の切削を行う系統の工具が追い抜かないように、後の切削を行う系統の工具の切削開始のタイミングを調整する。
図４は、１系統目（前の切削）と２系統目（後の切削）の切削送りについて、時間ＴとＺ軸座標の関係をグラフで示した図である。図４に示すように、時間が０の時のＺ座標は、それぞれの切削送りの開始位置になる。このグラフで１系統目（前の切削）と２系統目（後の切削）が重なっている部分は、同時に加工を開始すると、同じ時間に同じ場所を加工することになる。加工の順番が入れ替わらないためには、このグラフで同じＺ座標の時に必ず２系統目（後の切削）の時間Ｔが後（グラフでは右）にならなければならない。つまり、「１系統目（前の切削）があるＺを通る時間＜２系統目(後の切削)が同じＺを通る時間」となる必要がある。
【００２６】
図５は、１系統目（前の切削）の切削送りに対する２系統目（後の切削）の切削送りの開始タイミングを時間差でずらす方法について説明する図である。本発明の数値制御装置では、１系統目（前の切削）と２系統目（後の切削）とを同時に開始したと仮定した場合において、１系統目（前の切削）の切削送りが移動するＺ座標の範囲で、当該Ｚ座標を２系統目（後の切削）の切削送りが通る時間−同じＺ座標を１系統目（前の切削）の切削送りが通る時間が最少となる点（図５上に示すグラフにおける（Ｚｔｍｉｎ，Ｔｚｍｉｎ））を求める。この点が２系統目（後の切削）の開始を遅らせていった場合に最も１系統目（前の切削）の切削と近づく点となる。なお、上記条件を満たす点が複数ある場合には、その中から適当な点（例えば、時間軸上で最も遅い点など）を（Ｚｔｍｉｎ，Ｔｚｍｉｎ）とすればよい。この点を基準に２系統目（後の切削）の開始のタイミングを決める。具体的には、この点のＺ座標値Ｚｔｍｉｎにおいて、１系統目（前の切削）の時間と２系統目（後の切削）の時間の差があらかじめ設定した最低時間差の設定値Ｔｄとなるように２系統目（後の切削）のグラフを右に移動する。より具体的には、２系統目（後の切削）の切削開始を１系統目（前の切削）の切削開始から設定値Ｔｄ＋（Ｚｔｍｉｎを１系統目（前の切削）が通る時間−２系統目（後の切削）が通る時間）だけ遅らせる。
【００２７】
図６は、１系統目（前の切削）の切削送りに対する２系統目（後の切削）の切削送りの開始タイミングを距離差でずらす方法について説明する図である。２系統目（後の切削）の切削の遅れをＺ軸の距離差で設定する場合は、時間Ｔｚｍｉｎにおいて、１系統目（前の切削）のＺ座標と２系統目（後の切削）のＺ座標の差があらかじめ設定したＺ座標の最低距離差の設定値Ｚｄとなるように２系統目（後の切削）のグラフを右に移動する。より具体的には、２系統目（後の切削）のＺ座標がＺｔｍｉｎ−最低距離差の設定値Ｚｄとなる時間を求め、Ｔｚｍｉｎからこの時間を引いた時間だけ２系統目（後の切削）のグラフを右に移動する。その結果、求められる時間だけ２系統目（後の切削）の切削開始を１系統目（前の切削）の切削開始から遅らせることで、距離差の値を設定値Ｚｄにできる。
なお、図７に示すように、２系統目（後の切削）開始時間における１系統目（前の切削）のＺ座標を求め、１系統目（前の切削）がその位置に来た時に２系統目（後の切削）を開始するようにしてもよい。
【００２８】
上記では、１系統目（前の切削）と２系統目（後の切削）との送り速度が同じである場合を示しているが、１系統目（前の切削）と２系統目（後の切削）との送り速度が異なる場合でも同様の方法で２系統目（後の切削）の開始タイミングを決定することができる。
例えば、図８に示すように、１系統目（前の切削）と２系統目（後の切削）との送り速度が異なる場合を考える。
【００２９】
図９は、１系統目（前の切削）と２系統目（後の切削）との送り速度が異なる場合において、１系統目（前の切削）の切削送りに対する２系統目（後の切削）の切削送りの開始タイミングを時間差でずらす方法について説明する図である。１系統目（前の切削）と２系統目（後の切削）との送り速度が異なる場合においても、図５の場合と同様に、１系統目（前の切削）と２系統目（後の切削）とを同時に開始したと仮定した場合において、１系統目（前の切削）の切削送りが移動するＺ座標の範囲で、当該Ｚ座標を２系統目（後の切削）の切削送りが通る時間−同じＺ座標を１系統目（前の切削）の切削送りが通る時間が最少となる点（図９上に示すグラフにおける（Ｚｔｍｉｎ，Ｔｚｍｉｎ））を求め、この点を基準に２系統目（後の切削）の開始のタイミングを決めるようにすればよい。
【００３０】
図１０は、１系統目（前の切削）と２系統目（後の切削）との送り速度が異なる場合において、１系統目（前の切削）の切削送りに対する２系統目（後の切削）の切削送りの開始タイミングを距離差でずらす方法について説明する図である。このような場合においても、図６の場合と同様に、２系統目（後の切削）の切削の遅れをＺ軸の距離差で設定する場合は、時間Ｔｚｍｉｎにおいて、１系統目（前の切削）のＺ座標と２系統目（後の切削）のＺ座標の差があらかじめ設定したＺ座標の最低距離差の設定値Ｚｄとなるように２系統目（後の切削）のグラフを右に移動する。より具体的には、２系統目（後の切削）のＺ座標がＺｔｍｉｎ−最低距離差の設定値Ｚｄとなる時間を求め、Ｔｚｍｉｎからこの時間を引いた時間だけ２系統目（後の切削）のグラフを右に移動するようにすればよい。
なお、図１１に示すように、２系統目（後の切削）開始時間における１系統目（前の切削）のＺ座標を求め、１系統目（前の切削）がその位置に来た時に２系統目（後の切削）を開始するようにしてもよい。
【００３１】
図１２に示すように、前の切削と後の切削とで、切削開始のＺ軸の座標が異なる場合について考える。この場合においても、図１３に示すように、１系統目（前の切削）と２系統目（後の切削）とを同時に開始したと仮定した場合において、１系統目（前の切削）の切削送りが移動するＺ座標の範囲で、当該Ｚ座標を２系統目（後の切削）の切削送りが通る時間−同じＺ座標を１系統目（前の切削）の切削送りが通る時間が最少となる点（図９上に示すグラフにおける（Ｚｔｍｉｎ，Ｔｚｍｉｎ））を求め、この点を基準に２系統目（後の切削）の開始のタイミングを決めるようにすればよい。
【００３２】
図１４に示すように、前の切削と後の切削とでＺ軸の座標の重なりが無い場合について考える。このような場合、図１４上のグラフに示すように、１系統目（前の切削）と２系統目（後の切削）との工具経路に重なりが無いため、同じ時間にスタートしても２系統目（後の切削）が１系統目（前の切削）とぶつかることはないので、２系統目（後の切削）はどのタイミングでも切削を開始してもよい（すなわち、加工の順番が入れ替わってもよい）。
【００３３】
図１５に示すように、前の切削と後の切削とでＺ軸の座標の重なりがあり、後の切削が前の切削とＺ軸の逆方向に移動する場合には、図１６に示すように、１系統目（前の切削）が完了した後で２系統目（後の切削）の切削送りを開始するようにすればよい。
【００３４】
図１７に示すように、後の切削が完了しても、１系統目が行っている前の切削が完了していない場合には、その次の切削は先に切削が完了する２系統目に割り振る。その際に、次の切削を開始するタイミングをどのように決定するのかについては、上記した場合と同様に行う。
【００３５】
図１８は、本実施形態の数値制御装置上で実行される、単系統の加工プログラムを２系統に割り付ける処理の概略フローチャートである。
●［ステップＳＡ０１］単系統用の加工プログラムを早送りを区切りとして切削送りのグループごとに分けて番号をつける。例えば、
Ｎ０１  Ｇ００  Ｘ９０
Ｎ０２  Ｇ０１  Ｚ１００
Ｎ０３  Ｇ０１  Ｘ１１０  Ｚ１１０
Ｎ０４  Ｇ００  Ｚ０
Ｎ０５  Ｇ００  Ｘ８０
Ｎ０６  Ｇ０１  Ｚ１１０
Ｎ０７  Ｇ０１Ｘ１１０  Ｚ１２０
Ｎ０８  Ｇ００  Ｚ０
・・・
といったような加工プログラムの場合、区切りはＮ０１，Ｎ０４，Ｎ０５，Ｎ０８であり、これら区切りにより分けられる切削送りグループはＮ０２，Ｎ０３の切削送りグループと、Ｎ０６，Ｎ０７の切削送りグループである。このようにして、全プログラムを早送りで区切られた切削送りグループに番号をつける。上記の例の場合、Ｎ０２，Ｎ０３の切削送りグループの番号が１、Ｎ０６、Ｎ０７の切削送りグループの番号が２となる。同様にして、全プログラムの切削送りのグループに番号をつけ、これをメモリに記憶する。
【００３６】
●［ステップＳＡ０２］２系統の制御の場合、初期割り付けとして、１番目の切削送りグループを第１系統、２番目の切削送りグループを第２系統に割り付ける。どの系統に割り付けられたかは、グループ番号とともにメモリに記憶する。ここでは、２番目以降のグループは変数Ｍと変数Ｌを用いてＭ＋Ｌの番号で示す。Ｍの初期値は１、Ｌの初期値は１となる。以降、１つのグループに含まれる切削をまとめて、Ｍ番目の切削、（Ｍ＋Ｌ）番目の切削と呼ぶ。
●［ステップＳＡ０３］Ｍ番目の切削のＺ軸方向の移動範囲と、（Ｍ＋Ｌ）番目の切削のＺ軸方向の移動範囲を求める。
【００３７】
●［ステップＳＡ０４］Ｍ番目の切削と、（Ｍ＋Ｌ）番目の切削で、Ｚ座標上で重なる箇所がある場合はステップＳＡ０５へ処理を移行し、無い場合はステップＳＡ０６へ処理を移行する。
【００３８】
●［ステップＳＡ０５］Ｍ番目の切削と（Ｍ＋Ｌ）番目の切削とで、Ｚ座標上で重なる箇所がある場合には、重なっているＺ軸座標のすべての点で、（Ｍ＋Ｌ）番目の切削が通る時間−Ｍ番目の加工が通る時間を計算し、その値が最小となるＺ座標Ｚｔｍｉｎを求める。また、ＺｔｍｉｎをＭ番目の切削が割り付けられている系統が通る時間Ｔｚｍｉｎを求める。なお、ＺｔｍｉｎをＭ番目の切削が通る時間が複数ある場合（Ｚ軸方向の移動が無く、時間が経過する場合）は、最も遅い時間をＴｚｍｉｎとする。また、最小となるＺ座標Ｚｔｍｉｎが複数箇所ある場合は、最も遅い時間の箇所をＺｔｍｉｎとする。
●［ステップＳＡ０６］Ｍ番目の切削と、Ｍ＋Ｌ番目の切削で、Ｚ座標上で重なる箇所が無い場合、Ｍ＋Ｌ番目の切削はいつでも開始可能である。（Ｍ＋Ｌ）番目の切削の開始のタイミングはＭ番目の切削の開始から０秒遅れ（同時に加工開始）とする。
【００３９】
●［ステップＳＡ０７］Ｍ番目の切削と、（Ｍ＋Ｌ）番目の切削の遅れは、Ｍ番目の切削と、Ｍ＋Ｌ番目の切削が同じＺ座標を通る際の時間の最低時間差の設定値Ｔｄ、または、最も接近するＺ軸方向の最低距離差の設定値Ｚｄで設定を行う。これらの設定値はメモリに予め設定しておく。最低時間差の設定値Ｔｄを用いるように設定されている場合はステップＳＡ０８へ処理を移行し、距離の最小値Ｚｄを用いるように設定されている場合はステップＳＡ０９へ処理を移行する。
【００４０】
●［ステップＳＡ０８］最低時間差の設定値Ｔｄを用いるように設定されている場合、（Ｍ＋Ｌ）番目の切削を開始させるタイミングは、Ｍ番目の切削が開始されてから｛設定値＋（ＺｔｍｉｎをＭ番目の切削が通る時間−Ｚｔｍｉｎを（Ｍ＋Ｌ）番目の切削が通る時間）｝後とする。ＺｔｍｉｎをＭ番目の切削が通る時間が複数ある場合（Ｚ軸方向の移動が無く、時間が経過する場合）は、最も遅い時間となる。Ｚｔｍｉｎを（Ｍ＋Ｌ）番目の切削が通る時間が複数ある場合（Ｚ軸方向の移動が無く、時間が経過する場合）は、最も早い時間となる。（Ｍ＋Ｌ）番目の切削の開始のタイミングをＭ番目の切削の位置で判断する場合は、Ｍ番目の切削がＺｔｍｉｎを通過したタイミングとなる。（Ｍ＋Ｌ）番目の切削を開始させるタイミングは、グループ番号とともにメモリに記憶する。
【００４１】
●［ステップＳＡ０９］最低距離差の設定値Ｚｄを用いるように設定されている場合、（Ｍ＋Ｌ）番目の切削を開始させるタイミングは、Ｍ番目の切削が開始されてから｛Ｔｚｍｉｎ−（（Ｍ＋Ｌ）番目の切削が（Ｚｔｍｉｎ−設定値）を通る時間）｝後となる。（Ｍ＋Ｌ）番目の切削の開始のタイミングをＭ番目の切削の位置で判断する場合は、Ｍ番目の切削がＺｔｍｉｎを通過したタイミングとなる。（Ｍ＋Ｌ）番目の切削を開始させるタイミングは、グループ番号とともにメモリに記憶する。
【００４２】
●［ステップＳＡ１０］（Ｍ＋Ｌ）番目の切削がプログラムの最後の切削送りグループではない場合はステップＳＡ１１へと処理を移行し、最後の切削送りグループである場合は本処理を終了する。
●［ステップＳＡ１１］（Ｍ＋Ｌ）番目の切削がプログラムの最後の切削送りグループではない場合、（Ｍ＋Ｌ）番目の切削の開始タイミングと、（Ｍ＋Ｌ）番目の切削の加工時間と、Ｍ番目の切削の加工時間とに基づいて、Ｍ番目の切削と（Ｍ＋Ｌ）番目の切削とのどちらが先に完了するか確認する。Ｍ番目の切削が先に完了する場合はステップＳＡ１２へと処理を移行し、（Ｍ＋Ｌ）番目の切削が先に完了する場合はステップＳＡ１３へ処理を移行する。
【００４３】
●［ステップＳＡ１２］Ｍ番目の切削が先に完了する場合、（Ｍ＋Ｌ＋１）番目の切削はＭ番目の切削を行った系統へと割り付ける。すなわち先に切削を開始したＭ番目の切削が先に完了し、（Ｍ＋Ｌ）番目の切削の次の切削を担当することになる。割り付けられた系統は切削送りグループのグループ番号とともにメモリに記憶する。
●［ステップＳＡ１３］変数Ｍに現在実行している（あるいは加工が完了している）最後の切削送りグループのグループ番号Ｍ＋Ｌを代入した後にＬを１にリセットし、ステップＳＡ０３へと処理を移行する。
【００４４】
●［ステップＳＡ１４］（Ｍ＋Ｌ）番目の切削が先に完了する場合、（Ｍ＋Ｌ＋１）番目の切削は（Ｍ＋Ｌ）番目の切削を行った系統に割り付ける。すなわち、後から切削を開始した（Ｍ＋Ｌ）番目の切削が先に完了し、（Ｍ＋Ｌ）番目の切削の次の切削を担当することになる。割り付けられた系統は切削送りグループ番号とともにメモリに記憶する。
●［ステップＳＡ１５］Ｌをインクリメント（１増加）して、ステップＳＡ０３へと処理を移行する。
【００４５】
上記した割り付け処理により、メモリに記憶されたそれぞれの系統に割り付けられたプログラムと切削開始のタイミングを元に各系統を制御し、加工を行う。後の加工は求められた切削開始のタイミングより後であれば、いつでも切削を開始することができる。
【００４６】
上記した割り付け処理により、各系統へと割り付けた加工プログラムは、例えば図１９に示すようにそれぞれの系統に分けて表示することができる。この時、前の切削送りと後の切削送りがオーバラップしているか、独立して動けるか、あるいは前の切削が完了するまで待つかを色分けや段落のずらし、横線の挿入などで示すことも可能である。
また、図２０に示すように、それぞれの系統に割り付けらえた切削送りグループとその開始タイミングに基づく加工シミュレーションを行うことで、各系統の動きやオーバラップの度合いなどを確認することができる。
このように表示された加工プログラムを見た作業者は、系統の入れ替えやプログラムの修正を行うことができる。
【００４７】
なお、図１８のフローチャートは２系統のシステムについて記載しているが、割り付けられた系統間で同様の確認を行うことで、３系統、４系統などの他系統の加工装置において、単系統の加工プログラムに含まれる各切削グループをそれぞれの系統に対して割り付けて、開始のタイミングを求めることができる。
【００４８】
上記した割り付け処理は、旋削加工の実行中に加工プログラムを先読みしながら並列して割り付け処理を行うようにしてもよいし、あらかじめ旋削加工を開始する前に加工プログラムをシミュレーションして各系統への全ての割り付けを完了させてから加工を開始するようにしてもよい。
【００４９】
図２１は、上記した割り付け処理を旋削加工の実行中に加工プログラムを先読みしながら並列して実行するように構成された、本発明の一実施形態による数値制御装置の機能ブロック図である。この実施形態の数値制御装置１は、制御対処となる系統ごとに指令解析部１０、補間部１１、サーボ制御部１２、を備え、更に系統割り付け部１３を備える。
系統割り付け部１３は、図示しないメモリに記憶される単系統用の加工プログラム３０を逐次先読みして図１８のフローチャートで示した割り付け処理を実行し、各切削送りグループのそれぞれの系統に対する割り付けを行うと共に、各切削送りグループの開始タイミングを決定し、系統割り付け情報として図示しないメモリ上に設けられた系統割り付け情報記憶部３１へと記憶する。
【００５０】
指令解析部１０は、系統割り付け情報記憶部３１から自系統に割り当てられた切削送りグループで指令される指令を読み出して解析し、解析結果に基づいて自系統での制御対象となる工具の移動を指令する指令データを作成し、作成した該指令データを補間部１１へと出力する。この指令データには、解析した切削送りグループの開始タイミングに係るデータも含まれている。
【００５１】
補間部１１は、指令解析部１０から受け付けた指令データに基づいて、指令データによる指令経路上の補間周期毎の点として補間データを生成すると共に、生成した補間データに対する補間周期毎の各軸の速度の調整（加減速処理）を行う。そして、補間周期毎に調整後の補間データを補間周期毎の工具の位置（移動量）を指令する位置指令としてサーボ制御部１２へと出力する。なお、補間データの出力タイミングには、指令データに含まれる切削送りグループの開始タイミングが反映される。
【００５２】
サーボ制御部１２は、補間部１１から受け付けた位置指令Ａに基づいて自系統での制御対象となる工具を駆動するサーボモータを制御する。
【００５３】
図２２は、上記した割り付け処理を旋削加工を開始する前にシミュレーションして各系統への全ての割り付けを行う本発明の一実施形態によるシミュレーション装置の機能ブロック図である。この実施形態のシミュレーション装置２は、制御対処となる系統ごとに指令解析部２０、補間部２１、サーボシミュレーション部２２、表示部２４を備え、更に系統割り付け部１３を備える。
系統割り付け部１３は、図示しないメモリに記憶される単系統用の加工プログラム３０を逐次先読みして図１８のフローチャートで示した割り付け処理を実行し、各切削送りグループのそれぞれの系統に対する割り付けを行うと共に、各切削送りグループの開始タイミングを決定し、系統割り付け情報として図示しないメモリ上に設けられた系統割り付け情報記憶部３１へと記憶する。この系統割り付け情報記憶部３１へと記憶された系統割り付け情報を読み出して数値制御装置に設定することで、当該数値制御装置では設定された系統割り付け情報に基づく各系統の制御を行うことができる。
【００５４】
指令解析部１０は、系統割り付け情報記憶部３１から自系統に割り当てられた切削送りグループで指令される指令を読み出して解析し、解析結果に基づいて自系統での制御対象となる工具の移動を指令する指令データを作成し、作成した該指令データを補間部１１へと出力する。この指令データには、解析した切削送りグループの開始タイミングに係るデータも含まれている。
【００５５】
補間部１１は、指令解析部１０から受け付けた指令データに基づいて、指令データによる指令経路上の補間周期毎の点として補間データを生成すると共に、生成した補間データに対する補間周期毎の各軸の速度の調整（加減速処理）を行う。そして、補間周期毎に調整後の補間データを補間周期毎の工具の位置（移動量）を指令する位置指令としてサーボ制御部１２へと出力する。なお、補間データの出力タイミングには、指令データに含まれる切削送りグループの開始タイミングが反映される。
【００５６】
サーボシミュレーション部２２は、補間部１１から受け付けた位置指令Ａに基づいて自系統での制御対象となる工具を駆動するサーボモータの動作をシミュレーションする。シミュレーション処理については、特開２０１４−０１６９８２号公報や特開２０１４−１８６３７１号公報などの従来技術により十分に公知となっているので本明細書では称さない説明は省略する。
そして、表示部２４は、系統割り付け情報記憶部３１に記憶された系統割り付け情報や、サーボシミュレーション部２２によるシミュレーション処理の結果などに基づいて、例えば各系統の工具の動作シミュレーション表示や、各系統へのプログラムの割り付け結果などの表示を行う。
【００５７】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００５８】
１  数値制御装置
２  シミュレーション装置
１０  指令解析部
１１  補間部
１２  サーボ制御部
１３  系統割り付け部
２０  指令解析部
２１  補間部
２２  サーボシミュレーション部
２４  表示部
３０  加工プログラム
３１  系統割り付け情報記憶部
【図１】
0006301979.tif 000002
【図２】
0006301979.tif 000003
【図３】
0006301979.tif 000004
【図４】
0006301979.tif 000005
【図５】
0006301979.tif 000006
【図６】
0006301979.tif 000007
【図７】
0006301979.tif 000008
【図８】
0006301979.tif 000009
【図９】
0006301979.tif 000010
【図１０】
0006301979.tif 000011
【図１１】
0006301979.tif 000012
【図１２】
0006301979.tif 000013
【図１３】
0006301979.tif 000014
【図１４】
0006301979.tif 000015
【図１５】
0006301979.tif 000016
【図１６】
0006301979.tif 000017
【図１７】
0006301979.tif 000018
【図１８】
0006301979.tif 000019
【図１９】
0006301979.tif 000020
【図２０】
0006301979.tif 000021
【図２１】
0006301979.tif 000022
【図２２】
0006301979.tif 000023
【図２３】
0006301979.tif 000024
【図２４】
0006301979.tif 000025
【図２５】
0006301979.tif 000026