(57)【特許請求の範囲】
【請求項１】
時間、軸位置、または主軸位置を基準値として、制御軸の位置を指令するテーブル形式データを複数用いて、前記基準値に同期して複数の前記制御軸の位置を制御する数値制御装置において、
前記テーブル形式データを前記基準値に同期して順次読み出す読み出し部と、
前記読み出し部により読み出された指令ブロックに基づいて前記制御軸の移動量を生成する分配処理部と、
前記分配処理部により生成された前記制御軸の移動量を一時保存するための移動量保持部と、
前記移動量保持部から前記制御軸の移動量を読み出し、前記制御軸の移動量をオーバラップさせる基準値量であるオーバラップ量を求め、前記制御軸の移動量を前記オーバラップ量だけオーバラップさせた補正後移動量を前記移動量保持部に書き込むオーバラップ制御部と、
を備え、
前記補正後移動量に基づいて前記制御軸を制御し、また、
前記オーバラップ制御部は、複数の前記制御軸の移動量を前記基準値に同期して読み出し、合成速度を算出し、前記合成速度が予め指定された閾値以下となるオーバラップ区間において、前記合成速度が最も小さくなる基準値を検出し、該検出された基準値以降の前記制御軸の移動量と、該検出された基準値以前の前記制御軸の移動量とをオーバラップさせる基準値量であるオーバラップ量を求め、前記合成速度が最も小さくなる基準値以降の前記制御軸の移動量を前記オーバラップ量だけ早めて前記合成速度が最も小さくなる基準値以前の前記制御軸の移動量と重畳させた補正後移動量を算出する、
ことを特徴とする数値制御装置。
【請求項２】
前記オーバラップ制御部は、前記オーバラップ区間において、前記補正後移動量が前記閾値以下となる範囲で前記オーバラップ量を求める、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記オーバラップ制御部は、前記閾値を前記テーブル形式データの指令、または、パラメータ、または、信号により変更することができる、
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
時間、軸位置、または主軸位置を基準値として、制御軸の位置を指令するテーブル形式データを複数用いて、前記基準値に同期して複数の前記制御軸の位置を制御する数値制御装置において、
前記テーブル形式データを前記基準値に同期して順次読み出す読み出し部と、
前記読み出し部により読み出された指令ブロックに基づいて前記制御軸の移動量を生成する分配処理部と、
前記分配処理部により生成された前記制御軸の移動量を一時保存するための移動量保持部と、
前記移動量保持部から前記制御軸の移動量を読み出し、前記制御軸の移動量をオーバラップさせる基準値量であるオーバラップ量を求め、前記テーブル形式データに対して前記オーバラップ量だけオーバラップを行う指令であるオーバラップ指令を追加した補正後テーブル形式データを出力するオーバラップ制御部と、
前記補正後テーブル形式データを前記基準値に同期して順次読み出す補正後読み出し部と、
前記補正後読み出し部により読み出された指令ブロックに基づいて前記制御軸の補正後移動量を生成する補正後分配処理部と、
を備え、
前記補正後分配処理部により生成された前記補正後移動量に基づいて前記制御軸を制御し、また、
前記オーバラップ制御部は、複数の前記制御軸の移動量を前記基準値に同期して読み出し、合成速度を算出し、前記合成速度が予め指定された閾値以下となるオーバラップ区間において、前記合成速度が最も小さくなる基準値を検出し、該検出された基準値以降の前記制御軸の移動量と、該検出された基準値以前の前記制御軸の移動量とをオーバラップさせる基準値量である前記オーバラップ量を求め、前記合成速度が最も小さくなる基準値に前記オーバラップ指令を追加した前記補正後テーブル形式データを出力する、
ことを特徴とする数値制御装置。
【請求項５】
前記オーバラップ制御部は、前記補正後移動量が前記閾値以下となる範囲で前記オーバラップ量を求める、
ことを特徴とする請求項４に記載の数値制御装置。
【請求項６】
前記オーバラップ制御部は、前記閾値を前記テーブル形式データの指令、または、パラメータ、または、信号により変更することができる、
ことを特徴とする請求項４または５に記載の数値制御装置。
【請求項７】
前記補正後読み出し部は、前記オーバラップ指令が入力された場合、前記オーバラップ指令前のテーブル形式データ指令と、前記オーバラップ指令後のテーブル形式データ指令と、を同時に読み出し、前記補正後分配処理部に対して出力する、
ことを特徴とする請求項４〜６のいずれか１つに記載の数値制御装置。
【請求項８】
前記補正後分配処理部は、前記オーバラップ指令前のテーブル形式データ指令から算出した前記制御軸の移動量であるオーバラップ前移動量と、前記オーバラップ指令後のテーブル形式データ指令から算出した前記制御軸の移動量であるオーバラップ後移動量と、を重畳した補正後移動量を算出する、
ことを特徴とする請求項４〜７のいずれか１つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特にテーブル形式データによる運転のオーバラップを行う数値制御装置に関する。
【背景技術】
【０００２】
基準軸の運動に同期して各制御軸をそれぞれ同期して駆動制御する方法として、基準軸位置に対応して制御軸の位置情報をメモリ等に設けられたテーブル形式データに記憶しておき、このテーブル形式データに記憶された情報に基づいて、各制御軸を基準軸と同期運転するテーブル形式データによる運転機能は周知である。前記機能においては、時間、軸位置、あるいは主軸位置を基準にした軸の位置、あるいはＭコード等の補助機能を設定したテーブル形式データをメモリ、またはネットワークで接続された記憶装置に格納しておき、テーブル形式データを順次読み出しながら各軸、および補助機能を制御している。
【０００３】
特許文献１及び２には、これらのテーブル形式データによる運転機能を利用したパステーブル運転機能、または電子カム制御といわれる数値制御装置が開示されている。これにより、加工プログラムにとらわれない自由な工具の動作が可能になり、加工時間の短縮や、加工の高精度化を実現できる。
【０００４】
従来のテーブル形式データによる運転では、テーブル形式データに記述した基準値、および前記基準値に対応した軸、あるいは主軸の座標値を制御点とし、２つの制御点を始点、および終点として移動量の計算を行う。具体的には始点となる制御点の基準値、および軸、あるいは主軸の座標値と、終点となる制御点の基準値、および軸、あるいは主軸の座標値から、２点間の基準値の差分、および軸、あるいは主軸の座標値の差分を計算し、単位基準値あたりの移動量を算出する。
【０００５】
図１１にテーブル形式データを用いた従来の軸制御の例を示す。テーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０１０１＿Ｘ＞は、時間基準でＸ軸を制御するテーブル形式データとし、Ｌは基準値（基準時間：ｍｓｅｃ単位）、Ｘは基準値に対応したＸ軸の座標値（ｍｍ単位）を示す。現在基準値が１０００ｍｓｅｃとすると、Ｘ軸は基準値１０００ｍｓｅｃ、座標値１００．０ｍｍを始点、基準値２０００ｍｓｅｃ、座標値２００．０ｍｍを終点とした２点の制御点間を移動する。
【０００６】
図１２に移動量を算出する数値制御装置の概略ブロック図を示す。図１２に示す数値制御装置１では、読み出し部で順次、読み出した指令ブロックを始点、終点の２つの制御点として分配処理部１１へ通知し、分配処理部１１で２つの制御点間の基準値、および座標値の差分から単位基準値あたりの移動量を求め、モータ制御部へ通知する。なお、図１２では、指令ブロックの読み出し部、およびモータ制御部の記載は省略する。
【０００７】
テーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０１０１＿Ｘ＞を用いたＸ軸の制御例では、分配処理部１１において、基準値１０００ｍｓｅｃ、座標値１００．０ｍｍを始点、基準値２０００ｍｓｅｃ、座標値２００．０ｍｍを終点とし、基準値の差分１０００ｍｓｅｃ（２０００ｍｓｅｃ−１０００ｍｓｅｃ）と、座標値の差分１００．０ｍｍ（２００．０ｍｍ−１００．０ｍｍ）から、単位基準値あたりの移動量を０．１ｍｍ／１ｍｓｅｃと計算できる。
【０００８】
ただし、実際は軸の動作開始／終了前後で急激な速度変化に伴う衝撃を緩和するため、加減速指令を挿入する必要がある。特許文献３には、テーブル形式データによる運転において２次／３次関数接続により加減速制御する技術が開示されている。特許文献３の技術を適用した場合、図１３に示すテーブル形式データにより軸制御が行われる。
なお、以降では簡略化のため、軸の動作開始/終了時の加減速部分の指令の記載は省略するものとする。
【０００９】
図１３はＸ軸のみのテーブル形式データを用いた軸制御の例だが、一般的には複数軸を基準値に同期してそれぞれ独立して動作することで、工具ホルダやワーク設置テーブルの移動を制御する。
図１４にＸ軸とＺ軸のテーブル形式データを用いて工具を制御する例を示す。テーブル形式データによる運転では、各軸は基準値に同期してそれぞれ独立して動作する。図１４に示したテーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０１０１＿Ｘ＞と＜ＴＩＭＥ＿ＴＡＢＬＥ＿０１０１＿Ｚ＞とを用いた工具の制御を行う数値制御装置の概略ブロック図を図１５に示す。なお、図１５では、現在基準値がＬ１０００〜Ｌ２０００の間にある場合の分配処理を示している。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開昭５９−１７７６０４号公報
【特許文献２】特開２００３−３０３００５号公報
【特許文献３】特開２００７−３０４７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従来技術として図１４に示したテーブル形式データによる運転のサイクルタイム短縮を考えた場合、Ｌ２０００のように合成速度が落ち込むコーナ部で、コーナ部直後の指令開始タイミングを早めることにより、コーナ前後の指令をオーバラップさせることが必要となる。図１６は、図１４に示したテーブル形式データによる運転において、Ｌ１９００〜Ｌ２０００においてＸ軸とＺ軸をオーバラップさせて動作させた場合の動作を示している。図１６に示すように、Ｘ軸とＺ軸をオーバラップさせることにより、オーバラップさせた１００ｍｓ分だけサイクルタイムが短縮されている。
【００１２】
しかしながら、テーブル形式データによる運転では、複数のテーブル形式データを並行して解析することにより初めて工具の移動方向や合成速度が算出できるため、一度ＣＡＭから出力されたテーブル形式データをオペレータが解析し、手作業でオーバラップ可能な箇所の探索やオーバラップ量を調整することは困難であった。したがって、このような作業を行う場合は、テーブル形式データのオーバラップに対応したＣＡＭを用意した上で、オーバラップ箇所やオーバラップ量を変更するたびＣＡＭからテーブル形式データを再出力する必要があり、そのための作業がオペレータの労力となっていた。
【００１３】
そこで本発明では、テーブル形式データによる運転のオーバラップ箇所の検出、補正を実行できる手段を備えた数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願の請求項１に係る発明は、時間、軸位置、または主軸位置を基準値として、制御軸の位置を指令するテーブル形式データを複数用いて、前記基準値に同期して複数の前記制御軸の位置を制御する数値制御装置において、前記テーブル形式データを前記基準値に同期して順次読み出す読み出し部と、前記読み出し部により読み出された指令ブロックに基づいて前記制御軸の移動量を生成する分配処理部と、前記分配処理部により生成された前記制御軸の移動量を一時保存するための移動量保持部と、前記移動量保持部から前記制御軸の移動量を読み出し、前記制御軸の移動量をオーバラップさせる基準値量であるオーバラップ量を求め、前記制御軸の移動量を前記オーバラップ量だけオーバラップさせた補正後移動量を前記移動量保持部に書き込むオーバラップ制御部と、を備え、前記補正後移動量に基づいて前記制御軸を制御し、また、前記オーバラップ制御部は、前記オーバラップ区間において、前記補正後移動量が前記閾値以下となる範囲で前記オーバラップ量を求め、前記合成速度が予め指定された閾値以下となるオーバラップ区間において、前記合成速度が最も小さくなる基準値を検出し、該検出された基準値以降の前記制御軸の移動量と、該検出された基準値以前の前記制御軸の移動量とをオーバラップさせる基準値量であるオーバラップ量を求め、前記合成速度が最も小さくなる基準値以降の前記制御軸の移動量を前記オーバラップ量だけ早めて前記合成速度が最も小さくなる基準値以前の前記制御軸の移動量と重畳させた補正後移動量を算出する、ことを特徴とする数値制御装置である。
【００１７】
本願の請求項２に係る発明は、前記オーバラップ制御部は、前記オーバラップ区間において、前記補正後移動量が前記閾値以下となる範囲で前記オーバラップ量を求める、ことを特徴とする請求項１に記載の数値制御装置である。
【００１８】
本願の請求項３係る発明は、前記オーバラップ制御部は、前記閾値を前記テーブル形式データの指令、または、パラメータ、または、信号により変更することができる、ことを特徴とする請求項１または２に記載の数値制御装置である。
【００１９】
本願の請求項４に係る発明は、時間、軸位置、または主軸位置を基準値として、制御軸の位置を指令するテーブル形式データを複数用いて、前記基準値に同期して複数の前記制御軸の位置を制御する数値制御装置において、前記テーブル形式データを前記基準値に同期して順次読み出す読み出し部と、前記読み出し部により読み出された指令ブロックに基づいて前記制御軸の移動量を生成する分配処理部と、前記分配処理部により生成された前記制御軸の移動量を一時保存するための移動量保持部と、前記移動量保持部から前記制御軸の移動量を読み出し、前記制御軸の移動量をオーバラップさせる基準値量であるオーバラップ量を求め、前記テーブル形式データに対して前記オーバラップ量だけオーバラップを行う指令であるオーバラップ指令を追加した補正後テーブル形式データを出力するオーバラップ制御部と、前記補正後テーブル形式データを前記基準値に同期して順次読み出す補正後読み出し部と、前記補正後読み出し部により読み出された指令ブロックに基づいて前記制御軸の補正後移動量を生成する補正後分配処理部と、を備え、前記補正後分配処理部により生成された前記補正後移動量に基づいて前期制御軸を制御し、また、前記オーバラップ制御部は、複数の前記制御軸の移動量を前記基準値に同期して読み出し、合成速度を算出し、前記合成速度が予め指定された閾値以下となるオーバラップ区間において、前記合成速度が最も小さくなる基準値を検出し、該検出された基準値以降の前記制御軸の移動量と、該検出された基準値以前の前記制御軸の移動量とをオーバラップさせる基準値量である前記オーバラップ量を求め、前記合成速度が最も小さくなる基準値に前記オーバラップ指令を追加した前記補正後テーブル形式データを出力する、ことを特徴とする数値制御装置である。
【００２２】
本願の請求項５に係る発明は、前記オーバラップ制御部は、前記補正後移動量が前記閾値以下となる範囲で前記オーバラップ量を求める、ことを特徴とする請求項４に記載の数値制御装置である。
【００２３】
本願の請求項６に係る発明は、前記オーバラップ制御部は、前記閾値を前記テーブル形式データの指令、または、パラメータ、または、信号により変更することができる、ことを特徴とする請求項４または５に記載の数値制御装置である。
【００２４】
本願の請求項７に係る発明は、前記補正後読み出し部は、前記オーバラップ指令が入力された場合、前記オーバラップ指令前のテーブル形式データ指令と、前記オーバラップ指令後のテーブル形式データ指令と、を同時に読み出し、前記補正後分配処理部に対して出力する、ことを特徴とする請求項４〜６のいずれか１つに記載の数値制御装置である。
【００２５】
本願の請求項８に係る発明は、前記補正後分配処理部は、前記オーバラップ指令前のテーブル形式データ指令から算出した前記制御軸の移動量であるオーバラップ前移動量と、前記オーバラップ指令後のテーブル形式データ指令から算出した前記制御軸の移動量であるオーバラップ後移動量と、を重畳した補正後移動量を算出する、ことを特徴とする請求項４〜７のいずれか１つに記載の数値制御装置である。
【発明の効果】
【００２６】
本発明により、テーブル形式データによる運転のサイクルタイム短縮が容易になるため、生産効率の改善に効果がある。
【図面の簡単な説明】
【００２７】
【図１】従来技術による数値制御装置の構成を示すブロック図と、本発明の一実施形態による数値制御装置の構成を示すブロック図を比較した図である。
【図２】本発明の一実施形態による数値制御装置による合成速度の算出例である。
【図３】オーバラップ区間前後の各軸の速度変化と合成速度の変化を示す図である。
【図４】本発明の一実施形態による数値制御装置における補正後移動量の合成速度を示す図である。
【図５】オーバラップ開始時と終了時の閾値を異なるものとした変形例を示す図である。
【図６】オーバラップ制御部の動作について記述したフローチャートである。
【図７】オーバラップ処理の動作の詳細について記述したフローチャートである。
【図８】本発明の他の実施形態による数値制御装置の構成を示すブロック図である。
【図９】本発明の他の実施形態による数値制御装置における補正後テーブル形式データの例を示す図である。
【図１０】本発明の他の実施形態による数値制御装置における２つの補正後分配処理部により補正後テーブル形式データのオーバラップ処理を行う例を示す図である。
【図１１】一般的なテーブル形式データによる制御軸の運転制御を説明する図（１）である。
【図１２】一般的なテーブル形式データによる制御軸の運転制御を説明する図（２）である。
【図１３】加減速制御を行なう場合のテーブル形式データについて説明する図である。
【図１４】テーブル形式データを用いて２つの軸を制御する例を示す図（１）である。
【図１５】テーブル形式データを用いて２つの軸を制御する例を示す図（２）である。
【図１６】テーブル形式データを用いて２つの軸をオーバラップさせて制御する例を示す図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施形態を図面と共に説明する。
図１（ａ）は、従来技術による数値制御装置のブロック図を、図１（ｂ）は、本発明の一実施形態による数値制御装置のブロック図を示している。なお、図１において、符号に軸名が付与されている構成要素に関しては、制御対象となる軸の数毎に用意されるものであり、例えば図１では、Ｘ軸、Ｙ軸、Ｚ軸の３軸をそれぞれの軸毎に各構成要素が用意されている例を示している。
【００２９】
図１（ａ）に示す従来技術による数値制御装置１を用いたテーブル形式データによる運転では、軸毎に用意されたテーブル形式データ２０ｘ〜２０ｚからそれぞれ読み出し部１０ｘ〜１０ｚが各軸の指令ブロックを順次読み出し、読み出した指令ブロックを始点、終点の２つの制御点としてそれぞれの軸毎に用意されている分配処理部１１ｘ〜１１ｚへと通知する。分配処理部１１ｘ〜１１ｚは、通知された２つの制御点間の基準値と、および座標値を解析して各モータ２ｘ〜２ｚの単位基準値あたりの移動量を算出する。そして算出した単位基準値当たりの移動量を各モータ２ｘ〜２ｚに対して出力する。
【００３０】
これに対して、図１（ｂ）に示す本発明の一実施形態による数値制御装置１では、移動量保持部１２とオーバラップ制御部１３を新たに設置し、オーバラップ制御部１３では合成速度の計算とオーバラップ可能箇所の検出、オーバラップ後の各モータ移動量の算出を行い、補正後の移動量を各モータ２ｘ〜２ｚに出力する。
【００３１】
以下にオーバラップ制御部１３での処理を説明する。
本実施形態による数値制御装置１では、各軸のテーブル形式データ２０ｘ〜２０ｚから読み出し部１０ｘ〜１０ｚが指令ブロックを順次読み出し、読み出した指令ブロックを始点、終点の２つの制御点として分配処理部１１ｘ〜１１ｚへと通知する。分配処理部１１ｘ〜１１ｚは、読み出し部１０ｘ〜１０ｚから通知された２つの制御点間の基準値、および座標値の差分から単位基準値あたりの移動量を算出し、補正前移動量２１ｘ〜２１ｚとして移動量保持部１２に記憶する。ここで、本発明の数値制御装置では、分配処理部による補正前移動量の算出は、実行中の全テーブル形式データについて並行して行われる。すなわち、図１の例では、テーブル形式データ２０ｘ〜２０ｚに対して補正前移動量２１ｘ〜２１ｚの算出が分配処理部１１ｘ〜１１ｚにより並行して行われる。
【００３２】
移動量保持部１２に記憶された各軸の補正前移動量２１ｘ〜２１ｚはオーバラップ制御部１３により読み出され、単位基準時間ごとの合成速度が算出される。合成速度が予め指定したオーバラップを開始する合成速度の閾値Ｖtを下回る場合、オーバラップ制御部１３はオーバラップ区間に入ったものとみなし、次に合成速度が閾値Ｖtを上回る時点まで移動量保持部１２を読み進める。その際、補正前移動量２１ｘ〜２１ｚの合成速度が下限となる下限速度Ｖ0とそのときの基準値Ｌ0を記憶しておく。
【００３３】
次に合成速度が閾値Ｖtを上回る時点まで移動量保持部１２を読み進めた場合、オーバラップ制御部１３はオーバラップ区間が終了したものとみなし、移動量保持部１２から読み出したオーバラップ区間の補正前移動量２１ｘ〜２１ｚに基づいて補正後移動量２２ｘ〜２２ｚを作成する。具体的には、基準値Ｌ0以降の各軸の移動量が出力される基準値を早め、基準値Ｌ0以前の各軸の移動量と重畳させたものを補正後移動量２２ｘ〜２２ｚとし、移動量保持部１２に保存する。その際、補正後移動量２２ｘ〜２２ｚの合成速度が閾値Ｖtを超えない範囲で基準値Ｌ0以降の移動量が出力される基準値を早める。各モータは補正後移動量２２ｘ〜２２ｚに基づいて動作することで、オーバラップを実現する。
【００３４】
図２は、Ｘ軸をテーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０１０１＿Ｘ＞に基づいて制御し、同時にＺ軸をテーブル形式データ＜ＴＩＭＥ＿ＴＡＢＬＥ＿０１０１＿Ｚ＞に基づいて制御している場合におけるＸ軸とＺ軸の合成速度を算出した例を示している。図２において、Ｖtを０．０１０ｍｍ／ｍｓｅｃとした場合、図２の網掛け部分がオーバラップ区間となる。
図３は、図２におけるオーバラップ区間前後の各軸の速度変化と合成速度の変化を示す表である。図３において、基準値Ｌ＝１９９９，２０００のところでＸ軸とＺ軸の合成速度は最も小さい値となるため、基準値Ｌ0＝１９９９と基準値Ｌ0＝２０００において下限速度Ｖ0＝０．００１が記憶される。
【００３５】
図４は、図３に示した補正前移動量における合成速度において最後に下限速度Ｖ0が出力される基準値Ｌ0＝２０００以降のＸ軸，Ｚ軸の各移動量について、その基準値を早めて基準値Ｌ0以前のＸ軸，Ｚ軸の移動量と重畳させた場合の補正後移動量における合成速度をグラフと表で示したものである。オーバラップを開始する合成速度の閾値Ｖtは、パラメータによるデフォルト値の設定に加え、テーブル形式データ中に特殊な指令を挿入することによって動的に変更することもできるものとする。また、図５に示すように、オーバラップを開始する合成速度の閾値Ｖt1と、オーバラップを終了する合成速度の閾値Ｖt2を別の値とするようにしてもよい。
【００３６】
図６は、本実施形態によるオーバラップ制御部１３の動作について記述したフローチャートである。
●［ステップＳＡ０１］オーバラップ制御部１３は、各分配処理部１１によって算出された単位基準時間ごとの全テーブル形式データ２０の補正前移動量２１を移動量保持部１２から順次読み出す。
●［ステップＳＡ０２］オーバラップ制御部１３は、ステップＳＡ０１で読み出した単位基準時間ごとの全テーブル形式データ２０の移動量を合成し、合成速度を算出する。
●［ステップＳＡ０３］オーバラップ制御部１３は、ステップＳＡ０２で算出した合成速度が、予め設定されたオーバラップを開始する合成速度の閾値Ｖtを下回るかどうか判定する。下回る場合にはステップＳＡ０４へ進み、下回らない場合にはステップＳＡ０１へ戻る。
【００３７】
●［ステップＳＡ０４］オーバラップ制御部１３は、テーブル形式データ２０のオーバラップ処理を実行する。ステップＳＡ０４の詳細は後述する。
●［ステップＳＡ０５］オーバラップ制御部１３は、移動量保持部１２の全移動量が読み出し完了したかを判定する。読み出し完了した場合は運転完了し、読み出し完了していない場合はステップＳＡ０１に戻る。
【００３８】
図７は、図６のフローチャートにおけるステップＳＡ０４のオーバラップ処理の詳細を示すフローチャートである。
●［ステップＳＢ０１］オーバラップ制御部１３は、下限速度Ｖ0と下限速度となる基準値Ｌ0の初期値として、オーバラップ処理開始時の速度Ｖtと基準値Ｌtを代入する。
●［ステップＳＢ０２］オーバラップ制御部１３は、次の単位基準時間の全テーブル形式データの補正前移動量を移動量保持部１２から読み出す。
●［ステップＳＢ０３］オーバラップ制御部１３は、ステップＳＢ０２で読み出した補正前移動量に基づいて各軸の合成速度を算出する。
【００３９】
●［ステップＳＢ０４］オーバラップ制御部１３は、ステップＳＢ０３で算出した合成速度が下限速度Ｖ0以下となるか否かを判定する。合成速度が下限速度Ｖ0以下となる場合にはステップＳＢ０５へ進み、下限速度Ｖ0以下とならない場合にはステップＳＢ０６へ進む。
●［ステップＳＢ０５］オーバラップ制御部１３は、下限速度Ｖ0と下限速度となる基準値Ｌ0にステップＳＢ０３で算出した合成速度とそのときの基準値を代入する。
●［ステップＳＢ０６］オーバラップ制御部１３は、ステップＳＢ０３で算出した合成速度がオーバラップを終了する閾値Ｖt以上となるか否かを判定する。閾値Ｖt以上となる場合はオーバラップ区間終了と見なし、ステップＳＢ０７へ進む。閾値Ｖtよりも小さい場合にはオーバラップ区間が続いているものと判断し、ステップＳＢ０２へ戻る。
【００４０】
●［ステップＳＢ０７］オーバラップ制御部１３は、オーバラップ量Ｔ（単位基準値）を１に初期化する。
●［ステップＳＢ０８］オーバラップ制御部１３は、下限速度となる基準値Ｌ0以降の全テーブル形式データ２０について、補正前移動量２１よりも単位基準値Ｔだけ出力を早めた移動量を作成する。
●［ステップＳＢ０９］オーバラップ制御部１３は、ステップＳＢ０８で作成した移動量を下限速度となる基準値Ｌ0以前の補正前移動量２１と重畳したものを（仮の）補正後移動量２２として移動量保持部１２に一時記憶する。
【００４１】
●［ステップＳＢ１０］オーバラップ制御部１３は、ステップＳＢ０９で算出した補正後移動量２２のオーバラップ区間内の合成速度が閾値Ｖtを超えるか否かを判定する。閾値Ｖtを超える場合はステップＳＢ１１へ進み、閾値Ｖtを超えない場合にはステップＳＢ１２へ進む。
●［ステップＳＢ１１］オーバラップ制御部１３は、移動量保持部１２に記憶された（仮の）補正後移動量２２の内、オーバラップ量がＴ−１時点の補正後移動量２２を正式な補正後移動量２２として指定する。なお、このときＴ＝１であった場合には補正前移動量２１がそのまま補正後移動量２２として使用される。
●［ステップＳＢ１２］オーバラップ量Ｔの値を１加算してステップＳＢ０８へ戻る。
【００４２】
なお、ハードウェアの制約などの理由によってテーブル形式データ２０による運転と先読みを並行して実施できない場合や、オーバラップされる箇所を運転前に確認したい場合などは、補正後移動量２２を出力する代わりに、テーブル形式データ２０を直接オーバラップ制御部１３が書き換えるようにすることも可能である。
【００４３】
図８は、テーブル形式データを直接オーバラップ制御部が書き換える場合の本発明の他の実施形態による数値制御装置のブロック図である。本実施形態の数値制御装置１では、テーブル形式データによる運転が行われる前にオーバラップ制御部１３からの指令に基づいてテーブル形式データ２０が読み込まれ、補正前移動量２１に基づいたオーバラップ処理が行われる。本実施形態のオーバラップ制御部１３が実行するオーバラップ処理は、補正後移動量２２を作成する代わりにオーバラップ量を求めた後に、テーブル形式データ２０に対してオーバラップ量を示す指令を追加した補正後テーブル形式データ２３を作成し、それを補正後読み出し部１４が基準値に基づいて順次読み出して補正後分配処理部１５に渡し、補正後分配処理部１５が生成する補正後移動量に基づいて制御軸を制御する点において図７に示したフローチャートと異なる。この時、補正後テーブル形式データ２３は、テーブル形式データ２０を上書きして作成しても良いし、新たなテーブル形式データとして作成しても良い。
【００４４】
図９は、本実施形態のオーバラップ制御部１３により補正された補正後テーブル形式データの例を示している。図９に示される補正後テーブル形式データに追加されているオーバラップ指令「ＯＶＬ４」はこの指令直後の移動量を基準値４だけ直前の移動量とオーバラップさせることを示す。
【００４５】
本実施形態の数値制御装置１は、一例として、オーバラップ制御部１３による補正が行われた補正後テーブル形式データ２３を運転する場合の補正後分配処理部１５の内部で、各補正後テーブル形式データ２３につきオーバラップ指令前の移動量を出力する補正後分配処理部と、オーバラップ指令後の移動量を出力する補正後分配処理部の２つを設けることで実現できる。例えば、図１０に示すように、Ｘ軸の制御に用いられる補正後テーブル形式データ２３ｘに基づいてＸ軸の制御を行う場合、オーバラップ区間（基準値Ｌ１９９６〜２０００）にある場合には、補正後分配処理部１５ｘ内では、補正後テーブル形式データ２３ｘにより本来指令される指令に基づいてオーバラップ指令前の移動量を出力する分配処理部１５ｘ１と、ＯＶＬ指令で指令された分だけ基準値を早くオーバラップ指令後の移動量を出力する分配処理部１５ｘ２との２つの分配処理部が同時に動作し、それらにより算出された２つの移動量が重畳されてモータ２ｘへと出力される。
なお、上記でＬ２０００以降はＸ軸用の分配処理部１５ｘ１が無効化され、Ｘ軸用の分配処理部１５ｘ２で指令が処理される。そのため、「ＯＶＬ４」以降の指令は４単位基準時間早いタイミングで実行される。上記はＸ軸の場合だが、他の軸においても同様に「ＯＶＬ４」前後の移動量が重畳されてモータに出力される。
本実施形態の数値制御装置１では、補正後テーブル形式データによる運転時は移動量保存部１２、およびオーバラップ制御部１３を使用しなくともよい。
【００４６】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみ限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００４７】
１  数値制御装置
２，２ｘ，２ｙ，２ｚ  モータ
１０，１０ｘ，１０ｙ，１０ｚ  読み出し部
１１，１１ｘ，１１ｙ，１１ｚ  分配処理部
１２  移動量保持部
１３  オーバラップ制御部
１４，１４ｘ，１４ｙ，１４ｚ  補正後読み出し部
１５，１５ｘ，１５ｙ，１５ｚ  補正後分配処理部
１５ｘ１，１５ｘ２            Ｘ軸用の補正後分配処理部内部の分配処理部
２０，２０ｘ，２０ｙ，２０ｚ  テーブル形式データ
２１，２１ｘ，２１ｙ，２１ｚ  補正前移動量
２２，２２ｘ，２２ｙ，２２ｚ  補正後移動量
２３，２３ｘ，２３ｙ，２３ｚ  補正後テーブル形式データ
【図１】
0006396275.tif 000002
【図２】
0006396275.tif 000003
【図３】
0006396275.tif 000004
【図４】
0006396275.tif 000005
【図５】
0006396275.tif 000006
【図６】
0006396275.tif 000007
【図７】
0006396275.tif 000008
【図８】
0006396275.tif 000009
【図９】
0006396275.tif 000010
【図１０】
0006396275.tif 000011
【図１１】
0006396275.tif 000012
【図１２】
0006396275.tif 000013
【図１３】
0006396275.tif 000014
【図１４】
0006396275.tif 000015
【図１５】
0006396275.tif 000016
【図１６】
0006396275.tif 000017