JP5381806B2 - 工作機械の数値制御装置、工作機械の数値制御方法、及び工作機械の数値制御プログラム - Google Patents

工作機械の数値制御装置、工作機械の数値制御方法、及び工作機械の数値制御プログラム Download PDF

Info

Publication number
JP5381806B2
JP5381806B2 JP2010040310A JP2010040310A JP5381806B2 JP 5381806 B2 JP5381806 B2 JP 5381806B2 JP 2010040310 A JP2010040310 A JP 2010040310A JP 2010040310 A JP2010040310 A JP 2010040310A JP 5381806 B2 JP5381806 B2 JP 5381806B2
Authority
JP
Japan
Prior art keywords
movement
movement command
deceleration
stop
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
JP2010040310A
Other languages
English (en)
Other versions
JP2011175546A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010040310A priority Critical patent/JP5381806B2/ja
Publication of JP2011175546A publication Critical patent/JP2011175546A/ja
Application granted granted Critical
Publication of JP5381806B2 publication Critical patent/JP5381806B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Numerical Control (AREA)

Description

本発明は、工作機械の数値制御技術に関し、特に、数値制御装置に停止指令が入力された場合に移動指令の出力を停止させる減速停止制御技術を改良したものである。
従来、工作機械の数値制御装置は、NCプログラム(NC言語で記載された)に基づいて複数の移動指令を作成して所定微小時間(例えば、2ms)毎に順次駆動部側に出力するとともに、停止指令が入力された場合に移動指令の出力を停止する。しかし、停止指令の入力時直ちに移動指令の出力を停止すると、工作機械が急停止し、特にモータ軸が高速回転している場合には大きな衝撃が発生する。
そこで、特許文献1に記載の工作機械の数値制御方法では、ファンクションジェネレータが出力した移動指令を移動指令バッファに一旦蓄積し、その移動指令を移動指令バッファから積算器に出力する。つまり、複数の移動指令を順次移動指令バッファを介して遅延させて出力するようにして、停止指令が入力された場合には、移動指令バッファへの移動指令の蓄積を中止するとともに、工作機械の急停止を抑制するように、移動指令バッファに蓄積した複数の移動指令を用いて減速停止させる。
具体的には、停止指令の入力時から直ちに、減速停止させるために移動指令バッファに蓄積した移動指令から複数の減速用移動指令を作成して順次出力する。すると、停止時に移動指令バッファ内には出力済みとなっていない移動指令が残り、その残存移動指令が運転再開時の加速用になる。つまり、運転再開時、加速させるために移動指令バッファ内の残存移動指令から複数の加速用移動指令を作成して順次出力する。
特開平11−154009号公報
特許文献1に記載の工作機械の数値制御方法では、減速停止時、移動指令バッファに蓄積した移動指令を全て出力せず、運転再開時の加速用に残すようにしている。故に、工作機械の制御上の機械位置(座標)については、ファンクションジェネレータが出力した移動指令に基づいて更新しつつ記憶しているため、その制御上の機械位置と実際の機械位置とに不整合が生じる。
本発明の目的は、工作機械の急停止、並びにそれにより発生する衝撃を緩和するとともに、減速停止時の工作機械の制御上の機械位置(座標)と実際の機械位置とを整合させることができる、工作機械の数値制御技術を提供することである。
請求項1の発明は、NCプログラムに基づいて複数の移動指令を作成して所定微小時間毎に順次出力するとともに、停止指令が入力された場合に移動指令の出力を停止する工作機械の数値制御装置において、加減速に必要な時間分の複数の移動指令を蓄積可能な移動指令バッファを有し、この移動指令バッファに蓄積した複数の移動指令を順次出力するように構成し、前記停止指令が入力された場合に、移動指令バッファへの移動指令の蓄積を中止するとともに、移動指令バッファに蓄積した移動指令を全て出力する減速停止制御手段であって、所定の減速度で減速停止させるために前記蓄積した移動指令から複数の減速用移動指令を作成して順次出力する減速停止制御手段を備え、前記減速停止制御手段は、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離を算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離を算出し、前記残存移動距離が前記減速停止距離以下か否か判定し、否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力し、肯定判定した場合には各減速用移動指令を作成して出力することを特徴とする。
この発明では、停止指令が入力されない場合には、複数の移動指令を作成して微小時間毎に順次移動指令バッファに蓄積し、この複数の移動指令を微小時間毎に順次移動指令バッファから出力する。つまり、複数の移動指令を順次移動指令バッファを介して遅延させて出力する。停止指令が入力された場合、減速停止制御手段が、移動指令バッファへの移動指令の蓄積を中止するとともに、移動指令バッファに蓄積した移動指令を全て出力し、この場合、所定の減速度で減速停止させるために移動指令バッファに蓄積した移動指令から複数の減速用移動指令を作成して順次出力する。
また、移動指令バッファからの移動指令の出力毎に低下する残存移動距離が減速停止距離に必要な適当距離よりも大きい場合には、移動指令バッファ内の各移動指令をそのまま出力し、残存移動距離が減速停止距離に必要な適当距離になった場合には、その後、各減速用移動指令を作成して出力する。
さらに、停止指令が入力された場合に、移動指令バッファ内の各移動指令をそのまま出力するか各減速用移動指令を作成して出力するかの判定が簡単化し、移動指令バッファに蓄積した移動指令を全て出力して所定の減速度で減速停止させる処理が簡単化する。
請求項の発明は、NCプログラムに基づいて複数の移動指令を作成して所定微小時間毎に順次出力するとともに、停止指令が入力された場合に移動指令の出力を停止する数値制御装置を備え、この数値制御装置が加減速に必要な時間分の複数の移動指令を蓄積可能な移動指令バッファを有し、この移動指令バッファに蓄積した複数の移動指令を順次出力するように構成した工作機械の数値制御方法において、前記数値制御装置に停止指令が入力された場合に、移動指令バッファへの移動指令の蓄積を中止させる第1のステップと、次に、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離を算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離を算出し、前記残存移動距離が前記減速停止距離以下か否か判定する第2のステップと、次に、前記数値制御装置に移動指令バッファに蓄積した移動指令を全て出力させる第のステップであって、前記判定において否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力し、肯定判定した場合には所定の減速度で減速停止させるために前記蓄積した移動指令から複数の減速用移動指令を作成して順次出力させる第のステップとを備えたことを特徴とする。従って、請求項1と同様の作用を奏する。
請求項の発明は、NCプログラムに基づいて複数の移動指令を作成して所定微小時間毎に順次出力するとともに、停止指令が入力された場合に移動指令の出力を停止する数値制御装置を備え、この数値制御装置が加減速に必要な時間分の複数の移動指令を蓄積可能な移動指令バッファを有し、この移動指令バッファに蓄積した複数の移動指令を順次出力する処理を数値制御装置のコンピュータに実行させる工作機械の数値制御プログラムにおいて、前記数値制御装置に停止指令が入力された場合に、移動指令バッファへの移動指令の蓄積を中止させる第1の手順と、次に、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離を算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離を算出し、前記残存移動距離が前記減速停止距離以下か否か判定する第2の手順と、次に、前記移動指令バッファに蓄積した移動指令を全て出力させる第の手順であって、前記判定において否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力させ、肯定判定した場合には所定の減速度で減速停止させるために前記蓄積した移動指令から複数の減速用移動指令を作成して順次出力させる第の手順とを前記コンピュータに実行させることを特徴とする。従って、請求項1と同様の作用を奏する。
請求項1の工作機械の数値制御装置によれば、停止指令が入力された場合、減速停止制御手段が、移動指令バッファへの移動指令の蓄積を中止するとともに、移動指令バッファに蓄積した移動指令を全て出力し、この場合、所定の減速度で減速停止させるために移動指令バッファに蓄積した移動指令から複数の減速用移動指令を作成して順次出力し、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離を算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離を算出し、残存移動距離が減速停止距離以下か否か判定し、否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力し、肯定判定した場合には各減速用移動指令を作成して出力する。その結果、工作機械の急停止、並びにそれにより発生する衝撃を緩和することができ、しかも、移動指令バッファに蓄積した移動指令を全て出力するため、つまり、移動指令バッファ内に移動指令が残らないため、減速停止時の工作機械の制御上の機械位置(座標)と実際の機械位置とを整合させることができる。
また、移動指令バッファからの移動指令の出力毎に低下する残存移動距離が減速停止距離に必要な適当距離よりも大きい場合には、移動指令バッファ内の各移動指令をそのまま出力し、残存移動距離が減速停止距離に必要な適当距離になった場合には、その後、各減速用移動指令を作成して出力することができる。つまり、残存移動距離が減速停止距離に必要な適当距離になる迄は強制的に減速しないようにして、高速移動をできるだけ維持することができ、最終的に減速停止させることで、停止指令が入力されてから停止する迄の時間を短くできる。
さらに、減速停止制御手段は、前記残存移動距離が前記減速停止距離以下か否か判定し、否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力し、肯定判定した場合には各減速用移動指令を作成して出力するので、停止指令が入力された場合に、移動指令バッファ内の各移動指令をそのまま出力するか各減速用移動指令を作成して出力するかの判定を簡単化し、移動指令バッファに蓄積した移動指令を全て出力して所定の減速度で減速停止させる処理を簡単化できる。
請求項のNCプログラムの数値制御方法によれば、数値制御装置に停止指令が入力された場合に、移動指令バッファへの移動指令の蓄積を中止させる第1のステップと、次に、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離を算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離を算出し、前記残存移動距離が前記減速停止距離以下か否か判定する第2のステップと、次に、前記数値制御装置に移動指令バッファに蓄積した移動指令を全て出力させる第のステップであって、前記判定において否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力し、肯定判定した場合には所定の減速度で減速停止させるために前記蓄積した移動指令から複数の減速用移動指令を作成して順次出力させる第のステップとを備えたので、請求項1と同様に構成することができ、請求項1と同様の効果を奏する。
請求項の工作機械の数値制御プログラムによれば、数値制御装置に停止指令が入力された場合に、移動指令バッファへの移動指令の蓄積を中止させる第1の手順と、次に、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離を算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離を算出し、前記残存移動距離が前記減速停止距離以下か否か判定する第2の手順と、次に、前記移動指令バッファに蓄積した移動指令を全て出力させる第の手順であって、前記判定において否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力させ、肯定判定した場合には所定の減速度で減速停止させるために前記蓄積した移動指令から複数の減速用移動指令を作成して順次出力させる第の手順とを工作機械の数値制御装置のコンピュータに実行させるので、請求項1と同様に構成することができ、請求項1と同様の効果を奏する。
本実施例に係る工作機械の数値制御装置の機能構成図である。 工作機械の制御系のブロック図である。 数値制御処理のフローチャートである。 数値制御処理の減速停止制御のフローチャートである。 時間と速度の関係及び処理周期、加減速時間を示す図である。 加速の際の時間と速度の関係及び移動指令バッファ内の詳細を示す図である。 減速の際の時間と速度の関係及び移動指令バッファ内の詳細を示す図である。 減速の際の時間と速度の関係及び移動指令バッファ内の詳細を示す図である。
本発明の工作機械の数値制御技術は、NCプログラムに基づいて複数の移動指令を作成して所定微小時間毎に順次出力するとともに、停止指令が入力された場合に移動指令の出力を停止する工作機械の数値制御装置に適用したものである。以下、発明を実施するための形態について実施例に基づいて説明する。尚、NCプログラムとは、NC言語で記載されたプログラムが一般的であるが、対話形式で作成されたプログラムでもよい。
図1は本実施例の工作機械の数値制御装置1の機能構成図である。
NCプログラム解読部2は、NCプログラムを解析し、その解析内容を移動指令実行部3へ送信する。移動指令実行部3は、NCプログラム解読部2から得た解析内容を基に複数の移動指令を作成して移動指令バッファ4に蓄積する。移動指令実行部3が作成する各移動指令は、所定微小時間ΔT(例えば、ΔT(単位時間)=2ms)あたりの移動指令であり、移動速度に関する指令である。移動指令バッファ4は、複数個(n個:例えば、n=7)のバッファを有し、つまり、n個の移動指令を蓄積できる容量をもっている。
NCプログラムの実行中は、移動指令実行部3が複数の移動指令を微小時間毎に順次作成して移動指令バッファ4に蓄積し、この複数の移動指令を微小時間毎に順次移動指令バッファ4からサーボ制御部5に出力する。つまり、移動指令実行部3から複数の移動指令を、順次、移動指令バッファ4を介して、移動指令実行部3での作成時(出力時)から所定の出力遅延時間Ta(例えば、Ta=14ms(n*ΔT))遅延させてサーボ制御部5に出力する。移動指令バッファ4は、運転開始時及び運転停止時以外は常にn個又はn−1個の(速度0よりも大きな)移動指令を蓄積した状態になる。サーボ制御部5は、移動指令バッファ4から得た複数の移動指令を基にサーボモータMを駆動制御する。
緊急停止処理等により、停止制御部6に停止指令が入力された場合、停止制御部6は、移動指令実行部3による移動指令バッファ4への移動指令の蓄積(移動指令の作成)を中止する。停止制御部6は、移動指令バッファ4に蓄積した移動指令を全てサーボ制御部5に出力する。この場合、所定の減速度Aで減速停止させるために移動指令バッファ4に蓄積した移動指令から複数の減速用移動指令を微小時間ΔT毎に順次作成してサーボ制御部5に出力する。この停止制御部6が、特許請求の範囲に記載の減速停止制御手段に相当する。
停止制御部6は、停止指令が入力されたときの移動速度Vから所定の減速度Aで減速停止させるのに必要な減速停止距離Laを算出する。停止制御部6は、移動指令バッファ4内の出力済みとなっていない残存移動指令から残存移動距離Lbを算出する。停止制御部6は、減速停止距離Laと残存移動距離Lbとを比較して、移動指令バッファ4内の各移動指令をそのままサーボ制御部5に出力するか各減速用移動指令を作成してサーボ制御部5に出力するかを判定する。
前記判定においては、残存移動距離Lbが減速停止距離La以下か否か判定する。停止制御部6は、否定判定した場合、移動指令バッファ4内の各移動指令をそのままサーボ制御部5に出力する。停止制御部6は、肯定判定した場合、各減速用移動指令を作成してサーボ制御部5に出力する。
次に、数値制御装置1を搭載した工作機械の制御系の電気的構成について説明する。
図2に示すように、数値制御装置1は、入出力インタフェース34と、CPU31とROM32とRAM33とを含むマイクロコンピュータと、サーボアンプ41〜45とを備えている。サーボアンプ41〜45は、夫々X軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54、マガジンモータ55に接続している。
X軸モータ51、Y軸モータ52は、テーブル(図示略)をX軸方向、Y軸方向に移動させる為のものである。マガジンモータ55は工具マガジン(図示略)を回動させるものである。主軸モータ54は、主軸(図示略)を回転駆動するものである。尚、X軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54、マガジンモータ55は、夫々エンコーダ51a〜55aを備えている。
サーボアンプ41〜45は、CPU31からの移動指令量を受けて、モータ51〜55に駆動電流を出力する。サーボアンプ41〜45は、エンコーダ51a〜55aから位置フィードバック信号を受けて、位置のフィードバック制御を行う。サーボアンプ41〜45は、サーボ制御部5として機能する。数値制御装置30には、表示器62と、操作キー等を備えた操作入力部61を接続している。
ROM32は、工作機械の動作を制御するメインの制御プログラム等を記憶している。RAM33は、ユーザーが入力して登録した種々のNCプログラムが記憶されている。RAM33は、移動指令バッファ4としても機能する。
次に、数値制御装置1が実行する数値制御処理について、図3、図4のフローチャートに基づいて説明する。この数値制御処理はNCプログラムの実行開始と共に開始する。
図3に示すように、先ず、CPU31は、NCプログラムの1ブロックを解釈する(S1)。CPU31は、解釈したブロックの指令から指令速度F(mm/s)を読出し、速度0から所定の加速度A(mm/s2 )で加速した場合に指令速度Fに到達する迄の時間(加減速時間であり出力遅延時間)Ta(s)=F/Aを計算する(S2)。
次に、CPU31は、S2で計算した加減速時間Taと、1個の移動指令の移動指令バッファ4への蓄積及び移動指令バッファ4からの出力に要する処理周期である所定微小時間ΔTから、移動指令バッファ4内のバッファの個数nを計算し設定する(S3)。具体的には、移動指令バッファ4に蓄積可能な移動指令の最大個数n=Ta/ΔT(例えば、7個)を計算する。S1〜S3が、プログラム解読部2から指令を受信する毎に行う処理であり、S4以降の処理が、プログラム解読部2から受信した指令を実行し終えるまで繰返し行う処理である。
図5は、速度0から加速度Aで加速して指令速度Fに到達して、一定の指令速度Fとなり、その後停止指令が入力され、指令速度Fから減速度Aで減速して速度0になる場合の時間Tと速度Vの関係と、処理周期ΔTと加減速時間Taを示している。
図3に示すように、S1〜S3の実行後、次に、停止制御部6に停止指令が入力されたか否か判定する(S4)。S4においてNoの場合、CPU31は、前回計算の移動指令(NCプログラムの実行開始時は0)を基に移動指令を計算し作成する(S5)。この移動指令(速度)は、指令速度Fに到達する迄は加速度Aに基づいて増大していき、指令速度Fに到達すると一定(指令速度F)になる。次に、CPU31は、S5で作成した移動指令を移動指令バッファ4のn個のバッファ(メモリ領域)のうちのi番目のバッファに格納し蓄積する(S6)。ここで、S5で作成した移動指令を基に工作機械の制御上の機械位置(座標)を演算する。該演算した機械位置は、RAM33に記憶される。
移動指令バッファ4は、n個のバッファに0〜(n−1)の番号を対応付け、iが移動指令の蓄積及び出力の対象となるバッファを示すインデックスとなる。このiについてはNCプログラムの実行開始時に0に初期設定する。移動指令バッファ4のn個全てのバッファについてもNCプログラムの実行開始時に0に初期設定する。
次に、S6の後、CPU31は、iに1を加算し(S7)、i≧nか否か判定する(S8)。S8においてYes の場合、CPU31は、iに0を設定する(S9)。その後、CPU31は、移動指令バッファ4のi番目のバッファの移動指令Fiをサーボ制御部5に出力し、出力した移動指令FiをF'としてRAM33に記憶する(S10)。次に、CPU31は、解釈した移動指令の移動が終了したか否か判定する(S11)。移動が終了していない場合(S11;No)、CPU31は、処理をS4へ移行する。S11では、S1において解釈した1ブロックの指令と、S10においてサーボ制御部5に送信した移動指令の累積値とが等しいとき、移動が終了したと判定する。移動が終了したと判定した場合(S11;Yes)、CPU31は、NCプログラムが終了したか否か判定する(S12)。NCプログラムが終了していない場合(S12;No)、CPU31は、処理をS1へ移行し、NCプログラムが終了した場合(S12;Yes)、CPU31は、この数値制御処理を終了する。
前述したように、CPU31は、所定微小時間ΔT毎に、作成した移動指令を移動指令バッファ4のi番目のバッファに蓄積するとともに、移動指令バッファ4のi+1番目(但し、i+1が7となる場合は0番目)のバッファに蓄積した移動指令をサーボ制御部5に出力する。つまり、移動指令バッファ4に蓄積した移動指令を、その蓄積時からバッファの個数nに応じた出力遅延時間Taだけ遅延させてサーボ制御部5に出力することになる。但し、NCプログラムの実行開始時からn個の移動指令を移動指令バッファ4に蓄積する迄は、図5に示すように、微小時間毎に速度が増大する移動指令を移動指令バッファ4に格納していくことになる。このとき、移動指令バッファ4にはサーボ制御部5に出力する移動指令を蓄積しておらず、その際、速度0の移動指令をサーボ制御部5に出力するものとする。
S4において、停止制御部6に停止指令が入力された場合(S4;Yes )、CPU31は、処理をS5へ移行しなくなる。CPU31は、移動指令の作成及び移動指令バッファ4への蓄積を中止して、図4に示すように、S13以降を実行する。このS13以降の処理が減速停止制御である。
図4に示すように、CPU31は、移動指令バッファ4内に(出力済みとなっていない速度0よりも大きい)移動指令があるか否か判定し(S13)、該移動指令がない場合(S13;No)、この数値制御処理(減速停止制御)を終了する。移動指令がある場合(S13;Yes)、CPU31は、速度0の移動指令を移動指令バッファ4のi番目のバッファに格納し蓄積する(S14)。次に、CPU31は、iに1を加算し(S15)、i≧nか否か判定する(S16)。i≧nの場合(S16;Yes)、CPU31はiに0を設定する(S17)。
その後、CPU31は、停止指令が入力されたときの移動速度、つまり前回サーボ制御部5に出力した移動指令F'から所定の減速度Aで減速停止させるのに必要な減速停止距離LaをLa=F'*F'/2Aとして算出する(S18)。次に、CPU31は移動指令バッファ4内の出力済みとなっていない残存移動指令から残存移動距離Lbを算出する(S19)。その後、CPU31は、減速停止距離Laと残存移動距離Lbとを比較して、移動指令バッファ4内の各移動指令を直接サーボ制御部5に出力するか各減速用移動指令を作成してサーボ制御部5に出力するかを判定する(S20)。
残存移動距離Lbが減速停止距離Laよりも大きい場合(S20;No)、CPU31は、i番目のバッファの移動指令をサーボ制御部5に出力し、且つ該移動指令をF'としてRAM33に記憶し(S21)、処理をS13へ移行する。残存移動距離Lbが減速停止距離La以下の場合(S20;Yes) 、CPU31は前回サーボ制御部5に出力した移動指令F'から所定の減速度Aで減速した減速用移動指令Fdを計算する(S22)。次に、CPU31は、今回サーボ制御部5に出力する移動指令F'を0で初期化する(S23)。
その後、CPU31は、移動指令バッファ4のi番目のバッファの移動指令FiからS22で計算した減速用移動指令Fdを減算した値が0より大きいか否かを判定する(S24)。該減算した値が0より大きい場合(S24;Yes)、CPU31は、移動指令バッファのi番目の移動指令Fiから減速用移動指令Fdを減算して移動指令バッファ4のi番目の移動指令Fiを更新し(S25)、今回サーボ制御部5に出力する移動指令F'に減速用移動指令Fdを加算し(S26)、今回サーボ制御部5に出力する移動指令F'をサーボ制御部5に出力する(S27)。その後、CPU31は、移動指令バッファ4内に移動指令があるか否か判定する(S28)。移動指令バッファ4内に移動指令がある場合(S28;Yes)、CPU31は、処理をS22へ移行する。移動指令バッファ4内に移動指令がない場合(S28;No)、この数値制御処理を終了する。
S24において、移動指令バッファ4のi番目のバッファの移動指令FiからS22で計算した減速用移動指令Fdを減算した値が0以下の場合(S24;No)、CPU31は、今回サーボ制御部5に出力する移動指令F'に移動指令バッファ4のi番目の移動指令Fiを加算する(S29)。次に、CPU31は、減速用移動指令Fdから移動指令バッファ4のi番目の移動指令Fiを減算して減速用移動指令Fdを更新し(S30)、CPU31は、移動指令バッファ4のi番目の移動指令Fiを0で初期化する(S31)。その後、CPU31は、移動指令バッファ4内に移動指令があるか否か判定する(S32)。S32において、移動指令バッファ4内に移動指令がない場合(S32;Yes)、CPU31は、iに1加算し(S33)、i≧nか否か判定する(S34)。i≧nの場合(S34;Yes)、CPU31はiに0を設定し(S30)、その後、処理をS24へ移行する。移動指令バッファ4内に移動指令がある場合(S32;No)、CPU31は処理をS27に移行する。前述の場合、今回サーボ制御部5に出力する移動指令F'がS22で計算した減速用移動指令Fdよりも小さい場合があるが、移動指令F'をサーボ制御部5に出力する。
CPU31は、数値制御装置1に停止指令が入力された場合に、移動指令バッファ4への移動指令の蓄積を中止させる第1の手順に相当するS4等と、次に、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離Laを算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離Lbを算出し、残存移動距離Lbが減速停止距離La以下か否か判定する第2の手順に相当するS18〜S20等と、次に、移動指令バッファ4に蓄積した移動指令を全て出力させ、この場合、前記判定において否定判定した場合には移動指令バッファ4内の各移動指令をそのまま出力し、肯定判定した場合には所定の減速度Aで減速停止させるために移動指令バッファ4に蓄積した移動指令から複数の減速用移動指令を作成して順次出力させる第の手順に相当するS2〜S35等とを実行する。停止制御部6は、S4及びS18〜S35を実行するCPU31に相当する。
また、以上の処理による工作機械の数値制御方法において、数値制御装置1に停止指令が入力された場合に、移動指令バッファ4への移動指令の蓄積を中止させる第1のステップがS4等に相当し、次に、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離Laを算出するとともに、移動指令の出力時に、移動指令バッファ4内の出力済みとなっていない残存移動指令から残存移動距離Lbを算出し、残存移動距離Lbが減速停止距離La以下か否か判定する第2のステップがS18〜S20等に相当し、次に、数値制御装置1に移動指令バッファ4に蓄積した移動指令を全て出力させ、この場合、前記判定において否定判定した場合には移動指令バッファ4内の各移動指令をそのまま出力させ、肯定判定した場合には所定の減速度Aで減速停止させるために移動指令バッファ4に蓄積した移動指令から複数の減速用移動指令を作成して順次出力させる第のステップがS2〜S35等に相当する。
以上説明したS13以降の処理により、移動指令バッファ4を介して実行する減速停止制御について、図7、図8に基づいて具体的に説明する。尚、図7の左最上段に移動指令実行部3が出力した移動指令を示し、図7、図8の上段に移動指令バッファ4から出力した移動指令を示し、図7、図8の下段に移動指令バッファ4内の詳細を示している。尚、図7の(1)で停止指令が入力され、そのとき、i=0であるとする。
図7(1)に示すように、停止指令の入力時、移動指令バッファ4の0番目のバッファには、図4のS14の処理によって速度0の移動指令が蓄積される。ここで、減速停止距離Laは前回の処理周期でサーボ制御部5に出力した移動指令(この場合はF)と加速度Aから、La=F*F/2Aとして計算する。この減速停止距離Laと移動指令バッファ4内の残存移動指令から算出した残存移動距離Lbとを比較する。
図7(1)では、残存移動距離Lb>減速停止距離Laとなるため、移動指令バッファ4内の1番目のバッファの移動指令F1をそのままサーボ制御部5に出力する。図7(2)(3)では、図7(1)の場合と同様に、移動指令バッファ4内の2番目,3番目のバッファの移動指令をそのままサーボ制御部5に出力する。つまり、残存移動距離Lb>減速停止距離Laの場合、減速を開始せずに移動指令Fを維持する。次に、図7(4)では、残存移動距離Lb≦減速停止距離Laとなるため、減速を開始する。
先ず、図7(4)では、図7(3)でサーボ制御部5に出力した移動指令Fから、減速度Aで減速させた場合の減速用移動指令Fdを算出し、該減速用移動指令Fdと移動指令バッファ4内の4番目のバッファの移動指令F4とを比較する。図7(4)においては、移動指令F4の方が大きいので、移動指令F4から減速用移動指令Fdを引いて移動指令F4を更新し、今回サーボ制御部5に出力する移動指令F'に減速用移動指令Fdを加え、該移動指令F'をサーボ制御部5に出力する。次に、図8(5)では、図7(4)でサーボ制御部5に出力した移動指令F'から、減速度Aで減速させた場合の減速用移動指令Fdを算出し、減速用移動指令Fdと移動指令バッファ4内の4番目のバッファの移動指令F4の大きさを比較する。この場合は、減速用移動指令Fdの方が大きい(移動指令バッファ4内の4番目の移動指令F4だけでは、今回サーボ制御部5に出力する移動指令を満足できない)ため、今回サーボ制御部5に出力する移動指令F'に移動指令バッファ4内の4番目の移動指令F4を加える。その後、減速用移動指令Fdからバッファの移動指令F4を減算して減速用移動指令Fdを更新し、使用済みとなった移動指令バッファ4内の4番目の移動指令F4の値を0に更新する。ここで計算した減速用移動指令Fdは、今回サーボ制御部5に出力する移動指令の内、不足している分の移動指令を表す。該不足分を移動指令バッファ4内の5番目のバッファの移動指令F5から補う。移動指令F5は、不足分の減速用移動指令Fdよりも大きいため、移動指令F5から減速用移動指令Fdを減算して該移動指令F5を更新し、今回サーボ制御部5に出力する移動指令F'に減速用移動指令Fdを加算してサーボ制御部5に出力する。
次に、図8(6)では、図8(5)でサーボ制御部5に出力した移動指令F'から、減速度Aで減速させた場合の減速用移動指令Fdを算出し、該減速用移動指令Fdと移動指令バッファ4内の5番目のバッファの移動指令F5の大きさを比較する。この場合も、減速用移動指令Fdの方が大きい(移動指令バッファ4内の5番目の移動指令だけでは、今回サーボ制御部5に出力する移動指令を満足できない)ため、今回サーボ制御部5に出力する移動指令F'に移動指令バッファ4内の5番目の移動指令F5を加算する。その後、減速用移動指令FdからF5を減算して減速用移動指令Fdを更新し、使用済みとなった移動指令バッファ4内の5番目の移動指令F5の値を0に更新する。ここで計算した減速用移動指令Fdは、今回サーボ制御部5に出力する移動指令の内、不足している分の移動指令を表す。そこで、不足分を移動指令バッファ4内の6番目のバッファの移動指令F6から補う。移動指令F6は不足分の減速用移動指令Fdよりも大きいため、移動指令F6から減速用移動指令Fdを減算して移動指令F6を更新し、今回サーボ制御部5に出力する移動指令F'に減速用移動指令Fdを加算して、移動指令F'をサーボ制御部5に出力する。
次に、図8(7)では、図8(6)でサーボ制御部5に出力した移動指令F'から、減速度Aで減速させた場合の減速用移動指令Fdを算出し、減速用移動指令Fdと移動指令バッファ4内の6番目のバッファの移動指令F6の大きさを比較する。この場合は、移動指令F6の方が大きいので、移動指令F6から減速用移動指令Fdを減算して移動指令F6を更新し、今回サーボ制御部5に出力する移動指令F'に減速用移動指令Fdを加算し、該移動指令F'をサーボ制御部5に出力する。
図8(8)では、図8(7)でサーボ制御部5に出力した移動指令F'から、減速度Aで減速させた場合の減速用移動指令Fdを算出し、減速用移動指令Fdと移動指令バッファ4内の6番目のバッファの移動指令F6の大きさを比較する。この場合は、移動指令F6の方が大きいので、移動指令F6から減速用移動指令Fdを減算して減速用移動指令Fdを更新し、今回サーボ制御部5に出力する移動指令F'に減速用移動指令Fdを加算し、該移動指令F'をサーボ制御部5に出力する。
最後に、図8(9)では、図8(8)でサーボ制御部5に出力した移動指令F'から、減速度Aで減速させた場合の減速用移動指令Fdを算出し、減速用移動指令Fdと移動指令バッファ4内の6番目のバッファの移動指令F6の大きさを比較する。この場合は、移動指令F6の方が大きいので、F6から減速用移動指令Fdを引いてF6を更新し、今回サーボ制御部5に出力する移動指令F'に減速用移動指令Fdを加算し、移動指令F'をサーボ制御部5に出力する。
図8(9)の後、移動指令バッファ4内には移動指令が残っていないため、これで減速終了となる。
以上説明した工作機械の数値制御装置1によれば次の効果を奏する。
停止制御部6に停止指令が入力された場合、停止制御部6が、移動指令実行部3による移動指令バッファ4への移動指令の蓄積(作成)を中止するとともに、移動指令バッファ4に蓄積した移動指令を全て出力し、この場合、所定の減速度Aで減速停止させるために移動指令バッファ4に蓄積した移動指令から複数の減速用移動指令を作成してサーボ制御部5に順次出力する。
その結果、工作機械の急停止、並びにそれにより発生する衝撃を緩和することができ、しかも、移動指令バッファ4に蓄積した移動指令を全て出力するため、つまり、移動指令バッファ4内に移動指令が残らないため、減速停止時の工作機械の機械座標と実際の機械位置とを整合させることができる。移動指令は移動速度に関する指令であるので、特に停止制御部6が実行する処理を簡単化することができる。
停止制御部6は、停止指令が入力されたときの移動速度V(指令速度F)から所定の減速度Aで減速停止させるのに必要な減速停止距離Laを算出するとともに、移動指令の出力時に、移動指令バッファ4内の出力済みとなっていない残存移動指令から残存移動距離Lbを算出し、この減速停止距離Laと残存移動距離Lbとを比較して、移動指令バッファ4内の各移動指令をそのままサーボ制御部5に出力するか各減速用移動指令を作成してサーボ制御部5に出力するかを判定する。
従って、移動指令バッファ4からの移動指令の出力毎に低下する残存移動距離Lbが減速停止距離Laに必要な適当距離よりも大きい場合には、移動指令バッファ4内の各移動指令をそのままサーボ制御部5に出力し、残存移動距離Lbが減速停止距離Laに必要な適当距離になった場合には、その後、各減速用移動指令を作成してサーボ制御部5に出力することができる。つまり、残存移動距離Lbが減速停止距離Laに必要な適当距離になる迄は強制的に減速しないようにして、高速移動をできるだけ維持することができ、最終的に減速停止させることで、停止指令が入力されてから停止する迄の時間が短くできる。
その他、本発明の趣旨を逸脱しない範囲において種々の変更を付加して実施可能である。例えば、所定の加速度Aや所定微小時間ΔTについては適宜変更可能である。また、移動指令バッファ4のバッファの個数nについては、加減速に必要な個数よりも多少多めに設定してもよい。尚、本発明の工作機械の数値制御装置、数値制御方法、数値制御プログラムについては、種々の同装置、方法、プログラムに適用することが可能である。
1 数値制御装置
2 プログラム解読部
3 移動指令実行部
4 移動指令バッファ
5 サーボ制御部
6 停止制御部

