(57)【特許請求の範囲】
【請求項１】
加エプログラムを解析する解析処理部と、
この解析処理部による解析結果にもとづいて、割り込み処理として基本サンプリング時間当たりの各軸移動量を計算する実行部と、
前記基本サンプリング時間を設定する設定手段と、前記設定手段で設定された基本サンプリング時間ごとに割り込み処理を行う割り込み手段とを備え、
前記基本サンプリング時間は、前記割り込み処理と、割り込み処理としては行われないバックグラウンド処理の合計処理時間に応じて設定されることを特徴とする数値制御装置。
【請求項２】
加エプログラムを解析する解析処理部と、
この解析処理部による解析結果にもとづいて、割り込み処理として基本サンプリング時間当たりの各軸移動量を計算する実行部と、
前記基本サンプリング時間を設定する設定手段と、前記設定手段で設定された基本サンプリング時間ごとに割り込み処理を行う割り込み手段とを備え、
前記基本サンプリング時間は、割り込み処理時間とバックグラウンド処理時間の合計にさらに余裕時間を加えて設定されることを特徴とする数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は数値制御装置に関するもので、特に、取付け対象の機械の特性に応じて能力を最大限に発揮することのできる数値制御装置に関するものである。
【０００２】
【従来の技術】
数値制御装置においては、一般にシステム基本サンプリング時間が定められており、このシステム基本サンプリング時間内に演算および指令を行うようにしている。
【０００３】
従来の数値制御装置では、このシステム基本サンプリング時間は例えば１０ミリ秒、２ミリ秒などの固定された値として設定されている。そして、ユーザ別の要求に応じて、この固定された値に設定された状態で出荷される。
【０００４】
【発明が解決しようとする課題】
しかしながら、このように基本サンプリング時間が固定されていることによることによる弊害が生ずることがある。
【０００５】
例えば、基本サンプリング時間が固定されている数値制御装置を例えば３軸の機械に組込んだ場合と１２軸の機械へ組込んだ場合、一般的には１２軸の機械の方が相対的に能力が高いにもかかわらず、この数値制御装置の能力とは無関係に加工時間に差が生ずる場合がある。
【０００６】
一例として、１ブロックでの移動距離が短いいわゆる「短線分加工プログラム」を、３軸の機械と１２軸の機械で同時に実行する場合、３軸の機械の方の動作がより円滑であり、実行時間も短くなるという現象が見られる。
【０００７】
これは、数値制御装置内の基本サンプリング時間毎に発生する割込み処理内に、組込んだ機械の全ての軸に対する基本サンプリング時間当たりの移動量（＝速度）を計算するようにしている為に、割込み処理以外の時間で行われるブロック解析処理を行うための時間的余裕が１２軸の方が少なくなっている為である。
【０００８】
また、３軸の機械の方が割込み処理以外の空き時間に余裕があるため、１ブロック解析処理を余裕を持って行うことができ、１ブロックの実行が終わった後直ちに次のブロックの実行に移行することが可能であるため、前述したような軸数の多い機械での動作が緩慢となるという現象となる。
【０００９】
このような問題を解決するためには、制御装置ごとに軸数に応じて基本サンプリング時間を変更すれば良いが、基本サンプリング時間を変化させた数値制御装置を開発することは、メーカにおける負担が過度となる他、メンテナンスを行う上でも大きな負担となるという問題がある。
【００１０】
本発明は従来の問題点を解決するためになされたものであり、軸数の異なる複数の機械に対してもその能力を最大に発揮させることのできる数値制御装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明にかかる数値制御装置によれば、加エプログラムを解析する解析処理部と、この解析処理部による解析結果にもとづいて、割り込み処理として基本サンプリング時間当たりの各軸移動量を計算する実行部と、前記基本サンプリング時間を設定する設定手段と、前記設定手段で設定された基本サンプリング時間ごとに割り込み処理を行う割り込み手段とを備え、前記基本サンプリング時間は、前記割り込み処理と、割り込み処理としては行われないバックグラウンド処理の合計処理時間に応じて設定されることを特徴とする。
【００１２】
本発明にかかる数値制御装置の他の態様によれば、加エプログラムを解析する解析処理部と、この解析処理部による解析結果にもとづいて、割り込み処理として基本サンプリング時間当たりの各軸移動量を計算する実行部と、前記基本サンプリング時間を設定する設定手段と、前記設定手段で設定された基本サンプリング時間ごとに割り込み処理を行う割り込み手段とを備え、前記基本サンプリング時間は、割り込み処理時間とバックグラウンド処理時間の合計にさらに余裕時間を加えて設定されることを特徴とする。
【００１４】
本発明によれば、このように基本サンプリング時間を自由に設定できるようにしているため、制御対象の処理軸数が異なる場合でもその都度システム変更を行うことなく最適な対応が可能となる。
【００１５】
【発明の実施の形態】
図４は本発明の対象となる数値制御装置での加工プログラム処理を行う一般的構成を示すブロック図であり、加工プログラム処理のデータの流れを同時に示している。
【００１６】
図４を参照すると、数値制御装置は加工プログラム１０から１ブロックずつ読み出して解析処理部２０においてその内容を解析し、実行部で処理できるデータを作成する。このデータは解析済みバッファ３０へ転送され格納される。なお、後述するように、この解析処理は基本サンプリング時間毎に発生する割込み処理の中ではなく、割り込み処理以外のバックグランド処理の中で行われる。
【００１７】
解析処理部２０は１ブロックの解析を終わると、次のブロックの解析に移るが、次のブロックの解析を開始するかどうかは解析済みバッファ３０の状態に依存する。すなわち、解析済みバッファ３０内の解析結果がまだ実行部により取り出されていない場合には、取り出されて空になるまで解析処理は待たされる。
【００１８】
転送処理部４０は解析済みバッファ３０の内容を実行用バッファ５０へ転送するための制御を行う。
【００１９】
実行部は分配処理（ＤＤＡ）部６０とも呼ばれ、転送処理部４０とともに基本サンプリング毎に発生する割込み処理中に動作し、１サンプリング時間当たりの各軸移動量ΔＬｎを計算する。
【００２０】
転送処理部４０は実行部６０により１ブロック分の分配処理が完了になるまでは、解析済みバッファ３０から次のブロックのデータを取り出すのを待つように制御する。
【００２１】
移動目標値更新処理部７０は実行部６０での処理結果を受け、各軸移動量から各軸の移動目標位置Ｌｎを更新し、サーボ制御部８０へデータを送る。サーボ処理部８０はその値から各軸のモータＭ１〜Ｍｎに対してサーボ制御を行う。
【００２２】
サーボ制御部８０は数値制御装置によっては解析処理や分配処理を行う１つのＣＰＵで処理される場合もあれば、別個のＣＰＵで処理される場合もある。
【００２３】
サーボ制御部８０からの指令で各軸モータＭ１〜Ｍｎが回転し、これらモータ軸に連結されたボールねじが回転して機械が動く。また、モータに連結した位置検出器Ｅ１〜Ｅｎからは位置フィードバック信号が取り出され、サーボ制御部８０へフィードバックされる。
【００２４】
図５は図４の構成における基本サンプリング時間と割り込み処理などの内部処理との関係を示すタイミングチャートである。
【００２５】
図５において、基本サンプリング時間毎にＣＰＵに対して割込み信号が入り、割込み処理が行われる。この割込み処理の内容は図５の下部の拡大図で示されるように、サーボ関係処理、分配処理、実行部へのデータ転送処理である。これらの割込み処理は、基本サンプリング時間毎に必ず行われる処理である。
【００２６】
前述したように、解析処理はバックグランド処理として行われる。このバックグランド処理としては、他に表示処理、データ入出力処理、外部と通信処理、機械側信号モニタ処理、アラーム監視処理等がある。
【００２７】
ここで基本サンプリング時間が固定である従来技術において、軸数が増えた場合に数値制御装置の能力が低下する理由を詳細に説明する。
【００２８】
数値制御装置での割込み処理、バックグランド処理時間の分析を行ってみる。各処理時間はおおよそ次のように計算できる。
【００２９】
割込み処理時間＝サーボ関係処理時間Ａ＋分配処理時間Ｂ＋実行部へのデータ転送時間Ｃ                                                      （１）
バックグランド処理時間＝解析処理時間Ｄ＋その他処理時間Ｅ        （２）
ところで、多軸の場合には、処理時間と軸数Ｎの関係はおおよそ次のようになっている。
【００３０】
0003638821.tif 000002
そこで、（１）（２）式を（３）式の形式で記述し直すと次のようになる。
【００３１】
サーボ関係処理間＝Ａ＝Ａ１＊Ｎ＋Ａ２                        （４）
分配処理時間＝Ｂ＝Ｂ１＊Ｎ＋Ｂ２                            （５）
実行部へのデータ転送時間＝Ｃ＝Ｃ１＊Ｎ＋Ｃ２                （６）
よって、割込み処理時間は次のように表せる。
0003638821.tif 000003
同様に、バックグランド処理時間も以下のようになる。
0003638821.tif 000004
ここで、基本サンプリング時間が固定の場合、例えば３軸システムと１２軸システムでの処理時間を比較してみる。バックグランド処理としては問題となる解析処理時間のみを取り上げる。
３軸システム（Ｎ＝３）の場合：
0003638821.tif 000005
（１２）式と（１４）式とを比較すれば、１２軸システムの方が割込み処理時間、解析処理時間とも増している。その結果、基本サンプリング時間が同じであると、基本サンプリング時間内での割込み処理時間の増加により、基本サンプリング時間内でのバックグランド処理時間分が短くなり、場合によっては１ブロック解析処理が終わらないこともあり得る。一般的に、基本サンプリング時間は１２軸のような多軸システムではなく、３軸や４軸のシステムを基準として決定しているので、基本サンプリング時間内でのバックグランド処理時間は余り多くは確保していない。したがって、１２軸システムのような多軸システムでは基本サンプリング時間内で１ブロック解析処理は終わらないことがある。
【００３２】
以上のような、軸数の違いによる処理時間の違いの様子を図６および図７に示す。
【００３３】
図６は３軸システムの場合を示しており、１回の基本サンプリング時間内で１ブロックが実行完了する、いわゆる「短線分加工プログラム」を実行中の様子である。図中の実線矢印はデータの行き先関係を示したものである。Ｄ（解析処理）で作られたデータは次の割込み処理のＣ（実行データ転送処理）で実行用バッファへ転送される。Ｃ（実行データ転送処理）で送られたデータは次の割込み処理のＢ（分配処理）で使われる。Ｂ（分配処理）で作られた各軸移動量ΔＬｎは次の割込み処理のＡ（サーボ関係処理）における移動目標値更新処理で使用され、移動目標位置Ｌｎを更新しそれをサーボ処理部へ送る。このように、１ブロックのデータが解析処理からサーボ側へ送られるのは２サンプリング後になる。
【００３４】
図７は１２軸システムのような多軸システムで図６と同じ「短線分加工プログラム」を実行しているが、３軸システムに比べた割込み処理時間の増加、解析処理時間の増加で１サンプリング時間内では１ブロックの解析が終わらない様子を示している。
【００３５】
すなわち、図７の場合においては解析処理（Ｄ）を実行中に次の割込み処理が入ってしまい、解析処理が中断されている様子を点線で示している。このように１サンプリング時間内で次のブロックの解析が終了しないと、次の割込み時に次のブロックの解析データを実行部へ転送できないことになり、軸の移動は停止し滑らかな加工が行えないことになる。
【００３６】
以下、本発明の構成および作用を図面を参照して詳細に説明する。
【００３７】
本発明にかかる数値制御装置においては、基本サンプリング時間を変更可能としている。
【００３８】
図１は本発明にかかる数値制御装置における基本サンプリング時間変更を行う処理を説明するフローチャートである。
【００３９】
基本サンプリング時間の変更は実行される加工プログラムの内容に応じて行うことができるが、この変更は手動操作で数値制御装置の表示画面により指示入力する方法と、加工プログラムの中にその指示情報を入れておき、加工プログラムを実行することにより入力する方法とがある。これらの方法において、基本サンプリング時間の変更を行うためにタイマの設定変更を行うかどうかを決定するステップがそれぞれステップＳ１０およびＳ１１である。
【００４０】
タイマの設定変更を行う場合、タイマの値が書き換えられる（ステップＳ１２）。
【００４１】
図２は基本サンプリング時間の変更を行うためのハードウェア構成を示すもので、バス１４０にＣＰＵ１００、割込みタイマ１１０、ＲＯＭ１２０、ＲＡＭ１３０、メモリコントローラ１５０が接続されている。
【００４２】
タイマ値の書き換えの場合、メモリコントローラ１５０が書き換え指令を発し、この書き換え指令および変更タイマ値は内部メモリであるＲＡＭ１３０に書き込まれる。
【００４３】
この基本サンプリング時間の変更は制御上最も基本的な部分の変更であるため、タイマ値の書き換え指令が発せられたときには、数値制御装置全体に対して非常停止、すなわちサーボオフ指示が発せられる（ステップＳ１３）とともに、割り込み禁止措置が採られる（ステップＳ１４）。
【００４４】
このような状態でＲＡＭ１４に記憶されたタイマ値書き換え指令が割り込みタイマ１１０に送られ、タイマの設定が変更される（ステップＳ１５）。
【００４５】
続いてこの変更を有効とするために、システムが停止され（ステップＳ１６）、システムリセット信号がオンとなってシステムは再起動され、初期化される。
【００４６】
この結果、タイマの設定値変更が有効となり、割り込みタイマ１１０から発せられる割り込み信号ＩＮＴ＊が変更された基本サンプリング時間毎にＣＰＵに与えられ、割り込み処理が定期的に実行される。
【００４７】
図３は本発明により基本サンプリング時間を変更した場合の動作を説明するタイミングチャートである。ここでは、図７と同様の１２軸システムのような多軸システムに本発明を適用した場合を想定する。
【００４８】
ここでは基本サンプリング時間を次の式を満足する値に設定する。
【００４９】
基本サンプリング時間［ミリ秒］＝割込み処理時間＋解析処理時間＋Ｋ
（１５）
ここで、割込み処理時間と解析処理時間は適当な基本サンプリング時間における処理時間を事前に計測しておく必要がある。また、Ｋはシステムの余裕度を決める時間である。
【００５０】
図３に示す例では、このような観点で基本サンプリング時間を長くしており、従来の図７における例と比較すると基本サンプリング時間は長くなってはいるものの、解析処理が複数の基本サンプリング時間にまたがって断続的な実行となることがなく、解析から転送、実行までスムーズにつながっていることが分かる。
【００５１】
以上の実施の形態では３軸と１２軸の機械に組み込む場合を例にとったが、いかなる軸数の機械に対しても本発明を適用することができる。
【００５２】
【発明の効果】
本発明によれば、数値制御装置において基本サンプリング時間を割り込み処理とバックグラウンド処理の双方を実行するのに十分な時間に設定可能としているため、制御対象の軸数が増加した場合でもその都度システム変更を行うことなく最適な対応が可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態における割込みタイマーのタイマー値を変更するための手順を示すフローチャート。
【図２】数値制御装置での割込み処理を発生させる構成を示すブロック図。
【図３】本発明を実施した１２軸システムでの割込み処理と解析処理の様子を示すタイミングチャート。
【図４】数値制御装置での加工プログラム処理を行う構成を示すブロック図。
【図５】数値制御装置での基本サンプリング時間とその間に行われる処理内容、基本サンプリング時間以外の処理時間の関係を示した模式図。
【図６】従来の数値制御装置を用いた場合の３軸システムでの割込み処理と解析処理の様子を示すタイミングチャート。
【図７】従来の数値制御装置を用いた場合の１２軸システムでの割込み処理と解析処理の様子を示すタイミングチャート。
【符号の説明】
１０  加工プログラム
２０  解析処理部
３０  解析済バッファ
４０  転送処理部
５０  実行用バッファ
６０  分配処理部
７０  移動目標値更新処理部
８０  ターボ制御部
１００  ＣＰＵ
１１０  割り込みタイマ
１２０  ＲＯＭ
１３０  ＲＡＭ
１４０  バス
１５０  メモリコントローラ
【図１】
0003638821.tif 000006
【図２】
0003638821.tif 000007
【図３】
0003638821.tif 000008
【図４】
0003638821.tif 000009
【図５】
0003638821.tif 000010
【図６】
0003638821.tif 000011
【図７】
0003638821.tif 000012