JP5496419B1 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP5496419B1
JP5496419B1 JP2013514435A JP2013514435A JP5496419B1 JP 5496419 B1 JP5496419 B1 JP 5496419B1 JP 2013514435 A JP2013514435 A JP 2013514435A JP 2013514435 A JP2013514435 A JP 2013514435A JP 5496419 B1 JP5496419 B1 JP 5496419B1
Authority
JP
Japan
Prior art keywords
command
spindle
time
analysis unit
program analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013514435A
Other languages
English (en)
Other versions
JPWO2013171850A1 (ja
Inventor
幸弘 井内
智典 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5496419B1 publication Critical patent/JP5496419B1/ja
Publication of JPWO2013171850A1 publication Critical patent/JPWO2013171850A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/182Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by the machine tool function, e.g. thread cutting, cam making, tool direction control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36056Modify program, machining order in real time, during operation, dynamically
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43041Prediction, look ahead deceleration control, calculate start deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49108Spindle speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

主軸回転速度を制御可能な工作機械の数値制御装置(1)であって、加工プログラム(6)を1ブロック以上先読みして工作機械に対する指令の解析を行うプログラム解析部(2)と、プログラム解析部(2)での解析結果に基づいて、主軸制御指令以後の指令について主軸回転速度変化中の実施により加工上何らかの問題が発生するか否かを判断し、加工上何らかの問題が発生する第一の指令は主軸回転速度が指令された回転速度に到達してから出力し、第一の指令以外の第二の指令は主軸回転速度が指令された回転速度到達前に出力する指令判定部(3)と、を備える。

Description

本発明は、主軸回転速度を制御可能な工作機械を数値制御(NC:Numerical Control)する数値制御装置に関する。
従来、数値制御装置が搭載された工作機械では、加工プログラムから主軸回転速度を指令することで加工が行われる。工作機械では、主軸回転速度を指令してから実際の主軸回転速度が指令された回転速度に到達するまでの間は加工をすることができず、待ち時間が発生し加工時間が長くなる。ここで、数値制御装置では、全ての指令に対して主軸回転速度の到達を待つ必要はない。例えば、切削指令の場合では主軸回転速度の到達を待つ必要があるが、位置決め指令のような非切削指令に対しては主軸回転速度の到達を待つ必要がない。各指令に対する待ちの判断は、ラダーを作成すれば実現可能であるが、ラダーは複雑であるため、作業者がラダーを修正するのは容易ではない。
例えば、下記特許文献1では、制御装置において、主軸回転速度が指令された回転速度に到達するのを待ち次ブロックを実行するか、主軸回転速度が指令された回転速度に到達しなくても次ブロックを実行するかを加工プログラムから指令して選択する技術が開示されている。
また、下記特許文献2では、数値制御装置において、切削指令が開始されるタイミングに合わせて主軸回転速度が指令された回転速度に到達するように主軸回転指令の出力タイミングを制御する技術が開示されている。
実開昭62−179605号公報 特開2011−118952号公報
しかしながら、上記特許文献1に記載の技術では、制御装置において、主軸回転速度が指令された回転速度に到達するのを待ち次ブロックを実行するように指令した場合には、位置決め指令といった非切削指令の場合にも主軸回転速度が指令された回転速度に到達するのを待つため、加工時間が延びてしまう、という問題があった。また、制御装置において、主軸回転速度が指令された回転速度に到達しなくても次ブロックを実行するように指令した場合には、切削指令の場合にも主軸回転速度が指令された回転速度に到達していなくても実行してしまうため、加工精度が悪化する、という問題があった。
また、上記特許文献2に記載の技術では、数値制御装置における制御は、無駄に主軸が回転しないようにして消費電力を節約することを目的としている。そのため、主軸回転指令の出力タイミングは加工プログラムで指定されたタイミングより遅く出力するのみであり、加工時間を短縮することはできない、という問題があった。
本発明は、上記に鑑みてなされたものであって、加工精度を悪化させることなく、工作機械での加工時間を短縮可能な数値制御装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、主軸回転速度を制御可能な工作機械の数値制御装置であって、加工プログラムを1ブロック以上先読みして前記工作機械に対する指令の解析を行うプログラム解析部と、前記プログラム解析部での解析結果に基づいて、主軸制御指令以後の指令について主軸回転速度変化中の実施により加工上何らかの問題が発生するか否かを判断し、加工上何らかの問題が発生する第一の指令は前記主軸回転速度が指令された回転速度に到達してから出力し、前記第一の指令以外の第二の指令は前記主軸回転速度が指令された回転速度到達前に出力する指令判定部と、を備えることを特徴とする。
本発明にかかる数値制御装置は、加工精度を悪化させることなく、工作機械での加工時間を短縮できる、という効果を奏する。
図1は、数値制御装置の構成例を示す図である。 図2は、実施の形態1に係る数値制御装置のプログラム解析部での処理手順を表すフローチャートである。 図3は、実施の形態1に係る数値制御装置の指令判定部での処理手順を表すフローチャートである。 図4は、実施の形態1において数値制御装置が処理する加工プログラム例を示す図である。 図5は、図4に示す加工プログラム例におけるタイムチャートである。 図6は、実施の形態2に係る数値制御装置のプログラム解析部での処理手順を表すフローチャートである。 図7は、実施の形態2に係る数値制御装置の指令判定部での処理手順を表すフローチャートである。 図8は、実施の形態2において数値制御装置が処理する加工プログラム例を示す図である。 図9は、図8に示す加工プログラム例におけるタイムチャートである。 図10は、実施の形態3に係る数値制御装置のプログラム解析部での処理手順を表すフローチャートである。 図11は、図4に示す加工プログラム例におけるタイムチャートである。 図12は、実施の形態4に係る数値制御装置のプログラム解析部での処理手順を表すフローチャートである。 図13は、実施の形態4に係る数値制御装置の指令判定部での処理手順を表すフローチャートである。 図14は、実施の形態4において数値制御装置が処理する加工プログラム例を示す図である。 図15は、図14に示す加工プログラム例におけるタイムチャートである。 図16は、数値制御装置が備える表示部における表示画面の例を示す図である。
以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本実施の形態に係る数値制御装置の構成例を示す図である。図1において、1は数値制御装置である。2はプログラム解析部、3は指令判定部、4は補間部、5は主軸制御指令出力部、6は加工プログラム、7は先読みバッファ、8はサーボアンプ、9は主軸アンプ、10は移動指令、11は移動量、12は主軸制御指令、13は主軸回転速度、14は実際の主軸回転速度である。
プログラム解析部2では、加工プログラム6を読み取って解析を行い、読み取った指令の解析結果を先読みバッファ7へ順次格納していく。先読みバッファ7には、プログラム解析部2における解析結果である、各ブロックのモーダル、各軸の移動量、主軸回転速度などの情報が格納される。また、先読みバッファ7に格納された情報は、指令された動作が完了すると削除される。指令判定部3では、先読みバッファ7に格納された各ブロックの情報を読み取り、各指令に応じた処理部へ指令を出力する。移動指令10は補間部4へ出力され、補間部4にて補間周期毎の移動量11を求め、サーボアンプ8へ出力される。移動指令10とは、切削指令や位置決め指令といった軸の動作を制御する指令であり、それらをまとめて移動指令10とする。また、主軸制御指令12は主軸制御指令出力部5へ出力され、主軸制御指令出力部5にて、主軸回転速度13が主軸アンプ9へ出力される。主軸制御指令12とは、主軸回転指令や主軸停止指令といった主軸の動作を制御する指令であり、それらをまとめて主軸制御指令12とする。また、主軸アンプ9から実際の主軸回転速度14が指令判定部3へ出力され、指令を出力するための判定に使用する。
図2は、本実施の形態に係る数値制御装置1のプログラム解析部2での処理手順を表すフローチャートである。プログラム解析部2は、ステップS101では、先読みバッファ7に指令が格納されているか否かを判断し、格納されていれば(ステップS101:Yes)処理を終了し、格納されていなければ(ステップS101:No)ステップS102へ進む。プログラム解析部2は、ステップS102では、主軸加減速時間T1、主軸制御指令からの時間T2を0クリアし、ステップS103へ進む。プログラム解析部2は、ステップS103では、加工プログラム6を読み取り、ステップS104へ進む。プログラム解析部2は、ステップS104では、読み取った指令が主軸制御指令12か否かを判断し、主軸制御指令12の場合には(ステップS104:Yes)ステップS105へ進み、主軸制御指令12でない場合には(ステップS104:No)処理を終了する。プログラム解析部2は、ステップS105では、後述する各ブロックの実行時間の算出方法に基づいて、主軸加減速時間T1を算出し、ステップS106へ進む。プログラム解析部2は、ステップS106では、次ブロックがあるかを判断し、次ブロックがあれば(ステップS106:Yes)ステップS107へ進み、次ブロックがなければ(ステップS106:No)処理を終了する。プログラム解析部2は、ステップS107では、次ブロックを読み取り、ステップS108へ進む。プログラム解析部2は、ステップS108では、主軸回転速度が変化すると問題ある指令か否かを判断し、問題ない指令の場合には(ステップS108:No)ステップS109へ進み、問題ある指令の場合には(ステップS108:Yes)処理を終了する。プログラム解析部2は、ステップS109では、後述する各ブロックの実行時間の算出方法に基づいて、読み取った指令の実行時間を算出し、ステップS110へ進む。プログラム解析部2は、ステップS110では、ステップS109で算出した実行時間を累積して主軸制御指令からの時間T2を算出し、ステップS111へ進む。プログラム解析部2は、ステップS111では、主軸加減速時間T1と主軸制御指令からの時間T2を比較し、主軸加減速時間T1の方が大きい場合には(ステップS111:No)ステップS106へ戻り、主軸制御指令からの時間T2の方が大きい場合には(ステップS111:Yes)処理を終了する。また、プログラム解析部2が読み取ったブロックの情報は、順次先読みバッファ7に格納される。
ここで、主軸回転速度が変化すると問題ある指令の判断方法について説明する。主軸回転速度が変化すると問題ある指令として、工具交換指令、切削指令が挙げられる。工具交換指令では通常主軸は停止した状態で行われ、主軸を回転させることはできない。また、切削指令ではワークを加工している状態であり、主軸回転速度が変化すると加工の精度が悪化してしまう。つまり、主軸回転指令以降の指令として、主軸回転速度が変化すると問題ある指令は切削指令であり、主軸回転指令以前の指令として、主軸回転速度が変化すると問題ある指令は切削指令および工具交換指令である。また、主軸停止指令以降の指令として、主軸回転速度が変化すると問題ある指令は工具交換指令であり、主軸停止指令以前の指令として、主軸回転速度が変化すると問題ある指令は切削指令である。また、工具交換指令および切削指令以外の指令で、主軸回転速度が変化すると問題ある指令については、予めパラメータ等に設定しておくことで判断する。ここでは、主軸回転速度が変化すると問題ある指令、すなわち、主軸回転速度変化中の実施により加工上何らかの問題(例えば、加工時間が延びる、加工精度が悪化する等)が発生する指令を第一の指令とし、主軸回転速度が変化しても問題のない指令、すなわち、加工上何らかの問題が発生する第一の指令以外の指令を第二の指令とする。
つぎに、プログラム解析部2における、各ブロックの実行時間の算出方法について説明する。位置決め指令の場合は予めパラメータに設定してある早送り速度、加減速時定数、加工プログラム6で指令された移動距離から算出する(実行時間=移動距離/早送り速度+加減速時定数)。また、Mコードの場合には、予めパラメータに実行時間を設定しておく。主軸制御指令12の場合には、予め設定してある最高回転速度、主軸の加減速時定数、加工プログラム6で指令された主軸回転速度、現在の主軸回転速度から算出する(実行時間=(|指令された主軸回転速度−現在の主軸回転速度|)×主軸の加減速時定数/最高回転速度)。
図3は、本実施の形態に係る数値制御装置1の指令判定部3での処理手順を表すフローチャートである。指令判定部3では、プログラム解析部2が解析を行って先読みバッファ7に格納されている指令の情報に基づいて順次処理していく。指令判定部3は、ステップS201では、先読みバッファ7から1つの指令を読み取り、ステップS202へ進む。指令判定部3は、ステップS202では、読み取った指令が主軸制御指令12か否かを判断し、主軸制御指令12の場合には(ステップS202:Yes)ステップS203へ進み、主軸制御指令12でない場合には(ステップS202:No)ステップS207へ進む。指令判定部3は、ステップS203では、読み取った指令である主軸制御指令12を出力し、ステップS204へ進む。指令判定部3は、ステップS204では、先読みバッファ7から読み取った指令である主軸制御指令12を削除し、ステップS205へ進む。指令判定部3は、ステップS205では、先読みバッファ7に次の指令が格納されているか否かを判断し、格納されていれば(ステップS205:Yes)ステップS206へ進み、格納されていなければ(ステップS205:No)処理を終了する。指令判定部3は、ステップS206では、先読みバッファ7から次の指令を読み取り、ステップS207へ進む。指令判定部3は、ステップS207では、読み取った指令が主軸回転速度が変化すると問題ある指令か否かを判断し、問題ある指令の場合には(ステップS207:Yes)ステップS208へ進み、問題ない指令の場合には(ステップS207:No)ステップS209へ進む。指令判定部3は、ステップS208では、実際の主軸回転速度14が指令された回転速度へ到達したかを判断し、到達していなければ(ステップS208:No)到達するのを待ち(ステップS208:Yes)ステップS209へ進む。指令判定部3は、ステップS209では、読み取った指令を出力して処理を終了する。
なお、指令判定部3では、読み取った指令が切削指令や位置決め指令といった移動指令10の場合には補間部4へ出力し、補間部4にて補間周期毎の移動量11を求めサーボアンプ8へ出力する。また、指令判定部3では、読み取った指令が主軸回転指令や主軸停止指令といった主軸制御指令12の場合には主軸制御指令出力部5へ出力し、主軸制御指令出力部5にて主軸回転速度13を主軸アンプ9へ出力する。また、図示していないが、移動指令10、主軸制御指令12以外の指令の場合にも各指令に対応した処理部にて処理されるものであり、従来の処理と同じである。
つづいて、具体的に、加工プログラム例を用いて図2および図3のフローチャートに従って数値制御装置1での処理の流れを説明する。図4は、本実施の形態において数値制御装置1が処理する加工プログラム例を示す図である。まず、プログラム解析部2では、ステップS101にて先読みバッファ7に指令が格納されていないことを確認し(ステップS101:No)、ステップS102にて主軸加減速時間T1、および主軸制御指令からの時間T2を0クリアし、ステップS103にてN101のブロックを読み取る。プログラム解析部2は、N101のブロックは切削指令であるため(ステップS104:No)、処理を終了する。このとき、先読みバッファ7には、N101の指令が格納される。
指令判定部3では、ステップS201にて先読みバッファ7に格納されたN101の指令を読み取る。指令判定部3は、N101の指令は切削指令であるため(ステップS202:No)、ステップS207:Yes、ステップS208:Yes、ステップS209と進み、切削指令を出力して処理を終了する。
プログラム解析部2は、N101の切削指令の動作が完了すると、ステップS101にて先読みバッファ7に指令が格納されていないことを確認し(ステップS101:No)、ステップS102にて主軸加減速時間T1、主軸制御指令からの時間T2を0クリアし、ステップS103にてN102のブロックを読み取る。プログラム解析部2は、N102のブロックは位置決め指令であるため(ステップS104:No)、処理を終了する。このとき、先読みバッファ7には、N102の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN102の指令を読み取る。指令判定部3は、N102の指令は位置決め指令であるため(ステップS202:No)、ステップS207:No、ステップS209と進み、位置決め指令を出力して処理を終了する。
プログラム解析部2は、N102の位置決め指令の動作が完了すると、ステップS101にて先読みバッファ7に指令が格納されていないことを確認し(ステップS101:No)、ステップS102にて主軸加減速時間T1、主軸制御指令からの時間T2を0クリアし、ステップS103にてN103のブロックを読み取る。プログラム解析部2は、N103のブロックは主軸停止指令であるため(ステップS104:Yes)、ステップS105と進み、主軸回転速度が指令された回転速度に到達するまでの到達時間である主軸加減速時間T1を算出し、ステップS106へ進む。プログラム解析部2は、ステップS106にて次ブロックがあることを確認し(ステップS106:Yes)、ステップS107にて次ブロックであるN104のブロックを読み取る。プログラム解析部2は、N104のブロックは工具交換位置復帰の位置決め指令であるため(ステップS108:No)、ステップS109と進み、N104のブロックの実行時間を算出して、ステップS110にて主軸制御指令からの時間T2を更新する。プログラム解析部2は、ステップS111にて主軸加減速時間T1と主軸制御指令からの時間T2を比較する。プログラム解析部2は、主軸加減速時間T1の方が大きいとして(ステップS111:No)、ステップS106へ戻る。
プログラム解析部2は、ステップS106にて次ブロックがあることを確認し(ステップS106:Yes)、ステップS107にて次ブロックであるN105のブロックを読み取る。プログラム解析部2は、ステップS108に進み、N105のブロックは工具交換指令であるため(ステップS108:Yes)、処理を終了する。このとき、先読みバッファ7には、N103、N104、N105の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN103の指令を読み取る。指令判定部3は、N103の指令は主軸停止指令であるため(ステップS202:Yes)、ステップS203、ステップS204と進み、主軸停止指令を出力し、先読みバッファ7から主軸停止指令を削除する。指令判定部3は、ステップS205にて先読みバッファ7に次の指令があることを確認し(ステップS205:Yes)、ステップS206にてN104の指令を読み取る。指令判定部3は、N104の指令は工具交換位置復帰の位置決め指令であるため(ステップS207:No)、ステップS209と進み、工具交換位置復帰の位置決め指令を出力して処理を終了する。
プログラム解析部2は、N104の工具交換位置復帰の位置決め指令の動作が完了すると、ステップS101にて先読みバッファ7には指令がまだ格納されているため(ステップS101:Yes)、処理を終了する。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN105の指令を読み取る。指令判定部3は、N105の指令は工具交換指令であるため(ステップS202:No)、ステップS207:Yes、ステップS208:Yes、ステップS209と進み、実際の主軸回転速度14が指令された回転速度、つまりゼロ速度になるのを待ち、工具交換指令を出力して処理を終了する。
プログラム解析部2は、N105の工具交換指令の動作が完了すると、ステップS101にて先読みバッファ7に指令が格納されていないことを確認し(ステップS101:No)、ステップS102にて主軸加減速時間T1、主軸制御指令からの時間T2を0クリアし、ステップS103にてN106のブロックを読み取る。プログラム解析部2は、N106のブロックは位置決め指令であるため(ステップS104:No)、処理を終了する。このとき、先読みバッファ7には、N106の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN106の指令を読み取る。指令判定部3は、N106の指令は位置決め指令であるため(ステップS202:No)、ステップS207:No、ステップS209と進み、位置決め指令を出力して処理を終了する。
次のN107のブロックも位置決め指令であるため、プログラム解析部2および指令判定部3は、N106のブロックと同様の処理を行う。
プログラム解析部2は、N107の位置決め指令の動作が完了すると、ステップS101にて先読みバッファ7に指令が格納されていないことを確認し(ステップS101:No)、ステップS102にて主軸加減速時間T1、主軸制御指令からの時間T2を0クリアし、ステップS103にてN108のブロックを読み取る。プログラム解析部2は、N108のブロックは主軸回転指令であるため(ステップS104:Yes)、ステップS105と進み、主軸加減速時間T1を算出しステップS106へ進む。プログラム解析部2は、ステップS106にて次ブロックがあることを確認し(ステップS106:Yes)、ステップS107にて次ブロックであるN109のブロックを読み取る。プログラム解析部2は、N109のブロックは位置決め指令であるため(ステップS108:No)、ステップS109と進み、N109のブロックの実行時間を算出して、ステップS110にて主軸制御指令からの時間T2を更新する。プログラム解析部2は、ステップS111にて主軸加減速時間T1と主軸制御指令からの時間T2を比較する。プログラム解析部2は、主軸加減速時間T1の方が大きいとして(ステップS111:No)、ステップS106へ戻る。
プログラム解析部2は、ステップS106にて次ブロックがあることを確認し(ステップS106:Yes)、ステップS107にて次ブロックであるN110のブロックを読み取る。プログラム解析部2は、N110のブロックは位置決め指令であるため(ステップS108:No)、ステップS109と進み、N110のブロックの実行時間を算出して、ステップS110にて主軸制御指令からの時間T2を更新する。プログラム解析部2は、ステップS111にて主軸加減速時間T1と主軸制御指令からの時間T2を比較する。プログラム解析部2は、主軸制御指令からの時間T2の方が大きい場合は(ステップS111:Yes)、処理を終了する。このとき、先読みバッファ7には、N108、N109、N110の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN108の指令を読み取る。N108の指令は主軸回転指令であるため(ステップS202:Yes)、ステップS203、ステップS204と進み、主軸回転指令を出力し、先読みバッファ7から主軸回転指令を削除する。指令判定部3は、ステップS205にて先読みバッファ7に次の指令があることを確認し(ステップS205:Yes)、ステップS206にてN109の指令を読み取る。指令判定部3は、N109の指令は位置決め指令であるため(ステップS207:No)、ステップS209と進み、位置決め指令を出力して処理を終了する。
プログラム解析部2は、N109の位置決め指令の動作が完了すると、ステップS101にて先読みバッファ7には指令がまだ格納されているため(ステップS101:Yes)、処理を終了する。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN110の指令を読み取る。指令判定部3は、N110の指令は位置決め指令であるため(ステップS202:No)、ステップS207:No、ステップS209と進み、位置決め指令を出力して処理を終了する。
プログラム解析部2は、N110の位置決め指令の動作が完了すると、ステップS101にて先読みバッファ7に指令が格納されていないことを確認し(ステップS101:No)、ステップS102にて主軸加減速時間T1、主軸制御指令からの時間T2を0クリアし、ステップS103にてN111のブロックを読み取る。プログラム解析部2は、N111のブロックは切削指令であるため(ステップS104:No)、処理を終了する。このとき、先読みバッファ7には、N111の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN111の指令を読み取る。指令判定部3は、N111の指令は切削指令であるため(ステップS202:No)、ステップS207:Yes、ステップS208:Yes、ステップS209と進み、実際の主軸回転速度14が指令された回転速度になるのを待ち、切削指令を出力して処理を終了する。
図5は、図4に示す加工プログラム例におけるタイムチャートである。図5(1)は従来動作を示し、図5(2)は本実施の形態での動作を示す。それぞれ、各ステップにおける、主軸回転速度、軸移動量、および工具交換動作の有無の関係を示すものである。従来動作では、主軸回転速度が指令された回転速度に到達して次ブロックへ進むかはラダーによって決まる。仮に、主軸回転速度が指令された回転速度に到達して次ブロックへ進むようになっていたとすると、図5(1)に示すようにN104、N109、N110の位置決め指令は主軸回転速度が指令された回転速度に到達してから実行される。これに対して、本実施の形態の動作では、ラダーによらず、図5(2)のようにN104、N109、N110の位置決め指令は主軸回転速度が指令された回転速度に到達していなくても実行され、また、N105の工具交換指令やN111の切削指令は、主軸回転速度が指令された回転速度に到達してから実行される。そのため、複雑なラダーを作成しなくても加工時間の短縮が可能となる。また、プログラム解析部2での先読みは、主軸回転速度が変化すると問題ある指令が出てくるか、または、主軸制御指令がなされてから主軸回転速度が変化すると問題ある指令までの時間が主軸回転速度が指令された回転速度に到達するまでの時間より大きくなれば終了するため、数値制御装置1での処理負荷の増加を抑えることができる。
以上説明したように、本実施の形態によれば、数値制御装置1において、主軸回転速度が変化すると問題ある指令の場合には、主軸回転速度が指令された回転速度に到達してから出力し、主軸回転速度が変化すると問題ある指令以外の場合には、主軸回転速度が指令された回転速度に到達していなくても出力することとした。これにより、複雑なラダーを作成せず、加工精度および機械に影響を与えることなく加工時間を短縮することができる。
また、プログラム解析部2において、先読みするブロック数を適切に決定することができ、数値制御装置の処理負荷の増加を抑えることができる。
実施の形態2.
図6は、本実施の形態に係る数値制御装置1のプログラム解析部2での処理手順を表すフローチャートである。図6のフローチャートは先に説明した図2のフローチャートと基本的に同じであるため、差分を中心に説明する。ステップS101、ステップS102、ステップS103は図2と同じである。プログラム解析部2は、ステップS301では、読み取った指令が主軸回転指令か否かを判断し、主軸回転指令の場合には(ステップS301:Yes)ステップS105へ進み、主軸回転指令でない場合には(ステップS301:No)処理を終了する。ステップS105、ステップS106、ステップS107は図2と同じである。プログラム解析部2は、ステップS302では、切削指令か否かを判断し、切削指令でない場合には(ステップS302:No)ステップS109へ進み、切削指令の場合には(ステップS302:Yes)処理を終了する。ステップS109、ステップS110は図2と同じである。
図7は、本実施の形態に係る数値制御装置1の指令判定部3での処理手順を表すフローチャートである。図7のフローチャートは先に説明した図3のフローチャートと基本的に同じであるため、差分を中心に説明する。ステップS201は図3と同じである。指令判定部3は、ステップS401では、読み取った指令が主軸回転指令か否かを判断し、主軸回転指令の場合には(ステップS401:Yes)ステップS402へ進み、主軸回転指令でない場合には(ステップS401:No)ステップS404へ進む。指令判定部3は、ステップS402では、主軸加減速時間T1と主軸制御指令からの時間T2を比較し、主軸加減速時間T1の方が大きい場合は(ステップS402:No)ステップS203へ進み、主軸制御指令からの時間T2の方が大きい場合には(ステップS402:Yes)ステップS403へ進む。指令判定部3は、ステップS403では、主軸加減速時間が主軸制御指令からの時間T2になるように主軸の加減速時定数の変更を行い、ステップS203へ進む。ステップS203、ステップS204、ステップS205、ステップS206は図3と同じである。指令判定部3は、ステップS404では、切削指令か否かを判断し、切削指令の場合には(ステップS404:Yes)ステップS208へ進み、切削指令でない場合には(ステップS404:No)ステップS209へ進む。ステップS208、ステップS209は図3と同じである。
つづいて、具体的に、加工プログラム例を用いて図6および図7のフローチャートに従って数値制御装置1での処理の流れを説明する。図8は、本実施の形態において数値制御装置1が処理する加工プログラム例を示す図である。まず、プログラム解析部2では、ステップS101にて先読みバッファ7に指令が格納されていないことを確認し(ステップS101:No)、ステップS102にて主軸加減速時間T1、主軸制御指令からの時間T2を0クリアし、ステップS103にてN201のブロックを読み取る。プログラム解析部2は、N201のブロックは工具交換指令であるため(ステップS301:No)、処理を終了する。このとき、先読みバッファ7には、N201の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN201の指令を読み取る。指令判定部3は、N201の指令は工具交換指令であるため(ステップS401:No)、ステップS404:No、ステップS209と進み、工具交換指令を出力して処理を終了する。
プログラム解析部2は、N201の工具交換指令の動作が完了すると、ステップS101にて先読みバッファ7に指令が格納されていないことを確認し(ステップS101:No)、ステップS102にて主軸加減速時間T1、主軸制御指令からの時間T2を0クリアし、ステップS103にてN202のブロックを読み取る。プログラム解析部2は、N202のブロックは位置決め指令であるため(ステップS301:No)、処理を終了する。このとき、先読みバッファ7には、N202の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN202の指令を読み取る。指令判定部3は、N202の指令は位置決め指令であるため(ステップS401:No)、ステップS404:No、ステップS209と進み、位置決め指令を出力して処理を終了する。
次のN203のブロックも位置決め指令であるため、プログラム解析部2および指令判定部3は、N202のブロックと同様の処理を行う。
プログラム解析部2は、N203の位置決め指令の動作が完了すると、ステップS101にて先読みバッファ7に指令が格納されていないことを確認し(ステップS101:No)、ステップS102にて主軸加減速時間T1、主軸制御指令からの時間T2を0クリアし、ステップS103にてN204のブロックを読み取る。プログラム解析部2は、N204のブロックは主軸回転指令であるため(ステップS301:Yes)、ステップS105と進み、主軸加減速時間T1を算出しステップS106へ進む。プログラム解析部2は、ステップS106にて次ブロックがあることを確認し(ステップS106:Yes)、ステップS107にて次ブロックであるN205のブロックを読み取る。プログラム解析部2は、N205のブロックは位置決め指令であるため(ステップS302:No)、ステップS109と進み、N205のブロックの実行時間を算出して、ステップS110にて主軸制御指令からの時間T2を更新し、ステップS106へ戻る。
プログラム解析部2は、ステップS106にて次ブロックがあることを確認し(ステップS106:Yes)、ステップS107にて次ブロックであるN206のブロックを読み取る。プログラム解析部2は、N206のブロックについても位置決め指令であるためN205のブロックと同様に処理する。また、プログラム解析部2は、N207のブロックについても位置決め指令であるため同様に処理する。
プログラム解析部2は、ステップS106にて次ブロックがあることを確認し(ステップS106:Yes)、ステップS107にて次ブロックであるN208のブロックを読み取る。プログラム解析部2は、N208のブロックは切削指令であるため(ステップS302:Yes)、処理を終了する。このとき、先読みバッファ7には、N204、N205、N206、N207、N208の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN204の指令を読み取る。指令判定部3は、N204の指令は主軸回転指令であるため(ステップS401:Yes)、ステップS402と進む。指令判定部3は、ステップS402にて、主軸加減速時間T1と主軸制御指令からの時間T2を比較し、主軸制御指令からの時間T2の方が大きいとすると(ステップS402:Yes)、ステップS403へ進む。指令判定部3は、ステップS403にて主軸の加減速時定数を変更し、ステップS203、ステップS204と進み、主軸回転指令を出力し、先読みバッファ7から主軸回転指令を削除する。ステップS205にて先読みバッファ7に次の指令があることを確認し(ステップS205:Yes)、ステップS206にてN205の指令を読み取る。指令判定部3は、N205の指令は位置決め指令であるため(ステップS404:No)、ステップS209と進み、位置決め指令を出力して処理を終了する。
プログラム解析部2は、N205の位置決め指令の動作が完了すると、ステップS101にて先読みバッファ7には指令がまだ格納されているため(ステップS101:Yes)、処理を終了する。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN206の指令を読み取る。N206の指令は位置決め指令であるため(ステップS401:No)、ステップS404:No、ステップS209と進み、位置決め指令を出力して処理を終了する。N207のブロックもN206のブロックと同様に処理される。
プログラム解析部2は、N207の位置決め指令の動作が完了すると、ステップS101にて先読みバッファ7には指令がまだ格納されているため(ステップS101:Yes)、処理を終了する。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN208の指令を読み取る。N208の指令は切削指令であるため(ステップS401:No)、ステップS404:Yes、ステップS208:Yes、ステップS209と進み、実際の主軸回転速度14が指令された回転速度であることを確認し、切削指令を出力して処理を終了する。
図9は、図8に示す加工プログラム例におけるタイムチャートである。図9(1)は従来動作を示し、図9(2)は本実施の形態での動作を示す。従来動作では、主軸回転指令がされてから切削指令がされるまでの時間(T2)までに主軸回転速度14を指令された回転速度にしていたため、主軸回転指令がされてから切削指令がされるまでの時間(T2)と比較して主軸加減速時間(T1)が極端に短い場合、無駄な加速動作によって消費電力を浪費していた。本実施の形態では、主軸回転指令がされてから切削指令がされるまでの時間(T2)が、主軸加減速時間(T1)よりも長い場合には、切削指令に間に合うように主軸加減速時間(T1)を延ばす。これにより、加工時間は変わらずに、消費電力を削減することができる。
以上説明したように、本実施の形態によれば、数値制御装置1において、主軸回転速度が指令された回転速度に到達するまでに必要な時間に余裕がある場合は、主軸の加減速時間を長くすることとした。これにより、実施の形態1の効果に加えて、消費電力を抑えることができる。
実施の形態3.
図10は、本実施の形態に係る数値制御装置1のプログラム解析部2での処理手順を表すフローチャートである。プログラム解析部2は、ステップS501では、先読みバッファ7に指令が格納されているか否かを判断し、格納されていれば(ステップS501:Yes)処理を終了し、格納されていなければ(ステップS501:No)ステップS502へ進む。プログラム解析部2は、ステップS502では、加工プログラム6を読み取り、ステップS503へ進む。プログラム解析部2は、ステップS503では、読み取った指令が主軸制御指令12か否かを判断し、主軸制御指令12の場合には(ステップS503:Yes)ステップS504へ進み、主軸制御指令12でない場合には(ステップS503:No)ステップS505へ進む。プログラム解析部2は、ステップS504では、主軸制御指令12を先読みバッファ7の先頭へ格納する。プログラム解析部2は、ステップS505では、主軸回転速度が変化すると問題ある指令か否かを判断し、問題ない指令の場合には(ステップS505:No)ステップS506へ進み、問題ある指令の場合には(ステップS505:Yes)処理を終了する。プログラム解析部2は、ステップS506では、次ブロックがあるかを判断し、次ブロックがあれば(ステップS506:Yes)ステップS507へ進み、次ブロックがなければ(ステップS506:No)処理を終了する。プログラム解析部2は、ステップS507では、次ブロックを読み取りステップS503へ戻る。また、プログラム解析部2が読み取ったブロックの情報は、順次先読みバッファ7に格納される。
なお、本実施の形態に係る数値制御装置1の指令判定部3での処理手順を表すフローチャートは、実施の形態1(図3参照)と同様である。
つづいて、具体的に、実施の形態1に係る加工プログラム例(図4参照)を用いて図10および図3のフローチャートに従って数値制御装置1での処理の流れを説明する。まず、プログラム解析部2では、ステップS501にて先読みバッファ7に指令が格納されていないことを確認し(ステップS501:No)、ステップS502にてN101のブロックを読み取る。プログラム解析部2は、N101のブロックは切削指令であるため(ステップS503:No)、ステップS505:Yesと進み、処理を終了する。このとき、先読みバッファ7には、N101の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN101の指令を読み取る。指令判定部3は、N101の指令は切削指令であるため(ステップS202:No)、ステップS207:Yes、ステップS208:Yes、ステップS209と進み、切削指令を出力して処理を終了する。
プログラム解析部2は、N101の切削指令の動作が完了すると、ステップS501にて先読みバッファ7に指令が格納されていないことを確認し(ステップS501:No)、ステップS502にてN102のブロックを読み取る。プログラム解析部2は、N102のブロックは位置決め指令であるため(ステップS503:No)、ステップS505:Noと進み、ステップS506にて次ブロックがあることを確認し(ステップS506:Yes)、ステップS507にて次ブロックであるN103のブロックを読み取る。プログラム解析部2は、N103のブロックは主軸停止指令であるため(ステップS503:Yes)、ステップS504と進み、主軸停止指令を先読みバッファ7の先頭に挿入して処理を終了する。このとき、先読みバッファ7には、N103、N102の順に指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN103の指令を読み取る。N103の指令は主軸停止指令であるため(ステップS202:Yes)、ステップS203、ステップS204と進み、主軸停止指令を出力して、先読みバッファ7から主軸停止指令を削除しておく。指令判定部3は、ステップS205にて先読みバッファ7に次の指令があることを確認し(ステップS205:Yes)、ステップS206にてN102の指令を読み取る。指令判定部3は、N102の指令は位置決め指令であるため(ステップS207:No)、ステップS209と進み、位置決め指令を出力して処理を終了する。
プログラム解析部2は、N102の位置決め指令の動作が完了すると、ステップS501にて先読みバッファ7に指令が格納されていないことを確認し(ステップS501:No)、ステップS502にてN104のブロックを読み取る。プログラム解析部2は、N104のブロックは位置決め指令であるため(ステップS503:No)、ステップS505:Noと進み、ステップS506にて次ブロックがあることを確認し(ステップS506:Yes)、ステップS507にて次ブロックであるN105のブロックを読み取る。プログラム解析部2は、N105のブロックは工具交換指令であるため(ステップS503:No)、ステップS505:Yesと進み、処理を終了する。このとき、先読みバッファ7には、N104、N105の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN104の指令を読み取る。N104の指令は位置決め指令であるため(ステップS202:No)、ステップS207:No、ステップS209と進み、位置決め指令を出力して、処理を終了する。指令判定部3は、N104の位置決め指令の動作が完了すると、ステップS201にて先読みバッファ7に格納されたN105の指令を読み取る。指令判定部3は、N105の指令は工具交換指令であるため(ステップS202:No)、ステップS207:Yes、ステップS208:Yes、ステップS209と進み、実際の主軸回転速度14が指令された回転速度、つまりゼロ速度になるのを待ち、工具交換指令を出力して処理を終了する。
プログラム解析部2は、N105の工具交換指令の動作が完了すると、ステップS501にて先読みバッファ7に指令が格納されていないことを確認し(ステップS501:No)、ステップS502にてN106のブロックを読み取る。プログラム解析部2は、N106のブロックは位置決め指令であるため(ステップS503:No)、ステップS505:Noと進み、ステップS506にて次ブロックがあることを確認し(ステップS506:Yes)、ステップS507にて次ブロックであるN107のブロックを読み取る。プログラム解析部2は、N107のブロックは位置決め指令であるため(ステップS503:No)、ステップS505:Noと進み、ステップS506にて次ブロックがあることを確認し(ステップS506:Yes)、ステップS507にて次ブロックであるN108のブロックを読み取る。プログラム解析部2は、N108のブロックは主軸回転指令であるため、ステップS503(ステップS503:Yes)、ステップS504と進み、主軸回転指令を先読みバッファ7の先頭に挿入して処理を終了する。このとき、先読みバッファ7には、N108、N106、N107の順に指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN108の指令を読み取る。指令判定部3は、N108の指令は主軸回転指令であるため(ステップS202:Yes)、ステップS203、ステップS204と進み、主軸回転指令を出力して、先読みバッファ7から主軸回転指令を削除しておく。指令判定部3は、ステップS205にて先読みバッファ7に次の指令があることを確認し(ステップS205:Yes)、ステップS206にてN106の指令を読み取る。指令判定部3は、N106の指令は位置決め指令であるため(ステップS207:No)、ステップS209と進み、位置決め指令を出力して処理を終了する。指令判定部3は、N106の位置決め指令の動作が完了すると、ステップS201にて先読みバッファ7に格納されたN107の指令を読み取る。指令判定部3は、N107の指令は位置決め指令であるため(ステップS202:No)、ステップS207:No、ステップS209と進み、位置決め指令を出力して処理を終了する。
プログラム解析部2は、N107の位置決め指令の動作が完了すると、ステップS501にて先読みバッファ7に指令が格納されていないことを確認し(ステップS501:No)、ステップS502にてN109のブロックを読み取る。プログラム解析部2は、N109のブロックは位置決め指令であるため(ステップS503:No)、ステップS505:Noと進み、ステップS506にて次ブロックがあることを確認し(ステップS506:Yes)、ステップS507にて次ブロックであるN110のブロックを読み取る。プログラム解析部2は、N110のブロックは位置決め指令であるため(ステップS503:No)、ステップS505:Noと進み、ステップS506にて次ブロックがあることを確認し(ステップS506:Yes)、ステップS507にて次ブロックであるN111のブロックを読み取る。プログラム解析部2は、N111のブロックは切削指令であるため(ステップS503:No)、ステップS505:Yesと進み、処理を終了する。このとき、先読みバッファ7には、N109、N110、N111の指令が格納される。
指令判定部3は、ステップS201にて先読みバッファ7に格納されたN109の指令を読み取る。指令判定部3は、N109の指令は位置決め指令であるため(ステップS202:No)、ステップS207:No、ステップS209と進み、位置決め指令を出力して処理を終了する。指令判定部3は、N109の位置決め指令の動作が完了すると、ステップS201にて先読みバッファ7に格納されたN110の指令を読み取る。指令判定部3は、N110の指令は位置決め指令であるため(ステップS202:No)、ステップS207:No、ステップS209と進み、位置決め指令を出力して処理を終了する。指令判定部3は、N110の位置決め指令の動作が完了すると、ステップS201にて先読みバッファ7に格納されたN111の指令を読み取る。指令判定部3は、N111の指令は切削指令であるため(ステップS202:No)、ステップS207:Yes、ステップS208:Yes、ステップS209と進み、実際の主軸回転速度14が指令された回転速度に到達するのを待ち、切削指令を出力して処理を終了する。
図11は、図4に示す加工プログラム例におけるタイムチャートである。図11(1)は従来動作を示し、図11(2)は本実施の形態での動作を示す。従来動作では、主軸回転速度が指令された回転速度に到達して次ブロックへ進むかはラダーによって決まる。仮に、主軸回転速度が指令された回転速度に到達して次ブロックへ進むようになっていたとすると、図11(1)に示すようにN104、N109の位置決め指令は主軸回転速度が指令された回転速度に到達してから実行される。これに対して、本実施の形態の動作では、ラダーによらず、図11(2)のようにN104、N109の位置決め指令は主軸回転速度が指令された回転速度に到達していなくても実行され、また、N105の工具交換指令やN111の切削指令は、主軸回転速度が指令された回転速度に到達してから実行される。そのため、複雑なラダーを作成しなくても加工時間の短縮が可能となる。さらに、N103の主軸停止指令はN101の切削指令が完了すれば出力されるため、N105の工具交換指令を実行するまでの待ち時間を短縮することができる。
なお、工具交換指令および切削指令以外の指令として、主軸制御指令以前の指令について予め先出し禁止指令として設定することも可能である。この場合、指令判定部3は、主軸制御指令以前の指令が予め先出し禁止指令として設定された指令か否かを判断し、先出し禁止指令以外の場合、主軸制御指令を加工プログラム6で指定されたタイミングより先に出力する。
以上説明したように、本実施の形態によれば、数値制御装置1において、主軸回転速度が変化すると問題ある指令以外の場合には、主軸制御指令を加工プログラムで指定したタイミングよりも先に出力することとした。これにより、複雑なラダーを作成せず、加工および機械に影響を与えることなく加工時間を短縮することができる。
実施の形態4.
図12は、本実施の形態に係る数値制御装置1のプログラム解析部2での処理手順を表すフローチャートである。プログラム解析部2は、ステップS601では、先読みバッファ7に指令が格納されているか否かを判断し、格納されていれば処理を終了し(ステップS601:Yes)、格納されていなければ(ステップS601:No)ステップS602へ進む。プログラム解析部2は、ステップS602では、主軸加減速時間T1、主軸制御指令からの時間T2、主軸制御指令までの時間T3、主軸制御指令出力タイミングTsを0クリアし、主軸制御指令フラグをOFFし、ステップS603へ進む。プログラム解析部2は、ステップS603では、加工プログラム6を読み取りステップS604へ進む。プログラム解析部2は、ステップS604では、読み取った指令が主軸回転指令か否かを判断し、主軸回転指令でない場合には(ステップS604:No)ステップS605へ進み、主軸回転指令の場合には(ステップS604:Yes)ステップS610へ進む。プログラム解析部2は、ステップS605では、読み取った指令が主軸回転速度が変化すると問題ある指令か否かを判定し、問題ある場合には(ステップS605:Yes)処理を終了し、問題ない場合には(ステップS605:No)ステップS606へ進む。プログラム解析部2は、ステップS606では、読み取った指令の実行時間を算出し、ステップS607へ進む。プログラム解析部2は、ステップS607では、ステップS606で算出した実行時間を累積して主軸制御指令までの時間T3を算出し、ステップS608へ進む。プログラム解析部2は、ステップS608では、次ブロックがあるか否かを判断し、ある場合には(ステップS608:Yes)ステップS609へ進み、ない場合には(ステップS608:No)処理を終了する。プログラム解析部2は、ステップS609では、次ブロックを読み取りステップS604へ戻る。
また、プログラム解析部2は、ステップS610では、主軸制御指令フラグをONし、主軸加減速時間T1を算出し、ステップS611へ進む。プログラム解析部2は、ステップS611では、次ブロックがあるかを判断し、次ブロックがあれば(ステップS611:Yes)ステップS612へ進み、次ブロックがなければ(ステップS611:No)処理を終了する。プログラム解析部2は、ステップS612では、次ブロックを読み取り、ステップS613へ進む。プログラム解析部2は、ステップS613では、読み取ったブロックが主軸回転速度が変化すると問題ある指令か否かを判断し、問題ある場合には(ステップS613:Yes)ステップS616へ進み、問題ない場合には(ステップS613:No)ステップS614へ進む。プログラム解析部2は、ステップS614では、読み取った指令の実行時間を算出し、ステップS615へ進む。プログラム解析部2は、ステップS615では、ステップS614で算出した実行時間を累積して主軸制御指令からの時間T2を算出し、ステップS611へ戻る。プログラム解析部2は、ステップS616では、主軸加減速時間T1、主軸制御指令からの時間T2、主軸制御指令までの時間T3から主軸制御指令出力タイミングTsを算出し(Ts=T3−(T1−T2))、処理を終了する。また、プログラム解析部2が読み取ったブロックの情報および算出した実行時間は、順次先読みバッファ7に格納される。
図13は、本実施の形態に係る数値制御装置1の指令判定部3での処理手順を表すフローチャートである。指令判定部3では、プログラム解析部2が解析を行って先読みバッファ7に格納されている指令の情報に基づいて順次処理していく。指令判定部3は、ステップS701では、主軸制御指令フラグがONか否かを判断し、ONの場合には(ステップS701:Yes)ステップS702へ進み、OFFの場合には(ステップS701:No)ステップS712へ進む。指令判定部3は、ステップS702では、先読みバッファ7から1つの指令を読み取りステップS703へ進む。指令判定部3は、ステップS703では、読み取った指令が主軸回転指令か否かを判断し、主軸回転指令の場合には(ステップS703:Yes)ステップS704へ進み、主軸回転指令でない場合には(ステップS703:No)ステップS713へ進む。指令判定部3は、ステップS704では、主軸回転指令を出力し、ステップS705へ進む。指令判定部3は、ステップS705では、先読みバッファ7から主軸回転指令を削除し、ステップS706へ進む。指令判定部3は、ステップS706では、主軸制御指令フラグをOFFし、ステップS707へ進む。指令判定部3は、ステップS707では、先読みバッファ7に次の指令が格納されているか否かを判断し、格納されていれば(ステップS707:Yes)ステップS708へ進み、格納されていなければ(ステップS707:No)処理を終了する。指令判定部3は、ステップS708では、先読みバッファ7から次の指令を読み取り、ステップS709へ進む。指令判定部3は、ステップS709では、読み取った指令が主軸回転速度が変化すると問題ある指令か否かを判断し、問題ある場合には(ステップS709:Yes)ステップS710へ進み、問題ない場合には(ステップS709:No)ステップS711へ進む。指令判定部3は、ステップS710では、実際の主軸回転速度14が指令された回転速度へ到達したかを判断し、到達していなければ(ステップS710:No)到達するのを待ち(ステップS710:Yes)ステップS711へ進む。指令判定部3は、ステップS711では、読み取った指令を出力して処理を終了する。指令判定部3は、ステップS712では、先読みバッファ7から1つの指令を読み取りステップS709へ進む。
また、指令判定部3は、ステップS713では、読み取った指令を出力し、ステップS714へ進む。指令判定部3は、ステップS714では、主軸制御指令出力タイミングTsから読み取った指令の実行時間を減算し、ステップS715へ進む。指令判定部3は、ステップS715では、主軸制御指令出力タイミングTsが0以下か否かを確認し、0以下であれば(ステップS715:Yes)ステップS716へ進み、0以下でなければ(ステップS715:No)処理を終了する。指令判定部3は、ステップS716では、主軸回転指令を出力し、ステップS717へ進む。指令判定部3は、ステップS717では、先読みバッファ7から主軸回転指令を削除しステップS718へ進む。指令判定部3は、ステップS718では、主軸制御指令フラグをOFFして処理を終了する。
つづいて、具体的に、加工プログラム例を用いて図12および図13のフローチャートに従って数値制御装置1での処理の流れを説明する。図14は、本実施の形態において数値制御装置1が処理する加工プログラム例を示す図である。まず、プログラム解析部2では、ステップS601にて先読みバッファ7に指令が格納されていないことを確認し(ステップS601:No)、ステップS602にて、主軸加減速時間T1、主軸制御指令からの時間T2、主軸制御指令までの時間T3、主軸制御指令出力タイミングTsを0クリア、主軸制御指令フラグをOFFする。プログラム解析部2は、ステップS603にて、N301のブロックを読み取る。プログラム解析部2は、N301のブロックは工具交換指令であるため(ステップS604:No)、ステップS605:Yesと進み、処理を終了する。このとき、先読みバッファ7には、N301の指令が格納される。
指令判定部3は、ステップS701にて、主軸制御指令フラグがONかを確認し、主軸制御指令フラグはOFFしているため(ステップS701:No)、ステップS712へ進む。指令判定部3は、ステップS712にて先読みバッファ7に格納されたN301の指令を読み取る。指令判定部3は、N301の指令は工具交換指令であるため(ステップS709:No)、ステップS711へ進み、指令を出力して処理を終了する。
プログラム解析部2は、ステップS601にて先読みバッファ7に指令が格納されていないことを確認し(ステップS601:No)、ステップS602にて、主軸加減速時間T1、主軸制御指令からの時間T2、主軸制御指令までの時間T3、主軸制御指令出力タイミングTsを0クリア、主軸制御指令フラグをOFFする。プログラム解析部2は、ステップS603にて、N302のブロックを読み取る。
プログラム解析部2は、N302のブロックは位置決め指令であるため(ステップS604:No)、ステップS605:No、ステップS606と進み、ブロック実行時間を算出し、ステップS607にて、主軸制御指令までの時間T3を算出する。プログラム解析部2は、ステップS608にて、次ブロックがあることを確認し(ステップS608:Yes)、ステップS609にてN303のブロックを読み取る。
プログラム解析部2は、N303のブロックも位置決め指令であるため(ステップS604:No)、N302のブロックと同様、ステップS605:No、ステップS606、ステップS607と進み、N303のブロックのブロック実行時間を算出し、主軸制御指令までの時間T3を更新する。プログラム解析部2は、ステップS608:Yes、ステップS609と進み、N304のブロックを読み取る。
プログラム解析部2は、N304のブロックは主軸回転指令であるため(ステップS604:Yes)、ステップS610と進み、主軸制御指令フラグをONし、主軸加減速時間T1を算出する。プログラム解析部2は、ステップS611:Yes、ステップS612と進み、N305のブロックを読み取る。プログラム解析部2は、N305のブロックは位置決め指令であるため(ステップS613:No)、ステップS614と進み、ブロック実行時間を算出し、ステップS615にて、主軸制御指令からの時間T2を算出する。
プログラム解析部2は、ステップS611に戻って、ステップS611:Yes、ステップS612と進み、N306のブロックを読み取る。プログラム解析部2は、N306のブロックも位置決め指令であるため(ステップS613:No)、N305のブロックと同様、ステップS614と進み、ブロック実行時間を算出し、ステップS615にて、主軸制御指令からの時間T2を算出する。
プログラム解析部2は、ステップS611に戻って、ステップS611:Yes、ステップS612と進み、N307のブロックを読み取る。プログラム解析部2は、N307のブロックは切削指令であるため(ステップS613:Yes)、ステップS616と進み、主軸制御指令出力タイミングTsを算出して処理を終了する。このとき、先読みバッファ7には、N30からN307までの指令が格納され、また、N302、N303、N305、N306のブロックに対しては、ブロック実行時間も格納される。
指令判定部3は、先読みバッファ7に格納されたN30からN307までの指令を順次処理していく
指令判定部3は、ステップS701にて、主軸制御指令フラグがONかを確認し、主軸制御指令フラグはONしているため(ステップS701:Yes)、ステップS702へ進む。指令判定部3は、ステップS702にて、N302の指令を読み取る。指令判定部3は、N302は位置決め指令であるため(ステップS703:No)、ステップS713と進み、指令を出力する。指令判定部3は、ステップS714にて、主軸制御指令出力タイミングTsからN302のブロック実行時間を減算する。指令判定部3は、ステップS715にて、主軸制御指令出力タイミングTsが0以下かを判断する。指令判定部3は、現時点では主軸制御指令出力タイミングTsは0以下でないとして(ステップS715:No)、処理を終了する。
指令判定部3は、N302の指令が完了すると、ステップS701:Yes、ステップS702と進み、N303の指令を読み取る。指令判定部3は、N303は位置決め指令であるため(ステップS703:No)、ステップS713と進み、指令を出力する。指令判定部3は、ステップS714にて、主軸制御指令出力タイミングTsからN303のブロック実行時間を減算する。指令判定部3は、ステップS715にて、現時点で主軸制御指令出力タイミングTsは0以下になったとして(ステップS715:Yes)、ステップS716へ進み、主軸回転指令(N304)を出力し、ステップS717へ進み、先読みバッファ7から主軸回転指令(N304)を削除し、ステップS718へ進み、主軸制御指令フラグをOFFして処理を終了する。
指令判定部3は、N303の指令が完了すると、ステップS701:No、ステップS712と進み、N305の指令を読み取る。指令判定部3は、N305の指令は位置決め指令であるため(ステップS709:No)、ステップS711へ進み、指令を出力して処理を終了する。
指令判定部3は、N305の指令が完了すると、ステップS701:No、ステップS712へ進み、N306の指令を読み取る。指令判定部3は、N306の指令は位置決め指令であるため(ステップS709:No)、ステップS711へ進み、指令を出力して処理を終了する。
指令判定部3は、N306の指令が完了すると、ステップS701:No、ステップS712へ進み、N307の指令を読み取る。指令判定部3は、N307の指令は切削指令であるため、ステップS709:Yes、ステップS710へ進み、実際の主軸回転速度14が指令された回転速度に到達するのを待つ。指令判定部3は、実際の主軸回転速度14が指令された回転速度に到達すれば、ステップS711へ進み、指令を出力して処理を終了する。
図15は、図14に示す加工プログラム例におけるタイムチャートである。図15(1)は従来動作を示し、図15(2)は本実施の形態での動作を示す。従来動作では、主軸回転速度が指令された回転速度に到達して次ブロックへ進むかはラダーによって決まる。仮に、主軸回転速度が指令された回転速度に到達して次ブロックへ進むようになっていたとすると、図15(1)に示すようにN305、N306の位置決め指令は主軸回転速度が指令された回転速度に到達してから実行される。また、N304の主軸回転指令もN303の移動が完了してから出力される。これに対して、本実施の形態の動作では、ラダーによらず、図15(2)のようにN305、N306の位置決め指令は主軸回転速度が指令された回転速度に到達していなくても実行され、また、N307の切削指令は主軸回転速度が指令された回転速度に到達してから実行される。そのため、複雑なラダーを作成しなくても加工時間の短縮が可能となる。さらに、N304の主軸回転指令は、N307の切削指令の開始するタイミングに合わせて主軸回転速度が指令された回転速度に到達するように出力されるため、N307の切削指令を実行するまでの待ち時間を短縮することができる。
以上説明したように、本実施の形態によれば、数値制御装置1において、主軸制御指令を先出し、主軸回転速度が変化すると問題ある指令時に主軸回転速度が指令された回転速度に到達するまでの待ち時間をなくすこととした。これにより、加工時間を短縮することができる。
なお、数値制御装置1では、表示部を備え、表示部の画面上に、加工プログラムで指定したタイミングの変更情報を作業者に出力するようにしてもよい。図16は、数値制御装置1が備える表示部における表示画面の例を示す図である。
図16(1)は、従来における数値制御装置の画面の表示例を示す図である。画面20には、機械位置等の位置情報21、モーダルの状態等のモーダル情報22、切削速度や主軸回転速度等の加工情報23、加工プログラム情報24等が表示されている。主軸制御指令12を加工プログラムで指定したタイミングから変更して出力する場合には、作業者に出力するタイミングの変更がわかるように画面20から通知する。
図16(2)は、本実施の形態における数値制御装置の画面の表示例を示す図である。主軸制御指令の出力タイミングを変更した様子を示す。主軸制御指令12を加工プログラムで指定したタイミングから変更して出力する場合、加工プログラム情報24を2分割し、一方には元の加工プログラムを表示する。このとき、変更する主軸制御指令12は元の表示より薄く表示する。もう一方には、出力するタイミングに合わせ、変更する主軸制御指令12を表示する。このように、画面から変更するタイミングを通知することで、作業者は機械の動作を把握することができ、安心して作業することができる。
1 数値制御装置
2 プログラム解析部
3 指令判定部
4 補間部
5 主軸制御指令出力部
6 加工プログラム
7 先読みバッファ
8 サーボアンプ
9 主軸アンプ
10 移動指令
11 移動量
12 主軸制御指令
13 主軸回転速度
14 実際の主軸回転速度
20 画面
21 位置情報
22 モーダル情報
23 加工情報
24 加工プログラム情報

Claims (7)

  1. 主軸回転速度を制御可能な工作機械の数値制御装置であって、
    加工プログラムを1ブロック以上先読みして前記工作機械に対する指令の解析を行い、主軸制御指令以前の指令について主軸回転速度変化中の実施により加工上何らかの問題が発生するか否かを判断し、加工上何らかの問題が発生する指令以外の指令の場合、前記主軸制御指令の順番を前記加工上何らかの問題が発生する指令以外の指令より先の順番として順番を入れ替えて各指令をバッファに記憶するプログラム解析部と、
    前記バッファに記憶されている指令の順番に従って、前記主軸制御指令を前記加工プログラムで指定されたタイミングより先に出力する指令判定部と、
    を備えることを特徴とする数値制御装置。
  2. 前記プログラム解析部は、前記主軸制御指令が主軸回転指令の場合に、前記主軸回転指令以前の指令が切削指令または工具交換指令か否かを判断し、前記切削指令以外の指令であって前記工具交換指令以外の指令の場合、前記主軸回転指令の順番を先の順番として順番を入れ替えて各指令をバッファに記憶し、
    前記指令判定部は、前記主軸回転指令を前記加工プログラムで指定されたタイミングより先に出力する、
    ことを特徴とする請求項1に記載の数値制御装置。
  3. 前記プログラム解析部は、前記主軸制御指令が主軸停止指令の場合に、前記主軸停止指令以前の指令が切削指令か否かを判断し、前記切削指令以外の指令の場合、前記主軸停止指令の順番を先の順番として順番を入れ替えて各指令をバッファに記憶し、
    前記指令判定部は、前記主軸停止指令を前記加工プログラムで指定されたタイミングより先に出力する、
    ことを特徴とする請求項1に記載の数値制御装置。
  4. 主軸回転速度を制御可能な工作機械の数値制御装置であって、
    加工プログラムを1ブロック以上先読みして前記工作機械に対する指令の解析を行い、主軸制御指令以前および以後の指令について主軸回転速度変化中の実施により加工上何らかの問題が発生するか否かを判断し、前記主軸制御指令の開始から前記主軸回転速度が指令された回転速度に到達するまでの主軸加減時間である第一の時間前記加工プログラム上での前記主軸制御指令終了以後において、加工上何らかの問題が発生する第一の指令以外の第二の指令および第一の指令がある場合に、当該第二の指令の開始から当該第一の指令の開始までの第二の指令の実行時間の累積時間であって主軸制御指令からの時間である第二の時間、および前記加工プログラム上での前記主軸制御指令開始以前において、第二の指令の開始から当該主軸制御指令の開始までの第二の指令の実行時間の累積時間であって主軸制御指令までの時間である第三の時間を算出し、前記第一の時間前記第二の時間、および前記第三の時間を用いて主軸制御指令出力タイミングを算出するプログラム解析部と、
    前記主軸制御指令出力タイミングの範囲内で前記主軸制御指令を前記加工プログラムで指定されたタイミングより先に出力する指令判定部と、
    を備えることを特徴とする数値制御装置。
  5. 前記プログラム解析部は、前記主軸制御指令が主軸回転指令の場合に、前記主軸回転指令以前の指令が切削指令または工具交換指令か否かを判断し、前記主軸回転指令以後の指令が切削指令か否かを判断し、前記第一の時間前記主軸回転指令以後において第二の指令の開始から切削指令の開始までの前記第二の時間、および前記主軸回転指令以前において切削指令または工具交換指令の終了であって第二の指令の開始から当該主軸回転指令の開始までの前記第三の時間を算出して前記主軸制御指令出力タイミングを算出し、
    前記指令判定部は、前記主軸制御指令出力タイミングの範囲内で前記主軸回転指令を前記加工プログラムで指定されたタイミングより先に出力する、
    ことを特徴とする請求項4に記載の数値制御装置。
  6. 前記プログラム解析部は、前記主軸制御指令が主軸停止指令の場合に、前記主軸停止指令以前の指令が切削指令か否かを判断し、前記主軸停止指令以後の指令が工具交換指令か否かを判断し、前記第一の時間前記主軸停止指令以後において第二の指令の開始から前記工具交換指令の開始までの前記第二の時間、および前記主軸停止指令以前において前記切削指令の終了であって第二の指令の開始から当該主軸停止指令の開始までの前記第三の時間を算出して前記主軸制御指令出力タイミングを算出し、
    前記指令判定部は、前記主軸制御指令出力タイミングの範囲内で前記主軸停止指令を前記加工プログラムで指定されたタイミングより先に出力する、
    ことを特徴とする請求項4に記載の数値制御装置。
  7. 前記主軸制御指令を前記加工プログラムで指定されたタイミングよりも先に出力する場合に、当該主軸制御指令を出力するタイミングを表示する表示部、
    を備えることを特徴とする請求項1〜6までのいずれか1つに記載の数値制御装置。
JP2013514435A 2012-05-15 2012-05-15 数値制御装置 Active JP5496419B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/062431 WO2013171850A1 (ja) 2012-05-15 2012-05-15 数値制御装置

Publications (2)

Publication Number Publication Date
JP5496419B1 true JP5496419B1 (ja) 2014-05-21
JPWO2013171850A1 JPWO2013171850A1 (ja) 2016-01-07

Family

ID=49583295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013514435A Active JP5496419B1 (ja) 2012-05-15 2012-05-15 数値制御装置

Country Status (6)

Country Link
US (1) US9798312B2 (ja)
JP (1) JP5496419B1 (ja)
CN (1) CN104303118B (ja)
DE (1) DE112012006379B4 (ja)
TW (1) TWI493306B (ja)
WO (1) WO2013171850A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5715195B2 (ja) * 2013-07-03 2015-05-07 ファナック株式会社 プログラム実行ペースを指定できるモーションコントローラ
JP5820000B2 (ja) * 2014-02-21 2015-11-24 ファナック株式会社 テーブル形式データによる運転を行う数値制御装置
JP6034835B2 (ja) 2014-08-26 2016-11-30 ファナック株式会社 サイクルタイムを短縮するための情報を提示する数値制御装置
JP6298010B2 (ja) * 2015-06-09 2018-03-20 ファナック株式会社 加減速設定自動切換機能を備えた数値制御装置
US10120363B2 (en) 2016-02-29 2018-11-06 Fanuc Corporation Numerical controller for machine tool
JP6444938B2 (ja) * 2016-05-12 2018-12-26 ファナック株式会社 条件指定による加工プログラム先読み開始機能を備えた数値制御装置
US10437234B2 (en) * 2016-06-20 2019-10-08 Mitsubishi Electric Corporation Machining time calculating apparatus and machining time calculating method
JP6453923B2 (ja) 2017-02-28 2019-01-16 ファナック株式会社 数値制御装置および工作機械システム
JP7020367B2 (ja) * 2018-10-26 2022-02-16 ブラザー工業株式会社 数値制御装置
JP6997131B2 (ja) * 2019-04-05 2022-01-17 ファナック株式会社 数値制御装置
JP7332443B2 (ja) * 2019-11-20 2023-08-23 ファナック株式会社 ロボット制御装置及びロボット制御方法
JP7270851B1 (ja) * 2022-05-24 2023-05-10 三菱電機株式会社 数値制御装置、数値制御システム、および、数値制御方法
WO2024003990A1 (ja) * 2022-06-27 2024-01-04 ファナック株式会社 プログラム最適化装置及び記憶媒体
WO2024003972A1 (ja) * 2022-06-27 2024-01-04 ファナック株式会社 プログラム最適化装置及び記憶媒体

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0290302A (ja) * 1988-09-28 1990-03-29 Okuma Mach Works Ltd 数値制御情報作成方式
JPH03222012A (ja) * 1990-01-26 1991-10-01 Nakamuratome Seimitsu Kogyo Kk 2主軸対向型cnc旋盤及びワーク加工方法
JPH06282318A (ja) * 1993-03-25 1994-10-07 Mitsubishi Electric Corp 数値制御工作機械
JPH0740187A (ja) * 1993-07-29 1995-02-10 Star Micronics Co Ltd Nc加工機の制御装置
JPH11300577A (ja) * 1998-04-22 1999-11-02 Murata Mach Ltd 工作機械
WO2002067068A1 (fr) * 2001-02-22 2002-08-29 Mitsubishi Denki Kabushiki Kaisha Procede de commande numerique et dispositif associe
JP2003330517A (ja) * 2002-05-16 2003-11-21 Brother Ind Ltd 数値制御装置、工具制御方法および工具制御用プログラム
JP2007233624A (ja) * 2006-02-28 2007-09-13 Star Micronics Co Ltd 工作機械の数値制御装置
JP2009282829A (ja) * 2008-05-23 2009-12-03 Mitsubishi Electric Corp 数値制御装置
JP2010026920A (ja) * 2008-07-23 2010-02-04 Fanuc Ltd 加工プログラムの付加情報を表示する数値制御装置
JP2010033150A (ja) * 2008-07-25 2010-02-12 Okuma Corp 数値制御工作機械
JP2011118952A (ja) * 2011-03-23 2011-06-16 Mitsubishi Electric Corp 数値制御方法及びその装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62179605U (ja) 1986-04-28 1987-11-14
JPH05261645A (ja) * 1992-03-19 1993-10-12 Fanuc Ltd Ncデータ作成方式
JPH0628318A (ja) * 1992-07-07 1994-02-04 Sharp Corp モジュールデータ管理装置
EP0766154B1 (en) 1992-12-28 2000-03-29 Mitsubishi Denki Kabushiki Kaisha Numerically controlled machine tool and method
JPH1148072A (ja) 1997-08-07 1999-02-23 Brother Ind Ltd 工作機械
JPH11202926A (ja) 1998-01-14 1999-07-30 Makino Milling Mach Co Ltd 数値制御における送り速度制御方法および装置
WO2000012258A1 (fr) * 1998-08-28 2000-03-09 Mori Seiki Co., Ltd. Procede et dispositif d'optimisation de programme de commande numerique d'usinage
JP2002283186A (ja) * 2001-03-27 2002-10-03 Toshiba Mach Co Ltd 工作機械、工作機械の数値制御装置および振動防止方法
JP3904945B2 (ja) * 2002-02-28 2007-04-11 スター精密株式会社 Ncプログラムのための最適データ変換方法および数値制御工作機械
US7110851B2 (en) * 2003-02-20 2006-09-19 Mitsubishi Denki Kabushiki Kaisha Numerically controlled device
JP2007179314A (ja) * 2005-12-28 2007-07-12 Star Micronics Co Ltd 工作機械及びそのプログラム変換方法
DE112006000330T5 (de) * 2006-07-26 2009-06-04 Mitsubishi Electric Corp. Numerische Steuerungsvorrichtung
JP5532306B2 (ja) 2010-01-13 2014-06-25 Dmg森精機株式会社 工作機械
JP5357082B2 (ja) * 2010-02-23 2013-12-04 スター精密株式会社 工作機械の制御装置および運転制御方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0290302A (ja) * 1988-09-28 1990-03-29 Okuma Mach Works Ltd 数値制御情報作成方式
JPH03222012A (ja) * 1990-01-26 1991-10-01 Nakamuratome Seimitsu Kogyo Kk 2主軸対向型cnc旋盤及びワーク加工方法
JPH06282318A (ja) * 1993-03-25 1994-10-07 Mitsubishi Electric Corp 数値制御工作機械
JPH0740187A (ja) * 1993-07-29 1995-02-10 Star Micronics Co Ltd Nc加工機の制御装置
JPH11300577A (ja) * 1998-04-22 1999-11-02 Murata Mach Ltd 工作機械
WO2002067068A1 (fr) * 2001-02-22 2002-08-29 Mitsubishi Denki Kabushiki Kaisha Procede de commande numerique et dispositif associe
JP2003330517A (ja) * 2002-05-16 2003-11-21 Brother Ind Ltd 数値制御装置、工具制御方法および工具制御用プログラム
JP2007233624A (ja) * 2006-02-28 2007-09-13 Star Micronics Co Ltd 工作機械の数値制御装置
JP2009282829A (ja) * 2008-05-23 2009-12-03 Mitsubishi Electric Corp 数値制御装置
JP2010026920A (ja) * 2008-07-23 2010-02-04 Fanuc Ltd 加工プログラムの付加情報を表示する数値制御装置
JP2010033150A (ja) * 2008-07-25 2010-02-12 Okuma Corp 数値制御工作機械
JP2011118952A (ja) * 2011-03-23 2011-06-16 Mitsubishi Electric Corp 数値制御方法及びその装置

Also Published As

Publication number Publication date
JPWO2013171850A1 (ja) 2016-01-07
CN104303118B (zh) 2016-10-12
US9798312B2 (en) 2017-10-24
DE112012006379T5 (de) 2015-01-29
US20150134100A1 (en) 2015-05-14
CN104303118A (zh) 2015-01-21
TW201346476A (zh) 2013-11-16
DE112012006379B4 (de) 2016-09-15
TWI493306B (zh) 2015-07-21
WO2013171850A1 (ja) 2013-11-21

Similar Documents

Publication Publication Date Title
JP5496419B1 (ja) 数値制御装置
US9851709B2 (en) Numerical control device
EP2639003B1 (en) Wire electric discharge machine controller for correcting machining route using program commands
US10324444B2 (en) Numerical controller including tool retracting function for avoidance of interference
JP5339999B2 (ja) 干渉チェック機能を有する数値制御装置
US10048675B2 (en) Numerical controller performing 3-dimensional interference check corresponding to feedrate change
JP6450732B2 (ja) 数値制御装置
JP6423811B2 (ja) 加工情報に応じて加工条件を変更可能な数値制御装置
JP4796936B2 (ja) 加工制御装置
JP2001125613A (ja) 数値制御シミュレーション装置
US10444728B2 (en) Numerical controller performing positioning for avoiding interference with workpiece
JP4216808B2 (ja) 数値制御装置
JP2009053744A (ja) 制御情報を記録する機能を備えた数値制御装置
JP6151667B2 (ja) 重畳制御の速度制御機能を有する数値制御装置
JP6105548B2 (ja) 干渉回避位置決め機能を備えた数値制御装置
JP6062971B2 (ja) スカイビング加工指令に基づいて工作機械を制御する数値制御装置
JP2020003958A (ja) 数値制御装置
US10996655B2 (en) Numerical controller
WO2016051555A1 (ja) 数値制御装置
JP5143661B2 (ja) Nc旋盤の制御方法及び制御装置
JPH05313729A (ja) 数値制御装置
JP2001312309A (ja) 数値制御工作機械及びその加減速制御方法
JP4982170B2 (ja) 加工制御装置および加工制御プログラム
JP2010039993A (ja) Nc旋盤の制御方法及び制御装置
JP7355951B1 (ja) 制御装置及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140304

R150 Certificate of patent or registration of utility model

Ref document number: 5496419

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250