Claims (3)

  1. NCプログラムに基づいて複数の移動指令を作成して所定微小時間毎に順次出力するとともに、停止指令が入力された場合に移動指令の出力を停止する工作機械の数値制御装置において、
    加減速に必要な時間分の複数の移動指令を蓄積可能な移動指令バッファを有し、この移動指令バッファに蓄積した複数の移動指令を順次出力するように構成し、
    前記停止指令が入力された場合に、移動指令バッファへの移動指令の蓄積を中止するとともに、移動指令バッファに蓄積した移動指令を全て出力する減速停止制御手段であって、所定の減速度で減速停止させるために前記蓄積した移動指令から複数の減速用移動指令を作成して順次出力する減速停止制御手段を備え
    前記減速停止制御手段は、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離を算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離を算出し、前記残存移動距離が前記減速停止距離以下か否か判定し、否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力し、肯定判定した場合には各減速用移動指令を作成して出力することを特徴とする工作機械の数値制御装置。
  2. NCプログラムに基づいて複数の移動指令を作成して所定微小時間毎に順次出力するとともに、停止指令が入力された場合に移動指令の出力を停止する数値制御装置を備え、この数値制御装置が加減速に必要な時間分の複数の移動指令を蓄積可能な移動指令バッファを有し、この移動指令バッファに蓄積した複数の移動指令を順次出力するように構成した工作機械の数値制御方法において、
    前記数値制御装置に停止指令が入力された場合に、移動指令バッファへの移動指令の蓄積を中止させる第1のステップと、
    次に、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離を算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離を算出し、前記残存移動距離が前記減速停止距離以下か否か判定する第2のステップと、
    次に、前記数値制御装置に移動指令バッファに蓄積した移動指令を全て出力させる第のステップであって、前記判定において否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力し、肯定判定した場合には所定の減速度で減速停止させるために前記蓄積した移動指令から複数の減速用移動指令を作成して順次出力させる第のステップと、
    を備えたことを特徴とする工作機械の数値制御方法。
  3. NCプログラムに基づいて複数の移動指令を作成して所定微小時間毎に順次出力するとともに、停止指令が入力された場合に移動指令の出力を停止する数値制御装置を備え、この数値制御装置が加減速に必要な時間分の複数の移動指令を蓄積可能な移動指令バッファを有し、この移動指令バッファに蓄積した複数の移動指令を順次出力する処理を数値制御装置のコンピュータに実行させる工作機械の数値制御プログラムにおいて、
    前記数値制御装置に停止指令が入力された場合に、移動指令バッファへの移動指令の蓄積を中止させる第1の手順と、
    次に、停止指令が入力されたときの移動速度から所定の減速度で減速停止させるのに必要な減速停止距離を算出するとともに、移動指令の出力時に、移動指令バッファ内の出力済みとなっていない残存移動指令から残存移動距離を算出し、前記残存移動距離が前記減速停止距離以下か否か判定する第2の手順と、
    次に、前記移動指令バッファに蓄積した移動指令を全て出力させる第の手順であって、前記判定において否定判定した場合には移動指令バッファ内の各移動指令をそのまま出力させ、肯定判定した場合には所定の減速度で減速停止させるために前記蓄積した移動指令から複数の減速用移動指令を作成して順次出力させる第の手順と、
    を前記コンピュータに実行させることを特徴とする工作機械の数値制御プログラム。
