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

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

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

<>
  • 特許-数値制御装置 図1
  • 特許-数値制御装置 図2
  • 特許-数値制御装置 図3
  • 特許-数値制御装置 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-06
(45)【発行日】2025-01-15
(54)【発明の名称】数値制御装置
(51)【国際特許分類】
   G05B 19/404 20060101AFI20250107BHJP
【FI】
G05B19/404 G
【請求項の数】 4
(21)【出願番号】P 2023514212
(86)(22)【出願日】2021-04-13
(86)【国際出願番号】 JP2021015271
(87)【国際公開番号】W WO2022219701
(87)【国際公開日】2022-10-20
【審査請求日】2023-11-08
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100160794
【弁理士】
【氏名又は名称】星野 寛明
(72)【発明者】
【氏名】大西 庸士
【審査官】臼井 卓巳
(56)【参考文献】
【文献】国際公開第2017/221380(WO,A1)
【文献】米国特許出願公開第2014/0039666(US,A1)
【文献】特開平11-237920(JP,A)
【文献】特開2016-038701(JP,A)
【文献】特開2020-015130(JP,A)
【文献】国際公開第2018/066048(WO,A1)
【文献】米国特許第06060854(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/04-19/404
B23Q 15/00-15/18
(57)【特許請求の範囲】
【請求項1】
加工プログラムに基づいて工作機械の軸を駆動してワークを加工する数値制御装置であって、
予め設定された一方向からのみ位置決めを行う一方向位置決め動作からなる位置決め誤差解消動作付き位置決め指令ブロックのブロック解析時に、前記加工プログラムを先読みすることにより、最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令を判定する最終位置決め指令判定部と、
前記最終位置決め指令後の指令による移動方向を判定する位置決め後移動方向判定部と、
前記最終位置決め指令判定部及び前記位置決め後移動方向判定部の判定結果に基づいて、前記位置決め誤差解消動作をすべき軸を判定し、判定された前記位置決め誤差解消動作をすべき軸で前記一方向位置決め動作により位置決め誤差解消をするように動作決定する位置決め誤差解消動作決定部と、を備える、数値制御装置。
【請求項2】
前記位置決め誤差解消動作決定部は、前記位置決め誤差解消動作をすべき軸で位置決め誤差解消動作を開始可能なタイミングを判定し、判定されたタイミング以降に前記位置決め誤差解消動作をすべき軸で位置決め誤差解消をするように動作決定する、請求項1に記載の数値制御装置。
【請求項3】
前記位置決め誤差解消動作決定部は、その軸方向への移動が終了した軸を、前記位置決め誤差解消動作をすべき軸と判定する、請求項1又は2に記載の数値制御装置。
【請求項4】
加工プログラムに基づいて工作機械の軸を駆動してワークを加工する数値制御装置であって、
予め設定された一方向からのみ位置決めを行う一方向位置決め動作からなる位置決め誤差解消動作付き位置決め指令ブロックのブロック解析時に、前記加工プログラムを先読みすることにより、最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令を判定する最終位置決め指令判定部と、
前記最終位置決め指令判定部の判定結果に基づいて、前記位置決め誤差解消動作を開始可能なタイミングを判定し、判定されたタイミング以降に前記一方向位置決め動作により位置決め誤差解消をするように動作決定する位置決め誤差解消動作決定部と、を備える、数値制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、数値制御装置に関する。
【背景技術】
【0002】
従来、位置決めを最適なタイミングで行うことにより、サイクルタイムを短縮可能な数値制御装置が提案されている(例えば、特許文献1及び2参照)。
【0003】
ところで、例えばボールねじのバックラッシ等による反転方向位置決め誤差を解消して精密に位置決めをするために、最終的に一方向から位置決めをする機能が知られている。この一方向位置決めでは、予め設定された一方向からのみ位置決めが行われる。例えば、設定された一方向とは逆方向からの移動の場合には、終点を一旦通り過ぎてから反転し、該終点に向かって移動して位置決めをする。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2015-210563号公報
【文献】特開2009-282829号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、実際には、一方向位置決めが不要な場合が多く存在する。この場合において、一方向位置決め動作がモーダル指令に設定されていると、一方向位置決めが不要であるにも関わらず一方向位置決め動作をしてしまい、サイクルタイムを長くする原因となる。
【0006】
また、従来では、一方向位置決めの開始タイミングについて十分な検討がなされておらず、開始タイミングによってはサイクルタイムを長くする要因となる。
【0007】
従って、一方向位置決めのような位置決め誤差解消動作をより適切に動作させることでサイクルタイムを短縮できる技術が求められている。
【0008】
本開示は、より適切に位置決め誤差解消動作をさせつつ位置決めすることで、サイクルタイムを短縮できる数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の一態様は、加工プログラムに基づいて工作機械の軸を駆動してワークを加工する数値制御装置であって、位置決め誤差解消動作付き位置決め指令ブロックのブロック解析時に、前記加工プログラムを先読みすることにより、最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令を判定する最終位置決め指令判定部と、前記最終位置決め指令後の指令による移動方向を判定する位置決め後移動方向判定部と、前記最終位置決め指令判定部及び前記位置決め後移動方向判定部の判定結果に基づいて、位置決め誤差解消動作をすべき軸を判定し、判定された前記位置決め誤差解消動作をすべき軸で位置決め誤差解消をするように動作決定する位置決め誤差解消動作決定部と、を備える、数値制御装置である。
【0010】
また本開示の他の態様は、加工プログラムに基づいて工作機械の軸を駆動してワークを加工する数値制御装置であって、位置決め誤差解消動作付き位置決め指令ブロックのブロック解析時に、前記加工プログラムを先読みすることにより、最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令を判定する最終位置決め指令判定部と、前記最終位置決め指令判定部の判定結果に基づいて、位置決め誤差解消動作を開始可能なタイミングを判定し、判定されたタイミング以降に位置決め誤差解消をするように動作決定する位置決め誤差解消動作決定部と、を備える、数値制御装置である。
【発明の効果】
【0011】
本開示によれば、より適切に位置決め誤差解消動作をさせつつ位置決めすることで、サイクルタイムを短縮できる数値制御装置を提供することができる。
【図面の簡単な説明】
【0012】
図1】本開示の一実施形態に係る数値制御装置の構成を示すブロック図である。
図2】従来の数値制御プログラムの指令経路の一例を示す図である。
図3】本開示の一実施形態に係る数値制御プログラムの指令経路の一例を示す図である。
図4】本開示の一実施形態に係る数値制御装置の処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本開示の一実施形態について、図面を参照して詳細に説明する。
【0014】
本実施形態に係る数値制御装置1は、加工プログラムに基づいて工作機械の軸を駆動することにより、ワークを加工する。また、本実施形態に係る数値制御装置1は、例えばボールねじのバックラッシ等による反転方向位置決め誤差を解消し、精密に位置決めをするための位置決め誤差解消動作付き位置決め機能を有する。これにより、本実施形態に係る数値制御装置1は、最低限必要な位置決め誤差解消動作をしつつ位置決めをすることにより、サイクルタイムを短縮可能な数値制御装置である。
【0015】
図1は、本開示の一実施形態に係る数値制御装置1の構成を示すブロック図である。本実施形態に係る数値制御装置1は、いずれも図示しない、CPU、ROM、RAM、不揮発性メモリ、バス、軸制御回路、サーボアンプ、インタフェース等のハードウェア構成を有する。また、本実施形態に係る数値制御装置1には、いずれも図示しない、サーボモータや入出力装置等が接続される。
【0016】
図1に示されるように、本実施形態に係る数値制御装置1は、プログラム先読み部11と、プログラム解析部12と、分配処理部18と、を備える。
【0017】
また、本実施形態のプログラム解析部12は、位置決め誤差解消動作付き位置決め判定部13と、最終位置決め指令判定部14と、位置決め後移動方向判定部15と、位置決め誤差解消動作決定部16と、位置決め誤差解消動作指令生成部17と、を備える。
【0018】
プログラム先読み部11は、加工プログラムを実行することによる実際の加工に先立って、該加工プログラムをブロックごとに先読みする。先読みされた加工プログラムは、後述のプログラム解析部12によって解析され、ワークの加工経路が解析される。
【0019】
本実施形態のプログラム先読み部11は、プログラム解析部12により1ブロックずつ読み込みをしたときに、該ブロックが後述の位置決め誤差解消動作付き位置決め判定部13によって位置決め誤差解消動作付き位置決めブロックであると判定された場合に、加工プログラムの先読みを開始する。また、本実施形態のプログラム先読み部11は、後述の位置決め誤差解消動作指令生成部17によって位置決め誤差解消動作指令が生成された後に、加工プログラムの先読みを終了する。
【0020】
位置決め誤差解消動作付き位置決め判定部13は、プログラム解析部12により1ブロックずつ読み込みをしたときに、該ブロックが位置決め誤差解消動作付き位置決めブロックであるか否かを判定する。具体的には、該ブロックが、Gコード(G60)により規定される一方向位置決め動作指令ブロックであるか否かを判定する。
【0021】
最終位置決め指令判定部14は、プログラム解析部12による位置決め誤差解消動作付き位置決め指令ブロックのブロック解析時に、上述のプログラム先読み部11によって加工プログラムを先読みすることにより、最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令を判定する。具体的に、最終位置決め指令判定部14は、位置決めブロックが連続している場合に、連続する位置決めブロックのうち最終の位置決め指令ブロックを、最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令と判定する。
【0022】
位置決め後移動方向判定部15は、上述の最終位置決め指令判定部14によって判定された最終位置決め指令後の指令による移動方向を判定する。具体的に、位置決め後移動方向判定部15は、最終位置決め指令後の直線補間動作指令等の加工動作指令における移動方向を判定する。
【0023】
位置決め誤差解消動作決定部16は、上述の最終位置決め指令判定部14及び位置決め後移動方向判定部15の判定結果に基づいて、位置決め誤差解消動作をすべき軸を判定する。具体的に、位置決め誤差解消動作決定部16は、連続する位置決めブロックのうち最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令と、該指令後の指令の移動方向に基づいて、位置決め誤差解消動作をすべき軸を判定する。
【0024】
例えば、位置決め誤差解消動作決定部16は、その軸方向への移動が終了した軸を、位置決め誤差解消動作をすべき軸と判定してもよい。より詳しくは、位置決め誤差解消動作決定部16は、後の移動方向でない軸でそれまでに位置決め動作で移動させてその軸方向への移動が終了した軸を、位置決め誤差解消動作をすべき軸と判定してもよい。
【0025】
また、位置決め誤差解消動作決定部16は、判定された位置決め誤差解消動作をすべき軸で位置決め誤差解消をするように動作決定をする。具体的には、G60で規定される一方向位置決め動作等の位置決め誤差解消動作は、動作対象軸や方向、引き戻し量等の各種パラメータが設定されており、位置決め誤差解消動作決定部16は、例えばこれらのパラメータ設定に基づいて、位置決め誤差解消をするように動作決定をする。
【0026】
なお、位置決め誤差解消動作決定部16は、位置決め誤差解消動作をすべき軸で位置決め誤差解消動作を開始するタイミングを判定し、判定されたタイミング以降に位置決め誤差解消動作をすべき軸で位置決め誤差解消をするように動作決定してもよい。これにより、位置決め誤差解消動作を最適なタイミングで実行可能となる。
【0027】
具体的には、位置決め誤差解消動作決定部16は、最終位置決め指令後の指令が終了する前に、位置決め誤差解消動作が終了するように位置決め誤差解消動作を開始する。あるいは、位置決め誤差解消動作決定部16は、連続する位置決めブロックにおける次の位置決めブロックの移動開始と同時に、位置決め誤差解消動作をすべき軸で位置決め誤差解消動作を開始してもよい。
【0028】
位置決め誤差解消動作指令生成部17は、上述の位置決め誤差解消動作決定部16によって決定された位置決め誤差解消動作に基づいて、位置決め誤差解消動作指令を生成する。生成された位置決め誤差解消動作指令は、後述の分配処理部18に出力される。
【0029】
分配処理部18は、加工プログラム指令に基づいて補間移動指令を生成する。また、分配処理部18は、生成された補間移動指令と、上述の位置決め誤差解消動作指令生成部17で生成された位置決め誤差解消動作指令とを、各駆動軸に分配する分配指令を生成する。生成された分配指令は、図示しない移動指令出力部により出力される。
【0030】
次に、本実施形態に係る数値制御装置1の位置決め誤差解消動作付き位置決め機能について、詳しく説明する。
【0031】
本実施形態に係る数値制御装置1は、例えばボールねじのバックラッシ等による反転方向位置決め誤差を解消し、精密に位置決めをするための位置決め誤差解消動作付き位置決め機能を有する。位置決め誤差解消動作付き位置決め動作としては、例えば、最終的に一方向から位置決めをする一方向位置決め動作が挙げられる。
【0032】
一方向位置決め動作では、予め設定された一方向からのみ位置決め動作が行われる。例えば、設定された一方向とは逆方向からの移動の場合には、終点を一旦通り過ぎてから反転し、該終点に向かって移動して位置決めをする。
【0033】
一方向位置決め動作は、加工プログラムにおいてGコード(G60)により規定される。この一方向位置決め動作は、パラメータ設定により、ワンショットであるかモーダルであるかが選択される。また、一方向位置決めする軸、一方向位置決めの方向、反転する際の引き戻し量(オーバーランストローク)の大きさ等も、予めパラメータにより設定される。
【0034】
ここで、図2は、従来の数値制御プログラムの指令経路の一例を示す図である。図2では、XZ平面上における指令経路を示している。図2中、破線矢印で示される、シーケンス番号N01、N02、N06、N07及びN08の各ブロックは、位置決め(早送り)動作を表しており、Gコード(G00)で規定される。図2中、実線矢印で示される、シーケンス番号N03、N04、N05及びN09の各ブロックは、ワークを加工するための直線補間動作を表しており、Gコード(G01)で規定される。
【0035】
図2に示される例では、一方向位置決め動作は、X軸に対して図2中の右から左に向かう方向に位置決めするようにパラメータ設定されている。また、図2に示される例では、一方向位置決め動作は、Z軸に対して図2中の下から上に向かう方向に位置決めするようにパラメータ設定されている。そのため、例えば図2中に拡大して示すN08ブロックの最後では、予めパラメータ設定されたX軸方向の引き戻し量でX軸方向に引き戻された後、同じく予めパラメータ設定されたZ軸方向の引き戻し量でZ軸方向に引き戻されることで、G00終点に位置決めされる。
【0036】
ところが上述したように、実際の加工動作では、一方向位置決め動作が不要な場合が多く存在する。この場合において、一方向位置決め動作がモーダル指令に設定されていると、一方向位置決め動作が不要であるにも関わらず一方向位置決め動作をしてしまい、サイクルタイムを長くする原因となる。
【0037】
具体的に、G00の位置決め動作終了位置、即ち、次のG01の直線補間動作の開始位置での位置決めに影響しないG00終点では、一方向位置決め動作を実行する必要は無い。図2に示す例では、N07ブロックの最後がこれに該当する。即ち、図2に示されるように、N07ブロックの最後でX軸に対して一方向位置決め動作が実行されているが、次のN08ブロックでさらにX軸方向に移動しており、N07ブロックの最後は次のG01の直線補間動作の開始位置であるN09ブロックの開始位置での位置決めに影響しないため、N07ブロックの最後でX軸に対して一方向位置決め動作を実行する必要が無いことが分かる。
【0038】
また、G00の位置決め動作終了後、次のブロックで移動する軸については、一方向位置決め動作を実行する必要は無い。図2に示す例では、N02ブロックの最後及びN08ブロックの最後がこれに該当する。即ち、図2に示されるように、N02ブロックの次のブロックであるN03ブロックで移動する軸がZ軸であるため、N02ブロックの最後でZ軸に対して一方向位置決め動作を実行する必要は無い。同様に、N08ブロックの次のブロックであるN09ブロックで移動する軸がZ軸であるため、N08ブロックの最後でZ軸に対して一方向位置決め動作を実行する必要は無い。
【0039】
また、G00の位置決め動作における各ブロックの最後において、必ずしも一方向位置決め動作を実行する必要は無い。図2に示す例では、N01ブロックの最後がこれに該当する。即ち、図2に示されるように、N01ブロックの最後でX軸に対して一方向位置決め動作が実行されているが、サイクルタイム短縮の観点から、次のブロックであるN02ブロックのZ軸方向(図2中の上から下に向かう方向)の移動中にX軸の位置決め動作を実行すればよく、必ずしもN01ブロックの最後で一方向位置決め動作を実行完了してからN02の移動を開始する必要は無いからである。
【0040】
このように、実際の加工動作では一方向位置決め動作が不要な場合が多いため、一方向位置決め動作が最低限必要なブロックだけ一方向位置決め指令をすることが望ましい。ただし、一方向位置決め動作が最低限必要なブロックだけ一方向位置決め指令したとしても、上述のようにサイクルタイム短縮の観点で改善の余地が残る。また、一方向位置決め動作が必要な箇所を考えてプログラム作成するのは容易ではなく面倒である。
【0041】
これに対して本実施形態に係る数値制御装置1では、一方向位置決め動作等の位置決め誤差解消動作をすべき軸を自動で判定する。また、本実施形態に係る数値制御装置1では、位置決め誤差解消動作をすべき軸で位置決め誤差解消動作を開始するタイミングを自動で判定する。これにより、本実施形態によれば最低限必要な一方向位置決めを最適なタイミングで実行可能となっている。
【0042】
ここで、図3は、本実施形態に係る数値制御プログラムの指令経路の一例を示す図である。図2と同様に、図3では、XZ平面上における指令経路を示している。また、図3中、破線矢印で示される、シーケンス番号N01、N02、N06、N07及びN08の各ブロックは、位置決め(早送り)動作を表しており、Gコード(G00)で規定される。同様に図3中、実線矢印で示される、シーケンス番号N03、N04、N05及びN09の各ブロックは、加工するための直線補間動作を表しており、Gコード(G01)で規定される。図3に示される各ブロックの指令経路は、位置決め誤差解消動作指令を除いて、図2中の指令経路と同一の指令経路である。
【0043】
図2の説明で上述したように、N01ブロックの終了後、一方向位置決め動作が必要な軸はX軸のみである。位置決めブロックにおけるX軸の動作は、N01ブロックで終了し、次のN02ブロックでZ軸の動作が実行されるからである。ただし、上述したように必ずしもN01ブロックの最後で一方向位置決め動作を実行する必要は無い。これに対して本実施形態に係る数値制御装置1では、N01ブロックの動作完了後、X軸に対して一方向位置決め動作を実行可能と判定する。判定後、位置決め誤差解消動作指令を生成し、生成した位置決め誤差解消動作指令をN02ブロックの動作指令に重畳する。これにより、図3中の破線矢印で示されるように、従来のようにN01ブロックの最後にX軸の位置決め動作を実行するのではなく、N02ブロックのZ軸方向(図3中の上から下に向かう方向)の移動中に、X軸の位置決め動作を実行する。即ち、X軸の位置決め動作を行いながらZ軸方向(図3中の上から下に向かう方向)に移動するため、従来と比べてサイクルタイムが短縮される。
【0044】
また、図2の説明で上述したように、最終位置決め後のG01であるN03ブロックでは、動作がZ軸方向への移動であり、且つそれまでの位置決め動作でX軸及びZ軸の移動があるため、N02ブロックの最後では、Z軸に対して一方向位置決め動作は不要である。これに対して本実施形態に係る数値制御装置1では、N02ブロックの動作完了後、一方向位置決め動作を要実行とは判定せず、一方向位置決め動作を実行しないため、従来と比べてサイクルタイムが短縮される。
【0045】
また、図2の説明で上述したように、N07ブロックの最後は、次のN08ブロックでさらにX軸方向及びZ軸方向に移動しており、次のG01の直線補間動作の開始位置であるN09ブロックの開始位置での位置決めに影響しないため、N07ブロックの最後で一方向位置決め動作は不要である。これに対して本実施形態に係る数値制御装置1では、N07ブロックの動作完了後、一方向位置決め動作を実行可能とは判定せず、一方向位置決め動作を実行しないため、従来と比べてサイクルタイムが短縮される。
【0046】
また、図2の説明で上述したように、N08ブロックの最後において、一方向位置決め動作が必要な軸はX軸のみである。位置決めブロックにおけるX軸の動作は、N08ブロックで終了し、次のブロックであるN09ブロックで移動する軸がZ軸であるからである。これに対して、本実施形態に係る数値制御装置1では、N08ブロックの動作完了後、X軸に対して一方向位置決め動作を実行可能と判定する。判定後、位置決め誤差解消動作指令を生成し、生成された位置決め誤差解消動作指令に従って、図3中の破線矢印で示されるようにN08ブロックの動作完了後に位置決め誤差解消動作を実行する。これにより、最低限必要なX軸に対して一方向位置決め動作を実行でき、従来と比べてサイクルタイムが短縮される。
【0047】
次に、本実施形態に係る数値制御装置1の処理の手順について説明する。図4は、本実施形態に係る数値制御装置1の処理の手順を示すフローチャートである。本処理は、数値制御装置1による加工プログラム解析時に所定の周期で繰り返し実行される。
【0048】
ステップS1では、プログラム解析部12により、位置決め誤差解消動作完了フラグをTrueとする。その後、ステップS2に進む。なお、位置決め誤差解消動作完了フラグは、軸ごとに設定される。
【0049】
ステップS2では、プログラム解析部12により、加工プログラムの指令ブロックのうち、1ブロックを読み込む。その後、ステップS3に進む。
【0050】
ステップS3では、位置決め誤差解消動作付き位置決め判定部13により、ステップS2で読み込んだ1ブロックが、位置決め誤差解消動作付き位置決めブロックであるか否かを判別する。例えば、ステップS2で読み込んだ1ブロックが、Gコード(G60)により規定される一方向位置決め動作指令ブロックであるか否かを判別する。この判別がYESであればステップS4に進み、NOであればステップS13に進む。
【0051】
ステップS4では、プログラム解析部12により、位置決め誤差解消動作完了フラグがTrueであるか否かを判別する。この判別がYESであればステップS5に進み、NOであればステップS13に進む。
【0052】
ステップS5では、プログラム先読み部11により、加工プログラムの先読みを開始する。その後、ステップS6に進む。
【0053】
ステップS6では、最終位置決め指令判定部14により、位置決め誤差解消して位置決め完了すべき指令を判定する。具体的に、最終位置決め指令判定部14により、位置決めブロックが連続している場合に連続する位置決めブロックのうち最終の位置決め指令ブロックを、最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令と判定する。その後、ステップS7に進む。
【0054】
ステップS7では、位置決め後移動方向判定部15により、最終位置決め指令後の指令による移動方向を判定する。具体的に、位置決め後移動方向判定部15により、最終位置決め指令後の直線補間動作指令等の加工動作指令における移動方向を判定する。その後、ステップS8に進む。
【0055】
ステップS8では、位置決め誤差解消動作決定部16により、位置決め誤差解消動作をすべき軸を判定する。具体的に、位置決め誤差解消動作決定部16により、連続する位置決めブロックのうち最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令と、最終位置決め指令までに移動する軸と、該指令後の指令の移動方向に基づいて、位置決め誤差解消動作をすべき軸を判定する。その後、ステップS9に進む。
【0056】
ステップS9では、位置決め誤差解消動作決定部16により、位置決め誤差解消動作をすべき各軸に対して位置決め誤差解消動作を開始できるタイミングを判定する。その後、ステップS10に進む。
【0057】
ステップS10では、位置決め誤差解消動作指令生成部17により、位置決め誤差解消動作指令を生成する。具体的に、位置決め誤差解消動作決定部16により決定された位置決め誤差解消動作に基づいて、位置決め誤差解消動作指令を生成する。その後、ステップS11に進む。
【0058】
ステップS11では、プログラム解析部12により、位置決め誤差解消動作完了フラグをFalseとする。より詳しくは、ステップS8で位置決め誤差解消動作をすべき軸と判定された軸に対して、位置決め誤差解消動作完了フラグをFalseとする。その後、ステップS12に進む。
【0059】
ステップS12では、プログラム先読み部11による加工プログラムの先読みを終了する。その後、ステップS13に進む。
【0060】
ステップS13では、プログラム解析部12により、通常の指令ブロックの解析処理を実行する。その後、ステップS14に進む。
【0061】
ステップS14では、プログラム解析部12により、位置決め誤差解消動作が完了しているか否かを判別する。この判別がYESであればステップS15に進み、NOであればステップS16に進む。
【0062】
ステップS15では、プログラム解析部12により、位置決め誤差解消動作完了フラグをTrueとする。より詳しくは、ステップS14で位置決め誤差解消動作が完了していると判定された軸に対して、位置決め誤差解消動作完了フラグをTrueとする。その後、ステップS16に進む。
【0063】
ステップS16では、分配処理部18により、分配処理を実行する。具体的に、分配処理部18は、加工プログラムから生成された補間移動指令と、ステップS10で生成された位置決め誤差解消動作指令とを、各駆動軸に分配する分配指令を生成する。その後、ステップS2に戻る。
【0064】
本実施形態に係る数値制御装置1によれば、以下の効果が奏される。
【0065】
(1) 本実施形態に係る数値制御装置1は、位置決め誤差解消動作付き位置決め指令ブロックのブロック解析時に、加工プログラムを先読みすることにより、最終的に位置決め誤差を解消して位置決めを完了すべき最終位置決め指令を判定する最終位置決め指令判定部14と、最終位置決め指令後の指令による移動方向を判定する位置決め後移動方向判定部15と、最終位置決め指令判定部14及び位置決め後移動方向判定部15の判定結果に基づいて位置決め誤差解消動作をすべき軸を判定し、判定された位置決め誤差解消動作をすべき軸で位置決め誤差解消をするように動作決定する位置決め誤差解消動作決定部16と、を備える。
【0066】
これにより、最低限必要な一方向位置決めを実行でき、従来動作に比べてサイクルタイムを短縮できる。また、一方向位置決めが必要な箇所を考えながらプログラム作成するのは面倒であるところ、本実施形態に係る数値制御装置1によれば、位置決め誤差解消動作をすべき軸を自動で判定できるため、プログラム作成が容易となる。
【0067】
(2) また、本実施形態に係る数値制御装置1の位置決め誤差解消動作決定部16は、位置決め誤差解消動作をすべき軸で位置決め誤差解消動作を開始するタイミングを判定し、判定されたタイミング以降に位置決め誤差解消動作をすべき軸で位置決め誤差解消をするように動作決定する。これにより、上述した(1)の効果に加えて、位置決め誤差解消動作を最適なタイミングで実行することができる。
【0068】
(3) また、本実施形態に係る数値制御装置1の位置決め誤差解消動作決定部16は、その軸方向への移動が終了した軸を、位置決め誤差解消動作をすべき軸と判定する。これにより、上述した(1)及び(2)の効果がより確実に奏される。
【0069】
なお、本開示は、上記実施形態に限定されるものではなく、種々の変更及び変形が可能である。
【0070】
例えば、上記実施形態では、位置決め誤差解消動作として一方向位置決め動作を例に挙げて説明したが、これに限定されない。一方向位置決め動作以外の他の位置決め誤差解消動作に対しても本発明を適用可能である。
【0071】
また、上記実施形態と比べて位置決め誤差解消動作決定部の構成のみを変更した別の実施形態として、位置決め誤差解消動作すべき軸の判定をせずに、位置決め誤差解消動作を開始可能なタイミングを判定する構成としてもよい。この場合、位置決め誤差解消動作決定部は、最終位置決め指令判定部の判定結果に基づいて、位置決め誤差解消動作を開始可能なタイミングを判定し、判定されたタイミング以降に位置決め誤差解消をするように動作決定する。これにより、位置決め誤差解消動作を最適なタイミングで実行することができ、サイクルタイムを短縮できる。
【符号の説明】
【0072】
1 数値制御装置
11 プログラム先読み部
12 プログラム解析部
13 位置決め誤差解消動作付き位置決め判定部
14 最終位置決め指令判定部
15 位置決め後移動方向判定部
16 位置決め誤差解消動作決定部
17 位置決め誤差解消動作指令生成部
18 分配処理部
図1
図2
図3
図4