JP6363643B2 - プログラム指令の解析桁数を増やすことを可能とする数値制御装置 - Google Patents

プログラム指令の解析桁数を増やすことを可能とする数値制御装置 Download PDF

Info

Publication number
JP6363643B2
JP6363643B2 JP2016042774A JP2016042774A JP6363643B2 JP 6363643 B2 JP6363643 B2 JP 6363643B2 JP 2016042774 A JP2016042774 A JP 2016042774A JP 2016042774 A JP2016042774 A JP 2016042774A JP 6363643 B2 JP6363643 B2 JP 6363643B2
Authority
JP
Japan
Prior art keywords
program
unit
area
areas
divided
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
JP2016042774A
Other languages
English (en)
Other versions
JP2017157172A (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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2016042774A priority Critical patent/JP6363643B2/ja
Priority to DE102017001783.2A priority patent/DE102017001783B4/de
Priority to US15/446,468 priority patent/US10416645B2/en
Priority to CN201710128470.XA priority patent/CN107153404B/zh
Publication of JP2017157172A publication Critical patent/JP2017157172A/ja
Application granted granted Critical
Publication of JP6363643B2 publication Critical patent/JP6363643B2/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/00Program-control systems
    • G05B19/02Program-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 program data in numerical form
    • G05B19/41Numerical 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 program data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-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 program data in numerical form
    • G05B19/19Numerical 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 program data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-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 program data in numerical form
    • G05B19/408Numerical 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 program data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4086Coordinate conversions; Other special calculations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • 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/34Director, elements to supervisory
    • G05B2219/34083Interpolation general
    • 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/34Director, elements to supervisory
    • G05B2219/34085Software interpolator
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41481Divide command, block in subcommands, subblocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Numerical Control (AREA)

Description

本発明は、数値制御装置に関し、特にプログラム指令の解析桁数を増やすことを可能とする数値制御装置に関する。
一般的に数値制御装置の内部演算では、プログラム指令における軸指令(X123.456789など)の解釈においては、あらかじめ小数点以下何桁までを解釈するかを設定しておく(例えば、特許文献1〜5)。以下では、この設定値を最小設定単位と呼ぶ。
プログラムフォーマットとしては小数点以下の桁数は、最小設定単位よりも細かく記述をすることが可能である(X123.45678912など)。そのため、数値制御装置では、プログラム指令を小数点以下何桁指令されても、最小設定単位で丸めて扱っていた。
最小設定単位は、以下に示す数値制御装置の外部的な要因及び内部的な要因に基づいて決定される。
●[外部的要因1:画面上への表示領域、入力領域による制限]
数値制御装置において、例えばより細かい桁の座標位置を解釈できるようにするために最小設定単位で設定される小数点以下の桁数を増やすと、1つ1つの値での指令桁数が多くなる。指令桁数が多くなりすぎると、プログラム表示や位置表示などの桁数が多くなり過ぎて取扱いが煩雑になる。また、パラメータやオフセットデータなども、最小設定単位と連動していることが多いので、これらも必要以上に桁数が多くなってしまう。
●[外部的要因2:機械のストローク長、設定単位毎に可能なストローク長による制限]
機械では、加工領域の大きさに応じたストローク長が必要となる。ストローク長を維持したまま最小設定単位で設定される小数点以下の桁数を増やすと、内部演算において1つの値に必要となるデータ長(ビット数)を大きくせざるを得なくなり、一方で、内部処理における1つの値のデータ長を固定したまま最小設定単位で設定される小数点以下の桁数を増やそうとするとストローク長を小さくしなければならなくなる。
●[外部的要因3:検出器の分解能による制限]
加工領域内におけるワークの位置や工具の位置を検出する位置検出器の分解能よりも細かい桁数が解釈できるように最小設定単位で設定される小数点以下の桁数を増やした場合、仮にプログラム中で細かい桁の座標位置を指令したとしても、指令された座標位置の最小桁を検出器が検出できないため、指令された細かい桁の座標位置に正確に位置決めすることができない。一方で、検出器の分解能よりも最小設定単位で設定される小数点以下の桁数が多い場合には、検出器の分解能の範囲内で最小設定単位で設定される小数点以下の桁数を増やすことで精度向上が見込める。
●[内部的要因1:数値制御装置の演算レジスタのレジスタ長による制限]
演算レジスタのレジスタ長が32ビットである場合、1つの値を表現するために符号付き単精度整数型を用いると−2147483648〜+2147483647の範囲を表現することができる。ここで、32ビットレジスタ長の数値制御装置の内部演算において、mm単位の1つの値を符号付き単精度整数型で最小設定単位を小数点以下6桁として表現した場合、−2147.483648mm〜+2147.483647mmの範囲の座標位置を表現できるようになる。また、最小設定単位を小数点以下7桁として表現した場合には、−214.7483648〜+214.7483647の範囲の座標位置を表現できるようになる。このような数値制御装置において、制御対象となる機械のストロークの範囲を変えずに最小設定単位で設定される小数点以下の桁数を増やそうとする場合は、符号付き単精度整数型に代えて符号付き倍精度整数型などを用いる必要がある。
●[内部的要因2:リソース(処理時間やメモリ消費量)による制限]
内部的要因1で示したように、制御対象となる機械のストローク長を変えずに最小設定単位で設定される小数点以下の桁数を増やす場合には、内部演算においてより多くのデータを取り扱う必要が出てくるため、必然的に演算の処理時間やメモリの消費量が増加する。しかしながら、数値制御装置が備えるCPUの演算速度やデータの転送速度には限界があるため、安易に演算桁数を増やすと機械を制御するためのデータを生成する処理が制御動作の周期内で終了しなくなる可能性がある。
特許第3023648号公報 特公平08−030974号公報 特開平05−181522号公報 特開平05−282022号公報 特開平11−175229号公報
数値制御装置においては、上記した各要因を総合的に検討し、最小設定単位で設定する小数点以下の桁数を現実的な範囲で定めている。例えば、数値制御装置の内部演算を32ビットの符号付き単精度整数値で行うものとすると、上記したように最小設定単位を小数点以下6桁とした場合には−2147.483648mm〜+2147.483647mm(図9に示すように、ストローク±2m程度)の範囲の座標位置を表現できるようになる。そして、制御対象となる機械のストロークが±2m以内に収まるのであれば、当該機械を制御する上で問題は生じないため、最小設定単位で設定する小数点以下の桁数は6桁に設定される。
ところで、上記のように設定されている数値制御装置が制御する機械の検出器の分解能が0.000001mm以下である場合、指令をもっと細かい桁まで解釈し、演算を行い、最終的なパルスの分配も細かい桁まで行わせることで精度向上が望める。しかしながら、単純に最小設定単位で設定する小数点以下の桁数を7桁とすると、上記したように数値制御装置で扱えるストロークは−214.7483648〜+214.7483647(ストローク±0.2m程度)となる。そのため、機械のストローク長として±2mを確保したい場合でも、数値制御装置側の制限でストロークが最大±0.2mになってしまい、加工を行う機械として成り立たなくなってしまう。すなわち、高精度な検出器を備えた高精度な機械を制御対象とした場合であっても数値制御装置がこれに対応できなければ精度の高い加工を行うことができない。一方で、多くのリソースを備え、内部演算で高精度な値の解釈及び演算を行える数値制御装置は高価であり導入にコストがかかるという問題がある。
そこで本発明の目的は、数値制御装置のリソースの増加を抑えた上で、最小設定単位より下位の桁まで解釈することが可能な数値制御装置を提供することである。
本願の請求項1に係る発明は、少なくとも1つの駆動軸を制御して加工領域に設置されたワークを加工する機械を少なくとも1つのブロックからなるプログラムに基づいて制御する数値制御装置において、前記加工領域を分割した場合の複数のエリアに係る情報である分割情報を設定する分割設定部と、前記分割情報に基づいて前記複数のエリアにおける仮想的座標系を設定するエリア座標系設定部と、前記分割情報に基づいて演算精度を設定する演算精度設定部と、前記分割情報に基づいて前記プログラムを分割した分割プログラムを前記仮想的座標系と前記演算精度とに従って解析し、解析した結果に基づいて前記機械の動作を指令する指令データを出力する指令解析部と、前記指令データに基づいて、補間周期毎の移動経路上の前記駆動軸の位置を示す補間データを前記仮想的座標系と前記演算精度とに従って算出する補間部と、前記補間データに対して補間周期毎の前記駆動軸の速度を前記仮想的座標系と前記演算精度とに従って調整する加減速部と、を備えたことを特徴とする数値制御装置である。
本願の請求項2に係る発明は、前記プログラムと、前記分割情報とに基づいて、それぞれの前記エリアにおける加工制御に用いられる分割プログラムを生成するプログラム分割部と、を備えたことを特徴とする請求項1に記載された数値制御装置である。
本願の請求項3に係る発明は、前記プログラム分割部は、前記プログラムに含まれる複数のブロックの内で、前記駆動軸を移動を指令するブロックについて、当該移動が前記複数のエリアの内の2以上のエリアにまたがる場合には、当該移動の経路を前記2以上のエリア上の複数の経路へと分割して当該分割した複数の経路の移動を指令する複数のブロックを生成し、前記複数のブロックのそれぞれを前記2以上のエリアのそれぞれにおける加工制御に用いられるそれぞれのプログラムへと挿入する、ことにより分割プログラムを生成する、ことを特徴とする請求項2に記載された数値制御装置。
本発明により、処理速度やメモリの増大を抑えた上で、プログラムの移動指令の解釈を行う桁数を増やすことができる。そしてその結果として、設定単位より検出器の分解能の方が小さい場合は、より細かく正確なパルス分配が可能となり、加工物の精度向上が望める。また、設定単位としては従来のままなので、位置表示などの取扱いは、従来どおりとすることも可能であり、また桁数を増やして扱うことも可能である。
本発明の数値制御装置の内部演算処理における解析桁数を増やす方法の概要を説明する図である。 本発明の数値制御装置によりワークを加工する工作機械を示す図である。 本発明の加工領域のエリア分割方法の例を示す図である。 本発明のプログラムに含まれる直線補間を指令するブロックの分割方法について説明する図である。 本発明のプログラムに含まれる円弧補間を指令するブロックの分割方法について説明する図である。 本発明のプログラム分割方法により図4のプログラムを分割した分割プログラムの例を示す図である。 本発明の一実施形態による数値制御装置の要部構成図である。 本発明の一実施形態による数値制御装置の概略的な機能ブロック図である。 従来技術の数値制御装置によりワークを加工する工作機械を示す図である。
以下、本発明の実施形態を図面と共に説明する。
本発明の数値制御装置は、図1に示すように加工領域を複数のエリアへと分割し、分割した加工範囲毎に加工を行うための分割されたプログラムを元のプログラムに基づいて生成する。そして、本発明の数値制御装置は分割されたプログラムに基づいて機械を制御してワークを加工する。それぞれの分割されたプログラムに基づいて加工されるエリアは加工領域全体よりも小さくなるため、数値制御装置の内部演算処理に用いるレジスタ長などを変更することなく、分割されたプログラムを実行する際にストローク長を狭めて最小設定単位により設定される小数点以下の桁数を増加させた仮想的な座標系を用いた加工を行うことができる。
例えば、X軸方向Y軸方向共に±2mの範囲の加工領域を持つ機械を制御する際に、それぞれの座標軸方向で10分割した場合、各エリアのサイズは加工領域と比較して1辺で1/10となるので、分割されたプログラムを実行する際には、数値制御装置内では単精度整数型を用いたままで、加工する領域の座標値の最大桁数を1桁減らし、最小設定単位により設定される小数点以下の桁数を1桁増加させた仮想的な座標系で加工を行うことができる。このようにすることで、図2に示すように1つの分割されたプログラムで加工できる範囲は狭くなるものの(ストローク長が400.0mm)、当該分割されたプログラムの実行時に座標値の解釈や演算を小数点以下の桁数を増加させた精度で行うことができるため加工精度が向上し、また、すべての分割されたプログラムを実行することにより、元のプログラムを実行した場合と同じ加工範囲のワークを加工することができる。
図3は、XY座標系で表される加工領域の分割例を示す図である。図3の例では、X座標値がXmin〜Xmax、Y座標値がYmin〜Ymaxであって中心位置が原点(0,0)となる加工領域をX軸方向にn個、Y軸方向にm個に等割することにより、当該加工領域をn×m個のエリアへとエリア分割している。この時、分割されたエリアのX軸方向の幅LxおよびY軸方向の幅Lyは以下の数1式で表される。
Figure 0006363643
また、図3に示すように、分割された各エリアをX軸,Y軸の負方向から正方向に向けてそれぞれエリア(1,1)、エリア(2,1)、…、エリア(i,j)、…、エリア(n,m)とした場合、加工領域上の現実の座標値(xr,yr)で表される点は以下の数2式の判定式を満足する(i,j)の組に対応するエリア(i,j)に属する。
Figure 0006363643
そして、エリア(i,j)において当該エリアの中心を原点(0,0)とする仮想的な座標空間を設ける場合、当該仮想的な座標空間における座標値(xvi,yvj)と、加工領域上の現実の座標値(xr,yr)との関係は以下の数3式で表すことができる。
Figure 0006363643
以下では、上記した各式を用いてプログラムを各エリアの加工制御に用いるプログラムへと分割するプログラム分割方法について説明する。プログラムの分割は、当該プログラムに含まれる工具の移動を指令する各ブロックで指令される工具の移動経路がいずれのエリアに属するのかを判定することで行われる。
各ブロックがいずれのエリアに属するのかを判定する際には、例えば対象とするブロックが直線補間を指令するブロックである場合、当該指令による工具の移動経路の始点および終点がそれぞれいずれのエリアに属するのかを判定する。ここで、判定対象となるブロックの指令による工具の移動経路の始点および終点が共に同じエリアに属する場合には、そのブロックは始点および終点が属するエリアのみを加工するものなので、当該エリアにおける加工制御に用いるプログラムに含める(座標値が絶対値指定されている場合には、数3式を用いて座標値を変換する)。また、判定対象となるブロックの指令による移動経路の始点および終点が異なるエリアに属する場合には、当該ブロックの指令による工具の移動経路をそれぞれのエリアにおける移動経路へと分割し、分割した移動経路を指令するブロックをそれぞれのエリアにおける加工制御に用いるプログラムへ含める(座標値が絶対値指定されている場合には、数3式を用いて座標値を変換する)。
また、対象とするブロックが円弧補間を指令するブロックである場合においても、円弧状の移動経路全体が1つのエリア内に属する場合は当該ブロックを当該エリアにおける加工制御に用いるプログラムに含め(座標値が絶対値指定されている場合には、数3式を用いて座標値を変換する)、また、円弧状の移動経路が異なるエリアにまたがっている場合には、当該ブロックの指令による工具の円弧経路をそれぞれのエリアにおける円弧状の移動経路へと分割し、分割した円弧状の移動経路を指令するブロックをそれぞれのエリアにおける加工制御に用いるプログラムへ含める(座標値が絶対値指定されている場合には、数3式を用いて座標値を変換する)。
なお、工具の移動を指令するブロック以外のブロックについては、すべてのエリアにおける加工制御に用いるプログラムへ含めるようにすればよい。
例えば、図3に示した分割例において、X軸方向、Y軸方向共に座標値が±2000.0[mm]を取り得る(Xmin=Ymin=−2000.0[mm]、Xmax=Ymax=+2000.0[mm])加工領域をX軸方向、Y軸方向共に10等分(n=m=10)してエリア分割した場合において、図4に示すプログラムを各エリアにおける加工制御に用いるプログラムへと分割する例を考える。N03ブロック,N04ブロックにより指令される工具の移動経路の始点および終了はいずれもエリア(6,6)に属しているため、N03ブロック,N04ブロックはエリア(6,6)における加工制御に用いるプログラムへと含める。また、N06ブロック,N07ブロック,N08ブロックにより指令される工具の移動経路の始点および終了はいずれもエリア(7,6)に属しているため、N06ブロック,N07ブロック、N08ブロックはエリア(7,6)における加工制御に用いるプログラムへと含める。一方で、N05ブロックにより指令される工具の移動経路は、始点がエリア(6,6)、終点がエリア(7,6)にそれぞれ属しているので、N05ブロックにより指令される工具の移動経路が通過するエリアであるエリア(6,6)とエリア(6,6)の境界位置(図4下のN05ブロックにより指令される工具の移動経路上の△点)で当該移動経路を分割し、分割したそれぞれの移動経路を指令するブロックを生成し、エリア(6,6)を加工するプログラムおよびエリア(7,6)を加工するプログラムへとそれぞれのブロックを含める。N09ブロック、N10ブロック、N11ブロックについても同様である。
また、例えば、図5に示すように円弧補間のブロックがプログラムに含まれている場合には、円弧補間指令による工具の移動経路が各エリアの境界線と交差するか否かを判定し、交差する場合にはその交差位置(図5のN12ブロックにより指令される工具の移動経路上の△点)で当該移動経路を分割し、分割したそれぞれの移動経路を指令するブロックを生成し、エリア(6,6)を加工するプログラムおよびエリア(7,6)を加工するプログラムへとそれぞれのブロックを含める。
このような手順をプログラムに含まれる各ブロックに対して実行することで、図4のプログラムは図6に示すそれぞれのエリアの加工制御に用いるプログラムへと分割される。
なお、上記した移動経路の分割や、数3式を用いた現実の座標値からエリアごとの仮想的な座標値への変換には倍精度整数型での演算処理を用いることで、プログラムに記載される座標値の桁数の精度を保つようにする。倍精度整数型の値を用いた演算処理には単精度整数型の値を用いた演算処理よりも多くのリソースを消費するが、移動経路の分割処理や座標値の変換処理は、加工制御において行われる移動経路の補間処理や加減速処理と比較するとはるかに演算量が少ないため、全体の処理速度に大きな影響となることはない。
以下では、上記したプログラム分割処理を実行し、分割されたプログラムに基づく加工制御を行う数値制御装置の構成について説明する。
図7は、本発明の一実施形態による数値制御装置の要部を示すハードウェア構成図である。数値制御装置1が備えるCPU11は、数値制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムをバス20を介して読み出し、該システムプログラムに従って数値制御装置1全体を制御する。RAM13には一時的な計算データや表示データ及び表示器/MDIユニット70を介してオペレータが入力した各種データ等が格納される。
SRAM14は図示しないバッテリでバックアップされ、数値制御装置1の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。SRAM14中には、インタフェース15を介して読み込まれた後述する加工プログラムや表示器/MDIユニット70を介して入力された加工プログラム等が記憶される。また、ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や上記したプログラム分割処理を実行するための各種のシステムプログラムがあらかじめ書き込まれている。本発明を実行する加工プログラム等の各種加工プログラムはインタフェース15や表示器/MDIユニット70を介して入力し、SRAM14に格納することができる。
インタフェース15は、数値制御装置1とアダプタ等の外部機器72との接続するためのインタフェースである。外部機器72側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置1内で編集した加工プログラムは、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置1に内蔵されたシーケンスプログラムで工作機械の補助装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は表示器/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。インタフェース19は手動パルス発生器等を備えた操作盤71に接続されている。
各軸の軸制御回路30〜32はCPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜42に出力する。サーボアンプ40〜42はこの指令を受けて、各軸のサーボモータ50〜52を駆動する。各軸のサーボモータ50〜52は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30〜32にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
スピンドル制御回路60は、工作機械への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、工作機械の主軸モータ62を指令された回転速度で回転させ、工具を駆動する。
主軸モータ62には歯車あるいはベルト等でポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
図8は、上記したプログラムの分割方法および分割されたプログラムの実行方法を図7に示した数値制御装置1に対してシステムプログラムとして実装した場合の概略的な機能ブロック図を示している。数値制御装置1は、分割設定部100、プログラム分割部110、エリア座標系設定部120、演算精度設定部130、エリア位置決め部140、指令解析部150、補間部160、加減速部170、サーボ制御部180を備える。
分割設定部100は、加工領域のエリア分割に必要となるパラメータの入力を受け付けてSRAM14などのメモリ上に記憶する。エリア分割に必要となるパラメータは、エリアの分割方法によって異なるが、図2で説明した分割方法を用いる場合には、加工領域の範囲(Xmin〜Xmax、Ymin〜Ymax)や、原点位置(加工領域、エリア共に中心が原点、端が原点、など)、X軸方向、Y軸方向の分割数(n,m)などを受け付けるようにすればよい。
プログラム分割部110は、分割設定部100により設定されたパラメータに基づいて加工領域を仮想的に分割し、例えば図2〜図4で説明した方法により、分割したエリアごとの加工制御に用いるプログラムをプログラム200に基づいて生成する。分割されたプログラム210はRAM13等のメモリ上に設けられた領域に記憶する。
エリア座標系設定部120は、後述する指令解析部150が分割されたプログラム210を実行する際に、分割設定部100により設定されたパラメータに基づいてエリアごとの仮想的な座標系を指令解析部150に対して設定する。
また、演算精度設定部130は、後述する指令解析部150が分割されたプログラム210を実行する際に、分割設定部100により設定されたパラメータに基づいて指令解析部150、補間部160、加減速部170での内部演算処理において設定可能な最小設定単位を設定する。ここで言うところの「設定可能な最小設定単位」とは、上記した数値制御装置の外部的要因、内部的要因を考慮しつつ、分割設定部100により分割された各エリアのストローク長に基づいて適宜定めることが可能である。一例として、図2のようにエリア分割した場合には、最小設定単位により設定される小数点以下の桁数を1増加させることができる。
エリア位置決め部140は、後述する指令解析部150が分割されたプログラム210の実行を開始する際に、実行を開始する分割されたプログラムの加工開始位置へと位置決めする指令を指令解析部150へと出力する。各エリアの加工開始位置は、元のプログラムにおいて当該エリアへと工具が侵入した点(図4,5における△点)の座標値を数3式により当該エリアにおける仮想的な座標値へと変換した位置となる。
指令解析部150は、メモリに記憶される分割されたプログラム210からブロックを順次読み出して解析し、解析結果に基づいて各軸の移動を指令する指令データを作成し、作成した該指令データを補間部160へと出力する。指令解析部150は、解析処理を行う際に上記したエリア座標系設定部120が設定した仮想的な座標系を用い、また、上記した演算精度設定部130が設定した最小設定単位で解析を行う。指令解析部150が、どのような順序で複数の分割されたプログラム210の読み出しを行うのかについては特に制約する必要はないが、近いエリアの加工を行うプログラムを順番に読み出した方が工具の移動距離が短くなるため加工のサイクルタイムを短縮することができる。
補間部160は、指令解析部150が出力した指令データに基づいて、該指令データにより指令される指令経路上の点を補間周期で補間計算した補間データを生成し、生成した補間データを加減速部170へと出力する。補間部160が補間処理を実行する際には、エリア座標系設定部120が設定した仮想的な座標系を用い、また、上記した演算精度設定部130が設定した最小設定単位で解析を行う。
加減速部170は、補間部160が出力した補間データに対して補間周期毎の各駆動軸の速度を調整する加減速処理を行い、加減速の調整が為された補間データをサーボ制御部180へ出力する。加減速部170が加減速処理を実行する際には、エリア座標系設定部120が設定した仮想的な座標系を用い、また、上記した演算精度設定部130が設定した最小設定単位で解析を行う。
そして、サーボ制御部180は、加減速部170の出力に基づいて制御対象となる機械の各軸の駆動部(サーボモータ50〜52)を制御する。
このような構成を備えた数値制御装置では、加工領域を複数のエリアへと分割し、分割されたエリアに合わせて予めプログラム200から複数の分割されたプログラム210を生成する。分割されたプログラム210では工具の移動範囲であるストローク長が加工領域よりも狭くなるため、演算処理にリソースを割くことなく指令の解析処理や補間処理、加減速処理における最小設定単位により設定される小数点以下の桁数を増加させ、加工精度を向上させることができる。
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、上記した実施の形態では、X軸方向、Y軸方向の2次元平面をエリア分割し、分割したエリアのワークを加工するためのプログラムを生成する例を示したが、これにZ軸を加えた3次元空間をエリア分割するようにしても良い。その場合、単純に数1〜3式にZ軸の式を追加し、これら式を用いてプログラムの分割を行うようにすればよい。
また、上記した実施の形態では、加工領域を等割したエリアへと分割しているが、これに限られることはなく、エリアの大きさはそれぞれ異なるようにしても良く、その場合には、各エリアの境界や大きさを個別に分割設定部100で設定できるようにしても良い。そして、そのように設定された情報に基づいて、プログラム分割部110、エリア座標系設定部120、演算精度設定部130を動作させることにより、異なる大きさのエリアに対応できるようになる。このようにすることで、例えば加工領域の一部を更に細分したエリアへと分割し、その個所において更に精密な加工を行うようにすることも可能となる。
更に、上述した実施の形態の例では、プログラムの分割を数値制御装置で行っているが、これを数値制御装置上では行うのではなく、外部のプログラム作成装置(CAD装置など)で予め各領域に分割したプログラムを作成し、それを実行するようにしてもよい。このようにする場合、数値制御装置にはプログラム分割部110を設ける必要はなく、同様の構成をプログラム作成装置上に設けるようにすればよい。
1 数値制御装置
11 CPU
12 ROM
13 RAM
14 SRAM
15 インタフェース
16 PMC
17 I/Oユニット
18 インタフェース
19 インタフェース
20 バス
30,31,32 軸制御回路
40,41,42 サーボアンプ
50,51,52 サーボモータ
60 スピンドル制御回路
61 スピンドルアンプ
62 主軸モータ
63 ポジションコーダ
70 表示器/MDIユニット
71 操作盤
72 外部機器
100 分割設定部
110 プログラム分割部
120 エリア座標系設定部
130 演算精度設定部
140 エリア位置決め部
150 指令解析部
160 補間部
170 加減速部
180 サーボ制御部
200 プログラム
210 分割されたプログラム

Claims (3)

  1. 少なくとも1つの駆動軸を制御して加工領域に設置されたワークを加工する機械を少なくとも1つのブロックからなるプログラムに基づいて制御する数値制御装置において、
    前記加工領域を分割した場合の複数のエリアに係る情報である分割情報を設定する分割設定部と、
    前記分割情報に基づいて前記複数のエリアにおける仮想的座標系を設定するエリア座標系設定部と、
    前記分割情報に基づいて演算精度を設定する演算精度設定部と、
    前記分割情報に基づいて前記プログラムを分割した分割プログラムを前記仮想的座標系と前記演算精度とに従って解析し、解析した結果に基づいて前記機械の動作を指令する指令データを出力する指令解析部と、
    前記指令データに基づいて、補間周期毎の移動経路上の前記駆動軸の位置を示す補間データを前記仮想的座標系と前記演算精度とに従って算出する補間部と、
    前記補間データに対して補間周期毎の前記駆動軸の速度を前記仮想的座標系と前記演算精度とに従って調整する加減速部と、
    を備えたことを特徴とする数値制御装置。
  2. 前記プログラムと、前記分割情報とに基づいて、それぞれの前記エリアにおける加工制御に用いられる分割プログラムを生成するプログラム分割部と、
    を備えたことを特徴とする請求項1に記載された数値制御装置。
  3. 前記プログラム分割部は、前記プログラムに含まれる複数のブロックの内で、前記駆動軸を移動を指令するブロックについて、当該移動が前記複数のエリアの内の2以上のエリアにまたがる場合には、当該移動の経路を前記2以上のエリア上の複数の経路へと分割して当該分割した複数の経路の移動を指令する複数のブロックを生成し、前記複数のブロックのそれぞれを前記2以上のエリアのそれぞれにおける加工制御に用いられるそれぞれのプログラムへと挿入する、ことにより分割プログラムを生成する、
    ことを特徴とする請求項2に記載された数値制御装置。
JP2016042774A 2016-03-04 2016-03-04 プログラム指令の解析桁数を増やすことを可能とする数値制御装置 Active JP6363643B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016042774A JP6363643B2 (ja) 2016-03-04 2016-03-04 プログラム指令の解析桁数を増やすことを可能とする数値制御装置
DE102017001783.2A DE102017001783B4 (de) 2016-03-04 2017-02-24 Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht
US15/446,468 US10416645B2 (en) 2016-03-04 2017-03-01 Numerical controller enabling increase in number of analysis digits of program instruction
CN201710128470.XA CN107153404B (zh) 2016-03-04 2017-03-06 能够增加程序指令的解析位数的数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016042774A JP6363643B2 (ja) 2016-03-04 2016-03-04 プログラム指令の解析桁数を増やすことを可能とする数値制御装置

Publications (2)

Publication Number Publication Date
JP2017157172A JP2017157172A (ja) 2017-09-07
JP6363643B2 true JP6363643B2 (ja) 2018-07-25

Family

ID=59650729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016042774A Active JP6363643B2 (ja) 2016-03-04 2016-03-04 プログラム指令の解析桁数を増やすことを可能とする数値制御装置

Country Status (4)

Country Link
US (1) US10416645B2 (ja)
JP (1) JP6363643B2 (ja)
CN (1) CN107153404B (ja)
DE (1) DE102017001783B4 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6646027B2 (ja) * 2017-10-30 2020-02-14 ファナック株式会社 ポストプロセッサ装置、加工プログラム生成方法、cnc加工システム及び加工プログラム生成用プログラム
JP6740199B2 (ja) 2017-10-30 2020-08-12 ファナック株式会社 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム
JP6845202B2 (ja) * 2018-10-11 2021-03-17 ファナック株式会社 数値制御方法及び処理装置
CN109799780B (zh) * 2018-11-20 2020-09-18 武汉华中数控股份有限公司 一种基于数控机床批量加工的工件尺寸补偿方法
JP7088820B2 (ja) * 2018-12-17 2022-06-21 ファナック株式会社 数値制御装置
JP6871280B2 (ja) * 2019-01-07 2021-05-12 ファナック株式会社 数値制御装置
US11940772B2 (en) * 2020-09-11 2024-03-26 Mitsubishi Electric Corporation Numerical controller and industrial machine control system
TW202224877A (zh) * 2020-12-15 2022-07-01 日商發那科股份有限公司 數值控制系統及產業機械的控制方法
JP7587023B2 (ja) * 2021-04-21 2024-11-19 ファナック株式会社 数値制御装置及びコンピュータが読み取り可能な記憶媒体
WO2025002322A1 (zh) * 2023-06-28 2025-01-02 广州童心制物科技有限公司 加工元素的限位方法、装置、设备、程序介质和数控机器

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830974B2 (ja) 1987-04-28 1996-03-27 フアナツク株式会社 精密位置制御方式
DE3908844A1 (de) * 1989-03-17 1990-09-20 Siemens Ag Numerische steuerung fuer werkzeugmaschinen oder roboter
JPH05181522A (ja) 1992-01-07 1993-07-23 Mitsubishi Electric Corp 数値制御装置
JPH05282022A (ja) * 1992-04-03 1993-10-29 Mitsubishi Electric Corp 数値制御装置
JP3023648B2 (ja) 1995-06-05 2000-03-21 ファナック株式会社 位置制御装置
JPH09141579A (ja) * 1995-11-21 1997-06-03 Mazda Motor Corp ロボットの教示装置及びその教示方法
JPH11175229A (ja) 1997-12-15 1999-07-02 Xanavi Informatics Corp スクロール表示装置および音響装置
JP2000047719A (ja) * 1998-07-31 2000-02-18 Toshiba Mach Co Ltd 数値制御装置
JP2001092533A (ja) 1999-09-21 2001-04-06 Yaskawa Electric Corp 速度データの動的最適化方法
JP2008090513A (ja) * 2006-09-29 2008-04-17 Fanuc Ltd 数値制御装置
JP4327894B2 (ja) * 2007-11-30 2009-09-09 ファナック株式会社 5軸加工機を制御する数値制御装置
JP2011016220A (ja) * 2009-07-09 2011-01-27 Mori Seiki Co Ltd プログラミング装置
JP4814365B2 (ja) * 2009-10-20 2011-11-16 ファナック株式会社 加工プログラムやバイナリデータが記憶されているメモリの領域を分割・結合することが可能な数値制御装置
JP5428965B2 (ja) * 2010-03-15 2014-02-26 オムロン株式会社 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP4837115B2 (ja) * 2010-03-29 2011-12-14 ファナック株式会社 5軸加工機を制御する数値制御装置
JP5743495B2 (ja) * 2010-11-05 2015-07-01 キヤノン株式会社 ロボット制御装置
CN102825501A (zh) * 2012-09-03 2012-12-19 唐山轨道客车有限责任公司 制造轨道车辆车体用长大型材的找正方法
JP5792271B2 (ja) * 2013-12-19 2015-10-07 ファナック株式会社 ワークによる変位誤差を補正する機能を備えた数値制御装置
JP6240117B2 (ja) * 2015-04-03 2017-11-29 ファナック株式会社 文字の表示幅の自動変更機能を有する数値制御装置

Also Published As

Publication number Publication date
DE102017001783B4 (de) 2020-02-06
US20170255180A1 (en) 2017-09-07
JP2017157172A (ja) 2017-09-07
US10416645B2 (en) 2019-09-17
CN107153404B (zh) 2019-05-03
CN107153404A (zh) 2017-09-12
DE102017001783A1 (de) 2017-09-07

Similar Documents

Publication Publication Date Title
JP6363643B2 (ja) プログラム指令の解析桁数を増やすことを可能とする数値制御装置
JP6646027B2 (ja) ポストプロセッサ装置、加工プログラム生成方法、cnc加工システム及び加工プログラム生成用プログラム
JP6644630B2 (ja) 加工プログラム処理装置およびこれを備えた多軸加工機
JP6740199B2 (ja) 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム
JP2003303005A (ja) 数値制御装置
JPS61156309A (ja) 速度段差平滑機能を備えた数値制御装置
US20070185609A1 (en) Numerical control method
CN106338968A (zh) 可进行考虑轴移动方向的误差修正的数值控制装置
US10452051B2 (en) Numerical control device
US10203687B2 (en) Numerical control device
JP4796936B2 (ja) 加工制御装置
JP7428793B2 (ja) 加工経路作成装置
WO2022138843A1 (ja) 数値制御装置
US10261500B2 (en) Numerical controller controlling machining tool based on skiving instruction
JP4799411B2 (ja) Nc工作機械における真円加工方法および真円加工装置
JPS5981705A (ja) Nc工作機械における補正方法
JP6490118B2 (ja) 数値制御装置
US11231699B2 (en) Program analysis device
JPH08106311A (ja) 数値制御装置
JP7583057B2 (ja) 制御装置
US20200401115A1 (en) Numerical controller, cnc machine tool, numerical control method and non-transitory computer readable medium recording a numerical control program
JPH06110534A (ja) 工作機械における位置制御方法
JP2007172325A (ja) 自由曲線加工法および数値制御装置
JP2001242921A (ja) 加工装置の制御装置、加工装置の制御方法、加工システム、及び記憶媒体
JP2017001153A (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: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180628

R150 Certificate of patent or registration of utility model

Ref document number: 6363643

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150