JP2010040310A 2010-02-25 2010-02-25 工作機械の数値制御装置、工作機械の数値制御方法、及び工作機械の数値制御プログラム Active JP5381806B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010040310A JP5381806B2 (ja) 2010-02-25 2010-02-25 工作機械の数値制御装置、工作機械の数値制御方法、及び工作機械の数値制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010040310A JP5381806B2 (ja) 2010-02-25 2010-02-25 工作機械の数値制御装置、工作機械の数値制御方法、及び工作機械の数値制御プログラム

Publications (2)

Publication Number Publication Date
JP2011175546A JP2011175546A (ja) 2011-09-08
JP5381806B2 true JP5381806B2 (ja) 2014-01-08

Family

ID=44688334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010040310A Active JP5381806B2 (ja) 2010-02-25 2010-02-25 工作機械の数値制御装置、工作機械の数値制御方法、及び工作機械の数値制御プログラム

Country Status (1)

Country Link
JP (1) JP5381806B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6696386B2 (ja) * 2016-09-29 2020-05-20 ブラザー工業株式会社 数値制御装置と制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0488404A (ja) * 1990-07-25 1992-03-23 Nec Corp 数値制御装置の位置設定方式
JP2006293791A (ja) * 2005-04-13 2006-10-26 Yaskawa Electric Corp 数値制御装置およびその駆動軸停止起動方法

