(57)【特許請求の範囲】
【請求項１】
ワークを把持して回転する主軸と、
前記ワークを旋削加工する工具を把持する工具保持部と、
前記主軸の回転軸線と平行な方向であるＺ軸方向に、前記主軸および前記工具保持部の少なくとも一方を変位させるＺ軸駆動部と、
前記Ｚ軸に直交するＸ軸方向に、前記主軸および前記工具保持部の少なくとも一方を変位させるＸ軸駆動部と、
前記Ｚ軸および前記Ｘ軸の双方に直交するＹ軸回りに前記工具保持部を旋回位置決めさせるＢ軸駆動部と、を備える旋削加工装置を用いて、
前記主軸に把持されたワークを回転させ、該ワークに対してＸ軸方向に所定の切込量だけ切り込んだ状態で少なくともＺ軸方向に前記工具を相対的に送って旋削加工を行う旋削加工制御装置において、
前記旋削加工を規定する加工プログラムと、前記工具の形状を示す工具形状データとを記憶する記憶部と、
前記加工プログラムを解析して、前記Ｚ軸駆動部、前記Ｘ軸駆動部、前記Ｂ軸駆動部に対する指令量を算出して出力する加工プログラム処理部と、
前記旋削加工を行うときの前記ワークに対する前記工具の相対的な送り方向に直交する方向と前記工具の刃部とのなす角度であるアプローチ角を定めるアプローチ角指令値を設定する指令値設定処理部と、
前記工具形状データに基づき前記アプローチ角が前記アプローチ角指令値になるように制御するためのＢ軸指令量をアプローチ角設定指令量として算出するアプローチ角設定指令量算出処理部と、
該アプローチ角設定指令量を前記Ｂ軸駆動部に出力する指令処理部と、
を備え、
前記加工プログラムは、切込量を定める切込量データと前記アプローチ角を定めるアプローチ角データを含み、
前記加工プログラムの切込量データに従って旋削加工がなされるときに前記工具が前記ワークに加える背分力の絶対値が規定値以下となるアプローチ角を算出するアプローチ角算出処理部を備え、
該アプローチ角算出処理部は、算出したアプローチ角を前記加工プログラムにアプローチ角データとして登録し、
前記指令値設定処理部は、該アプローチ角データを前記アプローチ角指令値に設定する旋削加工制御装置。
【請求項２】
前記旋削加工の開始後であって完了前に、前記指令値設定処理部によって設定されている前記アプローチ角指令値を変更する指示を受け付け、該受け付けた指示に基づき前記アプローチ角指令値を変更する角度調整受付処理部を備え、
前記指令処理部は、前記アプローチ角設定指令量算出処理部が算出する前記変更されたアプローチ角指令値に対応する前記アプローチ角設定指令量を、前記Ｂ軸駆動部に出力する請求項１記載の旋削加工制御装置。
【請求項３】
前記角度調整受付処理部は、旋削加工がなされているときにアプローチ角指令値を変更する指示を受け付けると前記旋削加工を一時停止する機能を有し、
前記指令処理部は、前記アプローチ角設定指令量算出処理部が算出する前記変更された前記アプローチ角指令値に対応する前記アプローチ角設定指令量を、前記角度調整受付処理部による前記旋削加工停止中に前記Ｂ軸駆動部に出力する請求項２記載の旋削加工制御装置。
【請求項４】
前記加工プログラムは、加工中のアプローチ角を定めるアプローチ角データを含み、
前記指令値設定処理部は、前記加工プログラムのアプローチ角データを前記アプローチ角指令値に設定するものであり、
前記角度調整受付処理部によって変更された前記アプローチ角指令値を前記加工プログラムに登録する指令を受け付けるアプローチ角指令値格納処理部を備え、
該アプローチ角指令値格納処理部が加工プログラムへの格納指示を受け付けると、変更された前記アプローチ角指令値を前記加工プログラムにアプローチ角データとして登録する請求項２記載の旋削加工制御装置。
【請求項５】
前記記憶部は、前記工具が前記工具保持部に把持されたときの前記工具の刃先位置を示す工具データをさらに記憶し、
前記角度調整受付処理部がアプローチ角指令値を変更する際、前記工具データに基づき前記アプローチ角設定指令量にてＢ軸旋回位置決めするときの刃先位置の、直前のＢ軸位置の刃先位置からのＸＺ平面における変位を補償する動作補償量を算出する補償量算出処理部を備え、
前記指令処理部は、アプローチ角設定指令量、および動作補償量をＢ軸駆動部、Ｘ軸駆動部、およびＺ軸駆動部に同時に出力する請求項３記載の旋削加工制御装置。
【請求項６】
前記指令値設定処理部によって設定されたアプローチ角指令値と、前記工具形状データとに基づき、前記旋削加工が可能か否かを判断する判断処理部と、
該判断処理部によって前記旋削加工が可能ではないと判断される場合、その旨を通知する通知処理部とを備える請求項１記載の旋削加工制御装置。
【請求項７】
請求項１記載の旋削加工制御装置における前記各処理部による処理を、コンピュータによって実行させる旋削加工支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、旋削加工制御装置、および旋削加工支援プログラムに関する。
【背景技術】
【０００２】
旋盤の主軸にワークを把持して回転させ、ワークの径方向（Ｘ軸方向）に工具の刃を所定の切込量だけ切り込ませた状態で、ワークの長手方向（Ｚ軸方向）に工具を送って旋削加工を行うことが周知である。旋削加工を行うと、工具には、主分力、送り分力、背分力がかかる。背分力は、ワークの切削抵抗の径方向（Ｘ軸方向）の成分であって、ワークの径方向（Ｘ軸方向）にワークを曲げようとする力を及ぼす。このため、アスペクト比の大きい微細な軸を加工するときなどには、背分力による加工精度への影響が無視できないものとなる。【０００３】
そこで従来は、たとえば特許文献１に見られるように、背分力をゼロとすることのできる工具を設計することが提案されている。詳しくは、切込量に応じて背分力がゼロとなるアプローチ角が１つ定まるという知見に基づき、ある切込量とした場合に背分力がゼロとなるアプローチ角を備える工具を設計することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１３１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１記載の技術では、切込量が変わるたびに、新たに工具を設計する必要が生じるため、工具に汎用性を持たせることが困難であるという問題がある。
本発明は、そうした実情に鑑みてなされたものであり、その目的は、ワークを旋削加工する精度を高く維持しつつも、旋削加工に用いる工具に汎用性を持たせることのできる旋削加工制御装置、および旋削加工支援プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
以下、上記課題を解決するための手段およびその作用効果について記載する。
技術的思想１：ワークを把持して回転する主軸と、前記ワークを旋削加工する工具を把持する工具保持部と、前記主軸の回転軸線と平行な方向であるＺ軸方向に、前記主軸および前記工具保持部の少なくとも一方を変位させるＺ軸駆動部と、前記Ｚ軸に直交するＸ軸方向に、前記主軸および前記工具保持部の少なくとも一方を変位させるＸ軸駆動部と、前記Ｚ軸および前記Ｘ軸の双方に直交するＹ軸回りに前記工具保持部を旋回させるＢ軸駆動部と、を備える旋削加工装置を用いて、前記主軸に把持されたワークを回転させ、該ワークに対してＸ軸方向に所定の切込量だけ切り込んだ状態で少なくともＺ軸方向に前記工具を相対的に送って旋削加工を行う旋削加工制御装置において、前記旋削加工を規定する加工プログラムと、前記工具の形状を示す工具形状データと、を記憶する記憶部と、前記加工プログラムを解析して前記Ｚ軸駆動部、前記Ｘ軸駆動部、前記Ｂ軸駆動部に対する指令量を算出して出力する加工プログラム処理部と、前記旋削加工を行うときの前記ワークに対する前記工具の相対的な送り方向に直交する方向と前記工具の刃部とのなす角度であるアプローチ角を定めるアプローチ角指令値を設定する指令値設定処理部と、前記工具形状データに基づき前記アプローチ角が前記アプローチ角指令値になるように制御するためのＢ軸指令量をアプローチ角設定指令量として算出するアプローチ角設定指令量算出部と、該アプローチ角設定指令量を前記Ｂ軸駆動部に出力する指令処理部と、を備える旋削加工制御装置。 【０００７】
上記装置では、アプローチ角指令値を設定し、加工時のアプローチ角がアプローチ角指令値になるように制御するためのＢ軸指令量を算出し、Ｂ軸駆動部に出力することで、加工時のアプローチ角を適宜変更することができる。アプローチ角を変更することで、工具がワークに加える背分力を変えることができ、その結果、旋削加工時のアプローチ角を調整することで、背分力をゼロまたは極めて小さな値にすることができる。そのため、特殊な工具を用いなくても、汎用的な工具を適切なアプローチ角指令値を設定して使用することで、旋削加工精度を極めて高くすることができる。【０００８】
技術的思想２：前記記憶部は、前記工具が前記工具保持部に把持されたときの前記工具の刃先位置を示す工具データをさらに記憶し、前記工具データに基づき前記アプローチ角設定指令量にてＢ軸旋回位置決めするときの刃先位置の、前記アプローチ角指令値設定前の刃先位置からのＸＺ平面における変位を補償するアプローチ角補償量を算出する補償量算出処理部を備え、前記指令処理部は、前記加工プログラム処理部から出力されたＸ軸指令量、Ｚ軸指令量をアプローチ角補償量で補正して、前記Ｘ軸駆動部および前記Ｚ軸駆動部に出力する技術的思想１記載の旋削加工制御装置。【０００９】
アプローチ角がアプローチ角指令値になるように制御するためにＢ軸を旋回位置決めさせると、刃先位置がＸＺ平面において変位する。その変位を打ち消すようなアプローチ角補償量を計算し、記憶することにより、加工動作時のＸ軸指令量およびＺ軸指令量をアプローチ角補償量で補正するだけで、アプローチ角を制御するための新たな複雑な処理を施すことなく、加工を行うことができる。【００１０】
技術的思想３：前記旋削加工の開始後であって完了前に、前記指令値設定処理部によって設定されている前記アプローチ角指令値を変更する指示を受け付け、該受け付けた指示に基づき前記アプローチ角指令値を変更する角度調整受付処理部を備え、前記指令処理部は、前記アプローチ角設定指令量算出処理部が算出する前記変更されたアプローチ角指令値に対応する前記アプローチ角設定指令量を、前記Ｂ軸駆動部に出力する技術的思想１記載の旋削加工制御装置。【００１１】
上記装置では、旋削加工の開始後であって完了前に旋削加工時のアプローチ角を変更することができるため、旋削加工中にびびりを検出するなどした場合に、その場でアプローチ角指令値を変更してびびりを抑制することができ、旋削加工の精度を向上させる変更を容易に行うことができる。【００１２】
技術的思想４：前記角度調整受付処理部は、旋削加工がなされているときにアプローチ角指令値を変更する指示を受け付けると、前記旋削加工を一時停止する機能を有し、前記指令処理部は、前記アプローチ角設定指令量算出処理部が算出する前記変更された前記アプローチ角指令値に対応する前記アプローチ角設定指令量を、前記角度調整受付処理部による前記旋削加工停止中に、前記Ｂ軸駆動部に出力する技術的思想３記載の旋削加工制御装置。【００１３】
旋削加工時のアプローチ角を変更するためにＢ軸位置を変更すると、工具の刃先位置とＢ軸旋回中心との距離に応じて、工具の刃先位置はＸ軸方向およびＺ軸方向に変化する。このため、旋削加工中にアプローチ角を変更することには困難が伴う。そこで上記装置では、アプローチ角を変更する指示を受け付けると旋削加工を中断するので、中断中に手動操作で刃先をワークから遠ざけることができる。遠ざけることにより、工具の刃先がＸ軸方向、Ｚ軸方向に変化してもワークに干渉することはなく、その結果、アプローチ角指令値の変更を簡易に行うことができる。【００１４】
技術的思想５：前記加工プログラムは、加工時のアプローチ角を定めるアプローチ角データを含み、前記指令値設定処理部は、前記加工プログラムのアプローチ角データを前記アプローチ角指令値に設定するものであり、前記角度調整受付処理部によって変更された前記アプローチ角指令値を前記加工プログラムに登録する指令を受け付けるアプローチ角指令値格納処理部を備え、該アプローチ角指令値格納処理部が加工プログラムへの格納指示を受け付けると、変更された前記アプローチ角指令値を前記加工プログラムにアプローチ角データとして登録する技術的思想３記載の旋削加工制御装置。【００１５】
上記装置では、アプローチ角指令値格納処理部を備えることで、角度調整受付処理部によって受け付けられたアプローチ角指令値が適切な値である場合に、これを加工プログラムに登録することができる。【００１６】
技術的思想６：前記記憶部は、前記工具が前記工具保持部に把持されたときの前記工具の刃先位置を示す工具データをさらに記憶し、前記角度調整受付処理部がアプローチ角指令値を変更する際、前記工具データに基づき前記アプローチ角設定指令量にてＢ軸旋回位置決めするときの刃先位置の、直前のＢ軸位置の刃先位置からのＸＺ平面における変位を補償する動作補償量を算出する補償量算出処理部を備え、前記指令処理部は、アプローチ角設定指令量、および動作補償量をＢ軸駆動部、Ｘ軸駆動部、およびＺ軸駆動部に同時に出力する技術的思想４記載の旋削加工制御装置。【００１７】
アプローチ角指令値を変更するためにＢ軸を旋回位置決めさせると、Ｂ軸旋回中心と刃先のＸＺ平面上の位置関係により刃先位置が変化して切込量が変動する。この点、上記装置では、直前の刃先位置からの変位を打ち消すためのＸ軸動作補償量およびＺ軸動作補償量を算出してアプローチ角設定指令量と同時に出力することで、加工中断中にアプローチ角指令値を種々変更しても、刃先位置を変えずにアプローチ角を変更することができる。【００１８】
技術的思想７：前記加工プログラムは、切込量を定める切込量データと前記アプローチ角を定めるアプローチ角データを含み、前記旋削加工がなされるときに前記工具が前記ワークに加える背分力の絶対値が規定値以下となるアプローチ角を算出するアプローチ角算出処理部を備え、該アプローチ角算出処理部は、算出したアプローチ角を前記加工プログラムにアプローチ角データとして登録し、前記指令値設定処理部は、該アプローチ角データを前記アプローチ角指令値に設定する技術的思想１記載の旋削加工制御装置。【００１９】
上記装置ではアプローチ角算出処理部が、旋削加工時に発生する背分力が規定値以下となるアプローチ角を算出してくれるので、背分力を低減することのできるアプローチ角についての情報を所持しないオペレータであっても、背分力を低減することのできる旋削加工を行うことができる。【００２０】
技術的思想８：前記指令値設定処理部によって設定されたアプローチ角指令値と、前記工具形状データとに基づき、前記旋削加工が可能か否かを判断する判断処理部と、該判断処理部によって前記旋削加工が可能ではないと判断される場合、その旨を通知する通知処理部とを備える技術的思想１記載の旋削加工制御装置。【００２１】
アプローチ角と工具形状とがわかれば、工具がワークと干渉するか否かを知ることができる。このため、上記装置では、アプローチ角指令値と工具形状とに基づき工具とワークの干渉を判定し、旋削加工を行うことが可能でないと判断したり、その旨を通知したりすることができる。【００２２】
技術的思想９：技術的思想１〜８のいずれか１項に記載の旋削加工制御装置における前記各処理部を、コンピュータによって実行させる旋削加工支援プログラム。
技術的思想１０：ワークを把持して回転する主軸と、前記ワークを旋削加工する工具を把持する工具保持部と、前記主軸の回転軸線と平行な方向であるＺ軸方向に、前記主軸および前記工具保持部の少なくとも一方を変位させるＺ軸駆動部と、前記Ｚ軸に直交するＸ軸方向に、前記主軸および前記工具保持部の少なくとも一方を変位させるＸ軸駆動部と、前記Ｚ軸および前記Ｘ軸の双方に直交するＹ軸回りに前記工具保持部を旋回位置決めさせるＢ軸駆動部と、を備える旋削加工装置を用いて、前記主軸に把持されたワークを回転させ、該ワークに対してＸ軸方向に所定の切込量だけ切り込んだ状態で少なくともＺ軸方向に前記工具を相対的に送って旋削加工を行う旋削加工制御方法において、前記旋削加工を規定する加工プログラムを解析して、前記Ｚ軸駆動部、前記Ｘ軸駆動部、前記Ｂ軸駆動部に対する指令量を算出して出力する加工プログラム処理工程と、前記旋削加工を行うときの前記ワークに対する前記工具の相対的な送り方向に直交する方向と前記工具の刃部とのなす角度であるアプローチ角を定めるアプローチ角指令値を設定する指令値設定処理工程と、前記工具の形状を示す工具形状データに基づき前記アプローチ角が前記アプローチ角指令値になるように制御するためのＢ軸指令量をアプローチ角設定指令量として算出するアプローチ角設定指令量算出処理工程と、該アプローチ角設定指令量をＢ軸駆動部に出力する指令処理工程と、からなる旋削加工制御方法。【００２３】
上記方法によれば、技術的思想１記載の装置と同様の作用効果を奏する。
【図面の簡単な説明】
【００２４】
【図１】一実施形態にかかるシステム構成図。
【図２】同実施形態にかかる旋削加工装置の一部構成を示す斜視図。
【図３】（ａ）は、同実施形態にかかる工具形状データを示し、（ｂ）は、工具形状データの定義を示し、（ｃ）は、ノーズ半径の定義を示す図。
【図４】アプローチ角を示す図。
【図５】（ａ）および（ｂ）は、同実施形態にかかる背分力データを示す図。
【図６】同実施形態にかかる工具データを示し、また、アプローチ角設定指令量のＢ軸旋回位置決めに伴う刃先位置の変化量を示す図。
【図７】上記実施形態にかかる背分力データを示す図。
【図８】旋削加工支援プログラムの機能ブロック図。
【図９】従来技術における旋削加工実行時の制御処理に関連する機能ブロック図。
【図１０】同実施形態にかかるアプローチ角データの設定処理の手順を示す流れ図。
【図１１】アプローチ角算出処理部Ｍ１６の処理手順を示す流れ図。
【図１２】判断処理部Ｍ１８の処理手順を示す流れ図。
【図１３】（ａ）および（ｂ）は、同実施形態にかかるアプローチ角による干渉発生の有無の判断手法を示す図。
【図１４】同実施形態にかかる旋削加工処理の手順を示す流れ図。
【図１５】補償量算出処理部Ｍ３０の処理手順を示す流れ図。
【図１６】指令処理部Ｍ３４の処理手順を示す流れ図。
【図１７】加工プログラム処理部Ｍ２２の処理手順を示す流れ図。
【図１８】同実施形態にかかるアプローチ角の角度調整の処理手順を示す流れ図。
【図１９】角度調整受付処理部Ｍ２８の処理手順を示す流れ図。
【図２０】アプローチ角指令値格納処理部Ｍ３２の処理手順を示す流れ図。
【図２１】（ａ）および（ｂ）は、上記実施形態の変形例における旋削加工を示す側面図。
【発明を実施するための形態】
【００２５】
以下、旋削加工制御装置、旋削加工方法、および旋削加工支援プログラムの一実施形態について、図面を参照しつつ説明する。
図１に示す旋削加工システム２０は、ワーク１０を旋削加工するための複合加工旋盤システムである。旋削加工システム２０は、旋削加工装置３０と、旋削加工制御装置５０と、インターフェース７０とを備えている。
【００２６】
本実施形態では、ワーク１０として、円柱形状のものを想定している。
旋削加工装置３０は、ワーク１０を把持する主軸１２と、工具であるバイト３６と、バイト３６を把持する工具保持部１４とを備えている。主軸１２は、回転軸線ａｘ１の周りに回転可能である。バイト３６は、ワーク１０を旋削する刃部として機能するインサート３２と、インサート３２を支持するシャンク３４とを備えている。
【００２７】
図２に、上記ワーク１０を把持した旋削加工装置３０の一部構成を示す。
図示されるように、旋削加工装置３０は、さらに、工具保持部１４を旋回可能に備える刃物台１６を有する。刃物台１６は、回転軸線ａｘ１に平行なＺ軸方向、およびＺ軸に直交するＸ軸方向に直線変位可能となっている。一方、工具保持部１４は、Ｚ軸およびＸ軸の双方に直交するＹ軸に平行であって且つ刃物台１６上のＢ軸旋回中心Ｐ１を通る旋回軸線ａｘ２の回りに旋回可能に設置されている。主軸１２や、工具保持部１４、刃物台１６は、図１に示す各駆動部によって駆動される。
【００２８】
すなわち、図１に示した旋削加工装置３０は、主軸１２を回転軸線ａｘ１の回りに回転させる主軸駆動部４０を備えている。また、旋削加工装置３０は、刃物台１６を、Ｘ軸方向に変位させるＸ軸駆動部４２と、刃物台１６を、Ｚ軸方向に変位させるＺ軸駆動部４４とを備えている。刃物台１６をＸ軸方向に変位させることで、バイト３６もＸ軸方向に変位し、刃物台１６をＺ軸方向に変位させることで、バイト３６もＺ軸方向に変位する。さらに、旋削加工装置３０は、上記旋回軸線ａｘ２を旋回中心として工具保持部１４を旋回位置決めさせるＢ軸駆動部４６を備えている。Ｂ軸駆動部４６は、工具保持部１４のＢ軸を駆動するものであり、図１および図２には、Ｂ軸を、「Ｂ」として記載してある。
【００２９】
旋削加工制御装置５０は、旋削加工を行うために旋削加工装置３０を制御する制御装置である。詳しくは、旋削加工制御装置５０は、旋削加工装置３０の主軸駆動部４０、Ｘ軸駆動部４２、Ｚ軸駆動部４４、およびＢ軸駆動部４６の各指令量を算出して、主軸駆動部４０、Ｘ軸駆動部４２、Ｚ軸駆動部４４、およびＢ軸駆動部４６のそれぞれに出力する。ここで、主軸駆動部４０の指令量は、主軸１２の回転速度である。また、Ｘ軸駆動部４２の指令量は、刃物台１６のＸ軸方向変位量である。また、Ｚ軸駆動部４４の指令量は、刃物台１６のＺ軸方向変位量である。また、Ｂ軸駆動部４６の指令量は、旋回軸線ａｘ２を旋回中心とする工具保持部１４の旋回角度である。
【００３０】
旋削加工制御装置５０は、各種演算処理を行う中央処理装置（ＣＰＵ）５２と、メモリ５４とを備えている。メモリ５４には、工具形状データ６０、工具データ６２、加工プログラム６４、旋削加工支援プログラム６６、および背分力データ６８が記憶されている。また、旋削加工時のアプローチ角を定めるアプローチ角指令値５８を内部変数として有する。
【００３１】
図３（ａ）に示すように、工具形状データ６０は、各工具を指定する識別情報（工具Ｎｏ）毎に、刃先角βと、基準切込角γと、ノーズ半径Ｒとの情報を有するデータである。図３（ｂ）に、刃先角βや基準切込角γを示す。刃先角βは、インサート３２の刃先Ｐ２の角度である。基準切込角γは、インサート３２のうち進行方向側の刃部（主切刃部３２ｂ）の形状を特定するためのパラメータである。本実施形態では、基準切込角γは、バイト３６のシャンク３４がワークの軸心に対して直交する姿勢で対向したときにおけるインサート３２の主切刃部３２ｂとワークの軸心とのなす角（図中、直線Ｌは、ワークの軸心に平行な直線を示す）である。バイト３６のこの姿勢は、工具保持部１４をＢ軸原点に位置決めしたときの姿勢である。ここでＢ軸原点は、工具保持部１４に装着されたバイト３６がＸ軸方向に平行で、ワークに対向したときのＢ軸位置であり、バイト３６は工具保持部１４の向きと同一方向に装着されているものとする。
【００３２】
図３（ｃ）に、ノーズ半径Ｒを示す。ノーズ半径Ｒは、インサート３２の刃先Ｐ２の形状を定める曲率半径である。なお、図３（ｂ）においては、逃げ角δを併せ示した。逃げ角δとは、インサート３２の逃げ面（進行方向に対する背面）とワークの仕上げ面とのなす角度である。ちなみに、バイト３６は、本来、工具保持部１４をＢ軸原点で使用することが想定されている。
【００３３】
図４に、アプローチ角αおよび切込量ａｐを示す。図４では、バイト３６を図示するとともに、バイト３６のうちのインサート３２の一部を拡大したものを図示している。図示されるように、アプローチ角αは、バイト３６の送り方向Ｍ（たとえばＺ軸方向）に直交する方向Ｎ（たとえばＸ軸方向）と主切刃部３２ｂとのなす角度である。アプローチ角αの正方向は、本実施形態では、方向Ｎから反時計回りに回転する側としている。なお、図４には、ワーク１０の切込量ａｐも図示してある。本実施形態では、切込量ａｐをノーズ半径Ｒよりも大きい値に設定する。図４に示されるようにアプローチ角αが正の場合、インサート３２の先端部３２ａがワーク１０に加える背分力Ｆ１と、主切刃部３２ｂがワーク１０に加える背分力Ｆ２とが互いに反対方向となる。そして、背分力Ｆ２は、アプローチ角αによって調整することができ、背分力Ｆ２を背分力Ｆ１と等しくすることもできる。
【００３４】
図５（ａ）および図５（ｂ）に、特定の工具を用いて所定の切込量で旋削加工を行ったときのアプローチ角と背分力との関係を実験的に求めたデータを例示する。この２つの例から明らかなように、工具と切込量とが与えられると、アプローチ角を適宜決定することにより旋削加工時の背分力をゼロにすることができる。言い換えれば、工具が把持されている工具保持部１４をＢ軸旋回位置決めさせることで旋削加工時のアプローチ角を変更でき、工具保持部１４のＢ軸角度を適当な角度に設定して旋削加工を行うことにより、背分力をゼロにすることも可能となる。
【００３５】
加工プログラム６４は、ワーク１０の旋削加工の仕方を定めるデータ群である。本実施形態では、加工プログラム６４は、加工形状を示すデータや、前述したアプローチ角αや切込量ａｐ等の加工条件を示すデータを含む、加工に必要なデータ群である。
【００３６】
なお本実施形態では、Ｘ軸方向すなわちワークの径方向に所定の切込量だけ工具を切り込ませ、少なくともＺ軸方向を含む方向へ工具を送って行う旋削加工が対象である。送り方向は、Ｚ軸のみを移動させる以外に、Ｚ軸方向に送りながら若干Ｘ軸方向にも送る、いわゆるテーパ加工も含まれる。
【００３７】
工具データ６２は、工具の刃先位置を示すデータである。図６に示されるように、ここではバイト３６を把持する工具保持部１４をＢ軸原点に位置決めしたときのインサート３２の刃先Ｐ２の、Ｂ軸旋回中心Ｐ１を基準とする座標値を示すデータとする。工具データを用いる処理に関しては、後述する。
【００３８】
図１に示すインターフェース７０は、表示部７２と入力部７４とを備えている。ここで、表示部７２は、視覚を通じて各種情報をオペレータに通知するためのものである。また、入力部７４は、オペレータによる入力操作がなされる対象であり、これによりオペレータが旋削加工制御装置５０に要求を伝えることが可能となっている。なお、入力部７４の入力操作によって、工具形状データ６０、工具データ６２、加工プログラム６４、および、背分力データ６８が入力可能である。ただし、加工プログラム６４が備えるデータの一部について、旋削加工制御装置５０によって自動生成することも可能である。また、工具データ６２は、刃先位置を検出するセンサを用いて自動計測することも可能である。
【００３９】
図１に示した背分力データ６８は、旋削加工制御装置５０が、旋削加工時にワーク１０に加わる背分力をゼロとするアプローチ角αを算出するために用いるデータである。
図７に、背分力データ６８を示す。図示されるように、背分力データ６８は、切込量ａｐ毎に、アプローチ角αとワーク１０に加わる背分力との関係を実験的に求めたデータである。ただし、これら切込量ａｐ毎の背分力データは、ワーク１０の材質や、切削速度、送り速度、インサート３２のチップブレーカの有無、旋削加工時にクーラントを使用したか否かのそれぞれ毎に異なるため、厳密に言えば、これらの諸要件毎に図５に示すようなアプローチ角と背分力との関係を実験的に求める必要がある。そうすることで、正確に背分力をゼロとするアプローチ角αを算出することが可能である。しかし、簡略化したデータ、たとえばある工具を用いるときの代表的な切削速度や送り速度の値を用いて得た背分力データを、切削速度や送り速度が異なる加工に適用したとしても、後述するように十分に実用に耐える。
【００４０】
図８に、図１に示した旋削加工支援プログラム６６が、ＣＰＵ５２によって実行されることで実現される機能ブロックを示す。この機能ブロックは、図９に示す従来の一般的な切削加工制御装置における加工プログラム実行時の機能ブロックを変形して実現されたものである。図９に示されるように、従来の機能ブロックでは、加工プログラム処理部Ｍ２２が加工プログラム６４と工具データ６２を参照して解析し、１加工動作毎の各軸の指令量を旋削加工装置３０に順次出力して、加工動作を行わせている。本実施形態における加工プログラム処理部Ｍ２２は、従来と同一機能を有し、加工プログラムを実行するための各軸の指令量を算出して出力するが、出力先については従来技術とは異なる。
【００４１】
指令値設定処理部Ｍ２４は、アプローチ角指令値５８を設定する。
アプローチ角算出処理部Ｍ１６は、背分力データ６８に基づき背分力がゼロとなるアプローチ角αを算出し、加工プログラム６４にアプローチ角データとして登録する。
【００４２】
判断処理部Ｍ１８は、アプローチ角データまたは、指令値設定処理部Ｍ２４によって設定されたアプローチ角指令値５８が、ワークと工具との干渉が発生することなく旋削加工を行うことができる値であるか否かを判断する。通知処理部Ｍ２０は、判断処理部Ｍ１８によって、旋削加工を行うことができないと判断される場合に、その旨を表示部７２に出力する。
【００４３】
また、角度調整受付処理部Ｍ２８は、加工プログラム６４実行中にアプローチ角の変更要求をオペレータから受け付けると、旋削加工装置３０に送り停止指令を出力して旋削加工を中断し、その後、指令値設定処理部Ｍ２４にて設定されたアプローチ角指令値５８を変更することでＢ軸位置決め角度を変更する。
【００４４】
アプローチ角指令値格納処理部Ｍ３２は、変更されたアプローチ角指令値５８を加工プログラム６４にアプローチ角データとして登録する。
アプローチ角設定指令量算出処理部Ｍ２６は、設定された、あるいは変更されたアプローチ角指令値５８を実現するＢ軸指令量をアプローチ角設定指令量として算出し、補償量算出処理部Ｍ３０は工具保持部１４をアプローチ角設定指令量だけＢ軸旋回位置決めすることで発生する刃先位置の変位を相殺するアプローチ角補償量および、角度調整受付処理部Ｍ２８にて変更されたアプローチ角指令値５８に対応してＢ軸が若干旋回することで発生する刃先位置の変位を相殺する動作補償量を算出する。
【００４５】
指令処理部Ｍ３４は、アプローチ角設定指令量や動作補償量を旋削加工装置３０へ出力したり、加工プログラム処理部Ｍ２２の出力である、旋削加工を行うためのＸ軸駆動部４２の指令量やＺ軸駆動部４４の指令量を、アプローチ角補償量で補正して、旋削加工装置３０に出力したりする。
【００４６】
次に、図１０〜図２０を用いてそれぞれのブロックの処理について詳述する。
図１０は、アプローチ角算出処理部Ｍ１６、判断処理部Ｍ１８、および通知処理部Ｍ２０が主に行う、旋削加工プログラムのアプローチ角データの設定処理の手順を示す。この処理は、ＣＰＵ５２によって、旋削加工支援プログラム６６が実行されることで実現される。
【００４７】
ＣＰＵ５２は、アプローチ角データの設定要求が生じたときにこの処理を開始する。本実施形態では、アプローチ角データの入力は、上記背分力データ６８を利用したアプローチ角データの自動設定と、オペレータによるアプローチ角データの入力操作とのいずれかを選択可能となっている。このため、ＣＰＵ５２は、最初にアプローチ角データの自動設定の要求であるか否かを判断する（Ｓ１２）。そしてＣＰＵ５２は、自動設定の要求であると判断する場合（Ｓ１２：ＹＥＳ）、アプローチ角算出処理部Ｍ１６の処理を開始する（Ｓ１４）。
【００４８】
図１１に、アプローチ角算出処理部Ｍ１６の処理の詳細を示す。ＣＰＵ５２は、加工プログラム６４を取得し、加工プログラム６４から切込量データと使用する工具の工具Ｎｏを取得する（Ｓ１４２）。続いてＣＰＵ５２は、アプローチ角αと背分力との関係を実験的に求めた複数のデータからなる背分力データ６８を取得し、複数のデータの中から１つのデータを上記加工プログラム６４の切込量データと使用工具の工具Ｎｏとに基づき、選択する（Ｓ１４４）。そして、このデータにおいて、背分力がゼロとなるアプローチ角αを決定し（Ｓ１４６）、加工プログラム６４にアプローチ角データとして登録する（Ｓ１４８）。
【００４９】
一方、ＣＰＵ５２は、図１０のステップＳ１２において自動設定ではないと判断する場合（Ｓ１２：ＮＯ）、入力部７４を介してアプローチ角αが入力されるのを受け付け、入力されたアプローチ角αを加工プログラム６４に登録する（Ｓ２８）。
【００５０】
ＣＰＵ５２は、こうして手動または自動で登録されたアプローチ角データが実際に制御に適用されたときに、バイト３６とワーク１０との干渉が発生しないか否か、を判断処理部Ｍ１８にて判断する（Ｓ１８）。
【００５１】
図１２に、判断処理部Ｍ１８の処理の詳細を示す。ＣＰＵ５２は、判断処理部Ｍ１８を呼び出すときにアプローチ角αと工具Ｎｏを引数で渡し、指定された工具Ｎｏの刃先角βおよび逃げ角しきい値δｔｈを取得し（Ｓ１８２）、逃げ角δを計算する（Ｓ１８４）。ここで、逃げ角δは、刃先角βとアプローチ角αとに基づき算出することができる。具体的には「δ＝１８０−β−α−９０」（式１）によって算出することができる。ここで、しきい値δｔｈはバイト３６とワークとの隙間を規定するものであり、ゼロ以上のゼロに近い正の値に設定されることが望ましい。
【００５２】
図１３に、この判断処理の例を示す。詳しくは、図１３（ａ）に、刃先角βが８０°、基準切込角γが９５°、アプローチ角αが「２４．２３°」である場合を示す。この場合、図中、破線にて示すようにアプローチ角αを「２４．２３°」に設定すると、式１により逃げ角δが「−１４．２３°」と、ゼロよりも小さい値となり、バイト３６がワーク１０と干渉する。このため、この場合には、旋削加工を行うことができないと判断する。一方、図１３（ｂ）に、刃先角βが５５°、基準切込角γが９５°、アプローチ角αが「２４．２３°」である場合を示す。この場合、図中、破線にて示すようにアプローチ角αを「２４．２３°」に設定しても、式１により逃げ角δが「１０．７７°」とゼロよりも大きい値となり、バイト３６がワーク１０と干渉することはない。このため、この場合には、旋削加工を行うことができると判断する。
【００５３】
処理手順の説明に戻る。ＣＰＵ５２は図１２のステップＳ１８６で、バイト３６とワーク１０との干渉を判断するために計算結果の逃げ角δが逃げ角しきい値δｔｈ以上であるか否かを判断する。逃げ角δがしきい値δｔｈ未満であると判断する場合（Ｓ１８６：ＮＯ）、バイト３６とワーク１０との間に干渉があると判定し、干渉フラグを付して判断処理部Ｍ１８の処理を終了する（Ｓ１８９）。これに対し、ＣＰＵ５２は、逃げ角δがしきい値θｔｈ以上であると判断する場合（Ｓ１８６：ＹＥＳ）、干渉が発生しないと判定し、干渉フラグなしで判断処理部Ｍ１８の処理を終了する（Ｓ１８８）。
【００５４】
ＣＰＵ５２は、この結果を受けて、図１０のステップＳ１９で干渉の有無を判定し、干渉ありの場合、すなわち干渉フラグがセットされている場合（Ｓ１９：ＹＥＳ）、通知処理部Ｍ２０にて表示部７２にその旨を出力し、オペレータにワークと工具が干渉することを通知する（Ｓ２２）。
【００５５】
なお、ＣＰＵ５２は、干渉フラグがリセットされていると判断する場合（Ｓ１９：ＮＯ）、およびステップＳ２２の処理が完了する場合、この一連の処理を終了する。
図１４は、指令値設定処理部Ｍ２４、アプローチ角設定指令量算出処理部Ｍ２６、補償量算出処理部Ｍ３０、判断処理部Ｍ１８、通知処理部Ｍ２０、加工プログラム処理部Ｍ２２、指令処理部Ｍ３４、およびアプローチ角指令値格納処理部Ｍ３２が主に行う、本実施形態にかかる旋削加工の処理手順を示す。この処理は、ＣＰＵ５２が旋削加工支援プログラム６６を実行することで実現される。
【００５６】
ＣＰＵ５２は、最初に、加工プログラム６４を取得（Ｓ３０）し、指令値設定処理部Ｍ２４にて加工プログラム中のアプローチ角データをアプローチ角指令値５８に設定する（Ｓ３１）。引き続き、アプローチ角設定指令量算出処理部Ｍ２６を呼び出してアプローチ角αがアプローチ角指令値５８になるように制御するためのＢ軸指令量を算出する（ステップＳ３２）。以後、このＢ軸指令量をアプローチ角設定指令量φと呼ぶ（図１３φ参照）。ここで、アプローチ角設定指令量φは、アプローチ角指令値５８（以下の式の中では「αｄ」を用いる）と、基準切込角γとに基づき算出される。たとえば、バイト３６の送り方向とワーク１０の軸心とが一致して且つＢ軸が原点にある場合、アプローチ角αは、「α＝γ−９０」（式２）であるため、Ｂ軸を原点から「φ＝αｄ−（γ―９０）」（式３）だけ旋回位置決めさせることで、アプローチ角αがアプローチ角指令値５８（αｄ）になるように制御することができる。この式３で求めたφがアプローチ角設定指令量φである。
【００５７】
以下、図１３を用いて具体的に説明する。工具保持部１４がＢ軸原点時のアプローチ角αは、式２より、図１３（ａ）、（ｂ）ともに、「５°」である。これをアプローチ角指令値５８（αｄ）の「２４．２３°」にするためのアプローチ角設定指令量φは、式３より、「１９．２３°」になる。つまり、Ｂ軸を「１９．２３°」旋回位置決めすることで、指令されたアプローチ角「２４．２３°」が実現できる。図１３および式３から明らかであるが、アプローチ角設定指令量φは工具形状データ６０の基準切込角γとアプローチ角指令値５８（αｄ）とで決定される。
【００５８】
アプローチ角αがアプローチ角指令値５８（αｄ）になるように制御するためにアプローチ角設定指令量φだけ工具保持部１４をＢ軸回りに旋回位置決めさせると、工具保持部１４のＢ軸旋回中心Ｐ１と、工具保持部１４が把持するバイト３６の刃先Ｐ２との距離に応じてバイト３６の刃先Ｐ２がＸ軸方向及びＺ軸方向に変位する。この変位を補償するデータを、アプローチ角補償量と呼び、Ｘ軸方向の変位を補償するアプローチ角Ｘ軸補償量と、Ｚ軸方向の変位を補償するアプローチ角Ｚ軸補償量とから構成される。ＣＰＵ５２はステップＳ３３にて補償量算出処理部Ｍ３０を呼び出して、工具データ６２に基づき、このアプローチ角補償量を計算する。以下、アプローチ角補償量の計算方法について、詳細に説明する。
【００５９】
図６は刃先Ｐ２とＢ軸旋回中心Ｐ１との位置関係を示す。工具データにはたとえば、Ｂ軸旋回中心Ｐ１を基準とした工具の刃先Ｐ２の座標値が加工前に登録されている。図中[Ｐ１]はＢ軸旋回中心Ｐ１の位置、[Ｐ２]は工具保持部１４がＢ軸原点における工具の刃先Ｐ２の位置、[Ｐ２]φは工具保持部１４がアプローチ角設定指令量φだけＢ軸旋回位置決めした時の工具の刃先Ｐ２の位置を表す。Ｂ軸旋回中心Ｐ１を基準とした座標系でそれぞれの位置を表現して、[Ｐ１]＝（０、０）、[Ｐ２]＝（Ｘ２、Ｚ２）、[Ｐ２]φ＝（Ｘ２φ、Ｚ２φ）とすると、アプローチ角指令値５８（αｄ）設定前の刃先位置[Ｐ２]から設定後の刃先位置[Ｐ２]φへのＸ軸方向の変位量ΔＸφ、Ｚ軸方向の変位量ΔＺφ、およびアプローチ角Ｘ軸補償量ηＸφ、アプローチ角Ｚ軸補償量ηＺφは、以下の計算式を用いて求めることができる。なお、以下の式において、いずれも式から自明ではあるが、Ｌ１は刃先Ｐ２とＢ軸旋回中心Ｐ１との間の長さであり、θは工具保持部１４をＢ軸原点に位置決めしたときの刃先Ｐ２のＢ軸角度位置である。
【００６０】
Ｌ１＝√（Ｘ２２＋Ｚ２２）（式４）、
θ＝ｔａｎ−１（Ｚ２／Ｘ２）（式５）、
Ｘ２φ＝Ｌ１×ｃｏｓ（θ＋φ）（式６）、
Ｚ２φ＝Ｌ１×ｓｉｎ（θ＋φ）（式７）、
ΔＸφ＝Ｘ２φ−Ｘ２（式８）、
ΔＺφ＝Ｚ２φ−Ｚ２（式９）、
ηＸφ＝−ΔＸφ（式１０）、
ηＺφ＝−ΔＺφ（式１１）。
【００６１】
Ｘ２φやＺ２φは、以上の計算式より、工具データ（Ｘ２、Ｚ２）、およびアプローチ角設定指令量φにより求めることができる。なお図１５は、補償量算出処理部Ｍ３０の処理手順を示すが、後述される図１８に示すアプローチ角手動微調整機能の説明の中で詳細に記載されるＸ軸動作補償量νＸ、Ｚ軸動作補償量νＺの計算式も記載されている。ここでは、アプローチ角手動微調整を行っていないので、φ＝φ´であり、νＸ＝Ｘ２φ−Ｘ２φ´＝Ｘ２φ−Ｘ２φ＝０、νＺ＝Ｚ２φ−Ｚ２φ´＝Ｚ２φ−Ｚ２φ＝０、ηＸφ´＝Ｘ２−Ｘ２φ´＝Ｘ２−Ｘ２φ＝ηＸφ、ηＺφ´＝Ｚ２−Ｚ２φ´＝Ｚ２−Ｚ２φ＝ηＺφとなる。
【００６２】
ここで求めたアプローチ角Ｘ軸補償量ηＸφとアプローチ角Ｚ軸補償量ηＺφとは、アプローチ角指令値５８（αｄ）を設定したことによって生じる刃先Ｐ２の位置の変位を打ち消すものである。これにより、アプローチ角を考慮しないで処理された加工指令量に、前記アプローチ角補償量を加算して出力することで、アプローチ角設定指令量φだけＢ軸旋回位置決めして生じた変位を補正することができる。
【００６３】
次にＣＰＵ５２は、取得した加工プログラム６４が正常に動作可能か否かを確認するが、この実施例ではステップＳ３４にて判断処理部Ｍ１８を呼び出して、バイト３６とワーク１０の干渉の有無を確認する。この処理は、図１２にて説明した内容と渡す引数がアプローチ角指令値αｄである点のみが異なるため、説明を割愛する。
【００６４】
ＣＰＵ５２は、判断処理部Ｍ１８の処理により、旋削加工中にバイト３６がワーク１０に干渉することが判明したか否かを判断し（Ｓ３５）、干渉すると判断する場合（Ｓ３５：ＹＥＳ）、その旨を示すデータを表示部７２に出力（Ｓ３６）し、オペレータにワークと工具が干渉することを通知する。
【００６５】
これに対し、ＣＰＵ５２は、干渉がないと判断する場合（Ｓ３５：ＮＯ）、指令処理部Ｍ３４を呼び出す（Ｓ３７）。これにより、ＣＰＵ５２は、図１６に示す処理によって、旋削加工装置３０のＢ軸駆動部４６にアプローチ角設定指令量算出処理部Ｍ２６で算出されたアプローチ角設定指令量φを出力する（Ｓ８０４）。その後、ＣＰＵ５２は、加工プログラム６４のデータが終了するまで、図１４のステップＳ４０およびＳ４１の処理を繰り返す。
【００６６】
加工プログラム６４には、ワークを把持する主軸を、指定された回転速度に回転させたり、使用する工具を割り出して、加工開始位置まで早送りで位置決めしたりした後に、目的の旋削加工を行い、旋削加工後も、刃物台を機械原点に戻し、主軸回転を停止させて、終了するまでの一連の手続がプログラムされている。ＣＰＵ５２は、ステップＳ４０にて加工プログラム処理部Ｍ２２を呼び出して、そのような加工プログラム６４に従って旋削加工を実行するための指令量を１加工動作ずつ算出し、出力する（図１７：Ｓ４０２）。引き続き、指令処理部Ｍ３４を呼び出す（Ｓ４１）。これにより、ＣＰＵ５２は、図１６に示す処理によって、ステップ３３にて補償量算出処理部Ｍ３０が予め計算しておいたアプローチ角Ｘ軸補償量ηＸφ、およびアプローチ角Ｚ軸補償量ηＺφを加工プログラム処理部Ｍ２２から出力されたＸ軸、Ｚ軸の指令量に加算して出力する（Ｓ８０６）。
【００６７】
ＣＰＵ５２は、加工プログラムの全工程の処理を完了したと判断する場合（Ｓ３９：ＹＥＳ）、アプローチ角指令値格納処理部Ｍ３２の処理（Ｓ４２）を行うが、ここではアプローチ角手動微調整機能の説明を先に行う。
【００６８】
上記旋削加工中に背分力に起因してびびりが生じることがあり、それに気付いたオペレータがアプローチ角指令値５８（αｄ）の変更と、それに伴う工具保持部１４のＢ軸旋回位置決めを容易に行うことができるよう、アプローチ角を手動で微調整する機能が準備されている。
【００６９】
図１８は、角度調整受付処理部Ｍ２８、アプローチ角設定指令量算出処理部Ｍ２６、補償量算出処理部Ｍ３０、および指令処理部Ｍ３４が主に行う、アプローチ角手動微調整機能におけるアプローチ角変更処理の手順を示す。この処理は、ＣＰＵ５２によって、旋削加工支援プログラム６６が実行されることで実現される。
【００７０】
旋削加工中にびびりを検知したオペレータが、手動によるアプローチ角指令値５８（αｄ）の変更を要求するスイッチをＯＮにすることで、ＣＰＵ５２は図１８の処理を開始する。
【００７１】
最初に、角度調整受付処理部Ｍ２８を呼び出す（Ｓ６０）。図１９に、角度調整受付処理部Ｍ２８の詳細を示す。角度調整受付処理部Ｍ２８では、まず、送り停止指令を旋削加工装置３０に出力してバイト３６のＺ軸方向の送りを停止して、加工を一旦中断する（Ｓ６０４）。そしてＣＰＵ５２は、入力部７４に対する入力操作を通じたアプローチ角指令値５８（αｄ）を変更する指示があるか否か（Ｓ６０６）、あるいは加工再開の指示があるか否か（Ｓ６０８）を判断する。アプローチ角指令値５８（αｄ）の変更指示は、入力部７４に、ハンドパルスを備えることで実現すればよい。ハンドパルスは、オペレータが手動で回転操作するインターフェースであり、回転操作量に応じたパルス数のパルスが出力され、出力パルス数に応じてアプローチ角指令値５８（αｄ）を変更する。もっとも、入力部７４にハンドパルスを備えることは必須ではなく、たとえば、入力部７４に、実際に補正角度の指示値を数値として入力可能にしてもよい。また、加工再開の指示は、通常の自動運転起動スイッチを兼用すれば良い。
【００７２】
ＣＰＵ５２は、アプローチ角指令値５８（αｄ）の変更指示があると判断する場合（Ｓ６０６：ＹＥＳ）、入力部７４に入力された変更指示を受け付け、アプローチ角指令値５８（αｄ→αｄ´）を更新する（Ｓ６１２）。以下では、更新前の値を「αｄ」と記載し、更新後の値を「αｄ´」と記載する。その後「受付あり」のフラグをセットしてＭ２８の処理を終了する（Ｓ６１４）。また、加工再開の指示があると判断する場合（Ｓ６０８：ＹＥＳ）、「受付あり」のフラグをリセットしてＭ２８の処理を終了する（Ｓ６１０）。
【００７３】
なお、アプローチ角手動微調整機能は、アプローチ角指令値５８（αｄ）の変更を要求するスイッチがＯＮされて、加工停止処理を行った後、加工が再開されるまで、何度でもアプローチ角指令値５８（αｄ）の変更を行えるため、初回の処理か否か、を判断するステップＳ６０２を有する。
【００７４】
次にＣＰＵ５２は、図１８のステップＳ６２において、角度調整受付処理中に変更指示を受け付けたか否かを判断し、受付があると判断する場合、すなわち「受付あり」のフラグがセットされている場合（Ｓ６２：ＹＥＳ）、受け付けた変更後のアプローチ角指令値５８（αｄ´）によりアプローチ角設定指令量φ´を算出する（Ｓ６４）。上記式３より、φ´＝αｄ´−（γ−９０）である。
【００７５】
続いてＣＰＵ５２は、補償量算出処理部Ｍ３０を呼び出す（Ｓ６８）。
補償量算出処理部Ｍ３０は、既に説明したアプローチ角補償量の計算に加えて、アプローチ角手動微調整機能によって変更されたアプローチ角指令値の変更量に基づく工具保持部１４のＢ軸旋回による刃先Ｐ２のＸＺ平面上の変位を補償する動作補償量の計算も行う。なお、動作補償量のＸ軸方向成分、およびＺ軸方向成分を、それぞれＸ軸動作補償量、Ｚ軸動作補償量と称す。
【００７６】
アプローチ角指令値５８（αｄ）が設定され、工具保持部１４がアプローチ角設定指令量φだけＢ軸旋回位置決めしたときの工具の刃先Ｐ２の位置を、前述と同じく[Ｐ２]φ＝（Ｘ２φ、Ｚ２φ）とし、アプローチ角手動微調整機能によってアプローチ角設定指令量をφからφ´に変更したときの工具の刃先Ｐ２の位置を[Ｐ２]φ´＝（Ｘ２φ´、Ｚ２φ´）とすると、アプローチ角手動微調整によるＸ軸方向の変位量τＸ、Ｚ軸方向の変位量τＺ、およびＸ軸動作補償量νＸ、Ｚ軸動作補償量νＺは、以下の計算式を用いて求めることができる。なお、アプローチ角設定指令量φ´におけるアプローチ角補償量を、アプローチ角設定指令量φにおけるそれと異なることを明示するために、アプローチ角Ｘ軸補償量をηＸφ´、アプローチ角Ｚ軸補償量をηＺφ´で示す。
【００７７】
Ｘ２φ´＝Ｌ１×ｃｏｓ（θ＋φ´）（式１２）、
Ｚ２φ´＝Ｌ１×ｓｉｎ（θ＋φ´）（式１３）、
τＸ＝Ｘ２φ´−Ｘ２φ（式１４）、
τＺ＝Ｚ２φ´−Ｚ２φ（式１５）、
νＸ＝−τＸ（式１６）、
νＺ＝−τＺ（式１７）、
ΔＸφ´＝Ｘ２φ´−Ｘ２（式１８）、
ΔＺφ´＝Ｚ２φ´−Ｚ２（式１９）、
ηＸφ´＝−ΔＸφ´（式２０）、
ηＺφ´＝−ΔＺφ´（式２１）。
【００７８】
図１５に式を簡略的に記載しているが、Ｘ２φやＺ２φおよび、Ｘ２φ´やＺ２φ´は、式４〜式２１より、工具データ（Ｘ２、Ｚ２）、および直前のアプローチ角設定指令量φ、手動操作後のアプローチ角設定指令量φ´により求めることができる。
【００７９】
ここで求めたＸ軸動作補償量νＸとＺ軸動作補償量νＺは、アプローチ角手動微調整機能によるアプローチ角指令値の変更によって生じる刃先位置の変位を打ち消すものである。
【００８０】
そしてＣＰＵ５２は、図１６に示す指令処理部Ｍ３４を呼び出す（Ｓ７２）。これにより、ステップＳ６４において算出されたアプローチ角設定指令量φ´（Ｂ軸変位量としては（φ´−φ））と、ステップＳ６８において算出されたＸ軸動作補償量νＸおよびＺ軸動作補償量νＺとを、旋削加工装置３０のＢ軸駆動部４６、Ｘ軸駆動部４２、およびＺ軸駆動部４４に同時に出力する（Ｓ８０８）。これにより、刃先Ｐ２のＸ軸座標値、及びＺ軸座標値を変更することなくアプローチ角αを変更することができる。このとき、Ｂ軸を旋回させることで工具の主切れ刃部３２ｂがワークに食い込むことがあるが、主軸の回転を停止していないため、単に微量の切削が行われるだけであり、問題にはならない。
【００８１】
ここで、指令処理部Ｍ３４について補足する。指令処理部Ｍ３４は、旋削加工装置３０の各駆動部４０、４２、４４、４６へ指令量を出力する機能を有する。指令処理部Ｍ３４を呼び出す（Ｓ３７、Ｓ４１、Ｓ７２）際にコマンドコードを引数として渡すことで、指令処理部Ｍ３４の処理を切り替えている（Ｓ８０２）。図１６ではコマンドコードを分かり易く、「Ｂ軸出力」、「補正出力」、「手動出力」と記載した。
【００８２】
そして、図１８のステップＳ６２において、受付がないと判断する場合、すなわち「受付あり」のフラグがリセットされている場合（Ｓ６２：ＮＯ）、角度調整受付処理部Ｍ２８で停止されていた加工プログラムの実行を再開（Ｓ７４）し、アプローチ角手動微調整機能の処理を終える。
【００８３】
これにより、図１４のステップＳ４０、Ｓ４１の処理が、図１８の処理によってアプローチ角指令値５８（αｄ´）、アプローチ角設定指令量φ´、アプローチ角Ｘ軸補償量ηＸφ´、およびアプローチ角Ｚ軸補償量ηＺφ´にそれぞれ修正されて再開される。すなわち、手動で微調整したアプローチ角指令値５８（αｄ´）でその後の旋削加工がなされる。
【００８４】
そして、ＣＰＵ５２は、旋削加工が完了する（図１４のＳ３９：ＹＥＳ）と、アプローチ角指令値格納処理部Ｍ３２を呼び出す（Ｓ４２）。すなわち、図２０の処理が動作してアプローチ角の変更がなされているか否かを判断する（Ｓ４２２）。そして、ＣＰＵ５２は、アプローチ角の変更がなされていると判断する場合（Ｓ４２２：ＹＥＳ）、入力部７４に対する入力操作によって加工プログラム６４中のアプローチ角データを更新する操作がなされたか否かを判断する（Ｓ４２４）。
【００８５】
具体的には、ＣＰＵ５２は、アプローチ角が変更されていると判断する場合、表示部７２に、「変更されたアプローチ角を加工プログラムに登録しますか」とのメッセージを表示する。そして、これに応じてオペレータにより入力部７４が操作される場合、ＣＰＵ５２は、加工プログラム６４中のアプローチ角データを更新する指令が出されたと判断し（Ｓ４２４：ＹＥＳ）、加工プログラム６４中のアプローチ角データを現在設定されているアプローチ角指令値５８（αｄ´）に更新する（Ｓ４２６）。すなわち、今回の旋削加工で最終的に用いられたアプローチ角指令値５８（αｄ´）を加工プログラム６４中のアプローチ角データとして登録する。
【００８６】
この一連の処理によれば、びびりが生じると、オペレータは旋削加工を中断し、アプローチ角指令値５８（αｄ）の変更を指示する。そして、変更に応じた旋削加工がなされ、びびりが改善されると、加工プログラム６４中のアプローチ角データをアプローチ角指令値５８（αｄ´）に更新する操作をすることにより、それ以降のワーク１０の加工に更新されたアプローチ角指令値５８（αｄ´）が継続的に採用される。このため、同一仕様のワーク１０を複数加工する場合、びびりが一旦生じなくなると、それ以降の加工では、びびりが生じない。また、この機能を有効に用いることで、背分力データ６８の中に今回の加工条件に完全に適合したデータが存在しない場合であっても、びびりが生じないアプローチ角αを比較的早く見出すことができ、びびりのない旋削加工を迅速に達成することが可能となる。
【００８７】
＜その他の実施形態＞
なお、上記実施形態は、以下のように変更して実施してもよい。
・「アプローチ角データが加工プログラムに存在しない場合の対応について」
従来の加工プログラムにはアプローチ角データの概念がなかったため、加工プログラム中に当該データが存在しない。しかし、このような加工プログラムであっても、オペレータが入力可能なパラメータ領域にアプローチ角データを設定する領域を設け、ここにデータが存在するときは、このデータをアプローチ角データとして取扱うようにすればよい。
【００８８】
このとき、指令値設定処理部Ｍ２４では、アプローチ角データとして定義したパラメータデータを用いてアプローチ角指令値５８（αｄ）を設定する。また、アプローチ角算出処理部Ｍ１６では、求めた背分力がゼロとなるアプローチ角データを前記パラメータデータに設定する。
【００８９】
・「アプローチ角算出処理部について」
アプローチ角に対する背分力の関係が定められた背分力データを用いるものに限らず、たとえば、図４に示した背分力Ｆ１と背分力Ｆ２とが等しくなるアプローチ角を物理的な計算によって算出するものであってもよい。
【００９０】
なお、背分力をゼロとすることも必須ではなく、加工精度を満たす上で要求される背分力の上限値以下となるアプローチ角を算出するものであればよい。
・「判断処理部について」
逃げ角δのみに基づいて干渉の有無を判断するものに限らない。図２１に、逃げ角δ以外の要素を考慮すべき旋削加工例を示す。図２１（ａ）は、バイト３６を４つの加工ルートｒｔ１，ｒｔ２，ｒｔ３，ｒｔ４の順に移動させて旋削加工する例を示す。この例では、加工ルートｒｔ４で示される最終的な形状は、テーパ部ＴＰを有する。このため、テーパ部ＴＰの加工においては切込量ａｐの変動が避けられない。そこでこの例では、旋削加工の初期段階（加工ルートｒｔ１，ｒｔ２）において、テーパ部ＴＰにおける切込量を変動させる。これにより、旋削加工の後期（加工ルートｒｔ３，ｒｔ４）においては、テーパ部ＴＰにおいて切込量ａｐを固定することができる。
【００９１】
図２１（ｂ）は、加工ルートｒｔ３のうち特にテーパ部ＴＰに差し掛かった時点を示す。ここで、切込量ａｐは、ワーク１０に対するバイト３６の相対的な送り方向に直交する方向の長さとして定義される。一方、アプローチ角αは、上記相対的な送り方向に直交する方向に対する主切刃部３２ｂのなす角度である。ここで、テーパ部ＴＰの角度（テーパ角λ）を用いると、逃げ角δは、「９０−α−β」であるが、テーパ部ＴＰの端部では、この逃げ角δがゼロよりも大きくても、バイト３６はワーク１０のうちテーパ部ＴＰ以外の部分と干渉しうる。このため、逃げ角δからテーパ角λを減算した値「（９０−α−β）−λ」が逃げ角しきい値δｔｈ以上であるか否かに応じて干渉の有無を判断することが望ましい。
【００９２】
なお、図２１に示した例では、背分力が問題となりやすい加工径が細くなる旋削加工の後期（加工ルートｒｔ３、ｒｔ４）において、テーパ部ＴＰにおける切込量ａｐを固定することができる。このため、背分力が問題となりやすい旋削加工の後期において、切込量ａｐに応じたアプローチ角αを設定することができ、ひいてはワーク１０の旋削加工後の形状から背分力の影響を好適に抑制することができる。
【００９３】
・「補償量算出処理部について」
上記実施形態では、加工中の送りを停止して工具の刃先がワークに接触している状態で、アプローチ角αを変更するようにした。すなわち、アプローチ角設定指令量φに加えてＸ軸動作補償量およびＺ軸動作補償量を算出し、これらを同時に出力することで刃先位置を変えることなくアプローチ角を変更できるようにしたが、これに限らない。たとえば、加工を停止させるに際して、一旦、バイト３６をワーク１０から引き離すように、Ｘ軸方向にバイト３６を大きく変位させてもよい。この場合、バイト３６をワーク１０から引き離した状態で、Ｂ軸方向にバイト３６を旋回位置決めさせるとともに、この旋回位置決めに起因したＸ軸方向およびＺ軸方向の変位とは逆方向にバイト３６をＸ軸方向およびＺ軸方向に変位させる処理を行った後、旋削加工を再開すればよい。この場合、たとえば、加工を中断した位置を記憶しておき、旋削加工再開時の位置から記憶しておいた加工中断位置へのパスを自動的に挿入すればよい。
【００９４】
アプローチ角αの変更処理としては、刃物台１６を停止させた状態で行うものにも限らない。たとえば、刃物台１６をＺ軸方向に動作させた状態でアプローチ角αを変更してもよい。この場合、Ｚ軸方向の送り処理内で、Ｚ軸動作補償量を相殺する処理を行えばよい。
【００９５】
・「中断の指示、変更する指示について」
オペレータによる入力部７４を介した入力操作によってなされるものに限らない。たとえば、びびりを検出する装置を備え、この装置から中断の指示や、アプローチ角を変更する指示が出力されるようにしてもよい。ここで、びびりを検出する装置としては、たとえば音や振動を入力とし、所定の周波数ノイズがしきい値を超えることでびびりが発生したと判断する装置とすればよい。もっともこれに限らず、旋削加工中のワークを撮影し、その画像解析の結果、びびりを検出するものであってもよい。さらにたとえば、工具に加わる負荷を検出するセンサを備え、センサの出力値に基づきびびりを検出する装置であってもよい。なお、この場合、実際の加工によって適切なアプローチ角αの情報を新たに取得可能であることから、背分力データ６８を逐次更新することが可能となる。
【００９６】
なお、びびりを検出した後に変更する指示をする装置としては、たとえばアプローチ角を正（負）方向に所定量ωだけ変更する指示を出し、その結果びびりが抑制されない場合には、負（正）方向に所定量ωだけ変更する指示を出す装置とすればよい。なお、この場合、びびりが抑制されるものの、未だ十分には抑制されない場合には、さらに同一方向に所定量ωだけ変更する指示を出せばよい。
【００９７】
・「アプローチ角指令値格納処理部について」
たとえば１つのワークを加工するに際し、第１の旋削工程において第１の切込量を設定し、第２の旋削工程において第２の切込量を設定するというように、１つのワークに対し切込量を変えて複数回旋削加工をする場合、各切込量に対するアプローチ角指令値５８（αｄ）のそれぞれを加工プログラム６４に登録することが望ましい。
【００９８】
・「旋削加工支援プログラムについて」
図１０、図１４および図１８の処理の全部をソフトウェア処理（旋削加工支援プログラム６６がＣＰＵ５２によって実行されることで実現される処理）とする代わりに、図１０、図１４および図１８の処理の一部または全部を、専用のハードウェア手段によるハードウェア処理としてもよい。
【００９９】
また、旋削加工支援プログラムとしては、図１０、図１４および図１８の処理の全てを実現する旋削加工制御装置に組み込まれるものに限らない。たとえば、バイト３６をＸ軸方向およびＺ軸方向に変位させることができて且つ、旋回軸線ａｘ２を旋回中心として旋回位置決めさせることができる旋削加工装置の操作を支援するためのプログラムとして、図１０および図１４の処理のみを実現するものであってもよい。この場合、すなわち、角度調整受付処理部Ｍ２８が行う、アプローチ角手動微調整機能がない場合であっても、設定されたアプローチ角指令値５８（αｄ）による旋削加工中にびびりが生じる場合、図１０のステップＳ２８の処理においてアプローチ角αを入力することで、加工プログラム中のアプローチ角データを直接書き換えて、アプローチ角指令値５８（αｄ）を微調整することはできる。
【０１００】
・「旋削加工装置について」
たとえば、刃物台１６をＺ軸方向に変位させるＺ軸駆動部４４を備える代わりに、主軸１２をＺ軸方向に変位させる駆動部を備えてもよい。またたとえば、工具保持部１４をＸ軸方向に変位させるＸ軸駆動部４２を備える代わりに、主軸１２をＸ軸方向に変位させる駆動部を備えてもよい。
【０１０１】
・「工具について」
バイトとしては、インサートとシャンクとが別体となるものに限らず、一体的に形成されたものであってもよい。
【０１０２】
・「通知処理部について」
視覚情報によって通知するものに限らず、たとえば音によって通知するものであってもよい。
【０１０３】
・「指令処理部について」
加工プログラム処理部から出力されたＸ軸指令量、Ｚ軸指令量を指令処理部がアプローチ角補償量で補正して出力することで旋削加工プログラムを実行するものに限定するものではない。刃先位置を示す工具データをアプローチ角補償量で補正してもよい。この場合、図１７に示した加工プログラム処理は、アプローチ角補償量で補正した工具データに基づき、Ｘ軸指令量やＺ軸指令量を算出するため、これらをアプローチ角補償量で補正する処理を指令処理部から削除することができる。
【符号の説明】
【０１０４】
Ｍ１６…アプローチ角算出処理部、Ｍ１８…判断処理部、Ｍ２０…通知処理部、
Ｍ２２…加工プログラム処理部、Ｍ２４…指令値設定処理部、
Ｍ２６…アプローチ角設定指令量算出処理部、Ｍ２８…角度調整受付処理部、
Ｍ３０…補償量算出処理部、Ｍ３２…アプローチ角指令値格納処理部、
Ｍ３４…指令処理部、
ｒｔ１，ｒｔ２，ｒｔ３，ｒｔ４…加工ルート、
１０…ワーク、１２…主軸、１４…工具保持部、１６…刃物台、
２０…旋削加工システム、３０…旋削加工装置、
３２…インサート、３２ａ…先端部、３２ｂ…主切刃部、３４…シャンク、
３６…バイト、
４０…主軸駆動部、４２…Ｘ軸駆動部、４４…Ｚ軸駆動部、４６…Ｂ軸駆動部、
５０…旋削加工制御装置、５２…中央処理装置（ＣＰＵ）、５４…メモリ、
５８…アプローチ角指令値、６０…工具形状データ、６２…工具データ、
６４…加工プログラム、６６…旋削加工支援プログラム、６８…背分力データ、
７０…インターフェース、７２…表示部、７４…入力部。
【要約】
旋削加工制御装置（５０）は、入力部（７４）を介して切込量が指定されると、背分力データに基づき、背分力をゼロとするアプローチ角を算出する。こうしてアプローチ角が算出されると、旋削加工制御装置（５０）は、Ｂ軸駆動部（４６）に、バイト（３６）を点（Ｐ１）を旋回中心として旋回位置決めさせる指令量を出力する。また、旋削加工制御装置（５０）は、切込量とアプローチ角とに基づき、バイト（３６）をＸ軸方向に直線変位させるためのＸ軸駆動部（４２）に、切込量を制御するための指令量を出力する。そして、主軸駆動部（４０）によってワーク（１０）を回転させつつ、切削速度に応じてＺ軸駆動部（４４）によってバイト（３６）をＺ軸方向に変位させることで旋削加工がなされる。【図１】
0005766895.tif 000002
【図２】
0005766895.tif 000003
【図３】
0005766895.tif 000004
【図４】
0005766895.tif 000005
【図５】
0005766895.tif 000006
【図６】
0005766895.tif 000007
【図７】
0005766895.tif 000008
【図８】
0005766895.tif 000009
【図９】
0005766895.tif 000010
【図１０】
0005766895.tif 000011
【図１１】
0005766895.tif 000012
【図１２】
0005766895.tif 000013
【図１３】
0005766895.tif 000014
【図１４】
0005766895.tif 000015
【図１５】
0005766895.tif 000016
【図１６】
0005766895.tif 000017
【図１７】
0005766895.tif 000018
【図１８】
0005766895.tif 000019
【図１９】
0005766895.tif 000020
【図２０】
0005766895.tif 000021
【図２１】
0005766895.tif 000022