IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

<>
  • 特許-数値制御装置 図1
  • 特許-数値制御装置 図2
  • 特許-数値制御装置 図3
  • 特許-数値制御装置 図4
  • 特許-数値制御装置 図5
  • 特許-数値制御装置 図6
  • 特許-数値制御装置 図7
  • 特許-数値制御装置 図8
  • 特許-数値制御装置 図9
  • 特許-数値制御装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】数値制御装置
(51)【国際特許分類】
   G05B 19/4155 20060101AFI20241210BHJP
【FI】
G05B19/4155 Z
【請求項の数】 9
(21)【出願番号】P 2023507093
(86)(22)【出願日】2022-03-14
(86)【国際出願番号】 JP2022011251
(87)【国際公開番号】W WO2022196622
(87)【国際公開日】2022-09-22
【審査請求日】2023-10-10
(31)【優先権主張番号】P 2021042936
(32)【優先日】2021-03-16
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】110001151
【氏名又は名称】あいわ弁理士法人
(72)【発明者】
【氏名】大西 庸士
(72)【発明者】
【氏名】安田 将司
(72)【発明者】
【氏名】佐藤 佳澄
【審査官】杉田 隼一
(56)【参考文献】
【文献】特開2002-351519(JP,A)
【文献】米国特許出願公開第2012/0117787(US,A1)
【文献】国際公開第2017/145912(WO,A1)
【文献】特開平07-195253(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/4155
(57)【特許請求の範囲】
【請求項1】
工作機械の軸の移動領域内において制御条件が設定される制御領域を定めるデータの入力を受け付ける領域情報受付部と、
前記領域情報受付部が受け付けた前記データに基づいて前記制御領域を設定する領域設定部と、
前記制御領域内における前記制御条件の入力を受け付ける制御条件受付部と、
前記制御条件受付部で入力された前記制御条件を前記制御領域内に反映させて設定する制御条件設定部と、
前記制御条件に基づいて前記制御領域内における制御指令を生成する指令生成部と、
を備える数値制御装置。
【請求項2】
加工プログラムを解析し、前記制御領域に含まれる前記軸の移動経路を特定する経路特定部と、
前記経路特定部によって特定された前記移動経路を指令する指令ブロックを加工プログラムのブロックから特定するブロック特定部と、をさらに備え、
前記指令生成部は、前記指令ブロックによって指令される前記移動経路における前記制御指令を前記制御条件に基づいて生成する請求項1に記載の数値制御装置。
【請求項3】
前記制御領域の外側と内側とにまたがる前記移動経路を前記制御領域に含まれない外側経路と前記制御領域に含まれる内側経路とに分割するブロック分割部と、をさらに備え、
前記指令生成部は、前記内側経路における前記制御指令を前記制御条件に基づいて生成する請求項2に記載の数値制御装置。
【請求項4】
前記制御条件には、加工条件、速度制御パラメータ、サーボパラメータ、機能ごとに定められた制御パラメータ、および機能のオン・オフの状態を示すパラメータの少なくともいずれかが含まれる請求項1~3のいずれか1項に記載の数値制御装置。
【請求項5】
前記加工条件には、主軸回転数、および送り速度の少なくともいずれかが含まれ、前記速度制御パラメータには、前記軸の許容速度、前記軸の許容加速度、前記軸の許容加加速度、許容接線方向加速度、および許容法線方向加速度の少なくともいずれかが含まれ、前記サーボパラメータには、位置ループゲイン、およびフィードフォワードゲインの少なくともいずれかが含まれ、前記機能ごとに定められた制御パラメータには、少なくともスムージング処理のトレランスが含まれ、前記機能のオン・オフには、少なくとも揺動動作のオン・オフが含まれる請求項4に記載の数値制御装置。
【請求項6】
前記制御条件設定部は、前記制御領域内における制御モードを、前記制御領域以外の領域における制御モードとは異なる制御モードに設定する請求項1~5のいずれか1項に記載の数値制御装置。
【請求項7】
前記制御条件設定部は、優先指標に基づいて前記制御モードを切り換える請求項6に記載の数値制御装置。
【請求項8】
前記優先指標には、少なくとも実行時間が含まれる請求項7に記載の数値制御装置。
【請求項9】
工作機械の軸の移動領域内において制御条件が設定される制御領域を定めるデータの入力を受け付ける領域情報受付部と、
前記領域情報受付部が受け付けた前記データに基づいて前記制御領域を設定する領域設定部と、
前記制御領域内における前記制御条件を設定する制御条件設定部と、
前記制御条件に基づいて前記制御領域内における制御指令を生成する指令生成部と、
を備え
前記制御条件設定部は、前記制御領域内における制御モードを、前記制御領域以外の領域における制御モードとは異なる制御モードに設定するとともに、優先指標に基づいて前記制御モードを切り換える数値制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械を制御する数値制御装置に関する。
【背景技術】
【0002】
ワークを加工するために用いられる加工プログラムでは、所定のコードを用いて工具の移動経路、および工具が移動経路を移動する際の制御条件が指定される(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-156835号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、加工プログラムで指定される移動経路の一部の制御条件を変更する場合は、加工プログラムにおいて制御条件の変更対象であるブロックを特定する必要がある。例えば、ワークの表面の一部分の加工条件を変更する場合、この一部分の加工を指定するブロックを加工プログラム上で特定する必要がある。この場合、作業者は、変更対象のブロックを多くのブロックの中から探し出す作業を行う。そのため、作業者にとって大きな負担となる。
【0005】
本開示は、加工プログラムで指定される移動経路の一部の制御条件を容易に指定することが可能な数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
数値制御装置が、工作機械の軸の移動領域内において制御条件が設定される制御領域を定めるデータの入力を受け付ける領域情報受付部と、領域情報受付部が受け付けたデータに基づいて制御領域を設定する領域設定部と、制御領域内における制御条件を設定する制御条件設定部と、制御条件に基づいて制御領域内における制御指令を生成する指令生成部と、を備える。
【発明の効果】
【0007】
本開示により、加工プログラムで指定される一部の移動経路における制御条件を容易に設定することが可能になる。
【図面の簡単な説明】
【0008】
図1】工作機械のハードウェア構成の一例を示す図である。
図2】数値制御装置の機能の一例を示すブロック図である。
図3】制御領域を定めるデータの一例について説明する図である。
図4】経路特定部が特定する工具の移動経路の一例を説明する図である。
図5】移動経路を分割する例について説明する図である。
図6】スムージング処理におけるトレランスについて説明する図である。
図7】指令生成部が生成する制御指令の一例を説明する図である
図8】数値制御装置において実行される処理の流れの一例を示すフローチャートである。
図9】数値制御装置の機能の一例を示すブロック図である。
図10】制御領域の一例を説明する図である。
【発明を実施するための形態】
【0009】
以下、本開示の一実施形態について図面を用いて説明する。なお、以下の実施形態で説明する特徴のすべての組み合わせが課題解決に必ずしも必要であるとは限らない。また、必要以上の詳細な説明を省略する場合がある。また、以下の実施形態の説明、および図面は、当業者が本開示を十分に理解するために提供されるものであり、請求の範囲を限定することを意図していない。
【0010】
図1は、工作機械のハードウェア構成の一例を示す図である。工作機械1は、例えば、旋盤、マシニングセンタ、複合加工機、および放電加工機である。
【0011】
工作機械1は、例えば、数値制御装置2と、入出力装置3と、サーボアンプ4およびサーボモータ5と、スピンドルアンプ6およびスピンドルモータ7と、補助機器8とを備えている。
【0012】
数値制御装置2は、工作機械1全体を制御する装置である。数値制御装置2は、CPU(Central Processing Unit)201と、バス202と、ROM(Read Only Memory)203と、RAM(Random Access Memory)204と、不揮発性メモリ205とを備えている。
【0013】
CPU201は、システムプログラムに従って数値制御装置2全体を制御するプロセッサである。CPU201は、バス202を介してROM203に格納されたシステムプログラムなどを読み出す。また、CPU201は、加工プログラムに基づいて、サーボモータ5およびスピンドルモータ7を制御する。
【0014】
CPU201は、制御周期ごとに、例えば、加工プログラムの解析、およびサーボモータ5に対する制御指令の出力を行う。
【0015】
バス202は、数値制御装置2内の各ハードウェアを互いに接続する通信路である。数値制御装置2内の各ハードウェアはバス202を介してデータをやり取りする。
【0016】
ROM203は、数値制御装置2全体を制御するためのシステムプログラムなどを記憶する記憶装置である。ROM203は、コンピュータ読み取り可能な記憶媒体である。
【0017】
RAM204は、各種データを一時的に格納する記憶装置である。RAM204は、CPU201が各種データを処理するための作業領域として機能する。
【0018】
不揮発性メモリ205は、工作機械1の電源が切られ、数値制御装置2に電力が供給されていない状態でもデータを保持する記憶装置である。不揮発性メモリ205は、例えば、加工プログラム、および入出力装置3から入力される各種パラメータを記憶する。不揮発性メモリ205は、コンピュータ読み取り可能な記憶媒体である。不揮発性メモリ205は、例えば、SSD(Solid State Drive)で構成される。
【0019】
数値制御装置2は、さらに、インタフェース206と、軸制御回路207と、スピンドル制御回路208と、PLC(Programmable Logic Controller)209と、I/Oユニット210とを備えている。
【0020】
インタフェース206は、バス202と入出力装置3とを接続する。インタフェース206は、例えば、CPU201が処理した各種データを入出力装置3に送る。
【0021】
入出力装置3は、インタフェース206を介して各種データを受け、各種データを表示する装置である。また、入出力装置3は、各種データの入力を受け付けてインタフェース206を介して各種データをCPU201に送る。入出力装置3は、LCD(Liquid Crystal Display)などのディスプレイ、キーボード、およびマウスなどを含む。また、入出力装置3は、タッチパネルであってもよい。
【0022】
軸制御回路207は、サーボモータ5を制御する回路である。軸制御回路207は、CPU201からの制御指令を受けてサーボモータ5を駆動させるための指令をサーボアンプ4に出力する。軸制御回路207は、例えば、サーボモータ5のトルクを制御するトルクコマンドをサーボアンプ4に送る。
【0023】
サーボアンプ4は、軸制御回路207からの指令を受けて、サーボモータ5に電流を供給する。
【0024】
サーボモータ5は、サーボアンプ4から電流の供給を受けて駆動する。サーボモータ5は、例えば、刃物台、主軸頭、テーブルを駆動させるボールねじに連結される。サーボモータ5が駆動することにより、刃物台、主軸頭、テーブルなどの工作機械1の構造物は、例えば、X軸方向、Y軸方向、またはZ軸方向に移動する。なお、サーボモータ5は、各軸の送り速度を検出する速度検出器(不図示)を内蔵していてもよい。
【0025】
スピンドル制御回路208は、スピンドルモータ7を制御するための回路である。スピンドル制御回路208は、CPU201からの制御指令を受けてスピンドルモータ7を駆動させるための指令をスピンドルアンプ6に出力する。スピンドル制御回路208は、例えば、スピンドルモータ7のトルクを制御するトルクコマンドをスピンドルアンプ6に送る。
【0026】
スピンドルアンプ6は、スピンドル制御回路208からの指令を受けて、スピンドルモータ7に電流を供給する。スピンドルアンプ6はスピンドルモータ7に供給される電流の電流値を測定する電流計61を内蔵している。
【0027】
電流計61は、スピンドルモータ7に供給される電流の電流値を検出する。電流計61は、検出した電流値を示すデータをCPU201に送る。
【0028】
スピンドルモータ7は、スピンドルアンプ6から電流の供給を受けて駆動する。スピンドルモータ7は、主軸に連結され、主軸を回転させる。
【0029】
PLC209は、ラダープログラムを実行して補助機器8を制御する装置である。PLC209は、I/Oユニット210を介して補助機器8に対して指令を送る。
【0030】
I/Oユニット210は、PLC209と補助機器8とを接続するインタフェースである。I/Oユニット210は、PLC209から受けた指令を補助機器8に送る。
【0031】
補助機器8は、工作機械1に設置され、工作機械1において補助的な動作を行う。補助機器8は、工作機械1の周辺に設置される装置であってもよい。補助機器8は、I/Oユニット210から受けた指令に基づいて動作する。補助機器8は、例えば、工具交換装置、切削液噴射装置、または開閉ドア駆動装置である。
【0032】
次に、数値制御装置2の機能の一例について説明する。
【0033】
図2は、数値制御装置2の機能の一例を示すブロック図である。数値制御装置2は、プログラム記憶部211と、領域情報受付部212と、領域設定部213と、経路特定部214と、ブロック特定部215と、ブロック分割部216と、制御条件受付部217と、制御条件設定部218と、指令生成部219と、制御部220とを備えている。
【0034】
プログラム記憶部211は、入出力装置3などから入力された加工プログラムが、RAM204、または不揮発性メモリ205に記憶されることにより実現される。
【0035】
領域情報受付部212、領域設定部213、経路特定部214、ブロック特定部215、ブロック分割部216、制御条件受付部217、制御条件設定部218、指令生成部219、および制御部220は、例えば、CPU201が、ROM203に記憶されているシステムプログラムならびに不揮発性メモリ205に記憶されている各種データを用いて演算処理することにより実現される。
【0036】
プログラム記憶部211は、加工プログラムを記憶する。加工プログラムは、工作機械1の各部を動作させてワークの加工を行うためのプログラムである。加工プログラムでは、工具の移動経路、主軸の回転数、送り速度などの制御条件、および各機能の制御条件などがGコード、Sコード、Fコードおよび機能ごとに定められたコードなどを用いて指定される。
【0037】
領域情報受付部212は、工作機械1の軸の移動領域内において、制御領域を定めるデータの入力を受け付ける。軸の移動領域とは、工作機械1に設定された座標系において軸が移動可能な領域である。制御領域とは、軸の移動領域内において制御条件が設定される領域である。つまり、制御条件が設定された制御領域では、制御条件に基づいて各部が制御される。
【0038】
例えば、ワークの一部分が制御領域として設定された場合、制御領域に設定された部分では、制御条件に基づいてワークの加工が行われる。領域情報受付部212は、制御領域を定めるデータとして、例えば、ワーク座標系における座標値の入力を受け付ける。領域情報受付部212は、例えば、入出力装置3から制御領域を定めるデータの入力を受け付ける。
【0039】
図3は、制御領域を定めるデータについて説明する図である。領域情報受付部212は、例えば、ワークの上面をなす自由曲面上の一部の領域を制御領域として定めるための座標値の入力を受け付ける。領域情報受付部212は、例えば、X-Y平面におけるA1点、A2点、A3点およびA4点の位置を示す座標値(XA1,YA1)、(XA2,YA2)、(XA3,YA3)、および(XA4,YA4)の入力を受け付ける。
【0040】
領域設定部213は、領域情報受付部212が受け付けた制御領域を定めるデータに基づいて、工作機械1の軸の移動領域内において制御条件が設定される制御領域を設定する。領域情報受付部212が、X-Y平面における4つの点の座標値の入力を受け付けた場合、領域設定部213は、軸の移動領域のうち、X座標およびY座標が4つの点によって囲まれる領域に含まれる空間を特定する。言い換えれば、領域設定部213は、4つの点を頂点とする枠をZ軸に沿って動かしたときに、この枠によって切り取られる領域を特定する。領域設定部213は、特定した領域を制御領域として設定する。
【0041】
経路特定部214は、加工プログラムを解析し、加工プログラムで指令される軸の移動経路のうち、領域設定部213によって設定された制御領域に含まれる移動経路を特定する。
【0042】
図4は、経路特定部214が特定する軸の移動経路を説明する図である。各矢印l~l、l~l、およびl10~l14は、それぞれ、加工プログラムの各ブロックによって指令される軸の移動経路を示している。経路特定部214は、少なくとも一部が制御領域に含まれる移動経路を特定する。図4に示す例では、経路特定部214は、移動経路l~l、l~l、およびl11~l13を特定する。なお、加工プログラムにおけるブロックとは、例えば、シーケンス番号が付与された加工プログラムの各行を意味する。
【0043】
ブロック特定部215は、経路特定部214によって特定された移動経路を指令する指令ブロックを加工プログラムのブロックから特定する。ブロック特定部215は、例えば、加工プログラム内において制御領域に含まれる座標値を指令するブロックを抽出することにより、指令ブロックを特定する。図4に示す例では、ブロック特定部215は、移動経路l~l、l~l、およびl11~l13を指令するブロックを特定する。
【0044】
移動経路l~l、l~l、およびl11~l13が、例えば、それぞれ、シーケンス番号N0011~N0013、N0111~N0113、およびN0211~N0213のブロックで指令されている場合、ブロック特定部215は、シーケンス番号N0011~N0013、N0111~N0113、およびN0211~N0213のブロックを特定する。
【0045】
ブロック分割部216は、指令ブロックによって指令される移動経路が制御領域の外側と内側とにまたがる場合、指令ブロックによって指令される移動経路を制御領域に含まれない外側経路と制御領域に含まれる内側経路とに分割する。
【0046】
図5は、移動経路を分割する例について説明する図である。ブロック分割部216は、制御領域の外側と内側とにまたがる移動経路l、l,l、l、l11およびl13を制御領域の境界部分で分割する。ブロック分割部216は、lをl1aとl1bに分割する。同様に、ブロック分割部216は、lをl3aとl3bに、lをl6aとl6bに、lをl8aとl8bに、l11をl11aとl11bに、l13をl13aとl13bに分割する。
【0047】
制御条件受付部217は、制御領域に設定される制御条件の入力を受け付ける。制御条件は、例えば、加工条件である。加工条件には、例えば、主軸の回転数、送り速度が含まれる。また、制御条件には、速度制御パラメータ、サーボパラメータ、個々の機能ごとに定められた制御パラメータ、および各機能のオン・オフの状態を示すパラメータが含まれてもよい。速度制御パラメータには、各軸の許容速度、各軸の許容加速度、各軸の許容加加速度、許容接線方向加速度、許容法線方向加速度などが含まれる。許容接線方向加速度とは、工具の移動経路が曲線を描く場合において、この曲線の接線方向における許容しうる工具の最大加速度である。また、許容法線方向加速度とは、工具の移動経路が曲線を描く場合において、この曲線の法線方向における許容しうる工具の最大加速度である。サーボパラメータには、位置ループゲインやフィードフォワードゲインなどの、サーボ制御における伝達特性に関するパラメータが含まれる。個々の機能ごとに定められた制御パラメータには、例えば、スムージング処理におけるトレランスなどが含まれる。また、機能のオン・オフの状態を示すパラメータには、例えば揺動動作のオン・オフの状態を示すパラメータが含まれる。なお、揺動動作とは、ワークの切削加工時に切屑を切断するために、工具およびワークの少なくとも一方を振動させる動作である。
【0048】
ここで、スムージング処理について説明する。スムージング処理とは、加工プログラムで指令された移動経路が滑らかになるように移動経路を平滑にする処理である。例えば、複数の互いに連結された微小線分によって移動経路が形成される場合、移動経路を、スプライン曲線化することによって移動経路がスムージングされる。このとき、スムージングによって生成された曲線と、もとの微小線分によって形成される移動経路との間の許容され得る差がトレランスである。
【0049】
図6は、スムージング処理におけるトレランスについて説明する図である。図6には、互いに連結された微小線分によって形成された移動経路と、移動経路をスムージング処理することによって生成された曲線とが示されている。トレランスが大きい場合、生成される曲線はより滑らかになる。反対に、トレランスが小さい場合、生成される曲線は、もとの微小線分からなる移動経路に近似した形状の曲線となる。
【0050】
ここで、図2の説明に戻る。
【0051】
制御条件設定部218は、制御条件受付部217が受け付けた制御条件を制御領域内における制御条件に設定する。例えば、制御条件受付部217がトレランスを1[μm]にする制御条件を受け付けた場合、制御条件設定部218は、制御領域内におけるトレランスを1[μm]に設定する。また、制御条件受付部217が送り速度を1000[mm/min]に設定する制御条件を受け付けた場合、制御条件設定部218は、制御領域内における送り速度を1000[mm/min]に設定する。
【0052】
指令生成部219は、制御条件設定部218によって設定された制御条件に基づいて制御領域内における制御指令を生成する。
【0053】
図7は、指令生成部219が生成する制御指令の一例を説明する図である。指令生成部219は、制御領域に含まれる移動経路における制御指令を生成する。指令生成部219は、制御条件に基づいて制御領域内の移動経路l1b、l、l3a、l6b、l、l8a、l11b、l12およびl13aにおける制御指令を生成する。
【0054】
制御条件として、トレランスが1[μm]に設定されている場合、指令生成部219は、トレランスが1[μm]となるように、移動経路l1b、l、l3aにおける制御指令、移動経路l6b、l、l8aにおける制御指令、および移動経路l11b、l12およびl13aにおける制御指令を生成する。
【0055】
指令生成部219は、制御領域以外の領域における制御指令を加工プログラムの各ブロックに記載された指令に基づいて生成する。例えば、制御領域以外の領域のトレランスが2[μm]に設定されている場合、指令生成部219は、トレランスの大きさが2[μm]となるように、移動経路l、l1aにおける制御指令、移動経路l3b、lにおける制御指令、移動経路l、l6aにおける制御指令、l8b、lにおける制御指令、l10、l11aにおける制御指令、および移動経路l13b、l14における制御指令を生成する。
【0056】
制御部220は、指令生成部219によって生成された指令に基づいて、制御領域内における軸の移動を制御する。また、制御部220は、指令生成部219によって生成された指令に基づいて、制御領域以外の領域における軸の移動を制御する。
【0057】
例えば、図7に示す移動経路に沿って軸を移動させる場合、制御部220は、まず、上段に描かれた移動経路l、l1a、l1b、l、l3a、l3b、lの順に軸を移動させる。このとき、制御領域におけるトレランスが1[μm]、制御領域以外の領域におけるトレランスが2[μm]となるように、制御部220は軸を移動させる。
【0058】
次に、制御部220は、中段に描かれた移動経路l、l6a、l6b、l、l8a、l8b、およびlの順に軸を移動させる。このとき、制御領域におけるトレランスが1[μm]、制御領域以外の領域におけるトレランスが2[μm]となるように、制御部220は軸を移動させる。
【0059】
次に、制御部220は、下段に描かれた移動経路l10、l11a、l11b、l12、l13a、l13b、およびl14の順に軸を移動させる。このとき、制御領域におけるトレランスが1[μm]、制御領域以外の領域におけるトレランスが2[μm]となるように、制御部220は軸を移動させる。
【0060】
次に、数値制御装置2において実行される処理の流れについて説明する。
【0061】
図8は、数値制御装置2において実行される処理の流れの一例を示すフローチャートである。数値制御装置2では、まず、領域情報受付部212が制御領域を定めるデータの入力を受け付ける(ステップS1)。
【0062】
次に、領域設定部213が、制御領域を定めるデータに基づいて、制御条件が設定される制御領域を設定する(ステップS2)。
【0063】
次に、経路特定部214が加工プログラムを解析し、領域設定部213によって設定された制御領域に含まれる移動経路を特定する(ステップS3)。
【0064】
次に、ブロック特定部215が経路特定部214によって特定された移動経路を指令する指令ブロックを加工プログラムのブロックから特定する(ステップS4)。
【0065】
次に、ブロック分割部216が、指令ブロックによって指令される移動経路を制御領域に含まれない外側経路と制御領域に含まれる内側経路とに分割する(ステップS5)。
【0066】
次に、制御条件受付部217が制御領域に設定される制御条件の入力を受け付ける(ステップS6)。
【0067】
次に、制御条件設定部218が、制御条件受付部217によって受け付けられた制御条件を制御領域内における制御条件に設定する(ステップS7)。
【0068】
次に、指令生成部219が制御条件設定部218によって設定された制御条件に基づいて制御領域内における制御指令を生成する(ステップS8)。
【0069】
次に、制御部220が指令生成部219によって生成された制御指令に基づいて軸の制御を行い(ステップS9)、処理を終了する。
【0070】
以上説明したように、数値制御装置2は、工作機械1の軸の移動領域内において制御条件が設定される制御領域を定めるデータの入力を受け付ける領域情報受付部212と、領域情報受付部212が受け付けたデータに基づいて制御領域を設定する領域設定部213と、制御領域内における制御条件を設定する制御条件設定部218と、制御条件に基づいて制御領域内における制御指令を生成する指令生成部219と、を備える。したがって、数値制御装置2は、制御条件が設定される制御領域を設定し、制御領域における制御条件を設定することができる。これにより、作業者は、特定の領域における制御条件を容易に設定することができる。
【0071】
また、数値制御装置2は、加工プログラムを解析し、制御領域に含まれる軸の移動経路を特定する経路特定部214と、経路特定部214によって特定された移動経路を指令する指令ブロックを加工プログラムのブロックから特定するブロック特定部215と、をさらに備え、指令生成部219は、指令ブロックによって指令される移動経路における制御指令を制御条件に基づいて生成する。したがって、ワークの加工領域と加工プログラムのブロックとの対応関係が容易に把握される。その結果、作業者は、特定の領域における制御条件を容易に設定することができる。
【0072】
また、数値制御装置2は、制御領域の外側と内側とにまたがる移動経路を制御領域に含まれない外側経路と制御領域に含まれる内側経路とに分割するブロック分割部216と、をさらに備え、指令生成部219は、内側経路における制御指令を制御条件に基づいて生成する。そのため、加工プログラムによって指令されている移動経路が制御領域の外側と内側にまたがる場合であっても、制御領域内と制御領域以外の領域で制御条件を切り換えることができる。
【0073】
また、制御条件には、加工条件、速度制御パラメータ、サーボパラメータ、機能ごとに定められた制御パラメータ、および機能のオン・オフの状態を示すパラメータの少なくともいずれかが含まれる。そのため、制御領域内においてこれらの制御条件を自由に設定することができる。
【0074】
また、加工条件には、主軸の回転数、および送り速度の少なくともいずれかが含まれる。また、速度制御パラメータには、軸の許容速度、軸の許容加速度、軸の許容加加速度、許容接線方向加速度、および許容法線方向加速度の少なくともいずれかが含まれる。また、サーボパラメータには、位置ループゲイン、およびフィードフォワードゲインの少なくともいずれかが含まれる。また、機能ごとに定められた制御パラメータには、スムージング処理のトレランスが含まれる。また、機能のオン・オフの状態を示すパラメータには、揺動動作のオン・オフの状態を示すパラメータが含まれる。そのため、制御領域内において、様々な制御条件を設定することができる。
【0075】
上述した実施形態では、領域情報受付部212は、制御領域を定めるデータとして、座標値の入力を受け付ける。しかし、領域情報受付部212は、例えば、制御領域を定めるデータとして、実際の工具の位置情報の入力を受け付けてもよい。
【0076】
例えば、工具をX-Y平面上の4つの点に移動させたとき、領域情報受付部212は、この4つの点を、制御領域を定めるデータとして受け付けてもよい。この場合、領域設定部213は、4つの点で囲まれる領域にX座標、およびY座標が含まれる空間を制御領域に設定する。
【0077】
また、数値制御装置2が軸の移動領域、およびワークの形状を示すCAD(Computer Aided Design)データを保持している場合、領域情報受付部212は、CADデータ上で指定される位置を、制御領域を定めるデータとして受け付けてもよい。この場合、作業者は、軸の移動領域およびワークの画像が表示された入出力装置3の画面上において、例えば、4つの点を指定することにより制御領域を定めることができる。
【0078】
上述した実施形態の数値制御装置2はブロック分割部216を備えているが、数値制御装置2は、必ずしもブロック分割部216を備えていなくてもよい。
【0079】
図9は、数値制御装置2の機能の一例を示すブロック図である。なお、図2に示す数値制御装置2と図9に示す数値制御装置2とは、図9に示す数値制御装置2がブロック分割部216を備えていない点を除いて、同じである。
【0080】
プログラム記憶部211は、加工プログラムを記憶する。領域情報受付部212は、工作機械1の軸の移動領域内において、制御領域を定めるデータの入力を受け付ける。
【0081】
図10は、制御領域の一例を説明する図である。図10は、旋盤のチャックが円柱形状のワークを把持している状態を示している。
【0082】
領域情報受付部212は、例えば、制御領域を定めるデータとして、チャックに把持された加工前のワークの形状を示すデータの入力を受け付ける。ワークの形状が、例えば、円柱形状である場合、領域情報受付部212は、ワークの全長と外径の大きさを示すB点の座標値の入力を受け付ける。
【0083】
領域設定部213は、領域情報受付部212が受け付けた制御領域を定めるデータに基づいて、工作機械1の軸の移動領域内において制御条件が設定される制御領域を設定する。図10に示す例では、ワークが占める全領域が制御領域として設定される。
【0084】
経路特定部214は、加工プログラムを解析し、加工プログラムにおいて指令される軸の移動経路のうち、領域設定部213によって設定された制御領域に含まれる移動経路を特定する。また、経路特定部214は、制御領域に含まれない移動経路も特定してもよい。経路特定部214は、加工プログラムを解析し、例えば、移動経路N1、N2、N3およびN4を特定する。
【0085】
ブロック特定部215は、経路特定部214によって特定された制御領域に含まれる移動経路を指令する指令ブロックを加工プログラムのブロックから特定する。
【0086】
制御条件受付部217は、制御領域における制御条件の入力を受け付ける。制御条件受付部217は、制御条件として、例えば、軸の移動条件を受け付ける。軸の移動条件とは、切削送りを指令する情報である。つまり、制御条件受付部217は、制御領域内では、工具が切削送りによって制御されること指令する制御条件の入力を受け付ける。
【0087】
制御条件受付部217は、制御領域における制御モードを示す情報の入力を受け付けてもよい。制御モードとは、複数の制御条件の設定状態を意味する。つまり、制御モードが異なれば、複数の制御条件のうちの少なくとも1つの制御条件の設定状態が異なる。
【0088】
制御条件受付部217は、制御モードとして、例えば、位置決めモード、または、切削送りモードを示す情報の入力を受け付ける。位置決めモードとは、軸を早送りで移動させるモードである。切削送りモードとは、軸を切削送りで移動させるモードである。
【0089】
制御条件設定部218は、制御条件受付部217が受け付けた制御条件、または制御モードを、制御領域内における制御条件、または制御モードに設定する。
【0090】
制御条件設定部218は、制御条件受付部217が受け付けた制御条件に基づいて、例えば、制御領域内における制御条件を切削送りに設定する。また、制御条件設定部218は、制御領域以外の領域における制御条件を、早送りに設定する。
【0091】
また、制御条件設定部218は、制御条件受付部217が受け付けた制御モードに基づいて、例えば、制御領域内における制御モードを切削送りモードに設定する。また、制御条件設定部218は、制御領域以外の領域における制御モードを、位置決めモードに設定する。言い換えれば、制御条件設定部218は、制御領域内における制御モードを、制御領域以外の領域における制御モードとは異なる制御モードに設定する。
【0092】
なお、数値制御装置2が軸の移動を切削送りで移動させる場合と、早送りで移動させる場合とでは、速度制御パラメータ、サーボパラメータ、機能ごとに定められた制御パラメータ、および機能のオン・オフの状態を示すパラメータなどの制御条件のうち少なくとも1つの制御条件が互いに異なる。つまり、制御条件設定部218は、制御領域と制御領域以外の領域との間において、速度制御パラメータ、サーボパラメータ、機能ごとに定められた制御パラメータ、および機能のオン・オフの状態を示すパラメータのうち少なくともいずれかを互いに異なる設定値に設定する。
【0093】
指令生成部219は、制御条件設定部218によって設定された制御条件に基づいて制御領域内における制御指令を生成する。また、指令生成部219は、制御条件設定部218によって設定された制御モードに基づいて制御領域内における制御指令を生成する。指令生成部219は、例えば、制御領域内に少なくとも一部が含まれる移動経路において工具を切削送りによって移動させる指令を生成する。つまり、制御領域内に少なくとも一部が含まれる移動経路での軸の移動は、切削送りモードで行われる。また、指令生成部219は、制御領域外の移動経路において工具を早送りによって移動させる指令を生成する。つまり、移動領域外の移動経路での軸の移動は、位置決めモードで行われる。
【0094】
制御部220は、指令生成部219によって生成された切削送り指令に基づいて、制御領域内において軸の移動を制御する。また、制御部220は、指令生成部219によって生成された位置決め指令に基づいて、制御領域以外の領域において軸の移動を制御する。
【0095】
例えば、図10に示す例では、移動経路N1は、制御領域外の移動経路である。したがって、移動経路N1では、制御部220は、軸を早送りで移動させる。また、移動経路N2は、一部が制御領域に含まれている。したがって、制御部220は、移動経路N2において軸を切削送りで移動させる。また、移動経路N3は、一部が制御領域に含まれている。したがって制御部220は、N3において軸を切削送りで移動させる。また、移動経路N4は制御領域外の移動経路である。したがって、制御部220は、移動経路N4において軸を早送りで移動させる。つまり、制御部220は、制御領域と制御領域以外の領域との間で、制御モードを切り換える。
【0096】
以上説明したように、制御条件設定部218は、制御領域内における制御モードを切削送りモードに設定し、制御領域以外の領域における制御モードを位置決めモードに設定する。この場合、数値制御装置2は、制御領域内では、工具を切削送りによって移動させ、制御領域以外の領域では、工具を早送りで移動させることができる。そのため、加工プログラムでは、位置決め指令G00および切削送り指令G01を指令する必要がなくなる。その結果、プログラムコード量を削減することができる。
【0097】
つまり、制御条件設定部218は、制御領域と制御領域以外の領域との間において、設定された制御モードに基づき制御条件を互いに異なる設定値に設定する。これにより、加工精度、加工時間を、それぞれ所望の精度、および時間とすることができる。
【0098】
上述した実施形態では、制御条件設定部218は、制御領域以外の領域では、制御条件を早送りに設定する。しかし、制御条件設定部218は、必ずしも、制御領域以外の領域において、制御条件を早送りに設定しなくてもよい。例えば、制御条件設定部218は、制御領域内および制御領域外において、それぞれ、制御モードの切換条件の優先指標を設け、その優先指標に基づいて制御モードの切り換えを実行してもよい。つまり、制御条件設定部218は、優先指標に基づいて制御モードを切り換えてもよい。また、優先指標には、実行時間が含まれてもよい。
【0099】
例えば、図10に示す例では、移動経路N3において切削送りで軸の移動が制御された後、制御条件が切り換えられ、移動経路N4において早送りで軸の移動が制御される。このとき、制御条件の切り換えにわずかな時間がかかる。したがって、例えば、移動経路N4が短い場合、制御条件を切り換えずに、移動経路N3およびN4における制御を行った方が加工完了までの時間が短くなる。したがって、制御領域外の制御モードの切換条件の優先指標として、実行時間が設定されていると、加工プログラムの実行時間が短くなるように、制御領域外の制御モードが切削送りモードに切り換えられる。つまり、制御領域以外の少なくとも1つの移動経路において、軸の移動が早送りで制御されるよりも切削送りで制御された方がその移動経路における軸の移動が完了するまでの時間が短いと判定された場合、制御条件設定部は、その移動経路において制御条件を切削送りに設定してもよい。
【0100】
上述した実施形態では、制御条件設定部218は、制御領域以外の移動経路において、軸が早送りで制御されるよりも、切削送りで制御された方が加工完了までの時間が短いと判定された場合、制御領域以外の移動経路における制御条件を切削送りに設定する。これにより、制御条件の切り換え処理に掛かる負荷を削減することができる。また、ワークの加工時間を短縮することができる。
【符号の説明】
【0101】
1 工作機械
2 数値制御装置
201 CPU
202 バス
203 ROM
204 RAM
205 不揮発性メモリ
206 インタフェース
207 軸制御回路
208 スピンドル制御回路
209 PLC
210 I/Oユニット
211 プログラム記憶部
212 領域情報受付部
213 領域設定部
214 経路特定部
215 ブロック特定部
216 ブロック分割部
217 制御条件受付部
218 制御条件設定部
219 指令生成部
220 制御部
3 入出力装置
4 サーボアンプ
5 サーボモータ
6 スピンドルアンプ
61 電流計
7 スピンドルモータ
8 補助機器
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10