JP6404863B2 - 加減速フィルタの時定数を動的に切り替える数値制御装置 - Google Patents

加減速フィルタの時定数を動的に切り替える数値制御装置 Download PDF

Info

Publication number
JP6404863B2
JP6404863B2 JP2016127050A JP2016127050A JP6404863B2 JP 6404863 B2 JP6404863 B2 JP 6404863B2 JP 2016127050 A JP2016127050 A JP 2016127050A JP 2016127050 A JP2016127050 A JP 2016127050A JP 6404863 B2 JP6404863 B2 JP 6404863B2
Authority
JP
Japan
Prior art keywords
time constant
unit
interpolation
command data
command
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
JP2016127050A
Other languages
English (en)
Other versions
JP2018005304A5 (ja
JP2018005304A (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 JP2016127050A priority Critical patent/JP6404863B2/ja
Priority to DE102017005811.3A priority patent/DE102017005811B4/de
Priority to US15/630,315 priority patent/US10248103B2/en
Priority to CN201710500293.3A priority patent/CN107544441B/zh
Publication of JP2018005304A publication Critical patent/JP2018005304A/ja
Publication of JP2018005304A5 publication Critical patent/JP2018005304A5/ja
Application granted granted Critical
Publication of JP6404863B2 publication Critical patent/JP6404863B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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 programme 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
    • G05B19/27Numerical 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 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 using an absolute digital measuring device
    • G05B19/31Numerical 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 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 using an absolute digital measuring device for continuous-path 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/36Nc in input of data, input key till input tape
    • G05B2219/36507Select program or execute command, control instructions as function of axis position
    • 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/43006Acceleration, deceleration control

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)

Description

本発明は、数値制御装置に関し、特に加減速フィルタの時定数を動的に切り替える数値制御装置に関する。
サーボモータの加減速を制御する方式として、直線形加減速制御方式が知られている。直線形加減速方式(図15左)では、加速度が急速に変化するために、サーボ制御系やその負荷系にショックを与え、振動を起こしやすいという欠点がある。このような欠点を改善するために、従来より直線形加減速に時定数フィルタをかけることで、接線方向の加加速度(ジャーク)を抑えたベル形加減速方式(図15右)が用いられてきた。ベル形加減速では、加加速度は以下に示す数1式の値になる。
数1式によれば、ベル形加減速において加加速度を所定の制限値以下に抑えるためには、時定数を大きな値とする必要があるが、時定数を大きくしてしまうと加加速度が下がる一方でサイクルタイムが増加するという問題が生じる。そのため、オペレータには機械に大きなショックが発生しない範囲で必要最小限の時定数を使用したいという要求がある。
なお、機械が備える軸の駆動時の速度や加速度、加加速度を制御する従来技術として、例えば特許文献1には、経路の区間ごとに接線方向の制限速度、制限加速度、制限加加速度を与え、制限速度が局所的な極小である区間から前後に加速する速度曲線を作成し、それを接続することで制限を満たす速度曲線を作成する技術が開示されている。
また、特許文献2には、複数の軸に対して個別に時定数が与えられた数値制御装置における加工プログラムの実行において、1軸のみの動作では該当軸の時定数を使用し、複数軸を同時に動作させる場合は該当軸の時定数の中で最大のものを使用して速度制御を行う技術が開示されている。
特許第4673377号公報 特開平06−095720号公報
複数軸で動作させる駆動系において、各軸に使用している部品の剛性が異なるなどの理由で軸ごとに加加速度と加速度の比が異なる場合がある。このような場合には、当該駆動系を動作させる各軸毎(進行方向毎)に必要最小限の時定数が異なるが、従来の数値制御装置では加工中に時定数を変更することができず、時定数フィルタをかける際には軸に関わらず時定数が常に一定となるようにしている。そのため、複数軸で動作させる駆動系を制御する場合には、制御される可能性のある全ての軸において計算された時定数の最大値を使用する必要があり、進行方向によっては必要最低限の時定数よりも大きな時定数を使用することとなるため、サイクルタイムが増加するという問題があった。
例えば、図16に示すように、X軸Y軸の2軸で動作する駆動系において、X軸Y軸共に加速度制限は同じで、Y軸の加加速度制限がX軸の加加速制限の2倍である場合を考える。このような場合、X軸方向に進む時の必要最小限の時定数はY軸に進む時と比べて2倍の数値となる。しかしながら、時定数は途中で変更できないので、X軸の加速度制限、加加速度制限に合わせた時定数(大きい方の時定数)に合わせることとなり、Y軸方向に十分な加加速度が出ず、サイクルタイムが延びる結果となる。
このような問題を解決するために特許文献1に開示される技術を適用する場合、制限される範囲内で適切な値となるように加加速度を直接制御する必要があるが、その場合、制御対象を移動させる経路が複雑になると単位時間あたりに処理しなければならない演算の量が増加するため、高性能なCPU等が必要となり、コスト面での問題がある。
また、特許文献2に開示される技術を適用したとしても、特許文献2の技術では途中で時定数を切り換えることができないため、進行方向の変化に際して最適な時定数を使用し続けることができないという問題がある。
そこで本発明の目的は、機械の制御対象の進行方向に応じた最適な時定数を設定することが可能な数値制御装置を提供することである。
本発明の数値制御装置では、常に最適な時定数(必要最小限の時定数)を使用できるように、制御対象の進行方向に応じて時定数を変更する。
そして、本発明の請求項1に係る発明は、プログラムに基づいて機械が備える軸を制御して制御対象を移動させる数値制御装置において、前記プログラムに含まれるブロックによる指令を先読みして解析し、指令データを出力する指令解析部と、前記指令データに基づいて前記指令毎に前記制御対象の進行方向を特定し、特定した進行方向と設定値とに基づいて以下に示す数2式により時定数を計算する時定数計算部と、前記指令データに対して直線形加減速処理を行う補間前加減速部と、前記時定数計算部が計算した前記指令毎の時定数に基づいて、フィルタ処理用の時定数を設定する時定数設定部と、前記時定数設定部が設定したフィルタ処理用の時定数に基づいて前記補間前加減速部が直線形加減速処理をした前記指令データに対してフィルタ処理を実行するフィルタ処理部と、前記フィルタ処理部がフィルタ処理した前記指令データに基づいて補間周期ごとの各軸の移動量を算出する補間部と、を備えたことを特徴とする数値制御装置である。
本発明の請求項2に係る発明は、前記時定数設定部は、現在設定されているフィルタ処理用の時定数とは異なる時定数を新たなフィルタ処理用の時定数と設定する際に時定数の値が徐々に変更されるように設定する、ことを特徴とする請求項1に記載の数値制御装置である。
本発明の請求項3に係る発明は、前記時定数設定部は、時定数の値が徐々に変更する際に、時定数が増加する場合には現在処理している指令から次に処理するべき指令へと処理対象が切り換わる前に時定数を増加させる、ことを特徴とする請求項2に記載の数値制御装置である。
本発明の請求項4に係る発明は、時定数を徐々に変更する際に1補間周期で変更可能な時定数幅があらかじめ設定されており、前記時定数設定部は、前記時間幅を動的に調整する、ことを特徴とする請求項2または3に記載の数値制御装置である。
本発明によれば、従来技術と比較して時定数が減少するため、ショックを防ぎつつサイクルタイムが短縮される。
本発明の数値制御装置による制御対象の進行方向に応じた時定数の基本的な変更方法を説明する図である。 本発明の数値制御装置による進行方向に応じた時定数の第2の変更方法を説明する図である。 本発明の数値制御装置による進行方向に応じた時定数の第3の変更方法を説明する図である。 本発明の一実施形態による数値制御装置の要部を示すハードウェア構成図である。 本発明の一実施形態による数値制御装置の概略的な機能ブロック図である。 本発明の一実施形態による数値制御装置が時定数を変更する場合のフィルタをかける前後の速度パルスを示す図(1)である。 本発明の一実施形態による数値制御装置が時定数を変更する場合のフィルタをかける前後の速度パルスを示す図(2)である。 本発明の一実施形態による数値制御装置が時定数を変更する場合のフィルタをかける前後の速度パルスを示す図(3)である。 本発明の一実施形態による数値制御装置が時定数を変更する場合のフィルタをかける前後の速度パルスを示す図(4)である。 本発明の一実施形態による数値制御装置が時定数を変更する場合のフィルタをかける前後の速度パルスを示す図(5)である。 本発明の一実施形態による数値制御装置が時定数を変更する場合のフィルタをかける前後の速度パルスを示す図(6)である。 本発明の一実施形態による数値制御装置上で、図1で説明した制御対象の進行方向に応じた時定数の基本的な変更方法を実行する場合の概略的な処理を示すフローチャートである。 本発明の一実施形態による数値制御装置上で、図2で説明した制御対象の進行方向に応じた時定数の第2の変更方法を実行する場合の概略的な処理を示すフローチャートである。 本発明の一実施形態による数値制御装置上で、図3で説明した制御対象の進行方向に応じた時定数の第3の変更方法を実行する場合の概略的な処理を示すフローチャートである。 直線形加減速とベル形加減速について説明する図である。 従来技術による時定数の設定における問題点を説明する図である。
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明の数値制御装置による制御対象の進行方向に応じた時定数の基本的な変更方法を説明する図である。本発明の数値制御装置は、制御対象を各軸の方向に移動する場合にはそれぞれの軸の加速度制限、加加速度制限から決定される必要最小限の時定数を使用し、2軸以上を同時に動かして制御対象をこれら2軸以上の移動量を合成した方向へと移動させる場合には以下の数2式により求まる必要最小限の時定数を使用する。なお、数2式においてixは軸を意味しており、数2式右辺の分子は進行方向加速度の各軸方向成分であり、分母は各軸の許容加加速度(加加速度制限)である。つまり、数2式は各軸について進行方向加速度の当該軸方向成分を当該軸の許容加加速度で割った値を計算し、計算した値の内の最大値を必要最小限の時定数とすることを意味している。
図2は、本発明の数値制御装置による進行方向に応じた時定数の第2の変更方法を説明する図である。一般に急激な時定数の変更はショックの原因となるため、本発明の数値制御装置は、制御対象の進行方向が変化した際に時定数を変更する際には、徐々に時定数を変更することでショックの発生を防ぐようにする。
図3は、本発明の数値制御装置による進行方向に応じた時定数の第3の変更方法を説明する図である。上記した背景技術でも説明したように、各軸において必要最小限の時定数よりも小さな時定数を使用するとショックが発生する。そこで、本発明の数値制御装置は、徐々に時定数を増加させる際には各軸の必要最小限の時定数よりも小さな時定数が使用されないように進行方向が変わる前に時定数が増加しきるようにする。
なお、本発明の数値制御装置は、徐々に時定数を変更する際には、1つの補間周期で変更できる時定数幅を予め定めておくようにしても良いし、過去に行った加工におけるショックの発生状況などに基づいて1つの補間周期で変更できる時定数幅を動的に変更できるようにしても良い。
以下では、本発明の数値制御装置の構成について説明する。
図4は、本発明の一実施形態による数値制御装置と該数値制御装置によって駆動制御される工作機械の要部を示すハードウェア構成図である。数値制御装置1が備えるCPU11は、数値制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス20を介して読み出し、該システム・プログラムに従って数値制御装置1全体を制御する。RAM13には一時的な計算データや表示データ及びCRT/MDIユニット70を介してオペレータが入力した各種データ等が格納される。
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされるなどして、数値制御装置1の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ14には、インタフェース15を介して読み込まれた後述する加工プログラムやCRT/MDIユニット70を介して入力された加工プログラムが記憶されている。不揮発性メモリ14には更に、加工プログラムを運転するために用いられる加工プログラム運転処理用プログラムや、軸制御処理用プログラム等が記憶されるが、これらプログラムは実行時にはRAM13に展開される。また、ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理などを実行するための各種のシステム・プログラムがあらかじめ書き込まれている。本発明を実行する加工プログラム等の各種加工プログラムはインタフェース15やCRT/MDIユニット70を介して入力し、不揮発性メモリ14に格納することができる。
インタフェース15は、数値制御装置1とアダプタ等の外部機器72と接続するためのインタフェースである。外部機器72側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置1内で編集した加工プログラムは、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置1に内蔵されたシーケンス・プログラムで工作機械の周辺装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
CRT/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18はCRT/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。インタフェース19は手動パルス発生器等を備えた操作盤71に接続されている。
工作機械が備える軸を制御するための軸制御回路30はCPU11からの軸の移動指令量を受けて、軸の指令をサーボアンプ40に出力する。サーボアンプ40はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ50を駆動する。軸のサーボモータ50は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30にフィードバックし、位置・速度のフィードバック制御を行う。なお、図4のハードウェア構成図では軸制御回路30、サーボアンプ40、サーボモータ50は1つずつしか示されていないが、実際には工作機械に備えられた軸の数だけ用意される。また、図4は、サーボモータ50からの位置・速度のフィードバックについては省略している。
スピンドル制御回路60は、工作機械への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ62には歯車あるいはベルト等でポジションコーダ63が結合され、ポジションコーダ63が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはCPU11によって読み取られる。
図5は、本発明により提供される制御対象の進行方向に応じて時定数を変更する機能を図4に示した数値制御装置1に対してシステム・プログラムにより実装した場合の一実施形態による概略的な機能ブロック図を示している。図5に示されている各機能手段は、図4に示したCPU11がシステム・プログラムを実行して各機能を提供することにより実現される。本実施形態の数値制御装置1は、指令解析部100、時定数計算部110、補間前加減速部120、時定数設定部130、フィルタ処理部140、補間部150、サーボモータ制御部160を備える。
指令解析部100は、図示しないメモリに記憶されるプログラム等から制御対象となる機械の動作を指令するブロックを先読みして解析し、解析結果に基づいてサーボモータ50により制御対象の移動を指令する指令データを作成し、作成した該指令データを時定数計算部110および補間前加減速部120へと出力する。指令解析部100が作成する指令データは、プログラムから先読みしたブロックにより指令毎に1つの指令データを作成するようにしても良いし、プログラムから先読みしたブロックにより指令される移動経路を微小線分へと分割し、該分割した微小線分の経路毎に1つの指令データを作成するようにしても良く、それぞれの指令データにより指令される制御対象の進行方向が同一方向を向いていれば問題ない。
時定数計算部110は、指令解析部100から出力された指令データにより指令される制御対象の進行方向を特定し、特定した進行方向と軸毎の設定値(速度制限、加速度制限、加加速度制限など)とに基づいて上記した数2式を用いて最適な時定数(必要最小限の時定数)を指令データ毎に計算し、計算した指令データ毎の時定数(以下、最適時定数)を時定数設定部130へと出力する。
補間前加減速部120は、指令解析部100から出力された指令データに対して補間前直線形加減速処理を実行し、補間前直線形加減速処理後の指令データを時定数設定部130およびフィルタ処理部140へと出力する。
時定数設定部130は、時定数計算部110から出力された指令データ毎の最適時定数に基づいて、現在の補間周期(今処理をしている補間周期)における時定数を決定し、決定した時定数をフィルタ処理用の時定数としてフィルタ処理部140へと設定する。時定数設定部130は、単純にそれぞれの補間周期に処理している指令データの最適時定数を今補間周期の時定数としてフィルタ処理部140へと設定するようにしても良いし、指令データが変わる前後において時定数の変更を徐々に行うように、前後の指令データの最適時定数に基づいてそれぞれの補間周期の時定数を決定し、決定した時定数をフィルタ処理部140へ設定するようにしても良い。なお、指令データが変わる前において時定数の変更を徐々に行うようにする場合には、時定数の変化に必要な時間を見積もり、時定数変化を開始する補間周期を計算する。時定数の変化に必要な時間を見積もる際には、補間前加減速部120から出力された補間前直線形加減速処理後の指令データから、時定数を変更する補間周期などを決定するために必要な情報を取得する。
フィルタ処理部140は、補間前加減速部120から出力された補間前直線形加減速処理後の指令データに対して、時定数設定部130が設定したフィルタ用の時定数を用いてフィルタ処理を行い、フィルタされた指令データをサーボモータ制御部160へと出力する。
補間部150は、フィルタ処理部140から出力されたフィルタされた指令データに対して各軸の補間周期毎の点として補間データを生成し、生成した補間データをそれぞれのサーボモータ50を制御するサーボモータ制御部160へと出力する。
そして、サーボモータ制御部160は、補間部150から出力された各軸の補間データに基づいて制御対象となる機械の軸を駆動するサーボモータ50を制御する。
以下では、上記構成を備えた数値制御装置1による変更された時定数に基づくフィルタ処理の実施例を図6〜11を用いて説明する。図6〜11は、本実施形態の数値制御装置1が時定数を変更する場合のフィルタをかける前の速度パルス(入力パルス)と、フィルタをかけた後の速度パルス(出力パルス)を入れる出力配列とを補間周期毎に示した図である。なお、図6〜図11における速度パルスは、補間周期毎の進行方向の移動量を意味している。それぞれの補間周期には、時定数設定部130によりその時点における時定数が設定されている。なお、図6〜11では説明を簡単にするために、1補間周期を単位とした数値で時定数を示している。
図6は補間周期iのフィルタ処理開始時の状態を示している。図6に示すように、補間周期iに対して時定数設定部130が時定数を5に設定している場合、図7に示すように、フィルタ処理部140は補間周期iにおける入力パルスを時定数の数(補間周期iにおいては5)で等分し、補間周期i〜補間周期(i+4)に対応する出力配列にそれぞれ積み上げ(積算)をする。
次に、補間周期(i+1)に対して時定数設定部130が時定数を5に設定している場合、図8に示すように、フィルタ処理部140は補間周期iにおける入力パルスを時定数の数(補間周期(i+1)においては5)で等分し、補間周期(i+1)〜補間周期(i+5)に対応する出力配列にそれぞれ積み上げ(積算)をする。
更に、補間周期(i+2)に対して時定数設定部130が時定数を6に設定している場合、図9に示すように、フィルタ処理部140は補間周期iにおける入力パルスを時定数の数(補間周期(i+2)においては6)で等分し、補間周期(i+2)〜補間周期(i+7)に対応する出力配列にそれぞれ積み上げ(積算)をする。補間周期(i+3)においても同様の処理を行う(図10)。
以下、同様の処理を繰り返すことにより、図11に示すように入力パルスに対してフィルタをかけられた出力パルスが出力配列に設定される。各出力配列に積み上げられた出力パルスは、補間部150に出力され、各軸の補間データが生成される。
図12は、図1で説明した制御対象の進行方向に応じた時定数の基本的な変更方法を図5に示した数値制御装置1上で実行される処理の概略的なフローチャートである。図12に示したフローチャートの処理は制御周期毎に実行される。
●[ステップSA01]指令解析部100は、加工プログラムから制御対象となる機械の動作を指令するブロックを先読みして解析し、解析結果に基づいてサーボモータ50により制御対象の移動を指令する指令データを作成する。
●[ステップSA02]時定数計算部110は、ステップSA01で作成された指令データにより指令される制御対象の進行方向を特定し、特定した進行方向と軸毎の設定値(速度制限、加速度制限、加加速度制限など)とに基づいて上記した数2式を用いて最適時定数を指令データ毎に計算する。
●[ステップSA03]補間前加減速部120は、ステップSA01で作成された指令データに対して補間前直線形加減速処理を実行し、補間前直線形加減速処理後の指令データを生成する。
●[ステップSA04]時定数設定部130は、ステップSA02で計算された指令データ毎の最適時定数に基づいて、現在の補間周期(今処理をしている補間周期)における最適時定数を特定し、特定した最適時定数をフィルタ処理用時定数としてフィルタ処理部140へと設定する。
●[ステップSA05]フィルタ処理部140は、ステップSA03で生成された補間前直線形加減速処理後の指令データに対して、ステップSA04で設定されたフィルタ処理用の時定数を用いてフィルタ処理を行い、フィルタされた指令データを生成する。
●[ステップSA06]補間部150は、ステップSA05でフィルタされた指令データに対して各軸の補間周期毎の点として補間データを生成する。
●[ステップSA07]サーボモータ制御部160は、ステップSA06で生成された各軸の補間データに基づいて制御対象となる機械の軸を駆動するサーボモータ50を制御する。
図13は、図2で説明した制御対象の進行方向に応じた時定数の第2の変更方法を図5に示した数値制御装置1上で実行される処理の概略的なフローチャートである。図13に示したフローチャートの処理は制御周期毎に実行される。
●[ステップSB01]指令解析部100は、加工プログラムから制御対象となる機械の動作を指令するブロックを先読みして解析し、解析結果に基づいてサーボモータ50により制御対象の移動を指令する指令データを作成する。
●[ステップSB02]時定数計算部110は、ステップSB01で作成された指令データにより指令される制御対象の進行方向を特定し、特定した進行方向と軸毎の設定値(速度制限、加速度制限、加加速度制限など)とに基づいて上記した数2式を用いて最適時定数を指令データ毎に計算する。
●[ステップSB03]補間前加減速部120は、ステップSB01で作成された指令データに対して補間前直線形加減速処理を実行し、補間前直線形加減速処理後の指令データを生成する。
●[ステップSB04]時定数設定部130は、ステップSB02で計算された指令データ毎の最適時定数に基づいて、現在の補間周期(今処理をしている補間周期)における最適時定数を特定し、特定した現在の補間周期における最適時定数と、フィルタ処理部140に現在設定されているフィルタ処理用の時定数とを比較する。現在の補間周期における最適時定数の方が大きい場合にはステップSB05へ、等しい場合はステップSB06へ、小さい場合はステップSB07へ、それぞれ処理を移行する。
●[ステップSB05]時定数設定部130は、フィルタ処理部140に現在設定されているフィルタ処理用の時定数を、現在の補間周期における最適時定数を上限として予め設定されている1補間周期で変更可能な時定数幅内で増加させ、ステップSB08へと処理を移行する。
●[ステップSB06]時定数設定部130は、フィルタ処理部140に現在設定されているフィルタ処理用の時定数を変更せずに、ステップSB08へと処理を移行する。
●[ステップSB07]時定数設定部130は、フィルタ処理部140に現在設定されているフィルタ処理用の時定数を、現在の補間周期における最適時定数を下限として予め設定されている1補間周期で変更可能な時定数幅内で減少させ、ステップSB08へと処理を移行する。
●[ステップSB08]フィルタ処理部140は、ステップSB03で生成された補間前直線形加減速処理後の指令データに対して、ステップSB05〜SB07で設定されたフィルタ処理用の時定数を用いてフィルタ処理を行い、フィルタされた指令データを生成する。
●[ステップSB09]補間部150は、ステップSB08でフィルタされた指令データに対して各軸の補間周期毎の点として補間データを生成する。
●[ステップSB10]サーボモータ制御部160は、ステップSB09で生成された各軸の補間データに基づいて制御対象となる機械の軸を駆動するサーボモータ50を制御する。
図14は、図3で説明した制御対象の進行方向に応じた時定数の第3の変更方法を図5に示した数値制御装置1上で実行される処理の概略的なフローチャートである。図14に示したフローチャートの処理は制御周期毎に実行される。
●[ステップSC01]指令解析部100は、加工プログラムから制御対象となる機械の動作を指令するブロックを先読みして解析し、解析結果に基づいてサーボモータ50により制御対象の移動を指令する指令データを作成する。
●[ステップSC02]時定数計算部110は、ステップSC01で作成された指令データにより指令される制御対象の進行方向を特定し、特定した進行方向と軸毎の設定値(速度制限、加速度制限、加加速度制限など)とに基づいて上記した数2式を用いて最適時定数を指令データ毎に計算する。
●[ステップSC03]補間前加減速部120は、ステップSC01で作成された指令データに対して補間前直線形加減速処理を実行し、補間前直線形加減速処理後の指令データを生成する。
●[ステップSC04]時定数設定部130は、ステップSC02で計算された指令データ毎の最適時定数に基づいて、現在の補間周期で処理する指令データの最適時定数からみて次の指令データの最適時定数が増加するか否かを判定する。次の指令データの最適時定数が増加しない場合にはステップSC05へ処理を移行し、増加する場合にはステップSC06へ処理を移行する。
●[ステップSC05]時定数設定部130は、現在の補間周期で処理する指令データの最適時定数を現在の補間周期の目標時定数として採用し、ステップSC08へと処理を移行する。
●[ステップSC06]時定数設定部130は、予め設定された1補間周期で変更可能な時定数幅を考慮して時定数の増加開始位置(時定数の増加を開始する補間周期)を計算する。
●[ステップSC07]時定数設定部130は、現在の補間周期がステップSC06で計算した時定数の増加開始位置を越えている場合、次の指令データの最適時定数を現在の補間周期の目標時定数として採用する。
●[ステップSC08]時定数設定部130は、ステップSC04〜ステップSC07で採用された現在の補間周期における目標時定数と、フィルタ処理部140に現在設定されているフィルタ処理用の時定数とを比較する。現在の補間周期における目標時定数の方が大きい場合にはステップSC09へ、等しい場合はステップSC10へ、小さい場合はステップSC11へ、それぞれ処理を移行する。
●[ステップSC09]時定数設定部130は、フィルタ処理部140に現在設定されているフィルタ処理用の時定数を、現在の補間周期における目標時定数を上限として予め設定されている1補間周期で変更可能な時定数幅内で増加させ、ステップSC12へと処理を移行する。
●[ステップSC10]時定数設定部130は、フィルタ処理部140に現在設定されているフィルタ処理用の時定数を変更せずに、ステップSC12へと処理を移行する。
●[ステップSB11]時定数設定部130は、フィルタ処理部140に現在設定されているフィルタ処理用の時定数を、現在の補間周期における目標時定数を下限として予め設定されている1補間周期で変更可能な時定数幅内で減少させ、ステップSC12へと処理を移行する。
●[ステップSC12]フィルタ処理部140は、ステップSC03で生成された補間前直線形加減速処理後の指令データに対して、ステップSC09〜SC11で設定されたフィルタ処理用の時定数を用いてフィルタ処理を行い、フィルタされた指令データを生成する。
●[ステップSC13]補間部150は、ステップSC12でフィルタされた指令データに対して各軸の補間周期毎の点として補間データを生成する。
●[ステップSC14]サーボモータ制御部160は、ステップSC13で生成された各軸の補間データに基づいて制御対象となる機械の軸を駆動するサーボモータ50を制御する。
図13、14に示したフローチャートでは、1補間周期で変更可能な時定数幅は予め設定されている値をそのまま利用しているが、例えば時定数の変更を行う際に発生するショックの大きさを記録するようにしておき、発生したショックの大きさが予め設定されている許容最大値を超える場合には1補間周期で変更可能な時定数幅を小さくするように調整し、ショックの大きさが予め設定されている許容最小値よりも小さい場合には1補間周期で変更可能な時定数幅を大きくするように調整するようにしても良い。このような調整を行うことにより、1補間周期で変更可能な時定数幅を最適値に調整することが可能となる。
以上、ここまで本発明の実施の形態について説明したが、本発明は上記した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
1 数値制御装置
11 CPU
12 ROM
13 RAM
14 不揮発性メモリ
15 インタフェース
16 (プログラマブル・マシン・コントローラ)
17 ユニット
18 インタフェース
19 インタフェース
20 バス
30 軸制御回路
40 サーボアンプ
50 サーボモータ
60 スピンドル制御回路
61 スピンドルアンプ
62 スピンドルモータ
63 ポジションコーダ
70 CRT/MDIユニット
71 操作盤
72 外部機器
100 指令解析部
110 時定数計算部
120 補間前加減速部
130 時定数設定部
140 フィルタ処理部
150 補間部
160 サーボモータ制御部

Claims (4)

  1. プログラムに基づいて機械が備える軸を制御して制御対象を移動させる数値制御装置において、
    前記プログラムに含まれるブロックによる指令を先読みして解析し、指令データを出力する指令解析部と、
    前記指令データに基づいて前記指令毎に前記制御対象の進行方向を特定し、特定した進行方向と設定値とに基づいて以下に示す数2式により時定数を計算する時定数計算部と、
    前記指令データに対して直線形加減速処理を行う補間前加減速部と、
    前記時定数計算部が計算した前記指令毎の時定数に基づいて、フィルタ処理用の時定数を設定する時定数設定部と、
    前記時定数設定部が設定したフィルタ処理用の時定数に基づいて前記補間前加減速部が直線形加減速処理をした前記指令データに対してフィルタ処理を実行するフィルタ処理部と、
    前記フィルタ処理部がフィルタ処理した前記指令データに基づいて補間周期ごとの各軸の移動量を算出する補間部と、
    を備えたことを特徴とする数値制御装置。
  2. 前記時定数設定部は、現在設定されているフィルタ処理用の時定数とは異なる時定数を新たなフィルタ処理用の時定数と設定する際に時定数の値が徐々に変更されるように設定する、
    ことを特徴とする請求項1に記載の数値制御装置。
  3. 前記時定数設定部は、時定数の値が徐々に変更する際に、時定数が増加する場合には現在処理している指令から次に処理するべき指令へと処理対象が切り換わる前に時定数を増加させる、
    ことを特徴とする請求項2に記載の数値制御装置。
  4. 時定数を徐々に変更する際に1補間周期で変更可能な時定数幅があらかじめ設定されており、
    前記時定数設定部は、前記時定数幅を動的に調整する、
    ことを特徴とする請求項2または3に記載の数値制御装置。
JP2016127050A 2016-06-27 2016-06-27 加減速フィルタの時定数を動的に切り替える数値制御装置 Active JP6404863B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016127050A JP6404863B2 (ja) 2016-06-27 2016-06-27 加減速フィルタの時定数を動的に切り替える数値制御装置
DE102017005811.3A DE102017005811B4 (de) 2016-06-27 2017-06-20 Numerische Steuervorrichtung, die eine Zeitkonstante für ein Beschleunigungs-/Verzögerungsfilter dynamisch wechselt
US15/630,315 US10248103B2 (en) 2016-06-27 2017-06-22 Numerical controller dynamically switching time constant for acceleration and deceleration filter
CN201710500293.3A CN107544441B (zh) 2016-06-27 2017-06-27 动态地切换加减速滤波的时间常数的数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016127050A JP6404863B2 (ja) 2016-06-27 2016-06-27 加減速フィルタの時定数を動的に切り替える数値制御装置

Publications (3)

Publication Number Publication Date
JP2018005304A JP2018005304A (ja) 2018-01-11
JP2018005304A5 JP2018005304A5 (ja) 2018-09-20
JP6404863B2 true JP6404863B2 (ja) 2018-10-17

Family

ID=60579505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016127050A Active JP6404863B2 (ja) 2016-06-27 2016-06-27 加減速フィルタの時定数を動的に切り替える数値制御装置

Country Status (4)

Country Link
US (1) US10248103B2 (ja)
JP (1) JP6404863B2 (ja)
CN (1) CN107544441B (ja)
DE (1) DE102017005811B4 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3131202A1 (de) * 2015-08-11 2017-02-15 Siemens Aktiengesellschaft Filterumschaltverfahren für eine maschinensteuerung
JP6445079B2 (ja) * 2017-04-26 2018-12-26 ファナック株式会社 サーボモータ制御装置、及び、サーボモータ制御システム
JP7035733B2 (ja) * 2018-03-30 2022-03-15 ブラザー工業株式会社 工作機械及び平滑化方法
JP6823034B2 (ja) * 2018-10-31 2021-01-27 ファナック株式会社 数値制御装置
JP7303014B2 (ja) * 2019-05-07 2023-07-04 ファナック株式会社 制御装置
CN110253578B (zh) * 2019-06-21 2021-08-13 广东工业大学 Scara机器人及其运动控制方法、系统及相关组件
CN111913440A (zh) * 2020-07-29 2020-11-10 深圳市汇川技术股份有限公司 机加工设备的加工速度优化方法、机加工设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4509126A (en) * 1982-06-09 1985-04-02 Amca International Corporation Adaptive control for machine tools
JPH03152604A (ja) * 1989-11-09 1991-06-28 Fanuc Ltd 数値制御装置の送り速度制御方法
JPH03290706A (ja) * 1990-04-09 1991-12-20 Mitsubishi Electric Corp 数値制御装置
JPH0527845A (ja) * 1991-07-22 1993-02-05 Okuma Mach Works Ltd 制御パラメータ変更機能を有する数値制御装置
JPH0695720A (ja) 1992-09-10 1994-04-08 Fanuc Ltd 数値制御方式
JPH06131029A (ja) * 1992-10-15 1994-05-13 Fanuc Ltd 加速度定数切り換え方式
JPH06274220A (ja) * 1993-03-23 1994-09-30 Mitsubishi Heavy Ind Ltd Nc装置
JP3203288B2 (ja) * 1994-02-25 2001-08-27 オークマ株式会社 数値制御装置
JP3297643B2 (ja) * 1997-10-14 2002-07-02 東芝機械株式会社 送り駆動系のサーボ制御方法およびサーボ制御装置
WO2000039646A1 (fr) * 1998-12-24 2000-07-06 Mitsubishi Denki Kabushiki Kaisha Dispositif de commande numerique
JP3681972B2 (ja) 2000-10-18 2005-08-10 ファナック株式会社 加減速制御方法
CN1630838B (zh) * 2002-02-07 2010-05-26 三菱电机株式会社 数值控制方法及数值控制系统
JP4337689B2 (ja) * 2004-08-30 2009-09-30 トヨタ自動車株式会社 内燃機関の制御装置
DE102004059966B3 (de) * 2004-12-13 2006-06-22 Siemens Ag Verfahren und Einrichtung zur Bewegungsführung eines bewegbaren Maschinenelements einer numerisch gesteurten Maschine
JP4467625B2 (ja) * 2008-03-31 2010-05-26 三菱電機株式会社 数値制御装置および数値制御方法
WO2013038543A1 (ja) 2011-09-15 2013-03-21 三菱電機株式会社 加工プログラム作成装置、数値制御装置、加工システム、加工プログラム作成方法、数値制御方法、および加工プログラム
JP5279890B2 (ja) * 2011-12-29 2013-09-04 株式会社大阪真空機器製作所 ラジアル方向制御器及び、それが適用された磁気軸受装置
JP5715189B2 (ja) * 2013-06-12 2015-05-07 ファナック株式会社 オーバライドの変化時に送り速度を円滑に変更する機能を有する数値制御装置
JP6133825B2 (ja) * 2014-08-28 2017-05-24 ファナック株式会社 反転時の最適な加速度を算出する数値制御装置

Also Published As

Publication number Publication date
CN107544441B (zh) 2019-12-20
US10248103B2 (en) 2019-04-02
US20170371315A1 (en) 2017-12-28
DE102017005811B4 (de) 2024-03-14
CN107544441A (zh) 2018-01-05
DE102017005811A1 (de) 2017-12-28
JP2018005304A (ja) 2018-01-11

Similar Documents

Publication Publication Date Title
JP6404863B2 (ja) 加減速フィルタの時定数を動的に切り替える数値制御装置
JP6378233B2 (ja) 固定サイクルにおける余りステップの順序変更もしくは再分配による高速化機能を備えた数値制御装置
JP6200456B2 (ja) 工作機械とロボット間の干渉チェックシステム
JP5860072B2 (ja) ねじ切り中のびびりの発生を抑制する機能を備えた数値制御装置
JP6121972B2 (ja) モータ停止距離を短縮する数値制御装置
JP6174652B2 (ja) 加工エリアの大きさによるパラメータの自動選定機能を有する数値制御装置
JP6321583B2 (ja) 速度変化に対応した3次元干渉チェックを行う数値制御装置
JP6363642B2 (ja) 接線連続のコーナにおけるコーナ経路の最適化機能を有する数値制御装置
JP6133825B2 (ja) 反転時の最適な加速度を算出する数値制御装置
CN106493469B (zh) 能够根据姿势来控制加工条件的数值控制装置
JP6333797B2 (ja) 主軸負荷により送り速度を制御する数値制御装置
JP5715189B2 (ja) オーバライドの変化時に送り速度を円滑に変更する機能を有する数値制御装置
JP6396273B2 (ja) ワークとの干渉を避ける位置決めを行う数値制御装置
JP7376260B2 (ja) 数値制御装置
CN108873818B (zh) 数值控制装置
CN105549543A (zh) 数值控制装置
JP6077601B2 (ja) 加工プログラムのサイクルタイムを短縮する数値制御装置
CN106483935A (zh) 数值控制装置
JP6100816B2 (ja) 位置偏差過大を抑制する速度制御を行う数値制御装置
CN115668078A (zh) 根据加工程序控制攻丝加工的数值控制装置
CN109308050B (zh) 数值控制装置
JP6267161B2 (ja) 平行する2軸の軸制御を行う数値制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180809

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180816

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180913

R150 Certificate of patent or registration of utility model

Ref document number: 6404863

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150