JP6871280B2 - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP6871280B2
JP6871280B2 JP2019000836A JP2019000836A JP6871280B2 JP 6871280 B2 JP6871280 B2 JP 6871280B2 JP 2019000836 A JP2019000836 A JP 2019000836A JP 2019000836 A JP2019000836 A JP 2019000836A JP 6871280 B2 JP6871280 B2 JP 6871280B2
Authority
JP
Japan
Prior art keywords
command
vector
synthesizing
numerical control
control device
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
JP2019000836A
Other languages
English (en)
Other versions
JP2020109599A (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 JP2019000836A priority Critical patent/JP6871280B2/ja
Priority to US16/725,053 priority patent/US11036206B2/en
Priority to DE102019009083.7A priority patent/DE102019009083A1/de
Priority to CN202010013809.3A priority patent/CN111413927B/zh
Publication of JP2020109599A publication Critical patent/JP2020109599A/ja
Application granted granted Critical
Publication of JP6871280B2 publication Critical patent/JP6871280B2/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/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
    • 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/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 programme 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/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/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 programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • 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/416Numerical 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 control of velocity, acceleration or deceleration
    • G05B19/4163Adaptive control of feed or cutting velocity
    • 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/33Director till display
    • G05B2219/33271Convert workpiece to machine coordinates
    • 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/34095Look ahead segment calculation

Description

本発明は、数値制御装置に関し、特に連続した軸制御指令におけるブロックの合成処理を効率的に実現する数値制御装置に関する。
数値制御装置が実行する加工プログラム(NCプログラム)においては、通常、1ブロックごとに1つの直線線分、円弧線分の移動指令を記述する。したがって、複数の直線線分や円弧線分等からなる加工パスを指令する際には、軸移動指令を複数ブロックにわたり連続して記述する必要がある(図1参照)。
また、数値制御装置は、通常、NCプログラムに記述された指令ブロックを先頭から順次読み込んでプログラムを解析し、ブロック情報を生成し、ブロック情報を元に補間処理を行い、各軸の分配パルスを作成する。
良好な加工面を得るためには、分配パルスを途切れることなく連続して作成し、出力する必要がある。そのため、補間に必要なブロック情報の作成は、補間より先に完了していなければならない。よって、数値制御装置は、通常、NCプログラムを実行するよりも前の時点でNCプログラムの読み込みを開始し、NCプログラムに含まれるあらゆる指令の解析を行う。これを先読み処理という(図2参照)。
複雑な形状にワークを加工する場合、NCプログラムに含まれる軸移動指令のブロック数は多くなる傾向がある。ブロック数の多いNCプログラムでは、テスト運転などで大まかな加工経路や加工の流れを確認したい場合でも、全てのブロックを解析し、経路計算をする必要があり、その処理に時間がかかるという問題がある。
従来、許容されるトレランスの範囲内でプログラムブロックを合成し、解析するプログラムブロック数を減少させる数値制御装置が知られている(例えば、特許文献1等)。
特開平9−288509号公報
しかしながら、特許文献1記載の手法では、1ブロックずつプログラムを読み込みながら直線補間ブロックかの判定を都度行う必要がある。また、先読み処理の最大ブロック数に依存して合成できるブロック数に制限が出る。
そこで、連続した軸制御指令におけるブロックの合成処理を効率的に実現する数値制御装置が望まれている。
本発明の一実施形態にかかる数値制御装置は、加工プログラムに記述された軸移動指令を解析して、経路のブロック情報を生成する数値制御装置であって、前記加工プログラムの1ブロック分の読み込み処理において、前記1ブロックにおいて複数区間分の前記軸移動指令が記述された前記加工プログラムを解析して、複数の座標値を特定する指令解析部と、前記複数の座標値に基づいて、前記経路を構成する複数の方向ベクトルを生成し、前記方向ベクトルを足し合わせた合成ベクトルを生成する指令合成部と、前記合成ベクトルに基づいて、前記ブロック情報を生成するブロック情報生成部と、を有する。
本発明の一実施形態にかかる数値制御装置は、前記指令合成部は、前記合成ベクトルにかかるトレランスが所定の許容値未満である場合に、前記合成ベクトルを生成する。
本発明の一実施形態にかかる数値制御装置は、前記指令合成部は、前記合成ベクトルの長さが所定の許容値未満である場合に、前記合成ベクトルを生成する。
本発明の一実施形態にかかる数値制御装置は、前記指令合成部は、複数の前記軸移動指令が同一の送り速度又は主軸回転速度を含む場合に、前記合成ベクトルを生成する。
本発明の一実施形態にかかる数値制御装置は、前記指令合成部は、複数の前記軸移動指令が特定かつ同一のGコード、Tコード又はモード指令を含む場合に、前記合成ベクトルを生成する。
本発明の一態様によれば、連続した軸制御指令におけるブロックの合成処理を効率的に実現する数値制御装置を提供することができる。
従来の加工プログラムの一例を示す図である。 従来の先読み処理の一例を示す図である。 数値制御装置1のハードウェア構成例を示す図である。 従来の軸移動指令の一例を示す図である。 本実施の形態における軸移動指令の一例を示す図である。 本実施の形態における軸移動指令の一例を示す図である。 本実施の形態における軸移動指令の一例を示す図である。 本実施の形態における軸移動指令の一例を示す図である。 本実施の形態における軸移動指令の一例を示す図である。 本実施の形態における軸移動指令の一例を示す図である。 従来の数値制御装置の動作例を示す図である。 数値制御装置1の動作例を示す図である。 数値制御装置1の動作例を示す図である。 数値制御装置1の動作例を示す図である。 数値制御装置1の機能構成例を示す図である。 指令合成部102による加工経路合成処理の一例を示す図である。 指令合成部102による加工経路合成処理の一例を示す図である。 指令合成部102による加工経路合成処理の一例を示す図である。 指令合成部102による加工経路合成処理の一例を示す図である。
図3は、実施の形態にかかる数値制御装置1の要部を示す概略的なハードウェア構成図である。数値制御装置1は、工作機械を含む産業用機械の制御を行う装置である。数値制御装置1は、CPU11、ROM12、RAM13、不揮発性メモリ14、バス10、軸制御回路16、サーボアンプ17、インタフェース18を有する。数値制御装置1には、サーボモータ50、入出力装置60が接続される。
CPU11は、数値制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス10を介して読み出し、システム・プログラムに従って数値制御装置1全体を制御する。
ROM12は、例えば機械の各種制御を実行するためのシステム・プログラムを予め格納している。
RAM13は、一時的な計算データや表示データ、入出力装置60を介してオペレータが入力したデータやプログラム等を一時的に格納する。
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされており、数値制御装置1の電源が遮断されても記憶状態を保持する。不揮発性メモリ14は、入出力装置60から入力されるデータやプログラム等を格納する。不揮発性メモリ14に記憶されたプログラムやデータは、実行時及び利用時にはRAM13に展開されても良い。
軸制御回路16は、機械の動作軸を制御する。軸制御回路16は、CPU11が出力する軸の移動指令量を受けて、動作軸の移動指令をサーボアンプ17に出力する。
サーボアンプ17は、軸制御回路16が出力する軸の移動指令を受けて、サーボモータ50を駆動する。
サーボモータ50は、サーボアンプ17により駆動されて機械の動作軸を動かす。本実施の形態では、主軸移動はサーボモータ50により行われる。サーボモータ50は、典型的には位置・速度検出器を内蔵する。位置・速度検出器は位置・速度フィードバック信号を出力し、この信号が軸制御回路16にフィードバックされることで、位置・速度のフィードバック制御が行われる。
なお、図3では軸制御回路16、サーボアンプ17、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる機械に備えられた軸の数だけ用意される。
入出力装置60は、ディスプレイやハードウェアキー等を備えたデータ入出力装置であり、典型的にはMDI又は操作盤である。入出力装置60は、インタフェース18を介してCPU11から受けた情報をディスプレイに表示する。入出力装置60は、ハードウェアキー等から入力された指令やデータ等をインタフェース18を介してCPU11に渡す。
図15は、数値制御装置1の特徴的な機能構成を示すブロック図である。数値制御装置1は、本願発明、指令解析部101、指令合成部102及びブロック情報生成部103を有する。
指令解析部101は、1ブロックの指令で複数区間の線分を定義可能な軸移動指令を含む加工プログラムを読み込んで解析し、移動先となる全座標点を特定する。指令合成部102は、指令解析部101が特定した座標点が複数ある場合に、加工経路を合成する処理を行う。ブロック情報生成部103は、指令合成部102が合成した加工経路のブロック情報を生成する。
図4乃至図6を用いて、指令解析部101が解析可能な、本実施の形態特有の軸移動指令の仕様について説明する。図4は、従来の軸移動指令の一例を示す図である。軸移動指令は、アルファベット(G,X,Y,Z等)で示されるアドレスと、数字で示される指令値との組み合わせで構成される。G91,G00等の指令はGコードと呼ばれ、数値制御装置1に加工を行うための準備機能を実行させるものである。F4000.等の指令は移動指令であり、数値は送り速度を示す。X1.5,Y2.,Z−95等の指令は、それぞれX軸、Y軸、Z軸の座標値又は移動量を指定している。従来の軸移動指令の記法によれば、1ブロック(加工プログラムの1行)で表現できる線分は、原則として1つのみである。
一方、本実施の形態の軸移動指令では、1ブロックの指令で、従来の複数ブロック分の指令に相当する内容を記述できる。この軸移動指令は次のような特徴を有する。
(1)1ブロックの指令内で、各アドレスに対応する複数の指令値(座標値又は移動量等)を指定する。
(2)アドレスと指令値との対応関係は、予め定められたルールに則って記述される。ルールは特に限定されないが、典型的には次のようなものがある。
(a)予め定められた複数種の区切り文字により、アドレスと複数の指令値との対応関係を定義する。例えば図5の例では、“[”,“]”(かっこ)により区間毎の指令値の集合を定義し、“,”(カンマ)により各アドレスの指令値の区切りを示している。すなわち、[x1,y1,z1]は1区間目の線分を定義する指令値群であり、x1はX軸の指令値、y1はY軸の指令値、z3はZ軸の指令値である。同様に、[x2,y2,z2]は2区間目の、[x3,y3,z3]は3区間目の線分を定義する指令値群である。
図6は、図5に示したフォーマットに従って記述された軸移動指令であって、記述されている内容は図4に示した従来の記法による軸移動指令と等価である。図4において第2行から第3行にかけて記述されていた軸移動指令は、図6では第2行に集約されている。同様に、図4において第4行から第6行にかけて記述されていた軸移動指令は、図6では第3行に集約されている。本実施の形態では、このように従来の複数ブロック分の指令を1ブロックの指令に集約することが可能である。
(b)予め定められた区切り文字と数値の配列順とにより、アドレスと複数の指令値との対応関係を定義する。例えば、1区間目の線分を定義する指令値群x1,y1,z1(x1はX軸の指令値、y1はY軸の指令値、z1はZ軸の指令値)、2区間目の線分を定義する指令値群x2,y2,z2(x2はX軸の指令値、y2はY軸の指令値、z2はZ軸の指令値)、・・・n区間目の線分を定義する指令値群xn,yn,zn(xnはX軸の指令値、ynはY軸の指令値、znはZ軸の指令値)を、
X,Y,Z=x1,y1,z1,x2,y2,z2,・・・,xn,yn,zn
のように区間ごとにまとめて記述することもできるし、
X,Y,Z=x1,x2,・・・,xn,y1,y2,・・・,yn,z1,z2,・・・,zn
のようにアドレスごとにまとめて記述することもできる。
(c)上記(a)又は(b)で示したような記述に、配列型変数を導入することもできる。図7(第2行及び第4行)は、以下の軸移動指令を、配列型変数を導入して書き換えた例である。書き換え前の指令は、図5に示したフォーマットに従って記述されたものである。図7では、書き換え前の指令の右辺部を予め配列型変数に格納しておき(第2行)、当該変数を参照する形で指令を記述している(第4行)。
書き換え前:
N22 G01 X,Y,Z=[1,2,3],[2,3,4],[3,4,5],・・・,[10,11,12];
(d)上記(a)又は(b)で示したような記述に、外部ファイル参照を導入することもできる。
図8(第3行)は、以下の軸移動指令を、外部ファイル参照を導入して書き換えた例である。書き換え前の指令は、図5に示したフォーマットに従って記述されたものである。図8では、書き換え前の指令の右辺部に相当する内容を予め外部ファイルに記述しておき(PATH1.csv)、当該ファイルの内容を参照する形で指令を記述している(第3行)。
書き換え前:
N22 G01 X,Y,Z=[0,0,0],[1,1,1],[2,2,2],・・・;
同様に、図9(第3行)は、以下の軸移動指令を、外部ファイル参照を導入して書き換えた例である。書き換え前の指令は、図5に示したフォーマットに従って記述されたものである。図9では、書き換え前の指令の右辺部に相当する内容を予め外部ファイルに記述しておき(CAM_DATA.NC)、当該ファイルの内容を参照する形で指令を記述している(第3行)。
書き換え前:
N22 G01 X,Y,Z=[X0,Y0,Z0],[X1,Y1,Z1],[X2,Y2,Z2],[X3,Y3,Z3],・・・;
外部ファイルのファイル形式やフォーマットは、書き換え前の指令内容との対応関係が保たれていればいかなるものであっても構わない。但し、その対応関係を指令解析部101が認識し、書き換え前の指令内容を復元できる必要がある。
(e)データセットを参照して指令を記述することもできる。図10(第2行)は、以下の軸移動指令を、データセットを参照する形式に書き換えた例である。図10では、書き換え前の指令のN21に続く部分の内容を予めデータセット(典型的には構造体)に格納しておき(CYCLE1)、当該データセットの内容を参照する形で指令を記述している(第2行)。
書き換え前:
N21 G00 X0. Y10. Z50.;
G01 Y20. Z55. F100.;
X10.;
G00 X15. Y20.;
データセットのフォーマットは、書き換え前の指令内容との対応関係が保たれていればいかなるものであっても構わない。但し、その対応関係を指令解析部101が認識し、書き換え前の指令内容を復元できる必要がある。なお、データセットを用いる場合でも、アドレスはデータセット内に1回のみ記述すれば足りる。
(3)指令値に変更のないアドレスについては、指令の記述を省略しても良い。例えば図6の例では、Z軸が移動しない場合(第1行)には、X,Y軸に関する指令のみを記述し、Z軸については指令を記述していない。同様に、X軸が移動しない場合(第3行)、このブロックではY,Z軸に関する指令のみを記述し、X軸については指令を記述していない。
(4)軸アドレスを定義しつつ、指令値(数値)を省略しても良い。例えば、以下の例のように記載できる。
例:
G01 X,Y=[0,0],[1,],[,2],・・・
これは、従来の記法であれば以下のように記述されていた指令を1行に集約して記述したものである。
従来:
G01 X0 Y0;
G01 X1;
G01 Y2;
図16乃至図19を用いて、指令合成部102が加工経路を合成する処理について具体的に説明する。通常の加工では、指令解析部101が特定した座標点を順に繋いで形成される加工経路に従って加工が行われる。一方、テスト運転など大まかな加工経路や加工の流れを確認したい場合には、加工経路中を構成する幾つかの方向ベクトルを合成し(経路合成処理)、簡素化された加工経路で運転を行うことができる。図16及び図17に示す例では、指令合成部102はトレランスに基づいて経路合成処理の実行可否を決定する。図18及び図19に示す例では、指令合成部102は経路長に基づいて経路合成処理の実行可否を決定する。
(A)トレランスに基づく経路合成処理
トレランス(Tr)とは、2つの方向ベクトルからなる加工経路を合成した合成ベクトルを生成した場合における、2つの方向ベクトルの接続点と合成ベクトルとの距離をいう。例えば、始点から座標[x1,y1]に至る方向ベクトルと、座標[x1,y1]から座標[x2,y2]に至る方向ベクトルとを合成して、始点から座標[x2,y2]に至る合成ベクトルを生成した場合、座標[x1,y1]から合成ベクトルまでの距離がトレランスTrとなる(図17参照)。
本処理では、トレランスTrが予め定められた閾値未満である場合に合成ベクトルを生成する。一方、トレランスTrが予め定められた閾値以上である場合には合成ベクトルを生成しない。この制限により、本来の加工経路から大きく逸脱することなく、簡素化された加工経路を生成することができる。
図16は、トレランスに基づく経路合成処理を説明するフローチャートである。指令合成部102は、指令解析部101が特定した複数の座標点のうち、最も加工順の若いものを読み込む(SA101)。指令合成部102は、現在位置(始点)を起点として、読み込んだ座標点に至る方向ベクトルを生成する(SA102)。また、生成した方向ベクトルを合成ベクトルの初期値に設定する(SA103乃至SA104)。
図17(a)に示す例では、指令解析部101は、以下の指令
G01 X,Y =[x1,y1],[x2,y2],[x3,y3];
に基づき、以下の複数の座標点を特定する。
[x1,y1]
[x2,y2]
[x3,y3]
指令合成部102は、このうち座標[x1,y1]をまず読込み、始点すなわち現在位置から座標[x1,y1]に至る方向ベクトルを生成する。また、生成した方向ベクトルを合成ベクトルの初期値に設定する。
次に、指令合成部102は、SA101で読み込んだ座標点を新たな起点として、次の加工順の座標点を読み込み(SA101)、起点から読み込んだ座標点に至る方向ベクトルを生成する(SA102)。
図17(a)に示す例では、指令合成部102は座標[x2,y2]を読込み、起点[x1,y1]から座標[x2,y2]に至る方向ベクトルを生成する。
指令合成部102は、生成した方向ベクトルを合成ベクトルに足し込んで、新たな合成ベクトルを生成する(SA103乃至SA107)。
図17(b)に示す例では、始点から座標[x1,y1]に至る合成ベクトルと、座標[x1,y1]から座標[x2,y2]に至る方向ベクトルとを足し込んで、始点から座標[x2,y2]に至る新たな合成ベクトルを生成している。
指令合成部102は、この合成処理にかかるトレランスTr、すなわち新たな合成ベクトルの基となった2つのベクトルの接続点と、新たな合成ベクトルと、の距離を計算する(SA108)。
図17(b)に示す例では、新たな合成ベクトル(始点から座標[x2,y2]に至る新たな合成ベクトル)の基となった2つのベクトル(始点から座標[x1,y1]に至る旧い合成ベクトルと、座標[x1,y1]から座標[x2,y2]に至る方向ベクトル)の接続点は[x1,y1]であるから、[x1,y1]と新たな合成ベクトルとの距離Trを算出する。
指令合成部102は、トレランスTrと許容値(閾値)とを比較する(SA109)。トレランスTrが予め定められた許容値未満であれば、指令合成部102は、SA101乃至SA108の処理を繰り返し、新たな座標点をさらに読み込んで新たな合成ベクトルを生成する。
例えば、図17(b)に示すトレランスTrが許容値未満であれば、指令合成部102は、新たな座標点[x3,y3]を読込み、前回読み込んだ座標点[x2,y2]から新たに読み込んだ座標点[x3,y3]に至る方向ベクトルを生成し、この方向ベクトルと前回の合成ベクトルとを足し込んで、始点から座標[x3,y3]に至る新たな合成ベクトルを生成する。
一方、トレランスTrが予め定められた許容値以上であれば、指令合成部102は、今回生成した合成ベクトルを破棄し、前回生成した合成ベクトルをブロック情報生成部103に転送する。これにより、前回生成した合成ベクトルが、簡素な加工経路として採用される。また、指令合成部102は、前回読み込んだ座標値を起点に設定し、今回生成した方向ベクトルを新たな合成ベクトルとして設定する(SA111乃至SA113)。以下、指令解析部101が特定した複数の座標点を網羅するまで、同様の処理を繰り返す。
例えば、図17(c)に示すトレランスTrが許容値以上であれば、指令合成部102は、今回生成した合成ベクトル(始点から座標[x3,y3]に至る新たな合成ベクトル)を破棄し、前回生成した合成ベクトル(始点から座標[x2,y2]に至る旧い合成ベクトル)を加工経路として確定させる(図17(d))。
(B)経路長に基づく経路合成処理
経路長(Tr)とは、2つの方向ベクトルからなる加工経路を合成した合成ベクトルを生成した場合における、合成ベクトルの長さをいう。例えば、始点から座標[x1,y1]に至る方向ベクトルと、座標[x1,y1]から座標[x2,y2]に至る方向ベクトルとを合成して、始点から座標[x2,y2]に至る合成ベクトルを生成した場合、始点から座標[x2,y2]までの距離が経路長となる(図19参照)。
本処理では、経路長が予め定められた閾値未満である場合に合成ベクトルを生成する。一方、経路長が予め定められた閾値以上である場合には合成ベクトルを生成しない。この制限により、本来の加工経路から大きく逸脱することなく、簡素化された加工経路を生成することができる。
図18は、経路長に基づく経路合成処理を説明するフローチャートである。指令合成部102は、指令解析部101が特定した複数の座標点のうち、最も加工順の若いものを読み込む(SB101)。指令合成部102は、現在位置(始点)を起点として、読み込んだ座標点に至る方向ベクトルを生成する(SB102)。また、生成した方向ベクトルを合成ベクトルの初期値に設定する(SB103乃至SB104)。
図19(a)に示す例では、指令解析部101は、以下の指令
G01 X,Y =[x1,y1],[x2,y2],[x3,y3];
に基づき、以下の複数の座標点を特定する。
[x1,y1]
[x2,y2]
[x3,y3]
指令合成部102は、このうち座標[x1,y1]をまず読込み、始点すなわち現在位置から座標[x1,y1]に至る方向ベクトルを生成する。また、生成した方向ベクトルを合成ベクトルの初期値に設定する。
次に、指令合成部102は、SB101で読み込んだ座標点を新たな起点として、次の加工順の座標点を読み込み(SB101)、起点から読み込んだ座標点に至る方向ベクトルを生成する(SB102)。
図19(a)に示す例では、指令合成部102は座標[x2,y2]を読込み、起点[x1,y1]から座標[x2,y2]に至る方向ベクトルを生成する。
指令合成部102は、生成した方向ベクトルを合成ベクトルに足し込んで、新たな合成ベクトルを生成する(SB103乃至SB107)。
図19(b)に示す例では、始点から座標[x1,y1]に至る合成ベクトルと、座標[x1,y1]から座標[x2,y2]に至る方向ベクトルとを足し込んで、始点から座標[x2,y2]に至る新たな合成ベクトルを生成している。
指令合成部102は、この合成処理により生成された新たな合成ベクトルの経路長を計算する(SB108)。
図19(b)に示す例では、新たな合成ベクトル(始点から座標[x2,y2]に至る新たな合成ベクトル)の長さを算出する。
指令合成部102は、経路長と許容値(閾値)とを比較する(SB109)。経路長が予め定められた許容値未満であれば、指令合成部102は、SB101乃至SB108の処理を繰り返し、新たな座標点をさらに読み込んで新たな合成ベクトルを生成する。
例えば、図19(b)に示す経路長が許容値未満であれば、指令合成部102は、新たな座標点[x3,y3]を読込み、前回読み込んだ座標点[x2,y2]から新たに読み込んだ座標点[x3,y3]に至る方向ベクトルを生成し、この方向ベクトルと前回の合成ベクトルとを足し込んで、始点から座標[x3,y3]に至る新たな合成ベクトルを生成する。
一方、経路長が予め定められた許容値以上であれば、指令合成部102は、今回生成した合成ベクトルを破棄し、前回生成した合成ベクトルをブロック情報生成部103に転送する。これにより、前回生成した合成ベクトルが、簡素な加工経路として採用される。また、指令合成部102は、前回読み込んだ座標値を起点に設定し、今回生成した方向ベクトルを新たな合成ベクトルとして設定する(SB111乃至SB113)。以下、指令解析部101が特定した複数の座標点を網羅するまで、同様の処理を繰り返す。
例えば、図19(c)に示す経路長が許容値以上であれば、指令合成部102は、今回生成した合成ベクトル(始点から座標[x3,y3]に至る新たな合成ベクトル)を破棄し、前回生成した合成ベクトル(始点から座標[x2,y2]に至る旧い合成ベクトル)を加工経路として確定させる(図19(d))。
(C)その他の閾値に基づく経路合成処理
上述の実施の形態では、線分合成の実施要否の判定指標としてトレランスや経路長を用いたが、ふさわしい種々の指標を用いて同様の判定を行うことが可能である。以下に幾つかの例を示す。
・送り速度
指令合成部102は、送り速度が同じ複数の線分を合成することができる。例えば、指令解析部101が以下の例のような加工プログラムを読み込んだ場合を考える。
例:
G01 X,Y,F = [x1,y1,200],[x2,y2,],[x3,y3,],[x4,y4,100],・・・;
指令解析部101の解析により、現在位置(始点)から座標[x1,y1]に至る線分、座標[x1,y1]から座標[x2,y2]に至る線分、及び座標[x2,y2]から座標[x3,y3]に至る線分は、いずれも同じ送り速度F=200が指令されていることが分かる。このとき、指令合成部102は、同じ送り速度Fが指令されている、連続する複数の線分を合成し、1つの線分を生成して加工経路とする。この例では、現在位置(始点)から座標[x3,y3]に至る線分が合成後の加工経路となり、以下を指令したときと同じ結果となる。
合成後:
G01 X,Y,F = [x3,y3,200],[x4,y4,100],… ;
・主軸回転速度
指令合成部102は、主軸回転速度(S指令)が同じ複数の線分を合成することができる。具体的な処理内容は、上述の送り速度に基づく線分合成と同様であるため説明を省略する。
・Gコード
指令合成部102は、Gコード指令が同じ複数の線分を合成することができる。この際、特定のGコード指令のみを合成の対象とすることもできる。例えば、指令合成部102は、Gコード「G01」のみを合成の対象とすることができる。この場合、同じGコード「G01」が指令された複数の連続する線分を合成する。一方、「G02」など他のGコード補間指令がなされている線分は合成しない。
・Tコード、モード指令など
指令合成部102は、Tコード(工具交換)指令、又は加工状態等を示すモード指令が同じ複数の線分を合成することができる。具体的な処理内容は、上述のGコードに基づく線分合成と同様であるため説明を省略する。
図11及び図12のフローチャートを用いて、数値制御装置1の特徴的な動作について説明する。図11は、従来の数値制御装置の動作を示す図である。数値制御装置は、加工プログラムの1ブロックを読み込み(S1)、解析する(S2)。そして、そのブロックに記述された1線分のブロック情報を生成する(S4)。なお、数値制御装置は、S1乃至S3の処理に加え、モーダル切換えや各種信号の判定等の付随的な処理も、1ブロックごとに実施する(S4)。数値制御装置は、加工プログラムの全てのブロックについてS1乃至S4の処理を繰り返す。
図12は、本実施の形態にかかる数値制御装置1の動作を示す図である。数値制御装置1の指令解析部101は、加工プログラムの1ブロックを読み込み(S101)、解析する(S102)。ここで加工プログラムが、上述のフォーマットに従って記述された、1ブロックの指令で複数区間の線分を定義するものである場合(図13(a)参照)、指令解析部101は当該ブロックを解析し、そこに記述された複数の座標値又は移動量を抽出する(図13(b)参照)。
指令合成部102は、指令解析部101が複数の座標値を出力した場合(S103)、それらの座標値(図14(a)参照)に基づいて、加工経路を生成する。このとき、本来の加工経路を構成する複数の方向ベクトルの一部を合成し、簡素化された加工経路で置き換える(S104)(図14(b)及び(c)参照)。
ブロック情報生成部103は、指令合成部102が合成した加工経路のブロック情報を生成する(S105)。その後、モーダル切換えや各種信号の判定等の付随的な処理を実行し(S106)、このブロックの処理を終了する。数値制御装置1は、加工プログラムの全てのブロックについてS101乃至S106の処理を繰り返す。
本実施の形態によれば、数値制御装置1は、本発明では、1ブロックずつプログラムを読み込みながら直線補間ブロックかの判定を行うことなく、また、先読み処理の最大ブロック数に依存することなく、複数ブロックの合成を行うことが可能となる。
なお、本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を損なわない範囲において適宜変更することが可能である。
1 数値制御装置
10 バス
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
18 インタフェース
60 入出力装置
101 指令解析部
102 指令合成部
103 ブロック情報生成部

Claims (5)

  1. 加工プログラムに記述された軸移動指令を解析して、経路のブロック情報を生成する数値制御装置であって、
    前記加工プログラムの1ブロック分の読み込み処理において、
    前記1ブロックにおいて複数区間分の前記軸移動指令が記述された前記加工プログラムを解析して、複数の座標値を特定する指令解析部と、
    前記複数の座標値に基づいて、前記経路を構成する複数の方向ベクトルを生成し、前記方向ベクトルを足し合わせた合成ベクトルを生成する指令合成部と、
    前記合成ベクトルに基づいて、前記ブロック情報を生成するブロック情報生成部と、を有する
    数値制御装置。
  2. 前記指令合成部は、前記合成ベクトルにかかるトレランスが所定の許容値未満である場合に、前記合成ベクトルを生成する
    請求項1記載の数値制御装置。
  3. 前記指令合成部は、前記合成ベクトルの長さが所定の許容値未満である場合に、前記合成ベクトルを生成する
    請求項1記載の数値制御装置。
  4. 前記指令合成部は、複数の前記軸移動指令が同一の送り速度又は主軸回転速度を含む場合に、前記合成ベクトルを生成する
    請求項1記載の数値制御装置。
  5. 前記指令合成部は、複数の前記軸移動指令が特定かつ同一のGコード、Tコード又はモード指令を含む場合に、前記合成ベクトルを生成する
    請求項1記載の数値制御装置。
JP2019000836A 2019-01-07 2019-01-07 数値制御装置 Active JP6871280B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019000836A JP6871280B2 (ja) 2019-01-07 2019-01-07 数値制御装置
US16/725,053 US11036206B2 (en) 2019-01-07 2019-12-23 Numerical controller
DE102019009083.7A DE102019009083A1 (de) 2019-01-07 2019-12-30 Numerische Steuervorrichtung
CN202010013809.3A CN111413927B (zh) 2019-01-07 2020-01-07 数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019000836A JP6871280B2 (ja) 2019-01-07 2019-01-07 数値制御装置

Publications (2)

Publication Number Publication Date
JP2020109599A JP2020109599A (ja) 2020-07-16
JP6871280B2 true JP6871280B2 (ja) 2021-05-12

Family

ID=71402498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019000836A Active JP6871280B2 (ja) 2019-01-07 2019-01-07 数値制御装置

Country Status (4)

Country Link
US (1) US11036206B2 (ja)
JP (1) JP6871280B2 (ja)
CN (1) CN111413927B (ja)
DE (1) DE102019009083A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI757926B (zh) 2020-10-22 2022-03-11 財團法人工業技術研究院 工具機數值控制器軟體動態產生裝置及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4891763A (en) * 1986-04-24 1990-01-02 Brother Kogyo Kabushiki Kaisha NC program editing and programming device
JPH09198116A (ja) * 1996-01-17 1997-07-31 Yaskawa Electric Corp 数値制御装置のブロックデータ処理方法
JPH09288509A (ja) 1996-04-22 1997-11-04 Yaskawa Electric Corp 数値制御装置のブロックデータ処理方法
CN102428419B (zh) * 2009-06-03 2013-12-25 三菱电机株式会社 数控装置以及生产系统
JP6012560B2 (ja) * 2013-08-07 2016-10-25 三菱電機株式会社 数値制御装置
CN105992976B (zh) * 2013-12-27 2019-08-06 株式会社牧野铣床制作所 加工信息管理装置以及工具路径生成装置
JP5850963B2 (ja) * 2014-02-13 2016-02-03 ファナック株式会社 指令経路圧縮機能を有する数値制御装置
WO2015140906A1 (ja) * 2014-03-17 2015-09-24 三菱電機株式会社 数値制御装置
JP6312725B2 (ja) * 2016-02-23 2018-04-18 ファナック株式会社 スカイビング加工におけるテーパ加工でのテーパ角補正機能を有する数値制御装置
JP6363643B2 (ja) * 2016-03-04 2018-07-25 ファナック株式会社 プログラム指令の解析桁数を増やすことを可能とする数値制御装置
CN105945946B (zh) * 2016-05-23 2018-02-02 东莞理工学院 一种基于g代码编程的六轴机械手运动控制方法
JP6441262B2 (ja) * 2016-06-24 2018-12-19 ファナック株式会社 加工プログラム編集装置、方法、及び編集用プログラム
JP6426662B2 (ja) * 2016-06-30 2018-11-21 ファナック株式会社 スカイビング加工制御を行う数値制御装置
JP6407947B2 (ja) * 2016-12-16 2018-10-17 ファナック株式会社 数値制御装置

Also Published As

Publication number Publication date
JP2020109599A (ja) 2020-07-16
US20200218234A1 (en) 2020-07-09
CN111413927A (zh) 2020-07-14
DE102019009083A1 (de) 2020-07-23
US11036206B2 (en) 2021-06-15
CN111413927B (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
US7274969B2 (en) Curve interpolating method
CN102789194B (zh) 具备加工时间预测部以及加工误差预测部的数值控制装置
JP4406034B2 (ja) 5軸加工機を制御する数値制御装置
JP2009146152A (ja) 5軸加工機を制御する数値制御装置
JP2006289583A (ja) 数値制御装置
JP5079165B2 (ja) 数値制御装置及び数値制御方法
JP2007094936A (ja) 数値制御装置
US5936864A (en) Free curve interpolation apparatus and interpolation method
JP2004246498A (ja) 位置制御装置
US10073432B2 (en) Numerical controller having tool tip point control function
JP2016139349A (ja) 加工サイクルの部分修正が可能な数値制御装置
JP6871280B2 (ja) 数値制御装置
JP4796936B2 (ja) 加工制御装置
JP7088820B2 (ja) 数値制御装置
JP4560191B2 (ja) 数値制御装置
JPH0969003A (ja) Cncの工具径補正方式
JP6219866B2 (ja) 表示機能付き数値制御装置および表示プログラム
JP2001154719A (ja) 自由曲線補間方法
KR0160672B1 (ko) 미러 이미지 제어를 위한 수치 제어 방법 및 장치
JPH06180606A (ja) 駆動対象物の制御装置
JP3164512B2 (ja) 数値制御装置
JP2000347715A (ja) 数値制御装置
JPH0561517A (ja) 数値制御装置
JPH0561524A (ja) 数値制御装置
JPH0561516A (ja) 数値制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200609

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: 20210316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210415

R150 Certificate of patent or registration of utility model

Ref document number: 6871280

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150