(57)【要約】【課題】工作機械、工作機械の制御方法及びコンピュータプログラムを提供する。【解決手段】命令コードが、回転テーブルの回転を伴い、ワークにおける加工経路を直線により補間する直線補間命令であるか否かを判断する判断部と、命令コードが前記回転テーブルの回転を伴う直線補間命令であると判断した場合、回転テーブルの回転量を用いることなく、主軸ヘッドの移動量を用いて、主軸ヘッドの直線軸方向への移動速度と、回転テーブルの回転軸回りの回転速度とを算出する算出部と、算出部により算出した移動速度及び回転速度に基づき、移動機構及び回転機構を駆動制御する駆動制御部とを備える。【選択図】図５
2019175352.tif 000002
【特許請求の範囲】
【請求項１】
工具が装着される主軸ヘッドと、該主軸ヘッドを直線軸方向へ移動させる移動機構と、前記工具により加工されるワークを回転可能に支持する回転テーブルと、該回転テーブルを回転軸回りに回転させる回転機構とを備え、前記ワークの加工手順を定める命令コードに基づき、前記主軸ヘッドを前記ワークに対して相対的に移動させながら前記ワークを加工する工作機械において、
前記命令コードが、前記回転テーブルの回転を伴い、前記ワークにおける加工経路を直線により補間する直線補間命令であるか否かを判断する判断部と、
前記命令コードが前記回転テーブルの回転を伴う直線補間命令であると判断した場合、前記回転テーブルの回転量を用いることなく、前記主軸ヘッドの移動量を用いて、前記主軸ヘッドの前記直線軸方向への移動速度と、前記回転テーブルの前記回転軸回りの回転速度とを算出する算出部と、
該算出部により算出した移動速度及び回転速度に基づき、前記移動機構及び前記回転機構を駆動制御する駆動制御部と
を備える工作機械。
【請求項２】
前記算出部により算出した回転速度が閾値速度を超過する場合、警報を出力する警報出力部
を備える請求項１に記載の工作機械。
【請求項３】
前記回転テーブルの回転量を用いることなく、前記主軸ヘッドの移動量を用いて前記移動速度及び前記回転速度を算出する第１算出手法と、前記主軸ヘッドの移動量及び前記回転テーブルの回転量の双方を用いて前記移動速度及び前記回転速度を算出する第２算出手法との何れか一方の選択を受付ける受付部
を備え、
前記受付部にて前記第２算出手法の選択を受付けた場合、前記算出部は、前記主軸ヘッドの移動量及び前記回転テーブルの回転量の双方を用いて前記移動速度及び前記回転速度を算出する
請求項１又は請求項２に記載の工作機械。
【請求項４】
前記直線軸及び前記回転軸をそれぞれ複数備え、
前記算出部は、各直線軸方向の移動速度及び各回転軸回りの回転速度を算出する
請求項１から請求項３の何れか１つに記載の工作機械。
【請求項５】
工具が装着される主軸ヘッドと、該主軸ヘッドを直線軸方向へ移動させる移動機構と、前記工具により加工されるワークを回転可能に支持する回転テーブルと、該回転テーブルを回転軸回りに回転させる回転機構とを備え、前記ワークの加工手順を定める命令コードに基づき、前記主軸ヘッドを前記ワークに対して相対的に移動させながら前記ワークを加工する工作機械の制御方法において、
前記命令コードが、前記回転テーブルの回転を伴い、前記ワークにおける加工経路を直線により補間する直線補間命令であるか否かを判断し、
前記命令コードが前記回転テーブルの回転を伴う直線補間命令であると判断した場合、前記回転テーブルの回転量を用いることなく、前記主軸ヘッドの移動量を用いて、前記主軸ヘッドの前記直線軸方向への移動速度と、前記回転テーブルの前記回転軸回りの回転速度とを算出し、
算出した移動速度及び回転速度に基づき、前記移動機構及び前記回転機構を駆動制御する
工作機械の制御方法。
【請求項６】
工具が装着される主軸ヘッドを直線軸方向へ移動させる移動機構と、ワークを回転可能に支持する回転テーブルを回転軸回りに回転させる回転機構とを備え、前記ワークの加工手順を定める命令コードに基づき、前記主軸ヘッドを前記ワークに対して相対的に移動させながら前記ワークを加工する工作機械の動作を制御するコンピュータに、
前記命令コードが、前記回転テーブルの回転を伴い、前記ワークにおける加工経路を直線により補間する直線補間命令であるか否かを判断し、
前記命令コードが前記回転テーブルの回転を伴う直線補間命令であると判断した場合、前記回転テーブルの回転量を用いることなく、前記主軸ヘッドの移動量を用いて、前記主軸ヘッドの前記直線軸方向への移動速度と、前記回転テーブルの前記回転軸回りの回転速度とを算出し、
算出した移動速度及び回転速度に基づき、前記移動機構及び前記回転機構を駆動制御する
処理を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械、工作機械の制御方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
工作機械は例えば直線軸三軸と回転軸との制御により、回転テーブルに取り付けたワークに対して工具を相対移動して加工を行う。特許文献１に記載の５軸制御加工機は、互いに直交する直線軸三軸に回転軸二軸を付加したものであり、回転テーブルを備える。５軸制御加工機は回転テーブルを任意に回転することで、回転テーブル上に治具等を用いて設置したワークを任意方向に傾けることができる。工作機械の各軸はベースを介して螺子で締結するので、直線軸三軸と回転軸二軸の相互の位置関係は固定である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１６４３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の工作機械では、加工経路を直線により補間する直線補間命令が与えられた場合、直線軸の単位（ミリメートル）と回転軸の単位（度）とが異なっているにも関わらず、直線軸及び回転軸の合成移動量から各軸の送り速度を決定する。このため、回転軸の移動距離（回転角度）に大きな値が入力された場合、合成移動量の値が大きくなり、合成移動量から決定される各軸の送り速度は遅くなるという問題点を有している。
【０００５】
本発明の目的は、回転軸の回転を伴う直線補間命令が与えられた場合であっても、回転軸の回転角度に起因して各軸の送り速度が低下することを抑制することができる工作機械、工作機械の制御方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る工作機械は、工具が装着される主軸ヘッドと、該主軸ヘッドを直線軸方向へ移動させる移動機構と、前記工具により加工されるワークを回転可能に支持する回転テーブルと、該回転テーブルを回転軸回りに回転させる回転機構とを備え、前記ワークの加工手順を定める命令コードに基づき、前記主軸ヘッドを前記ワークに対して相対的に移動させながら前記ワークを加工する工作機械において、前記命令コードが、前記回転テーブルの回転を伴い、前記ワークにおける加工経路を直線により補間する直線補間命令であるか否かを判断する判断部と、前記命令コードが前記回転テーブルの回転を伴う直線補間命令であると判断した場合、前記回転テーブルの回転量を用いることなく、前記主軸ヘッドの移動量を用いて、前記主軸ヘッドの前記直線軸方向への移動速度と、前記回転テーブルの前記回転軸回りの回転速度とを算出する算出部と、該算出部により算出した移動速度及び回転速度に基づき、前記移動機構及び前記回転機構を駆動制御する駆動制御部とを備える。
【０００７】
上記一態様によれば、回転を伴う直線補間命令の場合、回転テーブルの回転量を用いることなく、主軸ヘッドの直線軸方向への移動速度及び回転テーブルの回転軸回りの移動速度を算出する。回転テーブルの回転量を含む合成移動量に基づいて各軸の移動速度を算出する従来の手法では、合成移動量が大きな値となる場合には、この合成移動量を進む各軸の移動時間が長くなるため、移動速度を低い値として算出する。これに対し、上記一態様では回転軸回りの回転量を用いないため、従来の算出手法と比較して各軸の移動速度を高い値として算出する。
【０００８】
本発明の一態様に係る工作機械は、前記算出部により算出した回転速度が閾値速度を超過する場合、警報を出力する警報出力部を備える。
【０００９】
上記一態様によれば、算出した回転速度が閾値速度を超過する場合、警報を出力するので、条件の見直し等が必要であることをユーザに報知する。
【００１０】
本発明の一態様に係る工作機械は、前記回転テーブルの回転量を用いることなく、前記主軸ヘッドの移動量を用いて前記移動速度及び前記回転速度を算出する第１算出手法と、前記主軸ヘッドの移動量及び前記回転テーブルの回転量の双方を用いて前記移動速度及び前記回転速度を算出する第２算出手法との何れか一方の選択を受付ける受付部を備え、前記受付部にて前記第２算出手法の選択を受付けた場合、前記算出部は、前記主軸ヘッドの移動量及び前記回転テーブルの回転量の双方を用いて前記移動速度及び前記回転速度を算出する。
【００１１】
上記一態様によれば、ユーザは、回転軸回りの回転量を用いずに各軸の移動速度を算出する本願の算出手法、又は回転軸回りの回転量を含む合成移動量に基づいて各軸の移動速度を算出する従来の算出手法の何れかを選択することができる。
【００１２】
本発明の一態様に係る工作機械は、前記直線軸及び前記回転軸をそれぞれ複数備え、前記算出部は、各直線軸方向の移動速度及び各回転軸回りの回転速度を算出する。
【００１３】
上記一態様によれば、直線軸及び回転軸のそれぞれについて移動速度を算出する。
【００１４】
本発明の一態様に係る工作機械の制御方法は、工具が装着される主軸ヘッドと、該主軸ヘッドを直線軸方向へ移動させる移動機構と、前記工具により加工されるワークを回転可能に支持する回転テーブルと、該回転テーブルを回転軸回りに回転させる回転機構とを備え、前記ワークの加工手順を定める命令コードに基づき、前記主軸ヘッドを前記ワークに対して相対的に移動させながら前記ワークを加工する工作機械の制御方法において、前記命令コードが、前記回転テーブルの回転を伴い、前記ワークにおける加工経路を直線により補間する直線補間命令であるか否かを判断し、前記命令コードが前記回転テーブルの回転を伴う直線補間命令であると判断した場合、前記回転テーブルの回転量を用いることなく、前記主軸ヘッドの移動量を用いて、前記主軸ヘッドの前記直線軸方向への移動速度と、前記回転テーブルの前記回転軸回りの回転速度とを算出し、算出した移動速度及び回転速度に基づき、前記移動機構及び前記回転機構を駆動制御する。
【００１５】
上記一態様によれば、回転を伴う直線補間命令の場合、回転テーブルの回転量を用いることなく、主軸ヘッドの直線軸方向への移動速度及び回転テーブルの回転軸回りの移動速度を算出する。回転テーブルの回転量を含む合成移動量に基づいて各軸の移動速度を算出する従来の手法では、合成移動量が大きな値となる場合には、この合成移動量を進む各軸の移動時間が長くなるため、移動速度を低い値として算出する。これに対し、上記一態様では回転軸回りの回転量を用いないため、従来の算出手法と比較して各軸の移動速度を高い値として算出する。
【００１６】
本発明の一態様に係るコンピュータプログラムは、工具が装着される主軸ヘッドを直線軸方向へ移動させる移動機構と、ワークを回転可能に支持する回転テーブルを回転軸回りに回転させる回転機構とを備え、前記ワークの加工手順を定める命令コードに基づき、前記主軸ヘッドを前記ワークに対して相対的に移動させながら前記ワークを加工する工作機械の動作を制御するコンピュータに、前記命令コードが、前記回転テーブルの回転を伴い、前記ワークにおける加工経路を直線により補間する直線補間命令であるか否かを判断し、前記命令コードが前記回転テーブルの回転を伴う直線補間命令であると判断した場合、前記回転テーブルの回転量を用いることなく、前記主軸ヘッドの移動量を用いて、前記主軸ヘッドの前記直線軸方向への移動速度と、前記回転テーブルの前記回転軸回りの回転速度とを算出し、算出した移動速度及び回転速度に基づき、前記移動機構及び前記回転機構を駆動制御する処理を実行させるためのコンピュータプログラムである。
【００１７】
上記一態様によれば、回転を伴う直線補間命令の場合、回転テーブルの回転量を用いることなく、主軸ヘッドの直線軸方向への移動速度及び回転テーブルの回転軸回りの移動速度を算出する。回転テーブルの回転量を含む合成移動量に基づいて各軸の移動速度を算出する従来の手法では、合成移動量が大きな値となる場合には、この合成移動量を進む各軸の移動時間が長くなるため、移動速度を低い値として算出する。これに対し、上記一態様では回転軸回りの回転量を用いないため、従来の算出手法と比較して各軸の移動速度が高い値として算出する。
【発明の効果】
【００１８】
本発明にあっては、回転軸の回転を伴う直線補間命令が与えられた場合であっても、回転軸の回転角度に起因して各軸の送り速度が低下することを抑制することができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態１に係る工作機械の概略構成を示す斜視図である。
【図２】工作機械の制御系の構成を示すブロック図である。
【図３】加工プログラムの一例を示す概念図である。
【図４】比較例における送り速度の算出手法を説明する説明図である。
【図５】本実施の形態における送り速度の算出手法を説明する説明図である。
【図６】実施の形態１に係る工作機械の制御部が実行する処理の手順を説明するフローチャートである。
【図７】実施の形態２に係る工作機械の制御部が実行する処理の手順を説明するフローチャートである。
【図８】実施の形態３に係る工作機械の制御部が実行する処理の手順を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
（実施の形態１）
図１は実施の形態１に係る工作機械１００の概略構成を示す斜視図である。以下では、図１の矢印により示される前後、左右、上下の各方向を用いて、工作機械１００の構成について説明する。
【００２１】
図１に示す如く、工作機械１００は前後に延びた矩形の基台１を備える。支持台２は基台１上部の後側に設け、立柱４を支持する。
【００２２】
Ｙ軸方向移動機構１０は支持台２上部に設け、移動板１６を前後方向に移動する。Ｙ軸方向移動機構１０は前後に延びた二つの軌道１１、Ｙ軸螺子軸１２、Ｙ軸モータ１３、軸受１４を備える。軌道１１は支持台２上部の左と右に設ける。Ｙ軸螺子軸１２は前後に延び、二つの軌道１１の間に設ける。軸受１４はＹ軸螺子軸１２の前端部と中途部（図示略）に設ける。Ｙ軸モータ１３はＹ軸螺子軸１２後端部に連結する。ナット（図示略）はＹ軸螺子軸１２に転動体（図示略）を介して螺合する。転動体は例えばボールである。複数の摺動子１５は各軌道１１に摺動可能に設ける。移動板１６は水平方向に延び、ナットと摺動子１５上部に連結する。Ｙ軸螺子軸１２はＹ軸モータ１３の回転で回転し、ナットは前後方向に移動し、移動板１６は前後方向に移動する。
【００２３】
Ｘ軸方向移動機構２０は移動板１６上面に設け、立柱４を左右方向に移動する。Ｘ軸方向移動機構２０は左右に延びた二つの軌道２１、Ｘ軸螺子軸２２、Ｘ軸モータ２３（図２参照）、軸受２４を備える。軌道２１は移動板１６上面の前と後に設ける。Ｘ軸螺子軸２２は左右に延び、二つの軌道２１の間に設ける。軸受２４はＸ軸螺子軸２２の左端部と中途部（図示略）に設ける。Ｘ軸モータ２３はＸ軸螺子軸２２の右端部に連結する。ナット（図示略）はＸ軸螺子軸２２に転動体（図示略）を介して螺合する。複数の摺動子２６は各軌道２１に摺動可能に設ける。立柱４はナットと摺動子２６上部に連結する。Ｘ軸螺子軸２２はＸ軸モータ２３の回転で回転し、ナットは左右方向に移動し、立柱４は左右方向に移動する。
【００２４】
Ｚ軸方向移動機構３０は立柱４の前面に設け、主軸ヘッド５を上下方向に移動する。Ｚ軸方向移動機構３０は上下に延びた二つの軌道３１、Ｚ軸螺子軸３２、Ｚ軸モータ３３、軸受３４を備える。軌道３１は立柱４前面の左と右に設ける。Ｚ軸螺子軸３２は上下に延び、二つの軌道３１の間に設ける。軸受３４はＺ軸螺子軸３２の下端部と中途部(図示略)に設ける。Ｚ軸モータ３３はＺ軸螺子軸３２上端部に連結する。ナット（図示略）はＺ軸螺子軸３２に転動体（図示略）を介して螺合する。複数の摺動子３５は各軌道３１に摺動可能に設ける。主軸ヘッド５はナットと摺動子３５の前部に連結する。Ｚ軸螺子軸３２はＺ軸モータ３３の回転で回転し、ナットは上下方向に移動し、主軸ヘッド５は上下方向に移動する。
【００２５】
上下に延びた主軸５１は主軸ヘッド５内に設ける。主軸５１は軸回りに回転する。主軸モータ６は主軸ヘッド５上端部に設ける。主軸５１下端部は工具を装着する。主軸５１は主軸モータ６の回転で回転し、工具は回転する。回転した工具は回転テーブル７で保持したワークを加工する。
【００２６】
回転テーブル７は基台１上部の前側に設ける。回転テーブル７は加工対象のワークを保持する。Ａ軸回転機構７０は回転テーブル７の右側に設ける。Ａ軸回転機構７０は左右に延びたＡ軸の回りに回転テーブル７を回転させるＡ軸モータ７１を備える。Ｃ軸回転機構８０はＡ軸回転機構７０の下側に設ける。Ｃ軸回転機構８０は上下に延びたＣ軸の回りに回転テーブル７を回転させるＣ軸モータ８１を備える。
【００２７】
なお、工作機械１００は工具を交換する工具交換装置（図示略）を備えてもよい。工具交換装置は工具マガジン（図示略）に収容した工具と主軸５１に装着した工具を交換する。
【００２８】
また、工作機械１００は上記の構成に限定されるものではなく、例えば工具を装着してワークを加工する昇降可能な主軸ヘッドと、主軸ヘッドを支持するコラムとを備え、このコラムをＸ軸方向及びＹ軸方向に移動する移動機構を設けた構成であってもよい。
【００２９】
図２は工作機械１００の制御系の構成を示すブロック図である。工作機械１００は、制御部１０１、記憶部１０２、入力部１０３及び出力部１０４を備える。
【００３０】
制御部１０１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを備える。制御部１０１が備えるＲＯＭは、上記ハードウェア各部の動作を制御するための制御プログラム等を記憶する。制御部１０１内のＣＰＵは、ＲＯＭが記憶する制御プログラム及び後述する記憶部１０２に記憶する各種プログラムを実行し、上記ハードウェア各部の動作を制御する。制御部１０１が備えるＲＡＭは、各種プログラムの実行中に一時的に利用されるデータを記憶する。
【００３１】
なお、制御部１０１は上記の構成に限定されるものではなく、シングルコアＣＰＵ、マルチコアＣＰＵ、マイコン、揮発性又は不揮発性のメモリ等を含む１又は複数の処理回路又は演算回路であればよい。また、制御部１０１は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
【００３２】
記憶部１０２は、ＳＲＡＭ（Static Random Access Memory）、フラッシュメモリ、ハードディスクなどを用いた記憶装置を備える。記憶部１０２は、制御部１０１に実行させる各種プログラム、及び各種プログラムの実行に必要なデータ等を記憶する。記憶部１０２に記憶されるプログラムは、ワークの加工手順を定める加工プログラムを含む。
【００３３】
なお、記憶部１０２が記憶するプログラムは、当該プログラムを読み取り可能に記録した記録媒体Ｍにより提供されてもよい。記録媒体Ｍは、例えば、ＳＤ（Secure Digital）カード、マイクロＳＤカード、コンパクトフラッシュ（登録商標）などの可搬型のメモリである。この場合、制御部１０１は、不図示の読取装置を用いて記録媒体Ｍに記録されたプログラムを読み取り、読み取ったプログラムを記憶部１０２に記憶させる。また、工作機械１００が外部通信装置と通信する機能を有する場合、記憶部１０２に記憶されるプログラムは通信により提供されてもよい。この場合、制御部１０１は、外部通信装置との通信によりプログラムを取得し、取得したプログラムを記憶部１０２にインストールする。
【００３４】
入力部１０３は、キーボード、タッチパネル等の入力装置を接続する入力インタフェースを備える。入力部１０３は、入力インタフェースに接続された入力装置を通じて、ユーザによる各種操作を受付ける。
【００３５】
出力部１０４は、主軸モータ６、Ｘ軸モータ２３、Ｙ軸モータ１３、Ｚ軸モータ３３、Ａ軸モータ７１及びＣ軸モータ８１を接続する出力インタフェースを備える。制御部１０１は、各モータの駆動を制御するための制御信号を出力部１０４から出力することにより、各モータの駆動制御を行う。
【００３６】
図３は加工プログラムの一例を示す概念図である。加工プログラムは、行番号と、行番号に関連付けて記述される命令コードとを含む。加工プログラムの一例はＮＣ（Numerical Control）プログラムであり、命令コードは例えばＧコード、Ｍコード等である。図３に示す例において「Ｎ１」及び「Ｎ２」は行番号である。行番号Ｎ１の「Ｇ９４」は毎分送りモードを指定する命令コードである。行番号Ｎ２の「Ｇ９１」はインクリメンタル距離モードを指定する命令コードである。続く「Ｇ０１」は直線補間により加工を行うことを指定する命令コードである。更に「Ｘ１００」、「Ｙ２００」、「Ａ２００」は終点の位置を表し、「Ｆ１００００」はフィードレートを表している。すなわち、行番号Ｎ１，Ｎ２の命令コードは、現在位置からＸ軸方向へ１００ｍｍ、Ｙ軸方向へ２００ｍｍ、Ａ軸回りに２００度だけ回転した位置まで、毎分１００００ｍｍの送り速度で直線補間により加工せよという命令を与える。このような加工プログラムは、記憶部１０２に予め記憶されていてもよく、入力部１０３を通じて入力されるものであってもよい。
【００３７】
工作機械１００の制御部１０１は、図３に示すような加工プログラムを読み込み、読み込んだ加工プログラムに基づいて各モータの駆動制御を行う場合、各直線軸方向への送り速度（移動速度）と、各回転軸回りの送り速度（回転速度）とを算出する。
【００３８】
比較例として、従来の算出手法について説明する。
図４は比較例における送り速度の算出手法を説明する説明図である。図４に示す加工プログラムは、終点の位置及びフィードレートの値を一般化して示している。具体的には、Ｘ軸方向の終点の位置をα、Ｙ軸方向の終点の位置をβ、Ｚ軸方向の終点の位置をγ、Ａ軸回りの終点の角度をδ、Ｃ軸回りの終点の角度をε、フィードレートをｆとしている。δ又はεに０以外の値がセットされている場合、図４に示す加工プログラムはワークの回転を伴う直線補間命令を表す。
【００３９】
工作機械は、直線補間命令に基づいて加工を行う場合、各軸の移動時間が全ての軸で同じ時間となるように各軸の送り速度を算出する。各軸の移動時間をＴ＝Ｌ／ｆとした場合、従来では、Ａ軸回りの回転量（＝δ）とＣ軸回りの回転量（＝ε）とを含めた合成移動量をＬ＝（α2 ＋β2 ＋γ2 ＋δ2 ＋ε2 ）1/2 により算出する。
【００４０】
工作機械は、算出したＬ値を用いて、ＸＹＺ各軸の送り速度Ｖｘ，Ｖｙ，Ｖｚをそれぞれα／Ｌ・ｆ，β／Ｌ・ｆ，γ／Ｌ・ｆにより算出する。また、工作機械は、ＸＹＺ各軸の送り速度から算出される各軸の移動時間Ｔを用いて、Ａ軸回りの送り速度Ｖａをδ／Ｔにより算出し、Ｃ軸回りの送り速度Ｖｃをε／Ｔにより算出する。なお、直線補間命令が与えられた場合、移動時間Ｔは各軸で共通である。
【００４１】
比較例における送り速度の算出手法では、Ｌ値にＡ軸回りの回転角度及びＣ軸回りの回転角度が含まれるため、回転角度の単位が３６０度表記である場合、Ｌ値は比較的大きな値となり得る。この結果、ＸＹＺ各軸の送り速度は比較的に低い値として算出され、回転軸回りの回転を伴う直線補間命令に基づき工作機械が加工を行う場合、加工速度が遅くなる原因となる。
【００４２】
次に、本実施の形態の算出手法について説明する。
図５は本実施の形態における送り速度の算出手法を説明する説明図である。図５に示す加工プログラムは、比較例と同様に、終点の位置及びフィードレートの値を一般化して示している。具体的には、Ｘ軸方向の終点の位置をα、Ｙ軸方向の終点の位置をβ、Ｚ軸方向の終点の位置をγ、Ａ軸回りの終点の角度をδ、Ｃ軸回りの終点の角度をε、フィードレートをｆとしている。δ又はεに０以外の値がセットされている場合、図５に示す加工プログラムは、ワークの回転を伴う直線補間命令を表す。
【００４３】
本実施の形態に係る工作機械１００が直線補間命令に基づいて加工を行う場合、制御部１０１は、各軸の移動時間が全ての軸で同じ時間となるように、各軸の送り速度を算出する。各軸の移動時間をＴ＝Ｌ／ｆとした場合、制御部１０１は、Ａ軸回りの回転量（＝δ）とＣ軸回りの回転量（＝ε）とを考慮せずに、ＸＹＺ各軸の移動量α，β，γのみを用いて、Ｌ値を（α2 ＋β2 ＋γ2 ）1/2 により算出する。
【００４４】
制御部１０１は、算出したＬ値を用いて、ＸＹＺ各軸の送り速度Ｖｘ，Ｖｙ，Ｖｚをそれぞれα／Ｌ・ｆ，β／Ｌ・ｆ，γ／Ｌ・ｆにより算出する。また、制御部１０１は、ＸＹＺ軸方向の送り速度から算出される各軸の移動時間Ｔを用いて、Ａ軸回りの送り速度Ｖａをδ／Ｔにより算出し、Ｃ軸回りの送り速度Ｖｃをε／Ｔにより算出する。なお、直線補間命令が与えられた場合、移動時間Ｔは各軸で共通である。
【００４５】
例えば、α＝１００、β＝２００、γ＝０、δ＝２００、ε＝０、ｆ＝１００００とした場合、比較例の算出手法では、Ｘ軸方向の送り速度が３３３３．３３ｍｍ／分、Ｙ軸方向の送り速度が６６６６．６７ｍｍ／分、Ａ軸回りの送り速度が１８．５１回転／分となる。これに対し、本実施の形態による算出手法では、Ｘ軸方向の送り速度が４４７２．１５ｍｍ／分、Ｙ軸方向の送り速度が８９４４．３０ｍｍ／分、Ａ軸回りの送り速度が２４．８４回転／分となる。
【００４６】
以上のように、本実施の形態における送り速度の算出手法では、Ｌ値にＡ軸及びＣ軸の回転角度が含まれないため、Ｌ値は比較例と較べて小さな値となり、その結果、ＸＹＺ各直線軸方向への送り速度、及びＡＣ各回転軸回りの送り速度は高くなる。このため、工作機械１００が回転を伴う直線補間命令に基づいて加工を行う場合であっても、加工速度を高めることができる。
【００４７】
図６は実施の形態１に係る工作機械１００の制御部１０１が実行する処理の手順を説明するフローチャートである。制御部１０１は、加工プログラムに基づく制御を行う場合、記憶部１０２に記憶された加工プログラム、又は入力部１０３を通じて入力された加工プログラムの読み込みを行う（ステップＳ１０１）。
【００４８】
次いで、制御部１０１は、読み込んだ加工プログラムに回転を伴う直線補間命令が含まれるか否かを判断する（ステップＳ１０２）。例えば、加工プログラムに「Ｇ０１」の命令コードが含まれ、直線補間命令による移動量にＡＣ軸の何れかの回転軸の回転角度が含まれる場合、その加工プログラムには、回転を伴う直線補間命令が含まれると判断することができる。一方、加工プログラムに「Ｇ０１」の命令コードが含まれていない場合、若しくは、加工プログラムに「Ｇ０１」の命令コードが含まれており、直線補間命令による移動量に回転軸の回転角度が定義されていない場合、その加工プログラムには、回転を伴う直線補間命令が含まれていないと判断することができる。
【００４９】
読み込んだ加工プログラムに回転を伴う直線補間命令が含まれると判断した場合（Ｓ１０２：ＹＥＳ）、制御部１０１は、ＸＹＺ各軸の移動量に基づき、ＸＹＺ各軸方向への送り速度を算出する（ステップＳ１０３）。このとき、制御部１０１は、（α2 ＋β2 ＋γ2 ）1/2 により算出されるＬ値を用いて、ＸＹＺ各軸方向への送り速度Ｖｘ，Ｖｙ，ＶｚをそれぞれＶｘ＝α／Ｌ・ｆ，Ｖｙ＝β／Ｌ・ｆ，Ｖｚ＝γ／Ｌ・ｆにより算出する。
【００５０】
次いで、制御部１０１は、ＸＹＺ各軸方向の送り速度から移動時間Ｔを算出し、ＡＣ各軸回りの送り速度を算出する（ステップＳ１０４）。このとき、制御部１０１は、Ｔ＝α／Ｖｘ（＝β／Ｖｙ，γ／Ｖｚ）により各軸の移動時間を算出し、算出した移動時間Ｔを用いて、ＡＣ各軸回りの送り速度Ｖａ，ＶｃをそれぞれＶａ＝δ／Ｔ，Ｖｃ＝ε／Ｔにより算出する。
【００５１】
なお、図６に示すフローチャートでは、ＸＹＺ各軸方向への送り速度を算出した後に、ＡＣ各軸回りの送り速度を算出する手順について説明したが、各軸の送り速度の算出手順は上記に限定されるものではない。例えば、制御部１０１は各軸に共通の移動時間ＴをＴ＝Ｌ／ｆにより算出し、各軸の送り速度Ｖｘ，Ｖｙ，Ｖｚ，Ｖａ，ＶｃをそれぞれＶｘ＝α／Ｔ，Ｖｙ＝β／Ｔ，Ｖｚ＝γ／Ｔ，Ｖａ＝δ／Ｔ，Ｖｃ＝ε／Ｔにより算出してもよい。
【００５２】
ステップＳ１０２において、読み込んだ加工プログラムに回転を伴う直線補間命令が含まれないと判断した場合（Ｓ１０２：ＮＯ）、制御部１０１は、加工プログラムに含まれる命令コードに応じて、各軸の送り速度を従来手法を用いて算出する（ステップＳ１０５）。
【００５３】
次いで、制御部１０１は、算出した各軸の送り速度に基づいて、各軸を駆動する駆動モータ用の制御信号を生成し、生成した制御信号を出力部１０４から出力することにより、各軸の駆動制御を行う（ステップＳ１０６）。
【００５４】
以上のように、本実施の形態では、ＡＣ各軸回りの回転量を考慮した合成移動量によりＬ値を定めていた従来の算出手法と比較して、各軸の送り速度を高めることができ、加工時間の短縮化を図ることができる。
【００５５】
なお、本実施の形態では、直線軸を３軸、回転軸を２軸とした５軸制御の工作機械１００を例にとり、各軸の送り速度の算出手法について説明したが、３軸の直線軸、２軸の回転軸（左右に延びたＡ軸及び上下に延びたＣ軸）に加え、前後に延びたＢ軸の回りに回転可能である６軸制御の工作機械、更に多くの回転軸を含む駆動軸を備えた工作機械に適用できることは勿論のことである。
【００５６】
また、本実施の形態では、直線軸方向の長さの単位をミリメートルとして説明を行ったが、長さの単位はミリメートルに限らず、インチであってもよい。直線軸の長さの単位をインチとした場合、直線軸の移動量に記載する値は小さくなるので、従来算出していた合成移動量に占める回転軸の移動量（回転角度）の割合は高くなる。この結果、合成移動量を用いて各軸の送り速度を算出した場合、フィードレートにより想定される各軸の送り速度よりも低くなる可能性がある。これに対し、本実施の形態では、合成移動量に回転軸の移動量を含めないので、各軸の送り速度を高めることができる。
【００５７】
（実施の形態２）
実施の形態２では、算出した送り速度が閾値速度を超過した場合、警報を出力する構成について説明する。
なお、工作機械１００の構成は実施の形態１と同様であるため、その説明を省略することとする。
【００５８】
図７は実施の形態２に係る工作機械１００の制御部１０１が実行する処理の手順を説明するフローチャートである。制御部１０１は、加工プログラムに基づく制御を行う場合、記憶部１０２に記憶された加工プログラム、又は入力部１０３を通じて入力された加工プログラムの読み込みを行う（ステップＳ２０１）。
【００５９】
次いで、制御部１０１は、実施の形態１と同様の手順にて、ＸＹＺ各軸の送り速度とＡＣ各軸の送り速度とを算出する（ステップＳ２０２〜Ｓ２０５）。
【００６０】
次いで、制御部１０１は、算出した各軸の送り速度が閾値速度を超過したか否かを判断する（ステップＳ２０６）。本実施の形態では、記憶部１０２が閾値速度を記憶する。ステップＳ２０６では、制御部１０１は、算出した各軸の送り速度と記憶部１０２から読み出した閾値速度との大小を比較し、各軸の送り速度が閾値速度を超過したか否かを判断する。なお、閾値速度は、直線軸と回転軸とで異なる値であってもよく、各軸で異なる値であってもよい。また、特定の軸ついてのみ閾値速度を設定してもよい。
【００６１】
閾値速度を超過していないと判断した場合（Ｓ２０６：ＮＯ）、制御部１０１は、算出した各軸の送り速度に基づいて、各軸を駆動する駆動モータ用の制御信号を生成し、生成した制御信号を出力部１０４から出力することにより、各軸の駆動制御を行う（ステップＳ２０７）。
【００６２】
一方、閾値速度を超過したと判断した場合（Ｓ２０６：ＹＥＳ）、制御部１０１は、出力部１０４から警報を出力する（ステップＳ２０８）。例えば、出力部１０４にブザーなどの警報器（不図示）を接続している場合、制御部１０１は、警報器から警報音を出力させる制御信号を出力部１０４から出力してもよい。また、出力部１０４に液晶モニタなどの表示装置（不図示）を接続している場合、制御部１０１は、送り速度が閾値速度を超過した旨の文字情報を出力部１０４から出力してもよい。
【００６３】
以上のように、本実施の形態では、演算によって求めた各軸の送り速度が閾値速度を超過する場合には、警報を出力してユーザに報知することができる。
【００６４】
（実施の形態３）
実施の形態３では、各軸の送り速度の算出手法に係る選択を受付け、選択された算出手法を用いて各軸の送り速度を算出する構成について説明する。
なお、工作機械１００の構成は実施の形態１と同様であるため、その説明を省略することとする。
【００６５】
図８は実施の形態３に係る工作機械１００の制御部１０１が実行する処理の手順を説明するフローチャートである。制御部１０１は、加工プログラムに基づく制御を行う場合、記憶部１０２に記憶された加工プログラム、又は入力部１０３を通じて入力された加工プログラムの読み込みを行う（ステップＳ３０１）。
【００６６】
次いで、制御部１０１は、読み込んだ加工プログラムに回転を伴う直線補間命令が含まれるか否かを判断する（ステップＳ３０２）。例えば、加工プログラムに「Ｇ０１」の命令コードが含まれ、直線補間命令による移動量にＡＣ軸の何れかの回転軸の回転角度が含まれる場合、その加工プログラムには、回転を伴う直線補間命令が含まれると判断することができる。
【００６７】
次いで、制御部１０１は、各軸の送り速度の算出手法として、従来手法を選択したか否かを判断する（ステップＳ３０３）。ここで、従来手法は、図４を用いて説明したように、ＡＣ各軸の回転角度を含む合成移動量の値を用いてＸＹＺ各軸の送り速度及びＡＣ各軸の送り速度を算出する従来の算出手法を表す。算出手法の選択は加工プログラムを読み込む前に事前に設定されていてもよく、回転を伴う直線補間命令が入力された場合に、ユーザによる選択を受付ける構成であってもよい。
【００６８】
従来手法を選択していないと判断した場合（Ｓ３０３：ＮＯ）、制御部１０１は、実施の形態１と同様の手順にて、ＸＹＺ各軸の移動量に基づきＸＹＺ各軸の送り速度を算出し（ステップＳ３０４）、ＸＹＺ各軸の移動時間を用いて各回転軸の送り速度を算出する（ステップＳ３０５）。
【００６９】
一方、ステップＳ３０２で回転を伴う直線補間命令でないと判断した場合（Ｓ３０２：ＮＯ）、又はステップＳ３０３で従来手法を選択したと判断した場合（Ｓ３０３：ＹＥＳ）、制御部１０１は、従来手法を用いて各軸の送り速度を算出する（ステップＳ３０６）。
【００７０】
次いで、制御部１０１は、算出した各軸の送り速度に基づいて、各軸を駆動する駆動モータ用の制御信号を生成し、生成した制御信号を出力部１０４から出力することにより、各軸の駆動制御を行う（ステップＳ３０７）。
【００７１】
以上のように、本実施の形態では、各軸の送り速度の算出手法をユーザが選択することが可能である。例えば、加工時間の短縮化を図る場合、ユーザはＡＣ各軸の回転角度を考慮しない本願手法を選択することが可能である。また、閾値速度を超過しないように各軸の送り速度を設定したい場合には、ユーザは従来手法を選択することができる。
【００７２】
今回開示された実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００７３】
６  主軸モータ
１３  Ｙ軸モータ
２３  Ｘ軸モータ
３３  Ｚ軸モータ
７１  Ａ軸モータ
８１  Ｃ軸モータ
１００  工作機械
１０１  制御部
１０２  記憶部
１０３  入力部
１０４  出力部
【図１】
2019175352.tif 000003
【図２】
2019175352.tif 000004
【図３】
2019175352.tif 000005
【図４】
2019175352.tif 000006
【図５】
2019175352.tif 000007
【図６】
2019175352.tif 000008
【図７】
2019175352.tif 000009
【図８】
2019175352.tif 000010