Also Published As

Publication number Publication date
JP2011175546A (ja) 2011-09-08

Similar Documents

Publication Publication Date Title
JP3900789B2 (ja) モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置
JP6410826B2 (ja) 数値制御装置
JP5324679B1 (ja) 工作機械の送り軸を駆動するサーボモータを制御するサーボモータ制御装置
US8600527B2 (en) Acceleration/deceleration control device
JP5762625B2 (ja) 軌跡制御装置
JP5726328B2 (ja) モータ制御装置
JP2006293622A (ja) 指令生成装置
JP3681972B2 (ja) 加減速制御方法
JP5312670B2 (ja) 指令生成装置
JP2009032251A (ja) 同期運転を行う数値制御装置
JP5623757B2 (ja) モータの制御方法及び装置
JP5381806B2 (ja) 工作機械の数値制御装置、工作機械の数値制御方法、及び工作機械の数値制御プログラム
JP5030628B2 (ja) 干渉チェックシステム
JP6476635B2 (ja) ロボットの制御装置及び制御方法
JP5573664B2 (ja) 数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体
US20170003670A1 (en) Numerical controller performing table-format-data-based operation
JP2009187521A (ja) 位置指令作成方法及び位置指令作成装置
WO2023013168A1 (ja) 制御装置、制御方法およびプログラム
JP4601659B2 (ja) 指令生成装置及び指令生成方法
CN113858213B (zh) 一种用于目标同步的机器人动态轨迹规划方法
KR101630141B1 (ko) 지령 생성 장치
WO2002025390A1 (fr) Procede de servocommande
KR20140102765A (ko) 지령 생성 장치 및 지령 생성 방법
CN110968036A (zh) 数值控制装置
JP2005165905A (ja) 位置指令作成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130325

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130502

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130916

R150 Certificate of patent or registration of utility model

Ref document number: 5381806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150