(57)【要約】【課題】  ホールド信号等により駆動軸を減速停止し、その後停止状態からの再起動を行う場合に、移動指令からの遅れを生じず、かつ最適な時間で減速および加速できるようにする。【解決手段】  停止信号１１により移動指令３を停止指令と起動指令に分割し、停止指令はそのまま積算部６へ出力し、起動指令は移動指令バッファ５に蓄積し、その後の起動信号１２の入力により移動指令バッファ５に蓄積した起動指令を積算部６に出力して加速するという手順で処理する。また移動指令バッファ５のサイズは、そのときの速度に応じて最適な値に設定する。【選択図】図１
2006293791.tif 000002
【特許請求の範囲】
【請求項１】
移動指令生成部と、前記移動指令生成部にて作成された移動指令を複数の駆動軸に分配する分配部と、前記駆動軸毎に分配された移動指令を蓄積するバッファと、前記分配された移動指令を積算し位置指令を生成する積算部と、前記駆動軸毎のサーボ制御部とを備えた数値制御装置において、
前記分配器が出力する移動指令を入力とし、
前記駆動軸の動作中に停止信号が入力されると予め設定された周期の整数倍の減速時間を設定し、
前記減速時間に達するまでの間、前記周期毎に入力された前記移動指令を第１の移動指令と第２の移動指令とに分割して、前記第１の移動指令は積算部へ出力し、前記第２の移動指令は前記バッファに蓄積し、
前記第１の移動指令の割合を前記周期毎に段階的に減少させて停止対象となる全ての前記駆動軸を前記減速時間で停止させ、
前記停止信号が解除され再度前記駆動軸を起動する際には、前記バッファに蓄積された第２の移動指令を前記周期毎に前記積算部へ出力することによって加速する停止起動制御部を備えることを特徴とする数値制御装置。
【請求項２】
前記バッファの大きさは、前記減速時間に比例して変化し、さらに前記停止信号が入力された際の同時駆動軸の合成速度に応じて決まることを特徴とする請求項１記載の数値制御装置。
【請求項３】
移動指令生成部と、前記移動指令生成部にて作成された移動指令を複数の駆動軸に分配する分配部と、前記駆動軸毎に分配された移動指令を蓄積するバッファと、前記分配された移動指令を積算し位置指令を生成する積算部と、前記駆動軸毎のサーボ制御部とを備えた数値制御装置の駆動軸停止起動方法において、
前記駆動軸の動作中に停止信号が入力されると予め設定された周期の整数倍の減速時間を設定し、
前記減速時間に達するまでの間、前記周期毎に入力された前記移動指令を第１の移動指令と第２の移動指令とに分割して、前記第１の移動指令は積算部へ出力し、前記第２の移動指令は前記バッファに蓄積し、
前記第１の移動指令の割合を前記周期毎に段階的に減少させて停止対象となる全ての前記駆動軸を前記減速時間で停止させ、
前記停止信号が解除され前記駆動軸を再度起動する際には、前記バッファに蓄積された第２の移動指令を前記周毎に前記積算部へ出力することによって加速することを特徴とする数値制御装置の駆動軸停止起動方法。
【請求項４】
前記バッファの大きさは、前記減速時間に比例して変化し、さらに前記停止信号が入力された際の同時駆動軸の合成速度に応じて決定することを特徴とする請求項３記載の数値制御装置の駆動軸停止起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットや産業機械の駆動モータを制御する数値制御装置およびその駆動軸  停止起動方法に関する。  
【背景技術】
【０００２】
従来の数値制御装置におけるホールド信号等による駆動軸の一時停止、および停止状態からの再起動を行う場合の駆動軸停止起動方法では、停止時、起動時の減速、加速に必要な時間分の移動指令を蓄積する移動指令バッファを駆動軸毎に備えて、停止信号が入力された場合には移動指令バッファ内の移動指令にて減速停止し、その後に起動信号が入力された場合には移動指令バッファ内に残った移動指令にて加速する方法がある（例えば、特許文献１参照）。
従来の数値制御装置の駆動軸停止起動方法について図５を用いて説明する。
図５において、１は移動指令生成部であり、例えばプログラムメモリ２内の動作プログラムを解析して各駆動軸への移動指令３を作成する。ここで移動指令とは、数値制御装置の制御周期毎の各駆動軸の指令位置の増分値を表す。４は分配部であり、移動指令生成部１が作成した移動指令３を該当する駆動軸に分配出力する。５は移動指令バッファであり、駆動軸毎に移動指令を蓄積および出力する。６は積算部であり、移動指令３を積算し位置指令７を作成する。８はサーボ制御部であり、位置指令７を元にサーボ制御を行いモータ９を駆動する。
停止信号１１および起動信号１２は停止起動信号制御部１０に入力され、停止起動信号制御部１０の処理により移動指令バッファ５内の移動指令による停止処理およびその後の起動処理が行われる。なお、分配部４以降の処理は駆動軸毎に存在しており、図５では簡単のため第１軸に関する部分のみ表している。
このように、従来の方法では停止および起動時に移動指令をバッファに蓄積して減速および加速を行うという手順がとられていた。
【０００３】
【特許文献１】特開平１１−１５４００９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の数値制御装置の駆動軸停止起動方法では、移動指令出力値を常時バッファに蓄積するという手順をとっているので、分配部から出力された移動指令がサーボ制御部に届くまで常に一定の遅れが生じるという問題があった。このため、例えば移動指令生成部がそのときの外部からの信号によって移動指令を補正する場合には、補正された移動指令がサーボ制御部に到達するまでの時間が移動指令バッファの時間だけ遅れることとなり、分配部から出力された移動指令に対するサーボ制御部の応答性が悪くなるという問題があった。
また、本バッファのサイズは駆動軸の最高速度から減速可能な時間にて設定されることが一般的であり、また軸の駆動中は本バッファが常時使用されているためバッファのサイズは固定にせざるを得ず、減速信号入力時の駆動軸の速度が低い場合でも減速時間は最高速度の場合と同じ値に設定されることとなり減速時間が必要以上に長くなるという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、駆動軸動作中における停止信号入力に対して即座に減速停止するとともに、起動信号に対して即座に加速し、通常の駆動中には移動指令に遅れを生じさせないようにでき、かつ減速時間はその時の同時駆動軸の合成速度に応じて最適な値に設定可能な方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、移動指令生成部と、前記移動指令生成部にて作成された移動指令を複数の駆動軸に分配する分配部と、前記駆動軸毎に分配された移動指令を蓄積するバッファと、前記分配された移動指令を積算し位置指令を生成する積算部と、前記駆動軸毎のサーボ制御部とを備えた数値制御装置において、前記分配器が出力する移動指令を入力とし、前記駆動軸の動作中に停止信号が入力されると予め設定された周期の整数倍の減速時間を設定し、前記減速時間に達するまでの間、前記周期毎に入力された前記移動指令を第１の移動指令と第２の移動指令とに分割して、前記第１の移動指令は積算部へ出力し、前記第２の移動指令は前記バッファに蓄積し、前記第１の移動指令の割合を前記周期毎に段階的に減少させて停止対象となる全ての前記駆動軸を前記減速時間で停止させ、前記停止信号が解除され再度前記駆動軸を起動する際には、前記バッファに蓄積された第２の移動指令を前記周期毎に前記積算部へ出力することによって加速する停止起動制御部を備えることを特徴とする。
請求項２に記載の発明は、前記バッファの大きさは、前記減速時間に比例して変化し、さらに前記停止信号が入力された際の同時駆動軸の合成速度に応じて決まることを特徴とする。
請求項３に記載の発明は、移動指令生成部と、前記移動指令生成部にて作成された移動指令を複数の駆動軸に分配する分配部と、前記駆動軸毎に分配された移動指令を蓄積するバッファと、前記分配された移動指令を積算し位置指令を生成する積算部と、前記駆動軸毎のサーボ制御部とを備えた数値制御装置の駆動軸停止起動方法において、前記駆動軸の動作中に停止信号が入力されると予め設定された周期の整数倍の減速時間を設定し、前記減速時間に達するまでの間、前記周期毎に入力された前記移動指令を第１の移動指令と第２の移動指令とに分割して、前記第１の移動指令は積算部へ出力し、前記第２の移動指令は前記バッファに蓄積し、前記第１の移動指令の割合を前記周期毎に段階的に減少させて停止対象となる全ての前記駆動軸を前記減速時間で停止させ、前記停止信号が解除され前記駆動軸を再度起動する際には、前記バッファに蓄積された第２の移動指令を前記周毎に前記積算部へ出力することによって加速することを特徴とする。
請求項４に記載の発明は、前記バッファの大きさは、前記減速時間に比例して変化し、さらに前記停止信号が入力された際の同時駆動軸の合成速度に応じて決定することを特徴とする。
【発明の効果】
【０００６】
請求項１に記載の発明によると、数値制御装置の駆動軸の運転中に停止信号が入力された場合、即座に減速停止し、その後起動信号が入力された場合にも即座に加速することが可能で、一連の処理は分配部から出力された移動指令から遅れることなく実行可能な数値制御装置を提供することができる。
請求項２に記載の発明によると、請求項１記載の停止加速処理を行う際の停止加速時間を、その時の同時駆動軸の合成速度に応じて最適値に設定可能な数値制御装置を提供することができる。
請求項３に記載の発明によると、数値制御装置の駆動軸の運転中に停止信号が入力された場合、即座に減速停止し、その後起動信号が入力された場合にも即座に加速することが可能で、一連の処理は分配部から出力された移動指令から遅れることなく実行することができる。
請求項４に記載の発明によると、請求項３記載の停止加速処理を行う際の停止加速時間を、その時の同時駆動軸の合成速度に応じて最適値に設定することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【０００８】
図１は、請求項1から４にて表される本発明の方法およびそれを実施する数値制御装置の構成を示すブロック図である。図１において、１は移動指令生成部であり、例えばプログラムメモリ２内の動作プログラムを解析して各駆動軸の移動指令３を作成する。４は分配部であり、移動指令生成部１が作成した移動指令３を該当する駆動軸に分配出力する。１３は停止起動制御部であり、分配部４からの移動指令に対し停止処理および起動処理を実施する。６は積算部であり、停止起動制御部１３からの移動指令３を積算し位置指令７を作成する。８はサーボ制御部であり、位置指令７を元にサーボ制御を行いモータ９を駆動する。停止信号１１および起動信号１２は停止起動制御部１３に入力され停止起動制御部１３の処理により移動指令バッファ５を利用した停止処理およびその後の起動処理が行われる。なお、分配部４以降の処理は駆動軸毎に存在しており、図１では簡単のため第１軸に関する部分のみ表している。
【０００９】
図２は本発明の数値制御装置の停止起動制御部１３の制御周期毎の停止処理および起動処理を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。
はじめにステップ１では、停止起動制御部１３に停止信号が入力され、停止処理中であるか否かを判断する。停止処理中の場合は、ステップ２において分配部４から入力される移動指令３を停止指令と起動指令とに分割し、停止指令は積算部６へ出力し駆動軸を減速停止し、起動指令は移動指令バッファ５に蓄積する。
後述のように、移動指令バッファ５に蓄積された起動指令は、駆動軸が減速停止した後、再度加速させる際に積算部６へ出力される。
停止処理が終了し一時停止の状態になった場合はステップ３へ進む。ここで、停止起動制御部１３に起動信号１２が入力され起動処理中であるか否かを判断する。起動処理中の場合は、ステップ４においてステップ２で蓄積した移動指令バッファ５内の起動指令を積算部６へ出力し駆動軸を加速する。
ステップ１およびステップ３において停止処理中、起動処理中のいずれでもないと判断された場合には通常動作中であり、ステップ５において分配部４から入力される移動指令３を直接積算部６へ出力し駆動軸を駆動する。
【００１０】
以下、ステップ２における数値制御装置の動作について説明する。
図３は制御周期毎に停止起動制御部１３から積算部６へ出力される停止指令と、移動指令バッファ５内に蓄積される起動指令の関係の一例を表している。図３は１０回分の制御周期にて停止および起動する場合を表しており、図３の白抜き部分が積算部６へ出力される停止指令であり網掛け部分が移動指令バッファ５内に蓄積される起動指令である。
停止起動制御部１３では本数値制御装置の制御周期毎に移動指令３を停止指令と起動指令とに分離し、起動指令を移動指令バッファ５に蓄積する。
例えば制御周期回数ｎ（図３ではｎ＝１０）分の時間で停止および起動する場合において、ｉ回目の移動指令をＶｉとしたとき、停止指令Ｖｉ’と起動指令Ｖｉ’’は次の式で与えられる。
ここで、ｉ、ｎは共に０以上の整数とする。
【００１１】
Ｖｉ’  ＝  Ｖｉ・（ｎ＋１−ｉ） ／ （ｎ＋１）     ・・・  （１）
Ｖｉ’’ ＝  Ｖｉ − Ｖｉ’                        ・・・  （２）
【００１２】
図３では、制御周期毎のＶｉはｉによらず一定であるが、分配器４からの移動指令により制御周期毎に変化する場合もある。制御周期毎のＶｉの値が一定であるか、変化するかはプログラムメモリ２内の動作プログラムによって決まる。
【００１３】
上記の式（１）、式（２）にて移動指令が停止指令Ｖｉ’と起動指令Ｖｉ’’とに分離され、停止指令Ｖｉ’は停止信号１１入力後、制御周期毎にｉ＝１からｉ＝ｎの順に積算部６へ出力されモータ９は減速停止する。
また起動指令Ｖｉ’’はｉ＝１からｉ＝ｎの順に移動指令バッファ５に蓄積されており、モータ９の減速停止後に起動信号１２が入力されると、制御周期毎にｉ＝１からｉ＝ｎの順に積算部６へ出力されモータ９は加速する。
【００１４】
なお、移動指令バッファ５のサイズｎは停止信号１１入力時の数値制御装置の全駆動軸の合成速度に対して、予め決められた加速度で減速するように設定される。
この加速度とは、図３や後述する図４におけるＶｉ’の制御周期毎の変化に相当する。
停止信号１１入力時の全駆動軸の合成速度をＶ、予め設定された加速度をＡとすると数値制御装置の制御周期Ｔからｎは次の式で与えられる。
【００１５】
ｎ ＝ Ｖ  ／（｜Ａ｜・Ｔ）                            ・・・  （３）
【００１６】
ただし、ｎは０以上の整数であるので、式（３）の右辺の小数点以下は切り捨てられる。
図４は加速度Ａおよび制御周期Ｔは図３の場合と同じで、合成速度が図３の５０％である場合の停止指令と起動指令の関係を表しており、この場合バッファサイズｎは図３の半分の５となる。
式（３）にてｎが決定されることにより請求項２および４にて記載されているように停止時または起動時の合成速度の加速度が一定であり、かつ短い時間で停止または加速できるような移動指令バッファのサイズを設定することが可能である。
【００１７】
このように、通常は移動指令バッファ５を使用せず停止信号１１入力後に停止指令を積算部６へ出力し、起動指令を移動指令バッファ５に蓄積して起動信号１２入力後に移動指令バッファ５内の起動指令を積算部６へ出力するため、移動指令バッファ５による移動指令の遅れがなく移動指令バッファ５のサイズを全駆動軸の合成速度から決定することができ、減速時間を最適な値に設定することができる。
【産業上の利用可能性】
【００１８】
本発明は、ホールド信号等による駆動軸の停止、および停止状態からの再起動を行う処理に関するものでありロボットや産業機械の駆動モータを制御する数値制御装置の用途に適用できる。
【図面の簡単な説明】
【００１９】
【図１】本発明の方法を適用する数値制御装置の構成を示すブロック図
【図２】本発明の停止起動制御部の処理手順を示すフローチャート
【図３】本発明の停止指令と起動指令の関係を表す図
【図４】本発明の速度が低い場合の停止指令と起動指令の関係を表す図
【図５】従来の方法を適用した数値制御装置の構成を示すブロック図
【符号の説明】
【００２０】
１  動作指令生成部
２  プログラムメモリ
３  移動指令
４  分配部
５  移動指令バッファ
６  積算部
７  位置指令
８  サーボ制御部
９  モータ
１０  停止起動信号制御部
１１  停止信号
１２  起動信号
１３  停止起動制御部
【図１】
2006293791.tif 000003
【図２】
2006293791.tif 000004
【図３】
2006293791.tif 000005
【図４】
2006293791.tif 000006
【図５】
2006293791.tif 000007